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.