Reviewers: Mads Ager, Søren Gjesse,
Message:
Hi Mads,
I think the code is ready for the first look. The assignment to undefined
global
doesn't appear to require crankshaft changes because the crankshaft will
deoptimize if deleted global is seen. I may very likely be missing something
there though.
Soren, I changed the way assignment to global is generated
(CODE_TARGET_CONTEXT
instead of CODE_TARGET). This triggered debugger test which I fixed but
changes
in the debugger may be needed, please let me know if/where I should look to
fix
debugger if needed.
Thanks!
Martin
Description:
Strict mode assignment to undefined reference.
Simple assignments (x = <value>) use CODE_TARGET_CONTEXT.
StoreIC stores its own strictness in extra_ic_state.
The strcitness is propagated as further ic stubs are generated.
BUG=
TEST=es5conform, test/mjsunit/strict-mode.js
Please review this at http://codereview.chromium.org/6474026/
SVN Base: https://v8.googlecode.com/svn/branches/bleeding_edge
Affected files:
M .gitignore
M src/arm/codegen-arm.cc
M src/arm/full-codegen-arm.cc
M src/arm/ic-arm.cc
M src/arm/lithium-codegen-arm.cc
M src/arm/virtual-frame-arm.h
M src/arm/virtual-frame-arm.cc
M src/assembler.h
M src/builtins.h
M src/builtins.cc
M src/compiler.h
M src/full-codegen.h
M src/ia32/codegen-ia32.cc
M src/ia32/full-codegen-ia32.cc
M src/ia32/ic-ia32.cc
M src/ia32/virtual-frame-ia32.h
M src/ia32/virtual-frame-ia32.cc
M src/ic.h
M src/ic.cc
M src/objects-inl.h
M src/objects.h
M src/objects.cc
M src/serialize.cc
M src/stub-cache.h
M src/stub-cache.cc
M src/x64/codegen-x64.cc
M src/x64/full-codegen-x64.cc
M src/x64/ic-x64.cc
M src/x64/virtual-frame-x64.h
M src/x64/virtual-frame-x64.cc
M test/cctest/test-debug.cc
M test/es5conform/es5conform.status
M test/mjsunit/strict-mode.js
M tools/v8.xcodeproj/project.pbxproj
--
v8-dev mailing list
[email protected]
http://groups.google.com/group/v8-dev