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

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

Issue 767743002: Hydrogen code stubs for vector-based ICs. (Closed) Base URL: https://chromium.googlesource.com/v8/v8.git@master
Patch Set: Rebase. Created 6 years 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/mips64/lithium-mips64.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/checks.h" 10 #include "src/checks.h"
(...skipping 330 matching lines...) Expand 10 before | Expand all | Expand 10 after
341 : FeedbackNexus(vector, slot) { 341 : FeedbackNexus(vector, slot) {
342 DCHECK(vector->GetKind(slot) == Code::KEYED_LOAD_IC); 342 DCHECK(vector->GetKind(slot) == Code::KEYED_LOAD_IC);
343 } 343 }
344 KeyedLoadICNexus(TypeFeedbackVector* vector, FeedbackVectorICSlot slot) 344 KeyedLoadICNexus(TypeFeedbackVector* vector, FeedbackVectorICSlot slot)
345 : FeedbackNexus(vector, slot) { 345 : FeedbackNexus(vector, slot) {
346 DCHECK(vector->GetKind(slot) == Code::KEYED_LOAD_IC); 346 DCHECK(vector->GetKind(slot) == Code::KEYED_LOAD_IC);
347 } 347 }
348 348
349 void Clear(Code* host); 349 void Clear(Code* host);
350 350
351 void ConfigureMegamorphic();
352 void ConfigureGeneric(); 351 void ConfigureGeneric();
353 void ConfigurePremonomorphic(); 352 void ConfigurePremonomorphic();
354 // name can be a null handle for element loads. 353 // name can be a null handle for element loads.
355 void ConfigureMonomorphic(Handle<Name> name, Handle<HeapType> type, 354 void ConfigureMonomorphic(Handle<Name> name, Handle<HeapType> type,
356 Handle<Code> handler); 355 Handle<Code> handler);
357 // name can be null. 356 // name can be null.
358 void ConfigurePolymorphic(Handle<Name> name, TypeHandleList* types, 357 void ConfigurePolymorphic(Handle<Name> name, TypeHandleList* types,
359 CodeHandleList* handlers); 358 CodeHandleList* handlers);
360 359
361 InlineCacheState StateFromFeedback() const OVERRIDE; 360 InlineCacheState StateFromFeedback() const OVERRIDE;
362 int ExtractMaps(MapHandleList* maps) const OVERRIDE; 361 int ExtractMaps(MapHandleList* maps) const OVERRIDE;
363 MaybeHandle<Code> FindHandlerForMap(Handle<Map> map) const OVERRIDE; 362 MaybeHandle<Code> FindHandlerForMap(Handle<Map> map) const OVERRIDE;
364 virtual bool FindHandlers(CodeHandleList* code_list, 363 virtual bool FindHandlers(CodeHandleList* code_list,
365 int length = -1) const OVERRIDE; 364 int length = -1) const OVERRIDE;
366 Name* FindFirstName() const OVERRIDE; 365 Name* FindFirstName() const OVERRIDE;
367 }; 366 };
368 } 367 }
369 } // namespace v8::internal 368 } // namespace v8::internal
370 369
371 #endif // V8_TRANSITIONS_H_ 370 #endif // V8_TRANSITIONS_H_
OLDNEW
« no previous file with comments | « src/mips64/lithium-mips64.cc ('k') | src/type-feedback-vector.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698