http://codereview.chromium.org/554062/diff/1/2
File src/ia32/codegen-ia32.cc (right):

http://codereview.chromium.org/554062/diff/1/2#newcode744
src/ia32/codegen-ia32.cc:744: enum ArgLocation {
It seems like this should be a member of FloatingPointHelper.

http://codereview.chromium.org/554062/diff/1/2#newcode7288
src/ia32/codegen-ia32.cc:7288: if (HasArgumentsInRegisters()) {
Is this right?  What if op_ == Token::ADD or Token::SUB and
!HasArgumentsInRegisters().  Won't the heap allocation target
&after_alloc_failure on a failure, but the label will never be bound?

http://codereview.chromium.org/554062/diff/1/2#newcode7294
src/ia32/codegen-ia32.cc:7294: }
Missing break would be a problem (at least dead code generation) if code
was added to the fall through or clauses were reordered.

Add break or add a "Fall through" comment.  (Explicit break is better).

http://codereview.chromium.org/554062/diff/1/3
File src/ia32/codegen-ia32.h (right):

http://codereview.chromium.org/554062/diff/1/3#newcode707
src/ia32/codegen-ia32.h:707: return ((op_ == Token::ADD) || (op_ ==
Token::SUB)) ||
You lost a two-space indent here.

This is a complicated comparison, I like the following better:

bool ArgsInRegistersSupported() {
  if (op_ == Token::ADD || op_ == Token::SUB) return true;
  if (op_ == Token::MUL || op_ == Token::DIV) {
    return NO_SMI_CODE_IN_STUB;
  }
  return false;
}

You might also rename this to SupportsArgsInRegisters, to parallel
HasArgsInRegisters.

http://codereview.chromium.org/554062/diff/1/3#newcode718
src/ia32/codegen-ia32.h:718: bool HasArgumentsInRegisters() { return
args_in_registers_; }
I'm not sure why HasArguments is spelled out but SetArgs is not.  It
should be consistent and I don't mind abbreviating Args.  You could
change it since you're already modifying this code.

http://codereview.chromium.org/554062

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

Reply via email to