Move MH callsite check from intrinsics to IR.
If constant-ness of MethodHandle and const-method-type are
passed to the compiler checkExactType call could be eliminated.
Might be harder to pass that information into intrinsics.
Note on the added test: I initially set wrong
HInvokeStaticOrDirect::DispatchInfo for checkExactType method call
and it was only VarHandleTestMethodHandleAccessBoolean test which
was affected. So I created a smaller repro to target that crash
specifically.
Bug: 297147201
Flag: EXEMPT PURE_REFACTOR
Test: ./art/test/testrunner/testrunner.py -b --target --64
Test: ./art/test/testrunner/testrunner.py -b --host --64
Test: ./art/test/testrunner/testrunner.py -b --host --jit --64 -t 2396
Test: ./art/test/testrunner/testrunner.py -b --target --jit --64 -t 2396
Test: art/tools/run-gtests.sh
Change-Id: I643a96b40dea628d134494f1a7808694c11c47c3
16 files changed