Fix the hole loading optimization.
authorverwaest@chromium.org <verwaest@chromium.org@ce2b1a6d-e550-0410-aec6-3dcde31c8c00>
Mon, 27 May 2013 17:33:14 +0000 (17:33 +0000)
committerverwaest@chromium.org <verwaest@chromium.org@ce2b1a6d-e550-0410-aec6-3dcde31c8c00>
Mon, 27 May 2013 17:33:14 +0000 (17:33 +0000)
commitaa2444269bbb535be51b34d245f923b493abf617
tree33d579d0df96035e988ece0c9a7b81b8c3761751
parentdd542a2beda9be29d0c915dfc6cd7084fecf7cb8
Fix the hole loading optimization.
- Holes are only ever loaded as double or tagged.
- Change to tagged has to deoptimize on undefined (no implicit
  conversions from double the hole NaN -> tagged undefined).

BUG=
R=jkummerow@chromium.org

Review URL: https://chromiumcodereview.appspot.com/16099006

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14829 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
src/arm/lithium-codegen-arm.cc
src/hydrogen-instructions.cc
src/hydrogen-instructions.h
src/hydrogen.cc
src/ia32/lithium-codegen-ia32.cc
src/lithium.h
src/x64/lithium-codegen-x64.cc
test/mjsunit/regress/regress-convert-hole.js [new file with mode: 0644]