Revision: 6198
Author: [email protected]
Date: Thu Jan 6 04:41:41 2011
Log: Instanceof slow case bind is incorrect.
Currently, the bind for the slow label is after the pushing of the
args registers which renders the args pushing dead code because there
is a Ret preceeding it. The comments also imply that the arg pushing
should be part of the InvokeBuiltins tail call.
Patch by Mark Lam from Hewlett-Packard Development Company, LP
Review URL: http://codereview.chromium.org/6107001
http://code.google.com/p/v8/source/detail?r=6198
Modified:
/branches/bleeding_edge/src/arm/code-stubs-arm.cc
=======================================
--- /branches/bleeding_edge/src/arm/code-stubs-arm.cc Thu Jan 6 02:56:23
2011
+++ /branches/bleeding_edge/src/arm/code-stubs-arm.cc Thu Jan 6 04:41:41
2011
@@ -2987,10 +2987,10 @@
__ Ret(HasArgsInRegisters() ? 0 : 2);
// Slow-case. Tail call builtin.
+ __ bind(&slow);
if (HasArgsInRegisters()) {
__ Push(r0, r1);
}
- __ bind(&slow);
__ InvokeBuiltin(Builtins::INSTANCE_OF, JUMP_JS);
}
--
v8-dev mailing list
[email protected]
http://groups.google.com/group/v8-dev