src/3rdparty/webkit/JavaScriptCore/jit/JITStubs.h
changeset 3 41300fa6a67c
parent 0 1918ee327afb
child 30 5dc02b23752f
equal deleted inserted replaced
2:56cd8111b7f7 3:41300fa6a67c
   161 #elif PLATFORM(ARM_TRADITIONAL)
   161 #elif PLATFORM(ARM_TRADITIONAL)
   162     struct JITStackFrame {
   162     struct JITStackFrame {
   163         JITStubArg padding; // Unused
   163         JITStubArg padding; // Unused
   164         JITStubArg args[7];
   164         JITStubArg args[7];
   165 
   165 
       
   166         ReturnAddressPtr thunkReturnAddress;
       
   167 
   166         void* preservedR4;
   168         void* preservedR4;
   167         void* preservedR5;
   169         void* preservedR5;
   168         void* preservedR6;
   170         void* preservedR6;
   169         void* preservedR7;
   171         void* preservedR7;
   170         void* preservedR8;
   172         void* preservedR8;
   171         void* preservedLink;
   173         void* preservedLink;
   172 
   174 
   173         RegisterFile* registerFile;
   175         RegisterFile* registerFile;
   174         CallFrame* callFrame;
   176         CallFrame* callFrame;
   175         JSValue* exception;
   177         JSValue* exception;
       
   178 
       
   179         // These arguments passed on the stack.
   176         Profiler** enabledProfilerReference;
   180         Profiler** enabledProfilerReference;
   177         JSGlobalData* globalData;
   181         JSGlobalData* globalData;
   178 
   182 
   179         // When JIT code makes a call, it pushes its return address just below the rest of the stack.
   183         // When JIT code makes a call, it pushes its return address just below the rest of the stack.
   180         ReturnAddressPtr* returnAddressSlot() { return reinterpret_cast<ReturnAddressPtr*>(this) - 1; }
   184         ReturnAddressPtr* returnAddressSlot() { return &thunkReturnAddress; }
   181     };
   185     };
   182 #else
   186 #else
   183 #error "JITStackFrame not defined for this platform."
   187 #error "JITStackFrame not defined for this platform."
   184 #endif
   188 #endif
   185 
   189