Comment #8 on issue 4413 by bugdro...@chromium.org: Call sequence is inconsistent and almost always wrong
https://code.google.com/p/v8/issues/detail?id=4413#c8

The following revision refers to this bug:
https://chromium.googlesource.com/v8/v8.git/+/db2ba190dba6983b94eae36e111b0feebb97587e

commit db2ba190dba6983b94eae36e111b0feebb97587e
Author: bmeurer <bmeu...@chromium.org>
Date: Tue Sep 08 13:35:20 2015

[runtime] Replace many buggy uses of %_CallFunction with %_Call.

The semantics of the %_CallFunction intrinsic seem to be very unclear,
which resulted in a lot of bugs. Especially the combination with
%IsSloppyModeFunction is always a bug, because the receiver would be
wrapped in the wrong context. So the %IsSloppyModeFunction helper is
gone now, and many of the buggy uses of %_CallFunction are also
eliminated.

If you ever need to call something with a different receiver, then
%_Call is your friend now. It does what you want and implements the
call sequence fully (and correct).

BUG=v8:4413
LOG=n

Review URL: https://codereview.chromium.org/1325573004

Cr-Commit-Position: refs/heads/master@{#30634}

[modify] http://crrev.com/db2ba190dba6983b94eae36e111b0feebb97587e/src/arm/interface-descriptors-arm.cc [modify] http://crrev.com/db2ba190dba6983b94eae36e111b0feebb97587e/src/arm64/interface-descriptors-arm64.cc [modify] http://crrev.com/db2ba190dba6983b94eae36e111b0feebb97587e/src/array.js [modify] http://crrev.com/db2ba190dba6983b94eae36e111b0feebb97587e/src/collection.js [modify] http://crrev.com/db2ba190dba6983b94eae36e111b0feebb97587e/src/compiler/linkage.cc [modify] http://crrev.com/db2ba190dba6983b94eae36e111b0feebb97587e/src/full-codegen/arm/full-codegen-arm.cc [modify] http://crrev.com/db2ba190dba6983b94eae36e111b0feebb97587e/src/full-codegen/arm64/full-codegen-arm64.cc [modify] http://crrev.com/db2ba190dba6983b94eae36e111b0feebb97587e/src/full-codegen/full-codegen.h [modify] http://crrev.com/db2ba190dba6983b94eae36e111b0feebb97587e/src/full-codegen/ia32/full-codegen-ia32.cc [modify] http://crrev.com/db2ba190dba6983b94eae36e111b0feebb97587e/src/full-codegen/mips/full-codegen-mips.cc [modify] http://crrev.com/db2ba190dba6983b94eae36e111b0feebb97587e/src/full-codegen/mips64/full-codegen-mips64.cc [modify] http://crrev.com/db2ba190dba6983b94eae36e111b0feebb97587e/src/full-codegen/x64/full-codegen-x64.cc [modify] http://crrev.com/db2ba190dba6983b94eae36e111b0feebb97587e/src/harmony-array.js [modify] http://crrev.com/db2ba190dba6983b94eae36e111b0feebb97587e/src/harmony-typedarray.js [modify] http://crrev.com/db2ba190dba6983b94eae36e111b0feebb97587e/src/hydrogen.cc [modify] http://crrev.com/db2ba190dba6983b94eae36e111b0feebb97587e/src/hydrogen.h [modify] http://crrev.com/db2ba190dba6983b94eae36e111b0feebb97587e/src/ia32/interface-descriptors-ia32.cc [modify] http://crrev.com/db2ba190dba6983b94eae36e111b0feebb97587e/src/interface-descriptors.cc [modify] http://crrev.com/db2ba190dba6983b94eae36e111b0feebb97587e/src/interface-descriptors.h [modify] http://crrev.com/db2ba190dba6983b94eae36e111b0feebb97587e/src/json.js [modify] http://crrev.com/db2ba190dba6983b94eae36e111b0feebb97587e/src/macros.py [modify] http://crrev.com/db2ba190dba6983b94eae36e111b0feebb97587e/src/mips/interface-descriptors-mips.cc [modify] http://crrev.com/db2ba190dba6983b94eae36e111b0feebb97587e/src/mips64/interface-descriptors-mips64.cc [modify] http://crrev.com/db2ba190dba6983b94eae36e111b0feebb97587e/src/object-observe.js [modify] http://crrev.com/db2ba190dba6983b94eae36e111b0feebb97587e/src/promise.js [modify] http://crrev.com/db2ba190dba6983b94eae36e111b0feebb97587e/src/runtime.js [modify] http://crrev.com/db2ba190dba6983b94eae36e111b0feebb97587e/src/runtime/runtime-function.cc [modify] http://crrev.com/db2ba190dba6983b94eae36e111b0feebb97587e/src/runtime/runtime.h [modify] http://crrev.com/db2ba190dba6983b94eae36e111b0feebb97587e/src/string.js [modify] http://crrev.com/db2ba190dba6983b94eae36e111b0feebb97587e/src/typedarray.js [modify] http://crrev.com/db2ba190dba6983b94eae36e111b0feebb97587e/src/weak-collection.js [modify] http://crrev.com/db2ba190dba6983b94eae36e111b0feebb97587e/src/x64/interface-descriptors-x64.cc [modify] http://crrev.com/db2ba190dba6983b94eae36e111b0feebb97587e/test/mjsunit/debug-liveedit-check-stack.js [modify] http://crrev.com/db2ba190dba6983b94eae36e111b0feebb97587e/test/mjsunit/harmony/proxies-function.js [modify] http://crrev.com/db2ba190dba6983b94eae36e111b0feebb97587e/test/mjsunit/strong/function-arity.js


--
You received this message because this project is configured to send all issue notifications to this address.
You may adjust your notification preferences at:
https://code.google.com/hosting/settings

--
--
v8-dev mailing list
v8-dev@googlegroups.com
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 v8-dev+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to