Title: [264758] trunk/Source/_javascript_Core
- Revision
- 264758
- Author
- ticaiol...@gmail.com
- Date
- 2020-07-23 05:51:51 -0700 (Thu, 23 Jul 2020)
Log Message
[32-bits] Fixing the return of doVMEntry into LowLevelInterpreter32_64.asm
https://bugs.webkit.org/show_bug.cgi?id=214641
Reviewed by Mark Lam.
Adjusting the return of `doVMEntry` for 32-bits LLInt to proper set
`EncodedJSValue` return in little-endian architectures. It is expected
that tag is stored in `r1` and payload is stored in `r0`.
* llint/LowLevelInterpreter.asm:
* llint/LowLevelInterpreter32_64.asm:
Modified Paths
Diff
Modified: trunk/Source/_javascript_Core/ChangeLog (264757 => 264758)
--- trunk/Source/_javascript_Core/ChangeLog 2020-07-23 12:37:06 UTC (rev 264757)
+++ trunk/Source/_javascript_Core/ChangeLog 2020-07-23 12:51:51 UTC (rev 264758)
@@ -1,3 +1,17 @@
+2020-07-23 Caio Lima <ticaiol...@gmail.com>
+
+ [32-bits] Fixing the return of doVMEntry into LowLevelInterpreter32_64.asm
+ https://bugs.webkit.org/show_bug.cgi?id=214641
+
+ Reviewed by Mark Lam.
+
+ Adjusting the return of `doVMEntry` for 32-bits LLInt to proper set
+ `EncodedJSValue` return in little-endian architectures. It is expected
+ that tag is stored in `r1` and payload is stored in `r0`.
+
+ * llint/LowLevelInterpreter.asm:
+ * llint/LowLevelInterpreter32_64.asm:
+
2020-07-23 Alexey Shvayka <shvaikal...@gmail.com>
Remove ArrayNode::m_optional
Modified: trunk/Source/_javascript_Core/llint/LowLevelInterpreter.asm (264757 => 264758)
--- trunk/Source/_javascript_Core/llint/LowLevelInterpreter.asm 2020-07-23 12:37:06 UTC (rev 264757)
+++ trunk/Source/_javascript_Core/llint/LowLevelInterpreter.asm 2020-07-23 12:51:51 UTC (rev 264758)
@@ -2187,7 +2187,8 @@
# Given _slow_path_checkpoint_osr_exit_from_inlined_call has
# parameters as CallFrame* and EncodedJSValue,
# we need to store call result on a2, a3 and call frame on a0,
- # leaving a1 as dummy value.
+ # leaving a1 as dummy value (this calling convention is considered only
+ # for little-endian architectures).
move r1, a3
move r0, a2
move cfr, a0
Modified: trunk/Source/_javascript_Core/llint/LowLevelInterpreter32_64.asm (264757 => 264758)
--- trunk/Source/_javascript_Core/llint/LowLevelInterpreter32_64.asm 2020-07-23 12:37:06 UTC (rev 264757)
+++ trunk/Source/_javascript_Core/llint/LowLevelInterpreter32_64.asm 2020-07-23 12:51:51 UTC (rev 264758)
@@ -327,9 +327,11 @@
move vm, a0
move protoCallFrame, a1
cCall2(_llint_check_vm_entry_permission)
- move UndefinedTag, r0
- move 0, r1
+ # Tag is stored in r1 and payload is stored in r0 in little-endian architectures.
+ move UndefinedTag, r1
+ move 0, r0
+
subp cfr, CalleeRegisterSaveSize, sp
popCalleeSaves()
functionEpilogue()
_______________________________________________
webkit-changes mailing list
webkit-changes@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-changes