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

Reply via email to