Home | History | Annotate | Download | only in src

Lines Matching refs:IC

52   /* Utilities for IC stubs. */                       \
65 // IC is the base class for LoadIC, StoreIC, CallIC, KeyedLoadIC,
68 class IC {
81 // Alias the inline cache state type to make the IC code more readable.
84 // The IC code is either invoked with no extra frames on the stack
91 // Construct the IC structure with the given number of extra
93 IC(FrameDepth depth, Isolate* isolate);
94 virtual ~IC() {}
102 // Compute the current IC state based on the target stub, receiver and name.
108 // Computes the reloc info for this IC. This is a fairly expensive
110 // object that contains this IC site.
113 // Returns if this IC is for contextual (no explicit receiver)
152 char TransitionMarkFromState(IC::State state);
165 // Access the target code for the given IC address.
171 // Frame pointer for the frame that uses (calls) the IC.
174 // All access to the program counter of an IC structure is indirect
182 DISALLOW_IMPLICIT_CONSTRUCTORS(IC);
186 // An IC_Utility encapsulates IC::UtilityId. It exists mainly because you
190 explicit IC_Utility(IC::UtilityId id)
191 : address_(IC::AddressFromUtilityId(id)), id_(id) {}
195 IC::UtilityId id() const { return id_; }
198 IC::UtilityId id_;
202 class CallICBase: public IC {
215 : IC(EXTRA_CALL_FRAME, isolate), kind_(kind) {}
249 IC::UtilityId id,
261 friend class IC;
281 CallICBase::GenerateMiss(masm, argc, IC::kCallIC_Miss, extra_state);
312 CallICBase::GenerateMiss(masm, argc, IC::kKeyedCallIC_Miss,
322 class LoadIC: public IC {
324 explicit LoadIC(Isolate* isolate) : IC(NO_EXTRA_FRAME, isolate) {
369 friend class IC;
373 class KeyedIC: public IC {
399 explicit KeyedIC(Isolate* isolate) : IC(NO_EXTRA_FRAME, isolate) {}
549 friend class IC;
553 class StoreIC: public IC {
555 explicit StoreIC(Isolate* isolate) : IC(NO_EXTRA_FRAME, isolate) {
586 // Strict mode must be preserved across IC patching.
589 IC::set_target(code);
618 friend class IC;
675 // Strict mode must be preserved across IC patching.
678 IC::set_target(code);
712 friend class IC;
716 class UnaryOpIC: public IC {
727 explicit UnaryOpIC(Isolate* isolate) : IC(NO_EXTRA_FRAME, isolate) { }
742 class BinaryOpIC: public IC {
755 explicit BinaryOpIC(Isolate* isolate) : IC(NO_EXTRA_FRAME, isolate) { }
769 class CompareIC: public IC {
783 : IC(EXTRA_CALL_FRAME, isolate), op_(op) { }
794 // Helper function for determining the state of a compare IC.
811 class ToBooleanIC: public IC {
813 explicit ToBooleanIC(Isolate* isolate) : IC(NO_EXTRA_FRAME, isolate) { }