Home | History | Annotate | Download | only in src

Lines Matching refs:IC

51   /* Utilities for IC stubs. */                       \
64 // IC is the base class for LoadIC, StoreIC, CallIC, KeyedLoadIC,
67 class IC {
80 // Alias the inline cache state type to make the IC code more readable.
83 // The IC code is either invoked with no extra frames on the stack
90 // Construct the IC structure with the given number of extra
92 IC(FrameDepth depth, Isolate* isolate);
93 virtual ~IC() {}
98 // Compute the current IC state based on the target stub, receiver and name.
107 // Computes the reloc info for this IC. This is a fairly expensive
109 // object that contains this IC site.
112 // Returns if this IC is for contextual (no explicit receiver)
145 // since loading the IC for loading the length from strings are stored on
193 char TransitionMarkFromState(IC::State state);
203 // Access the target code for the given IC address.
263 // Frame pointer for the frame that uses (calls) the IC.
266 // All access to the program counter of an IC structure is indirect
279 DISALLOW_IMPLICIT_CONSTRUCTORS(IC);
283 // An IC_Utility encapsulates IC::UtilityId. It exists mainly because you
287 explicit IC_Utility(IC::UtilityId id)
288 : address_(IC::AddressFromUtilityId(id)), id_(id) {}
292 IC::UtilityId id() const { return id_; }
295 IC::UtilityId id_;
299 class CallICBase: public IC {
315 : IC(EXTRA_CALL_FRAME, isolate), kind_(kind) {}
341 IC::UtilityId id,
356 friend class IC;
378 CallICBase::GenerateMiss(masm, argc, IC::kCallIC_Miss, extra_state);
415 CallICBase::GenerateMiss(masm, argc, IC::kKeyedCallIC_Miss,
425 class LoadIC: public IC {
427 explicit LoadIC(FrameDepth depth, Isolate* isolate) : IC(depth, isolate) {
488 friend class IC;
561 friend class IC;
565 class StoreIC: public IC {
578 // IC state.
583 : IC(depth, isolate),
663 // Strict mode must be preserved across IC patching.
666 IC::set_target(code);
682 friend class IC;
700 // ExtraICState bits (building on IC)
773 // Strict mode must be preserved across IC patching.
775 IC::set_target(code);
809 friend class IC;
817 class BinaryOpIC: public IC {
917 explicit BinaryOpIC(Isolate* isolate) : IC(EXTRA_CALL_FRAME, isolate) { }
926 class CompareIC: public IC {
960 : IC(EXTRA_CALL_FRAME, isolate), op_(op) { }
993 friend class IC;
997 class CompareNilIC: public IC {
999 explicit CompareNilIC(Isolate* isolate) : IC(EXTRA_CALL_FRAME, isolate) {}
1012 class ToBooleanIC: public IC {
1014 explicit ToBooleanIC(Isolate* isolate) : IC(EXTRA_CALL_FRAME, isolate) { }