Title: [229506] trunk/Source/_javascript_Core
- Revision
- 229506
- Author
- [email protected]
- Date
- 2018-03-10 12:13:03 -0800 (Sat, 10 Mar 2018)
Log Message
offlineasm should reset the Assembler's working state before doing another pass for a new target.
https://bugs.webkit.org/show_bug.cgi?id=183538
<rdar://problem/38325955>
Reviewed by Michael Saboff.
* llint/LowLevelInterpreter.cpp:
* offlineasm/asm.rb:
* offlineasm/cloop.rb:
Modified Paths
Diff
Modified: trunk/Source/_javascript_Core/ChangeLog (229505 => 229506)
--- trunk/Source/_javascript_Core/ChangeLog 2018-03-10 19:31:14 UTC (rev 229505)
+++ trunk/Source/_javascript_Core/ChangeLog 2018-03-10 20:13:03 UTC (rev 229506)
@@ -1,3 +1,15 @@
+2018-03-09 Mark Lam <[email protected]>
+
+ offlineasm should reset the Assembler's working state before doing another pass for a new target.
+ https://bugs.webkit.org/show_bug.cgi?id=183538
+ <rdar://problem/38325955>
+
+ Reviewed by Michael Saboff.
+
+ * llint/LowLevelInterpreter.cpp:
+ * offlineasm/asm.rb:
+ * offlineasm/cloop.rb:
+
2018-03-09 Brian Burg <[email protected]>
Web Inspector: there should only be one way for async backend commands to send failure
Modified: trunk/Source/_javascript_Core/llint/LowLevelInterpreter.cpp (229505 => 229506)
--- trunk/Source/_javascript_Core/llint/LowLevelInterpreter.cpp 2018-03-10 19:31:14 UTC (rev 229505)
+++ trunk/Source/_javascript_Core/llint/LowLevelInterpreter.cpp 2018-03-10 20:13:03 UTC (rev 229506)
@@ -30,6 +30,7 @@
#include <wtf/InlineASM.h>
#if !ENABLE(JIT)
+#include "Bytecodes.h"
#include "CLoopStackInlines.h"
#include "CodeBlock.h"
#include "CommonSlowPaths.h"
Modified: trunk/Source/_javascript_Core/offlineasm/asm.rb (229505 => 229506)
--- trunk/Source/_javascript_Core/offlineasm/asm.rb 2018-03-10 19:31:14 UTC (rev 229505)
+++ trunk/Source/_javascript_Core/offlineasm/asm.rb 2018-03-10 20:13:03 UTC (rev 229506)
@@ -39,6 +39,10 @@
def initialize(outp)
@outp = outp
@state = :cpp
+ resetAsm
+ end
+
+ def resetAsm
@commentState = :none
@comment = nil
@internalComment = nil
@@ -93,6 +97,7 @@
end
def inAsm
+ resetAsm
enterAsm
yield
leaveAsm
Modified: trunk/Source/_javascript_Core/offlineasm/cloop.rb (229505 => 229506)
--- trunk/Source/_javascript_Core/offlineasm/cloop.rb 2018-03-10 19:31:14 UTC (rev 229505)
+++ trunk/Source/_javascript_Core/offlineasm/cloop.rb 2018-03-10 20:13:03 UTC (rev 229506)
@@ -519,8 +519,6 @@
end
class Instruction
- @@didReturnFromJSLabelCounter = 0
-
def lowerC_LOOP
case opcode
when "addi"
@@ -1078,11 +1076,11 @@
# use of the call instruction. Instead, we just implement JS calls
# as an opcode dispatch.
when "cloopCallJSFunction"
- @@didReturnFromJSLabelCounter += 1
- $asm.putc "lr.opcode = getOpcode(llint_cloop_did_return_from_js_#{@@didReturnFromJSLabelCounter});"
+ uid = $asm.newUID
+ $asm.putc "lr.opcode = getOpcode(llint_cloop_did_return_from_js_#{uid});"
$asm.putc "opcode = #{operands[0].clValue(:opcode)};"
$asm.putc "DISPATCH_OPCODE();"
- $asm.putsLabel("llint_cloop_did_return_from_js_#{@@didReturnFromJSLabelCounter}", false)
+ $asm.putsLabel("llint_cloop_did_return_from_js_#{uid}", false)
# We can't do generic function calls with an arbitrary set of args, but
# fortunately we don't have to here. All native function calls always
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes