Title: [132492] trunk/Source/_javascript_Core
Revision
132492
Author
[email protected]
Date
2012-10-25 09:09:01 -0700 (Thu, 25 Oct 2012)

Log Message

Update the C++ llint to work with the latest op_resolve... changes.
https://bugs.webkit.org/show_bug.cgi?id=100345.

Reviewed by Oliver Hunt.

* llint/LowLevelInterpreter.cpp:
(JSC::CLoop::execute):
- emit opcode name as label when not using COMPUTED_GOTOs. The new op_resolve
  opcodes have jumps to these labels.
- declare all opcode labels as UNUSED_LABEL()s to keep the compiler happy
  for opcodes that are not referenced by anyone.
* offlineasm/asm.rb:
- strip llint_ prefix from opcode names used as labels.

Modified Paths

Diff

Modified: trunk/Source/_javascript_Core/ChangeLog (132491 => 132492)


--- trunk/Source/_javascript_Core/ChangeLog	2012-10-25 16:01:26 UTC (rev 132491)
+++ trunk/Source/_javascript_Core/ChangeLog	2012-10-25 16:09:01 UTC (rev 132492)
@@ -1,3 +1,19 @@
+2012-10-25  Mark Lam  <[email protected]>
+
+        Update the C++ llint to work with the latest op_resolve... changes.
+        https://bugs.webkit.org/show_bug.cgi?id=100345.
+
+        Reviewed by Oliver Hunt.
+
+        * llint/LowLevelInterpreter.cpp:
+        (JSC::CLoop::execute):
+        - emit opcode name as label when not using COMPUTED_GOTOs. The new op_resolve
+          opcodes have jumps to these labels.
+        - declare all opcode labels as UNUSED_LABEL()s to keep the compiler happy
+          for opcodes that are not referenced by anyone.
+        * offlineasm/asm.rb:
+        - strip llint_ prefix from opcode names used as labels.
+
 2012-10-24  Yuqiang Xian  <[email protected]>
 
         Refactor LLInt64 to distinguish the pointer operations from the 64-bit integer operations

Modified: trunk/Source/_javascript_Core/llint/LowLevelInterpreter.cpp (132491 => 132492)


--- trunk/Source/_javascript_Core/llint/LowLevelInterpreter.cpp	2012-10-25 16:01:26 UTC (rev 132491)
+++ trunk/Source/_javascript_Core/llint/LowLevelInterpreter.cpp	2012-10-25 16:09:01 UTC (rev 132492)
@@ -312,6 +312,7 @@
 
     #define DEFINE_OPCODE(__opcode) \
         case __opcode: \
+        __opcode: \
             RECORD_OPCODE_STATS(__opcode);
 
     // Dispatch to the current PC's bytecode:
@@ -418,7 +419,7 @@
     // compiler on all such labels:
     #define LLINT_OPCODE_ENTRY(__opcode, length) \
         UNUSED_LABEL(__opcode);
-        FOR_EACH_LLINT_NATIVE_HELPER(LLINT_OPCODE_ENTRY)
+        FOR_EACH_OPCODE_ID(LLINT_OPCODE_ENTRY);
     #undef LLINT_OPCODE_ENTRY
 
 

Modified: trunk/Source/_javascript_Core/offlineasm/asm.rb (132491 => 132492)


--- trunk/Source/_javascript_Core/offlineasm/asm.rb	2012-10-25 16:01:26 UTC (rev 132491)
+++ trunk/Source/_javascript_Core/offlineasm/asm.rb	2012-10-25 16:09:01 UTC (rev 132492)
@@ -182,7 +182,11 @@
     end
     
     def self.cLabelReference(labelName)
-        "#{labelName}"
+        if /\Allint_op_/.match(labelName)
+            "op_#{$~.post_match}"  # strip opcodes of their llint_ prefix.
+        else
+            "#{labelName}"
+        end
     end
     
     def self.cLocalLabelReference(labelName)
_______________________________________________
webkit-changes mailing list
[email protected]
http://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to