http://codereview.chromium.org/6694044/diff/1023/src/bootstrapper.cc File src/bootstrapper.cc (right):
http://codereview.chromium.org/6694044/diff/1023/src/bootstrapper.cc#newcode510 src/bootstrapper.cc:510: Handle<DescriptorArray> Genesis::ComputeStrictFunctionDescriptor( Keep the 'Instance' in the name? ComputeStrictFunctionInstanceDescriptor? Can the structure of this be closer to ComputeFunctionInstanceDescriptor using CopyAddDescriptor? (Or the other way around, use this structure for the other one.) Would be nice to use the same structure for doing the same thing. http://codereview.chromium.org/6694044/diff/1023/src/bootstrapper.cc#newcode560 src/bootstrapper.cc:560: Handle<JSFunction> pill = Factory::NewFunctionWithoutPrototypeStrict(name); This means that you will get two ThrowTypeError functions doesn't it? I think that the spec says that there should be only one? If that is the case, rename this to CreateThrowTypeErrorFunction and have it return the pill. Then set it as the get and set for both of the callback arrays? http://codereview.chromium.org/6694044/diff/1023/src/bootstrapper.cc#newcode576 src/bootstrapper.cc:576: void Genesis::CreateThrowTypeError(Handle<JSFunction> empty) { This method seems to have a strange name. It is really a mix of allocating strict mode function maps and setting up two accessors. Rename to CreateStrictFunctionsMaps or something along those lines? http://codereview.chromium.org/6694044/diff/1023/src/bootstrapper.cc#newcode1943 src/bootstrapper.cc:1943: // Extract arguments and caller from the original strict function map. It seems a bit complicated to have to extract the arguments and caller arrays here, but I don't really have a good suggestion. http://codereview.chromium.org/6694044/diff/1023/src/bootstrapper.cc#newcode1956 src/bootstrapper.cc:1956: Handle<Map> map = Factory::NewMap(JS_FUNCTION_TYPE, JSFunction::kSize); Is there a reason why you do not use CopyMapDropDescriptors here as we do for the normal function map and avoid the set_prototype below? http://codereview.chromium.org/6694044/diff/1023/src/factory.h File src/factory.h (right): http://codereview.chromium.org/6694044/diff/1023/src/factory.h#newcode235 src/factory.h:235: static Handle<JSFunction> NewFunctionWithoutPrototypeStrict( NewStrictFunctionWithoutPrototype? http://codereview.chromium.org/6694044/diff/1023/src/factory.h#newcode413 src/factory.h:413: static Handle<JSFunction> NewFunctionWithoutPrototypeStrictHelper( NewStrictFunction... ? http://codereview.chromium.org/6694044/diff/1023/test/mjsunit/strict-mode.js File test/mjsunit/strict-mode.js (right): http://codereview.chromium.org/6694044/diff/1023/test/mjsunit/strict-mode.js#newcode1025 test/mjsunit/strict-mode.js:1025: (function KrakenTest() { Kraken -> WritablePrototype? http://codereview.chromium.org/6694044/ -- v8-dev mailing list [email protected] http://groups.google.com/group/v8-dev
