WebKit Bugzilla
New
Browse
Log In
×
Sign in with GitHub
or
Remember my login
Create Account
·
Forgot Password
Forgotten password account recovery
RESOLVED FIXED
234387
[JSC][ARMv7] Minor code size improvements
https://bugs.webkit.org/show_bug.cgi?id=234387
Summary
[JSC][ARMv7] Minor code size improvements
Geza Lore
Reported
2021-12-16 03:45:47 PST
[JSC][ARMv7] Minor code size improvements
Attachments
Patch
(26.92 KB, patch)
2021-12-16 03:47 PST
,
Geza Lore
ews-feeder
: commit-queue-
Details
Formatted Diff
Diff
Patch
(26.90 KB, patch)
2021-12-16 04:36 PST
,
Geza Lore
no flags
Details
Formatted Diff
Diff
Patch
(26.90 KB, patch)
2021-12-16 04:38 PST
,
Geza Lore
no flags
Details
Formatted Diff
Diff
Fix review feedback
(27.86 KB, patch)
2021-12-20 01:01 PST
,
Geza Lore
no flags
Details
Formatted Diff
Diff
Show Obsolete
(3)
View All
Add attachment
proposed patch, testcase, etc.
Geza Lore
Comment 1
2021-12-16 03:47:17 PST
Created
attachment 447342
[details]
Patch
Geza Lore
Comment 2
2021-12-16 04:36:44 PST
Created
attachment 447343
[details]
Patch
Geza Lore
Comment 3
2021-12-16 04:38:29 PST
Created
attachment 447344
[details]
Patch
Yusuke Suzuki
Comment 4
2021-12-18 03:29:55 PST
Comment on
attachment 447344
[details]
Patch View in context:
https://bugs.webkit.org/attachment.cgi?id=447344&action=review
Nice. Commented.
> Source/JavaScriptCore/dfg/DFGSpeculativeJIT32_64.cpp:-696 > - GPRReg thisArgumentTagGPR = thisArgument.tagGPR(); > - GPRReg thisArgumentPayloadGPR = thisArgument.payloadGPR(); > thisArgument.use(); > > - m_jit.store32(thisArgumentTagGPR, JITCompiler::calleeArgumentTagSlot(0)); > - m_jit.store32(thisArgumentPayloadGPR, JITCompiler::calleeArgumentPayloadSlot(0));
Ditto.
> Source/JavaScriptCore/dfg/DFGSpeculativeJIT32_64.cpp:-758 > - GPRReg argTagGPR = arg.tagGPR(); > - GPRReg argPayloadGPR = arg.payloadGPR(); > use(argEdge); > - > - m_jit.store32(argTagGPR, m_jit.calleeArgumentTagSlot(i)); > - m_jit.store32(argPayloadGPR, m_jit.calleeArgumentPayloadSlot(i));
This is not correct. Need to call arg.jsValueRegs() first before calling use() IIRC. So, please follow the original way of the code, do not pass `arg.jsValueRegs()` arg directly, and instead, first define the following. JSValueRegs argsRegs = args.jsValueRegs();
> Source/JavaScriptCore/dfg/DFGSpeculativeJIT32_64.cpp:763 > calleePayloadGPR = callee.payloadGPR();
Let's follow the protocol the other DFG part uses. First, define JSValueRegs calleeRegs = callee.jsValueRegs(); before calling use.
> Source/JavaScriptCore/dfg/DFGSpeculativeJIT32_64.cpp:2193 > GPRTemporary result(this); > GPRTemporary tag(this);
How about using JSValueRegsTemporary?
> Source/JavaScriptCore/dfg/DFGSpeculativeJIT32_64.cpp:2194 > + m_jit.loadValue(JITCompiler::addressFor(node->machineLocal()), JSValueRegs { tag.gpr(), result.gpr() });
Ditto.
> Source/JavaScriptCore/dfg/DFGSpeculativeJIT32_64.cpp:2263 > - m_jit.store32(value.payloadGPR(), JITCompiler::payloadFor(node->machineLocal())); > - m_jit.store32(value.tagGPR(), JITCompiler::tagFor(node->machineLocal())); > + m_jit.storeValue(value.jsValueRegs(), JITCompiler::addressFor(node->machineLocal()));
First define JSValueRegs valueRegs = value.jsValueRegs();
Geza Lore
Comment 5
2021-12-20 01:01:33 PST
Created
attachment 447589
[details]
Fix review feedback
Geza Lore
Comment 6
2021-12-20 01:42:44 PST
Comment on
attachment 447344
[details]
Patch View in context:
https://bugs.webkit.org/attachment.cgi?id=447344&action=review
Thanks these are very helpful. Fixed all.
>> Source/JavaScriptCore/dfg/DFGSpeculativeJIT32_64.cpp:2263 >> + m_jit.storeValue(value.jsValueRegs(), JITCompiler::addressFor(node->machineLocal())); > > First define JSValueRegs valueRegs = value.jsValueRegs();
Not sure this is necessary, most other cases don't do this.
Yusuke Suzuki
Comment 7
2021-12-21 00:10:39 PST
Comment on
attachment 447589
[details]
Fix review feedback r=me
EWS
Comment 8
2021-12-21 00:34:32 PST
Committed
r287301
(
245453@main
): <
https://commits.webkit.org/245453@main
> All reviewed patches have been landed. Closing bug and clearing flags on
attachment 447589
[details]
.
Radar WebKit Bug Importer
Comment 9
2021-12-21 00:35:19 PST
<
rdar://problem/86757902
>
Note
You need to
log in
before you can comment on or make changes to this bug.
Top of Page
Format For Printing
XML
Clone This Bug