summaryrefslogtreecommitdiff
path: root/chromium/v8/src/json-parser.cc
diff options
context:
space:
mode:
authorAllan Sandfeld Jensen <allan.jensen@qt.io>2017-11-20 10:33:36 +0100
committerAllan Sandfeld Jensen <allan.jensen@qt.io>2017-11-22 11:45:12 +0000
commitbe59a35641616a4cf23c4a13fa0632624b021c1b (patch)
tree9da183258bdf9cc413f7562079d25ace6955467f /chromium/v8/src/json-parser.cc
parentd702e4b6a64574e97fc7df8fe3238cde70242080 (diff)
downloadqtwebengine-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.cc15
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();
}