aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorToon Verwaest <verwaest@chromium.org>2019-01-11 11:27:18 +0100
committerAnis Assi <anisassi@google.com>2021-01-08 01:56:03 -0800
commitfe979020f8fbb627e2278bef7f0986814b59baa4 (patch)
treeeb831b45155d1668314d3ddf54088597d51cc3d0
parent6e4c3459f817ab73f7ba875a74e222a815cd4f7d (diff)
downloadv8-android-security-9.0.0_r67.tar.gz
Upstream: https://chromium-review.googlesource.com/c/1405859 Bug: 168041375 Test: atest proxy_resolver_v8_unittest Change-Id: I63dc386af7bebeaa217b864cd1931af79f75c53e (cherry picked from commit 05cbe2825f00470860200896b20960b66e2549ee)
-rw-r--r--src/parsing/scanner.cc9
-rw-r--r--src/parsing/scanner.h3
2 files changed, 6 insertions, 6 deletions
diff --git a/src/parsing/scanner.cc b/src/parsing/scanner.cc
index c1580bbe..07757ba9 100644
--- a/src/parsing/scanner.cc
+++ b/src/parsing/scanner.cc
@@ -67,13 +67,14 @@ Handle<String> Scanner::LiteralBuffer::Internalize(Isolate* isolate) const {
}
int Scanner::LiteralBuffer::NewCapacity(int min_capacity) {
- int capacity = Max(min_capacity, backing_store_.length());
- int new_capacity = Min(capacity * kGrowthFactory, capacity + kMaxGrowth);
- return new_capacity;
+ return min_capacity < (kMaxGrowth / (kGrowthFactor - 1))
+ ? min_capacity * kGrowthFactor
+ : min_capacity + kMaxGrowth;
}
void Scanner::LiteralBuffer::ExpandBuffer() {
- Vector<byte> new_store = Vector<byte>::New(NewCapacity(kInitialCapacity));
+ int min_capacity = Max(kInitialCapacity, backing_store_.length());
+ Vector<byte> new_store = Vector<byte>::New(NewCapacity(min_capacity));
MemCopy(new_store.start(), backing_store_.start(), position_);
backing_store_.Dispose();
backing_store_ = new_store;
diff --git a/src/parsing/scanner.h b/src/parsing/scanner.h
index 9885b8ed..9cb3f117 100644
--- a/src/parsing/scanner.h
+++ b/src/parsing/scanner.h
@@ -419,8 +419,7 @@ class Scanner {
private:
static const int kInitialCapacity = 16;
- static const int kGrowthFactory = 4;
- static const int kMinConversionSlack = 256;
+ static const int kGrowthFactor = 4;
static const int kMaxGrowth = 1 * MB;
inline bool IsValidAscii(char code_unit) {