diff options
author | Allan Sandfeld Jensen <allan.jensen@qt.io> | 2017-11-20 10:33:36 +0100 |
---|---|---|
committer | Allan Sandfeld Jensen <allan.jensen@qt.io> | 2017-11-22 11:45:12 +0000 |
commit | be59a35641616a4cf23c4a13fa0632624b021c1b (patch) | |
tree | 9da183258bdf9cc413f7562079d25ace6955467f /chromium/v8/src/json-parser.cc | |
parent | d702e4b6a64574e97fc7df8fe3238cde70242080 (diff) | |
download | qtwebengine-chromium-be59a35641616a4cf23c4a13fa0632624b021c1b.tar.gz |
BASELINE: Update Chromium to 62.0.3202.101
Change-Id: I2d5eca8117600df6d331f6166ab24d943d9814ac
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
Diffstat (limited to 'chromium/v8/src/json-parser.cc')
-rw-r--r-- | chromium/v8/src/json-parser.cc | 15 |
1 files changed, 9 insertions, 6 deletions
diff --git a/chromium/v8/src/json-parser.cc b/chromium/v8/src/json-parser.cc index ab48034b176..32e4187c8ed 100644 --- a/chromium/v8/src/json-parser.cc +++ b/chromium/v8/src/json-parser.cc @@ -368,19 +368,22 @@ Handle<Object> JsonParser<seq_one_byte>::ParseJsonObject() { bool follow_expected = false; Handle<Map> target; if (seq_one_byte) { - key = TransitionArray::ExpectedTransitionKey(map); + DisallowHeapAllocation no_gc; + TransitionsAccessor transitions(*map, &no_gc); + key = transitions.ExpectedTransitionKey(); follow_expected = !key.is_null() && ParseJsonString(key); + // If the expected transition hits, follow it. + if (follow_expected) { + target = transitions.ExpectedTransitionTarget(); + } } - // If the expected transition hits, follow it. - if (follow_expected) { - target = TransitionArray::ExpectedTransitionTarget(map); - } else { + if (!follow_expected) { // If the expected transition failed, parse an internalized string and // try to find a matching transition. key = ParseJsonInternalizedString(); if (key.is_null()) return ReportUnexpectedCharacter(); - target = TransitionArray::FindTransitionToField(map, key); + target = TransitionsAccessor(map).FindTransitionToField(key); // If a transition was found, follow it and continue. transitioning = !target.is_null(); } |