Reviewers: danno,

Message:
Hi Danno, this CL breaks the Webkit heap snapshot tests, by exposing an array
without any (apparent) roots. I'll follow up on it soon. Thanks,
--Michael

Description:
Revert "Calls to HCheckFunction can be eliminated if the value is an HConstant"

This reverts commit 3f96122cc572f7a0b638c30f65328c3cb3666795.

BUG=

Please review this at https://codereview.chromium.org/18998003/

SVN Base: https://v8.googlecode.com/svn/branches/bleeding_edge

Affected files:
  M src/hydrogen-instructions.h
  M src/hydrogen-instructions.cc
  M src/objects.cc


Index: src/hydrogen-instructions.cc
diff --git a/src/hydrogen-instructions.cc b/src/hydrogen-instructions.cc
index 5ba4298c229b6726d7041a51778f7b2de0211da0..e837af1ab932a81d8d6abc60d954ef1de197b45c 100644
--- a/src/hydrogen-instructions.cc
+++ b/src/hydrogen-instructions.cc
@@ -1690,14 +1690,6 @@ void HCheckFunction::PrintDataTo(StringStream* stream) {
 }


-HValue* HCheckFunction::Canonicalize() {
-  return (value()->IsConstant() &&
-          HConstant::cast(value())->UniqueValueIdsMatch(target_unique_id_))
-      ? NULL
-      : this;
-}
-
-
 const char* HCheckInstanceType::GetCheckName() {
   switch (check_) {
     case IS_SPEC_OBJECT: return "object";
Index: src/hydrogen-instructions.h
diff --git a/src/hydrogen-instructions.h b/src/hydrogen-instructions.h
index 9e8ba7665478e427be342b85716f47a39de86efb..ac7fc63a7d28f13437434d954c2fd04acecf4fc7 100644
--- a/src/hydrogen-instructions.h
+++ b/src/hydrogen-instructions.h
@@ -2838,8 +2838,6 @@ class HCheckFunction: public HUnaryOperation {
   virtual void PrintDataTo(StringStream* stream);
   virtual HType CalculateInferredType();

-  virtual HValue* Canonicalize();
-
 #ifdef DEBUG
   virtual void Verify();
 #endif
@@ -3413,11 +3411,6 @@ class HConstant: public HTemplateInstruction<0> {
     }
   }

-  bool UniqueValueIdsMatch(UniqueValueId other) {
-    if (!has_double_value_) return unique_id_ == other;
-    return false;
-  }
-
 #ifdef DEBUG
   virtual void Verify() { }
 #endif
Index: src/objects.cc
diff --git a/src/objects.cc b/src/objects.cc
index 3a60a322a139ad3c495423cb05ca4581bd3662f3..df042a186424e8cb156074555fdfe3046b910c56 100644
--- a/src/objects.cc
+++ b/src/objects.cc
@@ -15821,8 +15821,7 @@ Type* PropertyCell::UpdateType(Handle<PropertyCell> cell,
                                Handle<Object> value) {
   Isolate* isolate = cell->GetIsolate();
   Handle<Type> old_type(cell->type(), isolate);
-  Handle<Type> new_type((value->IsSmi() || value->IsJSFunction() ||
-                         value->IsUndefined())
+  Handle<Type> new_type((value->IsSmi() || value->IsUndefined())
                         ? Type::Constant(value, isolate)
                         : Type::Any(), isolate);



--
--
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/groups/opt_out.


Reply via email to