diff options
author | 2023-11-09 18:07:24 +0100 | |
---|---|---|
committer | 2023-11-20 10:38:07 +0000 | |
commit | 4f2fcccce50f229cb2b00cc07c040473a59c120b (patch) | |
tree | 2f5a6d61b796b95ea63e60bea47cbf6d9be2c482 /compiler/optimizing/intrinsic_objects.h | |
parent | 58310a99bcda9a45bc1e07f8d36f4c847f345457 (diff) |
Do not create `MethodType` during early init...
... when interpreting `VarHandle` invoke-polymorphic.
Use `VariableSizedHandleScope` as a raw method type that can
be converted to the managed `MethodType` when desires but
can also be used directly without the conversion. Add helper
templates that facilitate using either the raw method type
or the managed `MethodType` easily by templated code.
Change `VarHandleInvokeAccessorWithConversions()` to avoid
allocating the `MethodType` (avoid unnecessary work).
Change `VarHandle` invokes in the interpreter to avoid
allocating the `MethodType` when the `ThreadLocalRandom`
is not initialized. This can avoid circular initialization
when we reland
https://android-review.googlesource.com/2769639 .
Test: m test-art-host-gtest
Test: testrunner.py --host --optimizing
Bug: 297147201
Change-Id: I6a9372543a547366b28e5bf49d15d6140a75f770
Diffstat (limited to 'compiler/optimizing/intrinsic_objects.h')
0 files changed, 0 insertions, 0 deletions