http://codereview.chromium.org/150093/diff/1/2 File src/runtime.cc (right):
http://codereview.chromium.org/150093/diff/1/2#newcode4491 Line 4491: return result; // Should be returned in rax and rdx, in AMD-x64-abi. On 2009/06/30 10:55:26, Lasse Reichstein wrote: > Make comment saying that it hasn't been tested in MSVC. > Or use ifdefs using __GCC__ or __MSVC__ to not enable it. > Have you tested whether a struct also works in 32-bit mode? (I assume it doesn't > or it would have been used already). Done. http://codereview.chromium.org/150093/diff/1/3 File src/x64/codegen-x64.cc (right): http://codereview.chromium.org/150093/diff/1/3#newcode5471 Line 5471: __ j(overflow, &undo); On 2009/06/30 10:55:26, Lasse Reichstein wrote: > Will this work? If rax is a smi, then 0 - rax will not overflow a 64-bit signed > subtraction. > If we have a Smi, we only need to special case zero and kMinSmiValue (aka > -0x80000000). A single testl(rax, 0x7fffffff) should be able to do that. After > that, we can just use neg(rax). Replaced with subl, which will overflow. We need to be able to restore rax from rdx, which is why we use rdx. http://codereview.chromium.org/150093/diff/1/3#newcode5475 Line 5475: __ j(zero, &done); On 2009/06/30 10:55:26, Lasse Reichstein wrote: > How can it not be smi tagged if we subtract a smi tagged number from zero? Done. http://codereview.chromium.org/150093 --~--~---------~--~----~------------~-------~--~----~ v8-dev mailing list [email protected] http://groups.google.com/group/v8-dev -~----------~----~----~----~------~----~------~--~---
