WebKit Bugzilla
Attachment 342346 Details for
Bug 186446
: jumpTrueOrFalse only takes the fast path for boolean false
Home
|
New
|
Browse
|
Search
|
[?]
|
Reports
|
Requests
|
Help
|
New Account
|
Log In
Remember
[x]
|
Forgot Password
Login:
[x]
[patch]
Patch for landing
bug-186446-20180608170627.patch (text/plain), 2.39 KB, created by
Tadeu Zagallo
on 2018-06-08 17:06:27 PDT
(
hide
)
Description:
Patch for landing
Filename:
MIME Type:
Creator:
Tadeu Zagallo
Created:
2018-06-08 17:06:27 PDT
Size:
2.39 KB
patch
obsolete
>Subversion Revision: 232634 >diff --git a/Source/JavaScriptCore/ChangeLog b/Source/JavaScriptCore/ChangeLog >index e89b57395009cc09d3fd8a8460af9319cfa14bf1..5931f078fd20f03acf07a994494d8645a21c9e37 100644 >--- a/Source/JavaScriptCore/ChangeLog >+++ b/Source/JavaScriptCore/ChangeLog >@@ -1,3 +1,18 @@ >+2018-06-08 Tadeu Zagallo <tzagallo@apple.com> >+ >+ jumpTrueOrFalse only takes the fast path for boolean false on 64bit LLInt >+ https://bugs.webkit.org/show_bug.cgi?id=186446 >+ <rdar://problem/40949995> >+ >+ Reviewed by Mark Lam. >+ >+ On 64bit LLInt, jumpTrueOrFalse did a mask check to take the fast path for >+ boolean literals, but it would only work for false. Change it so that it >+ takes the fast path for true, false, null and undefined. >+ >+ * llint/LowLevelInterpreter.asm: >+ * llint/LowLevelInterpreter64.asm: >+ > 2018-06-07 Chris Dumez <cdumez@apple.com> > > Add base class to get WeakPtrFactory member and avoid some boilerplate code >diff --git a/Source/JavaScriptCore/llint/LowLevelInterpreter.asm b/Source/JavaScriptCore/llint/LowLevelInterpreter.asm >index 549149fb90e1cc496cea5284eb50769a1e2977d3..9e834303613a5c93d31f0fc5c046406f323f3d6a 100644 >--- a/Source/JavaScriptCore/llint/LowLevelInterpreter.asm >+++ b/Source/JavaScriptCore/llint/LowLevelInterpreter.asm >@@ -1583,14 +1583,14 @@ _llint_op_define_accessor_property: > _llint_op_jtrue: > traceExecution() > jumpTrueOrFalse( >- macro (value, target) btinz value, target end, >+ macro (value, target) btinz value, 1, target end, > _llint_slow_path_jtrue) > > > _llint_op_jfalse: > traceExecution() > jumpTrueOrFalse( >- macro (value, target) btiz value, target end, >+ macro (value, target) btiz value, 1, target end, > _llint_slow_path_jfalse) > > >diff --git a/Source/JavaScriptCore/llint/LowLevelInterpreter64.asm b/Source/JavaScriptCore/llint/LowLevelInterpreter64.asm >index 8fc47a12ef6e5a01c558af3ee886958e7406e58a..f867597fc46e531a385561f271b871a98422bab0 100644 >--- a/Source/JavaScriptCore/llint/LowLevelInterpreter64.asm >+++ b/Source/JavaScriptCore/llint/LowLevelInterpreter64.asm >@@ -1821,8 +1821,7 @@ _llint_op_jmp: > macro jumpTrueOrFalse(conditionOp, slow) > loadisFromInstruction(1, t1) > loadConstantOrVariable(t1, t0) >- xorq ValueFalse, t0 >- btqnz t0, -1, .slow >+ btqnz t0, ~0xf, .slow > conditionOp(t0, .target) > dispatch(3) >
You cannot view the attachment while viewing its details because your browser does not support IFRAMEs.
View the attachment on a separate page
.
View Attachment As Diff
View Attachment As Raw
Actions:
View
|
Formatted Diff
|
Diff
Attachments on
bug 186446
:
342326
| 342346