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