Explicitly indicate whether the code item is obtained from the compact dex file in SetCodeItem()
ArtMethod class will set the code item according to whether the dex file of the class is compact dex, assuming the primary dex has been compiled the dex file it belongs to became compacted, since jvmti only supports use standard dex to update, and the method is updated before the class, this will lead to unpredictable crashes when running the updated method using nterp.
So we need to explicitly indicate whether the code item is obtained from the compact dex file when call SetCodeItem().
Test: art/test.py -b --host
Change-Id: I7dd4dcada8ad3e0140555836a2afb2d406d06c6c
4 files changed