PTAL again. Sorry for the rebase.

I just modified code-stubs-<arch>.cc and
test/mjsunit/harmony/proxies-function.js.

Apparently passing "undefined_value" as receiver to CALL_FUNCTION_PROXY will end
up patching in the global receiver from the call-trap function in
Execution::Call.

Additionally, notice that on X64/ARM CALL_AS_METHOD was erroneously used, while IA32 still properly used CALL_AS_FUNCTION for CALL_FUNCTION_PROXY. Apparently
(surprisingly...) it wasn't tested. That path is now tested by the second
with-variant in the function proxy tests that I added.


https://codereview.chromium.org/111613003/diff/280001/src/ia32/code-stubs-ia32.cc
File src/ia32/code-stubs-ia32.cc (right):

https://codereview.chromium.org/111613003/diff/280001/src/ia32/code-stubs-ia32.cc#newcode2533
src/ia32/code-stubs-ia32.cc:2533: __ mov(ecx, GlobalObjectOperand());
On 2013/12/26 13:35:52, dcarney wrote:
this should have a TODO to fix for function proxies

I decided to just fix it anyway. I discovered some bugs in this code by
doing so.

https://codereview.chromium.org/111613003/

--
--
v8-dev mailing list
[email protected]
http://groups.google.com/group/v8-dev
--- You received this message because you are subscribed to the Google Groups "v8-dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
For more options, visit https://groups.google.com/groups/opt_out.

Reply via email to