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 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@6198 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
This commit is contained in:
parent
82b9758e9a
commit
2b7596a516
@ -2987,10 +2987,10 @@ void InstanceofStub::Generate(MacroAssembler* masm) {
|
||||
__ Ret(HasArgsInRegisters() ? 0 : 2);
|
||||
|
||||
// Slow-case. Tail call builtin.
|
||||
__ bind(&slow);
|
||||
if (HasArgsInRegisters()) {
|
||||
__ Push(r0, r1);
|
||||
}
|
||||
__ bind(&slow);
|
||||
__ InvokeBuiltin(Builtins::INSTANCE_OF, JUMP_JS);
|
||||
}
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user