WebKit Bugzilla
Attachment 342326 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
bug-186446-20180608141850.patch (text/plain), 2.35 KB, created by
Tadeu Zagallo
on 2018-06-08 14:18:51 PDT
(
hide
)
Description:
Patch
Filename:
MIME Type:
Creator:
Tadeu Zagallo
Created:
2018-06-08 14:18:51 PDT
Size:
2.35 KB
patch
obsolete
>Subversion Revision: 232634 >diff --git a/Source/JavaScriptCore/ChangeLog b/Source/JavaScriptCore/ChangeLog >index e89b57395009cc09d3fd8a8460af9319cfa14bf1..47d7f2392043f6a5c7e010df83892c3b1703dd4d 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 >+ https://bugs.webkit.org/show_bug.cgi?id=186446 >+ <rdar://problem/40949995> >+ >+ Reviewed by NOBODY (OOPS!). >+ >+ 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 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..aa7bd9ec195de64d52541b44d15f0e2612d66d50 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, ~15, .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