Revision: 21033
Author:   [email protected]
Date:     Tue Apr 29 04:59:37 2014 UTC
Log:      Remove invalid HCheckValue case in check elimination.

Also eliminate a useless copy of the map set in case of
HCheckMaps.

[email protected]

Review URL: https://codereview.chromium.org/256593011
http://code.google.com/p/v8/source/detail?r=21033

Modified:
 /branches/bleeding_edge/src/hydrogen-check-elimination.cc

=======================================
--- /branches/bleeding_edge/src/hydrogen-check-elimination.cc Tue Apr 22 07:24:05 2014 UTC +++ /branches/bleeding_edge/src/hydrogen-check-elimination.cc Tue Apr 29 04:59:37 2014 UTC
@@ -72,10 +72,6 @@
         ReduceCheckMaps(HCheckMaps::cast(instr));
         break;
       }
-      case HValue::kCheckValue: {
-        ReduceCheckValue(HCheckValue::cast(instr));
-        break;
-      }
       case HValue::kLoadNamedField: {
         ReduceLoadNamedField(HLoadNamedField::cast(instr));
         break;
@@ -305,7 +301,7 @@
     if (entry != NULL) {
       // entry found;
       MapSet a = entry->maps_;
-      MapSet i = instr->map_set()->Copy(phase_->zone());
+      const UniqueSet<Map>* i = instr->map_set();
       if (a->IsSubset(i)) {
         // The first check is more strict; the second is redundant.
         if (entry->check_ != NULL) {
@@ -367,18 +363,6 @@
       Insert(object, instr, instr->map_set()->Copy(phase_->zone()));
     }
   }
-
-  void ReduceCheckValue(HCheckValue* instr) {
- // Canonicalize HCheckValues; they might have their values load-eliminated.
-    HValue* value = instr->Canonicalize();
-    if (value == NULL) {
-      instr->DeleteAndReplaceWith(instr->value());
-      INC_STAT(removed_);
-    } else if (value != instr) {
-      instr->DeleteAndReplaceWith(value);
-      INC_STAT(redundant_);
-    }
-  }

   void ReduceLoadNamedField(HLoadNamedField* instr) {
     // Reduce a load of the map field when it is known to be a constant.

--
--
v8-dev mailing list
[email protected]
http://groups.google.com/group/v8-dev
--- You received this message because you are subscribed to the Google Groups "v8-dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
For more options, visit https://groups.google.com/d/optout.

Reply via email to