v8/test/mjsunit/harmony
rossberg@chromium.org cec8383cff Provide private symbols through internal APIs
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
2013-11-13 10:34:06 +00:00
..
array-find.js Add new Harmony methods to Array.prototype object. 2013-08-02 10:57:48 +00:00
array-findindex.js Add new Harmony methods to Array.prototype object. 2013-08-02 10:57:48 +00:00
array-iterator.js Update Array Iterator to use numeric indexes 2013-08-06 13:10:07 +00:00
block-conflicts.js
block-const-assign.js
block-early-errors.js
block-for.js
block-lazy-compile.js
block-leave.js
block-let-crankshaft.js Turn on parallel recompilation for tests that assert optimization status. 2013-07-22 09:16:33 +00:00
block-let-declaration.js
block-let-semantics.js
block-scoping.js
collections.js Calling Map etc without new should throw TypeError 2013-08-01 09:18:28 +00:00
dataview-accessors.js Make DataView setters throw when only offset is provided. 2013-07-24 17:35:15 +00:00
debug-blockscopes.js
debug-evaluate-blockscopes.js
debug-function-scopes.js
generators-iteration.js
generators-objects.js
generators-parsing.js
generators-runtime.js
iteration-semantics.js
iteration-syntax.js
math-sign.js Harmony: implement Math.sign. 2013-10-21 09:16:31 +00:00
math-trunc.js Harmony: implement Math.trunc. 2013-10-21 11:15:11 +00:00
module-linking.js
module-parsing.js
module-recompile.js
module-resolution.js
numeric-literals-off.js Add support for explicit octal and binary integer literals 2013-07-19 09:57:35 +00:00
numeric-literals.js Add support for explicit octal and binary integer literals 2013-07-19 09:57:35 +00:00
object-observe.js [Object.observe] rename intrinsic change record types for consitency. 2013-11-06 12:14:24 +00:00
private.js Provide private symbols through internal APIs 2013-11-13 10:34:06 +00:00
proxies-example-membrane.js Calling Map etc without new should throw TypeError 2013-08-01 09:18:28 +00:00
proxies-for.js Proxies: Make 'with' work, plus minor other fixes 2013-07-19 14:07:23 +00:00
proxies-function.js
proxies-hash.js Calling Map etc without new should throw TypeError 2013-08-01 09:18:28 +00:00
proxies-json.js
proxies-symbols.js
proxies-with.js Proxies: Make 'with' work, plus minor other fixes 2013-07-19 14:07:23 +00:00
proxies.js
string-contains.js Add new Harmony methods to String.prototype object. 2013-07-30 16:33:08 +00:00
string-endswith.js Add new Harmony methods to String.prototype object. 2013-07-30 16:33:08 +00:00
string-repeat.js Add new Harmony methods to String.prototype object. 2013-07-30 16:33:08 +00:00
string-startswith.js Add new Harmony methods to String.prototype object. 2013-07-30 16:33:08 +00:00
symbols.js Provide private symbols through internal APIs 2013-11-13 10:34:06 +00:00
typedarrays.js Implement ArrayBuffer.isView. 2013-10-10 08:36:44 +00:00
typeof.js