Title: [157612] trunk/Source/_javascript_Core
- Revision
- 157612
- Author
- [email protected]
- Date
- 2013-10-17 16:29:16 -0700 (Thu, 17 Oct 2013)
Log Message
Removed the JITStackFrame struct
https://bugs.webkit.org/show_bug.cgi?id=123001
Reviewed by Anders Carlsson.
* jit/JITStubs.h: JITStackFrame and JITStubArg are unused now, since all
our helper functions obey the C function call ABI.
Modified Paths
Diff
Modified: trunk/Source/_javascript_Core/ChangeLog (157611 => 157612)
--- trunk/Source/_javascript_Core/ChangeLog 2013-10-17 23:20:07 UTC (rev 157611)
+++ trunk/Source/_javascript_Core/ChangeLog 2013-10-17 23:29:16 UTC (rev 157612)
@@ -1,5 +1,15 @@
2013-10-17 Geoffrey Garen <[email protected]>
+ Removed the JITStackFrame struct
+ https://bugs.webkit.org/show_bug.cgi?id=123001
+
+ Reviewed by Anders Carlsson.
+
+ * jit/JITStubs.h: JITStackFrame and JITStubArg are unused now, since all
+ our helper functions obey the C function call ABI.
+
+2013-10-17 Geoffrey Garen <[email protected]>
+
Removed an unused #define
https://bugs.webkit.org/show_bug.cgi?id=123000
Modified: trunk/Source/_javascript_Core/jit/JITStubs.h (157611 => 157612)
--- trunk/Source/_javascript_Core/jit/JITStubs.h 2013-10-17 23:20:07 UTC (rev 157611)
+++ trunk/Source/_javascript_Core/jit/JITStubs.h 2013-10-17 23:29:16 UTC (rev 157612)
@@ -62,259 +62,6 @@
class RegExp;
class Structure;
-template <typename T> class Weak;
-
-union JITStubArg {
- void* asPointer;
- EncodedJSValue asEncodedJSValue;
- int32_t asInt32;
-
- JSValue jsValue() { return JSValue::decode(asEncodedJSValue); }
- JSObject* jsObject() { return static_cast<JSObject*>(asPointer); }
- Register* reg() { return static_cast<Register*>(asPointer); }
- Identifier& identifier() { return *static_cast<Identifier*>(asPointer); }
- int32_t int32() { return asInt32; }
- CodeBlock* codeBlock() { return static_cast<CodeBlock*>(asPointer); }
- FunctionExecutable* function() { return static_cast<FunctionExecutable*>(asPointer); }
- RegExp* regExp() { return static_cast<RegExp*>(asPointer); }
- JSPropertyNameIterator* propertyNameIterator() { return static_cast<JSPropertyNameIterator*>(asPointer); }
- JSGlobalObject* globalObject() { return static_cast<JSGlobalObject*>(asPointer); }
- JSString* jsString() { return static_cast<JSString*>(asPointer); }
- Structure* structure() { return static_cast<Structure*>(asPointer); }
- ReturnAddressPtr returnAddress() { return ReturnAddressPtr(asPointer); }
- ArrayAllocationProfile* arrayAllocationProfile() { return static_cast<ArrayAllocationProfile*>(asPointer); }
- Instruction* pc() { return static_cast<Instruction*>(asPointer); }
-};
-
-#if !OS(WINDOWS) && CPU(X86_64)
-struct JITStackFrame {
- void* reserved; // Unused
- JITStubArg args[6];
- void* padding[2]; // Maintain 32-byte stack alignment (possibly overkill).
-
- void* code;
- JSStack* stack;
- CallFrame* callFrame;
- void* unused1;
- void* unused2;
- VM* vm;
-
- void* savedRBX;
- void* savedR15;
- void* savedR14;
- void* savedR13;
- void* savedR12;
- void* savedRBP;
- void* savedRIP;
-
- // When JIT code makes a call, it pushes its return address just below the rest of the stack.
- ReturnAddressPtr* returnAddressSlot() { return reinterpret_cast<ReturnAddressPtr*>(this) - 1; }
-};
-#elif CPU(ARM64)
-struct JITStackFrame {
- JITStubArg args[6];
-
- ReturnAddressPtr thunkReturnAddress;
-
- void* preservedReturnAddress;
- void* preservedX19;
- void* preservedX20;
- void* preservedX21;
- void* preservedX22;
- void* preservedX23;
- void* preservedX24;
- void* preservedX25;
- void* preservedX26;
- void* preservedX27;
- void* preservedX28;
-
- JSStack* stack;
- CallFrame* callFrame;
- LegacyProfiler** enabledProfilerReference;
- VM* vm;
-
- ReturnAddressPtr* returnAddressSlot() { return &thunkReturnAddress; }
-};
-#elif OS(WINDOWS) && CPU(X86_64)
-struct JITStackFrame {
- void* shadow[4]; // Shadow space reserved for a callee's parameters home addresses
- void* reserved; // Unused, also maintains the 16-bytes stack alignment
- JITStubArg args[6];
-
- void* savedRBX;
- void* savedR15;
- void* savedR14;
- void* savedR13;
- void* savedR12;
- void* savedRBP;
- void* savedRIP;
-
- // Home addresses for our register passed parameters
- // http://msdn.microsoft.com/en-us/library/ew5tede7.aspx
- void* code;
- JSStack* stack;
- CallFrame* callFrame;
- void* unused1;
-
- // Passed on the stack
- void* unused2;
- VM* vm;
-
- // When JIT code makes a call, it pushes its return address just below the rest of the stack.
- ReturnAddressPtr* returnAddressSlot() { return reinterpret_cast<ReturnAddressPtr*>(this) - 1; }
-};
-#elif CPU(X86)
-#if COMPILER(MSVC) || (OS(WINDOWS) && COMPILER(GCC))
-#pragma pack(push)
-#pragma pack(4)
-#endif // COMPILER(MSVC) || (OS(WINDOWS) && COMPILER(GCC))
-struct JITStackFrame {
- void* reserved; // Unused
- JITStubArg args[6];
-#if USE(JSVALUE32_64)
- void* padding[2]; // Maintain 16-byte stack alignment.
-#endif
-
- void* savedEBX;
- void* savedEDI;
- void* savedESI;
- void* savedEBP;
- void* savedEIP;
-
- void* code;
- JSStack* stack;
- CallFrame* callFrame;
- void* unused1;
- void* unused2;
- VM* vm;
-
- // When JIT code makes a call, it pushes its return address just below the rest of the stack.
- ReturnAddressPtr* returnAddressSlot() { return reinterpret_cast<ReturnAddressPtr*>(this) - 1; }
-};
-#if COMPILER(MSVC) || (OS(WINDOWS) && COMPILER(GCC))
-#pragma pack(pop)
-#endif // COMPILER(MSVC) || (OS(WINDOWS) && COMPILER(GCC))
-#elif CPU(ARM_THUMB2)
-struct JITStackFrame {
- JITStubArg reserved; // Unused
- JITStubArg args[6];
-
- ReturnAddressPtr thunkReturnAddress;
-
- void* preservedReturnAddress;
- void* preservedR4;
- void* preservedR5;
- void* preservedR6;
- void* preservedR7;
- void* preservedR8;
- void* preservedR9;
- void* preservedR10;
- void* preservedR11;
-
- // These arguments passed in r1..r3 (r0 contained the entry code pointed, which is not preserved)
- JSStack* stack;
- CallFrame* callFrame;
-
- // These arguments passed on the stack.
- void* unused1;
- VM* vm;
-
- ReturnAddressPtr* returnAddressSlot() { return &thunkReturnAddress; }
-};
-#elif CPU(ARM_TRADITIONAL)
-#if COMPILER(MSVC)
-#pragma pack(push)
-#pragma pack(4)
-#endif // COMPILER(MSVC)
-struct JITStackFrame {
- JITStubArg padding; // Unused
- JITStubArg args[7];
-
- ReturnAddressPtr thunkReturnAddress;
-
- void* preservedR4;
- void* preservedR5;
- void* preservedR6;
- void* preservedR8;
- void* preservedR9;
- void* preservedR10;
- void* preservedR11;
- void* preservedLink;
-
- JSStack* stack;
- CallFrame* callFrame;
- void* unused1;
-
- // These arguments passed on the stack.
- void* unused2;
- VM* vm;
-
- // When JIT code makes a call, it pushes its return address just below the rest of the stack.
- ReturnAddressPtr* returnAddressSlot() { return &thunkReturnAddress; }
-};
-#if COMPILER(MSVC)
-#pragma pack(pop)
-#endif // COMPILER(MSVC)
-#elif CPU(MIPS)
-struct JITStackFrame {
- JITStubArg reserved; // Unused
- JITStubArg args[6];
-
-#if USE(JSVALUE32_64)
- void* padding; // Make the overall stack length 8-byte aligned.
-#endif
-
- void* preservedGP; // store GP when using PIC code
- void* preservedS0;
- void* preservedS1;
- void* preservedS2;
- void* preservedS3;
- void* preservedS4;
- void* preservedReturnAddress;
-
- ReturnAddressPtr thunkReturnAddress;
-
- // These arguments passed in a1..a3 (a0 contained the entry code pointed, which is not preserved)
- JSStack* stack;
- CallFrame* callFrame;
- void* unused1;
-
- // These arguments passed on the stack.
- void* unused2;
- VM* vm;
-
- ReturnAddressPtr* returnAddressSlot() { return &thunkReturnAddress; }
-};
-#elif CPU(SH4)
-struct JITStackFrame {
- JITStubArg padding; // Unused
- JITStubArg args[6];
-
- ReturnAddressPtr thunkReturnAddress;
-
- void* savedR8;
- void* savedR9;
- void* savedR10;
- void* savedR11;
- void* savedR13;
- void* savedRPR;
- void* savedR14;
-
- // These arguments are passed in r5, r6 and r7.
- JSStack* stack;
- CallFrame* callFrame;
- void* unused1;
-
- // These arguments are passed on the stack.
- void* unused2;
- VM* vm;
-
- ReturnAddressPtr* returnAddressSlot() { return &thunkReturnAddress; }
-};
-#else
-#error "JITStackFrame not defined for this platform."
-#endif
-
#define STUB_ARGS_DECLARATION void** args
#define STUB_ARGS (args)
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes