Lines Matching defs:code
6 // * Redistributions of source code must retain the above copyright
38 // inline caching code. The argument for the macro, ICU, is the function name.
65 // The ids for utility called from the generated code.
76 // Alias the inline cache state type to make the IC code more readable.
79 // The IC code is either invoked with no extra frames on the stack
91 Code* target() { return GetTargetAtAddress(address()); }
95 static State StateFrom(Code* target, Object* receiver, Object* name);
101 // operation as it has to search through the heap to find the code
120 // Determines which map must be used for keeping the code stub.
135 // Computes the address in the original code when the code running is
141 void set_target(Code* code) { SetTargetAtAddress(address(), code); }
147 Code* new_target,
156 // Access the target code for the given IC address.
157 static inline Code* GetTargetAtAddress(Address address);
158 static inline void SetTargetAtAddress(Address address, Code* target);
165 // to make the code GC safe. This feature is crucial since
194 CallICBase(Code::Kind kind, Isolate* isolate)
199 Code::ExtraICState extra_ic_state,
204 Code::Kind kind_;
208 Code::ExtraICState* extra_ic_state);
213 Code::ExtraICState extra_ic_state,
221 Code::ExtraICState extra_ic_state,
232 static void Clear(Address address, Code* target);
239 explicit CallIC(Isolate* isolate) : CallICBase(Code::CALL_IC, isolate) {
243 // Code generator routines.
256 : CallICBase(Code::KEYED_CALL_IC, isolate) {
264 // Code generator routines.
284 // Code generator routines.
293 // Specialized code generator routines.
316 Code* megamorphic_stub() {
320 static Code* initialize_stub() {
324 Code* pre_monomorphic_stub() {
329 static void Clear(Address address, Code* target);
352 // Code generator routines.
382 static Code* initialize_stub() {
386 Code* megamorphic_stub() {
390 Code* generic_stub() {
394 Code* pre_monomorphic_stub() {
398 Code* string_stub() {
403 Code* indexed_interceptor_stub() {
408 static void Clear(Address address, Code* target);
430 // Code generators for stub routines. Only called once at startup.
457 void set_target(Code* code) {
459 ASSERT((code->extra_ic_state() & kStrictMode) ==
461 IC::set_target(code);
465 Code* megamorphic_stub() {
469 Code* megamorphic_stub_strict() {
473 static Code* initialize_stub() {
477 static Code* initialize_stub_strict() {
481 Code* global_proxy_stub() {
485 Code* global_proxy_stub_strict() {
490 static void Clear(Address address, Code* target);
510 // Code generators for stub routines. Only called once at startup.
532 void set_target(Code* code) {
534 ASSERT((code->extra_ic_state() & kStrictMode) ==
536 IC::set_target(code);
540 static Code* initialize_stub() {
544 Code* megamorphic_stub() {
548 static Code* initialize_stub_strict() {
552 Code* megamorphic_stub_strict() {
556 Code* generic_stub() {
560 Code* generic_stub_strict() {
565 static void Clear(Address address, Code* target);
572 // The map is the new map that the inlined code should check against.
595 void patch(Code* code);
624 static Handle<Code> GetUninitialized(Token::Value op);
630 static State ComputeState(Code* target);