RESOLVED FIXED 232265
Refactoring and PutByVal cleanup
https://bugs.webkit.org/show_bug.cgi?id=232265
Summary Refactoring and PutByVal cleanup
Mikhail R. Gadelha
Reported 2021-10-25 13:47:05 PDT
Refactoring and PutByVal cleanup
Attachments
Patch (100.17 KB, patch)
2021-10-25 14:17 PDT, Mikhail R. Gadelha
no flags
Patch (99.68 KB, patch)
2021-10-26 12:24 PDT, Mikhail R. Gadelha
no flags
Patch (99.97 KB, patch)
2021-10-26 13:37 PDT, Mikhail R. Gadelha
no flags
Patch (88.89 KB, patch)
2021-11-04 09:19 PDT, Mikhail R. Gadelha
no flags
Patch (88.86 KB, patch)
2021-11-05 09:50 PDT, Mikhail R. Gadelha
no flags
Patch (88.89 KB, patch)
2021-11-08 10:29 PST, Mikhail R. Gadelha
no flags
Patch (90.31 KB, patch)
2021-11-09 04:19 PST, Mikhail R. Gadelha
no flags
Mikhail R. Gadelha
Comment 1 2021-10-25 14:17:07 PDT
Mikhail R. Gadelha
Comment 2 2021-10-26 12:24:41 PDT
Mikhail R. Gadelha
Comment 3 2021-10-26 13:37:22 PDT
Radar WebKit Bug Importer
Comment 4 2021-11-01 13:48:44 PDT
Saam Barati
Comment 5 2021-11-03 11:33:26 PDT
Comment on attachment 442524 [details] Patch View in context: https://bugs.webkit.org/attachment.cgi?id=442524&action=review > Source/JavaScriptCore/dfg/DFGSpeculativeJIT.cpp:2513 > +#if USE(JSVALUE32_64) > + m_jit.store32(valueTagReg, MacroAssembler::BaseIndex(storageReg, propertyReg, MacroAssembler::TimesEight, OBJECT_OFFSETOF(JSValue, u.asBits.tag))); > + m_jit.store32(valuePayloadReg, MacroAssembler::BaseIndex(storageReg, propertyReg, MacroAssembler::TimesEight, OBJECT_OFFSETOF(JSValue, u.asBits.payload))); > +#else > + m_jit.store64(valueReg, MacroAssembler::BaseIndex(storageReg, propertyReg, MacroAssembler::TimesEight)); > +#endif Is it worth making this code JSValueRegs based? > Source/JavaScriptCore/dfg/DFGSpeculativeJIT.cpp:2547 > +#if USE(JSVALUE32_64) > + m_jit.store32(valueTagReg, MacroAssembler::BaseIndex(storageReg, propertyReg, MacroAssembler::TimesEight, OBJECT_OFFSETOF(JSValue, u.asBits.tag))); > + m_jit.store32(valuePayloadReg, MacroAssembler::BaseIndex(storageReg, propertyReg, MacroAssembler::TimesEight, OBJECT_OFFSETOF(JSValue, u.asBits.payload))); > +#else > + m_jit.store64(valueReg, MacroAssembler::BaseIndex(storageReg, propertyReg, MacroAssembler::TimesEight)); > +#endif ditto > Source/JavaScriptCore/dfg/DFGSpeculativeJIT64.cpp:3555 > + compilePutByVal(node); why? This seems to be just moving code around within the same file. Is the goal just to have compilePutByVal functions on both 32-bit and 64-bit, even though they don't share an implementation?
Mikhail R. Gadelha
Comment 6 2021-11-03 13:34:56 PDT
Comment on attachment 442524 [details] Patch View in context: https://bugs.webkit.org/attachment.cgi?id=442524&action=review >> Source/JavaScriptCore/dfg/DFGSpeculativeJIT.cpp:2513 >> +#endif > > Is it worth making this code JSValueRegs based? OK >> Source/JavaScriptCore/dfg/DFGSpeculativeJIT.cpp:2547 >> +#endif > > ditto OK >> Source/JavaScriptCore/dfg/DFGSpeculativeJIT64.cpp:3555 >> + compilePutByVal(node); > > why? This seems to be just moving code around within the same file. Is the goal just to have compilePutByVal functions on both 32-bit and 64-bit, even though they don't share an implementation? Shipping a shared implementation was my initial plan but I thought the patch was already too long. I'll update it with the shared implementation.
Mikhail R. Gadelha
Comment 7 2021-11-04 09:19:26 PDT
Mikhail R. Gadelha
Comment 8 2021-11-05 09:50:27 PDT
Saam Barati
Comment 9 2021-11-08 09:10:32 PST
Comment on attachment 443410 [details] Patch View in context: https://bugs.webkit.org/attachment.cgi?id=443410&action=review Nice. r=me > Source/JavaScriptCore/ChangeLog:22 > + 6. Removed a lot of whitespace. We don't typically do this. Although the style says not to leave trailing whitespace, we usually don't go back and remove trailing whitespace. I think the main motivation is to make it easier to `blame` code.
Mikhail R. Gadelha
Comment 10 2021-11-08 10:29:39 PST
Mikhail R. Gadelha
Comment 11 2021-11-09 04:19:33 PST
EWS
Comment 12 2021-11-09 13:33:42 PST
Committed r285530 (244047@main): <https://commits.webkit.org/244047@main> All reviewed patches have been landed. Closing bug and clearing flags on attachment 443678 [details].
Yusuke Suzuki
Comment 13 2021-11-15 14:31:07 PST
Caused the regression, tracking in https://bugs.webkit.org/show_bug.cgi?id=233147
Note You need to log in before you can comment on or make changes to this bug.