Summary: | Add placeholder call and jump MacroAssembler emitters that take PtrTag in a register. | ||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Product: | WebKit | Reporter: | Mark Lam <mark.lam> | ||||||||||
Component: | JavaScriptCore | Assignee: | Mark Lam <mark.lam> | ||||||||||
Status: | RESOLVED FIXED | ||||||||||||
Severity: | Normal | CC: | fpizlo, jfbastien, keith_miller, msaboff, rmorisset, saam, webkit-bug-importer | ||||||||||
Priority: | P2 | Keywords: | InRadar | ||||||||||
Version: | WebKit Nightly Build | ||||||||||||
Hardware: | Unspecified | ||||||||||||
OS: | Unspecified | ||||||||||||
Attachments: |
|
Description
Mark Lam
2018-03-22 13:05:25 PDT
Created attachment 336299 [details]
proposed patch.
Created attachment 336302 [details]
proposed patch.
Created attachment 336303 [details]
proposed patch.
Created attachment 336305 [details]
proposed patch.
Thanks for the review. Landed in r229863: <http://trac.webkit.org/r229863>. Comment on attachment 336305 [details]
proposed patch.
This change is pretty crazy. First of all, the intended use of call tags is that they should be constants, so having them be passed in register by default is revealing a weird ARMism - in all other places, constants are passed to the assembler as constants, not as registers. Second, it means that call(register) now means something completely different than what anyone would expect it to mean: it means a patchable call and the register is ignored!
Is it possible to roll this out?
|