MIPS: Properly restore the receiver after the interceptor call.
Port r18289 (6bc886d3) BUG= R=gergely@homejinni.com Review URL: https://codereview.chromium.org/110943003 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18294 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
This commit is contained in:
parent
6b65e909e0
commit
925837f0ca
@ -1078,12 +1078,13 @@ class CallInterceptorCompiler BASE_EMBEDDED {
|
|||||||
{
|
{
|
||||||
FrameScope scope(masm, StackFrame::INTERNAL);
|
FrameScope scope(masm, StackFrame::INTERNAL);
|
||||||
|
|
||||||
__ Push(holder, name_);
|
__ Push(receiver, holder, name_);
|
||||||
CompileCallLoadPropertyWithInterceptor(
|
CompileCallLoadPropertyWithInterceptor(
|
||||||
masm, receiver, holder, name_, holder_obj,
|
masm, receiver, holder, name_, holder_obj,
|
||||||
IC::kLoadPropertyWithInterceptorOnly);
|
IC::kLoadPropertyWithInterceptorOnly);
|
||||||
__ pop(name_); // Restore the name.
|
__ pop(receiver);
|
||||||
__ pop(holder); // Restore the holder.
|
__ pop(name_);
|
||||||
|
__ pop(holder);
|
||||||
}
|
}
|
||||||
// If interceptor returns no-result sentinel, call the constant function.
|
// If interceptor returns no-result sentinel, call the constant function.
|
||||||
__ LoadRoot(scratch, Heap::kNoInterceptorResultSentinelRootIndex);
|
__ LoadRoot(scratch, Heap::kNoInterceptorResultSentinelRootIndex);
|
||||||
|
Loading…
Reference in New Issue
Block a user