Revision: 13491
Author: [email protected]
Date: Thu Jan 24 04:35:56 2013
Log: Fix map check removal issue in r13488.
The removal of HCheckMaps is invalid when the instruction has a virtual
usage, which can happen e.g. for HLoadElements or HJSArrayLength.
[email protected]
TEST=webkit:fast/js/regress/Float32Array-matrix-mult.html
Review URL: https://codereview.chromium.org/12033073
http://code.google.com/p/v8/source/detail?r=13491
Modified:
/branches/bleeding_edge/src/hydrogen-instructions.cc
=======================================
--- /branches/bleeding_edge/src/hydrogen-instructions.cc Thu Jan 24
01:10:06 2013
+++ /branches/bleeding_edge/src/hydrogen-instructions.cc Thu Jan 24
04:35:56 2013
@@ -1173,7 +1173,7 @@
// TODO(mstarzinger): For now we specialize on HStoreNamedField, but once
// type information is rich enough we should generalize this to any HType
// for which the map is known.
- if (dominator->IsStoreNamedField()) {
+ if (HasNoUses() && dominator->IsStoreNamedField()) {
HStoreNamedField* store = HStoreNamedField::cast(dominator);
Handle<Map> map = store->transition();
if (map.is_null() || store->object() != value()) return;
--
--
v8-dev mailing list
[email protected]
http://groups.google.com/group/v8-dev