diff options
author | Michaël Zasso <targos@protonmail.com> | 2017-10-18 15:03:02 -0700 |
---|---|---|
committer | Michaël Zasso <targos@protonmail.com> | 2017-10-18 17:01:41 -0700 |
commit | 3d1b3df9486c0e7708065257f7311902f6b7b366 (patch) | |
tree | cb051bdeaead11e06dcd97725783e0f113afb1bf /deps/v8/src/json-parser.cc | |
parent | e2cddbb8ccdb7b3c4a40c8acc630f68703bc77b5 (diff) | |
download | android-node-v8-3d1b3df9486c0e7708065257f7311902f6b7b366.tar.gz android-node-v8-3d1b3df9486c0e7708065257f7311902f6b7b366.tar.bz2 android-node-v8-3d1b3df9486c0e7708065257f7311902f6b7b366.zip |
deps: update V8 to 6.2.414.32
PR-URL: https://github.com/nodejs/node/pull/15362
Reviewed-By: Myles Borins <myles.borins@gmail.com>
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
Reviewed-By: Matteo Collina <matteo.collina@gmail.com>
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
Diffstat (limited to 'deps/v8/src/json-parser.cc')
-rw-r--r-- | deps/v8/src/json-parser.cc | 15 |
1 files changed, 9 insertions, 6 deletions
diff --git a/deps/v8/src/json-parser.cc b/deps/v8/src/json-parser.cc index ab48034b17..32e4187c8e 100644 --- a/deps/v8/src/json-parser.cc +++ b/deps/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(); } |