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

Reply via email to