LGTM

http://codereview.chromium.org/7068009/diff/1/src/compiler.h
File src/compiler.h (right):

http://codereview.chromium.org/7068009/diff/1/src/compiler.h#newcode92
src/compiler.h:92: void MarkAsES5Native() {
Why ES5Native and not just Native?
Is there any native code that isn't ES5Native?

http://codereview.chromium.org/7068009/diff/1/src/v8natives.js
File src/v8natives.js (right):

http://codereview.chromium.org/7068009/diff/1/src/v8natives.js#newcode136
src/v8natives.js:136: if (receiver == null) receiver =
%GlobalReceiver(global);
Also if undetectable?

http://codereview.chromium.org/7068009/diff/1/src/v8natives.js#newcode138
src/v8natives.js:138: var global_receiver = %GlobalReceiver(global);
Duplicate call to runtime function %GlobalReceiver(global).
Move this to before the previous line and assign receiver =
global_receiver.

http://codereview.chromium.org/7068009/diff/1/src/v8natives.js#newcode142
src/v8natives.js:142: if (!this_is_global_receiver ||
global_is_detached) {
Could we make a comment that this test is jsut to be consistent with
JSC, and is not required by the specification.

http://codereview.chromium.org/7068009/diff/1/src/x64/full-codegen-x64.cc
File src/x64/full-codegen-x64.cc (right):

http://codereview.chromium.org/7068009/diff/1/src/x64/full-codegen-x64.cc#newcode137
src/x64/full-codegen-x64.cc:137: // function calls.
Do we know, or could we make sure we know, that the non-zero part of rcx
is in the low 32 bits (i.e., in ecx)? In that case, we can do with a
testl(rcx, rcx) below (and save a byte!)

http://codereview.chromium.org/7068009/diff/1/test/mjsunit/regress/regress-1365.js
File test/mjsunit/regress/regress-1365.js (right):

http://codereview.chromium.org/7068009/diff/1/test/mjsunit/regress/regress-1365.js#newcode42
test/mjsunit/regress/regress-1365.js:42: assertTrue(exception);
Test for thrown exceptions by either:
  assertThrows(function() { valueOf(); })
(possibly even  assertThrows(valueOf) , but in this case we want to be
in total control of how the function is called) or:
  try {
    valueOf();
    assertUnreachable();
  } catch (e) {}

http://codereview.chromium.org/7068009/

--
v8-dev mailing list
v8-dev@googlegroups.com
http://groups.google.com/group/v8-dev

Reply via email to