Reviewers: Toon Verwaest,
Description:
Refactor TypeFeedbackOracle to accept Handle<Name> instead of
Handle<String>.
[email protected]
BUG=
Please review this at https://codereview.chromium.org/979323005/
Base URL: https://chromium.googlesource.com/v8/v8.git@master
Affected files (+13, -15 lines):
M src/type-info.h
M src/type-info.cc
Index: src/type-info.cc
diff --git a/src/type-info.cc b/src/type-info.cc
index
51885d5efa82be9b8bc0964c1ef5553c09e6fda0..48d516019911b6aaffdba9fe9ce4204f82499dd0
100644
--- a/src/type-info.cc
+++ b/src/type-info.cc
@@ -313,7 +313,7 @@ Type* TypeFeedbackOracle::CountType(TypeFeedbackId id) {
void TypeFeedbackOracle::PropertyReceiverTypes(TypeFeedbackId id,
- Handle<String> name,
+ Handle<Name> name,
SmallMapList*
receiver_types) {
receiver_types->Clear();
Code::Flags flags = Code::ComputeHandlerFlags(Code::LOAD_IC);
@@ -343,7 +343,7 @@ void TypeFeedbackOracle::KeyedPropertyReceiverTypes(
void TypeFeedbackOracle::PropertyReceiverTypes(FeedbackVectorICSlot slot,
- Handle<String> name,
+ Handle<Name> name,
SmallMapList*
receiver_types) {
receiver_types->Clear();
LoadICNexus nexus(feedback_vector_, slot);
@@ -363,8 +363,9 @@ void TypeFeedbackOracle::KeyedPropertyReceiverTypes(
}
-void TypeFeedbackOracle::AssignmentReceiverTypes(
- TypeFeedbackId id, Handle<String> name, SmallMapList* receiver_types) {
+void TypeFeedbackOracle::AssignmentReceiverTypes(TypeFeedbackId id,
+ Handle<Name> name,
+ SmallMapList*
receiver_types) {
receiver_types->Clear();
Code::Flags flags = Code::ComputeHandlerFlags(Code::STORE_IC);
CollectReceiverTypes(id, name, flags, receiver_types);
@@ -388,7 +389,7 @@ void
TypeFeedbackOracle::CountReceiverTypes(TypeFeedbackId id,
void TypeFeedbackOracle::CollectReceiverTypes(TypeFeedbackId ast_id,
- Handle<String> name,
+ Handle<Name> name,
Code::Flags flags,
SmallMapList* types) {
Handle<Object> object = GetInfo(ast_id);
@@ -401,7 +402,7 @@ void
TypeFeedbackOracle::CollectReceiverTypes(TypeFeedbackId ast_id,
template <class T>
-void TypeFeedbackOracle::CollectReceiverTypes(T* obj, Handle<String> name,
+void TypeFeedbackOracle::CollectReceiverTypes(T* obj, Handle<Name> name,
Code::Flags flags,
SmallMapList* types) {
if (FLAG_collect_megamorphic_maps_from_stub_cache &&
Index: src/type-info.h
diff --git a/src/type-info.h b/src/type-info.h
index
65af76865e2b0cf7d0221d7d77c80f0c908cbc30..6866da2d1abb4eec433121777dec18cee63c859b
100644
--- a/src/type-info.h
+++ b/src/type-info.h
@@ -42,9 +42,9 @@ class TypeFeedbackOracle: public ZoneObject {
IcCheckType* key_type);
void GetLoadKeyType(TypeFeedbackId id, IcCheckType* key_type);
- void PropertyReceiverTypes(TypeFeedbackId id, Handle<String> name,
+ void PropertyReceiverTypes(TypeFeedbackId id, Handle<Name> name,
SmallMapList* receiver_types);
- void PropertyReceiverTypes(FeedbackVectorICSlot slot, Handle<String>
name,
+ void PropertyReceiverTypes(FeedbackVectorICSlot slot, Handle<Name> name,
SmallMapList* receiver_types);
void KeyedPropertyReceiverTypes(TypeFeedbackId id,
SmallMapList* receiver_types,
@@ -53,8 +53,7 @@ class TypeFeedbackOracle: public ZoneObject {
void KeyedPropertyReceiverTypes(FeedbackVectorICSlot slot,
SmallMapList* receiver_types, bool*
is_string,
IcCheckType* key_type);
- void AssignmentReceiverTypes(TypeFeedbackId id,
- Handle<String> name,
+ void AssignmentReceiverTypes(TypeFeedbackId id, Handle<Name> name,
SmallMapList* receiver_types);
void KeyedAssignmentReceiverTypes(TypeFeedbackId id,
SmallMapList* receiver_types,
@@ -104,12 +103,10 @@ class TypeFeedbackOracle: public ZoneObject {
Isolate* isolate() const { return isolate_; }
private:
- void CollectReceiverTypes(TypeFeedbackId id,
- Handle<String> name,
- Code::Flags flags,
- SmallMapList* types);
+ void CollectReceiverTypes(TypeFeedbackId id, Handle<Name> name,
+ Code::Flags flags, SmallMapList* types);
template <class T>
- void CollectReceiverTypes(T* obj, Handle<String> name, Code::Flags flags,
+ void CollectReceiverTypes(T* obj, Handle<Name> name, Code::Flags flags,
SmallMapList* types);
// Returns true if there is at least one string map and if
--
--
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.