Modified: branches/dfgFourthTier/Source/_javascript_Core/ChangeLog (149654 => 149655)
--- branches/dfgFourthTier/Source/_javascript_Core/ChangeLog 2013-05-07 00:45:31 UTC (rev 149654)
+++ branches/dfgFourthTier/Source/_javascript_Core/ChangeLog 2013-05-07 00:46:35 UTC (rev 149655)
@@ -1,3 +1,17 @@
+2013-05-06 Mark Lam <[email protected]>
+
+ Fix broken 32-bit build + some clean up in JITStubs.cpp.
+ https://bugs.webkit.org/show_bug.cgi?id=115684.
+
+ Reviewed by Geoffrey Garen.
+
+ * dfg/DFGSpeculativeJIT32_64.cpp:
+ (JSC::DFG::SpeculativeJIT::compile):
+ * jit/JITStubs.cpp:
+ - removed unneeded stubs for CPU(X86_64) && USE(JSVALUE32_64).
+ - added some line breaks to more clearly delineate between
+ ports/configurations of stub code.
+
2013-05-06 Geoffrey Garen <[email protected]>
Cherry-pick merged some patches to the FTL branch.
Modified: branches/dfgFourthTier/Source/_javascript_Core/dfg/DFGSpeculativeJIT32_64.cpp (149654 => 149655)
--- branches/dfgFourthTier/Source/_javascript_Core/dfg/DFGSpeculativeJIT32_64.cpp 2013-05-07 00:45:31 UTC (rev 149654)
+++ branches/dfgFourthTier/Source/_javascript_Core/dfg/DFGSpeculativeJIT32_64.cpp 2013-05-07 00:46:35 UTC (rev 149655)
@@ -4215,7 +4215,7 @@
WatchpointSet* watchpointSet =
m_jit.globalObjectFor(node->codeOrigin)->symbolTable()->get(
- identifierUID(node->identifierNumberForCheck())->impl()).watchpointSet();
+ identifierUID(node->identifierNumberForCheck())).watchpointSet();
addSlowPathGenerator(
slowPathCall(
m_jit.branchTest8(
@@ -4243,7 +4243,7 @@
case GlobalVarWatchpoint: {
WatchpointSet* set = m_jit.globalObjectFor(node->codeOrigin)->symbolTable()->get(
- identifierUID(node->identifierNumberForCheck())->impl()).watchpointSet();
+ identifierUID(node->identifierNumberForCheck())).watchpointSet();
m_jit.addLazily(speculationWatchpoint(), set);
#if DFG_ENABLE(JIT_ASSERT)
Modified: branches/dfgFourthTier/Source/_javascript_Core/jit/JITStubs.cpp (149654 => 149655)
--- branches/dfgFourthTier/Source/_javascript_Core/jit/JITStubs.cpp 2013-05-07 00:45:31 UTC (rev 149654)
+++ branches/dfgFourthTier/Source/_javascript_Core/jit/JITStubs.cpp 2013-05-07 00:46:35 UTC (rev 149655)
@@ -133,68 +133,6 @@
"ret" "\n"
);
-#elif COMPILER(GCC) && CPU(X86_64)
-
-// These ASSERTs remind you that, if you change the layout of JITStackFrame, you
-// need to change the assembly trampolines below to match.
-COMPILE_ASSERT(offsetof(struct JITStackFrame, code) % 32 == 0x0, JITStackFrame_maintains_32byte_stack_alignment);
-COMPILE_ASSERT(offsetof(struct JITStackFrame, savedRBX) == 0x48, JITStackFrame_stub_argument_space_matches_ctiTrampoline);
-COMPILE_ASSERT(offsetof(struct JITStackFrame, callFrame) == 0x90, JITStackFrame_callFrame_offset_matches_ctiTrampoline);
-COMPILE_ASSERT(offsetof(struct JITStackFrame, code) == 0x80, JITStackFrame_code_offset_matches_ctiTrampoline);
-
-asm (
-".globl " SYMBOL_STRING(ctiTrampoline) "\n"
-HIDE_SYMBOL(ctiTrampoline) "\n"
-SYMBOL_STRING(ctiTrampoline) ":" "\n"
- "pushq %rbp" "\n"
- "movq %rsp, %rbp" "\n"
- "pushq %r12" "\n"
- "pushq %r13" "\n"
- "pushq %r14" "\n"
- "pushq %r15" "\n"
- "pushq %rbx" "\n"
- "subq $0x48, %rsp" "\n"
- "movq $512, %r12" "\n"
- "movq $0xFFFF000000000000, %r14" "\n"
- "movq $0xFFFF000000000002, %r15" "\n"
- "movq 0x90(%rsp), %r13" "\n"
- "call *0x80(%rsp)" "\n"
- "addq $0x48, %rsp" "\n"
- "popq %rbx" "\n"
- "popq %r15" "\n"
- "popq %r14" "\n"
- "popq %r13" "\n"
- "popq %r12" "\n"
- "popq %rbp" "\n"
- "ret" "\n"
-".globl " SYMBOL_STRING(ctiTrampolineEnd) "\n"
-HIDE_SYMBOL(ctiTrampolineEnd) "\n"
-SYMBOL_STRING(ctiTrampolineEnd) ":" "\n"
-);
-
-asm (
-".globl " SYMBOL_STRING(ctiVMThrowTrampoline) "\n"
-HIDE_SYMBOL(ctiVMThrowTrampoline) "\n"
-SYMBOL_STRING(ctiVMThrowTrampoline) ":" "\n"
- "movq %rsp, %rdi" "\n"
- "call " LOCAL_REFERENCE(cti_vm_throw) "\n"
- "int3" "\n"
-);
-
-asm (
-".globl " SYMBOL_STRING(ctiOpThrowNotCaught) "\n"
-HIDE_SYMBOL(ctiOpThrowNotCaught) "\n"
-SYMBOL_STRING(ctiOpThrowNotCaught) ":" "\n"
- "addq $0x48, %rsp" "\n"
- "popq %rbx" "\n"
- "popq %r15" "\n"
- "popq %r14" "\n"
- "popq %r13" "\n"
- "popq %r12" "\n"
- "popq %rbp" "\n"
- "ret" "\n"
-);
-
#elif (COMPILER(GCC) || COMPILER(RVCT)) && CPU(ARM_THUMB2)
#define THUNK_RETURN_ADDRESS_OFFSET 0x38
@@ -289,7 +227,9 @@
#define REGISTER_FILE_OFFSET 92
#define GLOBAL_DATA_OFFSET 108
#define STACK_LENGTH 112
+
#elif CPU(SH4)
+
#define SYMBOL_STRING(name) #name
/* code (r4), JSStack* (r5), CallFrame* (r6), void* unused1 (r7), void* unused2(sp), VM (sp)*/