Reviewers: Benedikt Meurer,

Message:
PTAL.

Description:
[turbofan] Fix type feedback for JSStoreNamed

And delete remnants of non-vectorized LoadICs from the type feedback oracle

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

Base URL: https://chromium.googlesource.com/v8/v8.git@master

Affected files (+1, -28 lines):
  M src/compiler/js-type-feedback.cc
  M src/type-info.h
  M src/type-info.cc


Index: src/compiler/js-type-feedback.cc
diff --git a/src/compiler/js-type-feedback.cc b/src/compiler/js-type-feedback.cc index 0c07656d68ff4a1ff8e999ddb58a8a65c911c01c..193feb61dedffdbfd945003b8ba63fc058da769b 100644
--- a/src/compiler/js-type-feedback.cc
+++ b/src/compiler/js-type-feedback.cc
@@ -283,7 +283,7 @@ Reduction JSTypeFeedbackSpecializer::ReduceJSStoreNamed(Node* node) {
     // TODO(titzer): no feedback from vector ICs from stores.
     return NoChange();
   } else {
-    oracle()->PropertyReceiverTypes(id, name, &maps);
+    oracle()->AssignmentReceiverTypes(id, name, &maps);
   }

   Node* receiver = node->InputAt(0);
Index: src/type-info.cc
diff --git a/src/type-info.cc b/src/type-info.cc
index 4ad66f85573e78786bb0716be81550146bdd627a..6705c05fc69fb214efe98481b5151a134c1ca7ae 100644
--- a/src/type-info.cc
+++ b/src/type-info.cc
@@ -317,15 +317,6 @@ Type* TypeFeedbackOracle::CountType(TypeFeedbackId id) {
 }


-void TypeFeedbackOracle::PropertyReceiverTypes(TypeFeedbackId id,
-                                               Handle<Name> name,
- SmallMapList* receiver_types) {
-  receiver_types->Clear();
-  Code::Flags flags = Code::ComputeHandlerFlags(Code::LOAD_IC);
-  CollectReceiverTypes(id, name, flags, receiver_types);
-}
-
-
 bool TypeFeedbackOracle::HasOnlyStringMaps(SmallMapList* receiver_types) {
   bool all_strings = receiver_types->length() > 0;
   for (int i = 0; i < receiver_types->length(); i++) {
@@ -335,18 +326,6 @@ bool TypeFeedbackOracle::HasOnlyStringMaps(SmallMapList* receiver_types) {
 }


-void TypeFeedbackOracle::KeyedPropertyReceiverTypes(
-    TypeFeedbackId id,
-    SmallMapList* receiver_types,
-    bool* is_string,
-    IcCheckType* key_type) {
-  receiver_types->Clear();
-  CollectReceiverTypes(id, receiver_types);
-  *is_string = HasOnlyStringMaps(receiver_types);
-  GetLoadKeyType(id, key_type);
-}
-
-
 void TypeFeedbackOracle::PropertyReceiverTypes(FeedbackVectorICSlot slot,
                                                Handle<Name> name,
SmallMapList* receiver_types) {
Index: src/type-info.h
diff --git a/src/type-info.h b/src/type-info.h
index 76a45dc84770d9972f416dc6f4dec2b207c2e6ff..58a40cf34b56a501dbb4c323aeac9f856f7d9c7d 100644
--- a/src/type-info.h
+++ b/src/type-info.h
@@ -42,14 +42,8 @@ class TypeFeedbackOracle: public ZoneObject {
                               IcCheckType* key_type);
   void GetLoadKeyType(TypeFeedbackId id, IcCheckType* key_type);

-  void PropertyReceiverTypes(TypeFeedbackId id, Handle<Name> name,
-                             SmallMapList* receiver_types);
   void PropertyReceiverTypes(FeedbackVectorICSlot slot, Handle<Name> name,
                              SmallMapList* receiver_types);
-  void KeyedPropertyReceiverTypes(TypeFeedbackId id,
-                                  SmallMapList* receiver_types,
-                                  bool* is_string,
-                                  IcCheckType* key_type);
   void KeyedPropertyReceiverTypes(FeedbackVectorICSlot slot,
SmallMapList* receiver_types, bool* is_string,
                                   IcCheckType* key_type);


--
--
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