LGTM.
http://codereview.chromium.org/146029/diff/2001/2006 File src/x64/builtins-x64.cc (right): http://codereview.chromium.org/146029/diff/2001/2006#newcode205 Line 205: __ EnterConstructFrame(); What is the calling convention of this function on entry, and also after EnterConstructFrame? http://codereview.chromium.org/146029/diff/2001/2006#newcode227 Line 227: __ movq(rbx, rax); // store result in ebx rbx, not ebx http://codereview.chromium.org/146029/diff/2001/2006#newcode230 Line 230: // ebx: newly allocated object rbx http://codereview.chromium.org/146029/diff/2001/2006#newcode253 Line 253: __ push(Operand(rbx, rcx, times_pointer_size, 0)); Isn't there a three-argument version of Operand(Register, Register, ScaleFactor)? If not, we should create one, I think. http://codereview.chromium.org/146029/diff/2001/2006#newcode276 Line 276: __ CmpInstanceType(rcx, FIRST_JS_OBJECT_TYPE); CmpInstanceType can now be written inline as a single instruction, cmpb(Operand(rcx, typeOffset), Immediate(FIRST_JS_OBJECT_TYPE)) Update CmpInstanceType, or else write instructions directly. I have just put a bunch of these in - maybe they should all be changed to CmpInstanceType(). http://codereview.chromium.org/146029/diff/2001/2008 File src/x64/codegen-x64.cc (right): http://codereview.chromium.org/146029/diff/2001/2008#newcode1403 Line 1403: Result temp = allocator()->Allocate(); Use kScratchRegister here. http://codereview.chromium.org/146029/diff/2001/2008#newcode1647 Line 1647: __ testl(value.reg(), Immediate(kSmiTagMask)); We have many of these throughout the code, and have been using testq for them. Since the high bits of the mask are zero, it doesn't matter which we use, but testl can lead to a shorter encoding, I suppose. We should be consistent, for now. If you plan to replacing these throughout all the code, that is OK with me. http://codereview.chromium.org/146029 --~--~---------~--~----~------------~-------~--~----~ v8-dev mailing list [email protected] http://groups.google.com/group/v8-dev -~----------~----~----~----~------~----~------~--~---
