Fix materialization of arguments objects with unknown values.
authormstarzinger@chromium.org <mstarzinger@chromium.org@ce2b1a6d-e550-0410-aec6-3dcde31c8c00>
Wed, 27 Feb 2013 14:37:51 +0000 (14:37 +0000)
committermstarzinger@chromium.org <mstarzinger@chromium.org@ce2b1a6d-e550-0410-aec6-3dcde31c8c00>
Wed, 27 Feb 2013 14:37:51 +0000 (14:37 +0000)
commitea5e9edac4914e05f48011fa69f9d3ebb161dbaf
tree379392274bec6437bcbae44be63983ab895dcffe
parent714567139288954e861dd1c6e2a81b454b53b1ed
Fix materialization of arguments objects with unknown values.

This fixes the deoptimizer to materialize arguments objects of correct
length even in cases where the actual argument values are unknown and
were optimized away by Crankshaft. This can happen if only the length
property or the identity of an arguments object is used.

R=svenpanne@chromium.org
BUG=chromium:163530
TEST=mjsunit/regress/regress-crbug-163530

Review URL: https://codereview.chromium.org/12335132

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13763 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
src/arm/lithium-codegen-arm.cc
src/arm/lithium-codegen-arm.h
src/deoptimizer.cc
src/deoptimizer.h
src/ia32/lithium-codegen-ia32.cc
src/ia32/lithium-codegen-ia32.h
src/objects.cc
src/x64/lithium-codegen-x64.cc
src/x64/lithium-codegen-x64.h
test/mjsunit/regress/regress-crbug-163530.js [new file with mode: 0644]