Похожие чаты

Guys, a question for the experts. How does a stub for

a method that has not yet been compiled know where to get the IL code for compilation?
I wrote a small test program. Using the GetFunctionPonter() method, I got a function pointer, but since the function has not yet been compiled, it points to a JIT stub, but for all methods, even with a different signature, the stub points to the same address. Clarify please.

Edited: I have not been able to find a solution, I have a guess how it works.
A method stub is invoked with the call instruction, which pushes the address of the next instruction onto the stack, and with this, the JIT determines which method is invoked.

10 ответов

18 просмотров
yurii- Автор вопроса
yurii
screenshot

Maybe this will help https://blog.birost.com/a?ID=00850-5f61fb02-9d52-44d0-8301-d58a762f13aa

yurii- Автор вопроса
Wizou
Maybe this will help https://blog.birost.com/a?ID=...

Thanks, but this is not what I was looking for. I want to understand how the method stub determines where to get the IL code for further compilation to machine code. (The screenshots show that the method is called during disassembly, I think that this is the JIT stub, but this stub is identical for all other methods, then how does the stub know which method calls it) Edited: I have not been able to find a solution, I have a guess how it works. A method stub is invoked with the call instruction, which pushes the address of the next instruction onto the stack, and with this, the JIT determines which method is invoked.

yurii- Автор вопроса
yurii
screenshot

those addresses, separated by 8 bytes, doesn't leave much room (only 3 bytes) for extra data between the CALLs though. So maybe just the address itself is the key to another table somewhere else.

yurii- Автор вопроса
yurii
screenshot Not always 8 bytes :)

note that these don't call to the same unique method stub

yurii- Автор вопроса
Wizou
note that these don't call to the same unique meth...

? how it is? all these 4 calls point to the same address

Похожие вопросы

Обсуждают сегодня

30500 за редактор? )
Владимир
47
а через ESC-код ?
Alexey Kulakov
29
Anyone knows where there are some instructions or discort about failed bridge transactions ?
Jochem
21
Чёт не понял, я ж правильной функцией воспользовался чтобы вывести отладочную информацию? но что-то она не ловится
notme
18
Привет)) уже кажется эту тему перемусолили, но вот я так и не понял. Я сейчас сижу на 27дюймов 2к мониторе. На Актуальной макоси, если я куплю 27д 4к монитор: - будет ли изобр...
Vladislav Piskunov
16
Also, why can’t the community have a vote/ say when it comes to initiatives like buybacks. Isn’t the point of crypto decentralisation? Don’t we deserve input as long term supp...
👨🏽‍🦰
13
any reference of this implementation?
BitBuddha
29
Страшнейшая правда про списки ЦБ. С первых дней жизни P2P сферы, молодые человеки, начитавшись законодательной базы и "внутренних" документов, решили, что им противостоит сер...
Foxcool
3
У меня есть функция где происходит это: write_bit(buffer, 1); write_bit(buffer, 0); write_bit(buffer, 1); write_bit(buffer, 1); write_bit(buffer, 1); w...
~
14
Hi guys, any problem with Pulsebrige? Trying to transfer from wETH to ETH. First it tells me to connect my metamask "through mobile app" not desktop. Then I did and confirmed ...
Snowflakecrypto
13
Карта сайта