Commit 0553c7fe authored by erik.corry@gmail.com's avatar erik.corry@gmail.com

Optimize bitops with non-Smi inputs. Instead of converting both inputs

to floating point and then converting back we convert directly to a
32 bit integer.  In addition the bit twiddling implementation of float-
to-integer conversion has been ported from ARM.  Testing has shown that
this runs faster than the x87 or SSE3 rounding instructions.  This change
is IA32 only.  There may be a smaller benefit from doing the same on x64.
Review URL: http://codereview.chromium.org/506052

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@3492 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
parent c7c821fd
...@@ -305,7 +305,9 @@ class UnarySubStub : public CodeStub { ...@@ -305,7 +305,9 @@ class UnarySubStub : public CodeStub {
int MinorKey() { return overwrite_ ? 1 : 0; } int MinorKey() { return overwrite_ ? 1 : 0; }
void Generate(MacroAssembler* masm); void Generate(MacroAssembler* masm);
const char* GetName() { return "UnarySubStub"; } const char* GetName() {
return overwrite_ ? "UnarySubStub_Overwrite" : "UnarySubStub_Alloc";
}
}; };
......
This diff is collapsed.
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment