Diff
Modified: branches/jsCStack/Source/_javascript_Core/ChangeLog (160496 => 160497)
--- branches/jsCStack/Source/_javascript_Core/ChangeLog 2013-12-12 18:42:53 UTC (rev 160496)
+++ branches/jsCStack/Source/_javascript_Core/ChangeLog 2013-12-12 19:21:09 UTC (rev 160497)
@@ -1,3 +1,31 @@
+2013-12-12 Mark Lam <[email protected]>
+
+ Rename returnFromJavaScript to handleUncaughtException.
+ https://bugs.webkit.org/show_bug.cgi?id=125613.
+
+ Reviewed by Filip Pizlo.
+
+ Also did a few minor fixes to get the C Loop LLINT offline asm stage
+ to build properly, and also some trivial changes to minimize the
+ compile errors for LowLevelInterpreter.cpp. It doesn't build completely
+ and run yet since we'll need to update it for CStack changes that have
+ not been implemented for the C Loop LLINT yet.
+
+ * interpreter/Interpreter.cpp:
+ (JSC::unwindCallFrame):
+ * jit/JITExceptions.cpp:
+ (JSC::genericUnwind):
+ * jit/JITStubs.h:
+ * jit/JITStubsMSVC64.asm:
+ * jit/JITStubsX86.h:
+ * llint/LLIntOpcode.h:
+ * llint/LLIntThunks.h:
+ * llint/LowLevelInterpreter.cpp:
+ (JSC::CLoop::execute):
+ * llint/LowLevelInterpreter32_64.asm:
+ * llint/LowLevelInterpreter64.asm:
+ * offlineasm/cloop.rb:
+
2013-12-11 Michael Saboff <[email protected]>
CStack Branch: Set stack pointer in OSR exit handler
Modified: branches/jsCStack/Source/_javascript_Core/interpreter/Interpreter.cpp (160496 => 160497)
--- branches/jsCStack/Source/_javascript_Core/interpreter/Interpreter.cpp 2013-12-12 18:42:53 UTC (rev 160496)
+++ branches/jsCStack/Source/_javascript_Core/interpreter/Interpreter.cpp 2013-12-12 19:21:09 UTC (rev 160497)
@@ -459,7 +459,7 @@
if (callerFrame->vmEntrySentinelCallerFrame())
callFrame->vm().topCallFrame = callerFrame->vmEntrySentinelCallerFrame();
else
- callFrame->vm().topCallFrame = callFrame; // _returnFromJavaScript will pop the frame off.
+ callFrame->vm().topCallFrame = callFrame; // _handleUncaughtException will pop the frame off.
return false;
}
return true;
Modified: branches/jsCStack/Source/_javascript_Core/jit/JITExceptions.cpp (160496 => 160497)
--- branches/jsCStack/Source/_javascript_Core/jit/JITExceptions.cpp 2013-12-12 18:42:53 UTC (rev 160496)
+++ branches/jsCStack/Source/_javascript_Core/jit/JITExceptions.cpp 2013-12-12 19:21:09 UTC (rev 160497)
@@ -56,7 +56,7 @@
catchRoutine = catchPCForInterpreter->u.pointer;
#endif
} else
- catchRoutine = LLInt::getCodePtr(returnFromJavaScript);
+ catchRoutine = LLInt::getCodePtr(handleUncaughtException);
vm->callFrameForThrow = callFrame;
vm->targetMachinePCForThrow = catchRoutine;
Modified: branches/jsCStack/Source/_javascript_Core/jit/JITStubs.h (160496 => 160497)
--- branches/jsCStack/Source/_javascript_Core/jit/JITStubs.h 2013-12-12 18:42:53 UTC (rev 160496)
+++ branches/jsCStack/Source/_javascript_Core/jit/JITStubs.h 2013-12-12 19:21:09 UTC (rev 160497)
@@ -43,7 +43,7 @@
extern "C" {
EncodedJSValue callToJavaScript(void*, ExecState**, ProtoCallFrame*, Register*);
- void returnFromJavaScript();
+ void handleUncaughtException();
EncodedJSValue callToNativeFunction(void*, ExecState**, ProtoCallFrame*, Register*);
}
#endif
Modified: branches/jsCStack/Source/_javascript_Core/jit/JITStubsMSVC64.asm (160496 => 160497)
--- branches/jsCStack/Source/_javascript_Core/jit/JITStubsMSVC64.asm 2013-12-12 18:42:53 UTC (rev 160496)
+++ branches/jsCStack/Source/_javascript_Core/jit/JITStubsMSVC64.asm 2013-12-12 19:21:09 UTC (rev 160497)
@@ -26,7 +26,7 @@
EXTERN getHostCallReturnValueWithExecState : near
PUBLIC callToJavaScript
-PUBLIC returnFromJavaScript
+PUBLIC handleUncaughtException
PUBLIC getHostCallReturnValue
_TEXT SEGMENT
@@ -235,7 +235,7 @@
ret
callToNativeFunction ENDP
-returnFromJavaScript PROC
+handleUncaughtException PROC
add rsp, 28h
pop rdi
pop rsi
@@ -246,7 +246,7 @@
pop r12
pop rbp
ret
-returnFromJavaScript ENDP
+handleUncaughtException ENDP
getHostCallReturnValue PROC
mov rbp, [rbp] ; CallFrame
Modified: branches/jsCStack/Source/_javascript_Core/jit/JITStubsX86.h (160496 => 160497)
--- branches/jsCStack/Source/_javascript_Core/jit/JITStubsX86.h 2013-12-12 18:42:53 UTC (rev 160496)
+++ branches/jsCStack/Source/_javascript_Core/jit/JITStubsX86.h 2013-12-12 19:21:09 UTC (rev 160497)
@@ -306,7 +306,7 @@
}
}
- __declspec(naked) void returnFromJavaScript()
+ __declspec(naked) void handleUncaughtException()
{
__asm {
add esp, 0x1c;
Modified: branches/jsCStack/Source/_javascript_Core/llint/LLIntOpcode.h (160496 => 160497)
--- branches/jsCStack/Source/_javascript_Core/llint/LLIntOpcode.h 2013-12-12 18:42:53 UTC (rev 160496)
+++ branches/jsCStack/Source/_javascript_Core/llint/LLIntOpcode.h 2013-12-12 19:21:09 UTC (rev 160497)
@@ -34,7 +34,7 @@
#define FOR_EACH_LLINT_NOJIT_NATIVE_HELPER(macro) \
macro(getHostCallReturnValue, 1) \
- macro(returnFromJavaScript, 1)
+ macro(handleUncaughtException, 1)
#else // !ENABLE(LLINT_C_LOOP)
Modified: branches/jsCStack/Source/_javascript_Core/llint/LLIntThunks.h (160496 => 160497)
--- branches/jsCStack/Source/_javascript_Core/llint/LLIntThunks.h 2013-12-12 18:42:53 UTC (rev 160496)
+++ branches/jsCStack/Source/_javascript_Core/llint/LLIntThunks.h 2013-12-12 19:21:09 UTC (rev 160497)
@@ -43,7 +43,7 @@
EncodedJSValue callToJavaScript(void*, ExecState**, ProtoCallFrame*, Register*);
EncodedJSValue callToNativeFunction(void*, ExecState**, ProtoCallFrame*, Register*);
#if ENABLE(JIT)
- void returnFromJavaScript();
+ void handleUncaughtException();
#endif
}
Modified: branches/jsCStack/Source/_javascript_Core/llint/LowLevelInterpreter.cpp (160496 => 160497)
--- branches/jsCStack/Source/_javascript_Core/llint/LowLevelInterpreter.cpp 2013-12-12 18:42:53 UTC (rev 160496)
+++ branches/jsCStack/Source/_javascript_Core/llint/LowLevelInterpreter.cpp 2013-12-12 19:21:09 UTC (rev 160497)
@@ -308,7 +308,7 @@
// 2. 32 bit result values will be in the low 32-bit of t0.
// 3. 64 bit result values will be in t0.
- CLoopRegister t0, t1, t2, t3;
+ CLoopRegister t0, t1, t2, t3, t5, sp;
#if USE(JSVALUE64)
CLoopRegister rBasePC, tagTypeNumber, tagMask;
#endif
@@ -431,7 +431,7 @@
goto doReturnHelper;
}
- OFFLINE_ASM_GLUE_LABEL(returnFromJavaScript)
+ OFFLINE_ASM_GLUE_LABEL(handleUncaughtException)
{
return vm->exception();
}
Modified: branches/jsCStack/Source/_javascript_Core/llint/LowLevelInterpreter32_64.asm (160496 => 160497)
--- branches/jsCStack/Source/_javascript_Core/llint/LowLevelInterpreter32_64.asm 2013-12-12 18:42:53 UTC (rev 160496)
+++ branches/jsCStack/Source/_javascript_Core/llint/LowLevelInterpreter32_64.asm 2013-12-12 19:21:09 UTC (rev 160497)
@@ -343,8 +343,8 @@
call temp
end
-macro doReturnFromJavaScript(extraStackSpace)
-_returnFromJavaScript:
+macro doHandleUncaughtException(extraStackSpace)
+_handleUncaughtException:
functionEpilogue(extraStackSpace)
ret
end
Modified: branches/jsCStack/Source/_javascript_Core/llint/LowLevelInterpreter64.asm (160496 => 160497)
--- branches/jsCStack/Source/_javascript_Core/llint/LowLevelInterpreter64.asm 2013-12-12 18:42:53 UTC (rev 160496)
+++ branches/jsCStack/Source/_javascript_Core/llint/LowLevelInterpreter64.asm 2013-12-12 19:21:09 UTC (rev 160497)
@@ -290,7 +290,7 @@
end
-_returnFromJavaScript:
+_handleUncaughtException:
subp 16, sp
checkStackPointerAlignment(t3, 0xbad0eeee)
Modified: branches/jsCStack/Source/_javascript_Core/offlineasm/cloop.rb (160496 => 160497)
--- branches/jsCStack/Source/_javascript_Core/offlineasm/cloop.rb 2013-12-12 18:42:53 UTC (rev 160496)
+++ branches/jsCStack/Source/_javascript_Core/offlineasm/cloop.rb 2013-12-12 19:21:09 UTC (rev 160497)
@@ -94,6 +94,8 @@
"t3"
when "t4"
"rPC"
+ when "t5"
+ "t5"
when "t6"
"rBasePC"
when "csr1"
@@ -1097,6 +1099,8 @@
cloopEmitOpAndBranch(operands, "|", :int32, "!= 0")
when "memfence"
+ when "pop"
+ $asm.putc "#error FIXME: Need implementation for pop"
when "pushCalleeSaves"
when "popCalleeSaves"