diff options
author | 2021-03-23 08:09:15 +0000 | |
---|---|---|
committer | 2021-03-27 13:19:58 +0000 | |
commit | c5cd58914325c7fcfd89b1a5bf4daa475c2d83ef (patch) | |
tree | 847a50eaa8331baf617f0fc3161cf36b7fc28680 /libdexfile/dex/dex_instruction_utils.h | |
parent | b3f5c5008770d22a24db6a66bf97bd5a9d32b4ff (diff) |
Remove QUICK bytecodes.
Remove the deprecated unofficial (not part of the spec) bytecodes.
This frees the 16 bytecodes for future use.
Bug: 170086509
Test: m test-art-host-gtest
Test: test.py -r -b --host
Change-Id: I9f6d8a2c21b88f883c8fdc1eb67b24620f313d56
Diffstat (limited to 'libdexfile/dex/dex_instruction_utils.h')
-rw-r--r-- | libdexfile/dex/dex_instruction_utils.h | 33 |
1 files changed, 0 insertions, 33 deletions
diff --git a/libdexfile/dex/dex_instruction_utils.h b/libdexfile/dex/dex_instruction_utils.h index 49179be815..53beb9ff1f 100644 --- a/libdexfile/dex/dex_instruction_utils.h +++ b/libdexfile/dex/dex_instruction_utils.h @@ -68,11 +68,6 @@ constexpr bool IsInstructionInvoke(Instruction::Code opcode) { opcode != Instruction::RETURN_VOID_NO_BARRIER; } -constexpr bool IsInstructionQuickInvoke(Instruction::Code opcode) { - return opcode == Instruction::INVOKE_VIRTUAL_QUICK || - opcode == Instruction::INVOKE_VIRTUAL_RANGE_QUICK; -} - constexpr bool IsInstructionInvokeStatic(Instruction::Code opcode) { return opcode == Instruction::INVOKE_STATIC || opcode == Instruction::INVOKE_STATIC_RANGE; } @@ -117,11 +112,6 @@ constexpr bool IsInstructionIGetOrIPut(Instruction::Code code) { return Instruction::IGET <= code && code <= Instruction::IPUT_SHORT; } -constexpr bool IsInstructionIGetQuickOrIPutQuick(Instruction::Code code) { - return (code >= Instruction::IGET_QUICK && code <= Instruction::IPUT_OBJECT_QUICK) || - (code >= Instruction::IPUT_BOOLEAN_QUICK && code <= Instruction::IGET_SHORT_QUICK); -} - constexpr bool IsInstructionSGetOrSPut(Instruction::Code code) { return Instruction::SGET <= code && code <= Instruction::SPUT_SHORT; } @@ -181,29 +171,6 @@ constexpr DexMemAccessType IGetOrIPutMemAccessType(Instruction::Code code) { return (code >= Instruction::IPUT) ? IPutMemAccessType(code) : IGetMemAccessType(code); } -inline DexMemAccessType IGetQuickOrIPutQuickMemAccessType(Instruction::Code code) { - DCHECK(IsInstructionIGetQuickOrIPutQuick(code)); - switch (code) { - case Instruction::IGET_QUICK: case Instruction::IPUT_QUICK: - return kDexMemAccessWord; - case Instruction::IGET_WIDE_QUICK: case Instruction::IPUT_WIDE_QUICK: - return kDexMemAccessWide; - case Instruction::IGET_OBJECT_QUICK: case Instruction::IPUT_OBJECT_QUICK: - return kDexMemAccessObject; - case Instruction::IGET_BOOLEAN_QUICK: case Instruction::IPUT_BOOLEAN_QUICK: - return kDexMemAccessBoolean; - case Instruction::IGET_BYTE_QUICK: case Instruction::IPUT_BYTE_QUICK: - return kDexMemAccessByte; - case Instruction::IGET_CHAR_QUICK: case Instruction::IPUT_CHAR_QUICK: - return kDexMemAccessChar; - case Instruction::IGET_SHORT_QUICK: case Instruction::IPUT_SHORT_QUICK: - return kDexMemAccessShort; - default: - LOG(FATAL) << code; - UNREACHABLE(); - } -} - constexpr DexMemAccessType SGetOrSPutMemAccessType(Instruction::Code code) { DCHECK(IsInstructionSGetOrSPut(code)); return (code >= Instruction::SPUT) ? SPutMemAccessType(code) : SGetMemAccessType(code); |