Title: [264369] trunk/Source/_javascript_Core
- Revision
- 264369
- Author
- [email protected]
- Date
- 2020-07-14 12:50:03 -0700 (Tue, 14 Jul 2020)
Log Message
[JSC] fixup LLInt fast path in op_get_private_name
https://bugs.webkit.org/show_bug.cgi?id=214311
Reviewed by Tadeu Zagallo.
The LLInt slow path would previously always be taken in op_get_private_name,
due to not comparing the operand field name's JSValue payload with the cached
field name, but the register index itself.
This fixup can't really be verified by tests, as it is primarily a
minor performance improvement.
* llint/LowLevelInterpreter32_64.asm:
* llint/LowLevelInterpreter64.asm:
Modified Paths
Diff
Modified: trunk/Source/_javascript_Core/ChangeLog (264368 => 264369)
--- trunk/Source/_javascript_Core/ChangeLog 2020-07-14 19:27:34 UTC (rev 264368)
+++ trunk/Source/_javascript_Core/ChangeLog 2020-07-14 19:50:03 UTC (rev 264369)
@@ -1,3 +1,20 @@
+2020-07-14 Caitlin Potter <[email protected]>
+
+ [JSC] fixup LLInt fast path in op_get_private_name
+ https://bugs.webkit.org/show_bug.cgi?id=214311
+
+ Reviewed by Tadeu Zagallo.
+
+ The LLInt slow path would previously always be taken in op_get_private_name,
+ due to not comparing the operand field name's JSValue payload with the cached
+ field name, but the register index itself.
+
+ This fixup can't really be verified by tests, as it is primarily a
+ minor performance improvement.
+
+ * llint/LowLevelInterpreter32_64.asm:
+ * llint/LowLevelInterpreter64.asm:
+
2020-07-14 Xan Lopez <[email protected]>
[JSC] Remove compiler warning in JSBigInt
Modified: trunk/Source/_javascript_Core/llint/LowLevelInterpreter32_64.asm (264368 => 264369)
--- trunk/Source/_javascript_Core/llint/LowLevelInterpreter32_64.asm 2020-07-14 19:27:34 UTC (rev 264368)
+++ trunk/Source/_javascript_Core/llint/LowLevelInterpreter32_64.asm 2020-07-14 19:50:03 UTC (rev 264369)
@@ -1601,7 +1601,8 @@
metadata(t5, t0)
# Slow path if the private field is stale
- get(m_property, t0)
+ get(m_property, t1)
+ loadConstantOrVariablePayloadUnchecked(size, t1, t0)
loadp OpGetPrivateName::Metadata::m_property[t5], t1
bpneq t1, t0, .opGetPrivateNameSlow
Modified: trunk/Source/_javascript_Core/llint/LowLevelInterpreter64.asm (264368 => 264369)
--- trunk/Source/_javascript_Core/llint/LowLevelInterpreter64.asm 2020-07-14 19:27:34 UTC (rev 264368)
+++ trunk/Source/_javascript_Core/llint/LowLevelInterpreter64.asm 2020-07-14 19:50:03 UTC (rev 264369)
@@ -1699,7 +1699,8 @@
metadata(t2, t0)
# Slow path if the private field is stale
- get(m_property, t0)
+ get(m_property, t1)
+ loadConstantOrVariable(size, t1, t0)
loadp OpGetPrivateName::Metadata::m_property[t2], t1
bpneq t1, t0, .opGetPrivateNameSlow
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes