Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(397)

Unified Diff: src/hydrogen-instructions.h

Issue 141653009: Check elimination improvement: propagation of state through phis is supported, CheckMap narrowing i… (Closed) Base URL: https://v8.googlecode.com/svn/branches/bleeding_edge
Patch Set: Created 6 years, 11 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: src/hydrogen-instructions.h
diff --git a/src/hydrogen-instructions.h b/src/hydrogen-instructions.h
index fe701aeca6a11471ccdc35c48a4e89ba0ccd73f5..6a4778c7067ed761cb1dd2ddd8564b2ce4106e0c 100644
--- a/src/hydrogen-instructions.h
+++ b/src/hydrogen-instructions.h
@@ -2790,6 +2790,15 @@ class HCheckMaps V8_FINAL : public HTemplateInstruction<2> {
}
return check_map;
}
+ static HCheckMaps* New(Zone* zone, HValue* context,
+ HValue* value, UniqueSet<Map>* maps,
+ HValue *typecheck = NULL) {
+ HCheckMaps* check_map = new(zone) HCheckMaps(value, zone, typecheck);
+ for (int i = 0; i < maps->size(); i++) {
+ check_map->Add(maps->at(i).handle(), zone);
+ }
+ return check_map;
+ }
bool CanOmitMapChecks() { return omit_; }
@@ -2802,6 +2811,7 @@ class HCheckMaps V8_FINAL : public HTemplateInstruction<2> {
virtual void PrintDataTo(StringStream* stream) V8_OVERRIDE;
HValue* value() { return OperandAt(0); }
+ HValue* typecheck() { return OperandAt(1); }
Unique<Map> first_map() const { return map_set_.at(0); }
UniqueSet<Map> map_set() const { return map_set_; }

Powered by Google App Engine
This is Rietveld 408576698