OLD | NEW |
1 // Copyright 2012 the V8 project authors. All rights reserved. | 1 // Copyright 2012 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_IC_H_ | 5 #ifndef V8_IC_H_ |
6 #define V8_IC_H_ | 6 #define V8_IC_H_ |
7 | 7 |
8 #include "src/ic/ic-state.h" | 8 #include "src/ic/ic-state.h" |
9 #include "src/macro-assembler.h" | 9 #include "src/macro-assembler.h" |
10 #include "src/messages.h" | 10 #include "src/messages.h" |
(...skipping 433 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
444 MUST_USE_RESULT MaybeHandle<Object> Store(Handle<Object> object, | 444 MUST_USE_RESULT MaybeHandle<Object> Store(Handle<Object> object, |
445 Handle<Object> name, | 445 Handle<Object> name, |
446 Handle<Object> value); | 446 Handle<Object> value); |
447 | 447 |
448 // Code generators for stub routines. Only called once at startup. | 448 // Code generators for stub routines. Only called once at startup. |
449 static void GenerateMiss(MacroAssembler* masm); | 449 static void GenerateMiss(MacroAssembler* masm); |
450 static void GenerateSlow(MacroAssembler* masm); | 450 static void GenerateSlow(MacroAssembler* masm); |
451 static void GenerateMegamorphic(MacroAssembler* masm, | 451 static void GenerateMegamorphic(MacroAssembler* masm, |
452 LanguageMode language_mode); | 452 LanguageMode language_mode); |
453 | 453 |
454 static Handle<Code> ChooseMegamorphicStub(Isolate* isolate, | |
455 ExtraICState extra_state); | |
456 | |
457 static void Clear(Isolate* isolate, Code* host, KeyedStoreICNexus* nexus); | 454 static void Clear(Isolate* isolate, Code* host, KeyedStoreICNexus* nexus); |
458 | 455 |
459 protected: | 456 protected: |
460 void UpdateStoreElement(Handle<Map> receiver_map, | 457 void UpdateStoreElement(Handle<Map> receiver_map, |
461 KeyedAccessStoreMode store_mode); | 458 KeyedAccessStoreMode store_mode); |
462 | 459 |
463 private: | 460 private: |
464 Handle<Map> ComputeTransitionedMap(Handle<Map> map, | 461 Handle<Map> ComputeTransitionedMap(Handle<Map> map, |
465 KeyedAccessStoreMode store_mode); | 462 KeyedAccessStoreMode store_mode); |
466 | 463 |
(...skipping 50 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
517 | 514 |
518 // Helper for BinaryOpIC and CompareIC. | 515 // Helper for BinaryOpIC and CompareIC. |
519 enum InlinedSmiCheck { ENABLE_INLINED_SMI_CHECK, DISABLE_INLINED_SMI_CHECK }; | 516 enum InlinedSmiCheck { ENABLE_INLINED_SMI_CHECK, DISABLE_INLINED_SMI_CHECK }; |
520 void PatchInlinedSmiCode(Isolate* isolate, Address address, | 517 void PatchInlinedSmiCode(Isolate* isolate, Address address, |
521 InlinedSmiCheck check); | 518 InlinedSmiCheck check); |
522 | 519 |
523 } // namespace internal | 520 } // namespace internal |
524 } // namespace v8 | 521 } // namespace v8 |
525 | 522 |
526 #endif // V8_IC_H_ | 523 #endif // V8_IC_H_ |
OLD | NEW |