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

Side by Side Diff: src/type-feedback-vector.h

Issue 2182103002: [KeyedLoadIC] Support Smi "handlers" for simple field loads (Closed) Base URL: https://chromium.googlesource.com/v8/v8.git@master
Patch Set: rebased Created 4 years, 4 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 unified diff | Download patch
« no previous file with comments | « src/ic/ic-compiler.cc ('k') | src/type-feedback-vector.cc » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright 2014 the V8 project authors. All rights reserved. 1 // Copyright 2014 the V8 project authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #ifndef V8_TYPE_FEEDBACK_VECTOR_H_ 5 #ifndef V8_TYPE_FEEDBACK_VECTOR_H_
6 #define V8_TYPE_FEEDBACK_VECTOR_H_ 6 #define V8_TYPE_FEEDBACK_VECTOR_H_
7 7
8 #include <vector> 8 #include <vector>
9 9
10 #include "src/base/logging.h" 10 #include "src/base/logging.h"
(...skipping 539 matching lines...) Expand 10 before | Expand all | Expand 10 after
550 } 550 }
551 KeyedLoadICNexus(TypeFeedbackVector* vector, FeedbackVectorSlot slot) 551 KeyedLoadICNexus(TypeFeedbackVector* vector, FeedbackVectorSlot slot)
552 : FeedbackNexus(vector, slot) { 552 : FeedbackNexus(vector, slot) {
553 DCHECK_EQ(FeedbackVectorSlotKind::KEYED_LOAD_IC, vector->GetKind(slot)); 553 DCHECK_EQ(FeedbackVectorSlotKind::KEYED_LOAD_IC, vector->GetKind(slot));
554 } 554 }
555 555
556 void Clear(Code* host); 556 void Clear(Code* host);
557 557
558 // name can be a null handle for element loads. 558 // name can be a null handle for element loads.
559 void ConfigureMonomorphic(Handle<Name> name, Handle<Map> receiver_map, 559 void ConfigureMonomorphic(Handle<Name> name, Handle<Map> receiver_map,
560 Handle<Code> handler); 560 Handle<Object> handler);
561 // name can be null. 561 // name can be null.
562 void ConfigurePolymorphic(Handle<Name> name, MapHandleList* maps, 562 void ConfigurePolymorphic(Handle<Name> name, MapHandleList* maps,
563 List<Handle<Object>>* handlers); 563 List<Handle<Object>>* handlers);
564 564
565 void ConfigureMegamorphicKeyed(IcCheckType property_type); 565 void ConfigureMegamorphicKeyed(IcCheckType property_type);
566 566
567 IcCheckType GetKeyType() const; 567 IcCheckType GetKeyType() const;
568 InlineCacheState StateFromFeedback() const override; 568 InlineCacheState StateFromFeedback() const override;
569 Name* FindFirstName() const override; 569 Name* FindFirstName() const override;
570 }; 570 };
(...skipping 56 matching lines...) Expand 10 before | Expand all | Expand 10 after
627 KeyedAccessStoreMode GetKeyedAccessStoreMode() const; 627 KeyedAccessStoreMode GetKeyedAccessStoreMode() const;
628 IcCheckType GetKeyType() const; 628 IcCheckType GetKeyType() const;
629 629
630 InlineCacheState StateFromFeedback() const override; 630 InlineCacheState StateFromFeedback() const override;
631 Name* FindFirstName() const override; 631 Name* FindFirstName() const override;
632 }; 632 };
633 } // namespace internal 633 } // namespace internal
634 } // namespace v8 634 } // namespace v8
635 635
636 #endif // V8_TRANSITIONS_H_ 636 #endif // V8_TRANSITIONS_H_
OLDNEW
« no previous file with comments | « src/ic/ic-compiler.cc ('k') | src/type-feedback-vector.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698