WebKit Bugzilla
Attachment 359022 Details for
Bug 193393
: Fix property access on ARM with the baseline JIT
Home
|
New
|
Browse
|
Search
|
[?]
|
Reports
|
Requests
|
Help
|
New Account
|
Log In
Remember
[x]
|
Forgot Password
Login:
[x]
[patch]
Patch
bug-193393-20190114111444.patch (text/plain), 3.54 KB, created by
Dominik Inführ
on 2019-01-14 02:14:45 PST
(
hide
)
Description:
Patch
Filename:
MIME Type:
Creator:
Dominik Inführ
Created:
2019-01-14 02:14:45 PST
Size:
3.54 KB
patch
obsolete
>Subversion Revision: 239916 >diff --git a/Source/JavaScriptCore/ChangeLog b/Source/JavaScriptCore/ChangeLog >index df789492e590f3dfa3f17ecf18bd2e2555334e42..3ea90a056a6d84b49a4c4f3a6c5c04afa799bdd8 100644 >--- a/Source/JavaScriptCore/ChangeLog >+++ b/Source/JavaScriptCore/ChangeLog >@@ -1,3 +1,18 @@ >+2019-01-14 Dominik Infuehr <dinfuehr@igalia.com> >+ >+ Fix property access on ARM with the baseline JIT >+ https://bugs.webkit.org/show_bug.cgi?id=193393 >+ >+ Reviewed by NOBODY (OOPS!). >+ >+ Code was still using currentInstruction[4] to access the instruction's metadata. >+ Updated to use metadata.getPutInfo and metadata.resolveType. >+ >+ * jit/JITPropertyAccess32_64.cpp: >+ (JSC::JIT::emit_op_resolve_scope): >+ (JSC::JIT::emit_op_get_from_scope): >+ (JSC::JIT::emit_op_put_to_scope): >+ > 2019-01-12 Timothy Hatcher <timothy@apple.com> > > Have prefers-color-scheme: light always match on macOS versions before Mojave. >diff --git a/Source/JavaScriptCore/jit/JITPropertyAccess32_64.cpp b/Source/JavaScriptCore/jit/JITPropertyAccess32_64.cpp >index 657d608453b189ded72773b91313b1e00ec3c28f..5aa27b899175a6e3b316c317ed79e0d28c702900 100644 >--- a/Source/JavaScriptCore/jit/JITPropertyAccess32_64.cpp >+++ b/Source/JavaScriptCore/jit/JITPropertyAccess32_64.cpp >@@ -815,7 +815,7 @@ void JIT::emit_op_resolve_scope(const Instruction* currentInstruction) > case UnresolvedProperty: > case UnresolvedPropertyWithVarInjectionChecks: { > JumpList skipToEnd; >- load32(¤tInstruction[4], regT0); >+ load32(&metadata.resolveType, regT0); > > Jump notGlobalProperty = branch32(NotEqual, regT0, TrustedImm32(GlobalProperty)); > emitCode(GlobalProperty); >@@ -940,7 +940,7 @@ void JIT::emit_op_get_from_scope(const Instruction* currentInstruction) > case GlobalProperty: > case GlobalPropertyWithVarInjectionChecks: { > JumpList skipToEnd; >- load32(¤tInstruction[4], regT0); >+ load32(&metadata.getPutInfo, regT0); > and32(TrustedImm32(GetPutInfo::typeBits), regT0); // Load ResolveType into T0 > > Jump isNotGlobalProperty = branch32(NotEqual, regT0, TrustedImm32(resolveType)); >@@ -955,7 +955,7 @@ void JIT::emit_op_get_from_scope(const Instruction* currentInstruction) > case UnresolvedProperty: > case UnresolvedPropertyWithVarInjectionChecks: { > JumpList skipToEnd; >- load32(¤tInstruction[4], regT0); >+ load32(&metadata.getPutInfo, regT0); > and32(TrustedImm32(GetPutInfo::typeBits), regT0); // Load ResolveType into T0 > > Jump isGlobalProperty = branch32(Equal, regT0, TrustedImm32(GlobalProperty)); >@@ -1095,7 +1095,7 @@ void JIT::emit_op_put_to_scope(const Instruction* currentInstruction) > case GlobalProperty: > case GlobalPropertyWithVarInjectionChecks: { > JumpList skipToEnd; >- load32(¤tInstruction[4], regT0); >+ load32(&metadata.getPutInfo, regT0); > and32(TrustedImm32(GetPutInfo::typeBits), regT0); // Load ResolveType into T0 > > Jump isGlobalProperty = branch32(Equal, regT0, TrustedImm32(resolveType)); >@@ -1114,7 +1114,7 @@ void JIT::emit_op_put_to_scope(const Instruction* currentInstruction) > case UnresolvedProperty: > case UnresolvedPropertyWithVarInjectionChecks: { > JumpList skipToEnd; >- load32(¤tInstruction[4], regT0); >+ load32(&metadata.getPutInfo, regT0); > and32(TrustedImm32(GetPutInfo::typeBits), regT0); // Load ResolveType into T0 > > Jump isGlobalProperty = branch32(Equal, regT0, TrustedImm32(GlobalProperty));
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 193393
: 359022