Reapply change to Pass undefined to JS builtins when called with
authorager@chromium.org <ager@chromium.org@ce2b1a6d-e550-0410-aec6-3dcde31c8c00>
Mon, 30 May 2011 13:49:22 +0000 (13:49 +0000)
committerager@chromium.org <ager@chromium.org@ce2b1a6d-e550-0410-aec6-3dcde31c8c00>
Mon, 30 May 2011 13:49:22 +0000 (13:49 +0000)
commit017935408d82520c9c6e48962e1dee4b07084adb
tree990f9ab570a82d1df45ba64ad961052363fa8504
parentcc4a2d7e768cd51fdf2b9aab14d00211a5cb35cd
Reapply change to Pass undefined to JS builtins when called with
implicit receiver.

A couple of corner cases have to be treated specially to not break
everything: eval and getter/setter definitions.

R=fschneider@chromium.org
BUG=v8:1365
TEST=mjsunit/regress/regress-1365.js

Review URL: http://codereview.chromium.org/7085034

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8110 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
27 files changed:
src/arm/builtins-arm.cc
src/arm/full-codegen-arm.cc
src/arm/lithium-codegen-arm.cc
src/compiler.cc
src/compiler.h
src/handles.cc
src/heap.cc
src/hydrogen.cc
src/ia32/builtins-ia32.cc
src/ia32/full-codegen-ia32.cc
src/ia32/lithium-codegen-ia32.cc
src/mips/builtins-mips.cc
src/objects-inl.h
src/objects.h
src/runtime.cc
src/runtime.h
src/v8natives.js
src/x64/builtins-x64.cc
src/x64/full-codegen-x64.cc
src/x64/lithium-codegen-x64.cc
test/cctest/test-api.cc
test/mjsunit/regress/regress-1170.js
test/mjsunit/regress/regress-124.js
test/mjsunit/regress/regress-1365.js [new file with mode: 0644]
test/mjsunit/regress/regress-485.js
test/mozilla/mozilla.status
test/sputnik/sputnik.status