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

Side by Side Diff: src/ic/ic.h

Issue 2670863003: [stubs] Port KeyedStoreIC_Slow/Miss and StoreSlowElementStub to TF. (Closed)
Patch Set: Created 3 years, 10 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/ia32/ic-ia32.cc ('k') | src/ic/ic-compiler.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 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 414 matching lines...) Expand 10 before | Expand all | Expand 10 after
425 } 425 }
426 426
427 KeyedStoreIC(FrameDepth depth, Isolate* isolate, 427 KeyedStoreIC(FrameDepth depth, Isolate* isolate,
428 KeyedStoreICNexus* nexus = NULL) 428 KeyedStoreICNexus* nexus = NULL)
429 : StoreIC(depth, isolate, nexus) {} 429 : StoreIC(depth, isolate, nexus) {}
430 430
431 MUST_USE_RESULT MaybeHandle<Object> Store(Handle<Object> object, 431 MUST_USE_RESULT MaybeHandle<Object> Store(Handle<Object> object,
432 Handle<Object> name, 432 Handle<Object> name,
433 Handle<Object> value); 433 Handle<Object> value);
434 434
435 // Code generators for stub routines. Only called once at startup.
436 static void GenerateMiss(MacroAssembler* masm);
437 static void GenerateSlow(MacroAssembler* masm);
438 static void GenerateMegamorphic(MacroAssembler* masm,
439 LanguageMode language_mode);
440
441 static void Clear(Isolate* isolate, Code* host, KeyedStoreICNexus* nexus); 435 static void Clear(Isolate* isolate, Code* host, KeyedStoreICNexus* nexus);
442 436
443 protected: 437 protected:
444 void UpdateStoreElement(Handle<Map> receiver_map, 438 void UpdateStoreElement(Handle<Map> receiver_map,
445 KeyedAccessStoreMode store_mode); 439 KeyedAccessStoreMode store_mode);
446 440
447 private: 441 private:
448 Handle<Map> ComputeTransitionedMap(Handle<Map> map, 442 Handle<Map> ComputeTransitionedMap(Handle<Map> map,
449 KeyedAccessStoreMode store_mode); 443 KeyedAccessStoreMode store_mode);
450 444
(...skipping 50 matching lines...) Expand 10 before | Expand all | Expand 10 after
501 495
502 // Helper for BinaryOpIC and CompareIC. 496 // Helper for BinaryOpIC and CompareIC.
503 enum InlinedSmiCheck { ENABLE_INLINED_SMI_CHECK, DISABLE_INLINED_SMI_CHECK }; 497 enum InlinedSmiCheck { ENABLE_INLINED_SMI_CHECK, DISABLE_INLINED_SMI_CHECK };
504 void PatchInlinedSmiCode(Isolate* isolate, Address address, 498 void PatchInlinedSmiCode(Isolate* isolate, Address address,
505 InlinedSmiCheck check); 499 InlinedSmiCheck check);
506 500
507 } // namespace internal 501 } // namespace internal
508 } // namespace v8 502 } // namespace v8
509 503
510 #endif // V8_IC_H_ 504 #endif // V8_IC_H_
OLDNEW
« no previous file with comments | « src/ic/ia32/ic-ia32.cc ('k') | src/ic/ic-compiler.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698