[llvm] Define a separate symbol for the aot method info for every method. Pass this symbol to the init functions instead of the method index. (#19298)
* [llvm] Define a separate symbol for the aot method info for every method. Pass this symbol to the init functions instead of the
method index.
This removes a dependency the generated code has on the method index, hopefully allowing separate compilation etc. in the future.
* Put the method flags into a separate AOT table so they can be accessed without decoding the method info structure, which is not available to the runtime for LLVM methods.
* Make the LLVM methods set the init flag themselves. This will allow the init flag to be changed to a per-method scalar later to remove
a dependency on the method index.
Also rename init_icall_wrapper to init_func, it does much more than just calling the icall.