From: palfia@homejinni.com Date: Tue, 10 Dec 2013 23:00:10 +0000 (+0000) Subject: MIPS: Fix patching the receiver (global object -> global proxy) after the interceptor. X-Git-Tag: upstream/4.7.83~11390 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=6b65e909e0c698f1d641f153e27c1f2125843fe7;p=platform%2Fupstream%2Fv8.git MIPS: Fix patching the receiver (global object -> global proxy) after the interceptor. Port r18286 (f6277add) Original commit message: This is a temporary fix that will be replaced by loading the proxy from the target function. BUG= R=gergely@homejinni.com Review URL: https://codereview.chromium.org/103453003 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18293 ce2b1a6d-e550-0410-aec6-3dcde31c8c00 --- diff --git a/src/mips/stub-cache-mips.cc b/src/mips/stub-cache-mips.cc index 0db010e..27b4767 100644 --- a/src/mips/stub-cache-mips.cc +++ b/src/mips/stub-cache-mips.cc @@ -1007,7 +1007,7 @@ class CallInterceptorCompiler BASE_EMBEDDED { // holder haven't changed and thus we can use cached constant function. if (*interceptor_holder != lookup->holder()) { stub_compiler_->CheckPrototypes( - IC::CurrentTypeOf(interceptor_holder, masm->isolate()), receiver, + IC::CurrentTypeOf(interceptor_holder, masm->isolate()), holder, handle(lookup->holder()), scratch1, scratch2, scratch3, name, depth2, miss); } else { @@ -1024,7 +1024,7 @@ class CallInterceptorCompiler BASE_EMBEDDED { masm, optimization, arguments_.immediate(), false); } else { Handle function = optimization.constant_function(); - stub_compiler_->GenerateJumpFunctionIgnoreReceiver(function); + stub_compiler_->GenerateJumpFunction(object, function); } // Deferred code for fast API call case---clean preallocated space. @@ -1083,7 +1083,7 @@ class CallInterceptorCompiler BASE_EMBEDDED { masm, receiver, holder, name_, holder_obj, IC::kLoadPropertyWithInterceptorOnly); __ pop(name_); // Restore the name. - __ pop(receiver); // Restore the holder. + __ pop(holder); // Restore the holder. } // If interceptor returns no-result sentinel, call the constant function. __ LoadRoot(scratch, Heap::kNoInterceptorResultSentinelRootIndex);