• rossberg@chromium.org's avatar
    Provide private symbols through internal APIs · cec8383c
    rossberg@chromium.org authored
    Adds a notion of private symbols, mainly intended for internal use, especially, self-hosting of built-in types that would otherwise require new C++ classes.
    
    On the JS side (i.e., in built-ins), private properties can be created and accessed through a set of macros:
    
      NEW_PRIVATE(print_name)
      HAS_PRIVATE(obj, sym)
      GET_PRIVATE(obj, sym)
      SET_PRIVATE(obj, sym, val)
      DELETE_PRIVATE(obj, sym)
    
    In the V8 API, they are accessible via a new class Private, and respective HasPrivate/Get/Private/SetPrivate/DeletePrivate methods on calss Object.
    
    These APIs are designed and restricted such that their implementation can later be replaced by whatever ES7+ will officially provide.
    
    R=yangguo@chromium.org
    BUG=
    
    Review URL: https://codereview.chromium.org/48923002
    
    git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17683 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
    cec8383c
Name
Last commit
Last update
..
array-find.js Loading commit data...
array-findindex.js Loading commit data...
array-iterator.js Loading commit data...
block-conflicts.js Loading commit data...
block-const-assign.js Loading commit data...
block-early-errors.js Loading commit data...
block-for.js Loading commit data...
block-lazy-compile.js Loading commit data...
block-leave.js Loading commit data...
block-let-crankshaft.js Loading commit data...
block-let-declaration.js Loading commit data...
block-let-semantics.js Loading commit data...
block-scoping.js Loading commit data...
collections.js Loading commit data...
dataview-accessors.js Loading commit data...
debug-blockscopes.js Loading commit data...
debug-evaluate-blockscopes.js Loading commit data...
debug-function-scopes.js Loading commit data...
generators-iteration.js Loading commit data...
generators-objects.js Loading commit data...
generators-parsing.js Loading commit data...
generators-runtime.js Loading commit data...
iteration-semantics.js Loading commit data...
iteration-syntax.js Loading commit data...
math-sign.js Loading commit data...
math-trunc.js Loading commit data...
module-linking.js Loading commit data...
module-parsing.js Loading commit data...
module-recompile.js Loading commit data...
module-resolution.js Loading commit data...
numeric-literals-off.js Loading commit data...
numeric-literals.js Loading commit data...
object-observe.js Loading commit data...
private.js Loading commit data...
proxies-example-membrane.js Loading commit data...
proxies-for.js Loading commit data...
proxies-function.js Loading commit data...
proxies-hash.js Loading commit data...
proxies-json.js Loading commit data...
proxies-symbols.js Loading commit data...
proxies-with.js Loading commit data...
proxies.js Loading commit data...
string-contains.js Loading commit data...
string-endswith.js Loading commit data...
string-repeat.js Loading commit data...
string-startswith.js Loading commit data...
symbols.js Loading commit data...
typedarrays.js Loading commit data...
typeof.js Loading commit data...