Fix inlining of strict mode constructors.
authormstarzinger@chromium.org <mstarzinger@chromium.org@ce2b1a6d-e550-0410-aec6-3dcde31c8c00>
Mon, 5 Mar 2012 12:46:50 +0000 (12:46 +0000)
committermstarzinger@chromium.org <mstarzinger@chromium.org@ce2b1a6d-e550-0410-aec6-3dcde31c8c00>
Mon, 5 Mar 2012 12:46:50 +0000 (12:46 +0000)
commit240e818f0cd8b4471611d07b5f85bca0c008db48
tree7cb677a5b90461e81dac8cec127babdfbfc66262
parent98b12bc0857e3928bdf8e2b5c8d3cac09dd6bb89
Fix inlining of strict mode constructors.

Inlined strict mode functions (that are not called as methods) will get
their receiver reset to undefined. This should not happen when inlining
constructors.

This change also simplifies the test suite to reuse the same closures
into which constructors get inlined and use gc() to force V8 to forget
collected type feedback.

R=vegorov@chromium.org
TEST=mjsunit/compiler/inline-construct

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10920 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
src/hydrogen.cc
test/mjsunit/compiler/inline-construct.js