Reviewers: Lasse Reichstein, Mads Ager, Message: In strict mode, "this" is passed unchanged through calls to Function.prototype.call and Function.prototype.apply.
There will be further change, to pass this unchanged through regular function call, outside of Function.prototype.call and Function.prototype.apply. Hopefully
coming soon. Thank you! Martin http://codereview.chromium.org/6524006/diff/1/src/x64/builtins-x64.cc File src/x64/builtins-x64.cc (right): http://codereview.chromium.org/6524006/diff/1/src/x64/builtins-x64.cc#newcode651 src/x64/builtins-x64.cc:651: // Compute the receiver in non-strict mode. Tricky ... on 64 bit the fields in SharedFunctionInfo are packed and every other is not smi. CompilerHints is one of them, so the mask is not shifted by (kStrictModeFunction + kSmiTagSize) as on arm and ia32. Description: Strict mode function entry. Function.call/Function.apply skip transformation of the thisArg when calling strict mode function. BUG= TEST=es5conform, test/mjsunit/strict-mode.js Please review this at http://codereview.chromium.org/6524006/ SVN Base: https://v8.googlecode.com/svn/branches/bleeding_edge Affected files: M src/arm/builtins-arm.cc M src/ia32/builtins-ia32.cc M src/objects.h M src/x64/builtins-x64.cc M test/es5conform/es5conform.status M test/mjsunit/strict-mode.js -- v8-dev mailing list [email protected] http://groups.google.com/group/v8-dev
