v8/test/mjsunit/harmony
adamk@chromium.org 71fbe7d4ec Ensure that JSProxy::Fix gives the generated JSObject map a constructor
All JSObjects in V8 either have a map()->constructor() field or are
JSFunctions. JSProxy::Fix, however, was not enforcing this, and
Object.observe's use of JSObject::GetCreationContext() exposed this.

Note that this is not Object.observe-specific: the API call
v8::Object::CreationContext() also would have revealed this bug.

This patch chooses Object as a reasonable constructor to put on the
newly-fixed object's map. Note that this has no effect on the "constructor"
property in JS. In doing so, I've also tightened up the code underlying
JSProxy::Fix to only support JSObject and JSFunction as possible output
types.

BUG=405844
LOG=N
R=rossberg@chromium.org, verwaest@chromium.org

Review URL: https://codereview.chromium.org/505303004

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23466 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-27 15:54:23 +00:00
..
regress Ensure that JSProxy::Fix gives the generated JSObject map a constructor 2014-08-27 15:54:23 +00:00
array-fill.js Fix typos in unit test for Array.prototype.fill() 2014-05-09 16:11:50 +00:00
array-find.js Make sure files end with exactly one new line and police this in presubmit. 2013-11-22 13:50:39 +00:00
array-findindex.js Make sure files end with exactly one new line and police this in presubmit. 2013-11-22 13:50:39 +00:00
array-of.js Implement ES6 Array.of() 2014-08-19 11:38:38 +00:00
arrow-functions.js Implement basic code generation for arrow functions 2014-07-21 09:58:01 +00:00
block-conflicts.js Fix several issues with ES6 redeclaration checks 2014-07-09 11:35:05 +00:00
block-const-assign.js Drop obsolete ES6 TODOs about activating extended mode. 2014-06-17 15:22:38 +00:00
block-early-errors.js Make let usable as an identifier in ES6 sloppy mode. 2014-07-10 14:06:37 +00:00
block-for.js Drop obsolete ES6 TODOs about activating extended mode. 2014-06-17 15:22:38 +00:00
block-lazy-compile.js Preliminary code for block scopes and block contexts. 2011-08-11 16:29:28 +00:00
block-leave.js Drop obsolete ES6 TODOs about activating extended mode. 2014-06-17 15:22:38 +00:00
block-let-crankshaft.js Drop obsolete ES6 TODOs about activating extended mode. 2014-06-17 15:22:38 +00:00
block-let-declaration.js Fix several issues with ES6 redeclaration checks 2014-07-09 11:35:05 +00:00
block-let-semantics.js Drop obsolete ES6 TODOs about activating extended mode. 2014-06-17 15:22:38 +00:00
block-scoping.js Preliminary support for block contexts in hydrogen. 2014-06-05 07:33:01 +00:00
dataview-accessors.js Fix data view accessors to throw execptions on offsets bigger than size_t. 2013-11-18 15:16:22 +00:00
debug-blockscopes.js Drop obsolete ES6 TODOs about activating extended mode. 2014-06-17 15:22:38 +00:00
debug-evaluate-blockscopes.js Drop obsolete ES6 TODOs about activating extended mode. 2014-06-17 15:22:38 +00:00
debug-function-scopes.js Issue 2081: Expose function's (closure's) inner context in debugger. 2012-04-26 20:16:53 +00:00
empty-for.js Fix for-loop with const/let and empty condition/iteration statements. 2014-07-09 07:50:11 +00:00
module-linking.js Get rid of static module allocation, do it in code. 2012-11-22 10:25:22 +00:00
module-parsing.js Reject local module declarations. 2012-10-05 09:14:08 +00:00
module-recompile.js Implement proper module linking. 2012-07-09 08:59:03 +00:00
module-resolution.js Implement proper module linking. 2012-07-09 08:59:03 +00:00
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
private.js ToNumber(Symbol) should throw TypeError 2014-08-11 19:24:05 +00:00
proxies-example-membrane.js Remove proxies from --harmony switch for M38, because problems 2014-08-08 09:58:19 +00:00
proxies-for.js Proxies: Make 'with' work, plus minor other fixes 2013-07-19 14:07:23 +00:00
proxies-function.js Mode clean-up pt 1: rename classic/non-strict mode to sloppy mode 2014-03-11 14:39:08 +00:00
proxies-hash.js Enable ES6 Map and Set by default 2014-08-05 19:37:32 +00:00
proxies-json.js Remove proxies from --harmony switch for M38, because problems 2014-08-08 09:58:19 +00:00
proxies-symbols.js Enable ES6 Symbols by default 2014-08-04 18:17:54 +00:00
proxies-with-unscopables.js Remove removed flags from tests 2014-08-19 15:09:38 +00:00
proxies-with.js Proxies: Make 'with' work, plus minor other fixes 2013-07-19 14:07:23 +00:00
proxies.js Enable ES6 iteration by default 2014-08-07 16:42:14 +00:00
set-prototype-of.js Enable ES6 Symbols by default 2014-08-04 18:17:54 +00:00
string-codepointat.js Implement String.prototype.codePointAt and String.fromCodePoint. 2014-07-21 08:45:32 +00:00
string-contains.js Make String.prototype.contains throw when passing a regular expression 2014-04-07 10:24:01 +00:00
string-endswith.js Make String.prototype.{starts,ends}With throw when passing a regular expression 2014-01-28 10:31:05 +00:00
string-fromcodepoint.js Implement String.prototype.codePointAt and String.fromCodePoint. 2014-07-21 08:45:32 +00:00
string-repeat.js Make sure files end with exactly one new line and police this in presubmit. 2013-11-22 13:50:39 +00:00
string-startswith.js Make String.prototype.{starts,ends}With throw when passing a regular expression 2014-01-28 10:31:05 +00:00
toMethod.js Implement Function.prototype.toMethod. 2014-08-21 12:39:33 +00:00
typedarrays.js Inline internal getters for typed arrays & friends. 2014-03-28 15:25:24 +00:00