sbc100 wrote:

> The short answer is that's what the [Lime1 CPU calls 
> it](https://github.com/WebAssembly/tool-conventions/blob/main/Lime.md#lime1) 
> 😄 .
> 
> > Can you explain why you want call-indirect-overlong in lime1? Is it because 
> > you want to be able to link files compiles with multi-table? i.e. do you 
> > want/expect type relocations at every call_indirect site? If so then 
> > perhaps a better name might be call-indirect-relocatable? Or maybe even 
> > multi-table-compatible? Sorry for the bikesheding and this late stage..
> 
> I included call-indirect-overlong in my original Lime1 proposal because of 
> the simplicity of it. I expected it's easy for mvp-level engines to add 
> support for it. And the more engines support it, the fewer users will see 
> obscure binary decoding errors in cases where a toolchain tries to use an 
> overlong and an engine doesn't recognize it.
> 
> Concerning naming, from Lime1's perspective, call-indirect-overlong is just a 
> language feature. It's not inherently _for_ call-indirect relocations or 
> multi-table separate compilation strategies. Engines should just accept 
> `call_indirect` instructions with overlongs, so it's called 
> "call-indirect-overlong". Toolchains can then use that behavior whenever they 
> have a need for it.

I see, so in practice the effect on LLVM is that you get a relocation at each 
call_indirect site but we don't need this relocation of the wide encoding for 
any particular reason. 

It seems like a lot of steps and complexity just to force some binary decoders 
to support an otherwise unused feature.. but you think its worth the effort?

https://github.com/llvm/llvm-project/pull/117087
_______________________________________________
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

Reply via email to