WebKit Bugzilla
Attachment 361935 Details for
Bug 194610
: AirIRGenerator::addSwitch switch patchpoint needs to model clobbering the scratch register
Home
|
New
|
Browse
|
Search
|
[?]
|
Reports
|
Requests
|
Help
|
New Account
|
Log In
Remember
[x]
|
Forgot Password
Login:
[x]
[patch]
patch
c-backup.diff (text/plain), 1.66 KB, created by
Saam Barati
on 2019-02-13 13:50:27 PST
(
hide
)
Description:
patch
Filename:
MIME Type:
Creator:
Saam Barati
Created:
2019-02-13 13:50:27 PST
Size:
1.66 KB
patch
obsolete
>Index: Source/JavaScriptCore/ChangeLog >=================================================================== >--- Source/JavaScriptCore/ChangeLog (revision 241470) >+++ Source/JavaScriptCore/ChangeLog (working copy) >@@ -1,3 +1,17 @@ >+2019-02-13 Saam Barati <sbarati@apple.com> >+ >+ AirIRGenerator::addSwitch switch patchpoint needs to model clobbering the scratch register >+ https://bugs.webkit.org/show_bug.cgi?id=194610 >+ >+ Reviewed by NOBODY (OOPS!). >+ >+ BinarySwitch might use the scratch register. We must model the >+ effects of that properly. This is already caught by our br-table >+ tests on arm64. >+ >+ * wasm/WasmAirIRGenerator.cpp: >+ (JSC::Wasm::AirIRGenerator::addSwitch): >+ > 2019-02-13 Mark Lam <mark.lam@apple.com> > > Create a randomized free list for new StructureIDs on StructureIDTable resize. >Index: Source/JavaScriptCore/wasm/WasmAirIRGenerator.cpp >=================================================================== >--- Source/JavaScriptCore/wasm/WasmAirIRGenerator.cpp (revision 241450) >+++ Source/JavaScriptCore/wasm/WasmAirIRGenerator.cpp (working copy) >@@ -1544,8 +1544,11 @@ auto AirIRGenerator::addSwitch(Expressio > auto* patchpoint = addPatchpoint(B3::Void); > patchpoint->effects = B3::Effects::none(); > patchpoint->effects.terminal = true; >+ patchpoint->clobber(RegisterSet::macroScratchRegisters()); > > patchpoint->setGenerator([=] (CCallHelpers& jit, const B3::StackmapGenerationParams& params) { >+ AllowMacroScratchRegisterUsage allowScratch(jit); >+ > Vector<int64_t> cases; > cases.reserveInitialCapacity(numTargets); > for (size_t i = 0; i < numTargets; ++i)
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 194610
: 361935