Update for v8 4.6 #37
Merged
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This change makes mdb_v8's test suite pass with
https://github.com/nodejs/node/tree/vee-eight-4.6, which is the branch
where V8 4.6.x is integrated into node's master.
There are two main changes. The first one is that Map's
"inobject_properties" property has been renamed to
"inobject_properties_or_constructor_function_index". Since mdb_v8's
doesn't support new V8 primitives yet, we only care about using the
proper name for this property, not about the fact that it has a
different semantic for these new V8 primitives.
The second one is that typed arrays, which are used to represent Buffer
instances since node v4.0.0, store their underlying storage slightly
differently. For V8 versions 4.6 and later, we now use the
JSArrayBufferView and the JSArrayBuffer properties to get access to that
underlying storage, as it seems more reliable and less likely to change
than accessing the first elements' slot, whose representation has
changed between V8 4.5 and 4.6. It used to be a ExternalUint8Array, and
it is now a FixedTypedArray casted as a FixedTypedArrayBase.
The branch of this PR is based on #33 's branch , which is why the changes in #33 also show up. Please consider only the changes in the second commit as part of this PR.
When #33 is merged in master, I'll rebase this PR on top of master.
The associated metadata has been submitted upstream with https://codereview.chromium.org/1363403003/, and a new PR to backport it to nodejs/master so that it ends up in node v5.0.0 will be created asap.