Remove JIT icall hashing by address. (mono/mono#14870)
authorJay Krell <jaykrell@microsoft.com>
Tue, 11 Jun 2019 04:40:39 +0000 (21:40 -0700)
committerAlexis Christoforides <alexis@thenull.net>
Tue, 11 Jun 2019 04:40:39 +0000 (07:40 +0300)
commit9e070ac05ca7e7af18e61ee8bf14ce5d29bb305e
tree0cff18d982babe6c442295261d4e9e781de983dc
parent5351dd8a1e8a9dbf6b31a54e2781a2635c6c0e5c
Remove JIT icall hashing by address. (mono/mono#14870)

* Work toward removing JIT icall hashing by address.

* Remove JIT icall hashing by address.

* Cleanup amd64 emit_call use.

* Move MonoJumpInfoTarget to among types, not functions.
If mini.h includes mini-runtime.h, then can move it nearer MonoJumpInfo.
Or if returned by out parameter (pointer) instead of struct by value.
Or pair of out parameters instead of struct.

* Closer to historical semantics, at least to avoid assertion failure, will try to refine in a later PR.

* Remove new comments about partial barriers, I think the comments are wrong and the code is correct (except that lock/unlock probably need to be full barriers, if they are not.)

* PR: Don't worry about size of MonoCallInst.jit_icall_id. Let it be 32 or 64 bits instead of 9.

Commit migrated from https://github.com/mono/mono/commit/c398e19d3515c6bbb6046ed014b2095594a15229
16 files changed:
src/mono/mono/metadata/class-internals.h
src/mono/mono/metadata/icall.c
src/mono/mono/mini/calls.c
src/mono/mono/mini/decompose.c
src/mono/mono/mini/method-to-ir.c
src/mono/mono/mini/mini-amd64.c
src/mono/mono/mini/mini-arm64.c
src/mono/mono/mini/mini-codegen.c
src/mono/mono/mini/mini-llvm.c
src/mono/mono/mini/mini-runtime.c
src/mono/mono/mini/mini-s390x.c
src/mono/mono/mini/mini-sparc.c
src/mono/mono/mini/mini-x86.c
src/mono/mono/mini/mini.c
src/mono/mono/mini/mini.h
src/mono/mono/mini/tramp-wasm.c