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.