http://codereview.chromium.org/6374002/diff/1/src/x64/code-stubs-x64.cc
File src/x64/code-stubs-x64.cc (right):

http://codereview.chromium.org/6374002/diff/1/src/x64/code-stubs-x64.cc#newcode4333
src/x64/code-stubs-x64.cc:4333: __ sbbl(rax, rcx);  // Subtract one if
below (aka. carry set).
Done. Well spotted.

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

http://codereview.chromium.org/6374002/diff/1/src/x64/lithium-codegen-x64.cc#newcode1035
src/x64/lithium-codegen-x64.cc:1035: inline Condition
LCodeGen::TokenToCondition(Token::Value op, bool is_unsigned) {
It's only used in this file, so it's declared here.

http://codereview.chromium.org/6374002/diff/1/src/x64/lithium-codegen-x64.cc#newcode1066
src/x64/lithium-codegen-x64.cc:1066: __ Cmp(ToRegister(left),
ToHandle(LConstantOperand::cast(right)));
I probably should. We know that the constant is a 32-bit value at this
point.
Done.

http://codereview.chromium.org/6374002/diff/1/src/x64/lithium-codegen-x64.cc#newcode1279
src/x64/lithium-codegen-x64.cc:1279: Register temp =
ToRegister(instr->TempAt(0));
It should be safe. We only use it as scratch register for CmpObjectType,
and kScratchRegister can be used there.

http://codereview.chromium.org/6374002/diff/1/src/x64/lithium-codegen-x64.cc#newcode1344
src/x64/lithium-codegen-x64.cc:1344: __ CmpObjectType(temp,
JS_FUNCTION_TYPE, temp2);
We can, but the current implementation uses the fact that it has two
temp registers to ensure that "temp" isn't the same register as "input".

http://codereview.chromium.org/6374002/diff/1/src/x64/lithium-codegen-x64.cc#newcode1356
src/x64/lithium-codegen-x64.cc:1356: // The class name we are testing
against is a symbol because it's a literal.
Done.

http://codereview.chromium.org/6374002/diff/1/src/x64/lithium-codegen-x64.cc#newcode1379
src/x64/lithium-codegen-x64.cc:1379: temp = temp2;
This is the place where we seem that we do need them - in order to
ensure that "temp" isn't the same register as "input". I don't know if
there is another way to ensure that we have another register.

http://codereview.chromium.org/6374002/diff/1/src/x64/lithium-codegen-x64.cc#newcode1847
src/x64/lithium-codegen-x64.cc:1847: __ Cmp(input,
Handle<Object>(Heap::true_value()));
Done, both.

http://codereview.chromium.org/6374002/diff/1/src/x64/lithium-codegen-x64.cc#newcode1852
src/x64/lithium-codegen-x64.cc:1852: } else if
(type_name->Equals(Heap::undefined_symbol())) {
Done.

http://codereview.chromium.org/6374002/diff/1/src/x64/lithium-x64.cc
File src/x64/lithium-x64.cc (right):

http://codereview.chromium.org/6374002/diff/1/src/x64/lithium-x64.cc#newcode924
src/x64/lithium-x64.cc:924: return new
LCmpIDAndBranch(UseRegisterAtStart(left),
I don't believe there is a CmpIAndBranch, only a CmpIDAndBranch. It will
do the right thing if both operands are integers.

http://codereview.chromium.org/6374002/

--
v8-dev mailing list
[email protected]
http://groups.google.com/group/v8-dev

Reply via email to