DescriptionHeavy cleanup of the external pointer API.
Added highly efficient Object::SetAlignedPointerInInternalField and
Object::GetAlignedPointerFromInternalField functions for 2-byte-aligned
pointers. Their non-aligned counterparts Object::GetPointerFromInternalField and
Object::SetPointerInInternalField are now deprecated utility functions.
External is now a true Value again, with New/Value/Cast using a JSObject with an
internal field containing a Foreign. External::Wrap, and External::Unwrap are now
deprecated utility functions.
Added Context::GetEmbedderData and Context::SetEmbedderData. Deprecated
Context::GetData and Context::SetData, these are now only wrappers to access
internal field 0.
Added highly efficient Context::SetAlignedPointerInEmbedderData and
Context::GetAlignedPointerFromEmbedderData functions for 2-byte-aligned
pointers.
Committed: https://code.google.com/p/v8/source/detail?r=12849
Patch Set 1 #Patch Set 2 : Make External objects non-extensible #Patch Set 3 : Context::GetInternalField / Context::SetInternalField fully implemented #Patch Set 4 : Cleaned up Object::GetInternalField and Object::SetInternalField #Patch Set 5 : Improved resizing strategy. Fixed assertion. #Patch Set 6 : Context cleanup #Patch Set 7 : Renamings, cleanup and a rebase #
Total comments: 5
Patch Set 8 : Avoid Handle allocation in Object::GetPointerFromInternalField, there might be no HandleScope #Patch Set 9 : #Patch Set 10 : Added more unit tests #Patch Set 11 : #
Total comments: 19
Patch Set 12 : Addressed feedback #Patch Set 13 : Rebased #
Messages
Total messages: 8 (0 generated)
|