Title: [160497] branches/jsCStack/Source/_javascript_Core
Revision
160497
Author
[email protected]
Date
2013-12-12 11:21:09 -0800 (Thu, 12 Dec 2013)

Log Message

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:

Modified Paths

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"
 
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to