summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--dexdump/DexDump.cpp12
-rw-r--r--docs/dalvik-bytecode.html166
-rw-r--r--docs/instruction-formats.html56
-rw-r--r--dx/src/com/android/dx/dex/code/Dops.java276
-rw-r--r--dx/src/com/android/dx/dex/code/InsnFormat.java5
-rw-r--r--dx/src/com/android/dx/dex/code/form/Form32s.java118
-rw-r--r--dx/src/com/android/dx/dex/code/form/Form33x.java101
-rw-r--r--dx/src/com/android/dx/dex/code/form/Form41c.java144
-rw-r--r--dx/src/com/android/dx/dex/code/form/Form52c.java115
-rw-r--r--dx/src/com/android/dx/dex/code/form/Form5rc.java105
-rw-r--r--dx/src/com/android/dx/io/OpcodeInfo.java195
-rw-r--r--dx/src/com/android/dx/io/Opcodes.java39
-rw-r--r--dx/src/com/android/dx/io/instructions/DecodedInstruction.java2
-rw-r--r--dx/src/com/android/dx/io/instructions/InstructionCodec.java133
-rw-r--r--libdex/DexOpcodes.cpp258
-rw-r--r--libdex/DexOpcodes.h518
-rw-r--r--libdex/InstrUtils.cpp435
-rw-r--r--libdex/InstrUtils.h6
-rw-r--r--opcode-gen/bytecode.txt76
-rw-r--r--opcode-gen/opcode-gen.awk12
-rw-r--r--vm/analysis/CodeVerify.cpp355
-rw-r--r--vm/analysis/DexVerify.cpp260
-rw-r--r--vm/analysis/Liveness.cpp258
-rw-r--r--vm/analysis/Optimize.cpp156
-rw-r--r--vm/compiler/Dataflow.cpp772
-rw-r--r--vm/compiler/Frontend.cpp41
-rw-r--r--vm/compiler/codegen/arm/CodegenDriver.cpp146
-rw-r--r--vm/compiler/codegen/arm/armv7-a-neon/MethodCodegenDriver.cpp29
-rw-r--r--vm/interp/Interp.h3
-rw-r--r--vm/mterp/armv5te/ALT_OP_DISPATCH_FF.S10
-rw-r--r--vm/mterp/armv5te/OP_CHECK_CAST_JUMBO.S75
-rw-r--r--vm/mterp/armv5te/OP_CONST_CLASS_JUMBO.S37
-rw-r--r--vm/mterp/armv5te/OP_DISPATCH_FF.S5
-rw-r--r--vm/mterp/armv5te/OP_FILLED_NEW_ARRAY_JUMBO.S85
-rw-r--r--vm/mterp/armv5te/OP_IGET_BOOLEAN_JUMBO.S3
-rw-r--r--vm/mterp/armv5te/OP_IGET_BYTE_JUMBO.S4
-rw-r--r--vm/mterp/armv5te/OP_IGET_CHAR_JUMBO.S4
-rw-r--r--vm/mterp/armv5te/OP_IGET_JUMBO.S57
-rw-r--r--vm/mterp/armv5te/OP_IGET_OBJECT_JUMBO.S2
-rw-r--r--vm/mterp/armv5te/OP_IGET_OBJECT_VOLATILE_JUMBO.S2
-rw-r--r--vm/mterp/armv5te/OP_IGET_SHORT_JUMBO.S4
-rw-r--r--vm/mterp/armv5te/OP_IGET_VOLATILE_JUMBO.S2
-rw-r--r--vm/mterp/armv5te/OP_IGET_WIDE_JUMBO.S58
-rw-r--r--vm/mterp/armv5te/OP_IGET_WIDE_VOLATILE_JUMBO.S2
-rw-r--r--vm/mterp/armv5te/OP_INSTANCE_OF_JUMBO.S98
-rw-r--r--vm/mterp/armv5te/OP_INVOKE_DIRECT_JUMBO.S42
-rw-r--r--vm/mterp/armv5te/OP_INVOKE_INTERFACE_JUMBO.S22
-rw-r--r--vm/mterp/armv5te/OP_INVOKE_OBJECT_INIT_JUMBO.S2
-rw-r--r--vm/mterp/armv5te/OP_INVOKE_OBJECT_INIT_RANGE.S4
-rw-r--r--vm/mterp/armv5te/OP_INVOKE_STATIC_JUMBO.S51
-rw-r--r--vm/mterp/armv5te/OP_INVOKE_SUPER_JUMBO.S55
-rw-r--r--vm/mterp/armv5te/OP_INVOKE_VIRTUAL_JUMBO.S39
-rw-r--r--vm/mterp/armv5te/OP_IPUT_BOOLEAN_JUMBO.S3
-rw-r--r--vm/mterp/armv5te/OP_IPUT_BYTE_JUMBO.S3
-rw-r--r--vm/mterp/armv5te/OP_IPUT_CHAR_JUMBO.S3
-rw-r--r--vm/mterp/armv5te/OP_IPUT_JUMBO.S58
-rw-r--r--vm/mterp/armv5te/OP_IPUT_OBJECT_JUMBO.S58
-rw-r--r--vm/mterp/armv5te/OP_IPUT_OBJECT_VOLATILE_JUMBO.S2
-rw-r--r--vm/mterp/armv5te/OP_IPUT_SHORT_JUMBO.S3
-rw-r--r--vm/mterp/armv5te/OP_IPUT_VOLATILE_JUMBO.S2
-rw-r--r--vm/mterp/armv5te/OP_IPUT_WIDE_JUMBO.S55
-rw-r--r--vm/mterp/armv5te/OP_IPUT_WIDE_VOLATILE_JUMBO.S2
-rw-r--r--vm/mterp/armv5te/OP_NEW_ARRAY_JUMBO.S62
-rw-r--r--vm/mterp/armv5te/OP_NEW_INSTANCE_JUMBO.S103
-rw-r--r--vm/mterp/armv5te/OP_SGET_BOOLEAN_JUMBO.S2
-rw-r--r--vm/mterp/armv5te/OP_SGET_BYTE_JUMBO.S2
-rw-r--r--vm/mterp/armv5te/OP_SGET_CHAR_JUMBO.S2
-rw-r--r--vm/mterp/armv5te/OP_SGET_JUMBO.S53
-rw-r--r--vm/mterp/armv5te/OP_SGET_OBJECT_JUMBO.S2
-rw-r--r--vm/mterp/armv5te/OP_SGET_OBJECT_VOLATILE_JUMBO.S2
-rw-r--r--vm/mterp/armv5te/OP_SGET_SHORT_JUMBO.S2
-rw-r--r--vm/mterp/armv5te/OP_SGET_VOLATILE_JUMBO.S2
-rw-r--r--vm/mterp/armv5te/OP_SGET_WIDE_JUMBO.S46
-rw-r--r--vm/mterp/armv5te/OP_SGET_WIDE_VOLATILE_JUMBO.S2
-rw-r--r--vm/mterp/armv5te/OP_SPUT_BOOLEAN_JUMBO.S2
-rw-r--r--vm/mterp/armv5te/OP_SPUT_BYTE_JUMBO.S2
-rw-r--r--vm/mterp/armv5te/OP_SPUT_CHAR_JUMBO.S2
-rw-r--r--vm/mterp/armv5te/OP_SPUT_JUMBO.S54
-rw-r--r--vm/mterp/armv5te/OP_SPUT_OBJECT_JUMBO.S59
-rw-r--r--vm/mterp/armv5te/OP_SPUT_OBJECT_VOLATILE_JUMBO.S2
-rw-r--r--vm/mterp/armv5te/OP_SPUT_SHORT_JUMBO.S2
-rw-r--r--vm/mterp/armv5te/OP_SPUT_VOLATILE_JUMBO.S2
-rw-r--r--vm/mterp/armv5te/OP_SPUT_WIDE_JUMBO.S59
-rw-r--r--vm/mterp/armv5te/OP_SPUT_WIDE_VOLATILE_JUMBO.S2
-rw-r--r--vm/mterp/armv5te/OP_THROW_VERIFICATION_ERROR_JUMBO.S15
-rw-r--r--vm/mterp/armv5te/OP_UNUSED_28FF.S1
-rw-r--r--vm/mterp/armv5te/OP_UNUSED_29FF.S1
-rw-r--r--vm/mterp/armv5te/OP_UNUSED_2AFF.S1
-rw-r--r--vm/mterp/armv5te/OP_UNUSED_2BFF.S1
-rw-r--r--vm/mterp/armv5te/OP_UNUSED_2CFF.S1
-rw-r--r--vm/mterp/armv5te/OP_UNUSED_2DFF.S1
-rw-r--r--vm/mterp/armv5te/OP_UNUSED_2EFF.S1
-rw-r--r--vm/mterp/armv5te/OP_UNUSED_2FFF.S1
-rw-r--r--vm/mterp/armv5te/OP_UNUSED_30FF.S1
-rw-r--r--vm/mterp/armv5te/OP_UNUSED_31FF.S1
-rw-r--r--vm/mterp/armv5te/OP_UNUSED_32FF.S1
-rw-r--r--vm/mterp/armv5te/OP_UNUSED_33FF.S1
-rw-r--r--vm/mterp/armv5te/OP_UNUSED_34FF.S1
-rw-r--r--vm/mterp/armv5te/OP_UNUSED_35FF.S1
-rw-r--r--vm/mterp/armv5te/OP_UNUSED_36FF.S1
-rw-r--r--vm/mterp/armv5te/OP_UNUSED_37FF.S1
-rw-r--r--vm/mterp/armv5te/OP_UNUSED_38FF.S1
-rw-r--r--vm/mterp/armv5te/OP_UNUSED_39FF.S1
-rw-r--r--vm/mterp/armv5te/OP_UNUSED_3AFF.S1
-rw-r--r--vm/mterp/armv5te/OP_UNUSED_3BFF.S1
-rw-r--r--vm/mterp/armv5te/OP_UNUSED_3CFF.S1
-rw-r--r--vm/mterp/armv5te/OP_UNUSED_3DFF.S1
-rw-r--r--vm/mterp/armv5te/OP_UNUSED_3EFF.S1
-rw-r--r--vm/mterp/armv5te/OP_UNUSED_3FFF.S1
-rw-r--r--vm/mterp/armv5te/OP_UNUSED_40FF.S1
-rw-r--r--vm/mterp/armv5te/OP_UNUSED_41FF.S1
-rw-r--r--vm/mterp/armv5te/OP_UNUSED_42FF.S1
-rw-r--r--vm/mterp/armv5te/OP_UNUSED_43FF.S1
-rw-r--r--vm/mterp/armv5te/OP_UNUSED_44FF.S1
-rw-r--r--vm/mterp/armv5te/OP_UNUSED_45FF.S1
-rw-r--r--vm/mterp/armv5te/OP_UNUSED_46FF.S1
-rw-r--r--vm/mterp/armv5te/OP_UNUSED_47FF.S1
-rw-r--r--vm/mterp/armv5te/OP_UNUSED_48FF.S1
-rw-r--r--vm/mterp/armv5te/OP_UNUSED_49FF.S1
-rw-r--r--vm/mterp/armv5te/OP_UNUSED_4AFF.S1
-rw-r--r--vm/mterp/armv5te/OP_UNUSED_4BFF.S1
-rw-r--r--vm/mterp/armv5te/OP_UNUSED_4CFF.S1
-rw-r--r--vm/mterp/armv5te/OP_UNUSED_4DFF.S1
-rw-r--r--vm/mterp/armv5te/OP_UNUSED_4EFF.S1
-rw-r--r--vm/mterp/armv5te/OP_UNUSED_4FFF.S1
-rw-r--r--vm/mterp/armv5te/OP_UNUSED_50FF.S1
-rw-r--r--vm/mterp/armv5te/OP_UNUSED_51FF.S1
-rw-r--r--vm/mterp/armv5te/OP_UNUSED_52FF.S1
-rw-r--r--vm/mterp/armv5te/OP_UNUSED_53FF.S1
-rw-r--r--vm/mterp/armv5te/OP_UNUSED_54FF.S1
-rw-r--r--vm/mterp/armv5te/OP_UNUSED_55FF.S1
-rw-r--r--vm/mterp/armv5te/OP_UNUSED_56FF.S1
-rw-r--r--vm/mterp/armv5te/OP_UNUSED_57FF.S1
-rw-r--r--vm/mterp/armv5te/OP_UNUSED_58FF.S1
-rw-r--r--vm/mterp/armv5te/OP_UNUSED_59FF.S1
-rw-r--r--vm/mterp/armv5te/OP_UNUSED_5AFF.S1
-rw-r--r--vm/mterp/armv5te/OP_UNUSED_5BFF.S1
-rw-r--r--vm/mterp/armv5te/OP_UNUSED_5CFF.S1
-rw-r--r--vm/mterp/armv5te/OP_UNUSED_5DFF.S1
-rw-r--r--vm/mterp/armv5te/OP_UNUSED_5EFF.S1
-rw-r--r--vm/mterp/armv5te/OP_UNUSED_5FFF.S1
-rw-r--r--vm/mterp/armv5te/OP_UNUSED_60FF.S1
-rw-r--r--vm/mterp/armv5te/OP_UNUSED_61FF.S1
-rw-r--r--vm/mterp/armv5te/OP_UNUSED_62FF.S1
-rw-r--r--vm/mterp/armv5te/OP_UNUSED_63FF.S1
-rw-r--r--vm/mterp/armv5te/OP_UNUSED_64FF.S1
-rw-r--r--vm/mterp/armv5te/OP_UNUSED_65FF.S1
-rw-r--r--vm/mterp/armv5te/OP_UNUSED_66FF.S1
-rw-r--r--vm/mterp/armv5te/OP_UNUSED_67FF.S1
-rw-r--r--vm/mterp/armv5te/OP_UNUSED_68FF.S1
-rw-r--r--vm/mterp/armv5te/OP_UNUSED_69FF.S1
-rw-r--r--vm/mterp/armv5te/OP_UNUSED_6AFF.S1
-rw-r--r--vm/mterp/armv5te/OP_UNUSED_6BFF.S1
-rw-r--r--vm/mterp/armv5te/OP_UNUSED_6CFF.S1
-rw-r--r--vm/mterp/armv5te/OP_UNUSED_6DFF.S1
-rw-r--r--vm/mterp/armv5te/OP_UNUSED_6EFF.S1
-rw-r--r--vm/mterp/armv5te/OP_UNUSED_6FFF.S1
-rw-r--r--vm/mterp/armv5te/OP_UNUSED_70FF.S1
-rw-r--r--vm/mterp/armv5te/OP_UNUSED_71FF.S1
-rw-r--r--vm/mterp/armv5te/OP_UNUSED_72FF.S1
-rw-r--r--vm/mterp/armv5te/OP_UNUSED_73FF.S1
-rw-r--r--vm/mterp/armv5te/OP_UNUSED_74FF.S1
-rw-r--r--vm/mterp/armv5te/OP_UNUSED_75FF.S1
-rw-r--r--vm/mterp/armv5te/OP_UNUSED_76FF.S1
-rw-r--r--vm/mterp/armv5te/OP_UNUSED_77FF.S1
-rw-r--r--vm/mterp/armv5te/OP_UNUSED_78FF.S1
-rw-r--r--vm/mterp/armv5te/OP_UNUSED_79FF.S1
-rw-r--r--vm/mterp/armv5te/OP_UNUSED_7AFF.S1
-rw-r--r--vm/mterp/armv5te/OP_UNUSED_7BFF.S1
-rw-r--r--vm/mterp/armv5te/OP_UNUSED_7CFF.S1
-rw-r--r--vm/mterp/armv5te/OP_UNUSED_7DFF.S1
-rw-r--r--vm/mterp/armv5te/OP_UNUSED_7EFF.S1
-rw-r--r--vm/mterp/armv5te/OP_UNUSED_7FFF.S1
-rw-r--r--vm/mterp/armv5te/OP_UNUSED_80FF.S1
-rw-r--r--vm/mterp/armv5te/OP_UNUSED_81FF.S1
-rw-r--r--vm/mterp/armv5te/OP_UNUSED_82FF.S1
-rw-r--r--vm/mterp/armv5te/OP_UNUSED_83FF.S1
-rw-r--r--vm/mterp/armv5te/OP_UNUSED_84FF.S1
-rw-r--r--vm/mterp/armv5te/OP_UNUSED_85FF.S1
-rw-r--r--vm/mterp/armv5te/OP_UNUSED_86FF.S1
-rw-r--r--vm/mterp/armv5te/OP_UNUSED_87FF.S1
-rw-r--r--vm/mterp/armv5te/OP_UNUSED_88FF.S1
-rw-r--r--vm/mterp/armv5te/OP_UNUSED_89FF.S1
-rw-r--r--vm/mterp/armv5te/OP_UNUSED_8AFF.S1
-rw-r--r--vm/mterp/armv5te/OP_UNUSED_8BFF.S1
-rw-r--r--vm/mterp/armv5te/OP_UNUSED_8CFF.S1
-rw-r--r--vm/mterp/armv5te/OP_UNUSED_8DFF.S1
-rw-r--r--vm/mterp/armv5te/OP_UNUSED_8EFF.S1
-rw-r--r--vm/mterp/armv5te/OP_UNUSED_8FFF.S1
-rw-r--r--vm/mterp/armv5te/OP_UNUSED_90FF.S1
-rw-r--r--vm/mterp/armv5te/OP_UNUSED_91FF.S1
-rw-r--r--vm/mterp/armv5te/OP_UNUSED_92FF.S1
-rw-r--r--vm/mterp/armv5te/OP_UNUSED_93FF.S1
-rw-r--r--vm/mterp/armv5te/OP_UNUSED_94FF.S1
-rw-r--r--vm/mterp/armv5te/OP_UNUSED_95FF.S1
-rw-r--r--vm/mterp/armv5te/OP_UNUSED_96FF.S1
-rw-r--r--vm/mterp/armv5te/OP_UNUSED_97FF.S1
-rw-r--r--vm/mterp/armv5te/OP_UNUSED_98FF.S1
-rw-r--r--vm/mterp/armv5te/OP_UNUSED_99FF.S1
-rw-r--r--vm/mterp/armv5te/OP_UNUSED_9AFF.S1
-rw-r--r--vm/mterp/armv5te/OP_UNUSED_9BFF.S1
-rw-r--r--vm/mterp/armv5te/OP_UNUSED_9CFF.S1
-rw-r--r--vm/mterp/armv5te/OP_UNUSED_9DFF.S1
-rw-r--r--vm/mterp/armv5te/OP_UNUSED_9EFF.S1
-rw-r--r--vm/mterp/armv5te/OP_UNUSED_9FFF.S1
-rw-r--r--vm/mterp/armv5te/OP_UNUSED_A0FF.S1
-rw-r--r--vm/mterp/armv5te/OP_UNUSED_A1FF.S1
-rw-r--r--vm/mterp/armv5te/OP_UNUSED_A2FF.S1
-rw-r--r--vm/mterp/armv5te/OP_UNUSED_A3FF.S1
-rw-r--r--vm/mterp/armv5te/OP_UNUSED_A4FF.S1
-rw-r--r--vm/mterp/armv5te/OP_UNUSED_A5FF.S1
-rw-r--r--vm/mterp/armv5te/OP_UNUSED_A6FF.S1
-rw-r--r--vm/mterp/armv5te/OP_UNUSED_A7FF.S1
-rw-r--r--vm/mterp/armv5te/OP_UNUSED_A8FF.S1
-rw-r--r--vm/mterp/armv5te/OP_UNUSED_A9FF.S1
-rw-r--r--vm/mterp/armv5te/OP_UNUSED_AAFF.S1
-rw-r--r--vm/mterp/armv5te/OP_UNUSED_ABFF.S1
-rw-r--r--vm/mterp/armv5te/OP_UNUSED_ACFF.S1
-rw-r--r--vm/mterp/armv5te/OP_UNUSED_ADFF.S1
-rw-r--r--vm/mterp/armv5te/OP_UNUSED_AEFF.S1
-rw-r--r--vm/mterp/armv5te/OP_UNUSED_AFFF.S1
-rw-r--r--vm/mterp/armv5te/OP_UNUSED_B0FF.S1
-rw-r--r--vm/mterp/armv5te/OP_UNUSED_B1FF.S1
-rw-r--r--vm/mterp/armv5te/OP_UNUSED_B2FF.S1
-rw-r--r--vm/mterp/armv5te/OP_UNUSED_B3FF.S1
-rw-r--r--vm/mterp/armv5te/OP_UNUSED_B4FF.S1
-rw-r--r--vm/mterp/armv5te/OP_UNUSED_B5FF.S1
-rw-r--r--vm/mterp/armv5te/OP_UNUSED_B6FF.S1
-rw-r--r--vm/mterp/armv5te/OP_UNUSED_B7FF.S1
-rw-r--r--vm/mterp/armv5te/OP_UNUSED_B8FF.S1
-rw-r--r--vm/mterp/armv5te/OP_UNUSED_B9FF.S1
-rw-r--r--vm/mterp/armv5te/OP_UNUSED_BAFF.S1
-rw-r--r--vm/mterp/armv5te/OP_UNUSED_BBFF.S1
-rw-r--r--vm/mterp/armv5te/OP_UNUSED_BCFF.S1
-rw-r--r--vm/mterp/armv5te/OP_UNUSED_BDFF.S1
-rw-r--r--vm/mterp/armv5te/OP_UNUSED_BEFF.S1
-rw-r--r--vm/mterp/armv5te/OP_UNUSED_BFFF.S1
-rw-r--r--vm/mterp/armv5te/OP_UNUSED_C0FF.S1
-rw-r--r--vm/mterp/armv5te/OP_UNUSED_C1FF.S1
-rw-r--r--vm/mterp/armv5te/OP_UNUSED_C2FF.S1
-rw-r--r--vm/mterp/armv5te/OP_UNUSED_C3FF.S1
-rw-r--r--vm/mterp/armv5te/OP_UNUSED_C4FF.S1
-rw-r--r--vm/mterp/armv5te/OP_UNUSED_C5FF.S1
-rw-r--r--vm/mterp/armv5te/OP_UNUSED_C6FF.S1
-rw-r--r--vm/mterp/armv5te/OP_UNUSED_C7FF.S1
-rw-r--r--vm/mterp/armv5te/OP_UNUSED_C8FF.S1
-rw-r--r--vm/mterp/armv5te/OP_UNUSED_C9FF.S1
-rw-r--r--vm/mterp/armv5te/OP_UNUSED_CAFF.S1
-rw-r--r--vm/mterp/armv5te/OP_UNUSED_CBFF.S1
-rw-r--r--vm/mterp/armv5te/OP_UNUSED_CCFF.S1
-rw-r--r--vm/mterp/armv5te/OP_UNUSED_CDFF.S1
-rw-r--r--vm/mterp/armv5te/OP_UNUSED_CEFF.S1
-rw-r--r--vm/mterp/armv5te/OP_UNUSED_CFFF.S1
-rw-r--r--vm/mterp/armv5te/OP_UNUSED_D0FF.S1
-rw-r--r--vm/mterp/armv5te/OP_UNUSED_D1FF.S1
-rw-r--r--vm/mterp/armv5te/OP_UNUSED_D2FF.S1
-rw-r--r--vm/mterp/armv5te/OP_UNUSED_D3FF.S1
-rw-r--r--vm/mterp/armv5te/OP_UNUSED_D4FF.S1
-rw-r--r--vm/mterp/armv5te/OP_UNUSED_D5FF.S1
-rw-r--r--vm/mterp/armv5te/OP_UNUSED_D6FF.S1
-rw-r--r--vm/mterp/armv5te/OP_UNUSED_D7FF.S1
-rw-r--r--vm/mterp/armv5te/OP_UNUSED_D8FF.S1
-rw-r--r--vm/mterp/armv5te/OP_UNUSED_D9FF.S1
-rw-r--r--vm/mterp/armv5te/OP_UNUSED_DAFF.S1
-rw-r--r--vm/mterp/armv5te/OP_UNUSED_DBFF.S1
-rw-r--r--vm/mterp/armv5te/OP_UNUSED_DCFF.S1
-rw-r--r--vm/mterp/armv5te/OP_UNUSED_DDFF.S1
-rw-r--r--vm/mterp/armv5te/OP_UNUSED_DEFF.S1
-rw-r--r--vm/mterp/armv5te/OP_UNUSED_DFFF.S1
-rw-r--r--vm/mterp/armv5te/OP_UNUSED_E0FF.S1
-rw-r--r--vm/mterp/armv5te/OP_UNUSED_E1FF.S1
-rw-r--r--vm/mterp/armv5te/OP_UNUSED_E2FF.S1
-rw-r--r--vm/mterp/armv5te/OP_UNUSED_E3FF.S1
-rw-r--r--vm/mterp/armv5te/OP_UNUSED_E4FF.S1
-rw-r--r--vm/mterp/armv5te/OP_UNUSED_E5FF.S1
-rw-r--r--vm/mterp/armv5te/OP_UNUSED_E6FF.S1
-rw-r--r--vm/mterp/armv5te/OP_UNUSED_E7FF.S1
-rw-r--r--vm/mterp/armv5te/OP_UNUSED_E8FF.S1
-rw-r--r--vm/mterp/armv5te/OP_UNUSED_E9FF.S1
-rw-r--r--vm/mterp/armv5te/OP_UNUSED_EAFF.S1
-rw-r--r--vm/mterp/armv5te/OP_UNUSED_EBFF.S1
-rw-r--r--vm/mterp/armv5te/OP_UNUSED_ECFF.S1
-rw-r--r--vm/mterp/armv5te/OP_UNUSED_EDFF.S1
-rw-r--r--vm/mterp/armv5te/OP_UNUSED_EEFF.S1
-rw-r--r--vm/mterp/armv5te/OP_UNUSED_EFFF.S1
-rw-r--r--vm/mterp/armv5te/OP_UNUSED_F0FF.S1
-rw-r--r--vm/mterp/armv5te/OP_UNUSED_F1FF.S1
-rw-r--r--vm/mterp/armv5te/OP_UNUSED_FF.S (renamed from vm/mterp/armv5te/OP_UNUSED_27FF.S)0
-rw-r--r--vm/mterp/armv5te/footer.S29
-rw-r--r--vm/mterp/c/OP_CHECK_CAST_JUMBO.cpp31
-rw-r--r--vm/mterp/c/OP_CONST_CLASS_JUMBO.cpp18
-rw-r--r--vm/mterp/c/OP_DISPATCH_FF.cpp6
-rw-r--r--vm/mterp/c/OP_FILLED_NEW_ARRAY.cpp2
-rw-r--r--vm/mterp/c/OP_FILLED_NEW_ARRAY_JUMBO.cpp3
-rw-r--r--vm/mterp/c/OP_FILLED_NEW_ARRAY_RANGE.cpp2
-rw-r--r--vm/mterp/c/OP_IGET_BOOLEAN_JUMBO.cpp2
-rw-r--r--vm/mterp/c/OP_IGET_BYTE_JUMBO.cpp2
-rw-r--r--vm/mterp/c/OP_IGET_CHAR_JUMBO.cpp2
-rw-r--r--vm/mterp/c/OP_IGET_JUMBO.cpp2
-rw-r--r--vm/mterp/c/OP_IGET_OBJECT_JUMBO.cpp2
-rw-r--r--vm/mterp/c/OP_IGET_OBJECT_VOLATILE_JUMBO.cpp2
-rw-r--r--vm/mterp/c/OP_IGET_SHORT_JUMBO.cpp2
-rw-r--r--vm/mterp/c/OP_IGET_VOLATILE_JUMBO.cpp2
-rw-r--r--vm/mterp/c/OP_IGET_WIDE_JUMBO.cpp2
-rw-r--r--vm/mterp/c/OP_IGET_WIDE_VOLATILE_JUMBO.cpp2
-rw-r--r--vm/mterp/c/OP_INSTANCE_OF_JUMBO.cpp30
-rw-r--r--vm/mterp/c/OP_INVOKE_DIRECT.cpp2
-rw-r--r--vm/mterp/c/OP_INVOKE_DIRECT_JUMBO.cpp3
-rw-r--r--vm/mterp/c/OP_INVOKE_DIRECT_RANGE.cpp2
-rw-r--r--vm/mterp/c/OP_INVOKE_INTERFACE.cpp2
-rw-r--r--vm/mterp/c/OP_INVOKE_INTERFACE_JUMBO.cpp3
-rw-r--r--vm/mterp/c/OP_INVOKE_INTERFACE_RANGE.cpp2
-rw-r--r--vm/mterp/c/OP_INVOKE_OBJECT_INIT_JUMBO.cpp29
-rw-r--r--vm/mterp/c/OP_INVOKE_OBJECT_INIT_RANGE.cpp2
-rw-r--r--vm/mterp/c/OP_INVOKE_STATIC.cpp2
-rw-r--r--vm/mterp/c/OP_INVOKE_STATIC_JUMBO.cpp3
-rw-r--r--vm/mterp/c/OP_INVOKE_STATIC_RANGE.cpp2
-rw-r--r--vm/mterp/c/OP_INVOKE_SUPER.cpp2
-rw-r--r--vm/mterp/c/OP_INVOKE_SUPER_JUMBO.cpp3
-rw-r--r--vm/mterp/c/OP_INVOKE_SUPER_QUICK.cpp2
-rw-r--r--vm/mterp/c/OP_INVOKE_SUPER_QUICK_RANGE.cpp2
-rw-r--r--vm/mterp/c/OP_INVOKE_SUPER_RANGE.cpp2
-rw-r--r--vm/mterp/c/OP_INVOKE_VIRTUAL.cpp2
-rw-r--r--vm/mterp/c/OP_INVOKE_VIRTUAL_JUMBO.cpp3
-rw-r--r--vm/mterp/c/OP_INVOKE_VIRTUAL_QUICK.cpp2
-rw-r--r--vm/mterp/c/OP_INVOKE_VIRTUAL_QUICK_RANGE.cpp2
-rw-r--r--vm/mterp/c/OP_INVOKE_VIRTUAL_RANGE.cpp2
-rw-r--r--vm/mterp/c/OP_IPUT_BOOLEAN_JUMBO.cpp2
-rw-r--r--vm/mterp/c/OP_IPUT_BYTE_JUMBO.cpp2
-rw-r--r--vm/mterp/c/OP_IPUT_CHAR_JUMBO.cpp2
-rw-r--r--vm/mterp/c/OP_IPUT_JUMBO.cpp2
-rw-r--r--vm/mterp/c/OP_IPUT_OBJECT_JUMBO.cpp13
-rw-r--r--vm/mterp/c/OP_IPUT_OBJECT_VOLATILE_JUMBO.cpp2
-rw-r--r--vm/mterp/c/OP_IPUT_SHORT_JUMBO.cpp2
-rw-r--r--vm/mterp/c/OP_IPUT_VOLATILE_JUMBO.cpp2
-rw-r--r--vm/mterp/c/OP_IPUT_WIDE_JUMBO.cpp2
-rw-r--r--vm/mterp/c/OP_IPUT_WIDE_VOLATILE_JUMBO.cpp2
-rw-r--r--vm/mterp/c/OP_NEW_ARRAY_JUMBO.cpp35
-rw-r--r--vm/mterp/c/OP_NEW_INSTANCE_JUMBO.cpp48
-rw-r--r--vm/mterp/c/OP_SGET_BOOLEAN_JUMBO.cpp2
-rw-r--r--vm/mterp/c/OP_SGET_BYTE_JUMBO.cpp2
-rw-r--r--vm/mterp/c/OP_SGET_CHAR_JUMBO.cpp2
-rw-r--r--vm/mterp/c/OP_SGET_JUMBO.cpp2
-rw-r--r--vm/mterp/c/OP_SGET_OBJECT_JUMBO.cpp2
-rw-r--r--vm/mterp/c/OP_SGET_OBJECT_VOLATILE_JUMBO.cpp2
-rw-r--r--vm/mterp/c/OP_SGET_SHORT_JUMBO.cpp2
-rw-r--r--vm/mterp/c/OP_SGET_VOLATILE_JUMBO.cpp2
-rw-r--r--vm/mterp/c/OP_SGET_WIDE_JUMBO.cpp2
-rw-r--r--vm/mterp/c/OP_SGET_WIDE_VOLATILE_JUMBO.cpp2
-rw-r--r--vm/mterp/c/OP_SPUT_BOOLEAN_JUMBO.cpp2
-rw-r--r--vm/mterp/c/OP_SPUT_BYTE_JUMBO.cpp2
-rw-r--r--vm/mterp/c/OP_SPUT_CHAR_JUMBO.cpp2
-rw-r--r--vm/mterp/c/OP_SPUT_JUMBO.cpp2
-rw-r--r--vm/mterp/c/OP_SPUT_OBJECT_JUMBO.cpp2
-rw-r--r--vm/mterp/c/OP_SPUT_OBJECT_VOLATILE_JUMBO.cpp2
-rw-r--r--vm/mterp/c/OP_SPUT_SHORT_JUMBO.cpp2
-rw-r--r--vm/mterp/c/OP_SPUT_VOLATILE_JUMBO.cpp2
-rw-r--r--vm/mterp/c/OP_SPUT_WIDE_JUMBO.cpp2
-rw-r--r--vm/mterp/c/OP_SPUT_WIDE_VOLATILE_JUMBO.cpp2
-rw-r--r--vm/mterp/c/OP_THROW_VERIFICATION_ERROR_JUMBO.cpp7
-rw-r--r--vm/mterp/c/OP_UNUSED_27FF.cpp2
-rw-r--r--vm/mterp/c/OP_UNUSED_28FF.cpp2
-rw-r--r--vm/mterp/c/OP_UNUSED_29FF.cpp2
-rw-r--r--vm/mterp/c/OP_UNUSED_2AFF.cpp2
-rw-r--r--vm/mterp/c/OP_UNUSED_2BFF.cpp2
-rw-r--r--vm/mterp/c/OP_UNUSED_2CFF.cpp2
-rw-r--r--vm/mterp/c/OP_UNUSED_2DFF.cpp2
-rw-r--r--vm/mterp/c/OP_UNUSED_2EFF.cpp2
-rw-r--r--vm/mterp/c/OP_UNUSED_2FFF.cpp2
-rw-r--r--vm/mterp/c/OP_UNUSED_30FF.cpp2
-rw-r--r--vm/mterp/c/OP_UNUSED_31FF.cpp2
-rw-r--r--vm/mterp/c/OP_UNUSED_32FF.cpp2
-rw-r--r--vm/mterp/c/OP_UNUSED_33FF.cpp2
-rw-r--r--vm/mterp/c/OP_UNUSED_34FF.cpp2
-rw-r--r--vm/mterp/c/OP_UNUSED_35FF.cpp2
-rw-r--r--vm/mterp/c/OP_UNUSED_36FF.cpp2
-rw-r--r--vm/mterp/c/OP_UNUSED_37FF.cpp2
-rw-r--r--vm/mterp/c/OP_UNUSED_38FF.cpp2
-rw-r--r--vm/mterp/c/OP_UNUSED_39FF.cpp2
-rw-r--r--vm/mterp/c/OP_UNUSED_3AFF.cpp2
-rw-r--r--vm/mterp/c/OP_UNUSED_3BFF.cpp2
-rw-r--r--vm/mterp/c/OP_UNUSED_3CFF.cpp2
-rw-r--r--vm/mterp/c/OP_UNUSED_3DFF.cpp2
-rw-r--r--vm/mterp/c/OP_UNUSED_3EFF.cpp2
-rw-r--r--vm/mterp/c/OP_UNUSED_3FFF.cpp2
-rw-r--r--vm/mterp/c/OP_UNUSED_40FF.cpp2
-rw-r--r--vm/mterp/c/OP_UNUSED_41FF.cpp2
-rw-r--r--vm/mterp/c/OP_UNUSED_42FF.cpp2
-rw-r--r--vm/mterp/c/OP_UNUSED_43FF.cpp2
-rw-r--r--vm/mterp/c/OP_UNUSED_44FF.cpp2
-rw-r--r--vm/mterp/c/OP_UNUSED_45FF.cpp2
-rw-r--r--vm/mterp/c/OP_UNUSED_46FF.cpp2
-rw-r--r--vm/mterp/c/OP_UNUSED_47FF.cpp2
-rw-r--r--vm/mterp/c/OP_UNUSED_48FF.cpp2
-rw-r--r--vm/mterp/c/OP_UNUSED_49FF.cpp2
-rw-r--r--vm/mterp/c/OP_UNUSED_4AFF.cpp2
-rw-r--r--vm/mterp/c/OP_UNUSED_4BFF.cpp2
-rw-r--r--vm/mterp/c/OP_UNUSED_4CFF.cpp2
-rw-r--r--vm/mterp/c/OP_UNUSED_4DFF.cpp2
-rw-r--r--vm/mterp/c/OP_UNUSED_4EFF.cpp2
-rw-r--r--vm/mterp/c/OP_UNUSED_4FFF.cpp2
-rw-r--r--vm/mterp/c/OP_UNUSED_50FF.cpp2
-rw-r--r--vm/mterp/c/OP_UNUSED_51FF.cpp2
-rw-r--r--vm/mterp/c/OP_UNUSED_52FF.cpp2
-rw-r--r--vm/mterp/c/OP_UNUSED_53FF.cpp2
-rw-r--r--vm/mterp/c/OP_UNUSED_54FF.cpp2
-rw-r--r--vm/mterp/c/OP_UNUSED_55FF.cpp2
-rw-r--r--vm/mterp/c/OP_UNUSED_56FF.cpp2
-rw-r--r--vm/mterp/c/OP_UNUSED_57FF.cpp2
-rw-r--r--vm/mterp/c/OP_UNUSED_58FF.cpp2
-rw-r--r--vm/mterp/c/OP_UNUSED_59FF.cpp2
-rw-r--r--vm/mterp/c/OP_UNUSED_5AFF.cpp2
-rw-r--r--vm/mterp/c/OP_UNUSED_5BFF.cpp2
-rw-r--r--vm/mterp/c/OP_UNUSED_5CFF.cpp2
-rw-r--r--vm/mterp/c/OP_UNUSED_5DFF.cpp2
-rw-r--r--vm/mterp/c/OP_UNUSED_5EFF.cpp2
-rw-r--r--vm/mterp/c/OP_UNUSED_5FFF.cpp2
-rw-r--r--vm/mterp/c/OP_UNUSED_60FF.cpp2
-rw-r--r--vm/mterp/c/OP_UNUSED_61FF.cpp2
-rw-r--r--vm/mterp/c/OP_UNUSED_62FF.cpp2
-rw-r--r--vm/mterp/c/OP_UNUSED_63FF.cpp2
-rw-r--r--vm/mterp/c/OP_UNUSED_64FF.cpp2
-rw-r--r--vm/mterp/c/OP_UNUSED_65FF.cpp2
-rw-r--r--vm/mterp/c/OP_UNUSED_66FF.cpp2
-rw-r--r--vm/mterp/c/OP_UNUSED_67FF.cpp2
-rw-r--r--vm/mterp/c/OP_UNUSED_68FF.cpp2
-rw-r--r--vm/mterp/c/OP_UNUSED_69FF.cpp2
-rw-r--r--vm/mterp/c/OP_UNUSED_6AFF.cpp2
-rw-r--r--vm/mterp/c/OP_UNUSED_6BFF.cpp2
-rw-r--r--vm/mterp/c/OP_UNUSED_6CFF.cpp2
-rw-r--r--vm/mterp/c/OP_UNUSED_6DFF.cpp2
-rw-r--r--vm/mterp/c/OP_UNUSED_6EFF.cpp2
-rw-r--r--vm/mterp/c/OP_UNUSED_6FFF.cpp2
-rw-r--r--vm/mterp/c/OP_UNUSED_70FF.cpp2
-rw-r--r--vm/mterp/c/OP_UNUSED_71FF.cpp2
-rw-r--r--vm/mterp/c/OP_UNUSED_72FF.cpp2
-rw-r--r--vm/mterp/c/OP_UNUSED_73FF.cpp2
-rw-r--r--vm/mterp/c/OP_UNUSED_74FF.cpp2
-rw-r--r--vm/mterp/c/OP_UNUSED_75FF.cpp2
-rw-r--r--vm/mterp/c/OP_UNUSED_76FF.cpp2
-rw-r--r--vm/mterp/c/OP_UNUSED_77FF.cpp2
-rw-r--r--vm/mterp/c/OP_UNUSED_78FF.cpp2
-rw-r--r--vm/mterp/c/OP_UNUSED_79FF.cpp2
-rw-r--r--vm/mterp/c/OP_UNUSED_7AFF.cpp2
-rw-r--r--vm/mterp/c/OP_UNUSED_7BFF.cpp2
-rw-r--r--vm/mterp/c/OP_UNUSED_7CFF.cpp2
-rw-r--r--vm/mterp/c/OP_UNUSED_7DFF.cpp2
-rw-r--r--vm/mterp/c/OP_UNUSED_7EFF.cpp2
-rw-r--r--vm/mterp/c/OP_UNUSED_7FFF.cpp2
-rw-r--r--vm/mterp/c/OP_UNUSED_80FF.cpp2
-rw-r--r--vm/mterp/c/OP_UNUSED_81FF.cpp2
-rw-r--r--vm/mterp/c/OP_UNUSED_82FF.cpp2
-rw-r--r--vm/mterp/c/OP_UNUSED_83FF.cpp2
-rw-r--r--vm/mterp/c/OP_UNUSED_84FF.cpp2
-rw-r--r--vm/mterp/c/OP_UNUSED_85FF.cpp2
-rw-r--r--vm/mterp/c/OP_UNUSED_86FF.cpp2
-rw-r--r--vm/mterp/c/OP_UNUSED_87FF.cpp2
-rw-r--r--vm/mterp/c/OP_UNUSED_88FF.cpp2
-rw-r--r--vm/mterp/c/OP_UNUSED_89FF.cpp2
-rw-r--r--vm/mterp/c/OP_UNUSED_8AFF.cpp2
-rw-r--r--vm/mterp/c/OP_UNUSED_8BFF.cpp2
-rw-r--r--vm/mterp/c/OP_UNUSED_8CFF.cpp2
-rw-r--r--vm/mterp/c/OP_UNUSED_8DFF.cpp2
-rw-r--r--vm/mterp/c/OP_UNUSED_8EFF.cpp2
-rw-r--r--vm/mterp/c/OP_UNUSED_8FFF.cpp2
-rw-r--r--vm/mterp/c/OP_UNUSED_90FF.cpp2
-rw-r--r--vm/mterp/c/OP_UNUSED_91FF.cpp2
-rw-r--r--vm/mterp/c/OP_UNUSED_92FF.cpp2
-rw-r--r--vm/mterp/c/OP_UNUSED_93FF.cpp2
-rw-r--r--vm/mterp/c/OP_UNUSED_94FF.cpp2
-rw-r--r--vm/mterp/c/OP_UNUSED_95FF.cpp2
-rw-r--r--vm/mterp/c/OP_UNUSED_96FF.cpp2
-rw-r--r--vm/mterp/c/OP_UNUSED_97FF.cpp2
-rw-r--r--vm/mterp/c/OP_UNUSED_98FF.cpp2
-rw-r--r--vm/mterp/c/OP_UNUSED_99FF.cpp2
-rw-r--r--vm/mterp/c/OP_UNUSED_9AFF.cpp2
-rw-r--r--vm/mterp/c/OP_UNUSED_9BFF.cpp2
-rw-r--r--vm/mterp/c/OP_UNUSED_9CFF.cpp2
-rw-r--r--vm/mterp/c/OP_UNUSED_9DFF.cpp2
-rw-r--r--vm/mterp/c/OP_UNUSED_9EFF.cpp2
-rw-r--r--vm/mterp/c/OP_UNUSED_9FFF.cpp2
-rw-r--r--vm/mterp/c/OP_UNUSED_A0FF.cpp2
-rw-r--r--vm/mterp/c/OP_UNUSED_A1FF.cpp2
-rw-r--r--vm/mterp/c/OP_UNUSED_A2FF.cpp2
-rw-r--r--vm/mterp/c/OP_UNUSED_A3FF.cpp2
-rw-r--r--vm/mterp/c/OP_UNUSED_A4FF.cpp2
-rw-r--r--vm/mterp/c/OP_UNUSED_A5FF.cpp2
-rw-r--r--vm/mterp/c/OP_UNUSED_A6FF.cpp2
-rw-r--r--vm/mterp/c/OP_UNUSED_A7FF.cpp2
-rw-r--r--vm/mterp/c/OP_UNUSED_A8FF.cpp2
-rw-r--r--vm/mterp/c/OP_UNUSED_A9FF.cpp2
-rw-r--r--vm/mterp/c/OP_UNUSED_AAFF.cpp2
-rw-r--r--vm/mterp/c/OP_UNUSED_ABFF.cpp2
-rw-r--r--vm/mterp/c/OP_UNUSED_ACFF.cpp2
-rw-r--r--vm/mterp/c/OP_UNUSED_ADFF.cpp2
-rw-r--r--vm/mterp/c/OP_UNUSED_AEFF.cpp2
-rw-r--r--vm/mterp/c/OP_UNUSED_AFFF.cpp2
-rw-r--r--vm/mterp/c/OP_UNUSED_B0FF.cpp2
-rw-r--r--vm/mterp/c/OP_UNUSED_B1FF.cpp2
-rw-r--r--vm/mterp/c/OP_UNUSED_B2FF.cpp2
-rw-r--r--vm/mterp/c/OP_UNUSED_B3FF.cpp2
-rw-r--r--vm/mterp/c/OP_UNUSED_B4FF.cpp2
-rw-r--r--vm/mterp/c/OP_UNUSED_B5FF.cpp2
-rw-r--r--vm/mterp/c/OP_UNUSED_B6FF.cpp2
-rw-r--r--vm/mterp/c/OP_UNUSED_B7FF.cpp2
-rw-r--r--vm/mterp/c/OP_UNUSED_B8FF.cpp2
-rw-r--r--vm/mterp/c/OP_UNUSED_B9FF.cpp2
-rw-r--r--vm/mterp/c/OP_UNUSED_BAFF.cpp2
-rw-r--r--vm/mterp/c/OP_UNUSED_BBFF.cpp2
-rw-r--r--vm/mterp/c/OP_UNUSED_BCFF.cpp2
-rw-r--r--vm/mterp/c/OP_UNUSED_BDFF.cpp2
-rw-r--r--vm/mterp/c/OP_UNUSED_BEFF.cpp2
-rw-r--r--vm/mterp/c/OP_UNUSED_BFFF.cpp2
-rw-r--r--vm/mterp/c/OP_UNUSED_C0FF.cpp2
-rw-r--r--vm/mterp/c/OP_UNUSED_C1FF.cpp2
-rw-r--r--vm/mterp/c/OP_UNUSED_C2FF.cpp2
-rw-r--r--vm/mterp/c/OP_UNUSED_C3FF.cpp2
-rw-r--r--vm/mterp/c/OP_UNUSED_C4FF.cpp2
-rw-r--r--vm/mterp/c/OP_UNUSED_C5FF.cpp2
-rw-r--r--vm/mterp/c/OP_UNUSED_C6FF.cpp2
-rw-r--r--vm/mterp/c/OP_UNUSED_C7FF.cpp2
-rw-r--r--vm/mterp/c/OP_UNUSED_C8FF.cpp2
-rw-r--r--vm/mterp/c/OP_UNUSED_C9FF.cpp2
-rw-r--r--vm/mterp/c/OP_UNUSED_CAFF.cpp2
-rw-r--r--vm/mterp/c/OP_UNUSED_CBFF.cpp2
-rw-r--r--vm/mterp/c/OP_UNUSED_CCFF.cpp2
-rw-r--r--vm/mterp/c/OP_UNUSED_CDFF.cpp2
-rw-r--r--vm/mterp/c/OP_UNUSED_CEFF.cpp2
-rw-r--r--vm/mterp/c/OP_UNUSED_CFFF.cpp2
-rw-r--r--vm/mterp/c/OP_UNUSED_D0FF.cpp2
-rw-r--r--vm/mterp/c/OP_UNUSED_D1FF.cpp2
-rw-r--r--vm/mterp/c/OP_UNUSED_D2FF.cpp2
-rw-r--r--vm/mterp/c/OP_UNUSED_D3FF.cpp2
-rw-r--r--vm/mterp/c/OP_UNUSED_D4FF.cpp2
-rw-r--r--vm/mterp/c/OP_UNUSED_D5FF.cpp2
-rw-r--r--vm/mterp/c/OP_UNUSED_D6FF.cpp2
-rw-r--r--vm/mterp/c/OP_UNUSED_D7FF.cpp2
-rw-r--r--vm/mterp/c/OP_UNUSED_D8FF.cpp2
-rw-r--r--vm/mterp/c/OP_UNUSED_D9FF.cpp2
-rw-r--r--vm/mterp/c/OP_UNUSED_DAFF.cpp2
-rw-r--r--vm/mterp/c/OP_UNUSED_DBFF.cpp2
-rw-r--r--vm/mterp/c/OP_UNUSED_DCFF.cpp2
-rw-r--r--vm/mterp/c/OP_UNUSED_DDFF.cpp2
-rw-r--r--vm/mterp/c/OP_UNUSED_DEFF.cpp2
-rw-r--r--vm/mterp/c/OP_UNUSED_DFFF.cpp2
-rw-r--r--vm/mterp/c/OP_UNUSED_E0FF.cpp2
-rw-r--r--vm/mterp/c/OP_UNUSED_E1FF.cpp2
-rw-r--r--vm/mterp/c/OP_UNUSED_E2FF.cpp2
-rw-r--r--vm/mterp/c/OP_UNUSED_E3FF.cpp2
-rw-r--r--vm/mterp/c/OP_UNUSED_E4FF.cpp2
-rw-r--r--vm/mterp/c/OP_UNUSED_E5FF.cpp2
-rw-r--r--vm/mterp/c/OP_UNUSED_E6FF.cpp2
-rw-r--r--vm/mterp/c/OP_UNUSED_E7FF.cpp2
-rw-r--r--vm/mterp/c/OP_UNUSED_E8FF.cpp2
-rw-r--r--vm/mterp/c/OP_UNUSED_E9FF.cpp2
-rw-r--r--vm/mterp/c/OP_UNUSED_EAFF.cpp2
-rw-r--r--vm/mterp/c/OP_UNUSED_EBFF.cpp2
-rw-r--r--vm/mterp/c/OP_UNUSED_ECFF.cpp2
-rw-r--r--vm/mterp/c/OP_UNUSED_EDFF.cpp2
-rw-r--r--vm/mterp/c/OP_UNUSED_EEFF.cpp2
-rw-r--r--vm/mterp/c/OP_UNUSED_EFFF.cpp2
-rw-r--r--vm/mterp/c/OP_UNUSED_F0FF.cpp2
-rw-r--r--vm/mterp/c/OP_UNUSED_FF.cpp (renamed from vm/mterp/c/OP_UNUSED_F1FF.cpp)4
-rw-r--r--vm/mterp/c/gotoTargets.cpp217
-rw-r--r--vm/mterp/c/opcommon.cpp116
-rw-r--r--vm/mterp/common/asm-constants.h1
-rw-r--r--vm/mterp/config-armv5te1
-rw-r--r--vm/mterp/config-armv5te-vfp2
-rw-r--r--vm/mterp/config-armv7-a2
-rw-r--r--vm/mterp/config-armv7-a-neon2
-rw-r--r--vm/mterp/config-x8616
-rw-r--r--vm/mterp/config-x86-atom15
-rw-r--r--vm/mterp/cstubs/stubdefs.cpp4
-rwxr-xr-xvm/mterp/gen-mterp.py2
-rw-r--r--vm/mterp/out/InterpAsm-armv5te-vfp.S10622
-rw-r--r--vm/mterp/out/InterpAsm-armv5te.S10622
-rw-r--r--vm/mterp/out/InterpAsm-armv7-a-neon.S10622
-rw-r--r--vm/mterp/out/InterpAsm-armv7-a.S10622
-rw-r--r--vm/mterp/out/InterpAsm-x86-atom.S9365
-rw-r--r--vm/mterp/out/InterpAsm-x86.S10740
-rw-r--r--vm/mterp/out/InterpC-allstubs.cpp1606
-rw-r--r--vm/mterp/out/InterpC-armv5te-vfp.cpp120
-rw-r--r--vm/mterp/out/InterpC-armv5te.cpp120
-rw-r--r--vm/mterp/out/InterpC-armv7-a-neon.cpp120
-rw-r--r--vm/mterp/out/InterpC-armv7-a.cpp120
-rw-r--r--vm/mterp/out/InterpC-portable.cpp1610
-rw-r--r--vm/mterp/out/InterpC-x86-atom.cpp418
-rw-r--r--vm/mterp/out/InterpC-x86.cpp418
-rw-r--r--vm/mterp/portable/entry.cpp2
-rw-r--r--vm/mterp/portable/stubdefs.cpp6
-rw-r--r--vm/mterp/x86-atom/OP_CHECK_CAST_JUMBO.S1
-rw-r--r--vm/mterp/x86-atom/OP_CONST_CLASS_JUMBO.S1
-rw-r--r--vm/mterp/x86-atom/OP_FILLED_NEW_ARRAY_JUMBO.S1
-rw-r--r--vm/mterp/x86-atom/OP_IGET_BOOLEAN_JUMBO.S1
-rw-r--r--vm/mterp/x86-atom/OP_IGET_BYTE_JUMBO.S1
-rw-r--r--vm/mterp/x86-atom/OP_IGET_CHAR_JUMBO.S1
-rw-r--r--vm/mterp/x86-atom/OP_IGET_JUMBO.S1
-rw-r--r--vm/mterp/x86-atom/OP_IGET_OBJECT_JUMBO.S1
-rw-r--r--vm/mterp/x86-atom/OP_IGET_SHORT_JUMBO.S1
-rw-r--r--vm/mterp/x86-atom/OP_IGET_WIDE_JUMBO.S1
-rw-r--r--vm/mterp/x86-atom/OP_INSTANCE_OF_JUMBO.S1
-rw-r--r--vm/mterp/x86-atom/OP_INVOKE_DIRECT_JUMBO.S1
-rw-r--r--vm/mterp/x86-atom/OP_INVOKE_INTERFACE_JUMBO.S1
-rw-r--r--vm/mterp/x86-atom/OP_INVOKE_STATIC_JUMBO.S1
-rw-r--r--vm/mterp/x86-atom/OP_INVOKE_SUPER_JUMBO.S1
-rw-r--r--vm/mterp/x86-atom/OP_INVOKE_VIRTUAL_JUMBO.S1
-rw-r--r--vm/mterp/x86-atom/OP_IPUT_BOOLEAN_JUMBO.S1
-rw-r--r--vm/mterp/x86-atom/OP_IPUT_BYTE_JUMBO.S1
-rw-r--r--vm/mterp/x86-atom/OP_IPUT_CHAR_JUMBO.S1
-rw-r--r--vm/mterp/x86-atom/OP_IPUT_JUMBO.S1
-rw-r--r--vm/mterp/x86-atom/OP_IPUT_OBJECT_JUMBO.S1
-rw-r--r--vm/mterp/x86-atom/OP_IPUT_SHORT_JUMBO.S1
-rw-r--r--vm/mterp/x86-atom/OP_IPUT_WIDE_JUMBO.S1
-rw-r--r--vm/mterp/x86-atom/OP_NEW_ARRAY_JUMBO.S1
-rw-r--r--vm/mterp/x86-atom/OP_NEW_INSTANCE_JUMBO.S1
-rw-r--r--vm/mterp/x86-atom/OP_SGET_BOOLEAN_JUMBO.S1
-rw-r--r--vm/mterp/x86-atom/OP_SGET_BYTE_JUMBO.S1
-rw-r--r--vm/mterp/x86-atom/OP_SGET_CHAR_JUMBO.S1
-rw-r--r--vm/mterp/x86-atom/OP_SGET_JUMBO.S1
-rw-r--r--vm/mterp/x86-atom/OP_SGET_OBJECT_JUMBO.S1
-rw-r--r--vm/mterp/x86-atom/OP_SGET_SHORT_JUMBO.S1
-rw-r--r--vm/mterp/x86-atom/OP_SGET_WIDE_JUMBO.S1
-rw-r--r--vm/mterp/x86-atom/OP_SPUT_BOOLEAN_JUMBO.S1
-rw-r--r--vm/mterp/x86-atom/OP_SPUT_BYTE_JUMBO.S1
-rw-r--r--vm/mterp/x86-atom/OP_SPUT_CHAR_JUMBO.S1
-rw-r--r--vm/mterp/x86-atom/OP_SPUT_JUMBO.S1
-rw-r--r--vm/mterp/x86-atom/OP_SPUT_OBJECT_JUMBO.S1
-rw-r--r--vm/mterp/x86-atom/OP_SPUT_SHORT_JUMBO.S1
-rw-r--r--vm/mterp/x86-atom/OP_SPUT_WIDE_JUMBO.S1
-rw-r--r--vm/mterp/x86-atom/OP_THROW_VERIFICATION_ERROR_JUMBO.S1
-rw-r--r--vm/mterp/x86-atom/OP_UNUSED_27FF.S1
-rw-r--r--vm/mterp/x86-atom/OP_UNUSED_28FF.S1
-rw-r--r--vm/mterp/x86-atom/OP_UNUSED_29FF.S1
-rw-r--r--vm/mterp/x86-atom/OP_UNUSED_2AFF.S1
-rw-r--r--vm/mterp/x86-atom/OP_UNUSED_2BFF.S1
-rw-r--r--vm/mterp/x86-atom/OP_UNUSED_2CFF.S1
-rw-r--r--vm/mterp/x86-atom/OP_UNUSED_2DFF.S1
-rw-r--r--vm/mterp/x86-atom/OP_UNUSED_2EFF.S1
-rw-r--r--vm/mterp/x86-atom/OP_UNUSED_2FFF.S1
-rw-r--r--vm/mterp/x86-atom/OP_UNUSED_30FF.S1
-rw-r--r--vm/mterp/x86-atom/OP_UNUSED_31FF.S1
-rw-r--r--vm/mterp/x86-atom/OP_UNUSED_32FF.S1
-rw-r--r--vm/mterp/x86-atom/OP_UNUSED_33FF.S1
-rw-r--r--vm/mterp/x86-atom/OP_UNUSED_34FF.S1
-rw-r--r--vm/mterp/x86-atom/OP_UNUSED_35FF.S1
-rw-r--r--vm/mterp/x86-atom/OP_UNUSED_36FF.S1
-rw-r--r--vm/mterp/x86-atom/OP_UNUSED_37FF.S1
-rw-r--r--vm/mterp/x86-atom/OP_UNUSED_38FF.S1
-rw-r--r--vm/mterp/x86-atom/OP_UNUSED_39FF.S1
-rw-r--r--vm/mterp/x86-atom/OP_UNUSED_3AFF.S1
-rw-r--r--vm/mterp/x86-atom/OP_UNUSED_3BFF.S1
-rw-r--r--vm/mterp/x86-atom/OP_UNUSED_3CFF.S1
-rw-r--r--vm/mterp/x86-atom/OP_UNUSED_3DFF.S1
-rw-r--r--vm/mterp/x86-atom/OP_UNUSED_3EFF.S1
-rw-r--r--vm/mterp/x86-atom/OP_UNUSED_3FFF.S1
-rw-r--r--vm/mterp/x86-atom/OP_UNUSED_40FF.S1
-rw-r--r--vm/mterp/x86-atom/OP_UNUSED_41FF.S1
-rw-r--r--vm/mterp/x86-atom/OP_UNUSED_42FF.S1
-rw-r--r--vm/mterp/x86-atom/OP_UNUSED_43FF.S1
-rw-r--r--vm/mterp/x86-atom/OP_UNUSED_44FF.S1
-rw-r--r--vm/mterp/x86-atom/OP_UNUSED_45FF.S1
-rw-r--r--vm/mterp/x86-atom/OP_UNUSED_46FF.S1
-rw-r--r--vm/mterp/x86-atom/OP_UNUSED_47FF.S1
-rw-r--r--vm/mterp/x86-atom/OP_UNUSED_48FF.S1
-rw-r--r--vm/mterp/x86-atom/OP_UNUSED_49FF.S1
-rw-r--r--vm/mterp/x86-atom/OP_UNUSED_4AFF.S1
-rw-r--r--vm/mterp/x86-atom/OP_UNUSED_4BFF.S1
-rw-r--r--vm/mterp/x86-atom/OP_UNUSED_4CFF.S1
-rw-r--r--vm/mterp/x86-atom/OP_UNUSED_4DFF.S1
-rw-r--r--vm/mterp/x86-atom/OP_UNUSED_4EFF.S1
-rw-r--r--vm/mterp/x86-atom/OP_UNUSED_4FFF.S1
-rw-r--r--vm/mterp/x86-atom/OP_UNUSED_50FF.S1
-rw-r--r--vm/mterp/x86-atom/OP_UNUSED_51FF.S1
-rw-r--r--vm/mterp/x86-atom/OP_UNUSED_52FF.S1
-rw-r--r--vm/mterp/x86-atom/OP_UNUSED_53FF.S1
-rw-r--r--vm/mterp/x86-atom/OP_UNUSED_54FF.S1
-rw-r--r--vm/mterp/x86-atom/OP_UNUSED_55FF.S1
-rw-r--r--vm/mterp/x86-atom/OP_UNUSED_56FF.S1
-rw-r--r--vm/mterp/x86-atom/OP_UNUSED_57FF.S1
-rw-r--r--vm/mterp/x86-atom/OP_UNUSED_58FF.S1
-rw-r--r--vm/mterp/x86-atom/OP_UNUSED_59FF.S1
-rw-r--r--vm/mterp/x86-atom/OP_UNUSED_5AFF.S1
-rw-r--r--vm/mterp/x86-atom/OP_UNUSED_5BFF.S1
-rw-r--r--vm/mterp/x86-atom/OP_UNUSED_5CFF.S1
-rw-r--r--vm/mterp/x86-atom/OP_UNUSED_5DFF.S1
-rw-r--r--vm/mterp/x86-atom/OP_UNUSED_5EFF.S1
-rw-r--r--vm/mterp/x86-atom/OP_UNUSED_5FFF.S1
-rw-r--r--vm/mterp/x86-atom/OP_UNUSED_60FF.S1
-rw-r--r--vm/mterp/x86-atom/OP_UNUSED_61FF.S1
-rw-r--r--vm/mterp/x86-atom/OP_UNUSED_62FF.S1
-rw-r--r--vm/mterp/x86-atom/OP_UNUSED_63FF.S1
-rw-r--r--vm/mterp/x86-atom/OP_UNUSED_64FF.S1
-rw-r--r--vm/mterp/x86-atom/OP_UNUSED_65FF.S1
-rw-r--r--vm/mterp/x86-atom/OP_UNUSED_66FF.S1
-rw-r--r--vm/mterp/x86-atom/OP_UNUSED_67FF.S1
-rw-r--r--vm/mterp/x86-atom/OP_UNUSED_68FF.S1
-rw-r--r--vm/mterp/x86-atom/OP_UNUSED_69FF.S1
-rw-r--r--vm/mterp/x86-atom/OP_UNUSED_6AFF.S1
-rw-r--r--vm/mterp/x86-atom/OP_UNUSED_6BFF.S1
-rw-r--r--vm/mterp/x86-atom/OP_UNUSED_6CFF.S1
-rw-r--r--vm/mterp/x86-atom/OP_UNUSED_6DFF.S1
-rw-r--r--vm/mterp/x86-atom/OP_UNUSED_6EFF.S1
-rw-r--r--vm/mterp/x86-atom/OP_UNUSED_6FFF.S1
-rw-r--r--vm/mterp/x86-atom/OP_UNUSED_70FF.S1
-rw-r--r--vm/mterp/x86-atom/OP_UNUSED_71FF.S1
-rw-r--r--vm/mterp/x86-atom/OP_UNUSED_72FF.S1
-rw-r--r--vm/mterp/x86-atom/OP_UNUSED_73FF.S1
-rw-r--r--vm/mterp/x86-atom/OP_UNUSED_74FF.S1
-rw-r--r--vm/mterp/x86-atom/OP_UNUSED_75FF.S1
-rw-r--r--vm/mterp/x86-atom/OP_UNUSED_76FF.S1
-rw-r--r--vm/mterp/x86-atom/OP_UNUSED_77FF.S1
-rw-r--r--vm/mterp/x86-atom/OP_UNUSED_78FF.S1
-rw-r--r--vm/mterp/x86-atom/OP_UNUSED_79FF.S1
-rw-r--r--vm/mterp/x86-atom/OP_UNUSED_7AFF.S1
-rw-r--r--vm/mterp/x86-atom/OP_UNUSED_7BFF.S1
-rw-r--r--vm/mterp/x86-atom/OP_UNUSED_7CFF.S1
-rw-r--r--vm/mterp/x86-atom/OP_UNUSED_7DFF.S1
-rw-r--r--vm/mterp/x86-atom/OP_UNUSED_7EFF.S1
-rw-r--r--vm/mterp/x86-atom/OP_UNUSED_7FFF.S1
-rw-r--r--vm/mterp/x86-atom/OP_UNUSED_80FF.S1
-rw-r--r--vm/mterp/x86-atom/OP_UNUSED_81FF.S1
-rw-r--r--vm/mterp/x86-atom/OP_UNUSED_82FF.S1
-rw-r--r--vm/mterp/x86-atom/OP_UNUSED_83FF.S1
-rw-r--r--vm/mterp/x86-atom/OP_UNUSED_84FF.S1
-rw-r--r--vm/mterp/x86-atom/OP_UNUSED_85FF.S1
-rw-r--r--vm/mterp/x86-atom/OP_UNUSED_86FF.S1
-rw-r--r--vm/mterp/x86-atom/OP_UNUSED_87FF.S1
-rw-r--r--vm/mterp/x86-atom/OP_UNUSED_88FF.S1
-rw-r--r--vm/mterp/x86-atom/OP_UNUSED_89FF.S1
-rw-r--r--vm/mterp/x86-atom/OP_UNUSED_8AFF.S1
-rw-r--r--vm/mterp/x86-atom/OP_UNUSED_8BFF.S1
-rw-r--r--vm/mterp/x86-atom/OP_UNUSED_8CFF.S1
-rw-r--r--vm/mterp/x86-atom/OP_UNUSED_8DFF.S1
-rw-r--r--vm/mterp/x86-atom/OP_UNUSED_8EFF.S1
-rw-r--r--vm/mterp/x86-atom/OP_UNUSED_8FFF.S1
-rw-r--r--vm/mterp/x86-atom/OP_UNUSED_90FF.S1
-rw-r--r--vm/mterp/x86-atom/OP_UNUSED_91FF.S1
-rw-r--r--vm/mterp/x86-atom/OP_UNUSED_92FF.S1
-rw-r--r--vm/mterp/x86-atom/OP_UNUSED_93FF.S1
-rw-r--r--vm/mterp/x86-atom/OP_UNUSED_94FF.S1
-rw-r--r--vm/mterp/x86-atom/OP_UNUSED_95FF.S1
-rw-r--r--vm/mterp/x86-atom/OP_UNUSED_96FF.S1
-rw-r--r--vm/mterp/x86-atom/OP_UNUSED_97FF.S1
-rw-r--r--vm/mterp/x86-atom/OP_UNUSED_98FF.S1
-rw-r--r--vm/mterp/x86-atom/OP_UNUSED_99FF.S1
-rw-r--r--vm/mterp/x86-atom/OP_UNUSED_9AFF.S1
-rw-r--r--vm/mterp/x86-atom/OP_UNUSED_9BFF.S1
-rw-r--r--vm/mterp/x86-atom/OP_UNUSED_9CFF.S1
-rw-r--r--vm/mterp/x86-atom/OP_UNUSED_9DFF.S1
-rw-r--r--vm/mterp/x86-atom/OP_UNUSED_9EFF.S1
-rw-r--r--vm/mterp/x86-atom/OP_UNUSED_9FFF.S1
-rw-r--r--vm/mterp/x86-atom/OP_UNUSED_A0FF.S1
-rw-r--r--vm/mterp/x86-atom/OP_UNUSED_A1FF.S1
-rw-r--r--vm/mterp/x86-atom/OP_UNUSED_A2FF.S1
-rw-r--r--vm/mterp/x86-atom/OP_UNUSED_A3FF.S1
-rw-r--r--vm/mterp/x86-atom/OP_UNUSED_A4FF.S1
-rw-r--r--vm/mterp/x86-atom/OP_UNUSED_A5FF.S1
-rw-r--r--vm/mterp/x86-atom/OP_UNUSED_A6FF.S1
-rw-r--r--vm/mterp/x86-atom/OP_UNUSED_A7FF.S1
-rw-r--r--vm/mterp/x86-atom/OP_UNUSED_A8FF.S1
-rw-r--r--vm/mterp/x86-atom/OP_UNUSED_A9FF.S1
-rw-r--r--vm/mterp/x86-atom/OP_UNUSED_AAFF.S1
-rw-r--r--vm/mterp/x86-atom/OP_UNUSED_ABFF.S1
-rw-r--r--vm/mterp/x86-atom/OP_UNUSED_ACFF.S1
-rw-r--r--vm/mterp/x86-atom/OP_UNUSED_ADFF.S1
-rw-r--r--vm/mterp/x86-atom/OP_UNUSED_AEFF.S1
-rw-r--r--vm/mterp/x86-atom/OP_UNUSED_AFFF.S1
-rw-r--r--vm/mterp/x86-atom/OP_UNUSED_B0FF.S1
-rw-r--r--vm/mterp/x86-atom/OP_UNUSED_B1FF.S1
-rw-r--r--vm/mterp/x86-atom/OP_UNUSED_B2FF.S1
-rw-r--r--vm/mterp/x86-atom/OP_UNUSED_B3FF.S1
-rw-r--r--vm/mterp/x86-atom/OP_UNUSED_B4FF.S1
-rw-r--r--vm/mterp/x86-atom/OP_UNUSED_B5FF.S1
-rw-r--r--vm/mterp/x86-atom/OP_UNUSED_B6FF.S1
-rw-r--r--vm/mterp/x86-atom/OP_UNUSED_B7FF.S1
-rw-r--r--vm/mterp/x86-atom/OP_UNUSED_B8FF.S1
-rw-r--r--vm/mterp/x86-atom/OP_UNUSED_B9FF.S1
-rw-r--r--vm/mterp/x86-atom/OP_UNUSED_BAFF.S1
-rw-r--r--vm/mterp/x86-atom/OP_UNUSED_BBFF.S1
-rw-r--r--vm/mterp/x86-atom/OP_UNUSED_BCFF.S1
-rw-r--r--vm/mterp/x86-atom/OP_UNUSED_BDFF.S1
-rw-r--r--vm/mterp/x86-atom/OP_UNUSED_BEFF.S1
-rw-r--r--vm/mterp/x86-atom/OP_UNUSED_BFFF.S1
-rw-r--r--vm/mterp/x86-atom/OP_UNUSED_C0FF.S1
-rw-r--r--vm/mterp/x86-atom/OP_UNUSED_C1FF.S1
-rw-r--r--vm/mterp/x86-atom/OP_UNUSED_C2FF.S1
-rw-r--r--vm/mterp/x86-atom/OP_UNUSED_C3FF.S1
-rw-r--r--vm/mterp/x86-atom/OP_UNUSED_C4FF.S1
-rw-r--r--vm/mterp/x86-atom/OP_UNUSED_C5FF.S1
-rw-r--r--vm/mterp/x86-atom/OP_UNUSED_C6FF.S1
-rw-r--r--vm/mterp/x86-atom/OP_UNUSED_C7FF.S1
-rw-r--r--vm/mterp/x86-atom/OP_UNUSED_C8FF.S1
-rw-r--r--vm/mterp/x86-atom/OP_UNUSED_C9FF.S1
-rw-r--r--vm/mterp/x86-atom/OP_UNUSED_CAFF.S1
-rw-r--r--vm/mterp/x86-atom/OP_UNUSED_CBFF.S1
-rw-r--r--vm/mterp/x86-atom/OP_UNUSED_CCFF.S1
-rw-r--r--vm/mterp/x86-atom/OP_UNUSED_CDFF.S1
-rw-r--r--vm/mterp/x86-atom/OP_UNUSED_CEFF.S1
-rw-r--r--vm/mterp/x86-atom/OP_UNUSED_CFFF.S1
-rw-r--r--vm/mterp/x86-atom/OP_UNUSED_D0FF.S1
-rw-r--r--vm/mterp/x86-atom/OP_UNUSED_D1FF.S1
-rw-r--r--vm/mterp/x86-atom/OP_UNUSED_D2FF.S1
-rw-r--r--vm/mterp/x86-atom/OP_UNUSED_D3FF.S1
-rw-r--r--vm/mterp/x86-atom/OP_UNUSED_D4FF.S1
-rw-r--r--vm/mterp/x86-atom/OP_UNUSED_D5FF.S1
-rw-r--r--vm/mterp/x86-atom/OP_UNUSED_D6FF.S1
-rw-r--r--vm/mterp/x86-atom/OP_UNUSED_D7FF.S1
-rw-r--r--vm/mterp/x86-atom/OP_UNUSED_D8FF.S1
-rw-r--r--vm/mterp/x86-atom/OP_UNUSED_D9FF.S1
-rw-r--r--vm/mterp/x86-atom/OP_UNUSED_DAFF.S1
-rw-r--r--vm/mterp/x86-atom/OP_UNUSED_DBFF.S1
-rw-r--r--vm/mterp/x86-atom/OP_UNUSED_DCFF.S1
-rw-r--r--vm/mterp/x86-atom/OP_UNUSED_DDFF.S1
-rw-r--r--vm/mterp/x86-atom/OP_UNUSED_DEFF.S1
-rw-r--r--vm/mterp/x86-atom/OP_UNUSED_DFFF.S1
-rw-r--r--vm/mterp/x86-atom/OP_UNUSED_E0FF.S1
-rw-r--r--vm/mterp/x86-atom/OP_UNUSED_E1FF.S1
-rw-r--r--vm/mterp/x86-atom/OP_UNUSED_E2FF.S1
-rw-r--r--vm/mterp/x86-atom/OP_UNUSED_E3FF.S1
-rw-r--r--vm/mterp/x86-atom/OP_UNUSED_E4FF.S1
-rw-r--r--vm/mterp/x86-atom/OP_UNUSED_E5FF.S1
-rw-r--r--vm/mterp/x86-atom/OP_UNUSED_E6FF.S1
-rw-r--r--vm/mterp/x86-atom/OP_UNUSED_E7FF.S1
-rw-r--r--vm/mterp/x86-atom/OP_UNUSED_E8FF.S1
-rw-r--r--vm/mterp/x86-atom/OP_UNUSED_E9FF.S1
-rw-r--r--vm/mterp/x86-atom/OP_UNUSED_EAFF.S1
-rw-r--r--vm/mterp/x86-atom/OP_UNUSED_EBFF.S1
-rw-r--r--vm/mterp/x86-atom/OP_UNUSED_ECFF.S1
-rw-r--r--vm/mterp/x86-atom/OP_UNUSED_EDFF.S1
-rw-r--r--vm/mterp/x86-atom/OP_UNUSED_EEFF.S1
-rw-r--r--vm/mterp/x86-atom/OP_UNUSED_EFFF.S1
-rw-r--r--vm/mterp/x86-atom/OP_UNUSED_F0FF.S1
-rw-r--r--vm/mterp/x86-atom/OP_UNUSED_F1FF.S1
-rw-r--r--vm/mterp/x86-atom/OP_UNUSED_FF.S (renamed from vm/mterp/x86-atom/OP_DISPATCH_FF.S)4
-rw-r--r--vm/mterp/x86-atom/TODO.txt4
-rw-r--r--vm/mterp/x86-atom/entry.S2
-rw-r--r--vm/mterp/x86/ALT_OP_DISPATCH_FF.S8
-rw-r--r--vm/mterp/x86/OP_CHECK_CAST_JUMBO.S77
-rw-r--r--vm/mterp/x86/OP_CONST_CLASS_JUMBO.S36
-rw-r--r--vm/mterp/x86/OP_DISPATCH_FF.S3
-rw-r--r--vm/mterp/x86/OP_FILLED_NEW_ARRAY_JUMBO.S100
-rw-r--r--vm/mterp/x86/OP_IGET_BOOLEAN_JUMBO.S2
-rw-r--r--vm/mterp/x86/OP_IGET_BYTE_JUMBO.S3
-rw-r--r--vm/mterp/x86/OP_IGET_CHAR_JUMBO.S3
-rw-r--r--vm/mterp/x86/OP_IGET_JUMBO.S52
-rw-r--r--vm/mterp/x86/OP_IGET_OBJECT_JUMBO.S2
-rw-r--r--vm/mterp/x86/OP_IGET_SHORT_JUMBO.S3
-rw-r--r--vm/mterp/x86/OP_IGET_WIDE_JUMBO.S51
-rw-r--r--vm/mterp/x86/OP_INSTANCE_OF_JUMBO.S88
-rw-r--r--vm/mterp/x86/OP_INVOKE_DIRECT_JUMBO.S46
-rw-r--r--vm/mterp/x86/OP_INVOKE_INTERFACE_JUMBO.S25
-rw-r--r--vm/mterp/x86/OP_INVOKE_STATIC_JUMBO.S26
-rw-r--r--vm/mterp/x86/OP_INVOKE_SUPER_JUMBO.S59
-rw-r--r--vm/mterp/x86/OP_INVOKE_VIRTUAL_JUMBO.S40
-rw-r--r--vm/mterp/x86/OP_IPUT_BOOLEAN_JUMBO.S2
-rw-r--r--vm/mterp/x86/OP_IPUT_BYTE_JUMBO.S2
-rw-r--r--vm/mterp/x86/OP_IPUT_CHAR_JUMBO.S2
-rw-r--r--vm/mterp/x86/OP_IPUT_JUMBO.S52
-rw-r--r--vm/mterp/x86/OP_IPUT_OBJECT_JUMBO.S57
-rw-r--r--vm/mterp/x86/OP_IPUT_SHORT_JUMBO.S2
-rw-r--r--vm/mterp/x86/OP_IPUT_WIDE_JUMBO.S52
-rw-r--r--vm/mterp/x86/OP_NEW_ARRAY_JUMBO.S62
-rw-r--r--vm/mterp/x86/OP_NEW_INSTANCE_JUMBO.S67
-rw-r--r--vm/mterp/x86/OP_SGET_BOOLEAN_JUMBO.S2
-rw-r--r--vm/mterp/x86/OP_SGET_BYTE_JUMBO.S2
-rw-r--r--vm/mterp/x86/OP_SGET_CHAR_JUMBO.S2
-rw-r--r--vm/mterp/x86/OP_SGET_JUMBO.S42
-rw-r--r--vm/mterp/x86/OP_SGET_OBJECT_JUMBO.S2
-rw-r--r--vm/mterp/x86/OP_SGET_SHORT_JUMBO.S2
-rw-r--r--vm/mterp/x86/OP_SGET_WIDE_JUMBO.S42
-rw-r--r--vm/mterp/x86/OP_SPUT_BOOLEAN_JUMBO.S2
-rw-r--r--vm/mterp/x86/OP_SPUT_BYTE_JUMBO.S2
-rw-r--r--vm/mterp/x86/OP_SPUT_CHAR_JUMBO.S2
-rw-r--r--vm/mterp/x86/OP_SPUT_JUMBO.S42
-rw-r--r--vm/mterp/x86/OP_SPUT_OBJECT_JUMBO.S44
-rw-r--r--vm/mterp/x86/OP_SPUT_SHORT_JUMBO.S2
-rw-r--r--vm/mterp/x86/OP_SPUT_WIDE_JUMBO.S41
-rw-r--r--vm/mterp/x86/OP_THROW_VERIFICATION_ERROR_JUMBO.S16
-rw-r--r--vm/mterp/x86/OP_UNUSED_28FF.S1
-rw-r--r--vm/mterp/x86/OP_UNUSED_29FF.S1
-rw-r--r--vm/mterp/x86/OP_UNUSED_2AFF.S1
-rw-r--r--vm/mterp/x86/OP_UNUSED_2BFF.S1
-rw-r--r--vm/mterp/x86/OP_UNUSED_2CFF.S1
-rw-r--r--vm/mterp/x86/OP_UNUSED_2DFF.S1
-rw-r--r--vm/mterp/x86/OP_UNUSED_2EFF.S1
-rw-r--r--vm/mterp/x86/OP_UNUSED_2FFF.S1
-rw-r--r--vm/mterp/x86/OP_UNUSED_30FF.S1
-rw-r--r--vm/mterp/x86/OP_UNUSED_31FF.S1
-rw-r--r--vm/mterp/x86/OP_UNUSED_32FF.S1
-rw-r--r--vm/mterp/x86/OP_UNUSED_33FF.S1
-rw-r--r--vm/mterp/x86/OP_UNUSED_34FF.S1
-rw-r--r--vm/mterp/x86/OP_UNUSED_35FF.S1
-rw-r--r--vm/mterp/x86/OP_UNUSED_36FF.S1
-rw-r--r--vm/mterp/x86/OP_UNUSED_37FF.S1
-rw-r--r--vm/mterp/x86/OP_UNUSED_38FF.S1
-rw-r--r--vm/mterp/x86/OP_UNUSED_39FF.S1
-rw-r--r--vm/mterp/x86/OP_UNUSED_3AFF.S1
-rw-r--r--vm/mterp/x86/OP_UNUSED_3BFF.S1
-rw-r--r--vm/mterp/x86/OP_UNUSED_3CFF.S1
-rw-r--r--vm/mterp/x86/OP_UNUSED_3DFF.S1
-rw-r--r--vm/mterp/x86/OP_UNUSED_3EFF.S1
-rw-r--r--vm/mterp/x86/OP_UNUSED_3FFF.S1
-rw-r--r--vm/mterp/x86/OP_UNUSED_40FF.S1
-rw-r--r--vm/mterp/x86/OP_UNUSED_41FF.S1
-rw-r--r--vm/mterp/x86/OP_UNUSED_42FF.S1
-rw-r--r--vm/mterp/x86/OP_UNUSED_43FF.S1
-rw-r--r--vm/mterp/x86/OP_UNUSED_44FF.S1
-rw-r--r--vm/mterp/x86/OP_UNUSED_45FF.S1
-rw-r--r--vm/mterp/x86/OP_UNUSED_46FF.S1
-rw-r--r--vm/mterp/x86/OP_UNUSED_47FF.S1
-rw-r--r--vm/mterp/x86/OP_UNUSED_48FF.S1
-rw-r--r--vm/mterp/x86/OP_UNUSED_49FF.S1
-rw-r--r--vm/mterp/x86/OP_UNUSED_4AFF.S1
-rw-r--r--vm/mterp/x86/OP_UNUSED_4BFF.S1
-rw-r--r--vm/mterp/x86/OP_UNUSED_4CFF.S1
-rw-r--r--vm/mterp/x86/OP_UNUSED_4DFF.S1
-rw-r--r--vm/mterp/x86/OP_UNUSED_4EFF.S1
-rw-r--r--vm/mterp/x86/OP_UNUSED_4FFF.S1
-rw-r--r--vm/mterp/x86/OP_UNUSED_50FF.S1
-rw-r--r--vm/mterp/x86/OP_UNUSED_51FF.S1
-rw-r--r--vm/mterp/x86/OP_UNUSED_52FF.S1
-rw-r--r--vm/mterp/x86/OP_UNUSED_53FF.S1
-rw-r--r--vm/mterp/x86/OP_UNUSED_54FF.S1
-rw-r--r--vm/mterp/x86/OP_UNUSED_55FF.S1
-rw-r--r--vm/mterp/x86/OP_UNUSED_56FF.S1
-rw-r--r--vm/mterp/x86/OP_UNUSED_57FF.S1
-rw-r--r--vm/mterp/x86/OP_UNUSED_58FF.S1
-rw-r--r--vm/mterp/x86/OP_UNUSED_59FF.S1
-rw-r--r--vm/mterp/x86/OP_UNUSED_5AFF.S1
-rw-r--r--vm/mterp/x86/OP_UNUSED_5BFF.S1
-rw-r--r--vm/mterp/x86/OP_UNUSED_5CFF.S1
-rw-r--r--vm/mterp/x86/OP_UNUSED_5DFF.S1
-rw-r--r--vm/mterp/x86/OP_UNUSED_5EFF.S1
-rw-r--r--vm/mterp/x86/OP_UNUSED_5FFF.S1
-rw-r--r--vm/mterp/x86/OP_UNUSED_60FF.S1
-rw-r--r--vm/mterp/x86/OP_UNUSED_61FF.S1
-rw-r--r--vm/mterp/x86/OP_UNUSED_62FF.S1
-rw-r--r--vm/mterp/x86/OP_UNUSED_63FF.S1
-rw-r--r--vm/mterp/x86/OP_UNUSED_64FF.S1
-rw-r--r--vm/mterp/x86/OP_UNUSED_65FF.S1
-rw-r--r--vm/mterp/x86/OP_UNUSED_66FF.S1
-rw-r--r--vm/mterp/x86/OP_UNUSED_67FF.S1
-rw-r--r--vm/mterp/x86/OP_UNUSED_68FF.S1
-rw-r--r--vm/mterp/x86/OP_UNUSED_69FF.S1
-rw-r--r--vm/mterp/x86/OP_UNUSED_6AFF.S1
-rw-r--r--vm/mterp/x86/OP_UNUSED_6BFF.S1
-rw-r--r--vm/mterp/x86/OP_UNUSED_6CFF.S1
-rw-r--r--vm/mterp/x86/OP_UNUSED_6DFF.S1
-rw-r--r--vm/mterp/x86/OP_UNUSED_6EFF.S1
-rw-r--r--vm/mterp/x86/OP_UNUSED_6FFF.S1
-rw-r--r--vm/mterp/x86/OP_UNUSED_70FF.S1
-rw-r--r--vm/mterp/x86/OP_UNUSED_71FF.S1
-rw-r--r--vm/mterp/x86/OP_UNUSED_72FF.S1
-rw-r--r--vm/mterp/x86/OP_UNUSED_73FF.S1
-rw-r--r--vm/mterp/x86/OP_UNUSED_74FF.S1
-rw-r--r--vm/mterp/x86/OP_UNUSED_75FF.S1
-rw-r--r--vm/mterp/x86/OP_UNUSED_76FF.S1
-rw-r--r--vm/mterp/x86/OP_UNUSED_77FF.S1
-rw-r--r--vm/mterp/x86/OP_UNUSED_78FF.S1
-rw-r--r--vm/mterp/x86/OP_UNUSED_79FF.S1
-rw-r--r--vm/mterp/x86/OP_UNUSED_7AFF.S1
-rw-r--r--vm/mterp/x86/OP_UNUSED_7BFF.S1
-rw-r--r--vm/mterp/x86/OP_UNUSED_7CFF.S1
-rw-r--r--vm/mterp/x86/OP_UNUSED_7DFF.S1
-rw-r--r--vm/mterp/x86/OP_UNUSED_7EFF.S1
-rw-r--r--vm/mterp/x86/OP_UNUSED_7FFF.S1
-rw-r--r--vm/mterp/x86/OP_UNUSED_80FF.S1
-rw-r--r--vm/mterp/x86/OP_UNUSED_81FF.S1
-rw-r--r--vm/mterp/x86/OP_UNUSED_82FF.S1
-rw-r--r--vm/mterp/x86/OP_UNUSED_83FF.S1
-rw-r--r--vm/mterp/x86/OP_UNUSED_84FF.S1
-rw-r--r--vm/mterp/x86/OP_UNUSED_85FF.S1
-rw-r--r--vm/mterp/x86/OP_UNUSED_86FF.S1
-rw-r--r--vm/mterp/x86/OP_UNUSED_87FF.S1
-rw-r--r--vm/mterp/x86/OP_UNUSED_88FF.S1
-rw-r--r--vm/mterp/x86/OP_UNUSED_89FF.S1
-rw-r--r--vm/mterp/x86/OP_UNUSED_8AFF.S1
-rw-r--r--vm/mterp/x86/OP_UNUSED_8BFF.S1
-rw-r--r--vm/mterp/x86/OP_UNUSED_8CFF.S1
-rw-r--r--vm/mterp/x86/OP_UNUSED_8DFF.S1
-rw-r--r--vm/mterp/x86/OP_UNUSED_8EFF.S1
-rw-r--r--vm/mterp/x86/OP_UNUSED_8FFF.S1
-rw-r--r--vm/mterp/x86/OP_UNUSED_90FF.S1
-rw-r--r--vm/mterp/x86/OP_UNUSED_91FF.S1
-rw-r--r--vm/mterp/x86/OP_UNUSED_92FF.S1
-rw-r--r--vm/mterp/x86/OP_UNUSED_93FF.S1
-rw-r--r--vm/mterp/x86/OP_UNUSED_94FF.S1
-rw-r--r--vm/mterp/x86/OP_UNUSED_95FF.S1
-rw-r--r--vm/mterp/x86/OP_UNUSED_96FF.S1
-rw-r--r--vm/mterp/x86/OP_UNUSED_97FF.S1
-rw-r--r--vm/mterp/x86/OP_UNUSED_98FF.S1
-rw-r--r--vm/mterp/x86/OP_UNUSED_99FF.S1
-rw-r--r--vm/mterp/x86/OP_UNUSED_9AFF.S1
-rw-r--r--vm/mterp/x86/OP_UNUSED_9BFF.S1
-rw-r--r--vm/mterp/x86/OP_UNUSED_9CFF.S1
-rw-r--r--vm/mterp/x86/OP_UNUSED_9DFF.S1
-rw-r--r--vm/mterp/x86/OP_UNUSED_9EFF.S1
-rw-r--r--vm/mterp/x86/OP_UNUSED_9FFF.S1
-rw-r--r--vm/mterp/x86/OP_UNUSED_A0FF.S1
-rw-r--r--vm/mterp/x86/OP_UNUSED_A1FF.S1
-rw-r--r--vm/mterp/x86/OP_UNUSED_A2FF.S1
-rw-r--r--vm/mterp/x86/OP_UNUSED_A3FF.S1
-rw-r--r--vm/mterp/x86/OP_UNUSED_A4FF.S1
-rw-r--r--vm/mterp/x86/OP_UNUSED_A5FF.S1
-rw-r--r--vm/mterp/x86/OP_UNUSED_A6FF.S1
-rw-r--r--vm/mterp/x86/OP_UNUSED_A7FF.S1
-rw-r--r--vm/mterp/x86/OP_UNUSED_A8FF.S1
-rw-r--r--vm/mterp/x86/OP_UNUSED_A9FF.S1
-rw-r--r--vm/mterp/x86/OP_UNUSED_AAFF.S1
-rw-r--r--vm/mterp/x86/OP_UNUSED_ABFF.S1
-rw-r--r--vm/mterp/x86/OP_UNUSED_ACFF.S1
-rw-r--r--vm/mterp/x86/OP_UNUSED_ADFF.S1
-rw-r--r--vm/mterp/x86/OP_UNUSED_AEFF.S1
-rw-r--r--vm/mterp/x86/OP_UNUSED_AFFF.S1
-rw-r--r--vm/mterp/x86/OP_UNUSED_B0FF.S1
-rw-r--r--vm/mterp/x86/OP_UNUSED_B1FF.S1
-rw-r--r--vm/mterp/x86/OP_UNUSED_B2FF.S1
-rw-r--r--vm/mterp/x86/OP_UNUSED_B3FF.S1
-rw-r--r--vm/mterp/x86/OP_UNUSED_B4FF.S1
-rw-r--r--vm/mterp/x86/OP_UNUSED_B5FF.S1
-rw-r--r--vm/mterp/x86/OP_UNUSED_B6FF.S1
-rw-r--r--vm/mterp/x86/OP_UNUSED_B7FF.S1
-rw-r--r--vm/mterp/x86/OP_UNUSED_B8FF.S1
-rw-r--r--vm/mterp/x86/OP_UNUSED_B9FF.S1
-rw-r--r--vm/mterp/x86/OP_UNUSED_BAFF.S1
-rw-r--r--vm/mterp/x86/OP_UNUSED_BBFF.S1
-rw-r--r--vm/mterp/x86/OP_UNUSED_BCFF.S1
-rw-r--r--vm/mterp/x86/OP_UNUSED_BDFF.S1
-rw-r--r--vm/mterp/x86/OP_UNUSED_BEFF.S1
-rw-r--r--vm/mterp/x86/OP_UNUSED_BFFF.S1
-rw-r--r--vm/mterp/x86/OP_UNUSED_C0FF.S1
-rw-r--r--vm/mterp/x86/OP_UNUSED_C1FF.S1
-rw-r--r--vm/mterp/x86/OP_UNUSED_C2FF.S1
-rw-r--r--vm/mterp/x86/OP_UNUSED_C3FF.S1
-rw-r--r--vm/mterp/x86/OP_UNUSED_C4FF.S1
-rw-r--r--vm/mterp/x86/OP_UNUSED_C5FF.S1
-rw-r--r--vm/mterp/x86/OP_UNUSED_C6FF.S1
-rw-r--r--vm/mterp/x86/OP_UNUSED_C7FF.S1
-rw-r--r--vm/mterp/x86/OP_UNUSED_C8FF.S1
-rw-r--r--vm/mterp/x86/OP_UNUSED_C9FF.S1
-rw-r--r--vm/mterp/x86/OP_UNUSED_CAFF.S1
-rw-r--r--vm/mterp/x86/OP_UNUSED_CBFF.S1
-rw-r--r--vm/mterp/x86/OP_UNUSED_CCFF.S1
-rw-r--r--vm/mterp/x86/OP_UNUSED_CDFF.S1
-rw-r--r--vm/mterp/x86/OP_UNUSED_CEFF.S1
-rw-r--r--vm/mterp/x86/OP_UNUSED_CFFF.S1
-rw-r--r--vm/mterp/x86/OP_UNUSED_D0FF.S1
-rw-r--r--vm/mterp/x86/OP_UNUSED_D1FF.S1
-rw-r--r--vm/mterp/x86/OP_UNUSED_D2FF.S1
-rw-r--r--vm/mterp/x86/OP_UNUSED_D3FF.S1
-rw-r--r--vm/mterp/x86/OP_UNUSED_D4FF.S1
-rw-r--r--vm/mterp/x86/OP_UNUSED_D5FF.S1
-rw-r--r--vm/mterp/x86/OP_UNUSED_D6FF.S1
-rw-r--r--vm/mterp/x86/OP_UNUSED_D7FF.S1
-rw-r--r--vm/mterp/x86/OP_UNUSED_D8FF.S1
-rw-r--r--vm/mterp/x86/OP_UNUSED_D9FF.S1
-rw-r--r--vm/mterp/x86/OP_UNUSED_DAFF.S1
-rw-r--r--vm/mterp/x86/OP_UNUSED_DBFF.S1
-rw-r--r--vm/mterp/x86/OP_UNUSED_DCFF.S1
-rw-r--r--vm/mterp/x86/OP_UNUSED_DDFF.S1
-rw-r--r--vm/mterp/x86/OP_UNUSED_DEFF.S1
-rw-r--r--vm/mterp/x86/OP_UNUSED_DFFF.S1
-rw-r--r--vm/mterp/x86/OP_UNUSED_E0FF.S1
-rw-r--r--vm/mterp/x86/OP_UNUSED_E1FF.S1
-rw-r--r--vm/mterp/x86/OP_UNUSED_E2FF.S1
-rw-r--r--vm/mterp/x86/OP_UNUSED_E3FF.S1
-rw-r--r--vm/mterp/x86/OP_UNUSED_E4FF.S1
-rw-r--r--vm/mterp/x86/OP_UNUSED_E5FF.S1
-rw-r--r--vm/mterp/x86/OP_UNUSED_E6FF.S1
-rw-r--r--vm/mterp/x86/OP_UNUSED_E7FF.S1
-rw-r--r--vm/mterp/x86/OP_UNUSED_E8FF.S1
-rw-r--r--vm/mterp/x86/OP_UNUSED_E9FF.S1
-rw-r--r--vm/mterp/x86/OP_UNUSED_EAFF.S1
-rw-r--r--vm/mterp/x86/OP_UNUSED_EBFF.S1
-rw-r--r--vm/mterp/x86/OP_UNUSED_ECFF.S1
-rw-r--r--vm/mterp/x86/OP_UNUSED_EDFF.S1
-rw-r--r--vm/mterp/x86/OP_UNUSED_EEFF.S1
-rw-r--r--vm/mterp/x86/OP_UNUSED_EFFF.S1
-rw-r--r--vm/mterp/x86/OP_UNUSED_F0FF.S1
-rw-r--r--vm/mterp/x86/OP_UNUSED_F1FF.S1
-rw-r--r--vm/mterp/x86/OP_UNUSED_FF.S (renamed from vm/mterp/x86/OP_UNUSED_27FF.S)0
-rw-r--r--vm/mterp/x86/footer.S24
-rw-r--r--vm/mterp/x86/header.S10
1083 files changed, 697 insertions, 75581 deletions
diff --git a/dexdump/DexDump.cpp b/dexdump/DexDump.cpp
index 59f149ba7..bd2f17cf6 100644
--- a/dexdump/DexDump.cpp
+++ b/dexdump/DexDump.cpp
@@ -726,9 +726,6 @@ static char* indexString(DexFile* pDexFile,
width = 4;
break;
case kFmt31c:
- case kFmt40sc:
- case kFmt41c:
- case kFmt5rc:
index = pDecInsn->vB;
width = 8;
break;
@@ -737,10 +734,6 @@ static char* indexString(DexFile* pDexFile,
index = pDecInsn->vC;
width = 4;
break;
- case kFmt52c:
- index = pDecInsn->vC;
- width = 8;
- break;
default:
index = 0;
width = 4;
@@ -939,11 +932,9 @@ void dumpInstruction(DexFile* pDexFile, const DexCode* pCode, int insnIdx,
break;
case kFmt21c: // op vAA, thing@BBBB
case kFmt31c: // op vAA, thing@BBBBBBBB
- case kFmt41c: // exop vAAAA, thing@BBBBBBBB
printf(" v%d, %s", pDecInsn->vA, indexBuf);
break;
case kFmt23x: // op vAA, vBB, vCC
- case kFmt33x: // exop vAA, vBB, vCCCC
printf(" v%d, v%d, v%d", pDecInsn->vA, pDecInsn->vB, pDecInsn->vC);
break;
case kFmt22b: // op vAA, vBB, #+CC
@@ -960,13 +951,11 @@ void dumpInstruction(DexFile* pDexFile, const DexCode* pCode, int insnIdx,
}
break;
case kFmt22s: // op vA, vB, #+CCCC
- case kFmt32s: // exop vAA, vBB, #+CCCC
printf(" v%d, v%d, #int %d // #%04x",
pDecInsn->vA, pDecInsn->vB, (s4)pDecInsn->vC, (u2)pDecInsn->vC);
break;
case kFmt22c: // op vA, vB, thing@CCCC
case kFmt22cs: // [opt] op vA, vB, field offset CCCC
- case kFmt52c: // exop vAAAA, vBBBB, thing@CCCCCCCC
printf(" v%d, v%d, %s", pDecInsn->vA, pDecInsn->vB, indexBuf);
break;
case kFmt30t:
@@ -1008,7 +997,6 @@ void dumpInstruction(DexFile* pDexFile, const DexCode* pCode, int insnIdx,
case kFmt3rc: // op {vCCCC .. v(CCCC+AA-1)}, thing@BBBB
case kFmt3rms: // [opt] invoke-virtual+super/range
case kFmt3rmi: // [opt] execute-inline/range
- case kFmt5rc: // exop {vCCCC .. v(CCCC+AAAA-1)}, meth@BBBBBBBB
{
/*
* This doesn't match the "dx" output when some of the args are
diff --git a/docs/dalvik-bytecode.html b/docs/dalvik-bytecode.html
index d4c0a775d..66c9c4881 100644
--- a/docs/dalvik-bytecode.html
+++ b/docs/dalvik-bytecode.html
@@ -975,175 +975,11 @@
</td>
</tr>
<tr>
- <td>e3..fe 10x</td>
+ <td>e3..ff 10x</td>
<td><i>(unused)</i></td>
<td>&nbsp;</td>
<td><i>(unused)</i></td>
</tr>
-<tr>
- <td>ff -</td>
- <td><i>(expanded opcode)</i></td>
- <td>&nbsp;</td>
- <td>An <code>ff</code> in the primary opcode position indicates that there
- is a secondary opcode in the high-order byte of the opcode code unit,
- as opposed to an argument value. These expanded opcodes are detailed
- immediately below.
- </td>
-</tr>
-<tr>
- <td>00ff 41c</td>
- <td>const-class/jumbo vAAAA, type@BBBBBBBB</td>
- <td>
- <code>A:</code> destination register (16 bits)<br/>
- <code>B:</code> type index (32 bits)
- </td>
- <td>Move a reference to the class specified by the given index into the
- specified register. See <code>const-class</code> description above
- for details, caveats, and suggestions.
- </td>
-</tr>
-<tr>
- <td>01ff 41c</td>
- <td>check-cast/jumbo vAAAA, type@BBBBBBBB</td>
- <td>
- <code>A:</code> reference-bearing register (16 bits)<br/>
- <code>B:</code> type index (32 bits)
- </td>
- <td>Throw a <code>ClassCastException</code> if the reference in the
- given register cannot be cast to the indicated type. See
- <code>check-cast</code> description above for details,
- caveats, and suggestions.
- </td>
-</tr>
-<tr>
- <td>02ff 52c</td>
- <td>instance-of/jumbo vAAAA, vBBBB, type@CCCCCCCC</td>
- <td>
- <code>A:</code> destination register (16 bits)<br/>
- <code>B:</code> reference-bearing register (16 bits)<br/>
- <code>C:</code> type index (32 bits)
- </td>
- <td>Store in the given destination register <code>1</code>
- if the indicated reference is an instance of the given type,
- or <code>0</code> if not. See
- <code>instance-of</code> description above for details,
- caveats, and suggestions.
- </td>
-</tr>
-<tr>
- <td>03ff 41c</td>
- <td>new-instance/jumbo vAAAA, type@BBBBBBBB</td>
- <td>
- <code>A:</code> destination register (16 bits)<br/>
- <code>B:</code> type index (32 bits)
- </td>
- <td>Construct a new instance of the indicated type. See
- <code>new-instance</code> description above for details,
- caveats, and suggestions.
- </td>
-</tr>
-<tr>
- <td>04ff 52c</td>
- <td>new-array/jumbo vAAAA, vBBBB, type@CCCCCCCC</td>
- <td>
- <code>A:</code> destination register (16 bits)<br/>
- <code>B:</code> size register (16 bits)<br/>
- <code>C:</code> type index (32 bits)
- </td>
- <td>Construct a new array of the indicated type and size. See
- <code>new-array</code> description above for details,
- caveats, and suggestions.
- </td>
-</tr>
-<tr>
- <td>05ff 5rc</td>
- <td>filled-new-array/jumbo {vCCCC .. vNNNN}, type@BBBBBBBB</td>
- <td>
- <code>A:</code> array size and argument word count (16 bits)<br/>
- <code>B:</code> type index (32 bits)<br/>
- <code>C:</code> first argument register (16 bits)<br/>
- <code>N = A + C - 1</code>
- </td>
- <td>Construct an array of the given type and size, filling it with the
- supplied contents. See first
- <code>filled-new-array</code> description above for details,
- caveats, and suggestions.
- </td>
-</tr>
-<tr>
- <td>06ff..13ff 52c</td>
- <td>i<i>instanceop</i>/jumbo vAAAA, vBBBB, field@CCCCCCCC<br/>
- 06ff: iget/jumbo<br/>
- 07ff: iget-wide/jumbo<br/>
- 08ff: iget-object/jumbo<br/>
- 09ff: iget-boolean/jumbo<br/>
- 0aff: iget-byte/jumbo<br/>
- 0bff: iget-char/jumbo<br/>
- 0cff: iget-short/jumbo<br/>
- 0dff: iput/jumbo<br/>
- 0eff: iput-wide/jumbo<br/>
- 0fff: iput-object/jumbo<br/>
- 10ff: iput-boolean/jumbo<br/>
- 11ff: iput-byte/jumbo<br/>
- 12ff: iput-char/jumbo<br/>
- 13ff: iput-short/jumbo
- </td>
- <td>
- <code>A:</code> value register or pair; may be source or dest (16 bits)<br/>
- <code>B:</code> object register (16 bits)<br/>
- <code>C:</code> instance field reference index (32 bits)
- </td>
- <td>Perform the identified object instance field operation. See
- <code>i<i>instanceop</i></code> description above for details,
- caveats, and suggestions.
- </td>
-</tr>
-<tr>
- <td>14ff..21ff 41c</td>
- <td>s<i>staticop</i>/jumbo vAAAA, field@BBBBBBBB<br/>
- 14ff: sget/jumbo<br/>
- 15ff: sget-wide/jumbo<br/>
- 16ff: sget-object/jumbo<br/>
- 17ff: sget-boolean/jumbo<br/>
- 18ff: sget-byte/jumbo<br/>
- 19ff: sget-char/jumbo<br/>
- 1aff: sget-short/jumbo<br/>
- 1bff: sput/jumbo<br/>
- 1cff: sput-wide/jumbo<br/>
- 1dff: sput-object/jumbo<br/>
- 1eff: sput-boolean/jumbo<br/>
- 1fff: sput-byte/jumbo<br/>
- 20ff: sput-char/jumbo<br/>
- 21ff: sput-short/jumbo
- </td>
- <td>
- <code>A:</code> value register or pair; may be source or dest (16 bits)<br/>
- <code>B:</code> instance field reference index (32 bits)
- </td>
- <td>Perform the identified object static field operation. See
- <code>s<i>staticop</i></code> description above for details,
- caveats, and suggestions.
- </td>
-</tr>
-<tr>
- <td>22ff..26ff 5rc</td>
- <td>invoke-<i>kind</i>/jumbo {vCCCC .. vNNNN}, meth@BBBBBBBB<br/>
- 22ff: invoke-virtual/jumbo<br/>
- 23ff: invoke-super/jumbo<br/>
- 24ff: invoke-direct/jumbo<br/>
- 25ff: invoke-static/jumbo<br/>
- 26ff: invoke-interface/jumbo
- </td>
- <td>
- <code>A:</code> argument word count (16 bits)<br/>
- <code>B:</code> method reference index (32 bits)<br/>
- <code>C:</code> first argument register (16 bits)<br/>
- <code>N = A + C - 1</code>
- </td>
- <td>Call the indicated method. See first <code>invoke-<i>kind</i></code>
- description above for details, caveats, and suggestions.
- </td>
-</tr>
</tbody>
</table>
diff --git a/docs/instruction-formats.html b/docs/instruction-formats.html
index ada1bb26c..f320a2d13 100644
--- a/docs/instruction-formats.html
+++ b/docs/instruction-formats.html
@@ -28,8 +28,7 @@ represents four bits, read from high bits to low, with vertical bars
in sequence from "<code>A</code>" are used to indicate fields within
the format (which then get defined further by the syntax column). The term
"<code>op</code>" is used to indicate the position of an eight-bit
-opcode within the format, and similarly "<code>exop</code>" is used
-to indicate an extended sixteen-bit opcode. A slashed zero
+opcode within the format. A slashed zero
("<code>&Oslash;</code>") is used to indicate that all bits must be
zero in the indicated position.</p>
@@ -455,59 +454,6 @@ the correspondence.</p>
<td><i><code>op</code></i> vAA, #+BBBBBBBBBBBBBBBB</td>
<td>const-wide</td>
</tr>
-<tr>
- <td rowspan="2"><i>exop</i> BB|AA CCCC</td>
- <td>33x</td>
- <td><i><code>exop</code></i> vAA, vBB, vCCCC</td>
- <td>&nbsp;</td>
-</tr>
-<tr>
- <td>32s</td>
- <td><i><code>exop</code></i> vAA, vBB, #+CCCC</td>
- <td>&nbsp;</td>
-</tr>
-<tr>
- <td><i>exop</i> BBBB<sub>lo</sub> BBBB<sub>hi</sub> AAAA</td></td>
- <td>40sc</td>
- <td><i><code>exop</code></i> AAAA, kind@BBBBBBBB</td>
- <td><i>suggested format for statically determined verification errors;
- see <code>20bc</code>, above</i></td>
-</tr>
-<tr>
- <td><i>exop</i> BBBB<sub>lo</sub> BBBB<sub>hi</sub> AAAA
- <td>41c</td>
- <td><i><code>exop</code></i> vAAAA, field@BBBBBBBB<br/>
- <i><code>exop</code></i> vAAAA, type@BBBBBBBB
- <p><i>The unusual choice in lettering here reflects a desire to make
- the letters match their use in related formats 21c and 31c.</i></p>
- </td>
- <td>&nbsp;</td>
-</tr>
-<tr>
- <td><i>exop</i> CCCC<sub>lo</sub> CCCC<sub>hi</sub>
- AAAA BBBB</td>
- <td>52c</td>
- <td><i><code>exop</code></i> vAAAA, vBBBB, field@CCCCCCCC<br/>
- <i><code>exop</code></i> vAAAA, vBBBB, type@CCCCCCCC
- <p><i>The unusual choice in lettering here reflects a desire to make
- the letters match their use in related formats 22c and 22cs.</i></p>
- </td>
- <td>&nbsp;</td>
-</tr>
-<tr>
- <td><i>exop</i> BBBB<sub>lo</sub> BBBB<sub>hi</sub>
- AAAA CCCC</td>
- <td>5rc</td>
- <td><i><code>exop</code></i> {vCCCC .. vNNNN}, meth@BBBBBBBB<br/>
- <i><code>exop</code></i> {vCCCC .. vNNNN}, type@BBBBBBBB<br/>
- <p><i>where <code>NNNN = CCCC+AAAA-1</code>, that is <code>A</code>
- determines the count <code>0..65535</code>, and <code>C</code>
- determines the first register</i></p>
- <p><i>The unusual choice in lettering here reflects a desire to make
- the letters match their use in related formats 3rc, 3rms, and 3rmi.</i></p>
- </td>
- <td>&nbsp;</td>
-</tr>
</tbody>
</table>
diff --git a/dx/src/com/android/dx/dex/code/Dops.java b/dx/src/com/android/dx/dex/code/Dops.java
index c0662527e..cc5c173ed 100644
--- a/dx/src/com/android/dx/dex/code/Dops.java
+++ b/dx/src/com/android/dx/dex/code/Dops.java
@@ -40,10 +40,7 @@ import com.android.dx.dex.code.form.Form31t;
import com.android.dx.dex.code.form.Form32x;
import com.android.dx.dex.code.form.Form35c;
import com.android.dx.dex.code.form.Form3rc;
-import com.android.dx.dex.code.form.Form41c;
import com.android.dx.dex.code.form.Form51l;
-import com.android.dx.dex.code.form.Form52c;
-import com.android.dx.dex.code.form.Form5rc;
import com.android.dx.dex.code.form.SpecialFormat;
import com.android.dx.io.Opcodes;
@@ -180,7 +177,7 @@ public final class Dops {
public static final Dop CONST_CLASS =
new Dop(Opcodes.CONST_CLASS, Opcodes.CONST_CLASS,
- Opcodes.CONST_CLASS_JUMBO, Form21c.THE_ONE, true);
+ Opcodes.NO_NEXT, Form21c.THE_ONE, true);
public static final Dop MONITOR_ENTER =
new Dop(Opcodes.MONITOR_ENTER, Opcodes.MONITOR_ENTER,
@@ -192,11 +189,11 @@ public final class Dops {
public static final Dop CHECK_CAST =
new Dop(Opcodes.CHECK_CAST, Opcodes.CHECK_CAST,
- Opcodes.CHECK_CAST_JUMBO, Form21c.THE_ONE, true);
+ Opcodes.NO_NEXT, Form21c.THE_ONE, true);
public static final Dop INSTANCE_OF =
new Dop(Opcodes.INSTANCE_OF, Opcodes.INSTANCE_OF,
- Opcodes.INSTANCE_OF_JUMBO, Form22c.THE_ONE, true);
+ Opcodes.NO_NEXT, Form22c.THE_ONE, true);
public static final Dop ARRAY_LENGTH =
new Dop(Opcodes.ARRAY_LENGTH, Opcodes.ARRAY_LENGTH,
@@ -204,11 +201,11 @@ public final class Dops {
public static final Dop NEW_INSTANCE =
new Dop(Opcodes.NEW_INSTANCE, Opcodes.NEW_INSTANCE,
- Opcodes.NEW_INSTANCE_JUMBO, Form21c.THE_ONE, true);
+ Opcodes.NO_NEXT, Form21c.THE_ONE, true);
public static final Dop NEW_ARRAY =
new Dop(Opcodes.NEW_ARRAY, Opcodes.NEW_ARRAY,
- Opcodes.NEW_ARRAY_JUMBO, Form22c.THE_ONE, true);
+ Opcodes.NO_NEXT, Form22c.THE_ONE, true);
public static final Dop FILLED_NEW_ARRAY =
new Dop(Opcodes.FILLED_NEW_ARRAY, Opcodes.FILLED_NEW_ARRAY,
@@ -216,7 +213,7 @@ public final class Dops {
public static final Dop FILLED_NEW_ARRAY_RANGE =
new Dop(Opcodes.FILLED_NEW_ARRAY_RANGE, Opcodes.FILLED_NEW_ARRAY,
- Opcodes.FILLED_NEW_ARRAY_JUMBO, Form3rc.THE_ONE, false);
+ Opcodes.NO_NEXT, Form3rc.THE_ONE, false);
public static final Dop FILL_ARRAY_DATA =
new Dop(Opcodes.FILL_ARRAY_DATA, Opcodes.FILL_ARRAY_DATA,
@@ -372,115 +369,115 @@ public final class Dops {
public static final Dop IGET =
new Dop(Opcodes.IGET, Opcodes.IGET,
- Opcodes.IGET_JUMBO, Form22c.THE_ONE, true);
+ Opcodes.NO_NEXT, Form22c.THE_ONE, true);
public static final Dop IGET_WIDE =
new Dop(Opcodes.IGET_WIDE, Opcodes.IGET_WIDE,
- Opcodes.IGET_WIDE_JUMBO, Form22c.THE_ONE, true);
+ Opcodes.NO_NEXT, Form22c.THE_ONE, true);
public static final Dop IGET_OBJECT =
new Dop(Opcodes.IGET_OBJECT, Opcodes.IGET_OBJECT,
- Opcodes.IGET_OBJECT_JUMBO, Form22c.THE_ONE, true);
+ Opcodes.NO_NEXT, Form22c.THE_ONE, true);
public static final Dop IGET_BOOLEAN =
new Dop(Opcodes.IGET_BOOLEAN, Opcodes.IGET_BOOLEAN,
- Opcodes.IGET_BOOLEAN_JUMBO, Form22c.THE_ONE, true);
+ Opcodes.NO_NEXT, Form22c.THE_ONE, true);
public static final Dop IGET_BYTE =
new Dop(Opcodes.IGET_BYTE, Opcodes.IGET_BYTE,
- Opcodes.IGET_BYTE_JUMBO, Form22c.THE_ONE, true);
+ Opcodes.NO_NEXT, Form22c.THE_ONE, true);
public static final Dop IGET_CHAR =
new Dop(Opcodes.IGET_CHAR, Opcodes.IGET_CHAR,
- Opcodes.IGET_CHAR_JUMBO, Form22c.THE_ONE, true);
+ Opcodes.NO_NEXT, Form22c.THE_ONE, true);
public static final Dop IGET_SHORT =
new Dop(Opcodes.IGET_SHORT, Opcodes.IGET_SHORT,
- Opcodes.IGET_SHORT_JUMBO, Form22c.THE_ONE, true);
+ Opcodes.NO_NEXT, Form22c.THE_ONE, true);
public static final Dop IPUT =
new Dop(Opcodes.IPUT, Opcodes.IPUT,
- Opcodes.IPUT_JUMBO, Form22c.THE_ONE, false);
+ Opcodes.NO_NEXT, Form22c.THE_ONE, false);
public static final Dop IPUT_WIDE =
new Dop(Opcodes.IPUT_WIDE, Opcodes.IPUT_WIDE,
- Opcodes.IPUT_WIDE_JUMBO, Form22c.THE_ONE, false);
+ Opcodes.NO_NEXT, Form22c.THE_ONE, false);
public static final Dop IPUT_OBJECT =
new Dop(Opcodes.IPUT_OBJECT, Opcodes.IPUT_OBJECT,
- Opcodes.IPUT_OBJECT_JUMBO, Form22c.THE_ONE, false);
+ Opcodes.NO_NEXT, Form22c.THE_ONE, false);
public static final Dop IPUT_BOOLEAN =
new Dop(Opcodes.IPUT_BOOLEAN, Opcodes.IPUT_BOOLEAN,
- Opcodes.IPUT_BOOLEAN_JUMBO, Form22c.THE_ONE, false);
+ Opcodes.NO_NEXT, Form22c.THE_ONE, false);
public static final Dop IPUT_BYTE =
new Dop(Opcodes.IPUT_BYTE, Opcodes.IPUT_BYTE,
- Opcodes.IPUT_BYTE_JUMBO, Form22c.THE_ONE, false);
+ Opcodes.NO_NEXT, Form22c.THE_ONE, false);
public static final Dop IPUT_CHAR =
new Dop(Opcodes.IPUT_CHAR, Opcodes.IPUT_CHAR,
- Opcodes.IPUT_CHAR_JUMBO, Form22c.THE_ONE, false);
+ Opcodes.NO_NEXT, Form22c.THE_ONE, false);
public static final Dop IPUT_SHORT =
new Dop(Opcodes.IPUT_SHORT, Opcodes.IPUT_SHORT,
- Opcodes.IPUT_SHORT_JUMBO, Form22c.THE_ONE, false);
+ Opcodes.NO_NEXT, Form22c.THE_ONE, false);
public static final Dop SGET =
new Dop(Opcodes.SGET, Opcodes.SGET,
- Opcodes.SGET_JUMBO, Form21c.THE_ONE, true);
+ Opcodes.NO_NEXT, Form21c.THE_ONE, true);
public static final Dop SGET_WIDE =
new Dop(Opcodes.SGET_WIDE, Opcodes.SGET_WIDE,
- Opcodes.SGET_WIDE_JUMBO, Form21c.THE_ONE, true);
+ Opcodes.NO_NEXT, Form21c.THE_ONE, true);
public static final Dop SGET_OBJECT =
new Dop(Opcodes.SGET_OBJECT, Opcodes.SGET_OBJECT,
- Opcodes.SGET_OBJECT_JUMBO, Form21c.THE_ONE, true);
+ Opcodes.NO_NEXT, Form21c.THE_ONE, true);
public static final Dop SGET_BOOLEAN =
new Dop(Opcodes.SGET_BOOLEAN, Opcodes.SGET_BOOLEAN,
- Opcodes.SGET_BOOLEAN_JUMBO, Form21c.THE_ONE, true);
+ Opcodes.NO_NEXT, Form21c.THE_ONE, true);
public static final Dop SGET_BYTE =
new Dop(Opcodes.SGET_BYTE, Opcodes.SGET_BYTE,
- Opcodes.SGET_BYTE_JUMBO, Form21c.THE_ONE, true);
+ Opcodes.NO_NEXT, Form21c.THE_ONE, true);
public static final Dop SGET_CHAR =
new Dop(Opcodes.SGET_CHAR, Opcodes.SGET_CHAR,
- Opcodes.SGET_CHAR_JUMBO, Form21c.THE_ONE, true);
+ Opcodes.NO_NEXT, Form21c.THE_ONE, true);
public static final Dop SGET_SHORT =
new Dop(Opcodes.SGET_SHORT, Opcodes.SGET_SHORT,
- Opcodes.SGET_SHORT_JUMBO, Form21c.THE_ONE, true);
+ Opcodes.NO_NEXT, Form21c.THE_ONE, true);
public static final Dop SPUT =
new Dop(Opcodes.SPUT, Opcodes.SPUT,
- Opcodes.SPUT_JUMBO, Form21c.THE_ONE, false);
+ Opcodes.NO_NEXT, Form21c.THE_ONE, false);
public static final Dop SPUT_WIDE =
new Dop(Opcodes.SPUT_WIDE, Opcodes.SPUT_WIDE,
- Opcodes.SPUT_WIDE_JUMBO, Form21c.THE_ONE, false);
+ Opcodes.NO_NEXT, Form21c.THE_ONE, false);
public static final Dop SPUT_OBJECT =
new Dop(Opcodes.SPUT_OBJECT, Opcodes.SPUT_OBJECT,
- Opcodes.SPUT_OBJECT_JUMBO, Form21c.THE_ONE, false);
+ Opcodes.NO_NEXT, Form21c.THE_ONE, false);
public static final Dop SPUT_BOOLEAN =
new Dop(Opcodes.SPUT_BOOLEAN, Opcodes.SPUT_BOOLEAN,
- Opcodes.SPUT_BOOLEAN_JUMBO, Form21c.THE_ONE, false);
+ Opcodes.NO_NEXT, Form21c.THE_ONE, false);
public static final Dop SPUT_BYTE =
new Dop(Opcodes.SPUT_BYTE, Opcodes.SPUT_BYTE,
- Opcodes.SPUT_BYTE_JUMBO, Form21c.THE_ONE, false);
+ Opcodes.NO_NEXT, Form21c.THE_ONE, false);
public static final Dop SPUT_CHAR =
new Dop(Opcodes.SPUT_CHAR, Opcodes.SPUT_CHAR,
- Opcodes.SPUT_CHAR_JUMBO, Form21c.THE_ONE, false);
+ Opcodes.NO_NEXT, Form21c.THE_ONE, false);
public static final Dop SPUT_SHORT =
new Dop(Opcodes.SPUT_SHORT, Opcodes.SPUT_SHORT,
- Opcodes.SPUT_SHORT_JUMBO, Form21c.THE_ONE, false);
+ Opcodes.NO_NEXT, Form21c.THE_ONE, false);
public static final Dop INVOKE_VIRTUAL =
new Dop(Opcodes.INVOKE_VIRTUAL, Opcodes.INVOKE_VIRTUAL,
@@ -504,23 +501,23 @@ public final class Dops {
public static final Dop INVOKE_VIRTUAL_RANGE =
new Dop(Opcodes.INVOKE_VIRTUAL_RANGE, Opcodes.INVOKE_VIRTUAL,
- Opcodes.INVOKE_VIRTUAL_JUMBO, Form3rc.THE_ONE, false);
+ Opcodes.NO_NEXT, Form3rc.THE_ONE, false);
public static final Dop INVOKE_SUPER_RANGE =
new Dop(Opcodes.INVOKE_SUPER_RANGE, Opcodes.INVOKE_SUPER,
- Opcodes.INVOKE_SUPER_JUMBO, Form3rc.THE_ONE, false);
+ Opcodes.NO_NEXT, Form3rc.THE_ONE, false);
public static final Dop INVOKE_DIRECT_RANGE =
new Dop(Opcodes.INVOKE_DIRECT_RANGE, Opcodes.INVOKE_DIRECT,
- Opcodes.INVOKE_DIRECT_JUMBO, Form3rc.THE_ONE, false);
+ Opcodes.NO_NEXT, Form3rc.THE_ONE, false);
public static final Dop INVOKE_STATIC_RANGE =
new Dop(Opcodes.INVOKE_STATIC_RANGE, Opcodes.INVOKE_STATIC,
- Opcodes.INVOKE_STATIC_JUMBO, Form3rc.THE_ONE, false);
+ Opcodes.NO_NEXT, Form3rc.THE_ONE, false);
public static final Dop INVOKE_INTERFACE_RANGE =
new Dop(Opcodes.INVOKE_INTERFACE_RANGE, Opcodes.INVOKE_INTERFACE,
- Opcodes.INVOKE_INTERFACE_JUMBO, Form3rc.THE_ONE, false);
+ Opcodes.NO_NEXT, Form3rc.THE_ONE, false);
public static final Dop NEG_INT =
new Dop(Opcodes.NEG_INT, Opcodes.NEG_INT,
@@ -938,162 +935,6 @@ public final class Dops {
new Dop(Opcodes.USHR_INT_LIT8, Opcodes.USHR_INT,
Opcodes.NO_NEXT, Form22b.THE_ONE, true);
- public static final Dop CONST_CLASS_JUMBO =
- new Dop(Opcodes.CONST_CLASS_JUMBO, Opcodes.CONST_CLASS,
- Opcodes.NO_NEXT, Form41c.THE_ONE, true);
-
- public static final Dop CHECK_CAST_JUMBO =
- new Dop(Opcodes.CHECK_CAST_JUMBO, Opcodes.CHECK_CAST,
- Opcodes.NO_NEXT, Form41c.THE_ONE, false);
-
- public static final Dop INSTANCE_OF_JUMBO =
- new Dop(Opcodes.INSTANCE_OF_JUMBO, Opcodes.INSTANCE_OF,
- Opcodes.NO_NEXT, Form52c.THE_ONE, true);
-
- public static final Dop NEW_INSTANCE_JUMBO =
- new Dop(Opcodes.NEW_INSTANCE_JUMBO, Opcodes.NEW_INSTANCE,
- Opcodes.NO_NEXT, Form41c.THE_ONE, true);
-
- public static final Dop NEW_ARRAY_JUMBO =
- new Dop(Opcodes.NEW_ARRAY_JUMBO, Opcodes.NEW_ARRAY,
- Opcodes.NO_NEXT, Form52c.THE_ONE, true);
-
- public static final Dop FILLED_NEW_ARRAY_JUMBO =
- new Dop(Opcodes.FILLED_NEW_ARRAY_JUMBO, Opcodes.FILLED_NEW_ARRAY,
- Opcodes.NO_NEXT, Form5rc.THE_ONE, false);
-
- public static final Dop IGET_JUMBO =
- new Dop(Opcodes.IGET_JUMBO, Opcodes.IGET,
- Opcodes.NO_NEXT, Form52c.THE_ONE, true);
-
- public static final Dop IGET_WIDE_JUMBO =
- new Dop(Opcodes.IGET_WIDE_JUMBO, Opcodes.IGET_WIDE,
- Opcodes.NO_NEXT, Form52c.THE_ONE, true);
-
- public static final Dop IGET_OBJECT_JUMBO =
- new Dop(Opcodes.IGET_OBJECT_JUMBO, Opcodes.IGET_OBJECT,
- Opcodes.NO_NEXT, Form52c.THE_ONE, true);
-
- public static final Dop IGET_BOOLEAN_JUMBO =
- new Dop(Opcodes.IGET_BOOLEAN_JUMBO, Opcodes.IGET_BOOLEAN,
- Opcodes.NO_NEXT, Form52c.THE_ONE, true);
-
- public static final Dop IGET_BYTE_JUMBO =
- new Dop(Opcodes.IGET_BYTE_JUMBO, Opcodes.IGET_BYTE,
- Opcodes.NO_NEXT, Form52c.THE_ONE, true);
-
- public static final Dop IGET_CHAR_JUMBO =
- new Dop(Opcodes.IGET_CHAR_JUMBO, Opcodes.IGET_CHAR,
- Opcodes.NO_NEXT, Form52c.THE_ONE, true);
-
- public static final Dop IGET_SHORT_JUMBO =
- new Dop(Opcodes.IGET_SHORT_JUMBO, Opcodes.IGET_SHORT,
- Opcodes.NO_NEXT, Form52c.THE_ONE, true);
-
- public static final Dop IPUT_JUMBO =
- new Dop(Opcodes.IPUT_JUMBO, Opcodes.IPUT,
- Opcodes.NO_NEXT, Form52c.THE_ONE, false);
-
- public static final Dop IPUT_WIDE_JUMBO =
- new Dop(Opcodes.IPUT_WIDE_JUMBO, Opcodes.IPUT_WIDE,
- Opcodes.NO_NEXT, Form52c.THE_ONE, false);
-
- public static final Dop IPUT_OBJECT_JUMBO =
- new Dop(Opcodes.IPUT_OBJECT_JUMBO, Opcodes.IPUT_OBJECT,
- Opcodes.NO_NEXT, Form52c.THE_ONE, false);
-
- public static final Dop IPUT_BOOLEAN_JUMBO =
- new Dop(Opcodes.IPUT_BOOLEAN_JUMBO, Opcodes.IPUT_BOOLEAN,
- Opcodes.NO_NEXT, Form52c.THE_ONE, false);
-
- public static final Dop IPUT_BYTE_JUMBO =
- new Dop(Opcodes.IPUT_BYTE_JUMBO, Opcodes.IPUT_BYTE,
- Opcodes.NO_NEXT, Form52c.THE_ONE, false);
-
- public static final Dop IPUT_CHAR_JUMBO =
- new Dop(Opcodes.IPUT_CHAR_JUMBO, Opcodes.IPUT_CHAR,
- Opcodes.NO_NEXT, Form52c.THE_ONE, false);
-
- public static final Dop IPUT_SHORT_JUMBO =
- new Dop(Opcodes.IPUT_SHORT_JUMBO, Opcodes.IPUT_SHORT,
- Opcodes.NO_NEXT, Form52c.THE_ONE, false);
-
- public static final Dop SGET_JUMBO =
- new Dop(Opcodes.SGET_JUMBO, Opcodes.SGET,
- Opcodes.NO_NEXT, Form41c.THE_ONE, true);
-
- public static final Dop SGET_WIDE_JUMBO =
- new Dop(Opcodes.SGET_WIDE_JUMBO, Opcodes.SGET_WIDE,
- Opcodes.NO_NEXT, Form41c.THE_ONE, true);
-
- public static final Dop SGET_OBJECT_JUMBO =
- new Dop(Opcodes.SGET_OBJECT_JUMBO, Opcodes.SGET_OBJECT,
- Opcodes.NO_NEXT, Form41c.THE_ONE, true);
-
- public static final Dop SGET_BOOLEAN_JUMBO =
- new Dop(Opcodes.SGET_BOOLEAN_JUMBO, Opcodes.SGET_BOOLEAN,
- Opcodes.NO_NEXT, Form41c.THE_ONE, true);
-
- public static final Dop SGET_BYTE_JUMBO =
- new Dop(Opcodes.SGET_BYTE_JUMBO, Opcodes.SGET_BYTE,
- Opcodes.NO_NEXT, Form41c.THE_ONE, true);
-
- public static final Dop SGET_CHAR_JUMBO =
- new Dop(Opcodes.SGET_CHAR_JUMBO, Opcodes.SGET_CHAR,
- Opcodes.NO_NEXT, Form41c.THE_ONE, true);
-
- public static final Dop SGET_SHORT_JUMBO =
- new Dop(Opcodes.SGET_SHORT_JUMBO, Opcodes.SGET_SHORT,
- Opcodes.NO_NEXT, Form41c.THE_ONE, true);
-
- public static final Dop SPUT_JUMBO =
- new Dop(Opcodes.SPUT_JUMBO, Opcodes.SPUT,
- Opcodes.NO_NEXT, Form41c.THE_ONE, false);
-
- public static final Dop SPUT_WIDE_JUMBO =
- new Dop(Opcodes.SPUT_WIDE_JUMBO, Opcodes.SPUT_WIDE,
- Opcodes.NO_NEXT, Form41c.THE_ONE, false);
-
- public static final Dop SPUT_OBJECT_JUMBO =
- new Dop(Opcodes.SPUT_OBJECT_JUMBO, Opcodes.SPUT_OBJECT,
- Opcodes.NO_NEXT, Form41c.THE_ONE, false);
-
- public static final Dop SPUT_BOOLEAN_JUMBO =
- new Dop(Opcodes.SPUT_BOOLEAN_JUMBO, Opcodes.SPUT_BOOLEAN,
- Opcodes.NO_NEXT, Form41c.THE_ONE, false);
-
- public static final Dop SPUT_BYTE_JUMBO =
- new Dop(Opcodes.SPUT_BYTE_JUMBO, Opcodes.SPUT_BYTE,
- Opcodes.NO_NEXT, Form41c.THE_ONE, false);
-
- public static final Dop SPUT_CHAR_JUMBO =
- new Dop(Opcodes.SPUT_CHAR_JUMBO, Opcodes.SPUT_CHAR,
- Opcodes.NO_NEXT, Form41c.THE_ONE, false);
-
- public static final Dop SPUT_SHORT_JUMBO =
- new Dop(Opcodes.SPUT_SHORT_JUMBO, Opcodes.SPUT_SHORT,
- Opcodes.NO_NEXT, Form41c.THE_ONE, false);
-
- public static final Dop INVOKE_VIRTUAL_JUMBO =
- new Dop(Opcodes.INVOKE_VIRTUAL_JUMBO, Opcodes.INVOKE_VIRTUAL,
- Opcodes.NO_NEXT, Form5rc.THE_ONE, false);
-
- public static final Dop INVOKE_SUPER_JUMBO =
- new Dop(Opcodes.INVOKE_SUPER_JUMBO, Opcodes.INVOKE_SUPER,
- Opcodes.NO_NEXT, Form5rc.THE_ONE, false);
-
- public static final Dop INVOKE_DIRECT_JUMBO =
- new Dop(Opcodes.INVOKE_DIRECT_JUMBO, Opcodes.INVOKE_DIRECT,
- Opcodes.NO_NEXT, Form5rc.THE_ONE, false);
-
- public static final Dop INVOKE_STATIC_JUMBO =
- new Dop(Opcodes.INVOKE_STATIC_JUMBO, Opcodes.INVOKE_STATIC,
- Opcodes.NO_NEXT, Form5rc.THE_ONE, false);
-
- public static final Dop INVOKE_INTERFACE_JUMBO =
- new Dop(Opcodes.INVOKE_INTERFACE_JUMBO, Opcodes.INVOKE_INTERFACE,
- Opcodes.NO_NEXT, Form5rc.THE_ONE, false);
-
// END(dops)
// Static initialization.
@@ -1321,45 +1162,6 @@ public final class Dops {
set(SHL_INT_LIT8);
set(SHR_INT_LIT8);
set(USHR_INT_LIT8);
- set(CONST_CLASS_JUMBO);
- set(CHECK_CAST_JUMBO);
- set(INSTANCE_OF_JUMBO);
- set(NEW_INSTANCE_JUMBO);
- set(NEW_ARRAY_JUMBO);
- set(FILLED_NEW_ARRAY_JUMBO);
- set(IGET_JUMBO);
- set(IGET_WIDE_JUMBO);
- set(IGET_OBJECT_JUMBO);
- set(IGET_BOOLEAN_JUMBO);
- set(IGET_BYTE_JUMBO);
- set(IGET_CHAR_JUMBO);
- set(IGET_SHORT_JUMBO);
- set(IPUT_JUMBO);
- set(IPUT_WIDE_JUMBO);
- set(IPUT_OBJECT_JUMBO);
- set(IPUT_BOOLEAN_JUMBO);
- set(IPUT_BYTE_JUMBO);
- set(IPUT_CHAR_JUMBO);
- set(IPUT_SHORT_JUMBO);
- set(SGET_JUMBO);
- set(SGET_WIDE_JUMBO);
- set(SGET_OBJECT_JUMBO);
- set(SGET_BOOLEAN_JUMBO);
- set(SGET_BYTE_JUMBO);
- set(SGET_CHAR_JUMBO);
- set(SGET_SHORT_JUMBO);
- set(SPUT_JUMBO);
- set(SPUT_WIDE_JUMBO);
- set(SPUT_OBJECT_JUMBO);
- set(SPUT_BOOLEAN_JUMBO);
- set(SPUT_BYTE_JUMBO);
- set(SPUT_CHAR_JUMBO);
- set(SPUT_SHORT_JUMBO);
- set(INVOKE_VIRTUAL_JUMBO);
- set(INVOKE_SUPER_JUMBO);
- set(INVOKE_DIRECT_JUMBO);
- set(INVOKE_STATIC_JUMBO);
- set(INVOKE_INTERFACE_JUMBO);
// END(dops-init)
}
diff --git a/dx/src/com/android/dx/dex/code/InsnFormat.java b/dx/src/com/android/dx/dex/code/InsnFormat.java
index bf9f08e52..c866fecdc 100644
--- a/dx/src/com/android/dx/dex/code/InsnFormat.java
+++ b/dx/src/com/android/dx/dex/code/InsnFormat.java
@@ -507,9 +507,8 @@ public abstract class InsnFormat {
protected static short opcodeUnit(DalvInsn insn) {
int opcode = insn.getOpcode().getOpcode();
- if ((opcode < 0xff) || (opcode > 0xffff)) {
- throw new IllegalArgumentException(
- "extended opcode out of range 255..65535");
+ if ((opcode < 0x100) || (opcode > 0xffff)) {
+ throw new IllegalArgumentException("opcode out of range 0..65535");
}
return (short) opcode;
diff --git a/dx/src/com/android/dx/dex/code/form/Form32s.java b/dx/src/com/android/dx/dex/code/form/Form32s.java
deleted file mode 100644
index e08147056..000000000
--- a/dx/src/com/android/dx/dex/code/form/Form32s.java
+++ /dev/null
@@ -1,118 +0,0 @@
-/*
- * Copyright (C) 2010 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package com.android.dx.dex.code.form;
-
-import com.android.dx.dex.code.CstInsn;
-import com.android.dx.dex.code.DalvInsn;
-import com.android.dx.dex.code.InsnFormat;
-import com.android.dx.rop.code.RegisterSpecList;
-import com.android.dx.rop.cst.Constant;
-import com.android.dx.rop.cst.CstLiteralBits;
-import com.android.dx.util.AnnotatedOutput;
-
-import java.util.BitSet;
-
-/**
- * Instruction format {@code 32s}. See the instruction format spec
- * for details.
- */
-public final class Form32s extends InsnFormat {
- /** {@code non-null;} unique instance of this class */
- public static final InsnFormat THE_ONE = new Form32s();
-
- /**
- * Constructs an instance. This class is not publicly
- * instantiable. Use {@link #THE_ONE}.
- */
- private Form32s() {
- // This space intentionally left blank.
- }
-
- /** {@inheritDoc} */
- @Override
- public String insnArgString(DalvInsn insn) {
- RegisterSpecList regs = insn.getRegisters();
- CstLiteralBits value = (CstLiteralBits) ((CstInsn) insn).getConstant();
-
- return regs.get(0).regString() + ", " + regs.get(1).regString()
- + ", " + literalBitsString(value);
- }
-
- /** {@inheritDoc} */
- @Override
- public String insnCommentString(DalvInsn insn, boolean noteIndices) {
- CstLiteralBits value = (CstLiteralBits) ((CstInsn) insn).getConstant();
- return literalBitsComment(value, 16);
- }
-
- /** {@inheritDoc} */
- @Override
- public int codeSize() {
- return 3;
- }
-
- /** {@inheritDoc} */
- @Override
- public boolean isCompatible(DalvInsn insn) {
- if (! ALLOW_EXTENDED_OPCODES) {
- return false;
- }
-
- RegisterSpecList regs = insn.getRegisters();
- if (!((insn instanceof CstInsn) &&
- (regs.size() == 2) &&
- unsignedFitsInByte(regs.get(0).getReg()) &&
- unsignedFitsInByte(regs.get(1).getReg()))) {
- return false;
- }
-
- CstInsn ci = (CstInsn) insn;
- Constant cst = ci.getConstant();
-
- if (!(cst instanceof CstLiteralBits)) {
- return false;
- }
-
- CstLiteralBits cb = (CstLiteralBits) cst;
-
- return cb.fitsInInt() && signedFitsInShort(cb.getIntBits());
- }
-
- /** {@inheritDoc} */
- @Override
- public BitSet compatibleRegs(DalvInsn insn) {
- RegisterSpecList regs = insn.getRegisters();
- BitSet bits = new BitSet(2);
-
- bits.set(0, unsignedFitsInByte(regs.get(0).getReg()));
- bits.set(1, unsignedFitsInByte(regs.get(1).getReg()));
- return bits;
- }
-
- /** {@inheritDoc} */
- @Override
- public void writeTo(AnnotatedOutput out, DalvInsn insn) {
- RegisterSpecList regs = insn.getRegisters();
- int value =
- ((CstLiteralBits) ((CstInsn) insn).getConstant()).getIntBits();
-
- write(out,
- opcodeUnit(insn),
- codeUnit(regs.get(0).getReg(), regs.get(1).getReg()),
- (short) value);
- }
-}
diff --git a/dx/src/com/android/dx/dex/code/form/Form33x.java b/dx/src/com/android/dx/dex/code/form/Form33x.java
deleted file mode 100644
index 9a569a000..000000000
--- a/dx/src/com/android/dx/dex/code/form/Form33x.java
+++ /dev/null
@@ -1,101 +0,0 @@
-/*
- * Copyright (C) 2010 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package com.android.dx.dex.code.form;
-
-import com.android.dx.dex.code.DalvInsn;
-import com.android.dx.dex.code.InsnFormat;
-import com.android.dx.dex.code.SimpleInsn;
-import com.android.dx.rop.code.RegisterSpecList;
-import com.android.dx.util.AnnotatedOutput;
-
-import java.util.BitSet;
-
-/**
- * Instruction format {@code 33x}. See the instruction format spec
- * for details.
- */
-public final class Form33x extends InsnFormat {
- /** {@code non-null;} unique instance of this class */
- public static final InsnFormat THE_ONE = new Form33x();
-
- /**
- * Constructs an instance. This class is not publicly
- * instantiable. Use {@link #THE_ONE}.
- */
- private Form33x() {
- // This space intentionally left blank.
- }
-
- /** {@inheritDoc} */
- @Override
- public String insnArgString(DalvInsn insn) {
- RegisterSpecList regs = insn.getRegisters();
- return regs.get(0).regString() + ", " + regs.get(1).regString() +
- ", " + regs.get(2).regString();
- }
-
- /** {@inheritDoc} */
- @Override
- public String insnCommentString(DalvInsn insn, boolean noteIndices) {
- // This format has no comment.
- return "";
- }
-
- /** {@inheritDoc} */
- @Override
- public int codeSize() {
- return 3;
- }
-
- /** {@inheritDoc} */
- @Override
- public boolean isCompatible(DalvInsn insn) {
- if (! ALLOW_EXTENDED_OPCODES) {
- return false;
- }
-
- RegisterSpecList regs = insn.getRegisters();
-
- return (insn instanceof SimpleInsn) &&
- (regs.size() == 3) &&
- unsignedFitsInByte(regs.get(0).getReg()) &&
- unsignedFitsInByte(regs.get(1).getReg()) &&
- unsignedFitsInShort(regs.get(2).getReg());
- }
-
- /** {@inheritDoc} */
- @Override
- public BitSet compatibleRegs(DalvInsn insn) {
- RegisterSpecList regs = insn.getRegisters();
- BitSet bits = new BitSet(3);
-
- bits.set(0, unsignedFitsInByte(regs.get(0).getReg()));
- bits.set(1, unsignedFitsInByte(regs.get(1).getReg()));
- bits.set(2, unsignedFitsInShort(regs.get(2).getReg()));
- return bits;
- }
-
- /** {@inheritDoc} */
- @Override
- public void writeTo(AnnotatedOutput out, DalvInsn insn) {
- RegisterSpecList regs = insn.getRegisters();
- write(out,
- opcodeUnit(insn),
- codeUnit(regs.get(0).getReg(), regs.get(1).getReg()),
- (short) regs.get(2).getReg());
- }
-}
diff --git a/dx/src/com/android/dx/dex/code/form/Form41c.java b/dx/src/com/android/dx/dex/code/form/Form41c.java
deleted file mode 100644
index 24067bce4..000000000
--- a/dx/src/com/android/dx/dex/code/form/Form41c.java
+++ /dev/null
@@ -1,144 +0,0 @@
-/*
- * Copyright (C) 2010 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package com.android.dx.dex.code.form;
-
-import com.android.dx.dex.code.CstInsn;
-import com.android.dx.dex.code.DalvInsn;
-import com.android.dx.dex.code.InsnFormat;
-import com.android.dx.rop.code.RegisterSpec;
-import com.android.dx.rop.code.RegisterSpecList;
-import com.android.dx.rop.cst.Constant;
-import com.android.dx.rop.cst.CstFieldRef;
-import com.android.dx.rop.cst.CstType;
-import com.android.dx.util.AnnotatedOutput;
-
-import java.util.BitSet;
-
-/**
- * Instruction format {@code 41c}. See the instruction format spec
- * for details.
- */
-public final class Form41c extends InsnFormat {
- /** {@code non-null;} unique instance of this class */
- public static final InsnFormat THE_ONE = new Form41c();
-
- /**
- * Constructs an instance. This class is not publicly
- * instantiable. Use {@link #THE_ONE}.
- */
- private Form41c() {
- // This space intentionally left blank.
- }
-
- /** {@inheritDoc} */
- @Override
- public String insnArgString(DalvInsn insn) {
- RegisterSpecList regs = insn.getRegisters();
- return regs.get(0).regString() + ", " + cstString(insn);
- }
-
- /** {@inheritDoc} */
- @Override
- public String insnCommentString(DalvInsn insn, boolean noteIndices) {
- if (noteIndices) {
- return cstComment(insn);
- } else {
- return "";
- }
- }
-
- /** {@inheritDoc} */
- @Override
- public int codeSize() {
- return 4;
- }
-
- /** {@inheritDoc} */
- @Override
- public boolean isCompatible(DalvInsn insn) {
- if (! ALLOW_EXTENDED_OPCODES) {
- return false;
- }
-
- if (!(insn instanceof CstInsn)) {
- return false;
- }
-
- RegisterSpecList regs = insn.getRegisters();
- RegisterSpec reg;
-
- switch (regs.size()) {
- case 1: {
- reg = regs.get(0);
- break;
- }
- case 2: {
- /*
- * This format is allowed for ops that are effectively
- * 2-arg but where the two args are identical.
- */
- reg = regs.get(0);
- if (reg.getReg() != regs.get(1).getReg()) {
- return false;
- }
- break;
- }
- default: {
- return false;
- }
- }
-
- if (!unsignedFitsInShort(reg.getReg())) {
- return false;
- }
-
- CstInsn ci = (CstInsn) insn;
- Constant cst = ci.getConstant();
-
- return (cst instanceof CstType) ||
- (cst instanceof CstFieldRef);
- }
-
- /** {@inheritDoc} */
- @Override
- public BitSet compatibleRegs(DalvInsn insn) {
- RegisterSpecList regs = insn.getRegisters();
- int sz = regs.size();
- BitSet bits = new BitSet(sz);
- boolean compat = unsignedFitsInByte(regs.get(0).getReg());
-
- if (sz == 1) {
- bits.set(0, compat);
- } else {
- if (regs.get(0).getReg() == regs.get(1).getReg()) {
- bits.set(0, compat);
- bits.set(1, compat);
- }
- }
-
- return bits;
- }
-
- /** {@inheritDoc} */
- @Override
- public void writeTo(AnnotatedOutput out, DalvInsn insn) {
- RegisterSpecList regs = insn.getRegisters();
- int cpi = ((CstInsn) insn).getIndex();
-
- write(out, opcodeUnit(insn), cpi, (short) regs.get(0).getReg());
- }
-}
diff --git a/dx/src/com/android/dx/dex/code/form/Form52c.java b/dx/src/com/android/dx/dex/code/form/Form52c.java
deleted file mode 100644
index acd2124d6..000000000
--- a/dx/src/com/android/dx/dex/code/form/Form52c.java
+++ /dev/null
@@ -1,115 +0,0 @@
-/*
- * Copyright (C) 2010 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package com.android.dx.dex.code.form;
-
-import com.android.dx.dex.code.CstInsn;
-import com.android.dx.dex.code.DalvInsn;
-import com.android.dx.dex.code.InsnFormat;
-import com.android.dx.rop.code.RegisterSpecList;
-import com.android.dx.rop.cst.Constant;
-import com.android.dx.rop.cst.CstFieldRef;
-import com.android.dx.rop.cst.CstType;
-import com.android.dx.util.AnnotatedOutput;
-
-import java.util.BitSet;
-
-/**
- * Instruction format {@code 52c}. See the instruction format spec
- * for details.
- */
-public final class Form52c extends InsnFormat {
- /** {@code non-null;} unique instance of this class */
- public static final InsnFormat THE_ONE = new Form52c();
-
- /**
- * Constructs an instance. This class is not publicly
- * instantiable. Use {@link #THE_ONE}.
- */
- private Form52c() {
- // This space intentionally left blank.
- }
-
- /** {@inheritDoc} */
- @Override
- public String insnArgString(DalvInsn insn) {
- RegisterSpecList regs = insn.getRegisters();
- return regs.get(0).regString() + ", " + regs.get(1).regString() +
- ", " + cstString(insn);
- }
-
- /** {@inheritDoc} */
- @Override
- public String insnCommentString(DalvInsn insn, boolean noteIndices) {
- if (noteIndices) {
- return cstComment(insn);
- } else {
- return "";
- }
- }
-
- /** {@inheritDoc} */
- @Override
- public int codeSize() {
- return 5;
- }
-
- /** {@inheritDoc} */
- @Override
- public boolean isCompatible(DalvInsn insn) {
- if (! ALLOW_EXTENDED_OPCODES) {
- return false;
- }
-
- RegisterSpecList regs = insn.getRegisters();
- if (!((insn instanceof CstInsn) &&
- (regs.size() == 2) &&
- unsignedFitsInShort(regs.get(0).getReg()) &&
- unsignedFitsInShort(regs.get(1).getReg()))) {
- return false;
- }
-
- CstInsn ci = (CstInsn) insn;
- Constant cst = ci.getConstant();
-
- return (cst instanceof CstType) ||
- (cst instanceof CstFieldRef);
- }
-
- /** {@inheritDoc} */
- @Override
- public BitSet compatibleRegs(DalvInsn insn) {
- RegisterSpecList regs = insn.getRegisters();
- BitSet bits = new BitSet(2);
-
- bits.set(0, unsignedFitsInShort(regs.get(0).getReg()));
- bits.set(1, unsignedFitsInShort(regs.get(1).getReg()));
- return bits;
- }
-
- /** {@inheritDoc} */
- @Override
- public void writeTo(AnnotatedOutput out, DalvInsn insn) {
- RegisterSpecList regs = insn.getRegisters();
- int cpi = ((CstInsn) insn).getIndex();
-
- write(out,
- opcodeUnit(insn),
- cpi,
- (short) regs.get(0).getReg(),
- (short) regs.get(1).getReg());
- }
-}
diff --git a/dx/src/com/android/dx/dex/code/form/Form5rc.java b/dx/src/com/android/dx/dex/code/form/Form5rc.java
deleted file mode 100644
index 0c5470252..000000000
--- a/dx/src/com/android/dx/dex/code/form/Form5rc.java
+++ /dev/null
@@ -1,105 +0,0 @@
-/*
- * Copyright (C) 2010 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package com.android.dx.dex.code.form;
-
-import com.android.dx.dex.code.CstInsn;
-import com.android.dx.dex.code.DalvInsn;
-import com.android.dx.dex.code.InsnFormat;
-import com.android.dx.rop.code.RegisterSpecList;
-import com.android.dx.rop.cst.Constant;
-import com.android.dx.rop.cst.CstMethodRef;
-import com.android.dx.rop.cst.CstType;
-import com.android.dx.util.AnnotatedOutput;
-
-/**
- * Instruction format {@code 5rc}. See the instruction format spec
- * for details.
- */
-public final class Form5rc extends InsnFormat {
- /** {@code non-null;} unique instance of this class */
- public static final InsnFormat THE_ONE = new Form5rc();
-
- /**
- * Constructs an instance. This class is not publicly
- * instantiable. Use {@link #THE_ONE}.
- */
- private Form5rc() {
- // This space intentionally left blank.
- }
-
- /** {@inheritDoc} */
- @Override
- public String insnArgString(DalvInsn insn) {
- return regRangeString(insn.getRegisters()) + ", " +
- cstString(insn);
- }
-
- /** {@inheritDoc} */
- @Override
- public String insnCommentString(DalvInsn insn, boolean noteIndices) {
- if (noteIndices) {
- return cstComment(insn);
- } else {
- return "";
- }
- }
-
- /** {@inheritDoc} */
- @Override
- public int codeSize() {
- return 5;
- }
-
- /** {@inheritDoc} */
- @Override
- public boolean isCompatible(DalvInsn insn) {
- if (! ALLOW_EXTENDED_OPCODES) {
- return false;
- }
-
- if (!(insn instanceof CstInsn)) {
- return false;
- }
-
- CstInsn ci = (CstInsn) insn;
- Constant cst = ci.getConstant();
-
- if (!((cst instanceof CstMethodRef) ||
- (cst instanceof CstType))) {
- return false;
- }
-
- RegisterSpecList regs = ci.getRegisters();
- int sz = regs.size();
-
- return (regs.size() == 0) ||
- (isRegListSequential(regs) &&
- unsignedFitsInShort(regs.get(0).getReg()) &&
- unsignedFitsInShort(regs.getWordCount()));
- }
-
- /** {@inheritDoc} */
- @Override
- public void writeTo(AnnotatedOutput out, DalvInsn insn) {
- RegisterSpecList regs = insn.getRegisters();
- int cpi = ((CstInsn) insn).getIndex();
- int firstReg = (regs.size() == 0) ? 0 : regs.get(0).getReg();
- int count = regs.getWordCount();
-
- write(out, opcodeUnit(insn), cpi, (short) count, (short) firstReg);
- }
-}
diff --git a/dx/src/com/android/dx/io/OpcodeInfo.java b/dx/src/com/android/dx/io/OpcodeInfo.java
index c8fcf25d5..2040d352c 100644
--- a/dx/src/com/android/dx/io/OpcodeInfo.java
+++ b/dx/src/com/android/dx/io/OpcodeInfo.java
@@ -931,162 +931,6 @@ public final class OpcodeInfo {
new Info(Opcodes.USHR_INT_LIT8, "ushr-int/lit8",
InstructionCodec.FORMAT_22B, IndexType.NONE);
- public static final Info CONST_CLASS_JUMBO =
- new Info(Opcodes.CONST_CLASS_JUMBO, "const-class/jumbo",
- InstructionCodec.FORMAT_41C, IndexType.TYPE_REF);
-
- public static final Info CHECK_CAST_JUMBO =
- new Info(Opcodes.CHECK_CAST_JUMBO, "check-cast/jumbo",
- InstructionCodec.FORMAT_41C, IndexType.TYPE_REF);
-
- public static final Info INSTANCE_OF_JUMBO =
- new Info(Opcodes.INSTANCE_OF_JUMBO, "instance-of/jumbo",
- InstructionCodec.FORMAT_52C, IndexType.TYPE_REF);
-
- public static final Info NEW_INSTANCE_JUMBO =
- new Info(Opcodes.NEW_INSTANCE_JUMBO, "new-instance/jumbo",
- InstructionCodec.FORMAT_41C, IndexType.TYPE_REF);
-
- public static final Info NEW_ARRAY_JUMBO =
- new Info(Opcodes.NEW_ARRAY_JUMBO, "new-array/jumbo",
- InstructionCodec.FORMAT_52C, IndexType.TYPE_REF);
-
- public static final Info FILLED_NEW_ARRAY_JUMBO =
- new Info(Opcodes.FILLED_NEW_ARRAY_JUMBO, "filled-new-array/jumbo",
- InstructionCodec.FORMAT_5RC, IndexType.TYPE_REF);
-
- public static final Info IGET_JUMBO =
- new Info(Opcodes.IGET_JUMBO, "iget/jumbo",
- InstructionCodec.FORMAT_52C, IndexType.FIELD_REF);
-
- public static final Info IGET_WIDE_JUMBO =
- new Info(Opcodes.IGET_WIDE_JUMBO, "iget-wide/jumbo",
- InstructionCodec.FORMAT_52C, IndexType.FIELD_REF);
-
- public static final Info IGET_OBJECT_JUMBO =
- new Info(Opcodes.IGET_OBJECT_JUMBO, "iget-object/jumbo",
- InstructionCodec.FORMAT_52C, IndexType.FIELD_REF);
-
- public static final Info IGET_BOOLEAN_JUMBO =
- new Info(Opcodes.IGET_BOOLEAN_JUMBO, "iget-boolean/jumbo",
- InstructionCodec.FORMAT_52C, IndexType.FIELD_REF);
-
- public static final Info IGET_BYTE_JUMBO =
- new Info(Opcodes.IGET_BYTE_JUMBO, "iget-byte/jumbo",
- InstructionCodec.FORMAT_52C, IndexType.FIELD_REF);
-
- public static final Info IGET_CHAR_JUMBO =
- new Info(Opcodes.IGET_CHAR_JUMBO, "iget-char/jumbo",
- InstructionCodec.FORMAT_52C, IndexType.FIELD_REF);
-
- public static final Info IGET_SHORT_JUMBO =
- new Info(Opcodes.IGET_SHORT_JUMBO, "iget-short/jumbo",
- InstructionCodec.FORMAT_52C, IndexType.FIELD_REF);
-
- public static final Info IPUT_JUMBO =
- new Info(Opcodes.IPUT_JUMBO, "iput/jumbo",
- InstructionCodec.FORMAT_52C, IndexType.FIELD_REF);
-
- public static final Info IPUT_WIDE_JUMBO =
- new Info(Opcodes.IPUT_WIDE_JUMBO, "iput-wide/jumbo",
- InstructionCodec.FORMAT_52C, IndexType.FIELD_REF);
-
- public static final Info IPUT_OBJECT_JUMBO =
- new Info(Opcodes.IPUT_OBJECT_JUMBO, "iput-object/jumbo",
- InstructionCodec.FORMAT_52C, IndexType.FIELD_REF);
-
- public static final Info IPUT_BOOLEAN_JUMBO =
- new Info(Opcodes.IPUT_BOOLEAN_JUMBO, "iput-boolean/jumbo",
- InstructionCodec.FORMAT_52C, IndexType.FIELD_REF);
-
- public static final Info IPUT_BYTE_JUMBO =
- new Info(Opcodes.IPUT_BYTE_JUMBO, "iput-byte/jumbo",
- InstructionCodec.FORMAT_52C, IndexType.FIELD_REF);
-
- public static final Info IPUT_CHAR_JUMBO =
- new Info(Opcodes.IPUT_CHAR_JUMBO, "iput-char/jumbo",
- InstructionCodec.FORMAT_52C, IndexType.FIELD_REF);
-
- public static final Info IPUT_SHORT_JUMBO =
- new Info(Opcodes.IPUT_SHORT_JUMBO, "iput-short/jumbo",
- InstructionCodec.FORMAT_52C, IndexType.FIELD_REF);
-
- public static final Info SGET_JUMBO =
- new Info(Opcodes.SGET_JUMBO, "sget/jumbo",
- InstructionCodec.FORMAT_41C, IndexType.FIELD_REF);
-
- public static final Info SGET_WIDE_JUMBO =
- new Info(Opcodes.SGET_WIDE_JUMBO, "sget-wide/jumbo",
- InstructionCodec.FORMAT_41C, IndexType.FIELD_REF);
-
- public static final Info SGET_OBJECT_JUMBO =
- new Info(Opcodes.SGET_OBJECT_JUMBO, "sget-object/jumbo",
- InstructionCodec.FORMAT_41C, IndexType.FIELD_REF);
-
- public static final Info SGET_BOOLEAN_JUMBO =
- new Info(Opcodes.SGET_BOOLEAN_JUMBO, "sget-boolean/jumbo",
- InstructionCodec.FORMAT_41C, IndexType.FIELD_REF);
-
- public static final Info SGET_BYTE_JUMBO =
- new Info(Opcodes.SGET_BYTE_JUMBO, "sget-byte/jumbo",
- InstructionCodec.FORMAT_41C, IndexType.FIELD_REF);
-
- public static final Info SGET_CHAR_JUMBO =
- new Info(Opcodes.SGET_CHAR_JUMBO, "sget-char/jumbo",
- InstructionCodec.FORMAT_41C, IndexType.FIELD_REF);
-
- public static final Info SGET_SHORT_JUMBO =
- new Info(Opcodes.SGET_SHORT_JUMBO, "sget-short/jumbo",
- InstructionCodec.FORMAT_41C, IndexType.FIELD_REF);
-
- public static final Info SPUT_JUMBO =
- new Info(Opcodes.SPUT_JUMBO, "sput/jumbo",
- InstructionCodec.FORMAT_41C, IndexType.FIELD_REF);
-
- public static final Info SPUT_WIDE_JUMBO =
- new Info(Opcodes.SPUT_WIDE_JUMBO, "sput-wide/jumbo",
- InstructionCodec.FORMAT_41C, IndexType.FIELD_REF);
-
- public static final Info SPUT_OBJECT_JUMBO =
- new Info(Opcodes.SPUT_OBJECT_JUMBO, "sput-object/jumbo",
- InstructionCodec.FORMAT_41C, IndexType.FIELD_REF);
-
- public static final Info SPUT_BOOLEAN_JUMBO =
- new Info(Opcodes.SPUT_BOOLEAN_JUMBO, "sput-boolean/jumbo",
- InstructionCodec.FORMAT_41C, IndexType.FIELD_REF);
-
- public static final Info SPUT_BYTE_JUMBO =
- new Info(Opcodes.SPUT_BYTE_JUMBO, "sput-byte/jumbo",
- InstructionCodec.FORMAT_41C, IndexType.FIELD_REF);
-
- public static final Info SPUT_CHAR_JUMBO =
- new Info(Opcodes.SPUT_CHAR_JUMBO, "sput-char/jumbo",
- InstructionCodec.FORMAT_41C, IndexType.FIELD_REF);
-
- public static final Info SPUT_SHORT_JUMBO =
- new Info(Opcodes.SPUT_SHORT_JUMBO, "sput-short/jumbo",
- InstructionCodec.FORMAT_41C, IndexType.FIELD_REF);
-
- public static final Info INVOKE_VIRTUAL_JUMBO =
- new Info(Opcodes.INVOKE_VIRTUAL_JUMBO, "invoke-virtual/jumbo",
- InstructionCodec.FORMAT_5RC, IndexType.METHOD_REF);
-
- public static final Info INVOKE_SUPER_JUMBO =
- new Info(Opcodes.INVOKE_SUPER_JUMBO, "invoke-super/jumbo",
- InstructionCodec.FORMAT_5RC, IndexType.METHOD_REF);
-
- public static final Info INVOKE_DIRECT_JUMBO =
- new Info(Opcodes.INVOKE_DIRECT_JUMBO, "invoke-direct/jumbo",
- InstructionCodec.FORMAT_5RC, IndexType.METHOD_REF);
-
- public static final Info INVOKE_STATIC_JUMBO =
- new Info(Opcodes.INVOKE_STATIC_JUMBO, "invoke-static/jumbo",
- InstructionCodec.FORMAT_5RC, IndexType.METHOD_REF);
-
- public static final Info INVOKE_INTERFACE_JUMBO =
- new Info(Opcodes.INVOKE_INTERFACE_JUMBO, "invoke-interface/jumbo",
- InstructionCodec.FORMAT_5RC, IndexType.METHOD_REF);
-
// END(opcode-info-defs)
// Static initialization.
@@ -1320,45 +1164,6 @@ public final class OpcodeInfo {
set(SHL_INT_LIT8);
set(SHR_INT_LIT8);
set(USHR_INT_LIT8);
- set(CONST_CLASS_JUMBO);
- set(CHECK_CAST_JUMBO);
- set(INSTANCE_OF_JUMBO);
- set(NEW_INSTANCE_JUMBO);
- set(NEW_ARRAY_JUMBO);
- set(FILLED_NEW_ARRAY_JUMBO);
- set(IGET_JUMBO);
- set(IGET_WIDE_JUMBO);
- set(IGET_OBJECT_JUMBO);
- set(IGET_BOOLEAN_JUMBO);
- set(IGET_BYTE_JUMBO);
- set(IGET_CHAR_JUMBO);
- set(IGET_SHORT_JUMBO);
- set(IPUT_JUMBO);
- set(IPUT_WIDE_JUMBO);
- set(IPUT_OBJECT_JUMBO);
- set(IPUT_BOOLEAN_JUMBO);
- set(IPUT_BYTE_JUMBO);
- set(IPUT_CHAR_JUMBO);
- set(IPUT_SHORT_JUMBO);
- set(SGET_JUMBO);
- set(SGET_WIDE_JUMBO);
- set(SGET_OBJECT_JUMBO);
- set(SGET_BOOLEAN_JUMBO);
- set(SGET_BYTE_JUMBO);
- set(SGET_CHAR_JUMBO);
- set(SGET_SHORT_JUMBO);
- set(SPUT_JUMBO);
- set(SPUT_WIDE_JUMBO);
- set(SPUT_OBJECT_JUMBO);
- set(SPUT_BOOLEAN_JUMBO);
- set(SPUT_BYTE_JUMBO);
- set(SPUT_CHAR_JUMBO);
- set(SPUT_SHORT_JUMBO);
- set(INVOKE_VIRTUAL_JUMBO);
- set(INVOKE_SUPER_JUMBO);
- set(INVOKE_DIRECT_JUMBO);
- set(INVOKE_STATIC_JUMBO);
- set(INVOKE_INTERFACE_JUMBO);
// END(opcode-info-init)
}
diff --git a/dx/src/com/android/dx/io/Opcodes.java b/dx/src/com/android/dx/io/Opcodes.java
index 4a255f7d4..6dba49d9e 100644
--- a/dx/src/com/android/dx/io/Opcodes.java
+++ b/dx/src/com/android/dx/io/Opcodes.java
@@ -259,45 +259,6 @@ public final class Opcodes {
public static final int SHL_INT_LIT8 = 0xe0;
public static final int SHR_INT_LIT8 = 0xe1;
public static final int USHR_INT_LIT8 = 0xe2;
- public static final int CONST_CLASS_JUMBO = 0x00ff;
- public static final int CHECK_CAST_JUMBO = 0x01ff;
- public static final int INSTANCE_OF_JUMBO = 0x02ff;
- public static final int NEW_INSTANCE_JUMBO = 0x03ff;
- public static final int NEW_ARRAY_JUMBO = 0x04ff;
- public static final int FILLED_NEW_ARRAY_JUMBO = 0x05ff;
- public static final int IGET_JUMBO = 0x06ff;
- public static final int IGET_WIDE_JUMBO = 0x07ff;
- public static final int IGET_OBJECT_JUMBO = 0x08ff;
- public static final int IGET_BOOLEAN_JUMBO = 0x09ff;
- public static final int IGET_BYTE_JUMBO = 0x0aff;
- public static final int IGET_CHAR_JUMBO = 0x0bff;
- public static final int IGET_SHORT_JUMBO = 0x0cff;
- public static final int IPUT_JUMBO = 0x0dff;
- public static final int IPUT_WIDE_JUMBO = 0x0eff;
- public static final int IPUT_OBJECT_JUMBO = 0x0fff;
- public static final int IPUT_BOOLEAN_JUMBO = 0x10ff;
- public static final int IPUT_BYTE_JUMBO = 0x11ff;
- public static final int IPUT_CHAR_JUMBO = 0x12ff;
- public static final int IPUT_SHORT_JUMBO = 0x13ff;
- public static final int SGET_JUMBO = 0x14ff;
- public static final int SGET_WIDE_JUMBO = 0x15ff;
- public static final int SGET_OBJECT_JUMBO = 0x16ff;
- public static final int SGET_BOOLEAN_JUMBO = 0x17ff;
- public static final int SGET_BYTE_JUMBO = 0x18ff;
- public static final int SGET_CHAR_JUMBO = 0x19ff;
- public static final int SGET_SHORT_JUMBO = 0x1aff;
- public static final int SPUT_JUMBO = 0x1bff;
- public static final int SPUT_WIDE_JUMBO = 0x1cff;
- public static final int SPUT_OBJECT_JUMBO = 0x1dff;
- public static final int SPUT_BOOLEAN_JUMBO = 0x1eff;
- public static final int SPUT_BYTE_JUMBO = 0x1fff;
- public static final int SPUT_CHAR_JUMBO = 0x20ff;
- public static final int SPUT_SHORT_JUMBO = 0x21ff;
- public static final int INVOKE_VIRTUAL_JUMBO = 0x22ff;
- public static final int INVOKE_SUPER_JUMBO = 0x23ff;
- public static final int INVOKE_DIRECT_JUMBO = 0x24ff;
- public static final int INVOKE_STATIC_JUMBO = 0x25ff;
- public static final int INVOKE_INTERFACE_JUMBO = 0x26ff;
// END(opcodes)
// TODO: Generate these payload opcodes with opcode-gen.
diff --git a/dx/src/com/android/dx/io/instructions/DecodedInstruction.java b/dx/src/com/android/dx/io/instructions/DecodedInstruction.java
index 9d9e88e08..a8bc8592e 100644
--- a/dx/src/com/android/dx/io/instructions/DecodedInstruction.java
+++ b/dx/src/com/android/dx/io/instructions/DecodedInstruction.java
@@ -58,7 +58,7 @@ public abstract class DecodedInstruction {
/**
* literal value argument; also used for special verification error
- * constants (formats 20bc and 40sc) as well as should-be-zero values
+ * constants (format 20bc) as well as should-be-zero values
* (formats 10x, 20t, 30t, and 32x)
*/
private final long literal;
diff --git a/dx/src/com/android/dx/io/instructions/InstructionCodec.java b/dx/src/com/android/dx/io/instructions/InstructionCodec.java
index b864b8365..2e803ed6b 100644
--- a/dx/src/com/android/dx/io/instructions/InstructionCodec.java
+++ b/dx/src/com/android/dx/io/instructions/InstructionCodec.java
@@ -605,139 +605,6 @@ public enum InstructionCodec {
}
},
- FORMAT_33X() {
- @Override public DecodedInstruction decode(int opcodeUnit,
- CodeInput in) throws EOFException {
- int ab = in.read();
- int a = byte0(ab);
- int b = byte1(ab);
- int c = in.read();
- return new ThreeRegisterDecodedInstruction(
- this, opcodeUnit, 0, null,
- 0, 0L,
- a, b, c);
- }
-
- @Override public void encode(DecodedInstruction insn, CodeOutput out) {
- out.write(
- insn.getOpcodeUnit(),
- codeUnit(insn.getA(), insn.getB()),
- insn.getCUnit());
- }
- },
-
- FORMAT_32S() {
- @Override public DecodedInstruction decode(int opcodeUnit,
- CodeInput in) throws EOFException {
- int ab = in.read();
- int a = byte0(ab);
- int b = byte1(ab);
- int literal = (short) in.read(); // sign-extend
- return new TwoRegisterDecodedInstruction(
- this, opcodeUnit, 0, null,
- 0, literal,
- a, b);
- }
-
- @Override public void encode(DecodedInstruction insn, CodeOutput out) {
- out.write(
- insn.getOpcodeUnit(),
- codeUnit(insn.getA(), insn.getB()),
- insn.getLiteralUnit());
- }
- },
-
- FORMAT_40SC() {
- @Override public DecodedInstruction decode(int opcodeUnit,
- CodeInput in) throws EOFException {
- // Note: We use the literal field to hold the decoded AA value.
- int index = in.readInt();
- int literal = in.read();
- return new ZeroRegisterDecodedInstruction(
- this, opcodeUnit, index, IndexType.VARIES,
- 0, literal);
- }
-
- @Override public void encode(DecodedInstruction insn, CodeOutput out) {
- int index = insn.getIndex();
- out.write(
- insn.getOpcodeUnit(),
- unit0(index),
- unit1(index),
- insn.getLiteralUnit());
- }
- },
-
- FORMAT_41C() {
- @Override public DecodedInstruction decode(int opcodeUnit,
- CodeInput in) throws EOFException {
- int index = in.readInt();
- int a = in.read();
- IndexType indexType = OpcodeInfo.getIndexType(opcodeUnit);
- return new OneRegisterDecodedInstruction(
- this, opcodeUnit, index, indexType,
- 0, 0L,
- a);
- }
-
- @Override public void encode(DecodedInstruction insn, CodeOutput out) {
- int index = insn.getIndex();
- out.write(
- insn.getOpcodeUnit(),
- unit0(index),
- unit1(index),
- insn.getAUnit());
- }
- },
-
- FORMAT_52C() {
- @Override public DecodedInstruction decode(int opcodeUnit,
- CodeInput in) throws EOFException {
- int index = in.readInt();
- int a = in.read();
- int b = in.read();
- IndexType indexType = OpcodeInfo.getIndexType(opcodeUnit);
- return new TwoRegisterDecodedInstruction(
- this, opcodeUnit, index, indexType,
- 0, 0L,
- a, b);
- }
-
- @Override public void encode(DecodedInstruction insn, CodeOutput out) {
- int index = insn.getIndex();
- out.write(
- insn.getOpcodeUnit(),
- unit0(index),
- unit1(index),
- insn.getAUnit(),
- insn.getBUnit());
- }
- },
-
- FORMAT_5RC() {
- @Override public DecodedInstruction decode(int opcodeUnit,
- CodeInput in) throws EOFException {
- int index = in.readInt();
- int registerCount = in.read();
- int a = in.read();
- IndexType indexType = OpcodeInfo.getIndexType(opcodeUnit);
- return new RegisterRangeDecodedInstruction(
- this, opcodeUnit, index, indexType,
- 0, 0L,
- a, registerCount);
- }
-
- @Override public void encode(DecodedInstruction insn, CodeOutput out) {
- int index = insn.getIndex();
- out.write(
- insn.getOpcodeUnit(),
- unit0(index),
- unit1(index),
- insn.getRegisterCountUnit(),
- insn.getAUnit());
- }
- },
-
FORMAT_PACKED_SWITCH_PAYLOAD() {
@Override public DecodedInstruction decode(int opcodeUnit,
CodeInput in) throws EOFException {
diff --git a/libdex/DexOpcodes.cpp b/libdex/DexOpcodes.cpp
index 50254a7e6..bdcc558bd 100644
--- a/libdex/DexOpcodes.cpp
+++ b/libdex/DexOpcodes.cpp
@@ -285,263 +285,7 @@ static const char* gOpNames[kNumPackedOpcodes] = {
"+iput-object-volatile",
"+sget-object-volatile",
"+sput-object-volatile",
- "dispatch-ff",
- "const-class/jumbo",
- "check-cast/jumbo",
- "instance-of/jumbo",
- "new-instance/jumbo",
- "new-array/jumbo",
- "filled-new-array/jumbo",
- "iget/jumbo",
- "iget-wide/jumbo",
- "iget-object/jumbo",
- "iget-boolean/jumbo",
- "iget-byte/jumbo",
- "iget-char/jumbo",
- "iget-short/jumbo",
- "iput/jumbo",
- "iput-wide/jumbo",
- "iput-object/jumbo",
- "iput-boolean/jumbo",
- "iput-byte/jumbo",
- "iput-char/jumbo",
- "iput-short/jumbo",
- "sget/jumbo",
- "sget-wide/jumbo",
- "sget-object/jumbo",
- "sget-boolean/jumbo",
- "sget-byte/jumbo",
- "sget-char/jumbo",
- "sget-short/jumbo",
- "sput/jumbo",
- "sput-wide/jumbo",
- "sput-object/jumbo",
- "sput-boolean/jumbo",
- "sput-byte/jumbo",
- "sput-char/jumbo",
- "sput-short/jumbo",
- "invoke-virtual/jumbo",
- "invoke-super/jumbo",
- "invoke-direct/jumbo",
- "invoke-static/jumbo",
- "invoke-interface/jumbo",
- "unused-27ff",
- "unused-28ff",
- "unused-29ff",
- "unused-2aff",
- "unused-2bff",
- "unused-2cff",
- "unused-2dff",
- "unused-2eff",
- "unused-2fff",
- "unused-30ff",
- "unused-31ff",
- "unused-32ff",
- "unused-33ff",
- "unused-34ff",
- "unused-35ff",
- "unused-36ff",
- "unused-37ff",
- "unused-38ff",
- "unused-39ff",
- "unused-3aff",
- "unused-3bff",
- "unused-3cff",
- "unused-3dff",
- "unused-3eff",
- "unused-3fff",
- "unused-40ff",
- "unused-41ff",
- "unused-42ff",
- "unused-43ff",
- "unused-44ff",
- "unused-45ff",
- "unused-46ff",
- "unused-47ff",
- "unused-48ff",
- "unused-49ff",
- "unused-4aff",
- "unused-4bff",
- "unused-4cff",
- "unused-4dff",
- "unused-4eff",
- "unused-4fff",
- "unused-50ff",
- "unused-51ff",
- "unused-52ff",
- "unused-53ff",
- "unused-54ff",
- "unused-55ff",
- "unused-56ff",
- "unused-57ff",
- "unused-58ff",
- "unused-59ff",
- "unused-5aff",
- "unused-5bff",
- "unused-5cff",
- "unused-5dff",
- "unused-5eff",
- "unused-5fff",
- "unused-60ff",
- "unused-61ff",
- "unused-62ff",
- "unused-63ff",
- "unused-64ff",
- "unused-65ff",
- "unused-66ff",
- "unused-67ff",
- "unused-68ff",
- "unused-69ff",
- "unused-6aff",
- "unused-6bff",
- "unused-6cff",
- "unused-6dff",
- "unused-6eff",
- "unused-6fff",
- "unused-70ff",
- "unused-71ff",
- "unused-72ff",
- "unused-73ff",
- "unused-74ff",
- "unused-75ff",
- "unused-76ff",
- "unused-77ff",
- "unused-78ff",
- "unused-79ff",
- "unused-7aff",
- "unused-7bff",
- "unused-7cff",
- "unused-7dff",
- "unused-7eff",
- "unused-7fff",
- "unused-80ff",
- "unused-81ff",
- "unused-82ff",
- "unused-83ff",
- "unused-84ff",
- "unused-85ff",
- "unused-86ff",
- "unused-87ff",
- "unused-88ff",
- "unused-89ff",
- "unused-8aff",
- "unused-8bff",
- "unused-8cff",
- "unused-8dff",
- "unused-8eff",
- "unused-8fff",
- "unused-90ff",
- "unused-91ff",
- "unused-92ff",
- "unused-93ff",
- "unused-94ff",
- "unused-95ff",
- "unused-96ff",
- "unused-97ff",
- "unused-98ff",
- "unused-99ff",
- "unused-9aff",
- "unused-9bff",
- "unused-9cff",
- "unused-9dff",
- "unused-9eff",
- "unused-9fff",
- "unused-a0ff",
- "unused-a1ff",
- "unused-a2ff",
- "unused-a3ff",
- "unused-a4ff",
- "unused-a5ff",
- "unused-a6ff",
- "unused-a7ff",
- "unused-a8ff",
- "unused-a9ff",
- "unused-aaff",
- "unused-abff",
- "unused-acff",
- "unused-adff",
- "unused-aeff",
- "unused-afff",
- "unused-b0ff",
- "unused-b1ff",
- "unused-b2ff",
- "unused-b3ff",
- "unused-b4ff",
- "unused-b5ff",
- "unused-b6ff",
- "unused-b7ff",
- "unused-b8ff",
- "unused-b9ff",
- "unused-baff",
- "unused-bbff",
- "unused-bcff",
- "unused-bdff",
- "unused-beff",
- "unused-bfff",
- "unused-c0ff",
- "unused-c1ff",
- "unused-c2ff",
- "unused-c3ff",
- "unused-c4ff",
- "unused-c5ff",
- "unused-c6ff",
- "unused-c7ff",
- "unused-c8ff",
- "unused-c9ff",
- "unused-caff",
- "unused-cbff",
- "unused-ccff",
- "unused-cdff",
- "unused-ceff",
- "unused-cfff",
- "unused-d0ff",
- "unused-d1ff",
- "unused-d2ff",
- "unused-d3ff",
- "unused-d4ff",
- "unused-d5ff",
- "unused-d6ff",
- "unused-d7ff",
- "unused-d8ff",
- "unused-d9ff",
- "unused-daff",
- "unused-dbff",
- "unused-dcff",
- "unused-ddff",
- "unused-deff",
- "unused-dfff",
- "unused-e0ff",
- "unused-e1ff",
- "unused-e2ff",
- "unused-e3ff",
- "unused-e4ff",
- "unused-e5ff",
- "unused-e6ff",
- "unused-e7ff",
- "unused-e8ff",
- "unused-e9ff",
- "unused-eaff",
- "unused-ebff",
- "unused-ecff",
- "unused-edff",
- "unused-eeff",
- "unused-efff",
- "unused-f0ff",
- "unused-f1ff",
- "+invoke-object-init/jumbo",
- "+iget-volatile/jumbo",
- "+iget-wide-volatile/jumbo",
- "+iget-object-volatile/jumbo",
- "+iput-volatile/jumbo",
- "+iput-wide-volatile/jumbo",
- "+iput-object-volatile/jumbo",
- "+sget-volatile/jumbo",
- "+sget-wide-volatile/jumbo",
- "+sget-object-volatile/jumbo",
- "+sput-volatile/jumbo",
- "+sput-wide-volatile/jumbo",
- "+sput-object-volatile/jumbo",
- "^throw-verification-error/jumbo",
+ "unused-ff",
// END(libdex-opcode-names)
};
diff --git a/libdex/DexOpcodes.h b/libdex/DexOpcodes.h
index 472fe36fe..8a178419e 100644
--- a/libdex/DexOpcodes.h
+++ b/libdex/DexOpcodes.h
@@ -41,7 +41,7 @@
*/
// BEGIN(libdex-maximum-values); GENERATED AUTOMATICALLY BY opcode-gen
#define kMaxOpcodeValue 0xffff
-#define kNumPackedOpcodes 0x200
+#define kNumPackedOpcodes 0x100
// END(libdex-maximum-values); GENERATED AUTOMATICALLY BY opcode-gen
/*
@@ -323,263 +323,7 @@ enum Opcode {
OP_IPUT_OBJECT_VOLATILE = 0xfc,
OP_SGET_OBJECT_VOLATILE = 0xfd,
OP_SPUT_OBJECT_VOLATILE = 0xfe,
- OP_DISPATCH_FF = 0xff,
- OP_CONST_CLASS_JUMBO = 0x100,
- OP_CHECK_CAST_JUMBO = 0x101,
- OP_INSTANCE_OF_JUMBO = 0x102,
- OP_NEW_INSTANCE_JUMBO = 0x103,
- OP_NEW_ARRAY_JUMBO = 0x104,
- OP_FILLED_NEW_ARRAY_JUMBO = 0x105,
- OP_IGET_JUMBO = 0x106,
- OP_IGET_WIDE_JUMBO = 0x107,
- OP_IGET_OBJECT_JUMBO = 0x108,
- OP_IGET_BOOLEAN_JUMBO = 0x109,
- OP_IGET_BYTE_JUMBO = 0x10a,
- OP_IGET_CHAR_JUMBO = 0x10b,
- OP_IGET_SHORT_JUMBO = 0x10c,
- OP_IPUT_JUMBO = 0x10d,
- OP_IPUT_WIDE_JUMBO = 0x10e,
- OP_IPUT_OBJECT_JUMBO = 0x10f,
- OP_IPUT_BOOLEAN_JUMBO = 0x110,
- OP_IPUT_BYTE_JUMBO = 0x111,
- OP_IPUT_CHAR_JUMBO = 0x112,
- OP_IPUT_SHORT_JUMBO = 0x113,
- OP_SGET_JUMBO = 0x114,
- OP_SGET_WIDE_JUMBO = 0x115,
- OP_SGET_OBJECT_JUMBO = 0x116,
- OP_SGET_BOOLEAN_JUMBO = 0x117,
- OP_SGET_BYTE_JUMBO = 0x118,
- OP_SGET_CHAR_JUMBO = 0x119,
- OP_SGET_SHORT_JUMBO = 0x11a,
- OP_SPUT_JUMBO = 0x11b,
- OP_SPUT_WIDE_JUMBO = 0x11c,
- OP_SPUT_OBJECT_JUMBO = 0x11d,
- OP_SPUT_BOOLEAN_JUMBO = 0x11e,
- OP_SPUT_BYTE_JUMBO = 0x11f,
- OP_SPUT_CHAR_JUMBO = 0x120,
- OP_SPUT_SHORT_JUMBO = 0x121,
- OP_INVOKE_VIRTUAL_JUMBO = 0x122,
- OP_INVOKE_SUPER_JUMBO = 0x123,
- OP_INVOKE_DIRECT_JUMBO = 0x124,
- OP_INVOKE_STATIC_JUMBO = 0x125,
- OP_INVOKE_INTERFACE_JUMBO = 0x126,
- OP_UNUSED_27FF = 0x127,
- OP_UNUSED_28FF = 0x128,
- OP_UNUSED_29FF = 0x129,
- OP_UNUSED_2AFF = 0x12a,
- OP_UNUSED_2BFF = 0x12b,
- OP_UNUSED_2CFF = 0x12c,
- OP_UNUSED_2DFF = 0x12d,
- OP_UNUSED_2EFF = 0x12e,
- OP_UNUSED_2FFF = 0x12f,
- OP_UNUSED_30FF = 0x130,
- OP_UNUSED_31FF = 0x131,
- OP_UNUSED_32FF = 0x132,
- OP_UNUSED_33FF = 0x133,
- OP_UNUSED_34FF = 0x134,
- OP_UNUSED_35FF = 0x135,
- OP_UNUSED_36FF = 0x136,
- OP_UNUSED_37FF = 0x137,
- OP_UNUSED_38FF = 0x138,
- OP_UNUSED_39FF = 0x139,
- OP_UNUSED_3AFF = 0x13a,
- OP_UNUSED_3BFF = 0x13b,
- OP_UNUSED_3CFF = 0x13c,
- OP_UNUSED_3DFF = 0x13d,
- OP_UNUSED_3EFF = 0x13e,
- OP_UNUSED_3FFF = 0x13f,
- OP_UNUSED_40FF = 0x140,
- OP_UNUSED_41FF = 0x141,
- OP_UNUSED_42FF = 0x142,
- OP_UNUSED_43FF = 0x143,
- OP_UNUSED_44FF = 0x144,
- OP_UNUSED_45FF = 0x145,
- OP_UNUSED_46FF = 0x146,
- OP_UNUSED_47FF = 0x147,
- OP_UNUSED_48FF = 0x148,
- OP_UNUSED_49FF = 0x149,
- OP_UNUSED_4AFF = 0x14a,
- OP_UNUSED_4BFF = 0x14b,
- OP_UNUSED_4CFF = 0x14c,
- OP_UNUSED_4DFF = 0x14d,
- OP_UNUSED_4EFF = 0x14e,
- OP_UNUSED_4FFF = 0x14f,
- OP_UNUSED_50FF = 0x150,
- OP_UNUSED_51FF = 0x151,
- OP_UNUSED_52FF = 0x152,
- OP_UNUSED_53FF = 0x153,
- OP_UNUSED_54FF = 0x154,
- OP_UNUSED_55FF = 0x155,
- OP_UNUSED_56FF = 0x156,
- OP_UNUSED_57FF = 0x157,
- OP_UNUSED_58FF = 0x158,
- OP_UNUSED_59FF = 0x159,
- OP_UNUSED_5AFF = 0x15a,
- OP_UNUSED_5BFF = 0x15b,
- OP_UNUSED_5CFF = 0x15c,
- OP_UNUSED_5DFF = 0x15d,
- OP_UNUSED_5EFF = 0x15e,
- OP_UNUSED_5FFF = 0x15f,
- OP_UNUSED_60FF = 0x160,
- OP_UNUSED_61FF = 0x161,
- OP_UNUSED_62FF = 0x162,
- OP_UNUSED_63FF = 0x163,
- OP_UNUSED_64FF = 0x164,
- OP_UNUSED_65FF = 0x165,
- OP_UNUSED_66FF = 0x166,
- OP_UNUSED_67FF = 0x167,
- OP_UNUSED_68FF = 0x168,
- OP_UNUSED_69FF = 0x169,
- OP_UNUSED_6AFF = 0x16a,
- OP_UNUSED_6BFF = 0x16b,
- OP_UNUSED_6CFF = 0x16c,
- OP_UNUSED_6DFF = 0x16d,
- OP_UNUSED_6EFF = 0x16e,
- OP_UNUSED_6FFF = 0x16f,
- OP_UNUSED_70FF = 0x170,
- OP_UNUSED_71FF = 0x171,
- OP_UNUSED_72FF = 0x172,
- OP_UNUSED_73FF = 0x173,
- OP_UNUSED_74FF = 0x174,
- OP_UNUSED_75FF = 0x175,
- OP_UNUSED_76FF = 0x176,
- OP_UNUSED_77FF = 0x177,
- OP_UNUSED_78FF = 0x178,
- OP_UNUSED_79FF = 0x179,
- OP_UNUSED_7AFF = 0x17a,
- OP_UNUSED_7BFF = 0x17b,
- OP_UNUSED_7CFF = 0x17c,
- OP_UNUSED_7DFF = 0x17d,
- OP_UNUSED_7EFF = 0x17e,
- OP_UNUSED_7FFF = 0x17f,
- OP_UNUSED_80FF = 0x180,
- OP_UNUSED_81FF = 0x181,
- OP_UNUSED_82FF = 0x182,
- OP_UNUSED_83FF = 0x183,
- OP_UNUSED_84FF = 0x184,
- OP_UNUSED_85FF = 0x185,
- OP_UNUSED_86FF = 0x186,
- OP_UNUSED_87FF = 0x187,
- OP_UNUSED_88FF = 0x188,
- OP_UNUSED_89FF = 0x189,
- OP_UNUSED_8AFF = 0x18a,
- OP_UNUSED_8BFF = 0x18b,
- OP_UNUSED_8CFF = 0x18c,
- OP_UNUSED_8DFF = 0x18d,
- OP_UNUSED_8EFF = 0x18e,
- OP_UNUSED_8FFF = 0x18f,
- OP_UNUSED_90FF = 0x190,
- OP_UNUSED_91FF = 0x191,
- OP_UNUSED_92FF = 0x192,
- OP_UNUSED_93FF = 0x193,
- OP_UNUSED_94FF = 0x194,
- OP_UNUSED_95FF = 0x195,
- OP_UNUSED_96FF = 0x196,
- OP_UNUSED_97FF = 0x197,
- OP_UNUSED_98FF = 0x198,
- OP_UNUSED_99FF = 0x199,
- OP_UNUSED_9AFF = 0x19a,
- OP_UNUSED_9BFF = 0x19b,
- OP_UNUSED_9CFF = 0x19c,
- OP_UNUSED_9DFF = 0x19d,
- OP_UNUSED_9EFF = 0x19e,
- OP_UNUSED_9FFF = 0x19f,
- OP_UNUSED_A0FF = 0x1a0,
- OP_UNUSED_A1FF = 0x1a1,
- OP_UNUSED_A2FF = 0x1a2,
- OP_UNUSED_A3FF = 0x1a3,
- OP_UNUSED_A4FF = 0x1a4,
- OP_UNUSED_A5FF = 0x1a5,
- OP_UNUSED_A6FF = 0x1a6,
- OP_UNUSED_A7FF = 0x1a7,
- OP_UNUSED_A8FF = 0x1a8,
- OP_UNUSED_A9FF = 0x1a9,
- OP_UNUSED_AAFF = 0x1aa,
- OP_UNUSED_ABFF = 0x1ab,
- OP_UNUSED_ACFF = 0x1ac,
- OP_UNUSED_ADFF = 0x1ad,
- OP_UNUSED_AEFF = 0x1ae,
- OP_UNUSED_AFFF = 0x1af,
- OP_UNUSED_B0FF = 0x1b0,
- OP_UNUSED_B1FF = 0x1b1,
- OP_UNUSED_B2FF = 0x1b2,
- OP_UNUSED_B3FF = 0x1b3,
- OP_UNUSED_B4FF = 0x1b4,
- OP_UNUSED_B5FF = 0x1b5,
- OP_UNUSED_B6FF = 0x1b6,
- OP_UNUSED_B7FF = 0x1b7,
- OP_UNUSED_B8FF = 0x1b8,
- OP_UNUSED_B9FF = 0x1b9,
- OP_UNUSED_BAFF = 0x1ba,
- OP_UNUSED_BBFF = 0x1bb,
- OP_UNUSED_BCFF = 0x1bc,
- OP_UNUSED_BDFF = 0x1bd,
- OP_UNUSED_BEFF = 0x1be,
- OP_UNUSED_BFFF = 0x1bf,
- OP_UNUSED_C0FF = 0x1c0,
- OP_UNUSED_C1FF = 0x1c1,
- OP_UNUSED_C2FF = 0x1c2,
- OP_UNUSED_C3FF = 0x1c3,
- OP_UNUSED_C4FF = 0x1c4,
- OP_UNUSED_C5FF = 0x1c5,
- OP_UNUSED_C6FF = 0x1c6,
- OP_UNUSED_C7FF = 0x1c7,
- OP_UNUSED_C8FF = 0x1c8,
- OP_UNUSED_C9FF = 0x1c9,
- OP_UNUSED_CAFF = 0x1ca,
- OP_UNUSED_CBFF = 0x1cb,
- OP_UNUSED_CCFF = 0x1cc,
- OP_UNUSED_CDFF = 0x1cd,
- OP_UNUSED_CEFF = 0x1ce,
- OP_UNUSED_CFFF = 0x1cf,
- OP_UNUSED_D0FF = 0x1d0,
- OP_UNUSED_D1FF = 0x1d1,
- OP_UNUSED_D2FF = 0x1d2,
- OP_UNUSED_D3FF = 0x1d3,
- OP_UNUSED_D4FF = 0x1d4,
- OP_UNUSED_D5FF = 0x1d5,
- OP_UNUSED_D6FF = 0x1d6,
- OP_UNUSED_D7FF = 0x1d7,
- OP_UNUSED_D8FF = 0x1d8,
- OP_UNUSED_D9FF = 0x1d9,
- OP_UNUSED_DAFF = 0x1da,
- OP_UNUSED_DBFF = 0x1db,
- OP_UNUSED_DCFF = 0x1dc,
- OP_UNUSED_DDFF = 0x1dd,
- OP_UNUSED_DEFF = 0x1de,
- OP_UNUSED_DFFF = 0x1df,
- OP_UNUSED_E0FF = 0x1e0,
- OP_UNUSED_E1FF = 0x1e1,
- OP_UNUSED_E2FF = 0x1e2,
- OP_UNUSED_E3FF = 0x1e3,
- OP_UNUSED_E4FF = 0x1e4,
- OP_UNUSED_E5FF = 0x1e5,
- OP_UNUSED_E6FF = 0x1e6,
- OP_UNUSED_E7FF = 0x1e7,
- OP_UNUSED_E8FF = 0x1e8,
- OP_UNUSED_E9FF = 0x1e9,
- OP_UNUSED_EAFF = 0x1ea,
- OP_UNUSED_EBFF = 0x1eb,
- OP_UNUSED_ECFF = 0x1ec,
- OP_UNUSED_EDFF = 0x1ed,
- OP_UNUSED_EEFF = 0x1ee,
- OP_UNUSED_EFFF = 0x1ef,
- OP_UNUSED_F0FF = 0x1f0,
- OP_UNUSED_F1FF = 0x1f1,
- OP_INVOKE_OBJECT_INIT_JUMBO = 0x1f2,
- OP_IGET_VOLATILE_JUMBO = 0x1f3,
- OP_IGET_WIDE_VOLATILE_JUMBO = 0x1f4,
- OP_IGET_OBJECT_VOLATILE_JUMBO = 0x1f5,
- OP_IPUT_VOLATILE_JUMBO = 0x1f6,
- OP_IPUT_WIDE_VOLATILE_JUMBO = 0x1f7,
- OP_IPUT_OBJECT_VOLATILE_JUMBO = 0x1f8,
- OP_SGET_VOLATILE_JUMBO = 0x1f9,
- OP_SGET_WIDE_VOLATILE_JUMBO = 0x1fa,
- OP_SGET_OBJECT_VOLATILE_JUMBO = 0x1fb,
- OP_SPUT_VOLATILE_JUMBO = 0x1fc,
- OP_SPUT_WIDE_VOLATILE_JUMBO = 0x1fd,
- OP_SPUT_OBJECT_VOLATILE_JUMBO = 0x1fe,
- OP_THROW_VERIFICATION_ERROR_JUMBO = 0x1ff,
+ OP_UNUSED_FF = 0xff,
// END(libdex-opcode-enum)
};
@@ -845,263 +589,7 @@ enum Opcode {
H(OP_IPUT_OBJECT_VOLATILE), \
H(OP_SGET_OBJECT_VOLATILE), \
H(OP_SPUT_OBJECT_VOLATILE), \
- H(OP_DISPATCH_FF), \
- H(OP_CONST_CLASS_JUMBO), \
- H(OP_CHECK_CAST_JUMBO), \
- H(OP_INSTANCE_OF_JUMBO), \
- H(OP_NEW_INSTANCE_JUMBO), \
- H(OP_NEW_ARRAY_JUMBO), \
- H(OP_FILLED_NEW_ARRAY_JUMBO), \
- H(OP_IGET_JUMBO), \
- H(OP_IGET_WIDE_JUMBO), \
- H(OP_IGET_OBJECT_JUMBO), \
- H(OP_IGET_BOOLEAN_JUMBO), \
- H(OP_IGET_BYTE_JUMBO), \
- H(OP_IGET_CHAR_JUMBO), \
- H(OP_IGET_SHORT_JUMBO), \
- H(OP_IPUT_JUMBO), \
- H(OP_IPUT_WIDE_JUMBO), \
- H(OP_IPUT_OBJECT_JUMBO), \
- H(OP_IPUT_BOOLEAN_JUMBO), \
- H(OP_IPUT_BYTE_JUMBO), \
- H(OP_IPUT_CHAR_JUMBO), \
- H(OP_IPUT_SHORT_JUMBO), \
- H(OP_SGET_JUMBO), \
- H(OP_SGET_WIDE_JUMBO), \
- H(OP_SGET_OBJECT_JUMBO), \
- H(OP_SGET_BOOLEAN_JUMBO), \
- H(OP_SGET_BYTE_JUMBO), \
- H(OP_SGET_CHAR_JUMBO), \
- H(OP_SGET_SHORT_JUMBO), \
- H(OP_SPUT_JUMBO), \
- H(OP_SPUT_WIDE_JUMBO), \
- H(OP_SPUT_OBJECT_JUMBO), \
- H(OP_SPUT_BOOLEAN_JUMBO), \
- H(OP_SPUT_BYTE_JUMBO), \
- H(OP_SPUT_CHAR_JUMBO), \
- H(OP_SPUT_SHORT_JUMBO), \
- H(OP_INVOKE_VIRTUAL_JUMBO), \
- H(OP_INVOKE_SUPER_JUMBO), \
- H(OP_INVOKE_DIRECT_JUMBO), \
- H(OP_INVOKE_STATIC_JUMBO), \
- H(OP_INVOKE_INTERFACE_JUMBO), \
- H(OP_UNUSED_27FF), \
- H(OP_UNUSED_28FF), \
- H(OP_UNUSED_29FF), \
- H(OP_UNUSED_2AFF), \
- H(OP_UNUSED_2BFF), \
- H(OP_UNUSED_2CFF), \
- H(OP_UNUSED_2DFF), \
- H(OP_UNUSED_2EFF), \
- H(OP_UNUSED_2FFF), \
- H(OP_UNUSED_30FF), \
- H(OP_UNUSED_31FF), \
- H(OP_UNUSED_32FF), \
- H(OP_UNUSED_33FF), \
- H(OP_UNUSED_34FF), \
- H(OP_UNUSED_35FF), \
- H(OP_UNUSED_36FF), \
- H(OP_UNUSED_37FF), \
- H(OP_UNUSED_38FF), \
- H(OP_UNUSED_39FF), \
- H(OP_UNUSED_3AFF), \
- H(OP_UNUSED_3BFF), \
- H(OP_UNUSED_3CFF), \
- H(OP_UNUSED_3DFF), \
- H(OP_UNUSED_3EFF), \
- H(OP_UNUSED_3FFF), \
- H(OP_UNUSED_40FF), \
- H(OP_UNUSED_41FF), \
- H(OP_UNUSED_42FF), \
- H(OP_UNUSED_43FF), \
- H(OP_UNUSED_44FF), \
- H(OP_UNUSED_45FF), \
- H(OP_UNUSED_46FF), \
- H(OP_UNUSED_47FF), \
- H(OP_UNUSED_48FF), \
- H(OP_UNUSED_49FF), \
- H(OP_UNUSED_4AFF), \
- H(OP_UNUSED_4BFF), \
- H(OP_UNUSED_4CFF), \
- H(OP_UNUSED_4DFF), \
- H(OP_UNUSED_4EFF), \
- H(OP_UNUSED_4FFF), \
- H(OP_UNUSED_50FF), \
- H(OP_UNUSED_51FF), \
- H(OP_UNUSED_52FF), \
- H(OP_UNUSED_53FF), \
- H(OP_UNUSED_54FF), \
- H(OP_UNUSED_55FF), \
- H(OP_UNUSED_56FF), \
- H(OP_UNUSED_57FF), \
- H(OP_UNUSED_58FF), \
- H(OP_UNUSED_59FF), \
- H(OP_UNUSED_5AFF), \
- H(OP_UNUSED_5BFF), \
- H(OP_UNUSED_5CFF), \
- H(OP_UNUSED_5DFF), \
- H(OP_UNUSED_5EFF), \
- H(OP_UNUSED_5FFF), \
- H(OP_UNUSED_60FF), \
- H(OP_UNUSED_61FF), \
- H(OP_UNUSED_62FF), \
- H(OP_UNUSED_63FF), \
- H(OP_UNUSED_64FF), \
- H(OP_UNUSED_65FF), \
- H(OP_UNUSED_66FF), \
- H(OP_UNUSED_67FF), \
- H(OP_UNUSED_68FF), \
- H(OP_UNUSED_69FF), \
- H(OP_UNUSED_6AFF), \
- H(OP_UNUSED_6BFF), \
- H(OP_UNUSED_6CFF), \
- H(OP_UNUSED_6DFF), \
- H(OP_UNUSED_6EFF), \
- H(OP_UNUSED_6FFF), \
- H(OP_UNUSED_70FF), \
- H(OP_UNUSED_71FF), \
- H(OP_UNUSED_72FF), \
- H(OP_UNUSED_73FF), \
- H(OP_UNUSED_74FF), \
- H(OP_UNUSED_75FF), \
- H(OP_UNUSED_76FF), \
- H(OP_UNUSED_77FF), \
- H(OP_UNUSED_78FF), \
- H(OP_UNUSED_79FF), \
- H(OP_UNUSED_7AFF), \
- H(OP_UNUSED_7BFF), \
- H(OP_UNUSED_7CFF), \
- H(OP_UNUSED_7DFF), \
- H(OP_UNUSED_7EFF), \
- H(OP_UNUSED_7FFF), \
- H(OP_UNUSED_80FF), \
- H(OP_UNUSED_81FF), \
- H(OP_UNUSED_82FF), \
- H(OP_UNUSED_83FF), \
- H(OP_UNUSED_84FF), \
- H(OP_UNUSED_85FF), \
- H(OP_UNUSED_86FF), \
- H(OP_UNUSED_87FF), \
- H(OP_UNUSED_88FF), \
- H(OP_UNUSED_89FF), \
- H(OP_UNUSED_8AFF), \
- H(OP_UNUSED_8BFF), \
- H(OP_UNUSED_8CFF), \
- H(OP_UNUSED_8DFF), \
- H(OP_UNUSED_8EFF), \
- H(OP_UNUSED_8FFF), \
- H(OP_UNUSED_90FF), \
- H(OP_UNUSED_91FF), \
- H(OP_UNUSED_92FF), \
- H(OP_UNUSED_93FF), \
- H(OP_UNUSED_94FF), \
- H(OP_UNUSED_95FF), \
- H(OP_UNUSED_96FF), \
- H(OP_UNUSED_97FF), \
- H(OP_UNUSED_98FF), \
- H(OP_UNUSED_99FF), \
- H(OP_UNUSED_9AFF), \
- H(OP_UNUSED_9BFF), \
- H(OP_UNUSED_9CFF), \
- H(OP_UNUSED_9DFF), \
- H(OP_UNUSED_9EFF), \
- H(OP_UNUSED_9FFF), \
- H(OP_UNUSED_A0FF), \
- H(OP_UNUSED_A1FF), \
- H(OP_UNUSED_A2FF), \
- H(OP_UNUSED_A3FF), \
- H(OP_UNUSED_A4FF), \
- H(OP_UNUSED_A5FF), \
- H(OP_UNUSED_A6FF), \
- H(OP_UNUSED_A7FF), \
- H(OP_UNUSED_A8FF), \
- H(OP_UNUSED_A9FF), \
- H(OP_UNUSED_AAFF), \
- H(OP_UNUSED_ABFF), \
- H(OP_UNUSED_ACFF), \
- H(OP_UNUSED_ADFF), \
- H(OP_UNUSED_AEFF), \
- H(OP_UNUSED_AFFF), \
- H(OP_UNUSED_B0FF), \
- H(OP_UNUSED_B1FF), \
- H(OP_UNUSED_B2FF), \
- H(OP_UNUSED_B3FF), \
- H(OP_UNUSED_B4FF), \
- H(OP_UNUSED_B5FF), \
- H(OP_UNUSED_B6FF), \
- H(OP_UNUSED_B7FF), \
- H(OP_UNUSED_B8FF), \
- H(OP_UNUSED_B9FF), \
- H(OP_UNUSED_BAFF), \
- H(OP_UNUSED_BBFF), \
- H(OP_UNUSED_BCFF), \
- H(OP_UNUSED_BDFF), \
- H(OP_UNUSED_BEFF), \
- H(OP_UNUSED_BFFF), \
- H(OP_UNUSED_C0FF), \
- H(OP_UNUSED_C1FF), \
- H(OP_UNUSED_C2FF), \
- H(OP_UNUSED_C3FF), \
- H(OP_UNUSED_C4FF), \
- H(OP_UNUSED_C5FF), \
- H(OP_UNUSED_C6FF), \
- H(OP_UNUSED_C7FF), \
- H(OP_UNUSED_C8FF), \
- H(OP_UNUSED_C9FF), \
- H(OP_UNUSED_CAFF), \
- H(OP_UNUSED_CBFF), \
- H(OP_UNUSED_CCFF), \
- H(OP_UNUSED_CDFF), \
- H(OP_UNUSED_CEFF), \
- H(OP_UNUSED_CFFF), \
- H(OP_UNUSED_D0FF), \
- H(OP_UNUSED_D1FF), \
- H(OP_UNUSED_D2FF), \
- H(OP_UNUSED_D3FF), \
- H(OP_UNUSED_D4FF), \
- H(OP_UNUSED_D5FF), \
- H(OP_UNUSED_D6FF), \
- H(OP_UNUSED_D7FF), \
- H(OP_UNUSED_D8FF), \
- H(OP_UNUSED_D9FF), \
- H(OP_UNUSED_DAFF), \
- H(OP_UNUSED_DBFF), \
- H(OP_UNUSED_DCFF), \
- H(OP_UNUSED_DDFF), \
- H(OP_UNUSED_DEFF), \
- H(OP_UNUSED_DFFF), \
- H(OP_UNUSED_E0FF), \
- H(OP_UNUSED_E1FF), \
- H(OP_UNUSED_E2FF), \
- H(OP_UNUSED_E3FF), \
- H(OP_UNUSED_E4FF), \
- H(OP_UNUSED_E5FF), \
- H(OP_UNUSED_E6FF), \
- H(OP_UNUSED_E7FF), \
- H(OP_UNUSED_E8FF), \
- H(OP_UNUSED_E9FF), \
- H(OP_UNUSED_EAFF), \
- H(OP_UNUSED_EBFF), \
- H(OP_UNUSED_ECFF), \
- H(OP_UNUSED_EDFF), \
- H(OP_UNUSED_EEFF), \
- H(OP_UNUSED_EFFF), \
- H(OP_UNUSED_F0FF), \
- H(OP_UNUSED_F1FF), \
- H(OP_INVOKE_OBJECT_INIT_JUMBO), \
- H(OP_IGET_VOLATILE_JUMBO), \
- H(OP_IGET_WIDE_VOLATILE_JUMBO), \
- H(OP_IGET_OBJECT_VOLATILE_JUMBO), \
- H(OP_IPUT_VOLATILE_JUMBO), \
- H(OP_IPUT_WIDE_VOLATILE_JUMBO), \
- H(OP_IPUT_OBJECT_VOLATILE_JUMBO), \
- H(OP_SGET_VOLATILE_JUMBO), \
- H(OP_SGET_WIDE_VOLATILE_JUMBO), \
- H(OP_SGET_OBJECT_VOLATILE_JUMBO), \
- H(OP_SPUT_VOLATILE_JUMBO), \
- H(OP_SPUT_WIDE_VOLATILE_JUMBO), \
- H(OP_SPUT_OBJECT_VOLATILE_JUMBO), \
- H(OP_THROW_VERIFICATION_ERROR_JUMBO), \
+ H(OP_UNUSED_FF), \
/* END(libdex-goto-table) */ \
};
diff --git a/libdex/InstrUtils.cpp b/libdex/InstrUtils.cpp
index 59c22c772..9dfe64c8e 100644
--- a/libdex/InstrUtils.cpp
+++ b/libdex/InstrUtils.cpp
@@ -48,22 +48,6 @@ static InstructionWidth gInstructionWidthTable[kNumPackedOpcodes] = {
2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 0, 2, 3, 3,
3, 1, 2, 2, 2, 2, 2, 2, 3, 3, 3, 3, 2, 2, 2, 0,
- 4, 4, 5, 4, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5,
- 5, 5, 5, 5, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4,
- 4, 4, 5, 5, 5, 5, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 5, 5, 5, 5, 5, 5, 5, 4, 4, 4, 4, 4, 4, 4,
// END(libdex-widths)
};
@@ -329,262 +313,6 @@ static u1 gOpcodeFlagsTable[kNumPackedOpcodes] = {
kInstrCanContinue|kInstrCanThrow,
kInstrCanContinue|kInstrCanThrow,
0,
- kInstrCanContinue|kInstrCanThrow,
- kInstrCanContinue|kInstrCanThrow,
- kInstrCanContinue|kInstrCanThrow,
- kInstrCanContinue|kInstrCanThrow,
- kInstrCanContinue|kInstrCanThrow,
- kInstrCanContinue|kInstrCanThrow,
- kInstrCanContinue|kInstrCanThrow,
- kInstrCanContinue|kInstrCanThrow,
- kInstrCanContinue|kInstrCanThrow,
- kInstrCanContinue|kInstrCanThrow,
- kInstrCanContinue|kInstrCanThrow,
- kInstrCanContinue|kInstrCanThrow,
- kInstrCanContinue|kInstrCanThrow,
- kInstrCanContinue|kInstrCanThrow,
- kInstrCanContinue|kInstrCanThrow,
- kInstrCanContinue|kInstrCanThrow,
- kInstrCanContinue|kInstrCanThrow,
- kInstrCanContinue|kInstrCanThrow,
- kInstrCanContinue|kInstrCanThrow,
- kInstrCanContinue|kInstrCanThrow,
- kInstrCanContinue|kInstrCanThrow,
- kInstrCanContinue|kInstrCanThrow,
- kInstrCanContinue|kInstrCanThrow,
- kInstrCanContinue|kInstrCanThrow,
- kInstrCanContinue|kInstrCanThrow,
- kInstrCanContinue|kInstrCanThrow,
- kInstrCanContinue|kInstrCanThrow,
- kInstrCanContinue|kInstrCanThrow,
- kInstrCanContinue|kInstrCanThrow,
- kInstrCanContinue|kInstrCanThrow,
- kInstrCanContinue|kInstrCanThrow,
- kInstrCanContinue|kInstrCanThrow,
- kInstrCanContinue|kInstrCanThrow,
- kInstrCanContinue|kInstrCanThrow,
- kInstrCanContinue|kInstrCanThrow|kInstrInvoke,
- kInstrCanContinue|kInstrCanThrow|kInstrInvoke,
- kInstrCanContinue|kInstrCanThrow|kInstrInvoke,
- kInstrCanContinue|kInstrCanThrow|kInstrInvoke,
- kInstrCanContinue|kInstrCanThrow|kInstrInvoke,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- kInstrCanContinue|kInstrCanThrow|kInstrInvoke,
- kInstrCanContinue|kInstrCanThrow,
- kInstrCanContinue|kInstrCanThrow,
- kInstrCanContinue|kInstrCanThrow,
- kInstrCanContinue|kInstrCanThrow,
- kInstrCanContinue|kInstrCanThrow,
- kInstrCanContinue|kInstrCanThrow,
- kInstrCanContinue|kInstrCanThrow,
- kInstrCanContinue|kInstrCanThrow,
- kInstrCanContinue|kInstrCanThrow,
- kInstrCanContinue|kInstrCanThrow,
- kInstrCanContinue|kInstrCanThrow,
- kInstrCanContinue|kInstrCanThrow,
- kInstrCanThrow,
// END(libdex-flags)
};
@@ -630,44 +358,7 @@ static u1 gInstructionFormatTable[kNumPackedOpcodes] = {
kFmt22c, kFmt22c, kFmt22c, kFmt21c, kFmt21c, kFmt00x, kFmt20bc,
kFmt35mi, kFmt3rmi, kFmt35c, kFmt10x, kFmt22cs, kFmt22cs, kFmt22cs,
kFmt22cs, kFmt22cs, kFmt22cs, kFmt35ms, kFmt3rms, kFmt35ms, kFmt3rms,
- kFmt22c, kFmt21c, kFmt21c, kFmt00x, kFmt41c, kFmt41c, kFmt52c,
- kFmt41c, kFmt52c, kFmt5rc, kFmt52c, kFmt52c, kFmt52c, kFmt52c,
- kFmt52c, kFmt52c, kFmt52c, kFmt52c, kFmt52c, kFmt52c, kFmt52c,
- kFmt52c, kFmt52c, kFmt52c, kFmt41c, kFmt41c, kFmt41c, kFmt41c,
- kFmt41c, kFmt41c, kFmt41c, kFmt41c, kFmt41c, kFmt41c, kFmt41c,
- kFmt41c, kFmt41c, kFmt41c, kFmt5rc, kFmt5rc, kFmt5rc, kFmt5rc,
- kFmt5rc, kFmt00x, kFmt00x, kFmt00x, kFmt00x, kFmt00x, kFmt00x,
- kFmt00x, kFmt00x, kFmt00x, kFmt00x, kFmt00x, kFmt00x, kFmt00x,
- kFmt00x, kFmt00x, kFmt00x, kFmt00x, kFmt00x, kFmt00x, kFmt00x,
- kFmt00x, kFmt00x, kFmt00x, kFmt00x, kFmt00x, kFmt00x, kFmt00x,
- kFmt00x, kFmt00x, kFmt00x, kFmt00x, kFmt00x, kFmt00x, kFmt00x,
- kFmt00x, kFmt00x, kFmt00x, kFmt00x, kFmt00x, kFmt00x, kFmt00x,
- kFmt00x, kFmt00x, kFmt00x, kFmt00x, kFmt00x, kFmt00x, kFmt00x,
- kFmt00x, kFmt00x, kFmt00x, kFmt00x, kFmt00x, kFmt00x, kFmt00x,
- kFmt00x, kFmt00x, kFmt00x, kFmt00x, kFmt00x, kFmt00x, kFmt00x,
- kFmt00x, kFmt00x, kFmt00x, kFmt00x, kFmt00x, kFmt00x, kFmt00x,
- kFmt00x, kFmt00x, kFmt00x, kFmt00x, kFmt00x, kFmt00x, kFmt00x,
- kFmt00x, kFmt00x, kFmt00x, kFmt00x, kFmt00x, kFmt00x, kFmt00x,
- kFmt00x, kFmt00x, kFmt00x, kFmt00x, kFmt00x, kFmt00x, kFmt00x,
- kFmt00x, kFmt00x, kFmt00x, kFmt00x, kFmt00x, kFmt00x, kFmt00x,
- kFmt00x, kFmt00x, kFmt00x, kFmt00x, kFmt00x, kFmt00x, kFmt00x,
- kFmt00x, kFmt00x, kFmt00x, kFmt00x, kFmt00x, kFmt00x, kFmt00x,
- kFmt00x, kFmt00x, kFmt00x, kFmt00x, kFmt00x, kFmt00x, kFmt00x,
- kFmt00x, kFmt00x, kFmt00x, kFmt00x, kFmt00x, kFmt00x, kFmt00x,
- kFmt00x, kFmt00x, kFmt00x, kFmt00x, kFmt00x, kFmt00x, kFmt00x,
- kFmt00x, kFmt00x, kFmt00x, kFmt00x, kFmt00x, kFmt00x, kFmt00x,
- kFmt00x, kFmt00x, kFmt00x, kFmt00x, kFmt00x, kFmt00x, kFmt00x,
- kFmt00x, kFmt00x, kFmt00x, kFmt00x, kFmt00x, kFmt00x, kFmt00x,
- kFmt00x, kFmt00x, kFmt00x, kFmt00x, kFmt00x, kFmt00x, kFmt00x,
- kFmt00x, kFmt00x, kFmt00x, kFmt00x, kFmt00x, kFmt00x, kFmt00x,
- kFmt00x, kFmt00x, kFmt00x, kFmt00x, kFmt00x, kFmt00x, kFmt00x,
- kFmt00x, kFmt00x, kFmt00x, kFmt00x, kFmt00x, kFmt00x, kFmt00x,
- kFmt00x, kFmt00x, kFmt00x, kFmt00x, kFmt00x, kFmt00x, kFmt00x,
- kFmt00x, kFmt00x, kFmt00x, kFmt00x, kFmt00x, kFmt00x, kFmt00x,
- kFmt00x, kFmt00x, kFmt00x, kFmt00x, kFmt00x, kFmt00x, kFmt00x,
- kFmt00x, kFmt5rc, kFmt52c, kFmt52c, kFmt52c, kFmt52c, kFmt52c,
- kFmt52c, kFmt41c, kFmt41c, kFmt41c, kFmt41c, kFmt41c, kFmt41c,
- kFmt40sc,
+ kFmt22c, kFmt21c, kFmt21c, kFmt00x,
// END(libdex-formats)
};
@@ -762,92 +453,7 @@ static u1 gInstructionIndexTypeTable[kNumPackedOpcodes] = {
kIndexFieldOffset, kIndexFieldOffset, kIndexVtableOffset,
kIndexVtableOffset, kIndexVtableOffset, kIndexVtableOffset,
kIndexFieldRef, kIndexFieldRef, kIndexFieldRef,
- kIndexUnknown, kIndexTypeRef, kIndexTypeRef,
- kIndexTypeRef, kIndexTypeRef, kIndexTypeRef,
- kIndexTypeRef, kIndexFieldRef, kIndexFieldRef,
- kIndexFieldRef, kIndexFieldRef, kIndexFieldRef,
- kIndexFieldRef, kIndexFieldRef, kIndexFieldRef,
- kIndexFieldRef, kIndexFieldRef, kIndexFieldRef,
- kIndexFieldRef, kIndexFieldRef, kIndexFieldRef,
- kIndexFieldRef, kIndexFieldRef, kIndexFieldRef,
- kIndexFieldRef, kIndexFieldRef, kIndexFieldRef,
- kIndexFieldRef, kIndexFieldRef, kIndexFieldRef,
- kIndexFieldRef, kIndexFieldRef, kIndexFieldRef,
- kIndexFieldRef, kIndexFieldRef, kIndexMethodRef,
- kIndexMethodRef, kIndexMethodRef, kIndexMethodRef,
- kIndexMethodRef, kIndexUnknown, kIndexUnknown,
- kIndexUnknown, kIndexUnknown, kIndexUnknown,
- kIndexUnknown, kIndexUnknown, kIndexUnknown,
- kIndexUnknown, kIndexUnknown, kIndexUnknown,
- kIndexUnknown, kIndexUnknown, kIndexUnknown,
- kIndexUnknown, kIndexUnknown, kIndexUnknown,
- kIndexUnknown, kIndexUnknown, kIndexUnknown,
- kIndexUnknown, kIndexUnknown, kIndexUnknown,
- kIndexUnknown, kIndexUnknown, kIndexUnknown,
- kIndexUnknown, kIndexUnknown, kIndexUnknown,
- kIndexUnknown, kIndexUnknown, kIndexUnknown,
- kIndexUnknown, kIndexUnknown, kIndexUnknown,
- kIndexUnknown, kIndexUnknown, kIndexUnknown,
- kIndexUnknown, kIndexUnknown, kIndexUnknown,
- kIndexUnknown, kIndexUnknown, kIndexUnknown,
- kIndexUnknown, kIndexUnknown, kIndexUnknown,
- kIndexUnknown, kIndexUnknown, kIndexUnknown,
- kIndexUnknown, kIndexUnknown, kIndexUnknown,
- kIndexUnknown, kIndexUnknown, kIndexUnknown,
- kIndexUnknown, kIndexUnknown, kIndexUnknown,
- kIndexUnknown, kIndexUnknown, kIndexUnknown,
- kIndexUnknown, kIndexUnknown, kIndexUnknown,
- kIndexUnknown, kIndexUnknown, kIndexUnknown,
- kIndexUnknown, kIndexUnknown, kIndexUnknown,
- kIndexUnknown, kIndexUnknown, kIndexUnknown,
- kIndexUnknown, kIndexUnknown, kIndexUnknown,
- kIndexUnknown, kIndexUnknown, kIndexUnknown,
- kIndexUnknown, kIndexUnknown, kIndexUnknown,
- kIndexUnknown, kIndexUnknown, kIndexUnknown,
- kIndexUnknown, kIndexUnknown, kIndexUnknown,
- kIndexUnknown, kIndexUnknown, kIndexUnknown,
- kIndexUnknown, kIndexUnknown, kIndexUnknown,
- kIndexUnknown, kIndexUnknown, kIndexUnknown,
- kIndexUnknown, kIndexUnknown, kIndexUnknown,
- kIndexUnknown, kIndexUnknown, kIndexUnknown,
- kIndexUnknown, kIndexUnknown, kIndexUnknown,
- kIndexUnknown, kIndexUnknown, kIndexUnknown,
- kIndexUnknown, kIndexUnknown, kIndexUnknown,
- kIndexUnknown, kIndexUnknown, kIndexUnknown,
- kIndexUnknown, kIndexUnknown, kIndexUnknown,
- kIndexUnknown, kIndexUnknown, kIndexUnknown,
- kIndexUnknown, kIndexUnknown, kIndexUnknown,
- kIndexUnknown, kIndexUnknown, kIndexUnknown,
- kIndexUnknown, kIndexUnknown, kIndexUnknown,
- kIndexUnknown, kIndexUnknown, kIndexUnknown,
- kIndexUnknown, kIndexUnknown, kIndexUnknown,
- kIndexUnknown, kIndexUnknown, kIndexUnknown,
- kIndexUnknown, kIndexUnknown, kIndexUnknown,
- kIndexUnknown, kIndexUnknown, kIndexUnknown,
- kIndexUnknown, kIndexUnknown, kIndexUnknown,
- kIndexUnknown, kIndexUnknown, kIndexUnknown,
- kIndexUnknown, kIndexUnknown, kIndexUnknown,
- kIndexUnknown, kIndexUnknown, kIndexUnknown,
- kIndexUnknown, kIndexUnknown, kIndexUnknown,
- kIndexUnknown, kIndexUnknown, kIndexUnknown,
- kIndexUnknown, kIndexUnknown, kIndexUnknown,
- kIndexUnknown, kIndexUnknown, kIndexUnknown,
- kIndexUnknown, kIndexUnknown, kIndexUnknown,
- kIndexUnknown, kIndexUnknown, kIndexUnknown,
- kIndexUnknown, kIndexUnknown, kIndexUnknown,
- kIndexUnknown, kIndexUnknown, kIndexUnknown,
- kIndexUnknown, kIndexUnknown, kIndexUnknown,
- kIndexUnknown, kIndexUnknown, kIndexUnknown,
- kIndexUnknown, kIndexUnknown, kIndexUnknown,
- kIndexUnknown, kIndexUnknown, kIndexUnknown,
- kIndexUnknown, kIndexUnknown, kIndexUnknown,
- kIndexUnknown, kIndexUnknown, kIndexUnknown,
- kIndexUnknown, kIndexUnknown, kIndexUnknown,
- kIndexMethodRef, kIndexFieldRef, kIndexFieldRef,
- kIndexFieldRef, kIndexFieldRef, kIndexFieldRef,
- kIndexFieldRef, kIndexFieldRef, kIndexFieldRef,
- kIndexFieldRef, kIndexFieldRef, kIndexFieldRef,
- kIndexFieldRef, kIndexVaries,
+ kIndexUnknown,
// END(libdex-index-types)
};
@@ -1036,43 +642,6 @@ void dexDecodeInstruction(const u2* insns, DecodedInstruction* pDec)
pDec->vA = INST_AA(inst);
pDec->vB_wide = FETCH_u4(1) | ((u8) FETCH_u4(3) << 32);
break;
- case kFmt33x: // exop vAA, vBB, vCCCC
- pDec->vA = FETCH(1) & 0xff;
- pDec->vB = FETCH(1) >> 8;
- pDec->vC = FETCH(2);
- break;
- case kFmt32s: // exop vAA, vBB, #+CCCC
- pDec->vA = FETCH(1) & 0xff;
- pDec->vB = FETCH(1) >> 8;
- pDec->vC = (s2) FETCH(2); // sign-extend 16-bit value
- break;
- case kFmt40sc: // [opt] exop AAAA, thing@BBBBBBBB
- case kFmt41c: // exop vAAAA, thing@BBBBBBBB
- /*
- * The order of fields for this format in the spec is {B, A},
- * to match formats 21c and 31c.
- */
- pDec->vB = FETCH_u4(1); // 32-bit value
- pDec->vA = FETCH(3);
- break;
- case kFmt52c: // exop vAAAA, vBBBB, thing@CCCCCCCC
- /*
- * The order of fields for this format in the spec is {C, A, B},
- * to match formats 22c and 22cs.
- */
- pDec->vC = FETCH_u4(1); // 32-bit value
- pDec->vA = FETCH(3);
- pDec->vB = FETCH(4);
- break;
- case kFmt5rc: // exop {vCCCC .. v(CCCC+AAAA-1)}, meth@BBBBBBBB
- /*
- * The order of fields for this format in the spec is {B, A, C},
- * to match formats 3rc and friends.
- */
- pDec->vB = FETCH_u4(1); // 32-bit value
- pDec->vA = FETCH(3);
- pDec->vC = FETCH(4);
- break;
default:
LOGW("Can't decode unexpected format %d (op=%d)", format, opcode);
assert(false);
diff --git a/libdex/InstrUtils.h b/libdex/InstrUtils.h
index 708a479af..76993a529 100644
--- a/libdex/InstrUtils.h
+++ b/libdex/InstrUtils.h
@@ -61,12 +61,6 @@ enum InstructionFormat {
kFmt51l, // op vAA, #+BBBBBBBBBBBBBBBB
kFmt35mi, // [opt] inline invoke
kFmt3rmi, // [opt] inline invoke/range
- kFmt33x, // exop vAA, vBB, vCCCC
- kFmt32s, // exop vAA, vBB, #+CCCC
- kFmt40sc, // [opt] exop AAAA, thing@BBBBBBBB
- kFmt41c, // exop vAAAA, thing@BBBBBBBB
- kFmt52c, // exop vAAAA, vBBBB, thing@CCCCCCCC
- kFmt5rc, // exop {vCCCC .. v(CCCC+AAAA-1)}, thing@BBBBBBBB
};
/*
diff --git a/opcode-gen/bytecode.txt b/opcode-gen/bytecode.txt
index 89b8c8305..6b7b9b183 100644
--- a/opcode-gen/bytecode.txt
+++ b/opcode-gen/bytecode.txt
@@ -32,13 +32,13 @@ format 10t 20t 30t
format 10x
format 11n 21s 21h 31i 51l
format 11x
-format 12x 22x 23x 32x 33x # See note, above.
-format 21c 31c 41c
+format 12x 22x 23x 32x # See note, above.
+format 21c 31c
format 21t 31t
-format 22b 22s 32s
-format 22c 52c
+format 22b 22s
+format 22c
format 22t
-format 35c 3rc 5rc
+format 35c 3rc
# Optimized formats
format 00x
@@ -48,7 +48,6 @@ format 35mi
format 35ms
format 3rmi
format 3rms
-format 40sc
# One line per opcode. Columns are:
# hex for opcode
@@ -344,67 +343,4 @@ op fc +iput-object-volatile 22c n field-ref optimized|continue|thro
op fd +sget-object-volatile 21c y field-ref optimized|continue|throw
op fe +sput-object-volatile 21c n field-ref optimized|continue|throw
-#
-# Extended-width opcodes
-#
-
-op 00ff const-class/jumbo 41c y type-ref continue|throw
-op 01ff check-cast/jumbo 41c n type-ref continue|throw
-op 02ff instance-of/jumbo 52c y type-ref continue|throw
-op 03ff new-instance/jumbo 41c y type-ref continue|throw
-op 04ff new-array/jumbo 52c y type-ref continue|throw
-op 05ff filled-new-array/jumbo 5rc n type-ref continue|throw
-op 06ff iget/jumbo 52c y field-ref continue|throw
-op 07ff iget-wide/jumbo 52c y field-ref continue|throw
-op 08ff iget-object/jumbo 52c y field-ref continue|throw
-op 09ff iget-boolean/jumbo 52c y field-ref continue|throw
-op 0aff iget-byte/jumbo 52c y field-ref continue|throw
-op 0bff iget-char/jumbo 52c y field-ref continue|throw
-op 0cff iget-short/jumbo 52c y field-ref continue|throw
-op 0dff iput/jumbo 52c n field-ref continue|throw
-op 0eff iput-wide/jumbo 52c n field-ref continue|throw
-op 0fff iput-object/jumbo 52c n field-ref continue|throw
-op 10ff iput-boolean/jumbo 52c n field-ref continue|throw
-op 11ff iput-byte/jumbo 52c n field-ref continue|throw
-op 12ff iput-char/jumbo 52c n field-ref continue|throw
-op 13ff iput-short/jumbo 52c n field-ref continue|throw
-op 14ff sget/jumbo 41c y field-ref continue|throw
-op 15ff sget-wide/jumbo 41c y field-ref continue|throw
-op 16ff sget-object/jumbo 41c y field-ref continue|throw
-op 17ff sget-boolean/jumbo 41c y field-ref continue|throw
-op 18ff sget-byte/jumbo 41c y field-ref continue|throw
-op 19ff sget-char/jumbo 41c y field-ref continue|throw
-op 1aff sget-short/jumbo 41c y field-ref continue|throw
-op 1bff sput/jumbo 41c n field-ref continue|throw
-op 1cff sput-wide/jumbo 41c n field-ref continue|throw
-op 1dff sput-object/jumbo 41c n field-ref continue|throw
-op 1eff sput-boolean/jumbo 41c n field-ref continue|throw
-op 1fff sput-byte/jumbo 41c n field-ref continue|throw
-op 20ff sput-char/jumbo 41c n field-ref continue|throw
-op 21ff sput-short/jumbo 41c n field-ref continue|throw
-op 22ff invoke-virtual/jumbo 5rc n method-ref continue|throw|invoke
-op 23ff invoke-super/jumbo 5rc n method-ref continue|throw|invoke
-op 24ff invoke-direct/jumbo 5rc n method-ref continue|throw|invoke
-op 25ff invoke-static/jumbo 5rc n method-ref continue|throw|invoke
-op 26ff invoke-interface/jumbo 5rc n method-ref continue|throw|invoke
-
-# unused: op 27ff..f1ff
-
-#
-# Optimized opcodes (not valid in an unoptimized dex file)
-#
-
-op f2ff +invoke-object-init/jumbo 5rc n method-ref optimized|continue|throw|invoke
-op f3ff +iget-volatile/jumbo 52c y field-ref optimized|continue|throw
-op f4ff +iget-wide-volatile/jumbo 52c y field-ref optimized|continue|throw
-op f5ff +iget-object-volatile/jumbo 52c y field-ref optimized|continue|throw
-op f6ff +iput-volatile/jumbo 52c n field-ref optimized|continue|throw
-op f7ff +iput-wide-volatile/jumbo 52c n field-ref optimized|continue|throw
-op f8ff +iput-object-volatile/jumbo 52c n field-ref optimized|continue|throw
-op f9ff +sget-volatile/jumbo 41c y field-ref optimized|continue|throw
-op faff +sget-wide-volatile/jumbo 41c y field-ref optimized|continue|throw
-op fbff +sget-object-volatile/jumbo 41c y field-ref optimized|continue|throw
-op fcff +sput-volatile/jumbo 41c n field-ref optimized|continue|throw
-op fdff +sput-wide-volatile/jumbo 41c n field-ref optimized|continue|throw
-op feff +sput-object-volatile/jumbo 41c n field-ref optimized|continue|throw
-op ffff ^throw-verification-error/jumbo 40sc n varies optimized|throw
+# unused: op ff
diff --git a/opcode-gen/opcode-gen.awk b/opcode-gen/opcode-gen.awk
index 0e0ff6cab..e26a60c71 100644
--- a/opcode-gen/opcode-gen.awk
+++ b/opcode-gen/opcode-gen.awk
@@ -23,6 +23,7 @@
BEGIN {
MAX_OPCODE = 65535;
MAX_PACKED_OPCODE = 511;
+ MAX_PACKED_OPCODE = 255; # TODO: Not for long!
initIndexTypes();
initFlags();
if (readBytecodes()) exit 1;
@@ -401,16 +402,7 @@ function createPackedTables(i, op) {
# locals: i, op
for (i = 0; i <= MAX_PACKED_OPCODE; i++) {
op = unpackOpcode(i);
- if (i == 255) {
- # Special case: This is the low-opcode slot for a would-be
- # extended opcode dispatch implementation.
- packedName[i] = "dispatch-ff";
- packedConstName[i] = "DISPATCH_FF";
- packedFormat[i] = "00x";
- packedFlags[i] = 0;
- packedWidth[i] = 0;
- packedIndexType[i] = "unknown";
- } else if (isUnused(op)) {
+ if (isUnused(op)) {
packedName[i] = unusedName(op);
packedConstName[i] = unusedConstName(op);
packedFormat[i] = "00x";
diff --git a/vm/analysis/CodeVerify.cpp b/vm/analysis/CodeVerify.cpp
index 6c9121192..18ab19067 100644
--- a/vm/analysis/CodeVerify.cpp
+++ b/vm/analysis/CodeVerify.cpp
@@ -459,7 +459,7 @@ UninitInstanceMap* dvmCreateUninitInstanceMap(const Method* meth,
int width = dvmInsnGetWidth(insnFlags, addr);
Opcode opcode = dexOpcodeFromCodeUnit(*insns);
- if (opcode == OP_NEW_INSTANCE || opcode == OP_NEW_INSTANCE_JUMBO)
+ if (opcode == OP_NEW_INSTANCE)
uninitMap->map[idx++].addr = addr;
addr += width;
@@ -3229,10 +3229,7 @@ static void verifyFilledNewArrayRegs(const Method* meth,
* The throw-verification-error instruction requires two code units. Some
* of the replaced instructions require three; the third code unit will
* receive a "nop". The instruction's length will be left unchanged
- * in "insnFlags". If the erroring instruction is a jumbo instruction,
- * the throw-verification-error-jumbo instruction requires four code units.
- * Some jumbo instructions require five, and the fifth code unit will become
- * a "nop".
+ * in "insnFlags".
*
* The VM postpones setting of debugger breakpoints in unverified classes,
* so there should be no clashes with the debugger.
@@ -3245,7 +3242,6 @@ static bool replaceFailingInstruction(const Method* meth, InsnFlags* insnFlags,
VerifyErrorRefType refType;
u2* oldInsns = (u2*) meth->insns + insnIdx;
int width;
- bool result = false;
if (gDvm.optimizing)
ALOGD("Weird: RFI during dexopt?");
@@ -3264,12 +3260,6 @@ static bool replaceFailingInstruction(const Method* meth, InsnFlags* insnFlags,
case OP_NEW_ARRAY:
case OP_FILLED_NEW_ARRAY: // insn[1] == class ref, 3 bytes
case OP_FILLED_NEW_ARRAY_RANGE:
- case OP_CONST_CLASS_JUMBO: // insn[1/2] == class ref, 4 bytes
- case OP_CHECK_CAST_JUMBO:
- case OP_NEW_INSTANCE_JUMBO:
- case OP_INSTANCE_OF_JUMBO: // insn[1/2] == class ref, 5 bytes
- case OP_NEW_ARRAY_JUMBO:
- case OP_FILLED_NEW_ARRAY_JUMBO:
refType = VERIFY_ERROR_REF_CLASS;
break;
@@ -3301,34 +3291,6 @@ static bool replaceFailingInstruction(const Method* meth, InsnFlags* insnFlags,
case OP_SPUT_SHORT:
case OP_SPUT_WIDE:
case OP_SPUT_OBJECT:
- case OP_SGET_JUMBO: // insn[1/2] == field ref, 4 bytes
- case OP_SGET_BOOLEAN_JUMBO:
- case OP_SGET_BYTE_JUMBO:
- case OP_SGET_CHAR_JUMBO:
- case OP_SGET_SHORT_JUMBO:
- case OP_SGET_WIDE_JUMBO:
- case OP_SGET_OBJECT_JUMBO:
- case OP_SPUT_JUMBO:
- case OP_SPUT_BOOLEAN_JUMBO:
- case OP_SPUT_BYTE_JUMBO:
- case OP_SPUT_CHAR_JUMBO:
- case OP_SPUT_SHORT_JUMBO:
- case OP_SPUT_WIDE_JUMBO:
- case OP_SPUT_OBJECT_JUMBO:
- case OP_IGET_JUMBO: // insn[1/2] == field ref, 5 bytes
- case OP_IGET_BOOLEAN_JUMBO:
- case OP_IGET_BYTE_JUMBO:
- case OP_IGET_CHAR_JUMBO:
- case OP_IGET_SHORT_JUMBO:
- case OP_IGET_WIDE_JUMBO:
- case OP_IGET_OBJECT_JUMBO:
- case OP_IPUT_JUMBO:
- case OP_IPUT_BOOLEAN_JUMBO:
- case OP_IPUT_BYTE_JUMBO:
- case OP_IPUT_CHAR_JUMBO:
- case OP_IPUT_SHORT_JUMBO:
- case OP_IPUT_WIDE_JUMBO:
- case OP_IPUT_OBJECT_JUMBO:
refType = VERIFY_ERROR_REF_FIELD;
break;
@@ -3342,18 +3304,13 @@ static bool replaceFailingInstruction(const Method* meth, InsnFlags* insnFlags,
case OP_INVOKE_STATIC_RANGE:
case OP_INVOKE_INTERFACE:
case OP_INVOKE_INTERFACE_RANGE:
- case OP_INVOKE_VIRTUAL_JUMBO: // insn[1/2] == method ref, 5 bytes
- case OP_INVOKE_SUPER_JUMBO:
- case OP_INVOKE_DIRECT_JUMBO:
- case OP_INVOKE_STATIC_JUMBO:
- case OP_INVOKE_INTERFACE_JUMBO:
refType = VERIFY_ERROR_REF_METHOD;
break;
default:
/* could handle this in a generic way, but this is probably safer */
LOG_VFY("GLITCH: verifier asked to replace opcode 0x%02x", opcode);
- goto bail;
+ return false;
}
assert((dexGetFlagsFromOpcode(opcode) & kInstrCanThrow) != 0);
@@ -3368,9 +3325,6 @@ static bool replaceFailingInstruction(const Method* meth, InsnFlags* insnFlags,
case 3:
dvmUpdateCodeUnit(meth, oldInsns+2, OP_NOP);
break;
- case 5:
- dvmUpdateCodeUnit(meth, oldInsns+4, OP_NOP);
- break;
default:
/* whoops */
LOGE("ERROR: stomped a %d-unit instruction with a verifier error",
@@ -3378,27 +3332,13 @@ static bool replaceFailingInstruction(const Method* meth, InsnFlags* insnFlags,
dvmAbort();
}
- /* check for jumbo opcodes */
- if (opcode > OP_DISPATCH_FF) {
- /* replace opcode and failure code */
- assert(width == 4 || width == 5);
- u2 newVal = (u2) ((OP_THROW_VERIFICATION_ERROR_JUMBO << 8) |
- OP_DISPATCH_FF);
- dvmUpdateCodeUnit(meth, oldInsns, newVal);
- newVal = failure | (refType << kVerifyErrorRefTypeShift);
- dvmUpdateCodeUnit(meth, oldInsns+3, newVal);
- } else {
- /* encode the opcode, with the failure code in the high byte */
- assert(width == 2 || width == 3);
- u2 newVal = OP_THROW_VERIFICATION_ERROR |
- (failure << 8) | (refType << (8 + kVerifyErrorRefTypeShift));
- dvmUpdateCodeUnit(meth, oldInsns, newVal);
- }
+ /* encode the opcode, with the failure code in the high byte */
+ assert(width == 2 || width == 3);
+ u2 newVal = OP_THROW_VERIFICATION_ERROR |
+ (failure << 8) | (refType << (8 + kVerifyErrorRefTypeShift));
+ dvmUpdateCodeUnit(meth, oldInsns, newVal);
- result = true;
-
-bail:
- return result;
+ return true;
}
/*
@@ -4124,7 +4064,6 @@ static bool verifyInstruction(const Method* meth, InsnFlags* insnFlags,
regTypeFromClass(gDvm.classJavaLangString));
break;
case OP_CONST_CLASS:
- case OP_CONST_CLASS_JUMBO:
assert(gDvm.classJavaLangClass != NULL);
/* make sure we can resolve the class; access check is important */
resClass = dvmOptResolveClass(meth->clazz, decInsn.vB, &failure);
@@ -4170,7 +4109,6 @@ static bool verifyInstruction(const Method* meth, InsnFlags* insnFlags,
break;
case OP_CHECK_CAST:
- case OP_CHECK_CAST_JUMBO:
/*
* If this instruction succeeds, we will promote register vA to
* the type in vB. (This could be a demotion -- not expected, so
@@ -4199,7 +4137,6 @@ static bool verifyInstruction(const Method* meth, InsnFlags* insnFlags,
}
break;
case OP_INSTANCE_OF:
- case OP_INSTANCE_OF_JUMBO:
/* make sure we're checking a reference type */
tmpType = getRegisterType(workLine, decInsn.vB);
if (!regTypeIsReference(tmpType)) {
@@ -4235,7 +4172,6 @@ static bool verifyInstruction(const Method* meth, InsnFlags* insnFlags,
break;
case OP_NEW_INSTANCE:
- case OP_NEW_INSTANCE_JUMBO:
resClass = dvmOptResolveClass(meth->clazz, decInsn.vB, &failure);
if (resClass == NULL) {
const char* badClassDesc = dexStringByTypeIdx(pDexFile, decInsn.vB);
@@ -4271,7 +4207,6 @@ static bool verifyInstruction(const Method* meth, InsnFlags* insnFlags,
}
break;
case OP_NEW_ARRAY:
- case OP_NEW_ARRAY_JUMBO:
resClass = dvmOptResolveClass(meth->clazz, decInsn.vC, &failure);
if (resClass == NULL) {
const char* badClassDesc = dexStringByTypeIdx(pDexFile, decInsn.vC);
@@ -4291,7 +4226,6 @@ static bool verifyInstruction(const Method* meth, InsnFlags* insnFlags,
break;
case OP_FILLED_NEW_ARRAY:
case OP_FILLED_NEW_ARRAY_RANGE:
- case OP_FILLED_NEW_ARRAY_JUMBO:
resClass = dvmOptResolveClass(meth->clazz, decInsn.vB, &failure);
if (resClass == NULL) {
const char* badClassDesc = dexStringByTypeIdx(pDexFile, decInsn.vB);
@@ -4303,8 +4237,7 @@ static bool verifyInstruction(const Method* meth, InsnFlags* insnFlags,
LOG_VFY("VFY: filled-new-array on non-array class");
failure = VERIFY_ERROR_GENERIC;
} else {
- bool isRange = (decInsn.opcode == OP_FILLED_NEW_ARRAY_RANGE ||
- decInsn.opcode == OP_FILLED_NEW_ARRAY_JUMBO);
+ bool isRange = (decInsn.opcode == OP_FILLED_NEW_ARRAY_RANGE);
/* check the arguments to the instruction */
verifyFilledNewArrayRegs(meth, workLine, &decInsn,
@@ -4836,23 +4769,18 @@ aput_1nr_common:
break;
case OP_IGET:
- case OP_IGET_JUMBO:
tmpType = kRegTypeInteger;
goto iget_1nr_common;
case OP_IGET_BOOLEAN:
- case OP_IGET_BOOLEAN_JUMBO:
tmpType = kRegTypeBoolean;
goto iget_1nr_common;
case OP_IGET_BYTE:
- case OP_IGET_BYTE_JUMBO:
tmpType = kRegTypeByte;
goto iget_1nr_common;
case OP_IGET_CHAR:
- case OP_IGET_CHAR_JUMBO:
tmpType = kRegTypeChar;
goto iget_1nr_common;
case OP_IGET_SHORT:
- case OP_IGET_SHORT_JUMBO:
tmpType = kRegTypeShort;
goto iget_1nr_common;
iget_1nr_common:
@@ -4887,7 +4815,6 @@ iget_1nr_common:
}
break;
case OP_IGET_WIDE:
- case OP_IGET_WIDE_JUMBO:
{
RegType dstType;
InstField* instField;
@@ -4920,7 +4847,6 @@ iget_1nr_common:
}
break;
case OP_IGET_OBJECT:
- case OP_IGET_OBJECT_JUMBO:
{
ClassObject* fieldClass;
InstField* instField;
@@ -4947,23 +4873,18 @@ iget_1nr_common:
}
break;
case OP_IPUT:
- case OP_IPUT_JUMBO:
tmpType = kRegTypeInteger;
goto iput_1nr_common;
case OP_IPUT_BOOLEAN:
- case OP_IPUT_BOOLEAN_JUMBO:
tmpType = kRegTypeBoolean;
goto iput_1nr_common;
case OP_IPUT_BYTE:
- case OP_IPUT_BYTE_JUMBO:
tmpType = kRegTypeByte;
goto iput_1nr_common;
case OP_IPUT_CHAR:
- case OP_IPUT_CHAR_JUMBO:
tmpType = kRegTypeChar;
goto iput_1nr_common;
case OP_IPUT_SHORT:
- case OP_IPUT_SHORT_JUMBO:
tmpType = kRegTypeShort;
goto iput_1nr_common;
iput_1nr_common:
@@ -5025,7 +4946,6 @@ iput_1nr_common:
}
break;
case OP_IPUT_WIDE:
- case OP_IPUT_WIDE_JUMBO:
tmpType = getRegisterType(workLine, decInsn.vA);
{
RegType typeHi = getRegisterType(workLine, decInsn.vA + 1);
@@ -5064,7 +4984,6 @@ iput_1nr_common:
}
break;
case OP_IPUT_OBJECT:
- case OP_IPUT_OBJECT_JUMBO:
{
ClassObject* fieldClass;
ClassObject* valueClass;
@@ -5120,23 +5039,18 @@ iput_1nr_common:
break;
case OP_SGET:
- case OP_SGET_JUMBO:
tmpType = kRegTypeInteger;
goto sget_1nr_common;
case OP_SGET_BOOLEAN:
- case OP_SGET_BOOLEAN_JUMBO:
tmpType = kRegTypeBoolean;
goto sget_1nr_common;
case OP_SGET_BYTE:
- case OP_SGET_BYTE_JUMBO:
tmpType = kRegTypeByte;
goto sget_1nr_common;
case OP_SGET_CHAR:
- case OP_SGET_CHAR_JUMBO:
tmpType = kRegTypeChar;
goto sget_1nr_common;
case OP_SGET_SHORT:
- case OP_SGET_SHORT_JUMBO:
tmpType = kRegTypeShort;
goto sget_1nr_common;
sget_1nr_common:
@@ -5173,7 +5087,6 @@ sget_1nr_common:
}
break;
case OP_SGET_WIDE:
- case OP_SGET_WIDE_JUMBO:
{
StaticField* staticField;
RegType dstType;
@@ -5203,7 +5116,6 @@ sget_1nr_common:
}
break;
case OP_SGET_OBJECT:
- case OP_SGET_OBJECT_JUMBO:
{
StaticField* staticField;
ClassObject* fieldClass;
@@ -5227,23 +5139,18 @@ sget_1nr_common:
}
break;
case OP_SPUT:
- case OP_SPUT_JUMBO:
tmpType = kRegTypeInteger;
goto sput_1nr_common;
case OP_SPUT_BOOLEAN:
- case OP_SPUT_BOOLEAN_JUMBO:
tmpType = kRegTypeBoolean;
goto sput_1nr_common;
case OP_SPUT_BYTE:
- case OP_SPUT_BYTE_JUMBO:
tmpType = kRegTypeByte;
goto sput_1nr_common;
case OP_SPUT_CHAR:
- case OP_SPUT_CHAR_JUMBO:
tmpType = kRegTypeChar;
goto sput_1nr_common;
case OP_SPUT_SHORT:
- case OP_SPUT_SHORT_JUMBO:
tmpType = kRegTypeShort;
goto sput_1nr_common;
sput_1nr_common:
@@ -5308,7 +5215,6 @@ sput_1nr_common:
}
break;
case OP_SPUT_WIDE:
- case OP_SPUT_WIDE_JUMBO:
tmpType = getRegisterType(workLine, decInsn.vA);
{
RegType typeHi = getRegisterType(workLine, decInsn.vA + 1);
@@ -5344,7 +5250,6 @@ sput_1nr_common:
}
break;
case OP_SPUT_OBJECT:
- case OP_SPUT_OBJECT_JUMBO:
{
ClassObject* fieldClass;
ClassObject* valueClass;
@@ -5399,10 +5304,8 @@ sput_1nr_common:
case OP_INVOKE_VIRTUAL:
case OP_INVOKE_VIRTUAL_RANGE:
- case OP_INVOKE_VIRTUAL_JUMBO:
case OP_INVOKE_SUPER:
case OP_INVOKE_SUPER_RANGE:
- case OP_INVOKE_SUPER_JUMBO:
{
Method* calledMethod;
RegType returnType;
@@ -5410,12 +5313,9 @@ sput_1nr_common:
bool isSuper;
isRange = (decInsn.opcode == OP_INVOKE_VIRTUAL_RANGE ||
- decInsn.opcode == OP_INVOKE_VIRTUAL_JUMBO ||
- decInsn.opcode == OP_INVOKE_SUPER_RANGE ||
- decInsn.opcode == OP_INVOKE_SUPER_JUMBO);
+ decInsn.opcode == OP_INVOKE_SUPER_RANGE);
isSuper = (decInsn.opcode == OP_INVOKE_SUPER ||
- decInsn.opcode == OP_INVOKE_SUPER_RANGE ||
- decInsn.opcode == OP_INVOKE_SUPER_JUMBO);
+ decInsn.opcode == OP_INVOKE_SUPER_RANGE);
calledMethod = verifyInvocationArgs(meth, workLine, insnRegCount,
&decInsn, uninitMap, METHOD_VIRTUAL, isRange,
@@ -5429,14 +5329,12 @@ sput_1nr_common:
break;
case OP_INVOKE_DIRECT:
case OP_INVOKE_DIRECT_RANGE:
- case OP_INVOKE_DIRECT_JUMBO:
{
RegType returnType;
Method* calledMethod;
bool isRange;
- isRange = (decInsn.opcode == OP_INVOKE_DIRECT_RANGE ||
- decInsn.opcode == OP_INVOKE_DIRECT_JUMBO);
+ isRange = (decInsn.opcode == OP_INVOKE_DIRECT_RANGE);
calledMethod = verifyInvocationArgs(meth, workLine, insnRegCount,
&decInsn, uninitMap, METHOD_DIRECT, isRange,
false, &failure);
@@ -5510,14 +5408,12 @@ sput_1nr_common:
break;
case OP_INVOKE_STATIC:
case OP_INVOKE_STATIC_RANGE:
- case OP_INVOKE_STATIC_JUMBO:
{
RegType returnType;
Method* calledMethod;
bool isRange;
- isRange = (decInsn.opcode == OP_INVOKE_STATIC_RANGE ||
- decInsn.opcode == OP_INVOKE_STATIC_JUMBO);
+ isRange = (decInsn.opcode == OP_INVOKE_STATIC_RANGE);
calledMethod = verifyInvocationArgs(meth, workLine, insnRegCount,
&decInsn, uninitMap, METHOD_STATIC, isRange,
false, &failure);
@@ -5531,14 +5427,12 @@ sput_1nr_common:
break;
case OP_INVOKE_INTERFACE:
case OP_INVOKE_INTERFACE_RANGE:
- case OP_INVOKE_INTERFACE_JUMBO:
{
RegType /*thisType,*/ returnType;
Method* absMethod;
bool isRange;
- isRange = (decInsn.opcode == OP_INVOKE_INTERFACE_RANGE ||
- decInsn.opcode == OP_INVOKE_INTERFACE_JUMBO);
+ isRange = (decInsn.opcode == OP_INVOKE_INTERFACE_RANGE);
absMethod = verifyInvocationArgs(meth, workLine, insnRegCount,
&decInsn, uninitMap, METHOD_INTERFACE, isRange,
false, &failure);
@@ -5829,7 +5723,6 @@ sput_1nr_common:
* inserted in the course of verification, we can expect to see it here.
*/
case OP_THROW_VERIFICATION_ERROR:
- case OP_THROW_VERIFICATION_ERROR_JUMBO:
break;
/*
@@ -5886,32 +5779,19 @@ sput_1nr_common:
* completes, though, so we don't expect to see them here.
*/
case OP_INVOKE_OBJECT_INIT_RANGE:
- case OP_INVOKE_OBJECT_INIT_JUMBO:
case OP_RETURN_VOID_BARRIER:
case OP_IGET_VOLATILE:
- case OP_IGET_VOLATILE_JUMBO:
case OP_IGET_WIDE_VOLATILE:
- case OP_IGET_WIDE_VOLATILE_JUMBO:
case OP_IGET_OBJECT_VOLATILE:
- case OP_IGET_OBJECT_VOLATILE_JUMBO:
case OP_IPUT_VOLATILE:
- case OP_IPUT_VOLATILE_JUMBO:
case OP_IPUT_WIDE_VOLATILE:
- case OP_IPUT_WIDE_VOLATILE_JUMBO:
case OP_IPUT_OBJECT_VOLATILE:
- case OP_IPUT_OBJECT_VOLATILE_JUMBO:
case OP_SGET_VOLATILE:
- case OP_SGET_VOLATILE_JUMBO:
case OP_SGET_WIDE_VOLATILE:
- case OP_SGET_WIDE_VOLATILE_JUMBO:
case OP_SGET_OBJECT_VOLATILE:
- case OP_SGET_OBJECT_VOLATILE_JUMBO:
case OP_SPUT_VOLATILE:
- case OP_SPUT_VOLATILE_JUMBO:
case OP_SPUT_WIDE_VOLATILE:
- case OP_SPUT_WIDE_VOLATILE_JUMBO:
case OP_SPUT_OBJECT_VOLATILE:
- case OP_SPUT_OBJECT_VOLATILE_JUMBO:
/* fall through to failure */
/* these should never appear during verification */
@@ -5925,210 +5805,7 @@ sput_1nr_common:
case OP_UNUSED_79:
case OP_UNUSED_7A:
case OP_BREAKPOINT:
- case OP_DISPATCH_FF:
- case OP_UNUSED_27FF:
- case OP_UNUSED_28FF:
- case OP_UNUSED_29FF:
- case OP_UNUSED_2AFF:
- case OP_UNUSED_2BFF:
- case OP_UNUSED_2CFF:
- case OP_UNUSED_2DFF:
- case OP_UNUSED_2EFF:
- case OP_UNUSED_2FFF:
- case OP_UNUSED_30FF:
- case OP_UNUSED_31FF:
- case OP_UNUSED_32FF:
- case OP_UNUSED_33FF:
- case OP_UNUSED_34FF:
- case OP_UNUSED_35FF:
- case OP_UNUSED_36FF:
- case OP_UNUSED_37FF:
- case OP_UNUSED_38FF:
- case OP_UNUSED_39FF:
- case OP_UNUSED_3AFF:
- case OP_UNUSED_3BFF:
- case OP_UNUSED_3CFF:
- case OP_UNUSED_3DFF:
- case OP_UNUSED_3EFF:
- case OP_UNUSED_3FFF:
- case OP_UNUSED_40FF:
- case OP_UNUSED_41FF:
- case OP_UNUSED_42FF:
- case OP_UNUSED_43FF:
- case OP_UNUSED_44FF:
- case OP_UNUSED_45FF:
- case OP_UNUSED_46FF:
- case OP_UNUSED_47FF:
- case OP_UNUSED_48FF:
- case OP_UNUSED_49FF:
- case OP_UNUSED_4AFF:
- case OP_UNUSED_4BFF:
- case OP_UNUSED_4CFF:
- case OP_UNUSED_4DFF:
- case OP_UNUSED_4EFF:
- case OP_UNUSED_4FFF:
- case OP_UNUSED_50FF:
- case OP_UNUSED_51FF:
- case OP_UNUSED_52FF:
- case OP_UNUSED_53FF:
- case OP_UNUSED_54FF:
- case OP_UNUSED_55FF:
- case OP_UNUSED_56FF:
- case OP_UNUSED_57FF:
- case OP_UNUSED_58FF:
- case OP_UNUSED_59FF:
- case OP_UNUSED_5AFF:
- case OP_UNUSED_5BFF:
- case OP_UNUSED_5CFF:
- case OP_UNUSED_5DFF:
- case OP_UNUSED_5EFF:
- case OP_UNUSED_5FFF:
- case OP_UNUSED_60FF:
- case OP_UNUSED_61FF:
- case OP_UNUSED_62FF:
- case OP_UNUSED_63FF:
- case OP_UNUSED_64FF:
- case OP_UNUSED_65FF:
- case OP_UNUSED_66FF:
- case OP_UNUSED_67FF:
- case OP_UNUSED_68FF:
- case OP_UNUSED_69FF:
- case OP_UNUSED_6AFF:
- case OP_UNUSED_6BFF:
- case OP_UNUSED_6CFF:
- case OP_UNUSED_6DFF:
- case OP_UNUSED_6EFF:
- case OP_UNUSED_6FFF:
- case OP_UNUSED_70FF:
- case OP_UNUSED_71FF:
- case OP_UNUSED_72FF:
- case OP_UNUSED_73FF:
- case OP_UNUSED_74FF:
- case OP_UNUSED_75FF:
- case OP_UNUSED_76FF:
- case OP_UNUSED_77FF:
- case OP_UNUSED_78FF:
- case OP_UNUSED_79FF:
- case OP_UNUSED_7AFF:
- case OP_UNUSED_7BFF:
- case OP_UNUSED_7CFF:
- case OP_UNUSED_7DFF:
- case OP_UNUSED_7EFF:
- case OP_UNUSED_7FFF:
- case OP_UNUSED_80FF:
- case OP_UNUSED_81FF:
- case OP_UNUSED_82FF:
- case OP_UNUSED_83FF:
- case OP_UNUSED_84FF:
- case OP_UNUSED_85FF:
- case OP_UNUSED_86FF:
- case OP_UNUSED_87FF:
- case OP_UNUSED_88FF:
- case OP_UNUSED_89FF:
- case OP_UNUSED_8AFF:
- case OP_UNUSED_8BFF:
- case OP_UNUSED_8CFF:
- case OP_UNUSED_8DFF:
- case OP_UNUSED_8EFF:
- case OP_UNUSED_8FFF:
- case OP_UNUSED_90FF:
- case OP_UNUSED_91FF:
- case OP_UNUSED_92FF:
- case OP_UNUSED_93FF:
- case OP_UNUSED_94FF:
- case OP_UNUSED_95FF:
- case OP_UNUSED_96FF:
- case OP_UNUSED_97FF:
- case OP_UNUSED_98FF:
- case OP_UNUSED_99FF:
- case OP_UNUSED_9AFF:
- case OP_UNUSED_9BFF:
- case OP_UNUSED_9CFF:
- case OP_UNUSED_9DFF:
- case OP_UNUSED_9EFF:
- case OP_UNUSED_9FFF:
- case OP_UNUSED_A0FF:
- case OP_UNUSED_A1FF:
- case OP_UNUSED_A2FF:
- case OP_UNUSED_A3FF:
- case OP_UNUSED_A4FF:
- case OP_UNUSED_A5FF:
- case OP_UNUSED_A6FF:
- case OP_UNUSED_A7FF:
- case OP_UNUSED_A8FF:
- case OP_UNUSED_A9FF:
- case OP_UNUSED_AAFF:
- case OP_UNUSED_ABFF:
- case OP_UNUSED_ACFF:
- case OP_UNUSED_ADFF:
- case OP_UNUSED_AEFF:
- case OP_UNUSED_AFFF:
- case OP_UNUSED_B0FF:
- case OP_UNUSED_B1FF:
- case OP_UNUSED_B2FF:
- case OP_UNUSED_B3FF:
- case OP_UNUSED_B4FF:
- case OP_UNUSED_B5FF:
- case OP_UNUSED_B6FF:
- case OP_UNUSED_B7FF:
- case OP_UNUSED_B8FF:
- case OP_UNUSED_B9FF:
- case OP_UNUSED_BAFF:
- case OP_UNUSED_BBFF:
- case OP_UNUSED_BCFF:
- case OP_UNUSED_BDFF:
- case OP_UNUSED_BEFF:
- case OP_UNUSED_BFFF:
- case OP_UNUSED_C0FF:
- case OP_UNUSED_C1FF:
- case OP_UNUSED_C2FF:
- case OP_UNUSED_C3FF:
- case OP_UNUSED_C4FF:
- case OP_UNUSED_C5FF:
- case OP_UNUSED_C6FF:
- case OP_UNUSED_C7FF:
- case OP_UNUSED_C8FF:
- case OP_UNUSED_C9FF:
- case OP_UNUSED_CAFF:
- case OP_UNUSED_CBFF:
- case OP_UNUSED_CCFF:
- case OP_UNUSED_CDFF:
- case OP_UNUSED_CEFF:
- case OP_UNUSED_CFFF:
- case OP_UNUSED_D0FF:
- case OP_UNUSED_D1FF:
- case OP_UNUSED_D2FF:
- case OP_UNUSED_D3FF:
- case OP_UNUSED_D4FF:
- case OP_UNUSED_D5FF:
- case OP_UNUSED_D6FF:
- case OP_UNUSED_D7FF:
- case OP_UNUSED_D8FF:
- case OP_UNUSED_D9FF:
- case OP_UNUSED_DAFF:
- case OP_UNUSED_DBFF:
- case OP_UNUSED_DCFF:
- case OP_UNUSED_DDFF:
- case OP_UNUSED_DEFF:
- case OP_UNUSED_DFFF:
- case OP_UNUSED_E0FF:
- case OP_UNUSED_E1FF:
- case OP_UNUSED_E2FF:
- case OP_UNUSED_E3FF:
- case OP_UNUSED_E4FF:
- case OP_UNUSED_E5FF:
- case OP_UNUSED_E6FF:
- case OP_UNUSED_E7FF:
- case OP_UNUSED_E8FF:
- case OP_UNUSED_E9FF:
- case OP_UNUSED_EAFF:
- case OP_UNUSED_EBFF:
- case OP_UNUSED_ECFF:
- case OP_UNUSED_EDFF:
- case OP_UNUSED_EEFF:
- case OP_UNUSED_EFFF:
- case OP_UNUSED_F0FF:
- case OP_UNUSED_F1FF:
+ case OP_UNUSED_FF:
failure = VERIFY_ERROR_GENERIC;
break;
diff --git a/vm/analysis/DexVerify.cpp b/vm/analysis/DexVerify.cpp
index 7623aa1a8..82d68470d 100644
--- a/vm/analysis/DexVerify.cpp
+++ b/vm/analysis/DexVerify.cpp
@@ -102,7 +102,7 @@ static bool computeWidthsAndCountOps(VerifierData* vdata)
}
Opcode opcode = dexOpcodeFromCodeUnit(*insns);
- if (opcode == OP_NEW_INSTANCE || opcode == OP_NEW_INSTANCE_JUMBO)
+ if (opcode == OP_NEW_INSTANCE)
newInstanceCount++;
if (opcode == OP_MONITOR_ENTER)
monitorEnterCount++;
@@ -951,25 +951,20 @@ static bool verifyInstructions(VerifierData* vdata)
okay &= checkStringIndex(pDvmDex, decInsn.vB);
break;
case OP_CONST_CLASS:
- case OP_CONST_CLASS_JUMBO:
case OP_CHECK_CAST:
- case OP_CHECK_CAST_JUMBO:
okay &= checkRegisterIndex(meth, decInsn.vA);
okay &= checkTypeIndex(pDvmDex, decInsn.vB);
break;
case OP_INSTANCE_OF:
- case OP_INSTANCE_OF_JUMBO:
okay &= checkRegisterIndex(meth, decInsn.vA);
okay &= checkRegisterIndex(meth, decInsn.vB);
okay &= checkTypeIndex(pDvmDex, decInsn.vC);
break;
case OP_NEW_INSTANCE:
- case OP_NEW_INSTANCE_JUMBO:
okay &= checkRegisterIndex(meth, decInsn.vA);
okay &= checkNewInstance(pDvmDex, decInsn.vB);
break;
case OP_NEW_ARRAY:
- case OP_NEW_ARRAY_JUMBO:
okay &= checkRegisterIndex(meth, decInsn.vA);
okay &= checkRegisterIndex(meth, decInsn.vB);
okay &= checkNewArray(pDvmDex, decInsn.vC);
@@ -1077,72 +1072,44 @@ static bool verifyInstructions(VerifierData* vdata)
okay &= checkBranchTarget(meth, insnFlags, codeOffset, false);
break;
case OP_IGET:
- case OP_IGET_JUMBO:
case OP_IGET_OBJECT:
- case OP_IGET_OBJECT_JUMBO:
case OP_IGET_BOOLEAN:
- case OP_IGET_BOOLEAN_JUMBO:
case OP_IGET_BYTE:
- case OP_IGET_BYTE_JUMBO:
case OP_IGET_CHAR:
- case OP_IGET_CHAR_JUMBO:
case OP_IGET_SHORT:
- case OP_IGET_SHORT_JUMBO:
case OP_IPUT:
- case OP_IPUT_JUMBO:
case OP_IPUT_OBJECT:
- case OP_IPUT_OBJECT_JUMBO:
case OP_IPUT_BOOLEAN:
- case OP_IPUT_BOOLEAN_JUMBO:
case OP_IPUT_BYTE:
- case OP_IPUT_BYTE_JUMBO:
case OP_IPUT_CHAR:
- case OP_IPUT_CHAR_JUMBO:
case OP_IPUT_SHORT:
- case OP_IPUT_SHORT_JUMBO:
okay &= checkRegisterIndex(meth, decInsn.vA);
okay &= checkRegisterIndex(meth, decInsn.vB);
okay &= checkFieldIndex(pDvmDex, decInsn.vC);
break;
case OP_IGET_WIDE:
- case OP_IGET_WIDE_JUMBO:
case OP_IPUT_WIDE:
- case OP_IPUT_WIDE_JUMBO:
okay &= checkWideRegisterIndex(meth, decInsn.vA);
okay &= checkRegisterIndex(meth, decInsn.vB);
okay &= checkFieldIndex(pDvmDex, decInsn.vC);
break;
case OP_SGET:
- case OP_SGET_JUMBO:
case OP_SGET_OBJECT:
- case OP_SGET_OBJECT_JUMBO:
case OP_SGET_BOOLEAN:
- case OP_SGET_BOOLEAN_JUMBO:
case OP_SGET_BYTE:
- case OP_SGET_BYTE_JUMBO:
case OP_SGET_CHAR:
- case OP_SGET_CHAR_JUMBO:
case OP_SGET_SHORT:
- case OP_SGET_SHORT_JUMBO:
case OP_SPUT:
- case OP_SPUT_JUMBO:
case OP_SPUT_OBJECT:
- case OP_SPUT_OBJECT_JUMBO:
case OP_SPUT_BOOLEAN:
- case OP_SPUT_BOOLEAN_JUMBO:
case OP_SPUT_BYTE:
- case OP_SPUT_BYTE_JUMBO:
case OP_SPUT_CHAR:
- case OP_SPUT_CHAR_JUMBO:
case OP_SPUT_SHORT:
- case OP_SPUT_SHORT_JUMBO:
okay &= checkRegisterIndex(meth, decInsn.vA);
okay &= checkFieldIndex(pDvmDex, decInsn.vB);
break;
case OP_SGET_WIDE:
- case OP_SGET_WIDE_JUMBO:
case OP_SPUT_WIDE:
- case OP_SPUT_WIDE_JUMBO:
okay &= checkWideRegisterIndex(meth, decInsn.vA);
okay &= checkFieldIndex(pDvmDex, decInsn.vB);
break;
@@ -1152,7 +1119,6 @@ static bool verifyInstructions(VerifierData* vdata)
okay &= checkVarargRegs(meth, &decInsn);
break;
case OP_FILLED_NEW_ARRAY_RANGE:
- case OP_FILLED_NEW_ARRAY_JUMBO:
okay &= checkTypeIndex(pDvmDex, decInsn.vB);
okay &= checkVarargRangeRegs(meth, &decInsn);
break;
@@ -1166,15 +1132,10 @@ static bool verifyInstructions(VerifierData* vdata)
okay &= checkVarargRegs(meth, &decInsn);
break;
case OP_INVOKE_VIRTUAL_RANGE:
- case OP_INVOKE_VIRTUAL_JUMBO:
case OP_INVOKE_SUPER_RANGE:
- case OP_INVOKE_SUPER_JUMBO:
case OP_INVOKE_DIRECT_RANGE:
- case OP_INVOKE_DIRECT_JUMBO:
case OP_INVOKE_STATIC_RANGE:
- case OP_INVOKE_STATIC_JUMBO:
case OP_INVOKE_INTERFACE_RANGE:
- case OP_INVOKE_INTERFACE_JUMBO:
okay &= checkMethodIndex(pDvmDex, decInsn.vB);
okay &= checkVarargRangeRegs(meth, &decInsn);
break;
@@ -1192,25 +1153,11 @@ static bool verifyInstructions(VerifierData* vdata)
case OP_IPUT_WIDE_VOLATILE:
case OP_SGET_WIDE_VOLATILE:
case OP_SPUT_WIDE_VOLATILE:
- case OP_IGET_VOLATILE_JUMBO:
- case OP_IPUT_VOLATILE_JUMBO:
- case OP_SGET_VOLATILE_JUMBO:
- case OP_SPUT_VOLATILE_JUMBO:
- case OP_IGET_OBJECT_VOLATILE_JUMBO:
- case OP_IPUT_OBJECT_VOLATILE_JUMBO:
- case OP_SGET_OBJECT_VOLATILE_JUMBO:
- case OP_SPUT_OBJECT_VOLATILE_JUMBO:
- case OP_IGET_WIDE_VOLATILE_JUMBO:
- case OP_IPUT_WIDE_VOLATILE_JUMBO:
- case OP_SGET_WIDE_VOLATILE_JUMBO:
- case OP_SPUT_WIDE_VOLATILE_JUMBO:
case OP_BREAKPOINT:
case OP_THROW_VERIFICATION_ERROR:
- case OP_THROW_VERIFICATION_ERROR_JUMBO:
case OP_EXECUTE_INLINE:
case OP_EXECUTE_INLINE_RANGE:
case OP_INVOKE_OBJECT_INIT_RANGE:
- case OP_INVOKE_OBJECT_INIT_JUMBO:
case OP_RETURN_VOID_BARRIER:
case OP_IGET_QUICK:
case OP_IGET_WIDE_QUICK:
@@ -1231,210 +1178,7 @@ static bool verifyInstructions(VerifierData* vdata)
case OP_UNUSED_73:
case OP_UNUSED_79:
case OP_UNUSED_7A:
- case OP_DISPATCH_FF:
- case OP_UNUSED_27FF:
- case OP_UNUSED_28FF:
- case OP_UNUSED_29FF:
- case OP_UNUSED_2AFF:
- case OP_UNUSED_2BFF:
- case OP_UNUSED_2CFF:
- case OP_UNUSED_2DFF:
- case OP_UNUSED_2EFF:
- case OP_UNUSED_2FFF:
- case OP_UNUSED_30FF:
- case OP_UNUSED_31FF:
- case OP_UNUSED_32FF:
- case OP_UNUSED_33FF:
- case OP_UNUSED_34FF:
- case OP_UNUSED_35FF:
- case OP_UNUSED_36FF:
- case OP_UNUSED_37FF:
- case OP_UNUSED_38FF:
- case OP_UNUSED_39FF:
- case OP_UNUSED_3AFF:
- case OP_UNUSED_3BFF:
- case OP_UNUSED_3CFF:
- case OP_UNUSED_3DFF:
- case OP_UNUSED_3EFF:
- case OP_UNUSED_3FFF:
- case OP_UNUSED_40FF:
- case OP_UNUSED_41FF:
- case OP_UNUSED_42FF:
- case OP_UNUSED_43FF:
- case OP_UNUSED_44FF:
- case OP_UNUSED_45FF:
- case OP_UNUSED_46FF:
- case OP_UNUSED_47FF:
- case OP_UNUSED_48FF:
- case OP_UNUSED_49FF:
- case OP_UNUSED_4AFF:
- case OP_UNUSED_4BFF:
- case OP_UNUSED_4CFF:
- case OP_UNUSED_4DFF:
- case OP_UNUSED_4EFF:
- case OP_UNUSED_4FFF:
- case OP_UNUSED_50FF:
- case OP_UNUSED_51FF:
- case OP_UNUSED_52FF:
- case OP_UNUSED_53FF:
- case OP_UNUSED_54FF:
- case OP_UNUSED_55FF:
- case OP_UNUSED_56FF:
- case OP_UNUSED_57FF:
- case OP_UNUSED_58FF:
- case OP_UNUSED_59FF:
- case OP_UNUSED_5AFF:
- case OP_UNUSED_5BFF:
- case OP_UNUSED_5CFF:
- case OP_UNUSED_5DFF:
- case OP_UNUSED_5EFF:
- case OP_UNUSED_5FFF:
- case OP_UNUSED_60FF:
- case OP_UNUSED_61FF:
- case OP_UNUSED_62FF:
- case OP_UNUSED_63FF:
- case OP_UNUSED_64FF:
- case OP_UNUSED_65FF:
- case OP_UNUSED_66FF:
- case OP_UNUSED_67FF:
- case OP_UNUSED_68FF:
- case OP_UNUSED_69FF:
- case OP_UNUSED_6AFF:
- case OP_UNUSED_6BFF:
- case OP_UNUSED_6CFF:
- case OP_UNUSED_6DFF:
- case OP_UNUSED_6EFF:
- case OP_UNUSED_6FFF:
- case OP_UNUSED_70FF:
- case OP_UNUSED_71FF:
- case OP_UNUSED_72FF:
- case OP_UNUSED_73FF:
- case OP_UNUSED_74FF:
- case OP_UNUSED_75FF:
- case OP_UNUSED_76FF:
- case OP_UNUSED_77FF:
- case OP_UNUSED_78FF:
- case OP_UNUSED_79FF:
- case OP_UNUSED_7AFF:
- case OP_UNUSED_7BFF:
- case OP_UNUSED_7CFF:
- case OP_UNUSED_7DFF:
- case OP_UNUSED_7EFF:
- case OP_UNUSED_7FFF:
- case OP_UNUSED_80FF:
- case OP_UNUSED_81FF:
- case OP_UNUSED_82FF:
- case OP_UNUSED_83FF:
- case OP_UNUSED_84FF:
- case OP_UNUSED_85FF:
- case OP_UNUSED_86FF:
- case OP_UNUSED_87FF:
- case OP_UNUSED_88FF:
- case OP_UNUSED_89FF:
- case OP_UNUSED_8AFF:
- case OP_UNUSED_8BFF:
- case OP_UNUSED_8CFF:
- case OP_UNUSED_8DFF:
- case OP_UNUSED_8EFF:
- case OP_UNUSED_8FFF:
- case OP_UNUSED_90FF:
- case OP_UNUSED_91FF:
- case OP_UNUSED_92FF:
- case OP_UNUSED_93FF:
- case OP_UNUSED_94FF:
- case OP_UNUSED_95FF:
- case OP_UNUSED_96FF:
- case OP_UNUSED_97FF:
- case OP_UNUSED_98FF:
- case OP_UNUSED_99FF:
- case OP_UNUSED_9AFF:
- case OP_UNUSED_9BFF:
- case OP_UNUSED_9CFF:
- case OP_UNUSED_9DFF:
- case OP_UNUSED_9EFF:
- case OP_UNUSED_9FFF:
- case OP_UNUSED_A0FF:
- case OP_UNUSED_A1FF:
- case OP_UNUSED_A2FF:
- case OP_UNUSED_A3FF:
- case OP_UNUSED_A4FF:
- case OP_UNUSED_A5FF:
- case OP_UNUSED_A6FF:
- case OP_UNUSED_A7FF:
- case OP_UNUSED_A8FF:
- case OP_UNUSED_A9FF:
- case OP_UNUSED_AAFF:
- case OP_UNUSED_ABFF:
- case OP_UNUSED_ACFF:
- case OP_UNUSED_ADFF:
- case OP_UNUSED_AEFF:
- case OP_UNUSED_AFFF:
- case OP_UNUSED_B0FF:
- case OP_UNUSED_B1FF:
- case OP_UNUSED_B2FF:
- case OP_UNUSED_B3FF:
- case OP_UNUSED_B4FF:
- case OP_UNUSED_B5FF:
- case OP_UNUSED_B6FF:
- case OP_UNUSED_B7FF:
- case OP_UNUSED_B8FF:
- case OP_UNUSED_B9FF:
- case OP_UNUSED_BAFF:
- case OP_UNUSED_BBFF:
- case OP_UNUSED_BCFF:
- case OP_UNUSED_BDFF:
- case OP_UNUSED_BEFF:
- case OP_UNUSED_BFFF:
- case OP_UNUSED_C0FF:
- case OP_UNUSED_C1FF:
- case OP_UNUSED_C2FF:
- case OP_UNUSED_C3FF:
- case OP_UNUSED_C4FF:
- case OP_UNUSED_C5FF:
- case OP_UNUSED_C6FF:
- case OP_UNUSED_C7FF:
- case OP_UNUSED_C8FF:
- case OP_UNUSED_C9FF:
- case OP_UNUSED_CAFF:
- case OP_UNUSED_CBFF:
- case OP_UNUSED_CCFF:
- case OP_UNUSED_CDFF:
- case OP_UNUSED_CEFF:
- case OP_UNUSED_CFFF:
- case OP_UNUSED_D0FF:
- case OP_UNUSED_D1FF:
- case OP_UNUSED_D2FF:
- case OP_UNUSED_D3FF:
- case OP_UNUSED_D4FF:
- case OP_UNUSED_D5FF:
- case OP_UNUSED_D6FF:
- case OP_UNUSED_D7FF:
- case OP_UNUSED_D8FF:
- case OP_UNUSED_D9FF:
- case OP_UNUSED_DAFF:
- case OP_UNUSED_DBFF:
- case OP_UNUSED_DCFF:
- case OP_UNUSED_DDFF:
- case OP_UNUSED_DEFF:
- case OP_UNUSED_DFFF:
- case OP_UNUSED_E0FF:
- case OP_UNUSED_E1FF:
- case OP_UNUSED_E2FF:
- case OP_UNUSED_E3FF:
- case OP_UNUSED_E4FF:
- case OP_UNUSED_E5FF:
- case OP_UNUSED_E6FF:
- case OP_UNUSED_E7FF:
- case OP_UNUSED_E8FF:
- case OP_UNUSED_E9FF:
- case OP_UNUSED_EAFF:
- case OP_UNUSED_EBFF:
- case OP_UNUSED_ECFF:
- case OP_UNUSED_EDFF:
- case OP_UNUSED_EEFF:
- case OP_UNUSED_EFFF:
- case OP_UNUSED_F0FF:
- case OP_UNUSED_F1FF:
+ case OP_UNUSED_FF:
LOGE("VFY: unexpected opcode %04x", decInsn.opcode);
okay = false;
break;
diff --git a/vm/analysis/Liveness.cpp b/vm/analysis/Liveness.cpp
index fe9fdd870..16d052294 100644
--- a/vm/analysis/Liveness.cpp
+++ b/vm/analysis/Liveness.cpp
@@ -344,7 +344,6 @@ static bool processInstruction(VerifierData* vdata, u4 insnIdx,
case OP_MONITOR_ENTER:
case OP_MONITOR_EXIT:
case OP_CHECK_CAST:
- case OP_CHECK_CAST_JUMBO:
case OP_THROW:
case OP_PACKED_SWITCH:
case OP_SPARSE_SWITCH:
@@ -356,24 +355,17 @@ static bool processInstruction(VerifierData* vdata, u4 insnIdx,
case OP_IF_GTZ:
case OP_IF_LEZ:
case OP_SPUT:
- case OP_SPUT_JUMBO:
case OP_SPUT_BOOLEAN:
- case OP_SPUT_BOOLEAN_JUMBO:
case OP_SPUT_BYTE:
- case OP_SPUT_BYTE_JUMBO:
case OP_SPUT_CHAR:
- case OP_SPUT_CHAR_JUMBO:
case OP_SPUT_SHORT:
- case OP_SPUT_SHORT_JUMBO:
case OP_SPUT_OBJECT:
- case OP_SPUT_OBJECT_JUMBO:
/* action <- vA */
GEN(workBits, decInsn.vA);
break;
case OP_RETURN_WIDE:
case OP_SPUT_WIDE:
- case OP_SPUT_WIDE_JUMBO:
/* action <- vA(wide) */
GENW(workBits, decInsn.vA);
break;
@@ -385,24 +377,17 @@ static bool processInstruction(VerifierData* vdata, u4 insnIdx,
case OP_IF_GT:
case OP_IF_LE:
case OP_IPUT:
- case OP_IPUT_JUMBO:
case OP_IPUT_BOOLEAN:
- case OP_IPUT_BOOLEAN_JUMBO:
case OP_IPUT_BYTE:
- case OP_IPUT_BYTE_JUMBO:
case OP_IPUT_CHAR:
- case OP_IPUT_CHAR_JUMBO:
case OP_IPUT_SHORT:
- case OP_IPUT_SHORT_JUMBO:
case OP_IPUT_OBJECT:
- case OP_IPUT_OBJECT_JUMBO:
/* action <- vA, vB */
GEN(workBits, decInsn.vA);
GEN(workBits, decInsn.vB);
break;
case OP_IPUT_WIDE:
- case OP_IPUT_WIDE_JUMBO:
/* action <- vA(wide), vB */
GENW(workBits, decInsn.vA);
GEN(workBits, decInsn.vB);
@@ -443,17 +428,11 @@ static bool processInstruction(VerifierData* vdata, u4 insnIdx,
break;
case OP_FILLED_NEW_ARRAY_RANGE:
- case OP_FILLED_NEW_ARRAY_JUMBO:
case OP_INVOKE_VIRTUAL_RANGE:
- case OP_INVOKE_VIRTUAL_JUMBO:
case OP_INVOKE_SUPER_RANGE:
- case OP_INVOKE_SUPER_JUMBO:
case OP_INVOKE_DIRECT_RANGE:
- case OP_INVOKE_DIRECT_JUMBO:
case OP_INVOKE_STATIC_RANGE:
- case OP_INVOKE_STATIC_JUMBO:
case OP_INVOKE_INTERFACE_RANGE:
- case OP_INVOKE_INTERFACE_JUMBO:
/* action <- vararg/range */
{
unsigned int idx;
@@ -474,21 +453,13 @@ static bool processInstruction(VerifierData* vdata, u4 insnIdx,
case OP_CONST_STRING:
case OP_CONST_STRING_JUMBO:
case OP_CONST_CLASS:
- case OP_CONST_CLASS_JUMBO:
case OP_NEW_INSTANCE:
- case OP_NEW_INSTANCE_JUMBO:
case OP_SGET:
- case OP_SGET_JUMBO:
case OP_SGET_BOOLEAN:
- case OP_SGET_BOOLEAN_JUMBO:
case OP_SGET_BYTE:
- case OP_SGET_BYTE_JUMBO:
case OP_SGET_CHAR:
- case OP_SGET_CHAR_JUMBO:
case OP_SGET_SHORT:
- case OP_SGET_SHORT_JUMBO:
case OP_SGET_OBJECT:
- case OP_SGET_OBJECT_JUMBO:
/* vA <- value */
KILL(workBits, decInsn.vA);
break;
@@ -498,7 +469,6 @@ static bool processInstruction(VerifierData* vdata, u4 insnIdx,
case OP_CONST_WIDE:
case OP_CONST_WIDE_HIGH16:
case OP_SGET_WIDE:
- case OP_SGET_WIDE_JUMBO:
/* vA(wide) <- value */
KILLW(workBits, decInsn.vA);
break;
@@ -510,22 +480,14 @@ static bool processInstruction(VerifierData* vdata, u4 insnIdx,
case OP_MOVE_OBJECT_FROM16:
case OP_MOVE_OBJECT_16:
case OP_INSTANCE_OF:
- case OP_INSTANCE_OF_JUMBO:
case OP_ARRAY_LENGTH:
case OP_NEW_ARRAY:
- case OP_NEW_ARRAY_JUMBO:
case OP_IGET:
- case OP_IGET_JUMBO:
case OP_IGET_BOOLEAN:
- case OP_IGET_BOOLEAN_JUMBO:
case OP_IGET_BYTE:
- case OP_IGET_BYTE_JUMBO:
case OP_IGET_CHAR:
- case OP_IGET_CHAR_JUMBO:
case OP_IGET_SHORT:
- case OP_IGET_SHORT_JUMBO:
case OP_IGET_OBJECT:
- case OP_IGET_OBJECT_JUMBO:
case OP_NEG_INT:
case OP_NOT_INT:
case OP_NEG_FLOAT:
@@ -559,7 +521,6 @@ static bool processInstruction(VerifierData* vdata, u4 insnIdx,
break;
case OP_IGET_WIDE:
- case OP_IGET_WIDE_JUMBO:
case OP_INT_TO_LONG:
case OP_INT_TO_DOUBLE:
case OP_FLOAT_TO_LONG:
@@ -717,7 +678,6 @@ static bool processInstruction(VerifierData* vdata, u4 insnIdx,
/* we will only see this if liveness analysis is done after general vfy */
case OP_THROW_VERIFICATION_ERROR:
- case OP_THROW_VERIFICATION_ERROR_JUMBO:
/* no registers used */
break;
@@ -738,32 +698,19 @@ static bool processInstruction(VerifierData* vdata, u4 insnIdx,
/* correctness fixes, not expected to appear */
case OP_INVOKE_OBJECT_INIT_RANGE:
- case OP_INVOKE_OBJECT_INIT_JUMBO:
case OP_RETURN_VOID_BARRIER:
case OP_SPUT_VOLATILE:
- case OP_SPUT_VOLATILE_JUMBO:
case OP_SPUT_OBJECT_VOLATILE:
- case OP_SPUT_OBJECT_VOLATILE_JUMBO:
case OP_SPUT_WIDE_VOLATILE:
- case OP_SPUT_WIDE_VOLATILE_JUMBO:
case OP_IPUT_VOLATILE:
- case OP_IPUT_VOLATILE_JUMBO:
case OP_IPUT_OBJECT_VOLATILE:
- case OP_IPUT_OBJECT_VOLATILE_JUMBO:
case OP_IPUT_WIDE_VOLATILE:
- case OP_IPUT_WIDE_VOLATILE_JUMBO:
case OP_SGET_VOLATILE:
- case OP_SGET_VOLATILE_JUMBO:
case OP_SGET_OBJECT_VOLATILE:
- case OP_SGET_OBJECT_VOLATILE_JUMBO:
case OP_SGET_WIDE_VOLATILE:
- case OP_SGET_WIDE_VOLATILE_JUMBO:
case OP_IGET_VOLATILE:
- case OP_IGET_VOLATILE_JUMBO:
case OP_IGET_OBJECT_VOLATILE:
- case OP_IGET_OBJECT_VOLATILE_JUMBO:
case OP_IGET_WIDE_VOLATILE:
- case OP_IGET_WIDE_VOLATILE_JUMBO:
/* fall through to failure */
/* these should never appear during verification */
@@ -777,210 +724,7 @@ static bool processInstruction(VerifierData* vdata, u4 insnIdx,
case OP_UNUSED_79:
case OP_UNUSED_7A:
case OP_BREAKPOINT:
- case OP_DISPATCH_FF:
- case OP_UNUSED_27FF:
- case OP_UNUSED_28FF:
- case OP_UNUSED_29FF:
- case OP_UNUSED_2AFF:
- case OP_UNUSED_2BFF:
- case OP_UNUSED_2CFF:
- case OP_UNUSED_2DFF:
- case OP_UNUSED_2EFF:
- case OP_UNUSED_2FFF:
- case OP_UNUSED_30FF:
- case OP_UNUSED_31FF:
- case OP_UNUSED_32FF:
- case OP_UNUSED_33FF:
- case OP_UNUSED_34FF:
- case OP_UNUSED_35FF:
- case OP_UNUSED_36FF:
- case OP_UNUSED_37FF:
- case OP_UNUSED_38FF:
- case OP_UNUSED_39FF:
- case OP_UNUSED_3AFF:
- case OP_UNUSED_3BFF:
- case OP_UNUSED_3CFF:
- case OP_UNUSED_3DFF:
- case OP_UNUSED_3EFF:
- case OP_UNUSED_3FFF:
- case OP_UNUSED_40FF:
- case OP_UNUSED_41FF:
- case OP_UNUSED_42FF:
- case OP_UNUSED_43FF:
- case OP_UNUSED_44FF:
- case OP_UNUSED_45FF:
- case OP_UNUSED_46FF:
- case OP_UNUSED_47FF:
- case OP_UNUSED_48FF:
- case OP_UNUSED_49FF:
- case OP_UNUSED_4AFF:
- case OP_UNUSED_4BFF:
- case OP_UNUSED_4CFF:
- case OP_UNUSED_4DFF:
- case OP_UNUSED_4EFF:
- case OP_UNUSED_4FFF:
- case OP_UNUSED_50FF:
- case OP_UNUSED_51FF:
- case OP_UNUSED_52FF:
- case OP_UNUSED_53FF:
- case OP_UNUSED_54FF:
- case OP_UNUSED_55FF:
- case OP_UNUSED_56FF:
- case OP_UNUSED_57FF:
- case OP_UNUSED_58FF:
- case OP_UNUSED_59FF:
- case OP_UNUSED_5AFF:
- case OP_UNUSED_5BFF:
- case OP_UNUSED_5CFF:
- case OP_UNUSED_5DFF:
- case OP_UNUSED_5EFF:
- case OP_UNUSED_5FFF:
- case OP_UNUSED_60FF:
- case OP_UNUSED_61FF:
- case OP_UNUSED_62FF:
- case OP_UNUSED_63FF:
- case OP_UNUSED_64FF:
- case OP_UNUSED_65FF:
- case OP_UNUSED_66FF:
- case OP_UNUSED_67FF:
- case OP_UNUSED_68FF:
- case OP_UNUSED_69FF:
- case OP_UNUSED_6AFF:
- case OP_UNUSED_6BFF:
- case OP_UNUSED_6CFF:
- case OP_UNUSED_6DFF:
- case OP_UNUSED_6EFF:
- case OP_UNUSED_6FFF:
- case OP_UNUSED_70FF:
- case OP_UNUSED_71FF:
- case OP_UNUSED_72FF:
- case OP_UNUSED_73FF:
- case OP_UNUSED_74FF:
- case OP_UNUSED_75FF:
- case OP_UNUSED_76FF:
- case OP_UNUSED_77FF:
- case OP_UNUSED_78FF:
- case OP_UNUSED_79FF:
- case OP_UNUSED_7AFF:
- case OP_UNUSED_7BFF:
- case OP_UNUSED_7CFF:
- case OP_UNUSED_7DFF:
- case OP_UNUSED_7EFF:
- case OP_UNUSED_7FFF:
- case OP_UNUSED_80FF:
- case OP_UNUSED_81FF:
- case OP_UNUSED_82FF:
- case OP_UNUSED_83FF:
- case OP_UNUSED_84FF:
- case OP_UNUSED_85FF:
- case OP_UNUSED_86FF:
- case OP_UNUSED_87FF:
- case OP_UNUSED_88FF:
- case OP_UNUSED_89FF:
- case OP_UNUSED_8AFF:
- case OP_UNUSED_8BFF:
- case OP_UNUSED_8CFF:
- case OP_UNUSED_8DFF:
- case OP_UNUSED_8EFF:
- case OP_UNUSED_8FFF:
- case OP_UNUSED_90FF:
- case OP_UNUSED_91FF:
- case OP_UNUSED_92FF:
- case OP_UNUSED_93FF:
- case OP_UNUSED_94FF:
- case OP_UNUSED_95FF:
- case OP_UNUSED_96FF:
- case OP_UNUSED_97FF:
- case OP_UNUSED_98FF:
- case OP_UNUSED_99FF:
- case OP_UNUSED_9AFF:
- case OP_UNUSED_9BFF:
- case OP_UNUSED_9CFF:
- case OP_UNUSED_9DFF:
- case OP_UNUSED_9EFF:
- case OP_UNUSED_9FFF:
- case OP_UNUSED_A0FF:
- case OP_UNUSED_A1FF:
- case OP_UNUSED_A2FF:
- case OP_UNUSED_A3FF:
- case OP_UNUSED_A4FF:
- case OP_UNUSED_A5FF:
- case OP_UNUSED_A6FF:
- case OP_UNUSED_A7FF:
- case OP_UNUSED_A8FF:
- case OP_UNUSED_A9FF:
- case OP_UNUSED_AAFF:
- case OP_UNUSED_ABFF:
- case OP_UNUSED_ACFF:
- case OP_UNUSED_ADFF:
- case OP_UNUSED_AEFF:
- case OP_UNUSED_AFFF:
- case OP_UNUSED_B0FF:
- case OP_UNUSED_B1FF:
- case OP_UNUSED_B2FF:
- case OP_UNUSED_B3FF:
- case OP_UNUSED_B4FF:
- case OP_UNUSED_B5FF:
- case OP_UNUSED_B6FF:
- case OP_UNUSED_B7FF:
- case OP_UNUSED_B8FF:
- case OP_UNUSED_B9FF:
- case OP_UNUSED_BAFF:
- case OP_UNUSED_BBFF:
- case OP_UNUSED_BCFF:
- case OP_UNUSED_BDFF:
- case OP_UNUSED_BEFF:
- case OP_UNUSED_BFFF:
- case OP_UNUSED_C0FF:
- case OP_UNUSED_C1FF:
- case OP_UNUSED_C2FF:
- case OP_UNUSED_C3FF:
- case OP_UNUSED_C4FF:
- case OP_UNUSED_C5FF:
- case OP_UNUSED_C6FF:
- case OP_UNUSED_C7FF:
- case OP_UNUSED_C8FF:
- case OP_UNUSED_C9FF:
- case OP_UNUSED_CAFF:
- case OP_UNUSED_CBFF:
- case OP_UNUSED_CCFF:
- case OP_UNUSED_CDFF:
- case OP_UNUSED_CEFF:
- case OP_UNUSED_CFFF:
- case OP_UNUSED_D0FF:
- case OP_UNUSED_D1FF:
- case OP_UNUSED_D2FF:
- case OP_UNUSED_D3FF:
- case OP_UNUSED_D4FF:
- case OP_UNUSED_D5FF:
- case OP_UNUSED_D6FF:
- case OP_UNUSED_D7FF:
- case OP_UNUSED_D8FF:
- case OP_UNUSED_D9FF:
- case OP_UNUSED_DAFF:
- case OP_UNUSED_DBFF:
- case OP_UNUSED_DCFF:
- case OP_UNUSED_DDFF:
- case OP_UNUSED_DEFF:
- case OP_UNUSED_DFFF:
- case OP_UNUSED_E0FF:
- case OP_UNUSED_E1FF:
- case OP_UNUSED_E2FF:
- case OP_UNUSED_E3FF:
- case OP_UNUSED_E4FF:
- case OP_UNUSED_E5FF:
- case OP_UNUSED_E6FF:
- case OP_UNUSED_E7FF:
- case OP_UNUSED_E8FF:
- case OP_UNUSED_E9FF:
- case OP_UNUSED_EAFF:
- case OP_UNUSED_EBFF:
- case OP_UNUSED_ECFF:
- case OP_UNUSED_EDFF:
- case OP_UNUSED_EEFF:
- case OP_UNUSED_EFFF:
- case OP_UNUSED_F0FF:
- case OP_UNUSED_F1FF:
+ case OP_UNUSED_FF:
return false;
}
diff --git a/vm/analysis/Optimize.cpp b/vm/analysis/Optimize.cpp
index ed23d8f21..2b09c1c43 100644
--- a/vm/analysis/Optimize.cpp
+++ b/vm/analysis/Optimize.cpp
@@ -40,14 +40,9 @@ struct InlineSub {
static void optimizeMethod(Method* method, bool essentialOnly);
static void rewriteInstField(Method* method, u2* insns, Opcode quickOpc,
Opcode volatileOpc);
-static void rewriteJumboInstField(Method* method, u2* insns,
- Opcode volatileOpc);
static void rewriteStaticField(Method* method, u2* insns, Opcode volatileOpc);
-static void rewriteJumboStaticField(Method* method, u2* insns,
- Opcode volatileOpc);
static void rewriteVirtualInvoke(Method* method, u2* insns, Opcode newOpc);
static bool rewriteInvokeObjectInit(Method* method, u2* insns);
-static bool rewriteJumboInvokeObjectInit(Method* method, u2* insns);
static bool rewriteExecuteInline(Method* method, u2* insns,
MethodType methodType);
static bool rewriteExecuteInlineRange(Method* method, u2* insns,
@@ -190,11 +185,11 @@ static void optimizeMethod(Method* method, bool essentialOnly)
/*
* essential substitutions:
- * {iget,iput,sget,sput}-wide[/jumbo] --> {op}-wide-volatile
- * invoke-direct[/jumbo][/range] --> invoke-object-init/range
+ * {iget,iput,sget,sput}-wide --> {op}-wide-volatile
+ * invoke-direct[/range] --> invoke-object-init/range
*
* essential-on-SMP substitutions:
- * {iget,iput,sget,sput}-*[/jumbo] --> {op}-volatile
+ * {iget,iput,sget,sput}-* --> {op}-volatile
* return-void --> return-void-barrier
*
* non-essential substitutions:
@@ -246,41 +241,6 @@ rewrite_inst_field:
rewriteInstField(method, insns, quickOpc, volatileOpc);
break;
- case OP_IGET_JUMBO:
- case OP_IGET_BOOLEAN_JUMBO:
- case OP_IGET_BYTE_JUMBO:
- case OP_IGET_CHAR_JUMBO:
- case OP_IGET_SHORT_JUMBO:
- if (forSmp)
- volatileOpc = OP_IGET_VOLATILE_JUMBO;
- goto rewrite_jumbo_inst_field;
- case OP_IGET_WIDE_JUMBO:
- volatileOpc = OP_IGET_WIDE_VOLATILE_JUMBO;
- goto rewrite_jumbo_inst_field;
- case OP_IGET_OBJECT_JUMBO:
- if (forSmp)
- volatileOpc = OP_IGET_OBJECT_VOLATILE_JUMBO;
- goto rewrite_jumbo_inst_field;
- case OP_IPUT_JUMBO:
- case OP_IPUT_BOOLEAN_JUMBO:
- case OP_IPUT_BYTE_JUMBO:
- case OP_IPUT_CHAR_JUMBO:
- case OP_IPUT_SHORT_JUMBO:
- if (forSmp)
- volatileOpc = OP_IPUT_VOLATILE_JUMBO;
- goto rewrite_jumbo_inst_field;
- case OP_IPUT_WIDE_JUMBO:
- volatileOpc = OP_IPUT_WIDE_VOLATILE_JUMBO;
- goto rewrite_jumbo_inst_field;
- case OP_IPUT_OBJECT_JUMBO:
- if (forSmp)
- volatileOpc = OP_IPUT_OBJECT_VOLATILE_JUMBO;
- /* fall through */
-rewrite_jumbo_inst_field:
- if (volatileOpc != OP_NOP)
- rewriteJumboInstField(method, insns, volatileOpc);
- break;
-
case OP_SGET:
case OP_SGET_BOOLEAN:
case OP_SGET_BYTE:
@@ -316,41 +276,6 @@ rewrite_static_field:
rewriteStaticField(method, insns, volatileOpc);
break;
- case OP_SGET_JUMBO:
- case OP_SGET_BOOLEAN_JUMBO:
- case OP_SGET_BYTE_JUMBO:
- case OP_SGET_CHAR_JUMBO:
- case OP_SGET_SHORT_JUMBO:
- if (forSmp)
- volatileOpc = OP_SGET_VOLATILE_JUMBO;
- goto rewrite_jumbo_static_field;
- case OP_SGET_WIDE_JUMBO:
- volatileOpc = OP_SGET_WIDE_VOLATILE_JUMBO;
- goto rewrite_jumbo_static_field;
- case OP_SGET_OBJECT_JUMBO:
- if (forSmp)
- volatileOpc = OP_SGET_OBJECT_VOLATILE_JUMBO;
- goto rewrite_jumbo_static_field;
- case OP_SPUT_JUMBO:
- case OP_SPUT_BOOLEAN_JUMBO:
- case OP_SPUT_BYTE_JUMBO:
- case OP_SPUT_CHAR_JUMBO:
- case OP_SPUT_SHORT_JUMBO:
- if (forSmp)
- volatileOpc = OP_SPUT_VOLATILE_JUMBO;
- goto rewrite_jumbo_static_field;
- case OP_SPUT_WIDE_JUMBO:
- volatileOpc = OP_SPUT_WIDE_VOLATILE_JUMBO;
- goto rewrite_jumbo_static_field;
- case OP_SPUT_OBJECT_JUMBO:
- if (forSmp)
- volatileOpc = OP_SPUT_OBJECT_VOLATILE_JUMBO;
- /* fall through */
-rewrite_jumbo_static_field:
- if (volatileOpc != OP_NOP)
- rewriteJumboStaticField(method, insns, volatileOpc);
- break;
-
case OP_INVOKE_DIRECT:
case OP_INVOKE_DIRECT_RANGE:
if (!rewriteInvokeObjectInit(method, insns)) {
@@ -358,9 +283,6 @@ rewrite_jumbo_static_field:
matched = false;
}
break;
- case OP_INVOKE_DIRECT_JUMBO:
- rewriteJumboInvokeObjectInit(method, insns);
- break;
case OP_RETURN_VOID:
if (needRetBar)
rewriteReturnVoid(method, insns);
@@ -787,40 +709,7 @@ static void rewriteInstField(Method* method, u2* insns, Opcode quickOpc,
}
/*
- * Rewrite a jumbo instance field access instruction if appropriate. If
- * the target field is volatile, we replace the opcode with "volatileOpc".
- *
- * "method" is the referring method.
- */
-static void rewriteJumboInstField(Method* method, u2* insns, Opcode volatileOpc)
-{
- ClassObject* clazz = method->clazz;
- u4 fieldIdx = insns[1] | (u4) insns[2] << 16;
- InstField* instField;
-
- assert(volatileOpc != OP_NOP);
-
- instField = dvmOptResolveInstField(clazz, fieldIdx, NULL);
- if (instField == NULL) {
- LOGI("DexOpt: unable to optimize instance field ref "
- "0x%04x at 0x%02x in %s.%s",
- fieldIdx, (int) (insns - method->insns), clazz->descriptor,
- method->name);
- return;
- }
-
- if (dvmIsVolatileField(instField)) {
- updateOpcode(method, insns, volatileOpc);
- ALOGV("DexOpt: rewrote jumbo ifield access %s.%s --> volatile",
- instField->clazz->descriptor, instField->name);
- } else {
- ALOGV("DexOpt: no rewrite of jumbo ifield access %s.%s",
- instField->clazz->descriptor, instField->name);
- }
-}
-
-/*
- * Rewrite a static [jumbo] field access instruction if appropriate. If
+ * Rewrite a static field access instruction if appropriate. If
* the target field is volatile, we replace the opcode with "volatileOpc".
*
* "method" is the referring method.
@@ -854,13 +743,6 @@ static void rewriteStaticField(Method* method, u2* insns, Opcode volatileOpc)
u2 fieldIdx = insns[1];
rewriteStaticField0(method, insns, volatileOpc, fieldIdx);
}
-static void rewriteJumboStaticField(Method* method, u2* insns,
- Opcode volatileOpc)
-{
- u4 fieldIdx = insns[1] | (u4) insns[2] << 16;
- rewriteStaticField0(method, insns, volatileOpc, fieldIdx);
-}
-
/*
* Alternate version of dvmResolveMethod().
@@ -1091,36 +973,6 @@ static bool rewriteInvokeObjectInit(Method* method, u2* insns)
}
/*
- * Rewrite invoke-direct/jumbo if the target is Object.<init>.
- */
-static bool rewriteJumboInvokeObjectInit(Method* method, u2* insns)
-{
- ClassObject* clazz = method->clazz;
- Method* calledMethod;
- u4 methodIdx = insns[1] | (u4) insns[2] << 16;
-
- calledMethod = dvmOptResolveMethod(clazz, methodIdx, METHOD_DIRECT, NULL);
- if (calledMethod == NULL) {
- ALOGD("DexOpt: unable to opt direct call 0x%04x at 0x%02x in %s.%s",
- methodIdx, (int) (insns - method->insns),
- clazz->descriptor, method->name);
- return false;
- }
-
- if (calledMethod->clazz == gDvm.classJavaLangObject &&
- dvmCompareNameDescriptorAndMethod("<init>", "()V", calledMethod) == 0)
- {
- assert(insns[0] == ((u2) (OP_INVOKE_DIRECT_JUMBO << 8) | 0xff));
- updateOpcode(method, insns, OP_INVOKE_OBJECT_INIT_JUMBO);
-
- LOGVV("DexOpt: replaced jumbo Object.<init> in %s.%s",
- method->clazz->descriptor, method->name);
- }
-
- return true;
-}
-
-/*
* Resolve an interface method reference.
*
* No method access check here -- interface methods are always public.
diff --git a/vm/compiler/Dataflow.cpp b/vm/compiler/Dataflow.cpp
index 7f164cb84..e4d0e41fa 100644
--- a/vm/compiler/Dataflow.cpp
+++ b/vm/compiler/Dataflow.cpp
@@ -795,779 +795,11 @@ int dvmCompilerDataFlowAttributes[kMirOpLast] = {
// FE OP_SPUT_OBJECT_VOLATILE
DF_UA,
- // FF OP_DISPATCH_FF
- DF_NOP,
-
- // 100 OP_CONST_CLASS_JUMBO vAAAA, type@BBBBBBBB
- DF_DA,
-
- // 101 OP_CHECK_CAST_JUMBO vAAAA, type@BBBBBBBB
- DF_UA,
-
- // 102 OP_INSTANCE_OF_JUMBO vAAAA, vBBBB, type@CCCCCCCC
- DF_DA | DF_UB,
-
- // 103 OP_NEW_INSTANCE_JUMBO vAAAA, type@BBBBBBBB
- DF_DA,
-
- // 104 OP_NEW_ARRAY_JUMBO vAAAA, vBBBB, type@CCCCCCCC
- DF_DA | DF_UB,
-
- // 105 OP_FILLED_NEW_ARRAY_JUMBO {vCCCC .. vNNNN}, type@BBBBBBBB
- DF_FORMAT_3RC,
-
- // 106 OP_IGET_JUMBO vAAAA, vBBBB, field@CCCCCCCC
- DF_DA | DF_UB | DF_IS_GETTER,
-
- // 107 OP_IGET_WIDE_JUMBO vAAAA, vBBBB, field@CCCCCCCC
- DF_DA_WIDE | DF_UB | DF_IS_GETTER,
-
- // 108 OP_IGET_OBJECT_JUMBO vAAAA, vBBBB, field@CCCCCCCC
- DF_DA | DF_UB | DF_IS_GETTER,
-
- // 109 OP_IGET_BOOLEAN_JUMBO vAAAA, vBBBB, field@CCCCCCCC
- DF_DA | DF_UB | DF_IS_GETTER,
-
- // 10A OP_IGET_BYTE_JUMBO vAAAA, vBBBB, field@CCCCCCCC
- DF_DA | DF_UB | DF_IS_GETTER,
-
- // 10B OP_IGET_CHAR_JUMBO vAAAA, vBBBB, field@CCCCCCCC
- DF_DA | DF_UB | DF_IS_GETTER,
-
- // 10C OP_IGET_SHORT_JUMBO vAAAA, vBBBB, field@CCCCCCCC
- DF_DA | DF_UB | DF_IS_GETTER,
-
- // 10D OP_IPUT_JUMBO vAAAA, vBBBB, field@CCCCCCCC
- DF_UA | DF_UB | DF_IS_SETTER,
-
- // 10E OP_IPUT_WIDE_JUMBO vAAAA, vBBBB, field@CCCCCCCC
- DF_UA_WIDE | DF_UB | DF_IS_SETTER,
-
- // 10F OP_IPUT_OBJECT_JUMBO vAAAA, vBBBB, field@CCCCCCCC
- DF_UA | DF_UB | DF_IS_SETTER,
-
- // 110 OP_IPUT_BOOLEAN_JUMBO vAAAA, vBBBB, field@CCCCCCCC
- DF_UA | DF_UB | DF_IS_SETTER,
-
- // 111 OP_IPUT_BYTE_JUMBO vAAAA, vBBBB, field@CCCCCCCC
- DF_UA | DF_UB | DF_IS_SETTER,
-
- // 112 OP_IPUT_CHAR_JUMBO vAAAA, vBBBB, field@CCCCCCCC
- DF_UA | DF_UB | DF_IS_SETTER,
-
- // 113 OP_IPUT_SHORT_JUMBO vAAAA, vBBBB, field@CCCCCCCC
- DF_UA | DF_UB | DF_IS_SETTER,
-
- // 114 OP_SGET_JUMBO vAAAA, vBBBB, field@CCCCCCCC
- DF_DA | DF_IS_GETTER,
-
- // 115 OP_SGET_WIDE_JUMBO vAAAA, vBBBB, field@CCCCCCCC
- DF_DA_WIDE | DF_IS_GETTER,
-
- // 116 OP_SGET_OBJECT_JUMBO vAAAA, vBBBB, field@CCCCCCCC
- DF_DA | DF_IS_GETTER,
-
- // 117 OP_SGET_BOOLEAN_JUMBO vAAAA, vBBBB, field@CCCCCCCC
- DF_DA | DF_IS_GETTER,
-
- // 118 OP_SGET_BYTE_JUMBO vAAAA, vBBBB, field@CCCCCCCC
- DF_DA | DF_IS_GETTER,
-
- // 119 OP_SGET_CHAR_JUMBO vAAAA, vBBBB, field@CCCCCCCC
- DF_DA | DF_IS_GETTER,
-
- // 11A OP_SGET_SHORT_JUMBO vAAAA, vBBBB, field@CCCCCCCC
- DF_DA | DF_IS_GETTER,
-
- // 11B OP_SPUT_JUMBO vAAAA, vBBBB, field@CCCCCCCC
- DF_UA | DF_IS_SETTER,
-
- // 11C OP_SPUT_WIDE_JUMBO vAAAA, vBBBB, field@CCCCCCCC
- DF_UA_WIDE | DF_IS_SETTER,
-
- // 11D OP_SPUT_OBJECT_JUMBO vAAAA, vBBBB, field@CCCCCCCC
- DF_UA | DF_IS_SETTER,
-
- // 11E OP_SPUT_BOOLEAN_JUMBO vAAAA, vBBBB, field@CCCCCCCC
- DF_UA | DF_IS_SETTER,
-
- // 11F OP_SPUT_BYTE_JUMBO vAAAA, vBBBB, field@CCCCCCCC
- DF_UA | DF_IS_SETTER,
-
- // 120 OP_SPUT_CHAR_JUMBO vAAAA, vBBBB, field@CCCCCCCC
- DF_UA | DF_IS_SETTER,
-
- // 121 OP_SPUT_SHORT_JUMBO vAAAA, vBBBB, field@CCCCCCCC
- DF_UA | DF_IS_SETTER,
-
- // 122 OP_INVOKE_VIRTUAL_JUMBO {vCCCC .. vNNNN}, meth@BBBBBBBB
- DF_FORMAT_3RC,
-
- // 123 OP_INVOKE_SUPER_JUMBO {vCCCC .. vNNNN}, meth@BBBBBBBB
- DF_FORMAT_3RC,
-
- // 124 OP_INVOKE_DIRECT_JUMBO {vCCCC .. vNNNN}, meth@BBBBBBBB
- DF_FORMAT_3RC,
-
- // 125 OP_INVOKE_STATIC_JUMBO {vCCCC .. vNNNN}, meth@BBBBBBBB
- DF_FORMAT_3RC,
-
- // 126 OP_INVOKE_INTERFACE_JUMBO {vCCCC .. vNNNN}, meth@BBBBBBBB
- DF_FORMAT_3RC,
-
- // 127 OP_UNUSED_27FF
- DF_NOP,
-
- // 128 OP_UNUSED_28FF
- DF_NOP,
-
- // 129 OP_UNUSED_29FF
- DF_NOP,
-
- // 12A OP_UNUSED_2AFF
- DF_NOP,
-
- // 12B OP_UNUSED_2BFF
- DF_NOP,
-
- // 12C OP_UNUSED_2CFF
- DF_NOP,
-
- // 12D OP_UNUSED_2DFF
- DF_NOP,
-
- // 12E OP_UNUSED_2EFF
- DF_NOP,
-
- // 12F OP_UNUSED_2FFF
- DF_NOP,
-
- // 130 OP_UNUSED_30FF
- DF_NOP,
-
- // 131 OP_UNUSED_31FF
- DF_NOP,
-
- // 132 OP_UNUSED_32FF
- DF_NOP,
-
- // 133 OP_UNUSED_33FF
- DF_NOP,
-
- // 134 OP_UNUSED_34FF
- DF_NOP,
-
- // 135 OP_UNUSED_35FF
- DF_NOP,
-
- // 136 OP_UNUSED_36FF
- DF_NOP,
-
- // 137 OP_UNUSED_37FF
- DF_NOP,
-
- // 138 OP_UNUSED_38FF
- DF_NOP,
-
- // 139 OP_UNUSED_39FF
- DF_NOP,
-
- // 13A OP_UNUSED_3AFF
- DF_NOP,
-
- // 13B OP_UNUSED_3BFF
- DF_NOP,
-
- // 13C OP_UNUSED_3CFF
- DF_NOP,
-
- // 13D OP_UNUSED_3DFF
- DF_NOP,
-
- // 13E OP_UNUSED_3EFF
- DF_NOP,
-
- // 13F OP_UNUSED_3FFF
- DF_NOP,
-
- // 140 OP_UNUSED_40FF
- DF_NOP,
-
- // 141 OP_UNUSED_41FF
- DF_NOP,
-
- // 142 OP_UNUSED_42FF
- DF_NOP,
-
- // 143 OP_UNUSED_43FF
- DF_NOP,
-
- // 144 OP_UNUSED_44FF
- DF_NOP,
-
- // 145 OP_UNUSED_45FF
- DF_NOP,
-
- // 146 OP_UNUSED_46FF
- DF_NOP,
-
- // 147 OP_UNUSED_47FF
- DF_NOP,
-
- // 148 OP_UNUSED_48FF
- DF_NOP,
-
- // 149 OP_UNUSED_49FF
- DF_NOP,
-
- // 14A OP_UNUSED_4AFF
- DF_NOP,
-
- // 14B OP_UNUSED_4BFF
- DF_NOP,
-
- // 14C OP_UNUSED_4CFF
- DF_NOP,
-
- // 14D OP_UNUSED_4DFF
- DF_NOP,
-
- // 14E OP_UNUSED_4EFF
- DF_NOP,
-
- // 14F OP_UNUSED_4FFF
- DF_NOP,
-
- // 150 OP_UNUSED_50FF
- DF_NOP,
-
- // 151 OP_UNUSED_51FF
- DF_NOP,
-
- // 152 OP_UNUSED_52FF
- DF_NOP,
-
- // 153 OP_UNUSED_53FF
- DF_NOP,
-
- // 154 OP_UNUSED_54FF
- DF_NOP,
-
- // 155 OP_UNUSED_55FF
- DF_NOP,
-
- // 156 OP_UNUSED_56FF
- DF_NOP,
-
- // 157 OP_UNUSED_57FF
- DF_NOP,
-
- // 158 OP_UNUSED_58FF
- DF_NOP,
-
- // 159 OP_UNUSED_59FF
- DF_NOP,
-
- // 15A OP_UNUSED_5AFF
- DF_NOP,
-
- // 15B OP_UNUSED_5BFF
- DF_NOP,
-
- // 15C OP_UNUSED_5CFF
- DF_NOP,
-
- // 15D OP_UNUSED_5DFF
- DF_NOP,
-
- // 15E OP_UNUSED_5EFF
- DF_NOP,
-
- // 15F OP_UNUSED_5FFF
- DF_NOP,
-
- // 160 OP_UNUSED_60FF
- DF_NOP,
-
- // 161 OP_UNUSED_61FF
- DF_NOP,
-
- // 162 OP_UNUSED_62FF
- DF_NOP,
-
- // 163 OP_UNUSED_63FF
- DF_NOP,
-
- // 164 OP_UNUSED_64FF
- DF_NOP,
-
- // 165 OP_UNUSED_65FF
- DF_NOP,
-
- // 166 OP_UNUSED_66FF
- DF_NOP,
-
- // 167 OP_UNUSED_67FF
- DF_NOP,
-
- // 168 OP_UNUSED_68FF
- DF_NOP,
-
- // 169 OP_UNUSED_69FF
- DF_NOP,
-
- // 16A OP_UNUSED_6AFF
- DF_NOP,
-
- // 16B OP_UNUSED_6BFF
- DF_NOP,
-
- // 16C OP_UNUSED_6CFF
- DF_NOP,
-
- // 16D OP_UNUSED_6DFF
- DF_NOP,
-
- // 16E OP_UNUSED_6EFF
- DF_NOP,
-
- // 16F OP_UNUSED_6FFF
- DF_NOP,
-
- // 170 OP_UNUSED_70FF
- DF_NOP,
-
- // 171 OP_UNUSED_71FF
- DF_NOP,
-
- // 172 OP_UNUSED_72FF
- DF_NOP,
-
- // 173 OP_UNUSED_73FF
- DF_NOP,
-
- // 174 OP_UNUSED_74FF
- DF_NOP,
-
- // 175 OP_UNUSED_75FF
- DF_NOP,
-
- // 176 OP_UNUSED_76FF
- DF_NOP,
-
- // 177 OP_UNUSED_77FF
- DF_NOP,
-
- // 178 OP_UNUSED_78FF
- DF_NOP,
-
- // 179 OP_UNUSED_79FF
- DF_NOP,
-
- // 17A OP_UNUSED_7AFF
- DF_NOP,
-
- // 17B OP_UNUSED_7BFF
- DF_NOP,
-
- // 17C OP_UNUSED_7CFF
- DF_NOP,
-
- // 17D OP_UNUSED_7DFF
- DF_NOP,
-
- // 17E OP_UNUSED_7EFF
- DF_NOP,
-
- // 17F OP_UNUSED_7FFF
- DF_NOP,
-
- // 180 OP_UNUSED_80FF
- DF_NOP,
-
- // 181 OP_UNUSED_81FF
- DF_NOP,
-
- // 182 OP_UNUSED_82FF
- DF_NOP,
-
- // 183 OP_UNUSED_83FF
- DF_NOP,
-
- // 184 OP_UNUSED_84FF
- DF_NOP,
-
- // 185 OP_UNUSED_85FF
- DF_NOP,
-
- // 186 OP_UNUSED_86FF
- DF_NOP,
-
- // 187 OP_UNUSED_87FF
- DF_NOP,
-
- // 188 OP_UNUSED_88FF
- DF_NOP,
-
- // 189 OP_UNUSED_89FF
- DF_NOP,
-
- // 18A OP_UNUSED_8AFF
- DF_NOP,
-
- // 18B OP_UNUSED_8BFF
- DF_NOP,
-
- // 18C OP_UNUSED_8CFF
- DF_NOP,
-
- // 18D OP_UNUSED_8DFF
- DF_NOP,
-
- // 18E OP_UNUSED_8EFF
- DF_NOP,
-
- // 18F OP_UNUSED_8FFF
- DF_NOP,
-
- // 190 OP_UNUSED_90FF
- DF_NOP,
-
- // 191 OP_UNUSED_91FF
- DF_NOP,
-
- // 192 OP_UNUSED_92FF
- DF_NOP,
-
- // 193 OP_UNUSED_93FF
- DF_NOP,
-
- // 194 OP_UNUSED_94FF
- DF_NOP,
-
- // 195 OP_UNUSED_95FF
- DF_NOP,
-
- // 196 OP_UNUSED_96FF
- DF_NOP,
-
- // 197 OP_UNUSED_97FF
- DF_NOP,
-
- // 198 OP_UNUSED_98FF
- DF_NOP,
-
- // 199 OP_UNUSED_99FF
- DF_NOP,
-
- // 19A OP_UNUSED_9AFF
- DF_NOP,
-
- // 19B OP_UNUSED_9BFF
- DF_NOP,
-
- // 19C OP_UNUSED_9CFF
- DF_NOP,
-
- // 19D OP_UNUSED_9DFF
- DF_NOP,
-
- // 19E OP_UNUSED_9EFF
- DF_NOP,
-
- // 19F OP_UNUSED_9FFF
- DF_NOP,
-
- // 1A0 OP_UNUSED_A0FF
- DF_NOP,
-
- // 1A1 OP_UNUSED_A1FF
- DF_NOP,
-
- // 1A2 OP_UNUSED_A2FF
- DF_NOP,
-
- // 1A3 OP_UNUSED_A3FF
- DF_NOP,
-
- // 1A4 OP_UNUSED_A4FF
- DF_NOP,
-
- // 1A5 OP_UNUSED_A5FF
- DF_NOP,
-
- // 1A6 OP_UNUSED_A6FF
- DF_NOP,
-
- // 1A7 OP_UNUSED_A7FF
- DF_NOP,
-
- // 1A8 OP_UNUSED_A8FF
- DF_NOP,
-
- // 1A9 OP_UNUSED_A9FF
- DF_NOP,
-
- // 1AA OP_UNUSED_AAFF
- DF_NOP,
-
- // 1AB OP_UNUSED_ABFF
- DF_NOP,
-
- // 1AC OP_UNUSED_ACFF
- DF_NOP,
-
- // 1AD OP_UNUSED_ADFF
- DF_NOP,
-
- // 1AE OP_UNUSED_AEFF
- DF_NOP,
-
- // 1AF OP_UNUSED_AFFF
- DF_NOP,
-
- // 1B0 OP_UNUSED_B0FF
- DF_NOP,
-
- // 1B1 OP_UNUSED_B1FF
- DF_NOP,
-
- // 1B2 OP_UNUSED_B2FF
- DF_NOP,
-
- // 1B3 OP_UNUSED_B3FF
- DF_NOP,
-
- // 1B4 OP_UNUSED_B4FF
- DF_NOP,
-
- // 1B5 OP_UNUSED_B5FF
- DF_NOP,
-
- // 1B6 OP_UNUSED_B6FF
- DF_NOP,
-
- // 1B7 OP_UNUSED_B7FF
- DF_NOP,
-
- // 1B8 OP_UNUSED_B8FF
- DF_NOP,
-
- // 1B9 OP_UNUSED_B9FF
- DF_NOP,
-
- // 1BA OP_UNUSED_BAFF
- DF_NOP,
-
- // 1BB OP_UNUSED_BBFF
- DF_NOP,
-
- // 1BC OP_UNUSED_BCFF
- DF_NOP,
-
- // 1BD OP_UNUSED_BDFF
- DF_NOP,
-
- // 1BE OP_UNUSED_BEFF
- DF_NOP,
-
- // 1BF OP_UNUSED_BFFF
- DF_NOP,
-
- // 1C0 OP_UNUSED_C0FF
- DF_NOP,
-
- // 1C1 OP_UNUSED_C1FF
- DF_NOP,
-
- // 1C2 OP_UNUSED_C2FF
- DF_NOP,
-
- // 1C3 OP_UNUSED_C3FF
- DF_NOP,
-
- // 1C4 OP_UNUSED_C4FF
- DF_NOP,
-
- // 1C5 OP_UNUSED_C5FF
- DF_NOP,
-
- // 1C6 OP_UNUSED_C6FF
- DF_NOP,
-
- // 1C7 OP_UNUSED_C7FF
- DF_NOP,
-
- // 1C8 OP_UNUSED_C8FF
- DF_NOP,
-
- // 1C9 OP_UNUSED_C9FF
- DF_NOP,
-
- // 1CA OP_UNUSED_CAFF
- DF_NOP,
-
- // 1CB OP_UNUSED_CBFF
- DF_NOP,
-
- // 1CC OP_UNUSED_CCFF
- DF_NOP,
-
- // 1CD OP_UNUSED_CDFF
- DF_NOP,
-
- // 1CE OP_UNUSED_CEFF
- DF_NOP,
-
- // 1CF OP_UNUSED_CFFF
- DF_NOP,
-
- // 1D0 OP_UNUSED_D0FF
- DF_NOP,
-
- // 1D1 OP_UNUSED_D1FF
- DF_NOP,
-
- // 1D2 OP_UNUSED_D2FF
- DF_NOP,
-
- // 1D3 OP_UNUSED_D3FF
- DF_NOP,
-
- // 1D4 OP_UNUSED_D4FF
- DF_NOP,
-
- // 1D5 OP_UNUSED_D5FF
- DF_NOP,
-
- // 1D6 OP_UNUSED_D6FF
- DF_NOP,
-
- // 1D7 OP_UNUSED_D7FF
- DF_NOP,
-
- // 1D8 OP_UNUSED_D8FF
- DF_NOP,
-
- // 1D9 OP_UNUSED_D9FF
- DF_NOP,
-
- // 1DA OP_UNUSED_DAFF
- DF_NOP,
-
- // 1DB OP_UNUSED_DBFF
- DF_NOP,
-
- // 1DC OP_UNUSED_DCFF
- DF_NOP,
-
- // 1DD OP_UNUSED_DDFF
- DF_NOP,
-
- // 1DE OP_UNUSED_DEFF
- DF_NOP,
-
- // 1DF OP_UNUSED_DFFF
- DF_NOP,
-
- // 1E0 OP_UNUSED_E0FF
- DF_NOP,
-
- // 1E1 OP_UNUSED_E1FF
- DF_NOP,
-
- // 1E2 OP_UNUSED_E2FF
- DF_NOP,
-
- // 1E3 OP_UNUSED_E3FF
- DF_NOP,
-
- // 1E4 OP_UNUSED_E4FF
- DF_NOP,
-
- // 1E5 OP_UNUSED_E5FF
- DF_NOP,
-
- // 1E6 OP_UNUSED_E6FF
- DF_NOP,
-
- // 1E7 OP_UNUSED_E7FF
- DF_NOP,
-
- // 1E8 OP_UNUSED_E8FF
- DF_NOP,
-
- // 1E9 OP_UNUSED_E9FF
- DF_NOP,
-
- // 1EA OP_UNUSED_EAFF
- DF_NOP,
-
- // 1EB OP_UNUSED_EBFF
- DF_NOP,
-
- // 1EC OP_UNUSED_ECFF
- DF_NOP,
-
- // 1ED OP_UNUSED_EDFF
- DF_NOP,
-
- // 1EE OP_UNUSED_EEFF
- DF_NOP,
-
- // 1EF OP_UNUSED_EFFF
- DF_NOP,
-
- // 1F0 OP_UNUSED_F0FF
- DF_NOP,
-
- // 1F1 OP_UNUSED_F1FF
- DF_NOP,
-
- // 1F2 OP_INVOKE_OBJECT_INIT_JUMBO
- DF_NOP,
-
- // 1F3 OP_IGET_VOLATILE_JUMBO
- DF_DA | DF_UB,
-
- // 1F4 OP_IGET_WIDE_VOLATILE_JUMBO
- DF_DA_WIDE | DF_UB,
-
- // 1F5 OP_IGET_OBJECT_VOLATILE_JUMBO
- DF_DA | DF_UB,
-
- // 1F6 OP_IPUT_VOLATILE_JUMBO
- DF_UA | DF_UB,
-
- // 1F7 OP_IPUT_WIDE_VOLATILE_JUMBO
- DF_UA_WIDE | DF_UB,
-
- // 1F8 OP_IPUT_OBJECT_VOLATILE_JUMBO
- DF_UA | DF_UB,
-
- // 1F9 OP_SGET_VOLATILE_JUMBO
- DF_DA,
-
- // 1FA OP_SGET_WIDE_VOLATILE_JUMBO
- DF_DA_WIDE,
-
- // 1FB OP_SGET_OBJECT_VOLATILE_JUMBO
- DF_DA,
-
- // 1FC OP_SPUT_VOLATILE_JUMBO
- DF_UA,
-
- // 1FD OP_SPUT_WIDE_VOLATILE_JUMBO
- DF_UA_WIDE,
-
- // 1FE OP_SPUT_OBJECT_VOLATILE_JUMBO
- DF_UA,
-
- // 1FF OP_THROW_VERIFICATION_ERROR_JUMBO
+ // FF OP_UNUSED_FF
DF_NOP,
// Beginning of extended MIR opcodes
- // 200 OP_MIR_PHI
+ // 100 OP_MIR_PHI
DF_PHI | DF_DA,
/*
* For extended MIR inserted at the MIR2LIR stage, it is okay to have
diff --git a/vm/compiler/Frontend.cpp b/vm/compiler/Frontend.cpp
index 735311883..176983e91 100644
--- a/vm/compiler/Frontend.cpp
+++ b/vm/compiler/Frontend.cpp
@@ -76,17 +76,14 @@ static inline bool findBlockBoundary(const Method *caller, MIR *insn,
break;
case OP_INVOKE_VIRTUAL:
case OP_INVOKE_VIRTUAL_RANGE:
- case OP_INVOKE_VIRTUAL_JUMBO:
case OP_INVOKE_INTERFACE:
case OP_INVOKE_INTERFACE_RANGE:
- case OP_INVOKE_INTERFACE_JUMBO:
case OP_INVOKE_VIRTUAL_QUICK:
case OP_INVOKE_VIRTUAL_QUICK_RANGE:
*isInvoke = true;
break;
case OP_INVOKE_SUPER:
- case OP_INVOKE_SUPER_RANGE:
- case OP_INVOKE_SUPER_JUMBO: {
+ case OP_INVOKE_SUPER_RANGE: {
int mIndex = caller->clazz->pDvmDex->
pResMethods[insn->dalvikInsn.vB]->methodIndex;
const Method *calleeMethod =
@@ -100,8 +97,7 @@ static inline bool findBlockBoundary(const Method *caller, MIR *insn,
break;
}
case OP_INVOKE_STATIC:
- case OP_INVOKE_STATIC_RANGE:
- case OP_INVOKE_STATIC_JUMBO: {
+ case OP_INVOKE_STATIC_RANGE: {
const Method *calleeMethod =
caller->clazz->pDvmDex->pResMethods[insn->dalvikInsn.vB];
@@ -125,8 +121,7 @@ static inline bool findBlockBoundary(const Method *caller, MIR *insn,
break;
}
case OP_INVOKE_DIRECT:
- case OP_INVOKE_DIRECT_RANGE:
- case OP_INVOKE_DIRECT_JUMBO: {
+ case OP_INVOKE_DIRECT_RANGE: {
const Method *calleeMethod =
caller->clazz->pDvmDex->pResMethods[insn->dalvikInsn.vB];
if (calleeMethod && !dvmIsNativeMethod(calleeMethod)) {
@@ -428,9 +423,7 @@ bool dvmCompilerCanIncludeThisInstruction(const Method *method,
{
switch (insn->opcode) {
case OP_NEW_INSTANCE:
- case OP_NEW_INSTANCE_JUMBO:
- case OP_CHECK_CAST:
- case OP_CHECK_CAST_JUMBO: {
+ case OP_CHECK_CAST: {
ClassObject *classPtr = (ClassObject *)(void*)
(method->clazz->pDvmDex->pResClasses[insn->vB]);
@@ -441,33 +434,19 @@ bool dvmCompilerCanIncludeThisInstruction(const Method *method,
return true;
}
case OP_SGET:
- case OP_SGET_JUMBO:
case OP_SGET_WIDE:
- case OP_SGET_WIDE_JUMBO:
case OP_SGET_OBJECT:
- case OP_SGET_OBJECT_JUMBO:
case OP_SGET_BOOLEAN:
- case OP_SGET_BOOLEAN_JUMBO:
case OP_SGET_BYTE:
- case OP_SGET_BYTE_JUMBO:
case OP_SGET_CHAR:
- case OP_SGET_CHAR_JUMBO:
case OP_SGET_SHORT:
- case OP_SGET_SHORT_JUMBO:
case OP_SPUT:
- case OP_SPUT_JUMBO:
case OP_SPUT_WIDE:
- case OP_SPUT_WIDE_JUMBO:
case OP_SPUT_OBJECT:
- case OP_SPUT_OBJECT_JUMBO:
case OP_SPUT_BOOLEAN:
- case OP_SPUT_BOOLEAN_JUMBO:
case OP_SPUT_BYTE:
- case OP_SPUT_BYTE_JUMBO:
case OP_SPUT_CHAR:
- case OP_SPUT_CHAR_JUMBO:
- case OP_SPUT_SHORT:
- case OP_SPUT_SHORT_JUMBO: {
+ case OP_SPUT_SHORT: {
void *fieldPtr = (void*)
(method->clazz->pDvmDex->pResFields[insn->vB]);
@@ -477,8 +456,7 @@ bool dvmCompilerCanIncludeThisInstruction(const Method *method,
return true;
}
case OP_INVOKE_SUPER:
- case OP_INVOKE_SUPER_RANGE:
- case OP_INVOKE_SUPER_JUMBO: {
+ case OP_INVOKE_SUPER_RANGE: {
int mIndex = method->clazz->pDvmDex->
pResMethods[insn->vB]->methodIndex;
const Method *calleeMethod = method->clazz->super->vtable[mIndex];
@@ -497,10 +475,8 @@ bool dvmCompilerCanIncludeThisInstruction(const Method *method,
}
case OP_INVOKE_STATIC:
case OP_INVOKE_STATIC_RANGE:
- case OP_INVOKE_STATIC_JUMBO:
case OP_INVOKE_DIRECT:
- case OP_INVOKE_DIRECT_RANGE:
- case OP_INVOKE_DIRECT_JUMBO: {
+ case OP_INVOKE_DIRECT_RANGE: {
const Method *calleeMethod =
method->clazz->pDvmDex->pResMethods[insn->vB];
if (calleeMethod == NULL) {
@@ -508,8 +484,7 @@ bool dvmCompilerCanIncludeThisInstruction(const Method *method,
}
return true;
}
- case OP_CONST_CLASS:
- case OP_CONST_CLASS_JUMBO: {
+ case OP_CONST_CLASS: {
void *classPtr = (void*)
(method->clazz->pDvmDex->pResClasses[insn->vB]);
diff --git a/vm/compiler/codegen/arm/CodegenDriver.cpp b/vm/compiler/codegen/arm/CodegenDriver.cpp
index ef0f0432a..57fd38808 100644
--- a/vm/compiler/codegen/arm/CodegenDriver.cpp
+++ b/vm/compiler/codegen/arm/CodegenDriver.cpp
@@ -1034,9 +1034,6 @@ static void genProcessArgsRange(CompilationUnit *cUnit, MIR *mir,
/*
* Protect the loadMultiple instruction from being reordered with other
* Dalvik stack accesses.
- *
- * This code is also shared by the invoke jumbo instructions, and this
- * does not need to be done if the invoke jumbo has no arguments.
*/
if (numArgs != 0) loadMultiple(cUnit, r4PC, regMask);
@@ -1493,7 +1490,7 @@ static bool handleFmt10x(CompilationUnit *cUnit, MIR *mir)
case OP_UNUSED_73:
case OP_UNUSED_79:
case OP_UNUSED_7A:
- case OP_DISPATCH_FF:
+ case OP_UNUSED_FF:
LOGE("Codegen: got unused opcode %#x",dalvikOpcode);
return true;
case OP_NOP:
@@ -1568,14 +1565,14 @@ static bool handleFmt21h(CompilationUnit *cUnit, MIR *mir)
return false;
}
-static bool handleFmt20bc_Fmt40sc(CompilationUnit *cUnit, MIR *mir)
+static bool handleFmt20bc(CompilationUnit *cUnit, MIR *mir)
{
- /* For OP_THROW_VERIFICATION_ERROR & OP_THROW_VERIFICATION_ERROR_JUMBO */
+ /* For OP_THROW_VERIFICATION_ERROR */
genInterpSingleStep(cUnit, mir);
return false;
}
-static bool handleFmt21c_Fmt31c_Fmt41c(CompilationUnit *cUnit, MIR *mir)
+static bool handleFmt21c_Fmt31c(CompilationUnit *cUnit, MIR *mir)
{
RegLocation rlResult;
RegLocation rlDest;
@@ -1599,8 +1596,7 @@ static bool handleFmt21c_Fmt31c_Fmt41c(CompilationUnit *cUnit, MIR *mir)
storeValue(cUnit, rlDest, rlResult);
break;
}
- case OP_CONST_CLASS:
- case OP_CONST_CLASS_JUMBO: {
+ case OP_CONST_CLASS: {
void *classPtr = (void*)
(cUnit->method->clazz->pDvmDex->pResClasses[mir->dalvikInsn.vB]);
@@ -1618,20 +1614,12 @@ static bool handleFmt21c_Fmt31c_Fmt41c(CompilationUnit *cUnit, MIR *mir)
}
case OP_SGET:
case OP_SGET_VOLATILE:
- case OP_SGET_VOLATILE_JUMBO:
- case OP_SGET_JUMBO:
case OP_SGET_OBJECT:
case OP_SGET_OBJECT_VOLATILE:
- case OP_SGET_OBJECT_VOLATILE_JUMBO:
- case OP_SGET_OBJECT_JUMBO:
case OP_SGET_BOOLEAN:
- case OP_SGET_BOOLEAN_JUMBO:
case OP_SGET_CHAR:
- case OP_SGET_CHAR_JUMBO:
case OP_SGET_BYTE:
- case OP_SGET_BYTE_JUMBO:
- case OP_SGET_SHORT:
- case OP_SGET_SHORT_JUMBO: {
+ case OP_SGET_SHORT: {
int valOffset = OFFSETOF_MEMBER(StaticField, value);
int tReg = dvmCompilerAllocTemp(cUnit);
bool isVolatile;
@@ -1657,9 +1645,7 @@ static bool handleFmt21c_Fmt31c_Fmt41c(CompilationUnit *cUnit, MIR *mir)
#if ANDROID_SMP != 0
Opcode opcode = mir->dalvikInsn.opcode;
isVolatile = (opcode == OP_SGET_VOLATILE) ||
- (opcode == OP_SGET_VOLATILE_JUMBO) ||
- (opcode == OP_SGET_OBJECT_VOLATILE) ||
- (opcode == OP_SGET_OBJECT_VOLATILE_JUMBO);
+ (opcode == OP_SGET_OBJECT_VOLATILE);
assert(isVolatile == dvmIsVolatileField((Field *) fieldPtr));
#else
isVolatile = dvmIsVolatileField((Field *) fieldPtr);
@@ -1679,8 +1665,7 @@ static bool handleFmt21c_Fmt31c_Fmt41c(CompilationUnit *cUnit, MIR *mir)
storeValue(cUnit, rlDest, rlResult);
break;
}
- case OP_SGET_WIDE:
- case OP_SGET_WIDE_JUMBO: {
+ case OP_SGET_WIDE: {
int valOffset = OFFSETOF_MEMBER(StaticField, value);
const Method *method = (mir->OptimizationFlags & MIR_CALLEE) ?
mir->meta.calleeMethod : cUnit->method;
@@ -1707,20 +1692,12 @@ static bool handleFmt21c_Fmt31c_Fmt41c(CompilationUnit *cUnit, MIR *mir)
}
case OP_SPUT:
case OP_SPUT_VOLATILE:
- case OP_SPUT_VOLATILE_JUMBO:
- case OP_SPUT_JUMBO:
case OP_SPUT_OBJECT:
case OP_SPUT_OBJECT_VOLATILE:
- case OP_SPUT_OBJECT_VOLATILE_JUMBO:
- case OP_SPUT_OBJECT_JUMBO:
case OP_SPUT_BOOLEAN:
- case OP_SPUT_BOOLEAN_JUMBO:
case OP_SPUT_CHAR:
- case OP_SPUT_CHAR_JUMBO:
case OP_SPUT_BYTE:
- case OP_SPUT_BYTE_JUMBO:
- case OP_SPUT_SHORT:
- case OP_SPUT_SHORT_JUMBO: {
+ case OP_SPUT_SHORT: {
int valOffset = OFFSETOF_MEMBER(StaticField, value);
int tReg = dvmCompilerAllocTemp(cUnit);
int objHead;
@@ -1740,18 +1717,14 @@ static bool handleFmt21c_Fmt31c_Fmt41c(CompilationUnit *cUnit, MIR *mir)
#if ANDROID_SMP != 0
isVolatile = (opcode == OP_SPUT_VOLATILE) ||
- (opcode == OP_SPUT_VOLATILE_JUMBO) ||
- (opcode == OP_SPUT_OBJECT_VOLATILE) ||
- (opcode == OP_SPUT_OBJECT_VOLATILE_JUMBO);
+ (opcode == OP_SPUT_OBJECT_VOLATILE);
assert(isVolatile == dvmIsVolatileField((Field *) fieldPtr));
#else
isVolatile = dvmIsVolatileField((Field *) fieldPtr);
#endif
isSputObject = (opcode == OP_SPUT_OBJECT) ||
- (opcode == OP_SPUT_OBJECT_JUMBO) ||
- (opcode == OP_SPUT_OBJECT_VOLATILE) ||
- (opcode == OP_SPUT_OBJECT_VOLATILE_JUMBO);
+ (opcode == OP_SPUT_OBJECT_VOLATILE);
rlSrc = dvmCompilerGetSrc(cUnit, mir, 0);
rlSrc = loadValue(cUnit, rlSrc, kAnyReg);
@@ -1778,8 +1751,7 @@ static bool handleFmt21c_Fmt31c_Fmt41c(CompilationUnit *cUnit, MIR *mir)
break;
}
- case OP_SPUT_WIDE:
- case OP_SPUT_WIDE_JUMBO: {
+ case OP_SPUT_WIDE: {
int tReg = dvmCompilerAllocTemp(cUnit);
int valOffset = OFFSETOF_MEMBER(StaticField, value);
const Method *method = (mir->OptimizationFlags & MIR_CALLEE) ?
@@ -1802,8 +1774,7 @@ static bool handleFmt21c_Fmt31c_Fmt41c(CompilationUnit *cUnit, MIR *mir)
HEAP_ACCESS_SHADOW(false);
break;
}
- case OP_NEW_INSTANCE:
- case OP_NEW_INSTANCE_JUMBO: {
+ case OP_NEW_INSTANCE: {
/*
* Obey the calling convention and don't mess with the register
* usage.
@@ -1847,8 +1818,7 @@ static bool handleFmt21c_Fmt31c_Fmt41c(CompilationUnit *cUnit, MIR *mir)
storeValue(cUnit, rlDest, rlResult);
break;
}
- case OP_CHECK_CAST:
- case OP_CHECK_CAST_JUMBO: {
+ case OP_CHECK_CAST: {
/*
* Obey the calling convention and don't mess with the register
* usage.
@@ -1903,9 +1873,7 @@ static bool handleFmt21c_Fmt31c_Fmt41c(CompilationUnit *cUnit, MIR *mir)
break;
}
case OP_SGET_WIDE_VOLATILE:
- case OP_SGET_WIDE_VOLATILE_JUMBO:
case OP_SPUT_WIDE_VOLATILE:
- case OP_SPUT_WIDE_VOLATILE_JUMBO:
genInterpSingleStep(cUnit, mir);
break;
default:
@@ -2407,7 +2375,7 @@ static bool handleFmt22b_Fmt22s(CompilationUnit *cUnit, MIR *mir)
return false;
}
-static bool handleFmt22c_Fmt52c(CompilationUnit *cUnit, MIR *mir)
+static bool handleFmt22c(CompilationUnit *cUnit, MIR *mir)
{
Opcode dalvikOpcode = mir->dalvikInsn.opcode;
int fieldOffset = -1;
@@ -2417,50 +2385,30 @@ static bool handleFmt22c_Fmt52c(CompilationUnit *cUnit, MIR *mir)
* Wide volatiles currently handled via single step.
* Add them here if generating in-line code.
* case OP_IGET_WIDE_VOLATILE:
- * case OP_IGET_WIDE_VOLATILE_JUMBO:
* case OP_IPUT_WIDE_VOLATILE:
- * case OP_IPUT_WIDE_VOLATILE_JUMBO:
*/
case OP_IGET_VOLATILE:
- case OP_IGET_VOLATILE_JUMBO:
case OP_IGET_OBJECT_VOLATILE:
- case OP_IGET_OBJECT_VOLATILE_JUMBO:
case OP_IPUT_VOLATILE:
- case OP_IPUT_VOLATILE_JUMBO:
case OP_IPUT_OBJECT_VOLATILE:
- case OP_IPUT_OBJECT_VOLATILE_JUMBO:
#if ANDROID_SMP != 0
isVolatile = true;
// NOTE: intentional fallthrough
#endif
case OP_IGET:
- case OP_IGET_JUMBO:
case OP_IGET_WIDE:
- case OP_IGET_WIDE_JUMBO:
case OP_IGET_OBJECT:
- case OP_IGET_OBJECT_JUMBO:
case OP_IGET_BOOLEAN:
- case OP_IGET_BOOLEAN_JUMBO:
case OP_IGET_BYTE:
- case OP_IGET_BYTE_JUMBO:
case OP_IGET_CHAR:
- case OP_IGET_CHAR_JUMBO:
case OP_IGET_SHORT:
- case OP_IGET_SHORT_JUMBO:
case OP_IPUT:
- case OP_IPUT_JUMBO:
case OP_IPUT_WIDE:
- case OP_IPUT_WIDE_JUMBO:
case OP_IPUT_OBJECT:
- case OP_IPUT_OBJECT_JUMBO:
case OP_IPUT_BOOLEAN:
- case OP_IPUT_BOOLEAN_JUMBO:
case OP_IPUT_BYTE:
- case OP_IPUT_BYTE_JUMBO:
case OP_IPUT_CHAR:
- case OP_IPUT_CHAR_JUMBO:
- case OP_IPUT_SHORT:
- case OP_IPUT_SHORT_JUMBO: {
+ case OP_IPUT_SHORT: {
const Method *method = (mir->OptimizationFlags & MIR_CALLEE) ?
mir->meta.calleeMethod : cUnit->method;
Field *fieldPtr =
@@ -2485,8 +2433,7 @@ static bool handleFmt22c_Fmt52c(CompilationUnit *cUnit, MIR *mir)
}
switch (dalvikOpcode) {
- case OP_NEW_ARRAY:
- case OP_NEW_ARRAY_JUMBO: {
+ case OP_NEW_ARRAY: {
// Generates a call - use explicit registers
RegLocation rlSrc = dvmCompilerGetSrc(cUnit, mir, 0);
RegLocation rlDest = dvmCompilerGetDest(cUnit, mir, 0);
@@ -2530,8 +2477,7 @@ static bool handleFmt22c_Fmt52c(CompilationUnit *cUnit, MIR *mir)
storeValue(cUnit, rlDest, rlResult);
break;
}
- case OP_INSTANCE_OF:
- case OP_INSTANCE_OF_JUMBO: {
+ case OP_INSTANCE_OF: {
// May generate a call - use explicit registers
RegLocation rlSrc = dvmCompilerGetSrc(cUnit, mir, 0);
RegLocation rlDest = dvmCompilerGetDest(cUnit, mir, 0);
@@ -2578,55 +2524,35 @@ static bool handleFmt22c_Fmt52c(CompilationUnit *cUnit, MIR *mir)
break;
}
case OP_IGET_WIDE:
- case OP_IGET_WIDE_JUMBO:
genIGetWide(cUnit, mir, fieldOffset);
break;
case OP_IGET_VOLATILE:
- case OP_IGET_VOLATILE_JUMBO:
case OP_IGET_OBJECT_VOLATILE:
- case OP_IGET_OBJECT_VOLATILE_JUMBO:
case OP_IGET:
- case OP_IGET_JUMBO:
case OP_IGET_OBJECT:
- case OP_IGET_OBJECT_JUMBO:
case OP_IGET_BOOLEAN:
- case OP_IGET_BOOLEAN_JUMBO:
case OP_IGET_BYTE:
- case OP_IGET_BYTE_JUMBO:
case OP_IGET_CHAR:
- case OP_IGET_CHAR_JUMBO:
case OP_IGET_SHORT:
- case OP_IGET_SHORT_JUMBO:
genIGet(cUnit, mir, kWord, fieldOffset, isVolatile);
break;
case OP_IPUT_WIDE:
- case OP_IPUT_WIDE_JUMBO:
genIPutWide(cUnit, mir, fieldOffset);
break;
case OP_IPUT_VOLATILE:
- case OP_IPUT_VOLATILE_JUMBO:
case OP_IPUT:
- case OP_IPUT_JUMBO:
case OP_IPUT_BOOLEAN:
- case OP_IPUT_BOOLEAN_JUMBO:
case OP_IPUT_BYTE:
- case OP_IPUT_BYTE_JUMBO:
case OP_IPUT_CHAR:
- case OP_IPUT_CHAR_JUMBO:
case OP_IPUT_SHORT:
- case OP_IPUT_SHORT_JUMBO:
genIPut(cUnit, mir, kWord, fieldOffset, false, isVolatile);
break;
case OP_IPUT_OBJECT_VOLATILE:
- case OP_IPUT_OBJECT_VOLATILE_JUMBO:
case OP_IPUT_OBJECT:
- case OP_IPUT_OBJECT_JUMBO:
genIPut(cUnit, mir, kWord, fieldOffset, true, isVolatile);
break;
case OP_IGET_WIDE_VOLATILE:
- case OP_IGET_WIDE_VOLATILE_JUMBO:
case OP_IPUT_WIDE_VOLATILE:
- case OP_IPUT_WIDE_VOLATILE_JUMBO:
genInterpSingleStep(cUnit, mir);
break;
default:
@@ -3052,7 +2978,7 @@ static void genLandingPadForMispredictedCallee(CompilationUnit *cUnit, MIR *mir,
mir->meta.callsiteInfo->misPredBranchOver->target = (LIR *) target;
}
-static bool handleFmt35c_3rc_5rc(CompilationUnit *cUnit, MIR *mir,
+static bool handleFmt35c_3rc(CompilationUnit *cUnit, MIR *mir,
BasicBlock *bb, ArmLIR *labelList)
{
ArmLIR *retChainingCell = NULL;
@@ -3073,8 +2999,7 @@ static bool handleFmt35c_3rc_5rc(CompilationUnit *cUnit, MIR *mir,
* ]
*/
case OP_INVOKE_VIRTUAL:
- case OP_INVOKE_VIRTUAL_RANGE:
- case OP_INVOKE_VIRTUAL_JUMBO: {
+ case OP_INVOKE_VIRTUAL_RANGE: {
ArmLIR *predChainingCell = &labelList[bb->taken->id];
int methodIndex =
cUnit->method->clazz->pDvmDex->pResMethods[dInsn->vB]->
@@ -3105,8 +3030,7 @@ static bool handleFmt35c_3rc_5rc(CompilationUnit *cUnit, MIR *mir,
* ->pResMethods[BBBB]->methodIndex]
*/
case OP_INVOKE_SUPER:
- case OP_INVOKE_SUPER_RANGE:
- case OP_INVOKE_SUPER_JUMBO: {
+ case OP_INVOKE_SUPER_RANGE: {
/* Grab the method ptr directly from what the interpreter sees */
const Method *calleeMethod = mir->meta.callsiteInfo->method;
assert(calleeMethod == cUnit->method->clazz->super->vtable[
@@ -3135,8 +3059,7 @@ static bool handleFmt35c_3rc_5rc(CompilationUnit *cUnit, MIR *mir,
}
/* calleeMethod = method->clazz->pDvmDex->pResMethods[BBBB] */
case OP_INVOKE_DIRECT:
- case OP_INVOKE_DIRECT_RANGE:
- case OP_INVOKE_DIRECT_JUMBO: {
+ case OP_INVOKE_DIRECT_RANGE: {
/* Grab the method ptr directly from what the interpreter sees */
const Method *calleeMethod = mir->meta.callsiteInfo->method;
assert(calleeMethod ==
@@ -3156,8 +3079,7 @@ static bool handleFmt35c_3rc_5rc(CompilationUnit *cUnit, MIR *mir,
}
/* calleeMethod = method->clazz->pDvmDex->pResMethods[BBBB] */
case OP_INVOKE_STATIC:
- case OP_INVOKE_STATIC_RANGE:
- case OP_INVOKE_STATIC_JUMBO: {
+ case OP_INVOKE_STATIC_RANGE: {
/* Grab the method ptr directly from what the interpreter sees */
const Method *calleeMethod = mir->meta.callsiteInfo->method;
assert(calleeMethod ==
@@ -3257,8 +3179,7 @@ static bool handleFmt35c_3rc_5rc(CompilationUnit *cUnit, MIR *mir,
* 0x47357ebc : .word (0x425719dc)
*/
case OP_INVOKE_INTERFACE:
- case OP_INVOKE_INTERFACE_RANGE:
- case OP_INVOKE_INTERFACE_JUMBO: {
+ case OP_INVOKE_INTERFACE_RANGE: {
ArmLIR *predChainingCell = &labelList[bb->taken->id];
/*
@@ -3406,11 +3327,9 @@ static bool handleFmt35c_3rc_5rc(CompilationUnit *cUnit, MIR *mir,
genTrap(cUnit, mir->offset, pcrLabel);
break;
}
- case OP_INVOKE_OBJECT_INIT_JUMBO:
case OP_INVOKE_OBJECT_INIT_RANGE:
case OP_FILLED_NEW_ARRAY:
- case OP_FILLED_NEW_ARRAY_RANGE:
- case OP_FILLED_NEW_ARRAY_JUMBO: {
+ case OP_FILLED_NEW_ARRAY_RANGE: {
/* Just let the interpreter deal with these */
genInterpSingleStep(cUnit, mir);
break;
@@ -4231,11 +4150,8 @@ static bool selfVerificationPuntOps(MIR *mir)
case OP_MONITOR_ENTER:
case OP_MONITOR_EXIT:
case OP_NEW_INSTANCE:
- case OP_NEW_INSTANCE_JUMBO:
case OP_NEW_ARRAY:
- case OP_NEW_ARRAY_JUMBO:
case OP_CHECK_CAST:
- case OP_CHECK_CAST_JUMBO:
case OP_MOVE_EXCEPTION:
case OP_FILL_ARRAY_DATA:
case OP_EXECUTE_INLINE:
@@ -4486,13 +4402,11 @@ void dvmCompilerMIR2LIR(CompilationUnit *cUnit)
notHandled = handleFmt12x(cUnit, mir);
break;
case kFmt20bc:
- case kFmt40sc:
- notHandled = handleFmt20bc_Fmt40sc(cUnit, mir);
+ notHandled = handleFmt20bc(cUnit, mir);
break;
case kFmt21c:
case kFmt31c:
- case kFmt41c:
- notHandled = handleFmt21c_Fmt31c_Fmt41c(cUnit, mir);
+ notHandled = handleFmt21c_Fmt31c(cUnit, mir);
break;
case kFmt21h:
notHandled = handleFmt21h(cUnit, mir);
@@ -4509,8 +4423,7 @@ void dvmCompilerMIR2LIR(CompilationUnit *cUnit)
notHandled = handleFmt22b_Fmt22s(cUnit, mir);
break;
case kFmt22c:
- case kFmt52c:
- notHandled = handleFmt22c_Fmt52c(cUnit, mir);
+ notHandled = handleFmt22c(cUnit, mir);
break;
case kFmt22cs:
notHandled = handleFmt22cs(cUnit, mir);
@@ -4531,8 +4444,7 @@ void dvmCompilerMIR2LIR(CompilationUnit *cUnit)
break;
case kFmt3rc:
case kFmt35c:
- case kFmt5rc:
- notHandled = handleFmt35c_3rc_5rc(cUnit, mir, bb,
+ notHandled = handleFmt35c_3rc(cUnit, mir, bb,
labelList);
break;
case kFmt3rms:
diff --git a/vm/compiler/codegen/arm/armv7-a-neon/MethodCodegenDriver.cpp b/vm/compiler/codegen/arm/armv7-a-neon/MethodCodegenDriver.cpp
index 4ddad6903..8df16c6d1 100644
--- a/vm/compiler/codegen/arm/armv7-a-neon/MethodCodegenDriver.cpp
+++ b/vm/compiler/codegen/arm/armv7-a-neon/MethodCodegenDriver.cpp
@@ -152,14 +152,14 @@ static bool handleMethodFmt12x(CompilationUnit *cUnit, MIR *mir)
return handleFmt12x(cUnit, mir);
}
-static bool handleMethodFmt20bc_Fmt40sc(CompilationUnit *cUnit, MIR *mir)
+static bool handleMethodFmt20bc(CompilationUnit *cUnit, MIR *mir)
{
- return handleFmt20bc_Fmt40sc(cUnit, mir);
+ return handleFmt20bc(cUnit, mir);
}
-static bool handleMethodFmt21c_Fmt31c_Fmt41c(CompilationUnit *cUnit, MIR *mir)
+static bool handleMethodFmt21c_Fmt31c(CompilationUnit *cUnit, MIR *mir)
{
- return handleFmt21c_Fmt31c_Fmt41c(cUnit, mir);
+ return handleFmt21c_Fmt31c(cUnit, mir);
}
static bool handleMethodFmt21h(CompilationUnit *cUnit, MIR *mir)
@@ -183,9 +183,9 @@ static bool handleMethodFmt22b_Fmt22s(CompilationUnit *cUnit, MIR *mir)
return handleFmt22b_Fmt22s(cUnit, mir);
}
-static bool handleMethodFmt22c_Fmt52c(CompilationUnit *cUnit, MIR *mir)
+static bool handleMethodFmt22c(CompilationUnit *cUnit, MIR *mir)
{
- return handleFmt22c_Fmt52c(cUnit, mir);
+ return handleFmt22c(cUnit, mir);
}
static bool handleMethodFmt22cs(CompilationUnit *cUnit, MIR *mir)
@@ -214,10 +214,10 @@ static bool handleMethodFmt31t(CompilationUnit *cUnit, MIR *mir)
return handleFmt31t(cUnit, mir);
}
-static bool handleMethodFmt35c_3rc_5rc(CompilationUnit *cUnit, MIR *mir,
+static bool handleMethodFmt35c_3rc(CompilationUnit *cUnit, MIR *mir,
BasicBlock *bb, ArmLIR *labelList)
{
- return handleFmt35c_3rc_5rc(cUnit, mir, bb, labelList);
+ return handleFmt35c_3rc(cUnit, mir, bb, labelList);
}
static bool handleMethodFmt35ms_3rms(CompilationUnit *cUnit, MIR *mir,
@@ -330,13 +330,11 @@ static bool methodBlockCodeGen(CompilationUnit *cUnit, BasicBlock *bb)
notHandled = handleMethodFmt12x(cUnit, mir);
break;
case kFmt20bc:
- case kFmt40sc:
- notHandled = handleMethodFmt20bc_Fmt40sc(cUnit, mir);
+ notHandled = handleMethodFmt20bc(cUnit, mir);
break;
case kFmt21c:
case kFmt31c:
- case kFmt41c:
- notHandled = handleMethodFmt21c_Fmt31c_Fmt41c(cUnit, mir);
+ notHandled = handleMethodFmt21c_Fmt31c(cUnit, mir);
break;
case kFmt21h:
notHandled = handleMethodFmt21h(cUnit, mir);
@@ -352,8 +350,7 @@ static bool methodBlockCodeGen(CompilationUnit *cUnit, BasicBlock *bb)
notHandled = handleMethodFmt22b_Fmt22s(cUnit, mir);
break;
case kFmt22c:
- case kFmt52c:
- notHandled = handleMethodFmt22c_Fmt52c(cUnit, mir);
+ notHandled = handleMethodFmt22c(cUnit, mir);
break;
case kFmt22cs:
notHandled = handleMethodFmt22cs(cUnit, mir);
@@ -373,9 +370,7 @@ static bool methodBlockCodeGen(CompilationUnit *cUnit, BasicBlock *bb)
break;
case kFmt3rc:
case kFmt35c:
- case kFmt5rc:
- notHandled = handleMethodFmt35c_3rc_5rc(cUnit, mir, bb,
- labelList);
+ notHandled = handleMethodFmt35c_3rc(cUnit, mir, bb, labelList);
break;
case kFmt3rms:
case kFmt35ms:
diff --git a/vm/interp/Interp.h b/vm/interp/Interp.h
index 060f86acb..e54ec6174 100644
--- a/vm/interp/Interp.h
+++ b/vm/interp/Interp.h
@@ -31,8 +31,7 @@ INLINE void dvmExportPC(const u2* pc, const u4* fp)
/*
* Extract the Dalvik opcode
*/
-#define GET_OPCODE(_inst) (((_inst & 0xff) == OP_DISPATCH_FF) ? \
- (0x100 + ((_inst >> 8) & 0xff)) : (_inst & 0xff))
+#define GET_OPCODE(_inst) (_inst & 0xff)
/*
* Interpreter entry point. Call here after setting up the interpreted
diff --git a/vm/mterp/armv5te/ALT_OP_DISPATCH_FF.S b/vm/mterp/armv5te/ALT_OP_DISPATCH_FF.S
deleted file mode 100644
index 0c542a03f..000000000
--- a/vm/mterp/armv5te/ALT_OP_DISPATCH_FF.S
+++ /dev/null
@@ -1,10 +0,0 @@
-%verify "executed"
-/*
- * Unlike other alt stubs, we don't want to call dvmCheckBefore() here.
- * Instead, just treat this as a trampoline to reach the real alt
- * handler (which will do the dvmCheckBefore() call.
- */
- mov ip, rINST, lsr #8 @ ip<- extended opcode
- add ip, ip, #256 @ add offset for extended opcodes
- GOTO_OPCODE(ip) @ go to proper extended handler
-
diff --git a/vm/mterp/armv5te/OP_CHECK_CAST_JUMBO.S b/vm/mterp/armv5te/OP_CHECK_CAST_JUMBO.S
deleted file mode 100644
index 3140ec408..000000000
--- a/vm/mterp/armv5te/OP_CHECK_CAST_JUMBO.S
+++ /dev/null
@@ -1,75 +0,0 @@
-%verify "executed"
-%verify "null object"
-%verify "class cast exception thrown, with correct class name"
-%verify "class cast exception not thrown on same class"
-%verify "class cast exception not thrown on subclass"
-%verify "class not resolved"
-%verify "class already resolved"
- /*
- * Check to see if a cast from one class to another is allowed.
- */
- /* check-cast/jumbo vBBBB, class@AAAAAAAA */
- FETCH(r0, 1) @ r0<- aaaa (lo)
- FETCH(r2, 2) @ r2<- AAAA (hi)
- FETCH(r3, 3) @ r3<- BBBB
- orr r2, r0, r2, lsl #16 @ r2<- AAAAaaaa
- GET_VREG(r9, r3) @ r9<- object
- ldr r0, [rSELF, #offThread_methodClassDex] @ r0<- pDvmDex
- cmp r9, #0 @ is object null?
- ldr r0, [r0, #offDvmDex_pResClasses] @ r0<- pDvmDex->pResClasses
- beq .L${opcode}_okay @ null obj, cast always succeeds
- ldr r1, [r0, r2, lsl #2] @ r1<- resolved class
- ldr r0, [r9, #offObject_clazz] @ r0<- obj->clazz
- cmp r1, #0 @ have we resolved this before?
- beq .L${opcode}_resolve @ not resolved, do it now
-.L${opcode}_resolved:
- cmp r0, r1 @ same class (trivial success)?
- bne .L${opcode}_fullcheck @ no, do full check
- b .L${opcode}_okay @ yes, finish up
-%break
-
- /*
- * Trivial test failed, need to perform full check. This is common.
- * r0 holds obj->clazz
- * r1 holds desired class resolved from AAAAAAAA
- * r9 holds object
- */
-.L${opcode}_fullcheck:
- mov r10, r1 @ avoid ClassObject getting clobbered
- bl dvmInstanceofNonTrivial @ r0<- boolean result
- cmp r0, #0 @ failed?
- bne .L${opcode}_okay @ no, success
-
- @ A cast has failed. We need to throw a ClassCastException.
- EXPORT_PC() @ about to throw
- ldr r0, [r9, #offObject_clazz] @ r0<- obj->clazz (actual class)
- mov r1, r10 @ r1<- desired class
- bl dvmThrowClassCastException
- b common_exceptionThrown
-
- /*
- * Advance PC and get the next opcode.
- */
-.L${opcode}_okay:
- FETCH_ADVANCE_INST(4) @ advance rPC, load rINST
- GET_INST_OPCODE(ip) @ extract opcode from rINST
- GOTO_OPCODE(ip) @ jump to next instruction
-
- /*
- * Resolution required. This is the least-likely path.
- *
- * r2 holds AAAAAAAA
- * r9 holds object
- */
-.L${opcode}_resolve:
- EXPORT_PC() @ resolve() could throw
- ldr r3, [rSELF, #offThread_method] @ r3<- self->method
- mov r1, r2 @ r1<- AAAAAAAA
- mov r2, #0 @ r2<- false
- ldr r0, [r3, #offMethod_clazz] @ r0<- method->clazz
- bl dvmResolveClass @ r0<- resolved ClassObject ptr
- cmp r0, #0 @ got null?
- beq common_exceptionThrown @ yes, handle exception
- mov r1, r0 @ r1<- class resolved from AAAAAAAA
- ldr r0, [r9, #offObject_clazz] @ r0<- obj->clazz
- b .L${opcode}_resolved @ pick up where we left off
diff --git a/vm/mterp/armv5te/OP_CONST_CLASS_JUMBO.S b/vm/mterp/armv5te/OP_CONST_CLASS_JUMBO.S
deleted file mode 100644
index 4dd973ee2..000000000
--- a/vm/mterp/armv5te/OP_CONST_CLASS_JUMBO.S
+++ /dev/null
@@ -1,37 +0,0 @@
-%verify "executed"
-%verify "Class already resolved"
-%verify "Class not yet resolved"
-%verify "Class cannot be resolved"
- /* const-class/jumbo vBBBB, Class@AAAAAAAA */
- FETCH(r0, 1) @ r0<- aaaa (lo)
- ldr r2, [rSELF, #offThread_methodClassDex] @ r2<-self>methodClassDex
- FETCH(r1, 2) @ r1<- AAAA (hi)
- ldr r2, [r2, #offDvmDex_pResClasses] @ r2<- dvmDex->pResClasses
- orr r1, r0, r1, lsl #16 @ r1<- AAAAaaaa
- FETCH(r9, 3) @ r9<- BBBB
- ldr r0, [r2, r1, lsl #2] @ r0<- pResClasses[AAAAaaaa]
- cmp r0, #0 @ not yet resolved?
- beq .L${opcode}_resolve
- FETCH_ADVANCE_INST(4) @ advance rPC, load rINST
- GET_INST_OPCODE(ip) @ extract opcode from rINST
- SET_VREG(r0, r9) @ vBBBB<- r0
- GOTO_OPCODE(ip) @ jump to next instruction
-%break
-
- /*
- * Continuation if the Class has not yet been resolved.
- * r1: AAAAAAAA (Class ref)
- * r9: target register
- */
-.L${opcode}_resolve:
- EXPORT_PC()
- ldr r0, [rSELF, #offThread_method] @ r0<- self->method
- mov r2, #1 @ r2<- true
- ldr r0, [r0, #offMethod_clazz] @ r0<- method->clazz
- bl dvmResolveClass @ r0<- Class reference
- cmp r0, #0 @ failed?
- beq common_exceptionThrown @ yup, handle the exception
- FETCH_ADVANCE_INST(4) @ advance rPC, load rINST
- GET_INST_OPCODE(ip) @ extract opcode from rINST
- SET_VREG(r0, r9) @ vBBBB<- r0
- GOTO_OPCODE(ip) @ jump to next instruction
diff --git a/vm/mterp/armv5te/OP_DISPATCH_FF.S b/vm/mterp/armv5te/OP_DISPATCH_FF.S
deleted file mode 100644
index 1ff798198..000000000
--- a/vm/mterp/armv5te/OP_DISPATCH_FF.S
+++ /dev/null
@@ -1,5 +0,0 @@
-%verify "executed"
- mov ip, rINST, lsr #8 @ ip<- extended opcode
- add ip, ip, #256 @ add offset for extended opcodes
- GOTO_OPCODE(ip) @ go to proper extended handler
-
diff --git a/vm/mterp/armv5te/OP_FILLED_NEW_ARRAY_JUMBO.S b/vm/mterp/armv5te/OP_FILLED_NEW_ARRAY_JUMBO.S
deleted file mode 100644
index 32364f4d6..000000000
--- a/vm/mterp/armv5te/OP_FILLED_NEW_ARRAY_JUMBO.S
+++ /dev/null
@@ -1,85 +0,0 @@
-%verify "executed"
-%verify "unimplemented array type"
- /*
- * Create a new array with elements filled from registers.
- *
- * TODO: convert most of this into a common subroutine, shared with
- * OP_FILLED_NEW_ARRAY.S.
- */
- /* filled-new-array/jumbo {vCCCC..v(CCCC+BBBB-1)}, type@AAAAAAAA */
- ldr r3, [rSELF, #offThread_methodClassDex] @ r3<- pDvmDex
- FETCH(r0, 1) @ r0<- aaaa (lo)
- FETCH(r1, 2) @ r1<- AAAA (hi)
- ldr r3, [r3, #offDvmDex_pResClasses] @ r3<- pDvmDex->pResClasses
- orr r1, r0, r1, lsl #16 @ r1<- AAAAaaaa
- ldr r0, [r3, r1, lsl #2] @ r0<- resolved class
- EXPORT_PC() @ need for resolve and alloc
- cmp r0, #0 @ already resolved?
- bne .L${opcode}_continue @ yes, continue on
-8: ldr r3, [rSELF, #offThread_method] @ r3<- self->method
- mov r2, #0 @ r2<- false
- ldr r0, [r3, #offMethod_clazz] @ r0<- method->clazz
- bl dvmResolveClass @ r0<- call(clazz, ref)
- cmp r0, #0 @ got null?
- beq common_exceptionThrown @ yes, handle exception
- b .L${opcode}_continue
-%break
-
- /*
- * On entry:
- * r0 holds array class
- */
-.L${opcode}_continue:
- ldr r3, [r0, #offClassObject_descriptor] @ r3<- arrayClass->descriptor
- mov r2, #ALLOC_DONT_TRACK @ r2<- alloc flags
- ldrb rINST, [r3, #1] @ rINST<- descriptor[1]
- FETCH(r1, 3) @ r1<- BBBB (length)
- cmp rINST, #'I' @ array of ints?
- cmpne rINST, #'L' @ array of objects?
- cmpne rINST, #'[' @ array of arrays?
- mov r9, r1 @ save length in r9
- bne .L${opcode}_notimpl @ no, not handled yet
- bl dvmAllocArrayByClass @ r0<- call(arClass, length, flags)
- cmp r0, #0 @ null return?
- beq common_exceptionThrown @ alloc failed, handle exception
-
- FETCH(r1, 4) @ r1<- CCCC
- str r0, [rSELF, #offThread_retval] @ retval.l <- new array
- str rINST, [rSELF, #offThread_retval+4] @ retval.h <- type
- add r0, r0, #offArrayObject_contents @ r0<- newArray->contents
- subs r9, r9, #1 @ length--, check for neg
- FETCH_ADVANCE_INST(5) @ advance to next instr, load rINST
- bmi 2f @ was zero, bail
-
- @ copy values from registers into the array
- @ r0=array, r1=CCCC, r9=BBBB (length)
- add r2, rFP, r1, lsl #2 @ r2<- &fp[CCCC]
-1: ldr r3, [r2], #4 @ r3<- *r2++
- subs r9, r9, #1 @ count--
- str r3, [r0], #4 @ *contents++ = vX
- bpl 1b
-
-2: ldr r0, [rSELF, #offThread_retval] @ r0<- object
- ldr r1, [rSELF, #offThread_retval+4] @ r1<- type
- ldr r2, [rSELF, #offThread_cardTable] @ r2<- card table base
- GET_INST_OPCODE(ip) @ ip<- opcode from rINST
- cmp r1, #'I' @ Is int array?
- strneb r2, [r2, r0, lsr #GC_CARD_SHIFT] @ Mark card based on object head
- GOTO_OPCODE(ip) @ execute it
-
- /*
- * Throw an exception indicating that we have not implemented this
- * mode of filled-new-array.
- */
-.L${opcode}_notimpl:
- ldr r0, .L_strFilledNewArrayNotImpl_${opcode}
- bl dvmThrowInternalError
- b common_exceptionThrown
-
- /*
- * Ideally we'd only define this once, but depending on layout we can
- * exceed the range of the load above.
- */
-
-.L_strFilledNewArrayNotImpl_${opcode}:
- .word .LstrFilledNewArrayNotImpl
diff --git a/vm/mterp/armv5te/OP_IGET_BOOLEAN_JUMBO.S b/vm/mterp/armv5te/OP_IGET_BOOLEAN_JUMBO.S
deleted file mode 100644
index a1e245663..000000000
--- a/vm/mterp/armv5te/OP_IGET_BOOLEAN_JUMBO.S
+++ /dev/null
@@ -1,3 +0,0 @@
-%verify "executed"
-@include "armv5te/OP_IGET_JUMBO.S" { "load":"ldrb", "sqnum":"1" }
-%include "armv5te/OP_IGET_JUMBO.S" { "load":"ldr", "sqnum":"1" }
diff --git a/vm/mterp/armv5te/OP_IGET_BYTE_JUMBO.S b/vm/mterp/armv5te/OP_IGET_BYTE_JUMBO.S
deleted file mode 100644
index 302f67fec..000000000
--- a/vm/mterp/armv5te/OP_IGET_BYTE_JUMBO.S
+++ /dev/null
@@ -1,4 +0,0 @@
-%verify "executed"
-%verify "negative value is sign-extended"
-@include "armv5te/OP_IGET_JUMBO.S" { "load":"ldrsb", "sqnum":"2" }
-%include "armv5te/OP_IGET_JUMBO.S" { "load":"ldr", "sqnum":"2" }
diff --git a/vm/mterp/armv5te/OP_IGET_CHAR_JUMBO.S b/vm/mterp/armv5te/OP_IGET_CHAR_JUMBO.S
deleted file mode 100644
index c205ca643..000000000
--- a/vm/mterp/armv5te/OP_IGET_CHAR_JUMBO.S
+++ /dev/null
@@ -1,4 +0,0 @@
-%verify "executed"
-%verify "large values are not sign-extended"
-@include "armv5te/OP_IGET_JUMBO.S" { "load":"ldrh", "sqnum":"3" }
-%include "armv5te/OP_IGET_JUMBO.S" { "load":"ldr", "sqnum":"3" }
diff --git a/vm/mterp/armv5te/OP_IGET_JUMBO.S b/vm/mterp/armv5te/OP_IGET_JUMBO.S
deleted file mode 100644
index 6ed201faa..000000000
--- a/vm/mterp/armv5te/OP_IGET_JUMBO.S
+++ /dev/null
@@ -1,57 +0,0 @@
-%default { "load":"ldr", "barrier":"@ no-op ", "sqnum":"0" }
-%verify "executed"
-%verify "null object"
-%verify "field already resolved"
-%verify "field not yet resolved"
-%verify "field cannot be resolved"
- /*
- * Jumbo 32-bit instance field get.
- *
- * for: iget/jumbo, iget-object/jumbo, iget-boolean/jumbo, iget-byte/jumbo,
- * iget-char/jumbo, iget-short/jumbo
- */
- /* exop vBBBB, vCCCC, field@AAAAAAAA */
- FETCH(r1, 1) @ r1<- aaaa (lo)
- FETCH(r2, 2) @ r2<- AAAA (hi)
- FETCH(r0, 4) @ r0<- CCCC
- ldr r3, [rSELF, #offThread_methodClassDex] @ r3<- DvmDex
- orr r1, r1, r2, lsl #16 @ r1<- AAAAaaaa
- ldr r2, [r3, #offDvmDex_pResFields] @ r2<- pDvmDex->pResFields
- GET_VREG(r9, r0) @ r9<- fp[CCCC], the object pointer
- ldr r0, [r2, r1, lsl #2] @ r0<- resolved InstField ptr
- cmp r0, #0 @ is resolved entry null?
- bne .L${opcode}_finish @ no, already resolved
-8: ldr r2, [rSELF, #offThread_method] @ r2<- current method
- EXPORT_PC() @ resolve() could throw
- ldr r0, [r2, #offMethod_clazz] @ r0<- method->clazz
- bl dvmResolveInstField @ r0<- resolved InstField ptr
- b .L${opcode}_resolved @ resolved, continue
-%break
-
- /*
- * Currently:
- * r0 holds resolved field
- * r9 holds object
- */
-.L${opcode}_resolved:
- cmp r0, #0 @ resolution unsuccessful?
- beq common_exceptionThrown @ yes, throw exception
- @ fall through to ${opcode}_finish
-
- /*
- * Currently:
- * r0 holds resolved field
- * r9 holds object
- */
-.L${opcode}_finish:
- @bl common_squeak${sqnum}
- cmp r9, #0 @ check object for null
- ldr r3, [r0, #offInstField_byteOffset] @ r3<- byte offset of field
- beq common_errNullObject @ object was null
- $load r0, [r9, r3] @ r0<- obj.field (8/16/32 bits)
- $barrier @ acquiring load
- FETCH(r2, 3) @ r2<- BBBB
- FETCH_ADVANCE_INST(5) @ advance rPC, load rINST
- SET_VREG(r0, r2) @ fp[BBBB]<- r0
- GET_INST_OPCODE(ip) @ extract opcode from rINST
- GOTO_OPCODE(ip) @ jump to next instruction
diff --git a/vm/mterp/armv5te/OP_IGET_OBJECT_JUMBO.S b/vm/mterp/armv5te/OP_IGET_OBJECT_JUMBO.S
deleted file mode 100644
index d1260fef2..000000000
--- a/vm/mterp/armv5te/OP_IGET_OBJECT_JUMBO.S
+++ /dev/null
@@ -1,2 +0,0 @@
-%verify "executed"
-%include "armv5te/OP_IGET_JUMBO.S"
diff --git a/vm/mterp/armv5te/OP_IGET_OBJECT_VOLATILE_JUMBO.S b/vm/mterp/armv5te/OP_IGET_OBJECT_VOLATILE_JUMBO.S
deleted file mode 100644
index fb4bf6354..000000000
--- a/vm/mterp/armv5te/OP_IGET_OBJECT_VOLATILE_JUMBO.S
+++ /dev/null
@@ -1,2 +0,0 @@
-%verify "executed"
-%include "armv5te/OP_IGET_OBJECT_JUMBO.S" {"barrier":"SMP_DMB"}
diff --git a/vm/mterp/armv5te/OP_IGET_SHORT_JUMBO.S b/vm/mterp/armv5te/OP_IGET_SHORT_JUMBO.S
deleted file mode 100644
index 81c2f779e..000000000
--- a/vm/mterp/armv5te/OP_IGET_SHORT_JUMBO.S
+++ /dev/null
@@ -1,4 +0,0 @@
-%verify "executed"
-%verify "negative value is sign-extended"
-@include "armv5te/OP_IGET_JUMBO.S" { "load":"ldrsh", "sqnum":"4" }
-%include "armv5te/OP_IGET_JUMBO.S" { "load":"ldr", "sqnum":"4" }
diff --git a/vm/mterp/armv5te/OP_IGET_VOLATILE_JUMBO.S b/vm/mterp/armv5te/OP_IGET_VOLATILE_JUMBO.S
deleted file mode 100644
index 6d2b5ffb7..000000000
--- a/vm/mterp/armv5te/OP_IGET_VOLATILE_JUMBO.S
+++ /dev/null
@@ -1,2 +0,0 @@
-%verify "executed"
-%include "armv5te/OP_IGET_JUMBO.S" {"barrier":"SMP_DMB"}
diff --git a/vm/mterp/armv5te/OP_IGET_WIDE_JUMBO.S b/vm/mterp/armv5te/OP_IGET_WIDE_JUMBO.S
deleted file mode 100644
index 40a6a96c7..000000000
--- a/vm/mterp/armv5te/OP_IGET_WIDE_JUMBO.S
+++ /dev/null
@@ -1,58 +0,0 @@
-%default {"volatile":"0"}
-%verify "executed"
-%verify "null object"
-%verify "field already resolved"
-%verify "field not yet resolved"
-%verify "field cannot be resolved"
- /*
- * Jumbo 64-bit instance field get.
- */
- /* iget-wide/jumbo vBBBB, vCCCC, field@AAAAAAAA */
- FETCH(r1, 1) @ r1<- aaaa (lo)
- FETCH(r2, 2) @ r2<- AAAA (hi)
- FETCH(r0, 4) @ r0<- CCCC
- ldr r3, [rSELF, #offThread_methodClassDex] @ r3<- DvmDex
- orr r1, r1, r2, lsl #16 @ r1<- AAAAaaaa
- ldr r2, [r3, #offDvmDex_pResFields] @ r2<- pResFields
- GET_VREG(r9, r0) @ r9<- fp[CCCC], the object pointer
- ldr r0, [r2, r1, lsl #2] @ r0<- resolved InstField ptr
- cmp r0, #0 @ is resolved entry null?
- bne .L${opcode}_finish @ no, already resolved
- ldr r2, [rSELF, #offThread_method] @ r2<- current method
- EXPORT_PC() @ resolve() could throw
- ldr r0, [r2, #offMethod_clazz] @ r0<- method->clazz
- bl dvmResolveInstField @ r0<- resolved InstField ptr
- b .L${opcode}_resolved @ resolved, continue
-%break
-
- /*
- * Currently:
- * r0 holds resolved field
- * r9 holds object
- */
-.L${opcode}_resolved:
- cmp r0, #0 @ resolution unsuccessful?
- beq common_exceptionThrown @ yes, throw exception
- @ fall through to ${opcode}_finish
-
- /*
- * Currently:
- * r0 holds resolved field
- * r9 holds object
- */
-.L${opcode}_finish:
- cmp r9, #0 @ check object for null
- ldr r3, [r0, #offInstField_byteOffset] @ r3<- byte offset of field
- beq common_errNullObject @ object was null
- .if $volatile
- add r0, r9, r3 @ r0<- address of field
- bl dvmQuasiAtomicRead64 @ r0/r1<- contents of field
- .else
- ldrd r0, [r9, r3] @ r0/r1<- obj.field (64-bit align ok)
- .endif
- FETCH(r2, 3) @ r2<- BBBB
- FETCH_ADVANCE_INST(5) @ advance rPC, load rINST
- add r3, rFP, r2, lsl #2 @ r3<- &fp[BBBB]
- GET_INST_OPCODE(ip) @ extract opcode from rINST
- stmia r3, {r0-r1} @ fp[BBBB]<- r0/r1
- GOTO_OPCODE(ip) @ jump to next instruction
diff --git a/vm/mterp/armv5te/OP_IGET_WIDE_VOLATILE_JUMBO.S b/vm/mterp/armv5te/OP_IGET_WIDE_VOLATILE_JUMBO.S
deleted file mode 100644
index c38a73d5a..000000000
--- a/vm/mterp/armv5te/OP_IGET_WIDE_VOLATILE_JUMBO.S
+++ /dev/null
@@ -1,2 +0,0 @@
-%verify "executed"
-%include "armv5te/OP_IGET_WIDE_JUMBO.S" {"volatile":"1"}
diff --git a/vm/mterp/armv5te/OP_INSTANCE_OF_JUMBO.S b/vm/mterp/armv5te/OP_INSTANCE_OF_JUMBO.S
deleted file mode 100644
index 1de1222cd..000000000
--- a/vm/mterp/armv5te/OP_INSTANCE_OF_JUMBO.S
+++ /dev/null
@@ -1,98 +0,0 @@
-%verify "executed"
-%verify "null object"
-%verify "class cast exception thrown, with correct class name"
-%verify "class cast exception not thrown on same class"
-%verify "class cast exception not thrown on subclass"
-%verify "class not resolved"
-%verify "class already resolved"
- /*
- * Check to see if an object reference is an instance of a class.
- *
- * Most common situation is a non-null object, being compared against
- * an already-resolved class.
- *
- * TODO: convert most of this into a common subroutine, shared with
- * OP_INSTANCE_OF.S.
- */
- /* instance-of/jumbo vBBBB, vCCCC, class@AAAAAAAA */
- FETCH(r3, 4) @ r3<- vCCCC
- FETCH(r9, 3) @ r9<- vBBBB
- GET_VREG(r0, r3) @ r0<- vCCCC (object)
- ldr r2, [rSELF, #offThread_methodClassDex] @ r2<- pDvmDex
- cmp r0, #0 @ is object null?
- beq .L${opcode}_store @ null obj, not an instance, store r0
- FETCH(r1, 1) @ r1<- aaaa (lo)
- FETCH(r3, 2) @ r3<- AAAA (hi)
- ldr r2, [r2, #offDvmDex_pResClasses] @ r2<- pDvmDex->pResClasses
- orr r3, r1, r3, lsl #16 @ r3<- AAAAaaaa
- ldr r1, [r2, r3, lsl #2] @ r1<- resolved class
- ldr r0, [r0, #offObject_clazz] @ r0<- obj->clazz
- cmp r1, #0 @ have we resolved this before?
- beq .L${opcode}_resolve @ not resolved, do it now
- b .L${opcode}_resolved @ resolved, continue
-%break
-
- /*
- * Class resolved, determine type of check necessary. This is common.
- * r0 holds obj->clazz
- * r1 holds class resolved from AAAAAAAA
- * r9 holds BBBB
- */
-.L${opcode}_resolved:
- cmp r0, r1 @ same class (trivial success)?
- beq .L${opcode}_trivial @ yes, trivial finish
- @ fall through to ${opcode}_fullcheck
-
- /*
- * Trivial test failed, need to perform full check. This is common.
- * r0 holds obj->clazz
- * r1 holds class resolved from AAAAAAAA
- * r9 holds BBBB
- */
-.L${opcode}_fullcheck:
- bl dvmInstanceofNonTrivial @ r0<- boolean result
- @ fall through to ${opcode}_store
-
- /*
- * r0 holds boolean result
- * r9 holds BBBB
- */
-.L${opcode}_store:
- FETCH_ADVANCE_INST(5) @ advance rPC, load rINST
- SET_VREG(r0, r9) @ vBBBB<- r0
- GET_INST_OPCODE(ip) @ extract opcode from rINST
- GOTO_OPCODE(ip) @ jump to next instruction
-
- /*
- * Trivial test succeeded, save and bail.
- * r9 holds BBBB
- */
-.L${opcode}_trivial:
- mov r0, #1 @ indicate success
- @ could b ${opcode}_store, but copying is faster and cheaper
- FETCH_ADVANCE_INST(5) @ advance rPC, load rINST
- SET_VREG(r0, r9) @ vBBBB<- r0
- GET_INST_OPCODE(ip) @ extract opcode from rINST
- GOTO_OPCODE(ip) @ jump to next instruction
-
- /*
- * Resolution required. This is the least-likely path.
- *
- * r3 holds AAAAAAAA
- * r9 holds BBBB
- */
-
-.L${opcode}_resolve:
- EXPORT_PC() @ resolve() could throw
- ldr r0, [rSELF, #offThread_method] @ r0<- self->method
- mov r1, r3 @ r1<- AAAAAAAA
- mov r2, #1 @ r2<- true
- ldr r0, [r0, #offMethod_clazz] @ r0<- method->clazz
- bl dvmResolveClass @ r0<- resolved ClassObject ptr
- cmp r0, #0 @ got null?
- beq common_exceptionThrown @ yes, handle exception
- FETCH(r3, 4) @ r3<- vCCCC
- mov r1, r0 @ r1<- class resolved from AAAAAAAA
- GET_VREG(r0, r3) @ r0<- vCCCC (object)
- ldr r0, [r0, #offObject_clazz] @ r0<- obj->clazz
- b .L${opcode}_resolved @ pick up where we left off
diff --git a/vm/mterp/armv5te/OP_INVOKE_DIRECT_JUMBO.S b/vm/mterp/armv5te/OP_INVOKE_DIRECT_JUMBO.S
deleted file mode 100644
index 7f6c4351d..000000000
--- a/vm/mterp/armv5te/OP_INVOKE_DIRECT_JUMBO.S
+++ /dev/null
@@ -1,42 +0,0 @@
-%verify "executed"
-%verify "unknown method"
- /*
- * Handle a direct method call.
- *
- * (We could defer the "is 'this' pointer null" test to the common
- * method invocation code, and use a flag to indicate that static
- * calls don't count. If we do this as part of copying the arguments
- * out we could avoiding loading the first arg twice.)
- *
- */
- /* invoke-direct/jumbo {vCCCC..v(CCCC+BBBB-1)}, meth@AAAAAAAA */
- ldr r3, [rSELF, #offThread_methodClassDex] @ r3<- pDvmDex
- FETCH(r0, 1) @ r1<- aaaa (lo)
- FETCH(r1, 2) @ r1<- AAAA (hi)
- ldr r3, [r3, #offDvmDex_pResMethods] @ r3<- pDvmDex->pResMethods
- orr r1, r0, r1, lsl #16 @ r1<- AAAAaaaa
- FETCH(r10, 4) @ r10<- CCCC
- ldr r0, [r3, r1, lsl #2] @ r0<- resolved methodToCall
- cmp r0, #0 @ already resolved?
- EXPORT_PC() @ must export for invoke
- GET_VREG(r9, r10) @ r9<- "this" ptr
- beq .L${opcode}_resolve @ not resolved, do it now
-.L${opcode}_finish:
- cmp r9, #0 @ null "this" ref?
- bne common_invokeMethodJumbo @ (r0=method, r9="this")
- b common_errNullObject @ yes, throw exception
-%break
-
- /*
- * On entry:
- * r1 = reference (CCCC)
- * r10 = "this" register
- */
-.L${opcode}_resolve:
- ldr r3, [rSELF, #offThread_method] @ r3<- self->method
- ldr r0, [r3, #offMethod_clazz] @ r0<- method->clazz
- mov r2, #METHOD_DIRECT @ resolver method type
- bl dvmResolveMethod @ r0<- call(clazz, ref, flags)
- cmp r0, #0 @ got null?
- bne .L${opcode}_finish @ no, continue
- b common_exceptionThrown @ yes, handle exception
diff --git a/vm/mterp/armv5te/OP_INVOKE_INTERFACE_JUMBO.S b/vm/mterp/armv5te/OP_INVOKE_INTERFACE_JUMBO.S
deleted file mode 100644
index 34ccf8655..000000000
--- a/vm/mterp/armv5te/OP_INVOKE_INTERFACE_JUMBO.S
+++ /dev/null
@@ -1,22 +0,0 @@
-%verify "executed"
-%verify "unknown method"
-%verify "null object"
- /*
- * Handle an interface method call.
- */
- /* invoke-interface/jumbo {vCCCC..v(CCCC+BBBB-1)}, meth@AAAAAAAA */
- FETCH(r2, 4) @ r2<- CCCC
- FETCH(r0, 1) @ r0<- aaaa (lo)
- FETCH(r1, 2) @ r1<- AAAA (hi)
- EXPORT_PC() @ must export for invoke
- orr r1, r0, r1, lsl #16 @ r1<- AAAAaaaa
- GET_VREG(r9, r2) @ r9<- first arg ("this")
- ldr r3, [rSELF, #offThread_methodClassDex] @ r3<- methodClassDex
- cmp r9, #0 @ null obj?
- ldr r2, [rSELF, #offThread_method] @ r2<- method
- beq common_errNullObject @ yes, fail
- ldr r0, [r9, #offObject_clazz] @ r0<- thisPtr->clazz
- bl dvmFindInterfaceMethodInCache @ r0<- call(class, ref, method, dex)
- cmp r0, #0 @ failed?
- beq common_exceptionThrown @ yes, handle exception
- b common_invokeMethodJumbo @ (r0=method, r9="this")
diff --git a/vm/mterp/armv5te/OP_INVOKE_OBJECT_INIT_JUMBO.S b/vm/mterp/armv5te/OP_INVOKE_OBJECT_INIT_JUMBO.S
deleted file mode 100644
index c0d732087..000000000
--- a/vm/mterp/armv5te/OP_INVOKE_OBJECT_INIT_JUMBO.S
+++ /dev/null
@@ -1,2 +0,0 @@
-%verify "executed"
-%include "armv5te/OP_INVOKE_OBJECT_INIT_RANGE.S" {"jumbo":"1", "cccc":"4"}
diff --git a/vm/mterp/armv5te/OP_INVOKE_OBJECT_INIT_RANGE.S b/vm/mterp/armv5te/OP_INVOKE_OBJECT_INIT_RANGE.S
index fb0e6577f..ab89189e9 100644
--- a/vm/mterp/armv5te/OP_INVOKE_OBJECT_INIT_RANGE.S
+++ b/vm/mterp/armv5te/OP_INVOKE_OBJECT_INIT_RANGE.S
@@ -40,9 +40,5 @@
*/
.L${opcode}_debugger:
ldr r1, [rSELF, #offThread_mainHandlerTable]
- .if $jumbo
- mov ip, #OP_INVOKE_DIRECT_JUMBO
- .else
mov ip, #OP_INVOKE_DIRECT_RANGE
- .endif
GOTO_OPCODE_BASE(r1,ip) @ execute it
diff --git a/vm/mterp/armv5te/OP_INVOKE_STATIC_JUMBO.S b/vm/mterp/armv5te/OP_INVOKE_STATIC_JUMBO.S
deleted file mode 100644
index 171127d9e..000000000
--- a/vm/mterp/armv5te/OP_INVOKE_STATIC_JUMBO.S
+++ /dev/null
@@ -1,51 +0,0 @@
-%verify "executed"
-%verify "unknown method"
- /*
- * Handle a static method call.
- */
- /* invoke-static/jumbo {vCCCC..v(CCCC+BBBB-1)}, meth@AAAAAAAA */
- ldr r3, [rSELF, #offThread_methodClassDex] @ r3<- pDvmDex
- FETCH(r0, 1) @ r1<- aaaa (lo)
- FETCH(r1, 2) @ r1<- AAAA (hi)
- ldr r3, [r3, #offDvmDex_pResMethods] @ r3<- pDvmDex->pResMethods
- orr r1, r0, r1, lsl #16 @ r1<- AAAAaaaa
- ldr r0, [r3, r1, lsl #2] @ r0<- resolved methodToCall
-#if defined(WITH_JIT)
- add r10, r3, r1, lsl #2 @ r10<- &resolved_methodToCall
-#endif
- cmp r0, #0 @ already resolved?
- EXPORT_PC() @ must export for invoke
- bne common_invokeMethodJumboNoThis @ (r0=method)
- b .L${opcode}_resolve
-%break
-
-
-.L${opcode}_resolve:
- ldr r3, [rSELF, #offThread_method] @ r3<- self->method
- ldr r0, [r3, #offMethod_clazz] @ r0<- method->clazz
- mov r2, #METHOD_STATIC @ resolver method type
- bl dvmResolveMethod @ r0<- call(clazz, ref, flags)
- cmp r0, #0 @ got null?
-#if defined(WITH_JIT)
- /*
- * Check to see if we're actively building a trace. If so,
- * we need to keep this instruction out of it.
- * r10: &resolved_methodToCall
- */
- ldrh r2, [rSELF, #offThread_subMode]
- beq common_exceptionThrown @ null, handle exception
- ands r2, #kSubModeJitTraceBuild @ trace under construction?
- beq common_invokeMethodJumboNoThis @ no (r0=method, r9="this")
- ldr r1, [r10] @ reload resolved method
- cmp r1, #0 @ finished resolving?
- bne common_invokeMethodJumboNoThis @ yes (r0=method, r9="this")
- mov r10, r0 @ preserve method
- mov r0, rSELF
- mov r1, rPC
- bl dvmJitEndTraceSelect @ (self, pc)
- mov r0, r10
- b common_invokeMethodJumboNoThis @ whew, finally!
-#else
- bne common_invokeMethodJumboNoThis @ (r0=method, r9="this")
- b common_exceptionThrown @ yes, handle exception
-#endif
diff --git a/vm/mterp/armv5te/OP_INVOKE_SUPER_JUMBO.S b/vm/mterp/armv5te/OP_INVOKE_SUPER_JUMBO.S
deleted file mode 100644
index 26ea06320..000000000
--- a/vm/mterp/armv5te/OP_INVOKE_SUPER_JUMBO.S
+++ /dev/null
@@ -1,55 +0,0 @@
-%verify "executed"
-%verify "unknown method"
- /*
- * Handle a "super" method call.
- */
- /* invoke-super/jumbo {vCCCC..v(CCCC+BBBB-1)}, meth@AAAAAAAA */
- FETCH(r10, 4) @ r10<- CCCC
- ldr r3, [rSELF, #offThread_methodClassDex] @ r3<- pDvmDex
- FETCH(r0, 1) @ r1<- aaaa (lo)
- FETCH(r1, 2) @ r1<- AAAA (hi)
- ldr r3, [r3, #offDvmDex_pResMethods] @ r3<- pDvmDex->pResMethods
- orr r1, r0, r1, lsl #16 @ r1<- AAAAaaaa
- GET_VREG(r9, r10) @ r9<- "this" ptr
- ldr r0, [r3, r1, lsl #2] @ r0<- resolved baseMethod
- cmp r9, #0 @ null "this"?
- ldr r10, [rSELF, #offThread_method] @ r10<- current method
- beq common_errNullObject @ null "this", throw exception
- cmp r0, #0 @ already resolved?
- ldr r10, [r10, #offMethod_clazz] @ r10<- method->clazz
- EXPORT_PC() @ must export for invoke
- bne .L${opcode}_continue @ resolved, continue on
- b .L${opcode}_resolve @ do resolve now
-%break
-
- /*
- * At this point:
- * r0 = resolved base method
- * r10 = method->clazz
- */
-.L${opcode}_continue:
- ldr r1, [r10, #offClassObject_super] @ r1<- method->clazz->super
- ldrh r2, [r0, #offMethod_methodIndex] @ r2<- baseMethod->methodIndex
- ldr r3, [r1, #offClassObject_vtableCount] @ r3<- super->vtableCount
- EXPORT_PC() @ must export for invoke
- cmp r2, r3 @ compare (methodIndex, vtableCount)
- bcs .L${opcode}_nsm @ method not present in superclass
- ldr r1, [r1, #offClassObject_vtable] @ r1<- ...clazz->super->vtable
- ldr r0, [r1, r2, lsl #2] @ r3<- vtable[methodIndex]
- bl common_invokeMethodJumbo @ (r0=method, r9="this")
-
-.L${opcode}_resolve:
- mov r0, r10 @ r0<- method->clazz
- mov r2, #METHOD_VIRTUAL @ resolver method type
- bl dvmResolveMethod @ r0<- call(clazz, ref, flags)
- cmp r0, #0 @ got null?
- bne .L${opcode}_continue @ no, continue
- b common_exceptionThrown @ yes, handle exception
-
- /*
- * Throw a NoSuchMethodError with the method name as the message.
- * r0 = resolved base method
- */
-.L${opcode}_nsm:
- ldr r1, [r0, #offMethod_name] @ r1<- method name
- b common_errNoSuchMethod
diff --git a/vm/mterp/armv5te/OP_INVOKE_VIRTUAL_JUMBO.S b/vm/mterp/armv5te/OP_INVOKE_VIRTUAL_JUMBO.S
deleted file mode 100644
index ba0184ed3..000000000
--- a/vm/mterp/armv5te/OP_INVOKE_VIRTUAL_JUMBO.S
+++ /dev/null
@@ -1,39 +0,0 @@
-%verify "executed"
-%verify "unknown method"
-%verify "null object"
- /*
- * Handle a virtual method call.
- */
- /* invoke-virtual/jumbo {vCCCC..v(CCCC+BBBB-1)}, meth@AAAAAAAA */
- ldr r3, [rSELF, #offThread_methodClassDex] @ r3<- pDvmDex
- FETCH(r0, 1) @ r1<- aaaa (lo)
- FETCH(r1, 2) @ r1<- AAAA (hi)
- ldr r3, [r3, #offDvmDex_pResMethods] @ r3<- pDvmDex->pResMethods
- orr r1, r0, r1, lsl #16 @ r1<- AAAAaaaa
- ldr r0, [r3, r1, lsl #2] @ r0<- resolved baseMethod
- cmp r0, #0 @ already resolved?
- EXPORT_PC() @ must export for invoke
- bne .L${opcode}_continue @ yes, continue on
- ldr r3, [rSELF, #offThread_method] @ r3<- self->method
- ldr r0, [r3, #offMethod_clazz] @ r0<- method->clazz
- mov r2, #METHOD_VIRTUAL @ resolver method type
- bl dvmResolveMethod @ r0<- call(clazz, ref, flags)
- cmp r0, #0 @ got null?
- bne .L${opcode}_continue @ no, continue
- b common_exceptionThrown @ yes, handle exception
-%break
-
- /*
- * At this point:
- * r0 = resolved base method
- */
-.L${opcode}_continue:
- FETCH(r10, 4) @ r10<- CCCC
- GET_VREG(r9, r10) @ r9<- "this" ptr
- ldrh r2, [r0, #offMethod_methodIndex] @ r2<- baseMethod->methodIndex
- cmp r9, #0 @ is "this" null?
- beq common_errNullObject @ null "this", throw exception
- ldr r3, [r9, #offObject_clazz] @ r3<- thisPtr->clazz
- ldr r3, [r3, #offClassObject_vtable] @ r3<- thisPtr->clazz->vtable
- ldr r0, [r3, r2, lsl #2] @ r3<- vtable[methodIndex]
- bl common_invokeMethodJumbo @ (r0=method, r9="this")
diff --git a/vm/mterp/armv5te/OP_IPUT_BOOLEAN_JUMBO.S b/vm/mterp/armv5te/OP_IPUT_BOOLEAN_JUMBO.S
deleted file mode 100644
index 9d89c9a02..000000000
--- a/vm/mterp/armv5te/OP_IPUT_BOOLEAN_JUMBO.S
+++ /dev/null
@@ -1,3 +0,0 @@
-%verify "executed"
-@include "armv5te/OP_IPUT_JUMBO.S" { "store":"strb", "sqnum":"1" }
-%include "armv5te/OP_IPUT_JUMBO.S" { "store":"str", "sqnum":"1" }
diff --git a/vm/mterp/armv5te/OP_IPUT_BYTE_JUMBO.S b/vm/mterp/armv5te/OP_IPUT_BYTE_JUMBO.S
deleted file mode 100644
index 8378f497c..000000000
--- a/vm/mterp/armv5te/OP_IPUT_BYTE_JUMBO.S
+++ /dev/null
@@ -1,3 +0,0 @@
-%verify "executed"
-@include "armv5te/OP_IPUT_JUMBO.S" { "store":"strb", "sqnum":"2" }
-%include "armv5te/OP_IPUT_JUMBO.S" { "store":"str", "sqnum":"2" }
diff --git a/vm/mterp/armv5te/OP_IPUT_CHAR_JUMBO.S b/vm/mterp/armv5te/OP_IPUT_CHAR_JUMBO.S
deleted file mode 100644
index 9d6a5b054..000000000
--- a/vm/mterp/armv5te/OP_IPUT_CHAR_JUMBO.S
+++ /dev/null
@@ -1,3 +0,0 @@
-%verify "executed"
-@include "armv5te/OP_IPUT_JUMBO.S" { "store":"strh", "sqnum":"3" }
-%include "armv5te/OP_IPUT_JUMBO.S" { "store":"str", "sqnum":"3" }
diff --git a/vm/mterp/armv5te/OP_IPUT_JUMBO.S b/vm/mterp/armv5te/OP_IPUT_JUMBO.S
deleted file mode 100644
index 21f154c13..000000000
--- a/vm/mterp/armv5te/OP_IPUT_JUMBO.S
+++ /dev/null
@@ -1,58 +0,0 @@
-%default { "store":"str", "postbarrier":"@ no-op ", "prebarrier":"@ no-op ", "sqnum":"0" }
-%verify "executed"
-%verify "null object"
-%verify "field already resolved"
-%verify "field not yet resolved"
-%verify "field cannot be resolved"
- /*
- * Jumbo 32-bit instance field put.
- *
- * for: iput/jumbo, iput-boolean/jumbo, iput-byte/jumbo, iput-char/jumbo,
- * iput-short/jumbo
- */
- /* exop vBBBB, vCCCC, field@AAAAAAAA */
- FETCH(r1, 1) @ r1<- aaaa (lo)
- FETCH(r2, 2) @ r2<- AAAA (hi)
- FETCH(r0, 4) @ r0<- CCCC
- ldr r3, [rSELF, #offThread_methodClassDex] @ r3<- DvmDex
- orr r1, r1, r2, lsl #16 @ r1<- AAAAaaaa
- ldr r2, [r3, #offDvmDex_pResFields] @ r2<- pDvmDex->pResFields
- GET_VREG(r9, r0) @ r9<- fp[CCCC], the object pointer
- ldr r0, [r2, r1, lsl #2] @ r0<- resolved InstField ptr
- cmp r0, #0 @ is resolved entry null?
- bne .L${opcode}_finish @ no, already resolved
-8: ldr r2, [rSELF, #offThread_method] @ r2<- current method
- EXPORT_PC() @ resolve() could throw
- ldr r0, [r2, #offMethod_clazz] @ r0<- method->clazz
- bl dvmResolveInstField @ r0<- resolved InstField ptr
- b .L${opcode}_resolved @ resolved, continue
-%break
-
- /*
- * Currently:
- * r0 holds resolved field
- * r9 holds object
- */
-.L${opcode}_resolved:
- cmp r0, #0 @ resolution unsuccessful?
- beq common_exceptionThrown @ yes, throw exception
- @ fall through to ${opcode}_finish
-
- /*
- * Currently:
- * r0 holds resolved field
- * r9 holds object
- */
-.L${opcode}_finish:
- @bl common_squeak${sqnum}
- ldr r3, [r0, #offInstField_byteOffset] @ r3<- byte offset of field
- FETCH(r1, 3) @ r1<- BBBB
- cmp r9, #0 @ check object for null
- GET_VREG(r0, r1) @ r0<- fp[BBBB]
- beq common_errNullObject @ object was null
- FETCH_ADVANCE_INST(5) @ advance rPC, load rINST
- GET_INST_OPCODE(ip) @ extract opcode from rINST
- $prebarrier @ releasing store
- $store r0, [r9, r3] @ obj.field (8/16/32 bits)<- r0
- $postbarrier
- GOTO_OPCODE(ip) @ jump to next instruction
diff --git a/vm/mterp/armv5te/OP_IPUT_OBJECT_JUMBO.S b/vm/mterp/armv5te/OP_IPUT_OBJECT_JUMBO.S
deleted file mode 100644
index 6d1e6a781..000000000
--- a/vm/mterp/armv5te/OP_IPUT_OBJECT_JUMBO.S
+++ /dev/null
@@ -1,58 +0,0 @@
-%default { "postbarrier":"@ no-op ", "prebarrier":"@ no-op ", "sqnum":"0" }
-%verify "executed"
-%verify "null object"
-%verify "field already resolved"
-%verify "field not yet resolved"
-%verify "field cannot be resolved"
- /*
- * Jumbo 32-bit instance field put.
- */
- /* iput-object/jumbo vBBBB, vCCCC, field@AAAAAAAA */
- FETCH(r1, 1) @ r1<- aaaa (lo)
- FETCH(r2, 2) @ r2<- AAAA (hi)
- FETCH(r0, 4) @ r0<- CCCC
- ldr r3, [rSELF, #offThread_methodClassDex] @ r3<- DvmDex
- orr r1, r1, r2, lsl #16 @ r1<- AAAAaaaa
- ldr r2, [r3, #offDvmDex_pResFields] @ r2<- pDvmDex->pResFields
- GET_VREG(r9, r0) @ r9<- fp[CCCC], the object pointer
- ldr r0, [r2, r1, lsl #2] @ r0<- resolved InstField ptr
- cmp r0, #0 @ is resolved entry null?
- bne .L${opcode}_finish @ no, already resolved
-8: ldr r2, [rSELF, #offThread_method] @ r2<- current method
- EXPORT_PC() @ resolve() could throw
- ldr r0, [r2, #offMethod_clazz] @ r0<- method->clazz
- bl dvmResolveInstField @ r0<- resolved InstField ptr
- b .L${opcode}_resolved @ resolved, continue
-%break
-
- /*
- * Currently:
- * r0 holds resolved field
- * r9 holds object
- */
-.L${opcode}_resolved:
- cmp r0, #0 @ resolution unsuccessful?
- beq common_exceptionThrown @ yes, throw exception
- @ fall through to ${opcode}_finish
-
- /*
- * Currently:
- * r0 holds resolved field
- * r9 holds object
- */
-.L${opcode}_finish:
- @bl common_squeak${sqnum}
- ldr r3, [r0, #offInstField_byteOffset] @ r3<- byte offset of field
- FETCH(r1, 3) @ r1<- BBBB
- cmp r9, #0 @ check object for null
- GET_VREG(r0, r1) @ r0<- fp[BBBB]
- ldr r2, [rSELF, #offThread_cardTable] @ r2<- card table base
- beq common_errNullObject @ object was null
- FETCH_ADVANCE_INST(5) @ advance rPC, load rINST
- GET_INST_OPCODE(ip) @ extract opcode from rINST
- $prebarrier @ releasing store
- str r0, [r9, r3] @ obj.field (32 bits)<- r0
- $postbarrier
- cmp r0, #0 @ stored a null reference?
- strneb r2, [r2, r9, lsr #GC_CARD_SHIFT] @ mark card if not
- GOTO_OPCODE(ip) @ jump to next instruction
diff --git a/vm/mterp/armv5te/OP_IPUT_OBJECT_VOLATILE_JUMBO.S b/vm/mterp/armv5te/OP_IPUT_OBJECT_VOLATILE_JUMBO.S
deleted file mode 100644
index 4ae11aede..000000000
--- a/vm/mterp/armv5te/OP_IPUT_OBJECT_VOLATILE_JUMBO.S
+++ /dev/null
@@ -1,2 +0,0 @@
-%verify "executed"
-%include "armv5te/OP_IPUT_OBJECT_JUMBO.S" {"prebarrier":"SMP_DMB_ST", "postbarrier":"SMP_DMB"}
diff --git a/vm/mterp/armv5te/OP_IPUT_SHORT_JUMBO.S b/vm/mterp/armv5te/OP_IPUT_SHORT_JUMBO.S
deleted file mode 100644
index 889c72343..000000000
--- a/vm/mterp/armv5te/OP_IPUT_SHORT_JUMBO.S
+++ /dev/null
@@ -1,3 +0,0 @@
-%verify "executed"
-@include "armv5te/OP_IPUT_JUMBO.S" { "store":"strh", "sqnum":"4" }
-%include "armv5te/OP_IPUT_JUMBO.S" { "store":"str", "sqnum":"4" }
diff --git a/vm/mterp/armv5te/OP_IPUT_VOLATILE_JUMBO.S b/vm/mterp/armv5te/OP_IPUT_VOLATILE_JUMBO.S
deleted file mode 100644
index 0a7e2fe16..000000000
--- a/vm/mterp/armv5te/OP_IPUT_VOLATILE_JUMBO.S
+++ /dev/null
@@ -1,2 +0,0 @@
-%verify "executed"
-%include "armv5te/OP_IPUT_JUMBO.S" {"prebarrier":"SMP_DMB_ST", "postbarrier":"SMP_DMB"}
diff --git a/vm/mterp/armv5te/OP_IPUT_WIDE_JUMBO.S b/vm/mterp/armv5te/OP_IPUT_WIDE_JUMBO.S
deleted file mode 100644
index d5e557a8b..000000000
--- a/vm/mterp/armv5te/OP_IPUT_WIDE_JUMBO.S
+++ /dev/null
@@ -1,55 +0,0 @@
-%default {"volatile":"0"}
-%verify "executed"
-%verify "null object"
-%verify "field already resolved"
-%verify "field not yet resolved"
-%verify "field cannot be resolved"
- /* iput-wide/jumbo vBBBB, vCCCC, field@AAAAAAAA */
- FETCH(r1, 1) @ r1<- aaaa (lo)
- FETCH(r2, 2) @ r2<- AAAA (hi)
- FETCH(r0, 4) @ r0<- CCCC
- ldr r3, [rSELF, #offThread_methodClassDex] @ r3<- DvmDex
- orr r1, r1, r2, lsl #16 @ r1<- AAAAaaaa
- ldr r2, [r3, #offDvmDex_pResFields] @ r2<- pResFields
- GET_VREG(r9, r0) @ r9<- fp[B], the object pointer
- ldr r0, [r2, r1, lsl #2] @ r0<- resolved InstField ptr
- cmp r0, #0 @ is resolved entry null?
- bne .L${opcode}_finish @ no, already resolved
-8: ldr r2, [rSELF, #offThread_method] @ r2<- current method
- EXPORT_PC() @ resolve() could throw
- ldr r0, [r2, #offMethod_clazz] @ r0<- method->clazz
- bl dvmResolveInstField @ r0<- resolved InstField ptr
- b .L${opcode}_resolved @ resolved, continue
-%break
-
- /*
- * Currently:
- * r0 holds resolved field
- * r9 holds object
- */
-.L${opcode}_resolved:
- cmp r0, #0 @ resolution unsuccessful?
- beq common_exceptionThrown @ yes, throw exception
- @ fall through to ${opcode}_finish
-
- /*
- * Currently:
- * r0 holds resolved field
- * r9 holds object
- */
-.L${opcode}_finish:
- cmp r9, #0 @ check object for null
- FETCH(r2, 3) @ r1<- BBBB
- ldr r3, [r0, #offInstField_byteOffset] @ r3<- byte offset of field
- add r2, rFP, r2, lsl #2 @ r3<- &fp[BBBB]
- beq common_errNullObject @ object was null
- FETCH_ADVANCE_INST(5) @ advance rPC, load rINST
- ldmia r2, {r0-r1} @ r0/r1<- fp[BBBB]
- GET_INST_OPCODE(r10) @ extract opcode from rINST
- .if $volatile
- add r2, r9, r3 @ r2<- target address
- bl dvmQuasiAtomicSwap64Sync @ stores r0/r1 into addr r2
- .else
- strd r0, [r9, r3] @ obj.field (64 bits, aligned)<- r0/r1
- .endif
- GOTO_OPCODE(r10) @ jump to next instruction
diff --git a/vm/mterp/armv5te/OP_IPUT_WIDE_VOLATILE_JUMBO.S b/vm/mterp/armv5te/OP_IPUT_WIDE_VOLATILE_JUMBO.S
deleted file mode 100644
index 53b103075..000000000
--- a/vm/mterp/armv5te/OP_IPUT_WIDE_VOLATILE_JUMBO.S
+++ /dev/null
@@ -1,2 +0,0 @@
-%verify "executed"
-%include "armv5te/OP_IPUT_WIDE_JUMBO.S" {"volatile":"1"}
diff --git a/vm/mterp/armv5te/OP_NEW_ARRAY_JUMBO.S b/vm/mterp/armv5te/OP_NEW_ARRAY_JUMBO.S
deleted file mode 100644
index 568afb463..000000000
--- a/vm/mterp/armv5te/OP_NEW_ARRAY_JUMBO.S
+++ /dev/null
@@ -1,62 +0,0 @@
-%verify "executed"
-%verify "negative array length"
-%verify "allocation fails"
- /*
- * Allocate an array of objects, specified with the array class
- * and a count.
- *
- * The verifier guarantees that this is an array class, so we don't
- * check for it here.
- */
- /* new-array/jumbo vBBBB, vCCCC, class@AAAAAAAA */
- FETCH(r2, 1) @ r2<- aaaa (lo)
- FETCH(r3, 2) @ r3<- AAAA (hi)
- FETCH(r0, 4) @ r0<- vCCCC
- orr r2, r2, r3, lsl #16 @ r2<- AAAAaaaa
- ldr r3, [rSELF, #offThread_methodClassDex] @ r3<- pDvmDex
- GET_VREG(r1, r0) @ r1<- vCCCC (array length)
- ldr r3, [r3, #offDvmDex_pResClasses] @ r3<- pDvmDex->pResClasses
- cmp r1, #0 @ check length
- ldr r0, [r3, r2, lsl #2] @ r0<- resolved class
- bmi common_errNegativeArraySize @ negative length, bail - len in r1
- cmp r0, #0 @ already resolved?
- EXPORT_PC() @ req'd for resolve, alloc
- bne .L${opcode}_finish @ resolved, continue
- b .L${opcode}_resolve @ do resolve now
-%break
-
-
- /*
- * Resolve class. (This is an uncommon case.)
- *
- * r1 holds array length
- * r2 holds class ref AAAAAAAA
- */
-.L${opcode}_resolve:
- ldr r3, [rSELF, #offThread_method] @ r3<- self->method
- mov r9, r1 @ r9<- length (save)
- mov r1, r2 @ r1<- AAAAAAAA
- mov r2, #0 @ r2<- false
- ldr r0, [r3, #offMethod_clazz] @ r0<- method->clazz
- bl dvmResolveClass @ r0<- call(clazz, ref)
- cmp r0, #0 @ got null?
- mov r1, r9 @ r1<- length (restore)
- beq common_exceptionThrown @ yes, handle exception
- @ fall through to ${opcode}_finish
-
- /*
- * Finish allocation.
- *
- * r0 holds class
- * r1 holds array length
- */
-.L${opcode}_finish:
- mov r2, #ALLOC_DONT_TRACK @ don't track in local refs table
- bl dvmAllocArrayByClass @ r0<- call(clazz, length, flags)
- cmp r0, #0 @ failed?
- FETCH(r2, 3) @ r2<- vBBBB
- beq common_exceptionThrown @ yes, handle the exception
- FETCH_ADVANCE_INST(5) @ advance rPC, load rINST
- GET_INST_OPCODE(ip) @ extract opcode from rINST
- SET_VREG(r0, r2) @ vBBBB<- r0
- GOTO_OPCODE(ip) @ jump to next instruction
diff --git a/vm/mterp/armv5te/OP_NEW_INSTANCE_JUMBO.S b/vm/mterp/armv5te/OP_NEW_INSTANCE_JUMBO.S
deleted file mode 100644
index ce41bf3ea..000000000
--- a/vm/mterp/armv5te/OP_NEW_INSTANCE_JUMBO.S
+++ /dev/null
@@ -1,103 +0,0 @@
-%verify "executed"
-%verify "class not resolved"
-%verify "class cannot be resolved"
-%verify "class not initialized"
-%verify "class fails to initialize"
-%verify "class already resolved/initialized"
-%verify "class is abstract or interface"
-%verify "allocation fails"
- /*
- * Create a new instance of a class.
- */
- /* new-instance/jumbo vBBBB, class@AAAAAAAA */
- FETCH(r0, 1) @ r0<- aaaa (lo)
- FETCH(r1, 2) @ r1<- AAAA (hi)
- ldr r3, [rSELF, #offThread_methodClassDex] @ r3<- pDvmDex
- orr r1, r0, r1, lsl #16 @ r1<- AAAAaaaa
- ldr r3, [r3, #offDvmDex_pResClasses] @ r3<- pDvmDex->pResClasses
- ldr r0, [r3, r1, lsl #2] @ r0<- resolved class
-#if defined(WITH_JIT)
- add r10, r3, r1, lsl #2 @ r10<- &resolved_class
-#endif
- EXPORT_PC() @ req'd for init, resolve, alloc
- cmp r0, #0 @ already resolved?
- beq .L${opcode}_resolve @ no, resolve it now
-.L${opcode}_resolved: @ r0=class
- ldrb r1, [r0, #offClassObject_status] @ r1<- ClassStatus enum
- cmp r1, #CLASS_INITIALIZED @ has class been initialized?
- bne .L${opcode}_needinit @ no, init class now
-.L${opcode}_initialized: @ r0=class
- mov r1, #ALLOC_DONT_TRACK @ flags for alloc call
- bl dvmAllocObject @ r0<- new object
- b .L${opcode}_finish @ continue
-%break
-
- .balign 32 @ minimize cache lines
-.L${opcode}_finish: @ r0=new object
- FETCH(r3, 3) @ r3<- BBBB
- cmp r0, #0 @ failed?
-#if defined(WITH_JIT)
- /*
- * The JIT needs the class to be fully resolved before it can
- * include this instruction in a trace.
- */
- ldrh r1, [rSELF, #offThread_subMode]
- beq common_exceptionThrown @ yes, handle the exception
- ands r1, #kSubModeJitTraceBuild @ under construction?
- bne .L${opcode}_jitCheck
-#else
- beq common_exceptionThrown @ yes, handle the exception
-#endif
-.L${opcode}_end:
- FETCH_ADVANCE_INST(4) @ advance rPC, load rINST
- GET_INST_OPCODE(ip) @ extract opcode from rINST
- SET_VREG(r0, r3) @ vBBBB<- r0
- GOTO_OPCODE(ip) @ jump to next instruction
-
-#if defined(WITH_JIT)
- /*
- * Check to see if we need to stop the trace building early.
- * r0: new object
- * r3: vAA
- */
-.L${opcode}_jitCheck:
- ldr r1, [r10] @ reload resolved class
- cmp r1, #0 @ okay?
- bne .L${opcode}_end @ yes, finish
- mov r9, r0 @ preserve new object
- mov r10, r3 @ preserve vAA
- mov r0, rSELF
- mov r1, rPC
- bl dvmJitEndTraceSelect @ (self, pc)
- FETCH_ADVANCE_INST(2) @ advance rPC, load rINST
- GET_INST_OPCODE(ip) @ extract opcode from rINST
- SET_VREG(r9, r10) @ vAA<- new object
- GOTO_OPCODE(ip) @ jump to next instruction
-#endif
-
- /*
- * Class initialization required.
- *
- * r0 holds class object
- */
-.L${opcode}_needinit:
- mov r9, r0 @ save r0
- bl dvmInitClass @ initialize class
- cmp r0, #0 @ check boolean result
- mov r0, r9 @ restore r0
- bne .L${opcode}_initialized @ success, continue
- b common_exceptionThrown @ failed, deal with init exception
-
- /*
- * Resolution required. This is the least-likely path.
- *
- * r1 holds AAAAAAAA
- */
-.L${opcode}_resolve:
- ldr r3, [rSELF, #offThread_method] @ r3<- self->method
- mov r2, #0 @ r2<- false
- ldr r0, [r3, #offMethod_clazz] @ r0<- method->clazz
- bl dvmResolveClass @ r0<- resolved ClassObject ptr
- cmp r0, #0 @ got null?
- bne .L${opcode}_resolved @ no, continue
- b common_exceptionThrown @ yes, handle exception
diff --git a/vm/mterp/armv5te/OP_SGET_BOOLEAN_JUMBO.S b/vm/mterp/armv5te/OP_SGET_BOOLEAN_JUMBO.S
deleted file mode 100644
index b38ce7c79..000000000
--- a/vm/mterp/armv5te/OP_SGET_BOOLEAN_JUMBO.S
+++ /dev/null
@@ -1,2 +0,0 @@
-%verify "executed"
-%include "armv5te/OP_SGET_JUMBO.S"
diff --git a/vm/mterp/armv5te/OP_SGET_BYTE_JUMBO.S b/vm/mterp/armv5te/OP_SGET_BYTE_JUMBO.S
deleted file mode 100644
index b38ce7c79..000000000
--- a/vm/mterp/armv5te/OP_SGET_BYTE_JUMBO.S
+++ /dev/null
@@ -1,2 +0,0 @@
-%verify "executed"
-%include "armv5te/OP_SGET_JUMBO.S"
diff --git a/vm/mterp/armv5te/OP_SGET_CHAR_JUMBO.S b/vm/mterp/armv5te/OP_SGET_CHAR_JUMBO.S
deleted file mode 100644
index b38ce7c79..000000000
--- a/vm/mterp/armv5te/OP_SGET_CHAR_JUMBO.S
+++ /dev/null
@@ -1,2 +0,0 @@
-%verify "executed"
-%include "armv5te/OP_SGET_JUMBO.S"
diff --git a/vm/mterp/armv5te/OP_SGET_JUMBO.S b/vm/mterp/armv5te/OP_SGET_JUMBO.S
deleted file mode 100644
index 90f3c68cb..000000000
--- a/vm/mterp/armv5te/OP_SGET_JUMBO.S
+++ /dev/null
@@ -1,53 +0,0 @@
-%default { "barrier":"@ no-op " }
-%verify "executed"
-%verify "field already resolved"
-%verify "field not yet resolved"
-%verify "field cannot be resolved"
- /*
- * Jumbo 32-bit SGET handler.
- *
- * for: sget/jumbo, sget-object/jumbo, sget-boolean/jumbo, sget-byte/jumbo,
- * sget-char/jumbo, sget-short/jumbo
- */
- /* exop vBBBB, field@AAAAAAAA */
- ldr r2, [rSELF, #offThread_methodClassDex] @ r2<- DvmDex
- FETCH(r0, 1) @ r0<- aaaa (lo)
- FETCH(r1, 2) @ r1<- AAAA (hi)
- ldr r10, [r2, #offDvmDex_pResFields] @ r10<- dvmDex->pResFields
- orr r1, r0, r1, lsl #16 @ r1<- AAAAaaaa
- ldr r0, [r10, r1, lsl #2] @ r0<- resolved StaticField ptr
- cmp r0, #0 @ is resolved entry null?
- beq .L${opcode}_resolve @ yes, do resolve
-.L${opcode}_finish: @ field ptr in r0
- ldr r1, [r0, #offStaticField_value] @ r1<- field value
- $barrier @ acquiring load
- FETCH(r2, 3) @ r2<- BBBB
- FETCH_ADVANCE_INST(4) @ advance rPC, load rINST
- SET_VREG(r1, r2) @ fp[BBBB]<- r1
- GET_INST_OPCODE(ip) @ extract opcode from rINST
- GOTO_OPCODE(ip) @ jump to next instruction
-%break
-
- /*
- * Continuation if the field has not yet been resolved.
- * r1: AAAAAAAA field ref
- * r10: dvmDex->pResFields
- */
-.L${opcode}_resolve:
- ldr r2, [rSELF, #offThread_method] @ r2<- current method
-#if defined(WITH_JIT)
- add r10, r10, r1, lsl #2 @ r10<- &dvmDex->pResFields[field]
-#endif
- EXPORT_PC() @ resolve() could throw, so export now
- ldr r0, [r2, #offMethod_clazz] @ r0<- method->clazz
- bl dvmResolveStaticField @ r0<- resolved StaticField ptr
- cmp r0, #0 @ success?
- beq common_exceptionThrown @ no, handle exception
-#if defined(WITH_JIT)
- /*
- * If the JIT is actively building a trace we need to make sure
- * that the field is fully resolved before including this instruction.
- */
- bl common_verifyField
-#endif
- b .L${opcode}_finish @ resume
diff --git a/vm/mterp/armv5te/OP_SGET_OBJECT_JUMBO.S b/vm/mterp/armv5te/OP_SGET_OBJECT_JUMBO.S
deleted file mode 100644
index b38ce7c79..000000000
--- a/vm/mterp/armv5te/OP_SGET_OBJECT_JUMBO.S
+++ /dev/null
@@ -1,2 +0,0 @@
-%verify "executed"
-%include "armv5te/OP_SGET_JUMBO.S"
diff --git a/vm/mterp/armv5te/OP_SGET_OBJECT_VOLATILE_JUMBO.S b/vm/mterp/armv5te/OP_SGET_OBJECT_VOLATILE_JUMBO.S
deleted file mode 100644
index bebc805d5..000000000
--- a/vm/mterp/armv5te/OP_SGET_OBJECT_VOLATILE_JUMBO.S
+++ /dev/null
@@ -1,2 +0,0 @@
-%verify "executed"
-%include "armv5te/OP_SGET_OBJECT_JUMBO.S" {"barrier":"SMP_DMB"}
diff --git a/vm/mterp/armv5te/OP_SGET_SHORT_JUMBO.S b/vm/mterp/armv5te/OP_SGET_SHORT_JUMBO.S
deleted file mode 100644
index b38ce7c79..000000000
--- a/vm/mterp/armv5te/OP_SGET_SHORT_JUMBO.S
+++ /dev/null
@@ -1,2 +0,0 @@
-%verify "executed"
-%include "armv5te/OP_SGET_JUMBO.S"
diff --git a/vm/mterp/armv5te/OP_SGET_VOLATILE_JUMBO.S b/vm/mterp/armv5te/OP_SGET_VOLATILE_JUMBO.S
deleted file mode 100644
index 9075c2832..000000000
--- a/vm/mterp/armv5te/OP_SGET_VOLATILE_JUMBO.S
+++ /dev/null
@@ -1,2 +0,0 @@
-%verify "executed"
-%include "armv5te/OP_SGET_JUMBO.S" {"barrier":"SMP_DMB"}
diff --git a/vm/mterp/armv5te/OP_SGET_WIDE_JUMBO.S b/vm/mterp/armv5te/OP_SGET_WIDE_JUMBO.S
deleted file mode 100644
index c1f5cc750..000000000
--- a/vm/mterp/armv5te/OP_SGET_WIDE_JUMBO.S
+++ /dev/null
@@ -1,46 +0,0 @@
-%default {"volatile":"0"}
-%verify "executed"
-%verify "field already resolved"
-%verify "field not yet resolved"
-%verify "field cannot be resolved"
- /*
- * Jumbo 64-bit SGET handler.
- */
- /* sget-wide/jumbo vBBBB, field@AAAAAAAA */
- ldr r2, [rSELF, #offThread_methodClassDex] @ r2<- DvmDex
- FETCH(r0, 1) @ r0<- aaaa (lo)
- FETCH(r1, 2) @ r1<- AAAA (hi)
- ldr r2, [r2, #offDvmDex_pResFields] @ r2<- dvmDex->pResFields
- orr r1, r0, r1, lsl #16 @ r1<- AAAAaaaa
- ldr r0, [r2, r1, lsl #2] @ r0<- resolved StaticField ptr
- cmp r0, #0 @ is resolved entry null?
- beq .L${opcode}_resolve @ yes, do resolve
-.L${opcode}_finish:
- FETCH(r9, 3) @ r9<- BBBB
- .if $volatile
- add r0, r0, #offStaticField_value @ r0<- pointer to data
- bl dvmQuasiAtomicRead64 @ r0/r1<- contents of field
- .else
- ldrd r0, [r0, #offStaticField_value] @ r0/r1<- field value (aligned)
- .endif
- add r9, rFP, r9, lsl #2 @ r9<- &fp[BBBB]
- FETCH_ADVANCE_INST(4) @ advance rPC, load rINST
- stmia r9, {r0-r1} @ vBBBB/vBBBB+1<- r0/r1
- GET_INST_OPCODE(ip) @ extract opcode from rINST
- GOTO_OPCODE(ip) @ jump to next instruction
-%break
-
- /*
- * Continuation if the field has not yet been resolved.
- * r1: AAAAAAAA field ref
- *
- * Returns StaticField pointer in r0.
- */
-.L${opcode}_resolve:
- ldr r2, [rSELF, #offThread_method] @ r2<- current method
- EXPORT_PC() @ resolve() could throw, so export now
- ldr r0, [r2, #offMethod_clazz] @ r0<- method->clazz
- bl dvmResolveStaticField @ r0<- resolved StaticField ptr
- cmp r0, #0 @ success?
- bne .L${opcode}_finish @ yes, finish
- b common_exceptionThrown @ no, handle exception
diff --git a/vm/mterp/armv5te/OP_SGET_WIDE_VOLATILE_JUMBO.S b/vm/mterp/armv5te/OP_SGET_WIDE_VOLATILE_JUMBO.S
deleted file mode 100644
index 1e4b2de93..000000000
--- a/vm/mterp/armv5te/OP_SGET_WIDE_VOLATILE_JUMBO.S
+++ /dev/null
@@ -1,2 +0,0 @@
-%verify "executed"
-%include "armv5te/OP_SGET_WIDE_JUMBO.S" {"volatile":"1"}
diff --git a/vm/mterp/armv5te/OP_SPUT_BOOLEAN_JUMBO.S b/vm/mterp/armv5te/OP_SPUT_BOOLEAN_JUMBO.S
deleted file mode 100644
index e8a64bea9..000000000
--- a/vm/mterp/armv5te/OP_SPUT_BOOLEAN_JUMBO.S
+++ /dev/null
@@ -1,2 +0,0 @@
-%verify "executed"
-%include "armv5te/OP_SPUT_JUMBO.S"
diff --git a/vm/mterp/armv5te/OP_SPUT_BYTE_JUMBO.S b/vm/mterp/armv5te/OP_SPUT_BYTE_JUMBO.S
deleted file mode 100644
index e8a64bea9..000000000
--- a/vm/mterp/armv5te/OP_SPUT_BYTE_JUMBO.S
+++ /dev/null
@@ -1,2 +0,0 @@
-%verify "executed"
-%include "armv5te/OP_SPUT_JUMBO.S"
diff --git a/vm/mterp/armv5te/OP_SPUT_CHAR_JUMBO.S b/vm/mterp/armv5te/OP_SPUT_CHAR_JUMBO.S
deleted file mode 100644
index e8a64bea9..000000000
--- a/vm/mterp/armv5te/OP_SPUT_CHAR_JUMBO.S
+++ /dev/null
@@ -1,2 +0,0 @@
-%verify "executed"
-%include "armv5te/OP_SPUT_JUMBO.S"
diff --git a/vm/mterp/armv5te/OP_SPUT_JUMBO.S b/vm/mterp/armv5te/OP_SPUT_JUMBO.S
deleted file mode 100644
index 85dea3460..000000000
--- a/vm/mterp/armv5te/OP_SPUT_JUMBO.S
+++ /dev/null
@@ -1,54 +0,0 @@
-%default { "prebarrier":"@ no-op", "postbarrier":"@ no-op " }
-%verify "executed"
-%verify "field already resolved"
-%verify "field not yet resolved"
-%verify "field cannot be resolved"
- /*
- * Jumbo 32-bit SPUT handler.
- *
- * for: sput/jumbo, sput-boolean/jumbo, sput-byte/jumbo, sput-char/jumbo,
- * sput-short/jumbo
- */
- /* exop vBBBB, field@AAAAAAAA */
- ldr r2, [rSELF, #offThread_methodClassDex] @ r2<- DvmDex
- FETCH(r0, 1) @ r0<- aaaa (lo)
- FETCH(r1, 2) @ r1<- AAAA (hi)
- ldr r10, [r2, #offDvmDex_pResFields] @ r10<- dvmDex->pResFields
- orr r1, r0, r1, lsl #16 @ r1<- AAAAaaaa
- ldr r0, [r10, r1, lsl #2] @ r0<- resolved StaticField ptr
- cmp r0, #0 @ is resolved entry null?
- beq .L${opcode}_resolve @ yes, do resolve
-.L${opcode}_finish: @ field ptr in r0
- FETCH(r2, 3) @ r2<- BBBB
- FETCH_ADVANCE_INST(4) @ advance rPC, load rINST
- GET_VREG(r1, r2) @ r1<- fp[BBBB]
- GET_INST_OPCODE(ip) @ extract opcode from rINST
- $prebarrier @ releasing store
- str r1, [r0, #offStaticField_value] @ field<- vBBBB
- $postbarrier
- GOTO_OPCODE(ip) @ jump to next instruction
-%break
-
- /*
- * Continuation if the field has not yet been resolved.
- * r1: AAAAAAAA field ref
- * r10: dvmDex->pResFields
- */
-.L${opcode}_resolve:
- ldr r2, [rSELF, #offThread_method] @ r2<- current method
-#if defined(WITH_JIT)
- add r10, r10, r1, lsl #2 @ r10<- &dvmDex->pResFields[field]
-#endif
- EXPORT_PC() @ resolve() could throw, so export now
- ldr r0, [r2, #offMethod_clazz] @ r0<- method->clazz
- bl dvmResolveStaticField @ r0<- resolved StaticField ptr
- cmp r0, #0 @ success?
- beq common_exceptionThrown @ no, handle exception
-#if defined(WITH_JIT)
- /*
- * If the JIT is actively building a trace we need to make sure
- * that the field is fully resolved before including this instruction.
- */
- bl common_verifyField
-#endif
- b .L${opcode}_finish @ resume
diff --git a/vm/mterp/armv5te/OP_SPUT_OBJECT_JUMBO.S b/vm/mterp/armv5te/OP_SPUT_OBJECT_JUMBO.S
deleted file mode 100644
index 6e5ebe2ed..000000000
--- a/vm/mterp/armv5te/OP_SPUT_OBJECT_JUMBO.S
+++ /dev/null
@@ -1,59 +0,0 @@
-%default { "postbarrier":"@ no-op ", "prebarrier":"@ no-op " }
-%verify "executed"
-%verify "field already resolved"
-%verify "field not yet resolved"
-%verify "field cannot be resolved"
- /*
- * Jumbo 32-bit SPUT handler for objects
- */
- /* sput-object/jumbo vBBBB, field@AAAAAAAA */
- ldr r2, [rSELF, #offThread_methodClassDex] @ r2<- DvmDex
- FETCH(r0, 1) @ r0<- aaaa (lo)
- FETCH(r1, 2) @ r1<- AAAA (hi)
- ldr r10, [r2, #offDvmDex_pResFields] @ r10<- dvmDex->pResFields
- orr r1, r0, r1, lsl #16 @ r1<- AAAAaaaa
- ldr r0, [r10, r1, lsl #2] @ r0<- resolved StaticField ptr
- cmp r0, #0 @ is resolved entry null?
- beq .L${opcode}_resolve @ yes, do resolve
-.L${opcode}_finish: @ field ptr in r0
- FETCH(r2, 3) @ r2<- BBBB
- FETCH_ADVANCE_INST(4) @ advance rPC, load rINST
- GET_VREG(r1, r2) @ r1<- fp[BBBB]
- ldr r2, [rSELF, #offThread_cardTable] @ r2<- card table base
- ldr r9, [r0, #offField_clazz] @ r9<- field->clazz
- GET_INST_OPCODE(ip) @ extract opcode from rINST
- $prebarrier @ releasing store
- b .L${opcode}_end
-%break
-
-
-.L${opcode}_end:
- str r1, [r0, #offStaticField_value] @ field<- vBBBB
- $postbarrier
- cmp r1, #0 @ stored a null object?
- strneb r2, [r2, r9, lsr #GC_CARD_SHIFT] @ mark card based on obj head
- GOTO_OPCODE(ip) @ jump to next instruction
-
- /* Continuation if the field has not yet been resolved.
- * r1: AAAAaaaa field ref
- * r10: dvmDex->pResFields
- */
-.L${opcode}_resolve:
- ldr r2, [rSELF, #offThread_method] @ r9<- current method
-#if defined(WITH_JIT)
- add r10, r10, r1, lsl #2 @ r10<- &dvmDex->pResFields[field]
-#endif
- EXPORT_PC() @ resolve() could throw, so export now
- ldr r0, [r2, #offMethod_clazz] @ r0<- method->clazz
- bl dvmResolveStaticField @ r0<- resolved StaticField ptr
- cmp r0, #0 @ success?
- beq common_exceptionThrown @ no, handle exception
-#if defined(WITH_JIT)
- /*
- * If the JIT is actively building a trace we need to make sure
- * that the field is fully resolved before including this instruction.
- */
- bl common_verifyField
-#endif
- b .L${opcode}_finish @ resume
-
diff --git a/vm/mterp/armv5te/OP_SPUT_OBJECT_VOLATILE_JUMBO.S b/vm/mterp/armv5te/OP_SPUT_OBJECT_VOLATILE_JUMBO.S
deleted file mode 100644
index e8b2b1dfe..000000000
--- a/vm/mterp/armv5te/OP_SPUT_OBJECT_VOLATILE_JUMBO.S
+++ /dev/null
@@ -1,2 +0,0 @@
-%verify "executed"
-%include "armv5te/OP_SPUT_OBJECT_JUMBO.S" {"prebarrier":"SMP_DMB_ST", "postbarrier":"SMP_DMB"}
diff --git a/vm/mterp/armv5te/OP_SPUT_SHORT_JUMBO.S b/vm/mterp/armv5te/OP_SPUT_SHORT_JUMBO.S
deleted file mode 100644
index e8a64bea9..000000000
--- a/vm/mterp/armv5te/OP_SPUT_SHORT_JUMBO.S
+++ /dev/null
@@ -1,2 +0,0 @@
-%verify "executed"
-%include "armv5te/OP_SPUT_JUMBO.S"
diff --git a/vm/mterp/armv5te/OP_SPUT_VOLATILE_JUMBO.S b/vm/mterp/armv5te/OP_SPUT_VOLATILE_JUMBO.S
deleted file mode 100644
index 51270519e..000000000
--- a/vm/mterp/armv5te/OP_SPUT_VOLATILE_JUMBO.S
+++ /dev/null
@@ -1,2 +0,0 @@
-%verify "executed"
-%include "armv5te/OP_SPUT_JUMBO.S" {"prebarrier":"SMP_DMB_ST", "postbarrier":"SMP_DMB"}
diff --git a/vm/mterp/armv5te/OP_SPUT_WIDE_JUMBO.S b/vm/mterp/armv5te/OP_SPUT_WIDE_JUMBO.S
deleted file mode 100644
index 03ea9f92f..000000000
--- a/vm/mterp/armv5te/OP_SPUT_WIDE_JUMBO.S
+++ /dev/null
@@ -1,59 +0,0 @@
-%default {"volatile":"0"}
-%verify "executed"
-%verify "field already resolved"
-%verify "field not yet resolved"
-%verify "field cannot be resolved"
- /*
- * Jumbo 64-bit SPUT handler.
- */
- /* sput-wide/jumbo vBBBB, field@AAAAAAAA */
- ldr r0, [rSELF, #offThread_methodClassDex] @ r0<- DvmDex
- FETCH(r1, 1) @ r1<- aaaa (lo)
- FETCH(r2, 2) @ r2<- AAAA (hi)
- ldr r10, [r0, #offDvmDex_pResFields] @ r10<- dvmDex->pResFields
- orr r1, r1, r2, lsl #16 @ r1<- AAAAaaaa
- FETCH(r9, 3) @ r9<- BBBB
- ldr r2, [r10, r1, lsl #2] @ r2<- resolved StaticField ptr
- add r9, rFP, r9, lsl #2 @ r9<- &fp[BBBB]
- cmp r2, #0 @ is resolved entry null?
- beq .L${opcode}_resolve @ yes, do resolve
-.L${opcode}_finish: @ field ptr in r2, BBBB in r9
- FETCH_ADVANCE_INST(4) @ advance rPC, load rINST
- ldmia r9, {r0-r1} @ r0/r1<- vBBBB/vBBBB+1
- GET_INST_OPCODE(r10) @ extract opcode from rINST
- .if $volatile
- add r2, r2, #offStaticField_value @ r2<- pointer to data
- bl dvmQuasiAtomicSwap64Sync @ stores r0/r1 into addr r2
- .else
- strd r0, [r2, #offStaticField_value] @ field<- vBBBB/vBBBB+1
- .endif
- GOTO_OPCODE(r10) @ jump to next instruction
-%break
-
- /*
- * Continuation if the field has not yet been resolved.
- * r1: AAAAAAAA field ref
- * r9: &fp[BBBB]
- * r10: dvmDex->pResFields
- *
- * Returns StaticField pointer in r2.
- */
-.L${opcode}_resolve:
- ldr r2, [rSELF, #offThread_method] @ r2<- current method
-#if defined(WITH_JIT)
- add r10, r10, r1, lsl #2 @ r10<- &dvmDex->pResFields[field]
-#endif
- EXPORT_PC() @ resolve() could throw, so export now
- ldr r0, [r2, #offMethod_clazz] @ r0<- method->clazz
- bl dvmResolveStaticField @ r0<- resolved StaticField ptr
- cmp r0, #0 @ success?
- mov r2, r0 @ copy to r2
- beq common_exceptionThrown @ no, handle exception
-#if defined(WITH_JIT)
- /*
- * If the JIT is actively building a trace we need to make sure
- * that the field is fully resolved before including this instruction.
- */
- bl common_verifyField
-#endif
- b .L${opcode}_finish @ resume
diff --git a/vm/mterp/armv5te/OP_SPUT_WIDE_VOLATILE_JUMBO.S b/vm/mterp/armv5te/OP_SPUT_WIDE_VOLATILE_JUMBO.S
deleted file mode 100644
index c1b099156..000000000
--- a/vm/mterp/armv5te/OP_SPUT_WIDE_VOLATILE_JUMBO.S
+++ /dev/null
@@ -1,2 +0,0 @@
-%verify "executed"
-%include "armv5te/OP_SPUT_WIDE_JUMBO.S" {"volatile":"1"}
diff --git a/vm/mterp/armv5te/OP_THROW_VERIFICATION_ERROR_JUMBO.S b/vm/mterp/armv5te/OP_THROW_VERIFICATION_ERROR_JUMBO.S
deleted file mode 100644
index f42ba76b9..000000000
--- a/vm/mterp/armv5te/OP_THROW_VERIFICATION_ERROR_JUMBO.S
+++ /dev/null
@@ -1,15 +0,0 @@
-%verify executed
- /*
- * Handle a jumbo throw-verification-error instruction. This throws an
- * exception for an error discovered during verification. The
- * exception is indicated by BBBB, with some detail provided by AAAAAAAA.
- */
- /* exop BBBB, Class@AAAAAAAA */
- FETCH(r1, 1) @ r1<- aaaa (lo)
- FETCH(r2, 2) @ r2<- AAAA (hi)
- ldr r0, [rSELF, #offThread_method] @ r0<- self->method
- orr r2, r1, r2, lsl #16 @ r2<- AAAAaaaa
- EXPORT_PC() @ export the PC
- FETCH(r1, 3) @ r1<- BBBB
- bl dvmThrowVerificationError @ always throws
- b common_exceptionThrown @ handle exception
diff --git a/vm/mterp/armv5te/OP_UNUSED_28FF.S b/vm/mterp/armv5te/OP_UNUSED_28FF.S
deleted file mode 100644
index faa7246f5..000000000
--- a/vm/mterp/armv5te/OP_UNUSED_28FF.S
+++ /dev/null
@@ -1 +0,0 @@
-%include "armv5te/unused.S"
diff --git a/vm/mterp/armv5te/OP_UNUSED_29FF.S b/vm/mterp/armv5te/OP_UNUSED_29FF.S
deleted file mode 100644
index faa7246f5..000000000
--- a/vm/mterp/armv5te/OP_UNUSED_29FF.S
+++ /dev/null
@@ -1 +0,0 @@
-%include "armv5te/unused.S"
diff --git a/vm/mterp/armv5te/OP_UNUSED_2AFF.S b/vm/mterp/armv5te/OP_UNUSED_2AFF.S
deleted file mode 100644
index faa7246f5..000000000
--- a/vm/mterp/armv5te/OP_UNUSED_2AFF.S
+++ /dev/null
@@ -1 +0,0 @@
-%include "armv5te/unused.S"
diff --git a/vm/mterp/armv5te/OP_UNUSED_2BFF.S b/vm/mterp/armv5te/OP_UNUSED_2BFF.S
deleted file mode 100644
index faa7246f5..000000000
--- a/vm/mterp/armv5te/OP_UNUSED_2BFF.S
+++ /dev/null
@@ -1 +0,0 @@
-%include "armv5te/unused.S"
diff --git a/vm/mterp/armv5te/OP_UNUSED_2CFF.S b/vm/mterp/armv5te/OP_UNUSED_2CFF.S
deleted file mode 100644
index faa7246f5..000000000
--- a/vm/mterp/armv5te/OP_UNUSED_2CFF.S
+++ /dev/null
@@ -1 +0,0 @@
-%include "armv5te/unused.S"
diff --git a/vm/mterp/armv5te/OP_UNUSED_2DFF.S b/vm/mterp/armv5te/OP_UNUSED_2DFF.S
deleted file mode 100644
index faa7246f5..000000000
--- a/vm/mterp/armv5te/OP_UNUSED_2DFF.S
+++ /dev/null
@@ -1 +0,0 @@
-%include "armv5te/unused.S"
diff --git a/vm/mterp/armv5te/OP_UNUSED_2EFF.S b/vm/mterp/armv5te/OP_UNUSED_2EFF.S
deleted file mode 100644
index faa7246f5..000000000
--- a/vm/mterp/armv5te/OP_UNUSED_2EFF.S
+++ /dev/null
@@ -1 +0,0 @@
-%include "armv5te/unused.S"
diff --git a/vm/mterp/armv5te/OP_UNUSED_2FFF.S b/vm/mterp/armv5te/OP_UNUSED_2FFF.S
deleted file mode 100644
index faa7246f5..000000000
--- a/vm/mterp/armv5te/OP_UNUSED_2FFF.S
+++ /dev/null
@@ -1 +0,0 @@
-%include "armv5te/unused.S"
diff --git a/vm/mterp/armv5te/OP_UNUSED_30FF.S b/vm/mterp/armv5te/OP_UNUSED_30FF.S
deleted file mode 100644
index faa7246f5..000000000
--- a/vm/mterp/armv5te/OP_UNUSED_30FF.S
+++ /dev/null
@@ -1 +0,0 @@
-%include "armv5te/unused.S"
diff --git a/vm/mterp/armv5te/OP_UNUSED_31FF.S b/vm/mterp/armv5te/OP_UNUSED_31FF.S
deleted file mode 100644
index faa7246f5..000000000
--- a/vm/mterp/armv5te/OP_UNUSED_31FF.S
+++ /dev/null
@@ -1 +0,0 @@
-%include "armv5te/unused.S"
diff --git a/vm/mterp/armv5te/OP_UNUSED_32FF.S b/vm/mterp/armv5te/OP_UNUSED_32FF.S
deleted file mode 100644
index faa7246f5..000000000
--- a/vm/mterp/armv5te/OP_UNUSED_32FF.S
+++ /dev/null
@@ -1 +0,0 @@
-%include "armv5te/unused.S"
diff --git a/vm/mterp/armv5te/OP_UNUSED_33FF.S b/vm/mterp/armv5te/OP_UNUSED_33FF.S
deleted file mode 100644
index faa7246f5..000000000
--- a/vm/mterp/armv5te/OP_UNUSED_33FF.S
+++ /dev/null
@@ -1 +0,0 @@
-%include "armv5te/unused.S"
diff --git a/vm/mterp/armv5te/OP_UNUSED_34FF.S b/vm/mterp/armv5te/OP_UNUSED_34FF.S
deleted file mode 100644
index faa7246f5..000000000
--- a/vm/mterp/armv5te/OP_UNUSED_34FF.S
+++ /dev/null
@@ -1 +0,0 @@
-%include "armv5te/unused.S"
diff --git a/vm/mterp/armv5te/OP_UNUSED_35FF.S b/vm/mterp/armv5te/OP_UNUSED_35FF.S
deleted file mode 100644
index faa7246f5..000000000
--- a/vm/mterp/armv5te/OP_UNUSED_35FF.S
+++ /dev/null
@@ -1 +0,0 @@
-%include "armv5te/unused.S"
diff --git a/vm/mterp/armv5te/OP_UNUSED_36FF.S b/vm/mterp/armv5te/OP_UNUSED_36FF.S
deleted file mode 100644
index faa7246f5..000000000
--- a/vm/mterp/armv5te/OP_UNUSED_36FF.S
+++ /dev/null
@@ -1 +0,0 @@
-%include "armv5te/unused.S"
diff --git a/vm/mterp/armv5te/OP_UNUSED_37FF.S b/vm/mterp/armv5te/OP_UNUSED_37FF.S
deleted file mode 100644
index faa7246f5..000000000
--- a/vm/mterp/armv5te/OP_UNUSED_37FF.S
+++ /dev/null
@@ -1 +0,0 @@
-%include "armv5te/unused.S"
diff --git a/vm/mterp/armv5te/OP_UNUSED_38FF.S b/vm/mterp/armv5te/OP_UNUSED_38FF.S
deleted file mode 100644
index faa7246f5..000000000
--- a/vm/mterp/armv5te/OP_UNUSED_38FF.S
+++ /dev/null
@@ -1 +0,0 @@
-%include "armv5te/unused.S"
diff --git a/vm/mterp/armv5te/OP_UNUSED_39FF.S b/vm/mterp/armv5te/OP_UNUSED_39FF.S
deleted file mode 100644
index faa7246f5..000000000
--- a/vm/mterp/armv5te/OP_UNUSED_39FF.S
+++ /dev/null
@@ -1 +0,0 @@
-%include "armv5te/unused.S"
diff --git a/vm/mterp/armv5te/OP_UNUSED_3AFF.S b/vm/mterp/armv5te/OP_UNUSED_3AFF.S
deleted file mode 100644
index faa7246f5..000000000
--- a/vm/mterp/armv5te/OP_UNUSED_3AFF.S
+++ /dev/null
@@ -1 +0,0 @@
-%include "armv5te/unused.S"
diff --git a/vm/mterp/armv5te/OP_UNUSED_3BFF.S b/vm/mterp/armv5te/OP_UNUSED_3BFF.S
deleted file mode 100644
index faa7246f5..000000000
--- a/vm/mterp/armv5te/OP_UNUSED_3BFF.S
+++ /dev/null
@@ -1 +0,0 @@
-%include "armv5te/unused.S"
diff --git a/vm/mterp/armv5te/OP_UNUSED_3CFF.S b/vm/mterp/armv5te/OP_UNUSED_3CFF.S
deleted file mode 100644
index faa7246f5..000000000
--- a/vm/mterp/armv5te/OP_UNUSED_3CFF.S
+++ /dev/null
@@ -1 +0,0 @@
-%include "armv5te/unused.S"
diff --git a/vm/mterp/armv5te/OP_UNUSED_3DFF.S b/vm/mterp/armv5te/OP_UNUSED_3DFF.S
deleted file mode 100644
index faa7246f5..000000000
--- a/vm/mterp/armv5te/OP_UNUSED_3DFF.S
+++ /dev/null
@@ -1 +0,0 @@
-%include "armv5te/unused.S"
diff --git a/vm/mterp/armv5te/OP_UNUSED_3EFF.S b/vm/mterp/armv5te/OP_UNUSED_3EFF.S
deleted file mode 100644
index faa7246f5..000000000
--- a/vm/mterp/armv5te/OP_UNUSED_3EFF.S
+++ /dev/null
@@ -1 +0,0 @@
-%include "armv5te/unused.S"
diff --git a/vm/mterp/armv5te/OP_UNUSED_3FFF.S b/vm/mterp/armv5te/OP_UNUSED_3FFF.S
deleted file mode 100644
index faa7246f5..000000000
--- a/vm/mterp/armv5te/OP_UNUSED_3FFF.S
+++ /dev/null
@@ -1 +0,0 @@
-%include "armv5te/unused.S"
diff --git a/vm/mterp/armv5te/OP_UNUSED_40FF.S b/vm/mterp/armv5te/OP_UNUSED_40FF.S
deleted file mode 100644
index faa7246f5..000000000
--- a/vm/mterp/armv5te/OP_UNUSED_40FF.S
+++ /dev/null
@@ -1 +0,0 @@
-%include "armv5te/unused.S"
diff --git a/vm/mterp/armv5te/OP_UNUSED_41FF.S b/vm/mterp/armv5te/OP_UNUSED_41FF.S
deleted file mode 100644
index faa7246f5..000000000
--- a/vm/mterp/armv5te/OP_UNUSED_41FF.S
+++ /dev/null
@@ -1 +0,0 @@
-%include "armv5te/unused.S"
diff --git a/vm/mterp/armv5te/OP_UNUSED_42FF.S b/vm/mterp/armv5te/OP_UNUSED_42FF.S
deleted file mode 100644
index faa7246f5..000000000
--- a/vm/mterp/armv5te/OP_UNUSED_42FF.S
+++ /dev/null
@@ -1 +0,0 @@
-%include "armv5te/unused.S"
diff --git a/vm/mterp/armv5te/OP_UNUSED_43FF.S b/vm/mterp/armv5te/OP_UNUSED_43FF.S
deleted file mode 100644
index faa7246f5..000000000
--- a/vm/mterp/armv5te/OP_UNUSED_43FF.S
+++ /dev/null
@@ -1 +0,0 @@
-%include "armv5te/unused.S"
diff --git a/vm/mterp/armv5te/OP_UNUSED_44FF.S b/vm/mterp/armv5te/OP_UNUSED_44FF.S
deleted file mode 100644
index faa7246f5..000000000
--- a/vm/mterp/armv5te/OP_UNUSED_44FF.S
+++ /dev/null
@@ -1 +0,0 @@
-%include "armv5te/unused.S"
diff --git a/vm/mterp/armv5te/OP_UNUSED_45FF.S b/vm/mterp/armv5te/OP_UNUSED_45FF.S
deleted file mode 100644
index faa7246f5..000000000
--- a/vm/mterp/armv5te/OP_UNUSED_45FF.S
+++ /dev/null
@@ -1 +0,0 @@
-%include "armv5te/unused.S"
diff --git a/vm/mterp/armv5te/OP_UNUSED_46FF.S b/vm/mterp/armv5te/OP_UNUSED_46FF.S
deleted file mode 100644
index faa7246f5..000000000
--- a/vm/mterp/armv5te/OP_UNUSED_46FF.S
+++ /dev/null
@@ -1 +0,0 @@
-%include "armv5te/unused.S"
diff --git a/vm/mterp/armv5te/OP_UNUSED_47FF.S b/vm/mterp/armv5te/OP_UNUSED_47FF.S
deleted file mode 100644
index faa7246f5..000000000
--- a/vm/mterp/armv5te/OP_UNUSED_47FF.S
+++ /dev/null
@@ -1 +0,0 @@
-%include "armv5te/unused.S"
diff --git a/vm/mterp/armv5te/OP_UNUSED_48FF.S b/vm/mterp/armv5te/OP_UNUSED_48FF.S
deleted file mode 100644
index faa7246f5..000000000
--- a/vm/mterp/armv5te/OP_UNUSED_48FF.S
+++ /dev/null
@@ -1 +0,0 @@
-%include "armv5te/unused.S"
diff --git a/vm/mterp/armv5te/OP_UNUSED_49FF.S b/vm/mterp/armv5te/OP_UNUSED_49FF.S
deleted file mode 100644
index faa7246f5..000000000
--- a/vm/mterp/armv5te/OP_UNUSED_49FF.S
+++ /dev/null
@@ -1 +0,0 @@
-%include "armv5te/unused.S"
diff --git a/vm/mterp/armv5te/OP_UNUSED_4AFF.S b/vm/mterp/armv5te/OP_UNUSED_4AFF.S
deleted file mode 100644
index faa7246f5..000000000
--- a/vm/mterp/armv5te/OP_UNUSED_4AFF.S
+++ /dev/null
@@ -1 +0,0 @@
-%include "armv5te/unused.S"
diff --git a/vm/mterp/armv5te/OP_UNUSED_4BFF.S b/vm/mterp/armv5te/OP_UNUSED_4BFF.S
deleted file mode 100644
index faa7246f5..000000000
--- a/vm/mterp/armv5te/OP_UNUSED_4BFF.S
+++ /dev/null
@@ -1 +0,0 @@
-%include "armv5te/unused.S"
diff --git a/vm/mterp/armv5te/OP_UNUSED_4CFF.S b/vm/mterp/armv5te/OP_UNUSED_4CFF.S
deleted file mode 100644
index faa7246f5..000000000
--- a/vm/mterp/armv5te/OP_UNUSED_4CFF.S
+++ /dev/null
@@ -1 +0,0 @@
-%include "armv5te/unused.S"
diff --git a/vm/mterp/armv5te/OP_UNUSED_4DFF.S b/vm/mterp/armv5te/OP_UNUSED_4DFF.S
deleted file mode 100644
index faa7246f5..000000000
--- a/vm/mterp/armv5te/OP_UNUSED_4DFF.S
+++ /dev/null
@@ -1 +0,0 @@
-%include "armv5te/unused.S"
diff --git a/vm/mterp/armv5te/OP_UNUSED_4EFF.S b/vm/mterp/armv5te/OP_UNUSED_4EFF.S
deleted file mode 100644
index faa7246f5..000000000
--- a/vm/mterp/armv5te/OP_UNUSED_4EFF.S
+++ /dev/null
@@ -1 +0,0 @@
-%include "armv5te/unused.S"
diff --git a/vm/mterp/armv5te/OP_UNUSED_4FFF.S b/vm/mterp/armv5te/OP_UNUSED_4FFF.S
deleted file mode 100644
index faa7246f5..000000000
--- a/vm/mterp/armv5te/OP_UNUSED_4FFF.S
+++ /dev/null
@@ -1 +0,0 @@
-%include "armv5te/unused.S"
diff --git a/vm/mterp/armv5te/OP_UNUSED_50FF.S b/vm/mterp/armv5te/OP_UNUSED_50FF.S
deleted file mode 100644
index faa7246f5..000000000
--- a/vm/mterp/armv5te/OP_UNUSED_50FF.S
+++ /dev/null
@@ -1 +0,0 @@
-%include "armv5te/unused.S"
diff --git a/vm/mterp/armv5te/OP_UNUSED_51FF.S b/vm/mterp/armv5te/OP_UNUSED_51FF.S
deleted file mode 100644
index faa7246f5..000000000
--- a/vm/mterp/armv5te/OP_UNUSED_51FF.S
+++ /dev/null
@@ -1 +0,0 @@
-%include "armv5te/unused.S"
diff --git a/vm/mterp/armv5te/OP_UNUSED_52FF.S b/vm/mterp/armv5te/OP_UNUSED_52FF.S
deleted file mode 100644
index faa7246f5..000000000
--- a/vm/mterp/armv5te/OP_UNUSED_52FF.S
+++ /dev/null
@@ -1 +0,0 @@
-%include "armv5te/unused.S"
diff --git a/vm/mterp/armv5te/OP_UNUSED_53FF.S b/vm/mterp/armv5te/OP_UNUSED_53FF.S
deleted file mode 100644
index faa7246f5..000000000
--- a/vm/mterp/armv5te/OP_UNUSED_53FF.S
+++ /dev/null
@@ -1 +0,0 @@
-%include "armv5te/unused.S"
diff --git a/vm/mterp/armv5te/OP_UNUSED_54FF.S b/vm/mterp/armv5te/OP_UNUSED_54FF.S
deleted file mode 100644
index faa7246f5..000000000
--- a/vm/mterp/armv5te/OP_UNUSED_54FF.S
+++ /dev/null
@@ -1 +0,0 @@
-%include "armv5te/unused.S"
diff --git a/vm/mterp/armv5te/OP_UNUSED_55FF.S b/vm/mterp/armv5te/OP_UNUSED_55FF.S
deleted file mode 100644
index faa7246f5..000000000
--- a/vm/mterp/armv5te/OP_UNUSED_55FF.S
+++ /dev/null
@@ -1 +0,0 @@
-%include "armv5te/unused.S"
diff --git a/vm/mterp/armv5te/OP_UNUSED_56FF.S b/vm/mterp/armv5te/OP_UNUSED_56FF.S
deleted file mode 100644
index faa7246f5..000000000
--- a/vm/mterp/armv5te/OP_UNUSED_56FF.S
+++ /dev/null
@@ -1 +0,0 @@
-%include "armv5te/unused.S"
diff --git a/vm/mterp/armv5te/OP_UNUSED_57FF.S b/vm/mterp/armv5te/OP_UNUSED_57FF.S
deleted file mode 100644
index faa7246f5..000000000
--- a/vm/mterp/armv5te/OP_UNUSED_57FF.S
+++ /dev/null
@@ -1 +0,0 @@
-%include "armv5te/unused.S"
diff --git a/vm/mterp/armv5te/OP_UNUSED_58FF.S b/vm/mterp/armv5te/OP_UNUSED_58FF.S
deleted file mode 100644
index faa7246f5..000000000
--- a/vm/mterp/armv5te/OP_UNUSED_58FF.S
+++ /dev/null
@@ -1 +0,0 @@
-%include "armv5te/unused.S"
diff --git a/vm/mterp/armv5te/OP_UNUSED_59FF.S b/vm/mterp/armv5te/OP_UNUSED_59FF.S
deleted file mode 100644
index faa7246f5..000000000
--- a/vm/mterp/armv5te/OP_UNUSED_59FF.S
+++ /dev/null
@@ -1 +0,0 @@
-%include "armv5te/unused.S"
diff --git a/vm/mterp/armv5te/OP_UNUSED_5AFF.S b/vm/mterp/armv5te/OP_UNUSED_5AFF.S
deleted file mode 100644
index faa7246f5..000000000
--- a/vm/mterp/armv5te/OP_UNUSED_5AFF.S
+++ /dev/null
@@ -1 +0,0 @@
-%include "armv5te/unused.S"
diff --git a/vm/mterp/armv5te/OP_UNUSED_5BFF.S b/vm/mterp/armv5te/OP_UNUSED_5BFF.S
deleted file mode 100644
index faa7246f5..000000000
--- a/vm/mterp/armv5te/OP_UNUSED_5BFF.S
+++ /dev/null
@@ -1 +0,0 @@
-%include "armv5te/unused.S"
diff --git a/vm/mterp/armv5te/OP_UNUSED_5CFF.S b/vm/mterp/armv5te/OP_UNUSED_5CFF.S
deleted file mode 100644
index faa7246f5..000000000
--- a/vm/mterp/armv5te/OP_UNUSED_5CFF.S
+++ /dev/null
@@ -1 +0,0 @@
-%include "armv5te/unused.S"
diff --git a/vm/mterp/armv5te/OP_UNUSED_5DFF.S b/vm/mterp/armv5te/OP_UNUSED_5DFF.S
deleted file mode 100644
index faa7246f5..000000000
--- a/vm/mterp/armv5te/OP_UNUSED_5DFF.S
+++ /dev/null
@@ -1 +0,0 @@
-%include "armv5te/unused.S"
diff --git a/vm/mterp/armv5te/OP_UNUSED_5EFF.S b/vm/mterp/armv5te/OP_UNUSED_5EFF.S
deleted file mode 100644
index faa7246f5..000000000
--- a/vm/mterp/armv5te/OP_UNUSED_5EFF.S
+++ /dev/null
@@ -1 +0,0 @@
-%include "armv5te/unused.S"
diff --git a/vm/mterp/armv5te/OP_UNUSED_5FFF.S b/vm/mterp/armv5te/OP_UNUSED_5FFF.S
deleted file mode 100644
index faa7246f5..000000000
--- a/vm/mterp/armv5te/OP_UNUSED_5FFF.S
+++ /dev/null
@@ -1 +0,0 @@
-%include "armv5te/unused.S"
diff --git a/vm/mterp/armv5te/OP_UNUSED_60FF.S b/vm/mterp/armv5te/OP_UNUSED_60FF.S
deleted file mode 100644
index faa7246f5..000000000
--- a/vm/mterp/armv5te/OP_UNUSED_60FF.S
+++ /dev/null
@@ -1 +0,0 @@
-%include "armv5te/unused.S"
diff --git a/vm/mterp/armv5te/OP_UNUSED_61FF.S b/vm/mterp/armv5te/OP_UNUSED_61FF.S
deleted file mode 100644
index faa7246f5..000000000
--- a/vm/mterp/armv5te/OP_UNUSED_61FF.S
+++ /dev/null
@@ -1 +0,0 @@
-%include "armv5te/unused.S"
diff --git a/vm/mterp/armv5te/OP_UNUSED_62FF.S b/vm/mterp/armv5te/OP_UNUSED_62FF.S
deleted file mode 100644
index faa7246f5..000000000
--- a/vm/mterp/armv5te/OP_UNUSED_62FF.S
+++ /dev/null
@@ -1 +0,0 @@
-%include "armv5te/unused.S"
diff --git a/vm/mterp/armv5te/OP_UNUSED_63FF.S b/vm/mterp/armv5te/OP_UNUSED_63FF.S
deleted file mode 100644
index faa7246f5..000000000
--- a/vm/mterp/armv5te/OP_UNUSED_63FF.S
+++ /dev/null
@@ -1 +0,0 @@
-%include "armv5te/unused.S"
diff --git a/vm/mterp/armv5te/OP_UNUSED_64FF.S b/vm/mterp/armv5te/OP_UNUSED_64FF.S
deleted file mode 100644
index faa7246f5..000000000
--- a/vm/mterp/armv5te/OP_UNUSED_64FF.S
+++ /dev/null
@@ -1 +0,0 @@
-%include "armv5te/unused.S"
diff --git a/vm/mterp/armv5te/OP_UNUSED_65FF.S b/vm/mterp/armv5te/OP_UNUSED_65FF.S
deleted file mode 100644
index faa7246f5..000000000
--- a/vm/mterp/armv5te/OP_UNUSED_65FF.S
+++ /dev/null
@@ -1 +0,0 @@
-%include "armv5te/unused.S"
diff --git a/vm/mterp/armv5te/OP_UNUSED_66FF.S b/vm/mterp/armv5te/OP_UNUSED_66FF.S
deleted file mode 100644
index faa7246f5..000000000
--- a/vm/mterp/armv5te/OP_UNUSED_66FF.S
+++ /dev/null
@@ -1 +0,0 @@
-%include "armv5te/unused.S"
diff --git a/vm/mterp/armv5te/OP_UNUSED_67FF.S b/vm/mterp/armv5te/OP_UNUSED_67FF.S
deleted file mode 100644
index faa7246f5..000000000
--- a/vm/mterp/armv5te/OP_UNUSED_67FF.S
+++ /dev/null
@@ -1 +0,0 @@
-%include "armv5te/unused.S"
diff --git a/vm/mterp/armv5te/OP_UNUSED_68FF.S b/vm/mterp/armv5te/OP_UNUSED_68FF.S
deleted file mode 100644
index faa7246f5..000000000
--- a/vm/mterp/armv5te/OP_UNUSED_68FF.S
+++ /dev/null
@@ -1 +0,0 @@
-%include "armv5te/unused.S"
diff --git a/vm/mterp/armv5te/OP_UNUSED_69FF.S b/vm/mterp/armv5te/OP_UNUSED_69FF.S
deleted file mode 100644
index faa7246f5..000000000
--- a/vm/mterp/armv5te/OP_UNUSED_69FF.S
+++ /dev/null
@@ -1 +0,0 @@
-%include "armv5te/unused.S"
diff --git a/vm/mterp/armv5te/OP_UNUSED_6AFF.S b/vm/mterp/armv5te/OP_UNUSED_6AFF.S
deleted file mode 100644
index faa7246f5..000000000
--- a/vm/mterp/armv5te/OP_UNUSED_6AFF.S
+++ /dev/null
@@ -1 +0,0 @@
-%include "armv5te/unused.S"
diff --git a/vm/mterp/armv5te/OP_UNUSED_6BFF.S b/vm/mterp/armv5te/OP_UNUSED_6BFF.S
deleted file mode 100644
index faa7246f5..000000000
--- a/vm/mterp/armv5te/OP_UNUSED_6BFF.S
+++ /dev/null
@@ -1 +0,0 @@
-%include "armv5te/unused.S"
diff --git a/vm/mterp/armv5te/OP_UNUSED_6CFF.S b/vm/mterp/armv5te/OP_UNUSED_6CFF.S
deleted file mode 100644
index faa7246f5..000000000
--- a/vm/mterp/armv5te/OP_UNUSED_6CFF.S
+++ /dev/null
@@ -1 +0,0 @@
-%include "armv5te/unused.S"
diff --git a/vm/mterp/armv5te/OP_UNUSED_6DFF.S b/vm/mterp/armv5te/OP_UNUSED_6DFF.S
deleted file mode 100644
index faa7246f5..000000000
--- a/vm/mterp/armv5te/OP_UNUSED_6DFF.S
+++ /dev/null
@@ -1 +0,0 @@
-%include "armv5te/unused.S"
diff --git a/vm/mterp/armv5te/OP_UNUSED_6EFF.S b/vm/mterp/armv5te/OP_UNUSED_6EFF.S
deleted file mode 100644
index faa7246f5..000000000
--- a/vm/mterp/armv5te/OP_UNUSED_6EFF.S
+++ /dev/null
@@ -1 +0,0 @@
-%include "armv5te/unused.S"
diff --git a/vm/mterp/armv5te/OP_UNUSED_6FFF.S b/vm/mterp/armv5te/OP_UNUSED_6FFF.S
deleted file mode 100644
index faa7246f5..000000000
--- a/vm/mterp/armv5te/OP_UNUSED_6FFF.S
+++ /dev/null
@@ -1 +0,0 @@
-%include "armv5te/unused.S"
diff --git a/vm/mterp/armv5te/OP_UNUSED_70FF.S b/vm/mterp/armv5te/OP_UNUSED_70FF.S
deleted file mode 100644
index faa7246f5..000000000
--- a/vm/mterp/armv5te/OP_UNUSED_70FF.S
+++ /dev/null
@@ -1 +0,0 @@
-%include "armv5te/unused.S"
diff --git a/vm/mterp/armv5te/OP_UNUSED_71FF.S b/vm/mterp/armv5te/OP_UNUSED_71FF.S
deleted file mode 100644
index faa7246f5..000000000
--- a/vm/mterp/armv5te/OP_UNUSED_71FF.S
+++ /dev/null
@@ -1 +0,0 @@
-%include "armv5te/unused.S"
diff --git a/vm/mterp/armv5te/OP_UNUSED_72FF.S b/vm/mterp/armv5te/OP_UNUSED_72FF.S
deleted file mode 100644
index faa7246f5..000000000
--- a/vm/mterp/armv5te/OP_UNUSED_72FF.S
+++ /dev/null
@@ -1 +0,0 @@
-%include "armv5te/unused.S"
diff --git a/vm/mterp/armv5te/OP_UNUSED_73FF.S b/vm/mterp/armv5te/OP_UNUSED_73FF.S
deleted file mode 100644
index faa7246f5..000000000
--- a/vm/mterp/armv5te/OP_UNUSED_73FF.S
+++ /dev/null
@@ -1 +0,0 @@
-%include "armv5te/unused.S"
diff --git a/vm/mterp/armv5te/OP_UNUSED_74FF.S b/vm/mterp/armv5te/OP_UNUSED_74FF.S
deleted file mode 100644
index faa7246f5..000000000
--- a/vm/mterp/armv5te/OP_UNUSED_74FF.S
+++ /dev/null
@@ -1 +0,0 @@
-%include "armv5te/unused.S"
diff --git a/vm/mterp/armv5te/OP_UNUSED_75FF.S b/vm/mterp/armv5te/OP_UNUSED_75FF.S
deleted file mode 100644
index faa7246f5..000000000
--- a/vm/mterp/armv5te/OP_UNUSED_75FF.S
+++ /dev/null
@@ -1 +0,0 @@
-%include "armv5te/unused.S"
diff --git a/vm/mterp/armv5te/OP_UNUSED_76FF.S b/vm/mterp/armv5te/OP_UNUSED_76FF.S
deleted file mode 100644
index faa7246f5..000000000
--- a/vm/mterp/armv5te/OP_UNUSED_76FF.S
+++ /dev/null
@@ -1 +0,0 @@
-%include "armv5te/unused.S"
diff --git a/vm/mterp/armv5te/OP_UNUSED_77FF.S b/vm/mterp/armv5te/OP_UNUSED_77FF.S
deleted file mode 100644
index faa7246f5..000000000
--- a/vm/mterp/armv5te/OP_UNUSED_77FF.S
+++ /dev/null
@@ -1 +0,0 @@
-%include "armv5te/unused.S"
diff --git a/vm/mterp/armv5te/OP_UNUSED_78FF.S b/vm/mterp/armv5te/OP_UNUSED_78FF.S
deleted file mode 100644
index faa7246f5..000000000
--- a/vm/mterp/armv5te/OP_UNUSED_78FF.S
+++ /dev/null
@@ -1 +0,0 @@
-%include "armv5te/unused.S"
diff --git a/vm/mterp/armv5te/OP_UNUSED_79FF.S b/vm/mterp/armv5te/OP_UNUSED_79FF.S
deleted file mode 100644
index faa7246f5..000000000
--- a/vm/mterp/armv5te/OP_UNUSED_79FF.S
+++ /dev/null
@@ -1 +0,0 @@
-%include "armv5te/unused.S"
diff --git a/vm/mterp/armv5te/OP_UNUSED_7AFF.S b/vm/mterp/armv5te/OP_UNUSED_7AFF.S
deleted file mode 100644
index faa7246f5..000000000
--- a/vm/mterp/armv5te/OP_UNUSED_7AFF.S
+++ /dev/null
@@ -1 +0,0 @@
-%include "armv5te/unused.S"
diff --git a/vm/mterp/armv5te/OP_UNUSED_7BFF.S b/vm/mterp/armv5te/OP_UNUSED_7BFF.S
deleted file mode 100644
index faa7246f5..000000000
--- a/vm/mterp/armv5te/OP_UNUSED_7BFF.S
+++ /dev/null
@@ -1 +0,0 @@
-%include "armv5te/unused.S"
diff --git a/vm/mterp/armv5te/OP_UNUSED_7CFF.S b/vm/mterp/armv5te/OP_UNUSED_7CFF.S
deleted file mode 100644
index faa7246f5..000000000
--- a/vm/mterp/armv5te/OP_UNUSED_7CFF.S
+++ /dev/null
@@ -1 +0,0 @@
-%include "armv5te/unused.S"
diff --git a/vm/mterp/armv5te/OP_UNUSED_7DFF.S b/vm/mterp/armv5te/OP_UNUSED_7DFF.S
deleted file mode 100644
index faa7246f5..000000000
--- a/vm/mterp/armv5te/OP_UNUSED_7DFF.S
+++ /dev/null
@@ -1 +0,0 @@
-%include "armv5te/unused.S"
diff --git a/vm/mterp/armv5te/OP_UNUSED_7EFF.S b/vm/mterp/armv5te/OP_UNUSED_7EFF.S
deleted file mode 100644
index faa7246f5..000000000
--- a/vm/mterp/armv5te/OP_UNUSED_7EFF.S
+++ /dev/null
@@ -1 +0,0 @@
-%include "armv5te/unused.S"
diff --git a/vm/mterp/armv5te/OP_UNUSED_7FFF.S b/vm/mterp/armv5te/OP_UNUSED_7FFF.S
deleted file mode 100644
index faa7246f5..000000000
--- a/vm/mterp/armv5te/OP_UNUSED_7FFF.S
+++ /dev/null
@@ -1 +0,0 @@
-%include "armv5te/unused.S"
diff --git a/vm/mterp/armv5te/OP_UNUSED_80FF.S b/vm/mterp/armv5te/OP_UNUSED_80FF.S
deleted file mode 100644
index faa7246f5..000000000
--- a/vm/mterp/armv5te/OP_UNUSED_80FF.S
+++ /dev/null
@@ -1 +0,0 @@
-%include "armv5te/unused.S"
diff --git a/vm/mterp/armv5te/OP_UNUSED_81FF.S b/vm/mterp/armv5te/OP_UNUSED_81FF.S
deleted file mode 100644
index faa7246f5..000000000
--- a/vm/mterp/armv5te/OP_UNUSED_81FF.S
+++ /dev/null
@@ -1 +0,0 @@
-%include "armv5te/unused.S"
diff --git a/vm/mterp/armv5te/OP_UNUSED_82FF.S b/vm/mterp/armv5te/OP_UNUSED_82FF.S
deleted file mode 100644
index faa7246f5..000000000
--- a/vm/mterp/armv5te/OP_UNUSED_82FF.S
+++ /dev/null
@@ -1 +0,0 @@
-%include "armv5te/unused.S"
diff --git a/vm/mterp/armv5te/OP_UNUSED_83FF.S b/vm/mterp/armv5te/OP_UNUSED_83FF.S
deleted file mode 100644
index faa7246f5..000000000
--- a/vm/mterp/armv5te/OP_UNUSED_83FF.S
+++ /dev/null
@@ -1 +0,0 @@
-%include "armv5te/unused.S"
diff --git a/vm/mterp/armv5te/OP_UNUSED_84FF.S b/vm/mterp/armv5te/OP_UNUSED_84FF.S
deleted file mode 100644
index faa7246f5..000000000
--- a/vm/mterp/armv5te/OP_UNUSED_84FF.S
+++ /dev/null
@@ -1 +0,0 @@
-%include "armv5te/unused.S"
diff --git a/vm/mterp/armv5te/OP_UNUSED_85FF.S b/vm/mterp/armv5te/OP_UNUSED_85FF.S
deleted file mode 100644
index faa7246f5..000000000
--- a/vm/mterp/armv5te/OP_UNUSED_85FF.S
+++ /dev/null
@@ -1 +0,0 @@
-%include "armv5te/unused.S"
diff --git a/vm/mterp/armv5te/OP_UNUSED_86FF.S b/vm/mterp/armv5te/OP_UNUSED_86FF.S
deleted file mode 100644
index faa7246f5..000000000
--- a/vm/mterp/armv5te/OP_UNUSED_86FF.S
+++ /dev/null
@@ -1 +0,0 @@
-%include "armv5te/unused.S"
diff --git a/vm/mterp/armv5te/OP_UNUSED_87FF.S b/vm/mterp/armv5te/OP_UNUSED_87FF.S
deleted file mode 100644
index faa7246f5..000000000
--- a/vm/mterp/armv5te/OP_UNUSED_87FF.S
+++ /dev/null
@@ -1 +0,0 @@
-%include "armv5te/unused.S"
diff --git a/vm/mterp/armv5te/OP_UNUSED_88FF.S b/vm/mterp/armv5te/OP_UNUSED_88FF.S
deleted file mode 100644
index faa7246f5..000000000
--- a/vm/mterp/armv5te/OP_UNUSED_88FF.S
+++ /dev/null
@@ -1 +0,0 @@
-%include "armv5te/unused.S"
diff --git a/vm/mterp/armv5te/OP_UNUSED_89FF.S b/vm/mterp/armv5te/OP_UNUSED_89FF.S
deleted file mode 100644
index faa7246f5..000000000
--- a/vm/mterp/armv5te/OP_UNUSED_89FF.S
+++ /dev/null
@@ -1 +0,0 @@
-%include "armv5te/unused.S"
diff --git a/vm/mterp/armv5te/OP_UNUSED_8AFF.S b/vm/mterp/armv5te/OP_UNUSED_8AFF.S
deleted file mode 100644
index faa7246f5..000000000
--- a/vm/mterp/armv5te/OP_UNUSED_8AFF.S
+++ /dev/null
@@ -1 +0,0 @@
-%include "armv5te/unused.S"
diff --git a/vm/mterp/armv5te/OP_UNUSED_8BFF.S b/vm/mterp/armv5te/OP_UNUSED_8BFF.S
deleted file mode 100644
index faa7246f5..000000000
--- a/vm/mterp/armv5te/OP_UNUSED_8BFF.S
+++ /dev/null
@@ -1 +0,0 @@
-%include "armv5te/unused.S"
diff --git a/vm/mterp/armv5te/OP_UNUSED_8CFF.S b/vm/mterp/armv5te/OP_UNUSED_8CFF.S
deleted file mode 100644
index faa7246f5..000000000
--- a/vm/mterp/armv5te/OP_UNUSED_8CFF.S
+++ /dev/null
@@ -1 +0,0 @@
-%include "armv5te/unused.S"
diff --git a/vm/mterp/armv5te/OP_UNUSED_8DFF.S b/vm/mterp/armv5te/OP_UNUSED_8DFF.S
deleted file mode 100644
index faa7246f5..000000000
--- a/vm/mterp/armv5te/OP_UNUSED_8DFF.S
+++ /dev/null
@@ -1 +0,0 @@
-%include "armv5te/unused.S"
diff --git a/vm/mterp/armv5te/OP_UNUSED_8EFF.S b/vm/mterp/armv5te/OP_UNUSED_8EFF.S
deleted file mode 100644
index faa7246f5..000000000
--- a/vm/mterp/armv5te/OP_UNUSED_8EFF.S
+++ /dev/null
@@ -1 +0,0 @@
-%include "armv5te/unused.S"
diff --git a/vm/mterp/armv5te/OP_UNUSED_8FFF.S b/vm/mterp/armv5te/OP_UNUSED_8FFF.S
deleted file mode 100644
index faa7246f5..000000000
--- a/vm/mterp/armv5te/OP_UNUSED_8FFF.S
+++ /dev/null
@@ -1 +0,0 @@
-%include "armv5te/unused.S"
diff --git a/vm/mterp/armv5te/OP_UNUSED_90FF.S b/vm/mterp/armv5te/OP_UNUSED_90FF.S
deleted file mode 100644
index faa7246f5..000000000
--- a/vm/mterp/armv5te/OP_UNUSED_90FF.S
+++ /dev/null
@@ -1 +0,0 @@
-%include "armv5te/unused.S"
diff --git a/vm/mterp/armv5te/OP_UNUSED_91FF.S b/vm/mterp/armv5te/OP_UNUSED_91FF.S
deleted file mode 100644
index faa7246f5..000000000
--- a/vm/mterp/armv5te/OP_UNUSED_91FF.S
+++ /dev/null
@@ -1 +0,0 @@
-%include "armv5te/unused.S"
diff --git a/vm/mterp/armv5te/OP_UNUSED_92FF.S b/vm/mterp/armv5te/OP_UNUSED_92FF.S
deleted file mode 100644
index faa7246f5..000000000
--- a/vm/mterp/armv5te/OP_UNUSED_92FF.S
+++ /dev/null
@@ -1 +0,0 @@
-%include "armv5te/unused.S"
diff --git a/vm/mterp/armv5te/OP_UNUSED_93FF.S b/vm/mterp/armv5te/OP_UNUSED_93FF.S
deleted file mode 100644
index faa7246f5..000000000
--- a/vm/mterp/armv5te/OP_UNUSED_93FF.S
+++ /dev/null
@@ -1 +0,0 @@
-%include "armv5te/unused.S"
diff --git a/vm/mterp/armv5te/OP_UNUSED_94FF.S b/vm/mterp/armv5te/OP_UNUSED_94FF.S
deleted file mode 100644
index faa7246f5..000000000
--- a/vm/mterp/armv5te/OP_UNUSED_94FF.S
+++ /dev/null
@@ -1 +0,0 @@
-%include "armv5te/unused.S"
diff --git a/vm/mterp/armv5te/OP_UNUSED_95FF.S b/vm/mterp/armv5te/OP_UNUSED_95FF.S
deleted file mode 100644
index faa7246f5..000000000
--- a/vm/mterp/armv5te/OP_UNUSED_95FF.S
+++ /dev/null
@@ -1 +0,0 @@
-%include "armv5te/unused.S"
diff --git a/vm/mterp/armv5te/OP_UNUSED_96FF.S b/vm/mterp/armv5te/OP_UNUSED_96FF.S
deleted file mode 100644
index faa7246f5..000000000
--- a/vm/mterp/armv5te/OP_UNUSED_96FF.S
+++ /dev/null
@@ -1 +0,0 @@
-%include "armv5te/unused.S"
diff --git a/vm/mterp/armv5te/OP_UNUSED_97FF.S b/vm/mterp/armv5te/OP_UNUSED_97FF.S
deleted file mode 100644
index faa7246f5..000000000
--- a/vm/mterp/armv5te/OP_UNUSED_97FF.S
+++ /dev/null
@@ -1 +0,0 @@
-%include "armv5te/unused.S"
diff --git a/vm/mterp/armv5te/OP_UNUSED_98FF.S b/vm/mterp/armv5te/OP_UNUSED_98FF.S
deleted file mode 100644
index faa7246f5..000000000
--- a/vm/mterp/armv5te/OP_UNUSED_98FF.S
+++ /dev/null
@@ -1 +0,0 @@
-%include "armv5te/unused.S"
diff --git a/vm/mterp/armv5te/OP_UNUSED_99FF.S b/vm/mterp/armv5te/OP_UNUSED_99FF.S
deleted file mode 100644
index faa7246f5..000000000
--- a/vm/mterp/armv5te/OP_UNUSED_99FF.S
+++ /dev/null
@@ -1 +0,0 @@
-%include "armv5te/unused.S"
diff --git a/vm/mterp/armv5te/OP_UNUSED_9AFF.S b/vm/mterp/armv5te/OP_UNUSED_9AFF.S
deleted file mode 100644
index faa7246f5..000000000
--- a/vm/mterp/armv5te/OP_UNUSED_9AFF.S
+++ /dev/null
@@ -1 +0,0 @@
-%include "armv5te/unused.S"
diff --git a/vm/mterp/armv5te/OP_UNUSED_9BFF.S b/vm/mterp/armv5te/OP_UNUSED_9BFF.S
deleted file mode 100644
index faa7246f5..000000000
--- a/vm/mterp/armv5te/OP_UNUSED_9BFF.S
+++ /dev/null
@@ -1 +0,0 @@
-%include "armv5te/unused.S"
diff --git a/vm/mterp/armv5te/OP_UNUSED_9CFF.S b/vm/mterp/armv5te/OP_UNUSED_9CFF.S
deleted file mode 100644
index faa7246f5..000000000
--- a/vm/mterp/armv5te/OP_UNUSED_9CFF.S
+++ /dev/null
@@ -1 +0,0 @@
-%include "armv5te/unused.S"
diff --git a/vm/mterp/armv5te/OP_UNUSED_9DFF.S b/vm/mterp/armv5te/OP_UNUSED_9DFF.S
deleted file mode 100644
index faa7246f5..000000000
--- a/vm/mterp/armv5te/OP_UNUSED_9DFF.S
+++ /dev/null
@@ -1 +0,0 @@
-%include "armv5te/unused.S"
diff --git a/vm/mterp/armv5te/OP_UNUSED_9EFF.S b/vm/mterp/armv5te/OP_UNUSED_9EFF.S
deleted file mode 100644
index faa7246f5..000000000
--- a/vm/mterp/armv5te/OP_UNUSED_9EFF.S
+++ /dev/null
@@ -1 +0,0 @@
-%include "armv5te/unused.S"
diff --git a/vm/mterp/armv5te/OP_UNUSED_9FFF.S b/vm/mterp/armv5te/OP_UNUSED_9FFF.S
deleted file mode 100644
index faa7246f5..000000000
--- a/vm/mterp/armv5te/OP_UNUSED_9FFF.S
+++ /dev/null
@@ -1 +0,0 @@
-%include "armv5te/unused.S"
diff --git a/vm/mterp/armv5te/OP_UNUSED_A0FF.S b/vm/mterp/armv5te/OP_UNUSED_A0FF.S
deleted file mode 100644
index faa7246f5..000000000
--- a/vm/mterp/armv5te/OP_UNUSED_A0FF.S
+++ /dev/null
@@ -1 +0,0 @@
-%include "armv5te/unused.S"
diff --git a/vm/mterp/armv5te/OP_UNUSED_A1FF.S b/vm/mterp/armv5te/OP_UNUSED_A1FF.S
deleted file mode 100644
index faa7246f5..000000000
--- a/vm/mterp/armv5te/OP_UNUSED_A1FF.S
+++ /dev/null
@@ -1 +0,0 @@
-%include "armv5te/unused.S"
diff --git a/vm/mterp/armv5te/OP_UNUSED_A2FF.S b/vm/mterp/armv5te/OP_UNUSED_A2FF.S
deleted file mode 100644
index faa7246f5..000000000
--- a/vm/mterp/armv5te/OP_UNUSED_A2FF.S
+++ /dev/null
@@ -1 +0,0 @@
-%include "armv5te/unused.S"
diff --git a/vm/mterp/armv5te/OP_UNUSED_A3FF.S b/vm/mterp/armv5te/OP_UNUSED_A3FF.S
deleted file mode 100644
index faa7246f5..000000000
--- a/vm/mterp/armv5te/OP_UNUSED_A3FF.S
+++ /dev/null
@@ -1 +0,0 @@
-%include "armv5te/unused.S"
diff --git a/vm/mterp/armv5te/OP_UNUSED_A4FF.S b/vm/mterp/armv5te/OP_UNUSED_A4FF.S
deleted file mode 100644
index faa7246f5..000000000
--- a/vm/mterp/armv5te/OP_UNUSED_A4FF.S
+++ /dev/null
@@ -1 +0,0 @@
-%include "armv5te/unused.S"
diff --git a/vm/mterp/armv5te/OP_UNUSED_A5FF.S b/vm/mterp/armv5te/OP_UNUSED_A5FF.S
deleted file mode 100644
index faa7246f5..000000000
--- a/vm/mterp/armv5te/OP_UNUSED_A5FF.S
+++ /dev/null
@@ -1 +0,0 @@
-%include "armv5te/unused.S"
diff --git a/vm/mterp/armv5te/OP_UNUSED_A6FF.S b/vm/mterp/armv5te/OP_UNUSED_A6FF.S
deleted file mode 100644
index faa7246f5..000000000
--- a/vm/mterp/armv5te/OP_UNUSED_A6FF.S
+++ /dev/null
@@ -1 +0,0 @@
-%include "armv5te/unused.S"
diff --git a/vm/mterp/armv5te/OP_UNUSED_A7FF.S b/vm/mterp/armv5te/OP_UNUSED_A7FF.S
deleted file mode 100644
index faa7246f5..000000000
--- a/vm/mterp/armv5te/OP_UNUSED_A7FF.S
+++ /dev/null
@@ -1 +0,0 @@
-%include "armv5te/unused.S"
diff --git a/vm/mterp/armv5te/OP_UNUSED_A8FF.S b/vm/mterp/armv5te/OP_UNUSED_A8FF.S
deleted file mode 100644
index faa7246f5..000000000
--- a/vm/mterp/armv5te/OP_UNUSED_A8FF.S
+++ /dev/null
@@ -1 +0,0 @@
-%include "armv5te/unused.S"
diff --git a/vm/mterp/armv5te/OP_UNUSED_A9FF.S b/vm/mterp/armv5te/OP_UNUSED_A9FF.S
deleted file mode 100644
index faa7246f5..000000000
--- a/vm/mterp/armv5te/OP_UNUSED_A9FF.S
+++ /dev/null
@@ -1 +0,0 @@
-%include "armv5te/unused.S"
diff --git a/vm/mterp/armv5te/OP_UNUSED_AAFF.S b/vm/mterp/armv5te/OP_UNUSED_AAFF.S
deleted file mode 100644
index faa7246f5..000000000
--- a/vm/mterp/armv5te/OP_UNUSED_AAFF.S
+++ /dev/null
@@ -1 +0,0 @@
-%include "armv5te/unused.S"
diff --git a/vm/mterp/armv5te/OP_UNUSED_ABFF.S b/vm/mterp/armv5te/OP_UNUSED_ABFF.S
deleted file mode 100644
index faa7246f5..000000000
--- a/vm/mterp/armv5te/OP_UNUSED_ABFF.S
+++ /dev/null
@@ -1 +0,0 @@
-%include "armv5te/unused.S"
diff --git a/vm/mterp/armv5te/OP_UNUSED_ACFF.S b/vm/mterp/armv5te/OP_UNUSED_ACFF.S
deleted file mode 100644
index faa7246f5..000000000
--- a/vm/mterp/armv5te/OP_UNUSED_ACFF.S
+++ /dev/null
@@ -1 +0,0 @@
-%include "armv5te/unused.S"
diff --git a/vm/mterp/armv5te/OP_UNUSED_ADFF.S b/vm/mterp/armv5te/OP_UNUSED_ADFF.S
deleted file mode 100644
index faa7246f5..000000000
--- a/vm/mterp/armv5te/OP_UNUSED_ADFF.S
+++ /dev/null
@@ -1 +0,0 @@
-%include "armv5te/unused.S"
diff --git a/vm/mterp/armv5te/OP_UNUSED_AEFF.S b/vm/mterp/armv5te/OP_UNUSED_AEFF.S
deleted file mode 100644
index faa7246f5..000000000
--- a/vm/mterp/armv5te/OP_UNUSED_AEFF.S
+++ /dev/null
@@ -1 +0,0 @@
-%include "armv5te/unused.S"
diff --git a/vm/mterp/armv5te/OP_UNUSED_AFFF.S b/vm/mterp/armv5te/OP_UNUSED_AFFF.S
deleted file mode 100644
index faa7246f5..000000000
--- a/vm/mterp/armv5te/OP_UNUSED_AFFF.S
+++ /dev/null
@@ -1 +0,0 @@
-%include "armv5te/unused.S"
diff --git a/vm/mterp/armv5te/OP_UNUSED_B0FF.S b/vm/mterp/armv5te/OP_UNUSED_B0FF.S
deleted file mode 100644
index faa7246f5..000000000
--- a/vm/mterp/armv5te/OP_UNUSED_B0FF.S
+++ /dev/null
@@ -1 +0,0 @@
-%include "armv5te/unused.S"
diff --git a/vm/mterp/armv5te/OP_UNUSED_B1FF.S b/vm/mterp/armv5te/OP_UNUSED_B1FF.S
deleted file mode 100644
index faa7246f5..000000000
--- a/vm/mterp/armv5te/OP_UNUSED_B1FF.S
+++ /dev/null
@@ -1 +0,0 @@
-%include "armv5te/unused.S"
diff --git a/vm/mterp/armv5te/OP_UNUSED_B2FF.S b/vm/mterp/armv5te/OP_UNUSED_B2FF.S
deleted file mode 100644
index faa7246f5..000000000
--- a/vm/mterp/armv5te/OP_UNUSED_B2FF.S
+++ /dev/null
@@ -1 +0,0 @@
-%include "armv5te/unused.S"
diff --git a/vm/mterp/armv5te/OP_UNUSED_B3FF.S b/vm/mterp/armv5te/OP_UNUSED_B3FF.S
deleted file mode 100644
index faa7246f5..000000000
--- a/vm/mterp/armv5te/OP_UNUSED_B3FF.S
+++ /dev/null
@@ -1 +0,0 @@
-%include "armv5te/unused.S"
diff --git a/vm/mterp/armv5te/OP_UNUSED_B4FF.S b/vm/mterp/armv5te/OP_UNUSED_B4FF.S
deleted file mode 100644
index faa7246f5..000000000
--- a/vm/mterp/armv5te/OP_UNUSED_B4FF.S
+++ /dev/null
@@ -1 +0,0 @@
-%include "armv5te/unused.S"
diff --git a/vm/mterp/armv5te/OP_UNUSED_B5FF.S b/vm/mterp/armv5te/OP_UNUSED_B5FF.S
deleted file mode 100644
index faa7246f5..000000000
--- a/vm/mterp/armv5te/OP_UNUSED_B5FF.S
+++ /dev/null
@@ -1 +0,0 @@
-%include "armv5te/unused.S"
diff --git a/vm/mterp/armv5te/OP_UNUSED_B6FF.S b/vm/mterp/armv5te/OP_UNUSED_B6FF.S
deleted file mode 100644
index faa7246f5..000000000
--- a/vm/mterp/armv5te/OP_UNUSED_B6FF.S
+++ /dev/null
@@ -1 +0,0 @@
-%include "armv5te/unused.S"
diff --git a/vm/mterp/armv5te/OP_UNUSED_B7FF.S b/vm/mterp/armv5te/OP_UNUSED_B7FF.S
deleted file mode 100644
index faa7246f5..000000000
--- a/vm/mterp/armv5te/OP_UNUSED_B7FF.S
+++ /dev/null
@@ -1 +0,0 @@
-%include "armv5te/unused.S"
diff --git a/vm/mterp/armv5te/OP_UNUSED_B8FF.S b/vm/mterp/armv5te/OP_UNUSED_B8FF.S
deleted file mode 100644
index faa7246f5..000000000
--- a/vm/mterp/armv5te/OP_UNUSED_B8FF.S
+++ /dev/null
@@ -1 +0,0 @@
-%include "armv5te/unused.S"
diff --git a/vm/mterp/armv5te/OP_UNUSED_B9FF.S b/vm/mterp/armv5te/OP_UNUSED_B9FF.S
deleted file mode 100644
index faa7246f5..000000000
--- a/vm/mterp/armv5te/OP_UNUSED_B9FF.S
+++ /dev/null
@@ -1 +0,0 @@
-%include "armv5te/unused.S"
diff --git a/vm/mterp/armv5te/OP_UNUSED_BAFF.S b/vm/mterp/armv5te/OP_UNUSED_BAFF.S
deleted file mode 100644
index faa7246f5..000000000
--- a/vm/mterp/armv5te/OP_UNUSED_BAFF.S
+++ /dev/null
@@ -1 +0,0 @@
-%include "armv5te/unused.S"
diff --git a/vm/mterp/armv5te/OP_UNUSED_BBFF.S b/vm/mterp/armv5te/OP_UNUSED_BBFF.S
deleted file mode 100644
index faa7246f5..000000000
--- a/vm/mterp/armv5te/OP_UNUSED_BBFF.S
+++ /dev/null
@@ -1 +0,0 @@
-%include "armv5te/unused.S"
diff --git a/vm/mterp/armv5te/OP_UNUSED_BCFF.S b/vm/mterp/armv5te/OP_UNUSED_BCFF.S
deleted file mode 100644
index faa7246f5..000000000
--- a/vm/mterp/armv5te/OP_UNUSED_BCFF.S
+++ /dev/null
@@ -1 +0,0 @@
-%include "armv5te/unused.S"
diff --git a/vm/mterp/armv5te/OP_UNUSED_BDFF.S b/vm/mterp/armv5te/OP_UNUSED_BDFF.S
deleted file mode 100644
index faa7246f5..000000000
--- a/vm/mterp/armv5te/OP_UNUSED_BDFF.S
+++ /dev/null
@@ -1 +0,0 @@
-%include "armv5te/unused.S"
diff --git a/vm/mterp/armv5te/OP_UNUSED_BEFF.S b/vm/mterp/armv5te/OP_UNUSED_BEFF.S
deleted file mode 100644
index faa7246f5..000000000
--- a/vm/mterp/armv5te/OP_UNUSED_BEFF.S
+++ /dev/null
@@ -1 +0,0 @@
-%include "armv5te/unused.S"
diff --git a/vm/mterp/armv5te/OP_UNUSED_BFFF.S b/vm/mterp/armv5te/OP_UNUSED_BFFF.S
deleted file mode 100644
index faa7246f5..000000000
--- a/vm/mterp/armv5te/OP_UNUSED_BFFF.S
+++ /dev/null
@@ -1 +0,0 @@
-%include "armv5te/unused.S"
diff --git a/vm/mterp/armv5te/OP_UNUSED_C0FF.S b/vm/mterp/armv5te/OP_UNUSED_C0FF.S
deleted file mode 100644
index faa7246f5..000000000
--- a/vm/mterp/armv5te/OP_UNUSED_C0FF.S
+++ /dev/null
@@ -1 +0,0 @@
-%include "armv5te/unused.S"
diff --git a/vm/mterp/armv5te/OP_UNUSED_C1FF.S b/vm/mterp/armv5te/OP_UNUSED_C1FF.S
deleted file mode 100644
index faa7246f5..000000000
--- a/vm/mterp/armv5te/OP_UNUSED_C1FF.S
+++ /dev/null
@@ -1 +0,0 @@
-%include "armv5te/unused.S"
diff --git a/vm/mterp/armv5te/OP_UNUSED_C2FF.S b/vm/mterp/armv5te/OP_UNUSED_C2FF.S
deleted file mode 100644
index faa7246f5..000000000
--- a/vm/mterp/armv5te/OP_UNUSED_C2FF.S
+++ /dev/null
@@ -1 +0,0 @@
-%include "armv5te/unused.S"
diff --git a/vm/mterp/armv5te/OP_UNUSED_C3FF.S b/vm/mterp/armv5te/OP_UNUSED_C3FF.S
deleted file mode 100644
index faa7246f5..000000000
--- a/vm/mterp/armv5te/OP_UNUSED_C3FF.S
+++ /dev/null
@@ -1 +0,0 @@
-%include "armv5te/unused.S"
diff --git a/vm/mterp/armv5te/OP_UNUSED_C4FF.S b/vm/mterp/armv5te/OP_UNUSED_C4FF.S
deleted file mode 100644
index faa7246f5..000000000
--- a/vm/mterp/armv5te/OP_UNUSED_C4FF.S
+++ /dev/null
@@ -1 +0,0 @@
-%include "armv5te/unused.S"
diff --git a/vm/mterp/armv5te/OP_UNUSED_C5FF.S b/vm/mterp/armv5te/OP_UNUSED_C5FF.S
deleted file mode 100644
index faa7246f5..000000000
--- a/vm/mterp/armv5te/OP_UNUSED_C5FF.S
+++ /dev/null
@@ -1 +0,0 @@
-%include "armv5te/unused.S"
diff --git a/vm/mterp/armv5te/OP_UNUSED_C6FF.S b/vm/mterp/armv5te/OP_UNUSED_C6FF.S
deleted file mode 100644
index faa7246f5..000000000
--- a/vm/mterp/armv5te/OP_UNUSED_C6FF.S
+++ /dev/null
@@ -1 +0,0 @@
-%include "armv5te/unused.S"
diff --git a/vm/mterp/armv5te/OP_UNUSED_C7FF.S b/vm/mterp/armv5te/OP_UNUSED_C7FF.S
deleted file mode 100644
index faa7246f5..000000000
--- a/vm/mterp/armv5te/OP_UNUSED_C7FF.S
+++ /dev/null
@@ -1 +0,0 @@
-%include "armv5te/unused.S"
diff --git a/vm/mterp/armv5te/OP_UNUSED_C8FF.S b/vm/mterp/armv5te/OP_UNUSED_C8FF.S
deleted file mode 100644
index faa7246f5..000000000
--- a/vm/mterp/armv5te/OP_UNUSED_C8FF.S
+++ /dev/null
@@ -1 +0,0 @@
-%include "armv5te/unused.S"
diff --git a/vm/mterp/armv5te/OP_UNUSED_C9FF.S b/vm/mterp/armv5te/OP_UNUSED_C9FF.S
deleted file mode 100644
index faa7246f5..000000000
--- a/vm/mterp/armv5te/OP_UNUSED_C9FF.S
+++ /dev/null
@@ -1 +0,0 @@
-%include "armv5te/unused.S"
diff --git a/vm/mterp/armv5te/OP_UNUSED_CAFF.S b/vm/mterp/armv5te/OP_UNUSED_CAFF.S
deleted file mode 100644
index faa7246f5..000000000
--- a/vm/mterp/armv5te/OP_UNUSED_CAFF.S
+++ /dev/null
@@ -1 +0,0 @@
-%include "armv5te/unused.S"
diff --git a/vm/mterp/armv5te/OP_UNUSED_CBFF.S b/vm/mterp/armv5te/OP_UNUSED_CBFF.S
deleted file mode 100644
index faa7246f5..000000000
--- a/vm/mterp/armv5te/OP_UNUSED_CBFF.S
+++ /dev/null
@@ -1 +0,0 @@
-%include "armv5te/unused.S"
diff --git a/vm/mterp/armv5te/OP_UNUSED_CCFF.S b/vm/mterp/armv5te/OP_UNUSED_CCFF.S
deleted file mode 100644
index faa7246f5..000000000
--- a/vm/mterp/armv5te/OP_UNUSED_CCFF.S
+++ /dev/null
@@ -1 +0,0 @@
-%include "armv5te/unused.S"
diff --git a/vm/mterp/armv5te/OP_UNUSED_CDFF.S b/vm/mterp/armv5te/OP_UNUSED_CDFF.S
deleted file mode 100644
index faa7246f5..000000000
--- a/vm/mterp/armv5te/OP_UNUSED_CDFF.S
+++ /dev/null
@@ -1 +0,0 @@
-%include "armv5te/unused.S"
diff --git a/vm/mterp/armv5te/OP_UNUSED_CEFF.S b/vm/mterp/armv5te/OP_UNUSED_CEFF.S
deleted file mode 100644
index faa7246f5..000000000
--- a/vm/mterp/armv5te/OP_UNUSED_CEFF.S
+++ /dev/null
@@ -1 +0,0 @@
-%include "armv5te/unused.S"
diff --git a/vm/mterp/armv5te/OP_UNUSED_CFFF.S b/vm/mterp/armv5te/OP_UNUSED_CFFF.S
deleted file mode 100644
index faa7246f5..000000000
--- a/vm/mterp/armv5te/OP_UNUSED_CFFF.S
+++ /dev/null
@@ -1 +0,0 @@
-%include "armv5te/unused.S"
diff --git a/vm/mterp/armv5te/OP_UNUSED_D0FF.S b/vm/mterp/armv5te/OP_UNUSED_D0FF.S
deleted file mode 100644
index faa7246f5..000000000
--- a/vm/mterp/armv5te/OP_UNUSED_D0FF.S
+++ /dev/null
@@ -1 +0,0 @@
-%include "armv5te/unused.S"
diff --git a/vm/mterp/armv5te/OP_UNUSED_D1FF.S b/vm/mterp/armv5te/OP_UNUSED_D1FF.S
deleted file mode 100644
index faa7246f5..000000000
--- a/vm/mterp/armv5te/OP_UNUSED_D1FF.S
+++ /dev/null
@@ -1 +0,0 @@
-%include "armv5te/unused.S"
diff --git a/vm/mterp/armv5te/OP_UNUSED_D2FF.S b/vm/mterp/armv5te/OP_UNUSED_D2FF.S
deleted file mode 100644
index faa7246f5..000000000
--- a/vm/mterp/armv5te/OP_UNUSED_D2FF.S
+++ /dev/null
@@ -1 +0,0 @@
-%include "armv5te/unused.S"
diff --git a/vm/mterp/armv5te/OP_UNUSED_D3FF.S b/vm/mterp/armv5te/OP_UNUSED_D3FF.S
deleted file mode 100644
index faa7246f5..000000000
--- a/vm/mterp/armv5te/OP_UNUSED_D3FF.S
+++ /dev/null
@@ -1 +0,0 @@
-%include "armv5te/unused.S"
diff --git a/vm/mterp/armv5te/OP_UNUSED_D4FF.S b/vm/mterp/armv5te/OP_UNUSED_D4FF.S
deleted file mode 100644
index faa7246f5..000000000
--- a/vm/mterp/armv5te/OP_UNUSED_D4FF.S
+++ /dev/null
@@ -1 +0,0 @@
-%include "armv5te/unused.S"
diff --git a/vm/mterp/armv5te/OP_UNUSED_D5FF.S b/vm/mterp/armv5te/OP_UNUSED_D5FF.S
deleted file mode 100644
index faa7246f5..000000000
--- a/vm/mterp/armv5te/OP_UNUSED_D5FF.S
+++ /dev/null
@@ -1 +0,0 @@
-%include "armv5te/unused.S"
diff --git a/vm/mterp/armv5te/OP_UNUSED_D6FF.S b/vm/mterp/armv5te/OP_UNUSED_D6FF.S
deleted file mode 100644
index faa7246f5..000000000
--- a/vm/mterp/armv5te/OP_UNUSED_D6FF.S
+++ /dev/null
@@ -1 +0,0 @@
-%include "armv5te/unused.S"
diff --git a/vm/mterp/armv5te/OP_UNUSED_D7FF.S b/vm/mterp/armv5te/OP_UNUSED_D7FF.S
deleted file mode 100644
index faa7246f5..000000000
--- a/vm/mterp/armv5te/OP_UNUSED_D7FF.S
+++ /dev/null
@@ -1 +0,0 @@
-%include "armv5te/unused.S"
diff --git a/vm/mterp/armv5te/OP_UNUSED_D8FF.S b/vm/mterp/armv5te/OP_UNUSED_D8FF.S
deleted file mode 100644
index faa7246f5..000000000
--- a/vm/mterp/armv5te/OP_UNUSED_D8FF.S
+++ /dev/null
@@ -1 +0,0 @@
-%include "armv5te/unused.S"
diff --git a/vm/mterp/armv5te/OP_UNUSED_D9FF.S b/vm/mterp/armv5te/OP_UNUSED_D9FF.S
deleted file mode 100644
index faa7246f5..000000000
--- a/vm/mterp/armv5te/OP_UNUSED_D9FF.S
+++ /dev/null
@@ -1 +0,0 @@
-%include "armv5te/unused.S"
diff --git a/vm/mterp/armv5te/OP_UNUSED_DAFF.S b/vm/mterp/armv5te/OP_UNUSED_DAFF.S
deleted file mode 100644
index faa7246f5..000000000
--- a/vm/mterp/armv5te/OP_UNUSED_DAFF.S
+++ /dev/null
@@ -1 +0,0 @@
-%include "armv5te/unused.S"
diff --git a/vm/mterp/armv5te/OP_UNUSED_DBFF.S b/vm/mterp/armv5te/OP_UNUSED_DBFF.S
deleted file mode 100644
index faa7246f5..000000000
--- a/vm/mterp/armv5te/OP_UNUSED_DBFF.S
+++ /dev/null
@@ -1 +0,0 @@
-%include "armv5te/unused.S"
diff --git a/vm/mterp/armv5te/OP_UNUSED_DCFF.S b/vm/mterp/armv5te/OP_UNUSED_DCFF.S
deleted file mode 100644
index faa7246f5..000000000
--- a/vm/mterp/armv5te/OP_UNUSED_DCFF.S
+++ /dev/null
@@ -1 +0,0 @@
-%include "armv5te/unused.S"
diff --git a/vm/mterp/armv5te/OP_UNUSED_DDFF.S b/vm/mterp/armv5te/OP_UNUSED_DDFF.S
deleted file mode 100644
index faa7246f5..000000000
--- a/vm/mterp/armv5te/OP_UNUSED_DDFF.S
+++ /dev/null
@@ -1 +0,0 @@
-%include "armv5te/unused.S"
diff --git a/vm/mterp/armv5te/OP_UNUSED_DEFF.S b/vm/mterp/armv5te/OP_UNUSED_DEFF.S
deleted file mode 100644
index faa7246f5..000000000
--- a/vm/mterp/armv5te/OP_UNUSED_DEFF.S
+++ /dev/null
@@ -1 +0,0 @@
-%include "armv5te/unused.S"
diff --git a/vm/mterp/armv5te/OP_UNUSED_DFFF.S b/vm/mterp/armv5te/OP_UNUSED_DFFF.S
deleted file mode 100644
index faa7246f5..000000000
--- a/vm/mterp/armv5te/OP_UNUSED_DFFF.S
+++ /dev/null
@@ -1 +0,0 @@
-%include "armv5te/unused.S"
diff --git a/vm/mterp/armv5te/OP_UNUSED_E0FF.S b/vm/mterp/armv5te/OP_UNUSED_E0FF.S
deleted file mode 100644
index faa7246f5..000000000
--- a/vm/mterp/armv5te/OP_UNUSED_E0FF.S
+++ /dev/null
@@ -1 +0,0 @@
-%include "armv5te/unused.S"
diff --git a/vm/mterp/armv5te/OP_UNUSED_E1FF.S b/vm/mterp/armv5te/OP_UNUSED_E1FF.S
deleted file mode 100644
index faa7246f5..000000000
--- a/vm/mterp/armv5te/OP_UNUSED_E1FF.S
+++ /dev/null
@@ -1 +0,0 @@
-%include "armv5te/unused.S"
diff --git a/vm/mterp/armv5te/OP_UNUSED_E2FF.S b/vm/mterp/armv5te/OP_UNUSED_E2FF.S
deleted file mode 100644
index faa7246f5..000000000
--- a/vm/mterp/armv5te/OP_UNUSED_E2FF.S
+++ /dev/null
@@ -1 +0,0 @@
-%include "armv5te/unused.S"
diff --git a/vm/mterp/armv5te/OP_UNUSED_E3FF.S b/vm/mterp/armv5te/OP_UNUSED_E3FF.S
deleted file mode 100644
index faa7246f5..000000000
--- a/vm/mterp/armv5te/OP_UNUSED_E3FF.S
+++ /dev/null
@@ -1 +0,0 @@
-%include "armv5te/unused.S"
diff --git a/vm/mterp/armv5te/OP_UNUSED_E4FF.S b/vm/mterp/armv5te/OP_UNUSED_E4FF.S
deleted file mode 100644
index faa7246f5..000000000
--- a/vm/mterp/armv5te/OP_UNUSED_E4FF.S
+++ /dev/null
@@ -1 +0,0 @@
-%include "armv5te/unused.S"
diff --git a/vm/mterp/armv5te/OP_UNUSED_E5FF.S b/vm/mterp/armv5te/OP_UNUSED_E5FF.S
deleted file mode 100644
index faa7246f5..000000000
--- a/vm/mterp/armv5te/OP_UNUSED_E5FF.S
+++ /dev/null
@@ -1 +0,0 @@
-%include "armv5te/unused.S"
diff --git a/vm/mterp/armv5te/OP_UNUSED_E6FF.S b/vm/mterp/armv5te/OP_UNUSED_E6FF.S
deleted file mode 100644
index faa7246f5..000000000
--- a/vm/mterp/armv5te/OP_UNUSED_E6FF.S
+++ /dev/null
@@ -1 +0,0 @@
-%include "armv5te/unused.S"
diff --git a/vm/mterp/armv5te/OP_UNUSED_E7FF.S b/vm/mterp/armv5te/OP_UNUSED_E7FF.S
deleted file mode 100644
index faa7246f5..000000000
--- a/vm/mterp/armv5te/OP_UNUSED_E7FF.S
+++ /dev/null
@@ -1 +0,0 @@
-%include "armv5te/unused.S"
diff --git a/vm/mterp/armv5te/OP_UNUSED_E8FF.S b/vm/mterp/armv5te/OP_UNUSED_E8FF.S
deleted file mode 100644
index faa7246f5..000000000
--- a/vm/mterp/armv5te/OP_UNUSED_E8FF.S
+++ /dev/null
@@ -1 +0,0 @@
-%include "armv5te/unused.S"
diff --git a/vm/mterp/armv5te/OP_UNUSED_E9FF.S b/vm/mterp/armv5te/OP_UNUSED_E9FF.S
deleted file mode 100644
index faa7246f5..000000000
--- a/vm/mterp/armv5te/OP_UNUSED_E9FF.S
+++ /dev/null
@@ -1 +0,0 @@
-%include "armv5te/unused.S"
diff --git a/vm/mterp/armv5te/OP_UNUSED_EAFF.S b/vm/mterp/armv5te/OP_UNUSED_EAFF.S
deleted file mode 100644
index faa7246f5..000000000
--- a/vm/mterp/armv5te/OP_UNUSED_EAFF.S
+++ /dev/null
@@ -1 +0,0 @@
-%include "armv5te/unused.S"
diff --git a/vm/mterp/armv5te/OP_UNUSED_EBFF.S b/vm/mterp/armv5te/OP_UNUSED_EBFF.S
deleted file mode 100644
index faa7246f5..000000000
--- a/vm/mterp/armv5te/OP_UNUSED_EBFF.S
+++ /dev/null
@@ -1 +0,0 @@
-%include "armv5te/unused.S"
diff --git a/vm/mterp/armv5te/OP_UNUSED_ECFF.S b/vm/mterp/armv5te/OP_UNUSED_ECFF.S
deleted file mode 100644
index faa7246f5..000000000
--- a/vm/mterp/armv5te/OP_UNUSED_ECFF.S
+++ /dev/null
@@ -1 +0,0 @@
-%include "armv5te/unused.S"
diff --git a/vm/mterp/armv5te/OP_UNUSED_EDFF.S b/vm/mterp/armv5te/OP_UNUSED_EDFF.S
deleted file mode 100644
index faa7246f5..000000000
--- a/vm/mterp/armv5te/OP_UNUSED_EDFF.S
+++ /dev/null
@@ -1 +0,0 @@
-%include "armv5te/unused.S"
diff --git a/vm/mterp/armv5te/OP_UNUSED_EEFF.S b/vm/mterp/armv5te/OP_UNUSED_EEFF.S
deleted file mode 100644
index faa7246f5..000000000
--- a/vm/mterp/armv5te/OP_UNUSED_EEFF.S
+++ /dev/null
@@ -1 +0,0 @@
-%include "armv5te/unused.S"
diff --git a/vm/mterp/armv5te/OP_UNUSED_EFFF.S b/vm/mterp/armv5te/OP_UNUSED_EFFF.S
deleted file mode 100644
index faa7246f5..000000000
--- a/vm/mterp/armv5te/OP_UNUSED_EFFF.S
+++ /dev/null
@@ -1 +0,0 @@
-%include "armv5te/unused.S"
diff --git a/vm/mterp/armv5te/OP_UNUSED_F0FF.S b/vm/mterp/armv5te/OP_UNUSED_F0FF.S
deleted file mode 100644
index faa7246f5..000000000
--- a/vm/mterp/armv5te/OP_UNUSED_F0FF.S
+++ /dev/null
@@ -1 +0,0 @@
-%include "armv5te/unused.S"
diff --git a/vm/mterp/armv5te/OP_UNUSED_F1FF.S b/vm/mterp/armv5te/OP_UNUSED_F1FF.S
deleted file mode 100644
index faa7246f5..000000000
--- a/vm/mterp/armv5te/OP_UNUSED_F1FF.S
+++ /dev/null
@@ -1 +0,0 @@
-%include "armv5te/unused.S"
diff --git a/vm/mterp/armv5te/OP_UNUSED_27FF.S b/vm/mterp/armv5te/OP_UNUSED_FF.S
index faa7246f5..faa7246f5 100644
--- a/vm/mterp/armv5te/OP_UNUSED_27FF.S
+++ b/vm/mterp/armv5te/OP_UNUSED_FF.S
diff --git a/vm/mterp/armv5te/footer.S b/vm/mterp/armv5te/footer.S
index 4afe4718e..d96e005fa 100644
--- a/vm/mterp/armv5te/footer.S
+++ b/vm/mterp/armv5te/footer.S
@@ -466,35 +466,6 @@ save_callsiteinfo:
#endif
/*
- * Common code for jumbo method invocation.
- * NOTE: this adjusts rPC to account for the difference in instruction width.
- * As a result, the savedPc in the stack frame will not be wholly accurate. So
- * long as that is only used for source file line number calculations, we're
- * okay.
- */
-common_invokeMethodJumboNoThis:
-#if defined(WITH_JIT)
- /* On entry: r0 is "Method* methodToCall */
- mov r9, #0 @ clear "this"
-#endif
-common_invokeMethodJumbo:
- /* On entry: r0 is "Method* methodToCall, r9 is "this" */
-.LinvokeNewJumbo:
-#if defined(WITH_JIT)
- ldrh r1, [rSELF, #offThread_subMode]
- ands r1, #kSubModeJitTraceBuild
- blne save_callsiteinfo
-#endif
- @ prepare to copy args to "outs" area of current frame
- add rPC, rPC, #4 @ adjust pc to make return consistent
- FETCH(r2, 1) @ r2<- BBBB (arg count)
- SAVEAREA_FROM_FP(r10, rFP) @ r10<- stack save area
- cmp r2, #0 @ no args?
- beq .LinvokeArgsDone @ if no args, skip the rest
- FETCH(r1, 2) @ r1<- CCCC
- b .LinvokeRangeArgs @ handle args like invoke range
-
-/*
* Common code for method invocation with range.
*
* On entry:
diff --git a/vm/mterp/c/OP_CHECK_CAST_JUMBO.cpp b/vm/mterp/c/OP_CHECK_CAST_JUMBO.cpp
deleted file mode 100644
index 75c314b8c..000000000
--- a/vm/mterp/c/OP_CHECK_CAST_JUMBO.cpp
+++ /dev/null
@@ -1,31 +0,0 @@
-HANDLE_OPCODE(OP_CHECK_CAST_JUMBO /*vBBBB, class@AAAAAAAA*/)
- {
- ClassObject* clazz;
- Object* obj;
-
- EXPORT_PC();
-
- ref = FETCH(1) | (u4)FETCH(2) << 16; /* class to check against */
- vsrc1 = FETCH(3);
- ILOGV("|check-cast/jumbo v%d,class@0x%08x", vsrc1, ref);
-
- obj = (Object*)GET_REGISTER(vsrc1);
- if (obj != NULL) {
-#if defined(WITH_EXTRA_OBJECT_VALIDATION)
- if (!checkForNull(obj))
- GOTO_exceptionThrown();
-#endif
- clazz = dvmDexGetResolvedClass(methodClassDex, ref);
- if (clazz == NULL) {
- clazz = dvmResolveClass(curMethod->clazz, ref, false);
- if (clazz == NULL)
- GOTO_exceptionThrown();
- }
- if (!dvmInstanceof(obj->clazz, clazz)) {
- dvmThrowClassCastException(obj->clazz, clazz);
- GOTO_exceptionThrown();
- }
- }
- }
- FINISH(4);
-OP_END
diff --git a/vm/mterp/c/OP_CONST_CLASS_JUMBO.cpp b/vm/mterp/c/OP_CONST_CLASS_JUMBO.cpp
deleted file mode 100644
index 4fb143155..000000000
--- a/vm/mterp/c/OP_CONST_CLASS_JUMBO.cpp
+++ /dev/null
@@ -1,18 +0,0 @@
-HANDLE_OPCODE(OP_CONST_CLASS_JUMBO /*vBBBB, class@AAAAAAAA*/)
- {
- ClassObject* clazz;
-
- ref = FETCH(1) | (u4)FETCH(2) << 16;
- vdst = FETCH(3);
- ILOGV("|const-class/jumbo v%d class@0x%08x", vdst, ref);
- clazz = dvmDexGetResolvedClass(methodClassDex, ref);
- if (clazz == NULL) {
- EXPORT_PC();
- clazz = dvmResolveClass(curMethod->clazz, ref, true);
- if (clazz == NULL)
- GOTO_exceptionThrown();
- }
- SET_REGISTER(vdst, (u4) clazz);
- }
- FINISH(4);
-OP_END
diff --git a/vm/mterp/c/OP_DISPATCH_FF.cpp b/vm/mterp/c/OP_DISPATCH_FF.cpp
deleted file mode 100644
index 53f50c536..000000000
--- a/vm/mterp/c/OP_DISPATCH_FF.cpp
+++ /dev/null
@@ -1,6 +0,0 @@
-HANDLE_OPCODE(OP_DISPATCH_FF)
- /*
- * Indicates extended opcode. Use next 8 bits to choose where to branch.
- */
- DISPATCH_EXTENDED(INST_AA(inst));
-OP_END
diff --git a/vm/mterp/c/OP_FILLED_NEW_ARRAY.cpp b/vm/mterp/c/OP_FILLED_NEW_ARRAY.cpp
index 281318dcf..fad7dbb5f 100644
--- a/vm/mterp/c/OP_FILLED_NEW_ARRAY.cpp
+++ b/vm/mterp/c/OP_FILLED_NEW_ARRAY.cpp
@@ -1,3 +1,3 @@
HANDLE_OPCODE(OP_FILLED_NEW_ARRAY /*vB, {vD, vE, vF, vG, vA}, class@CCCC*/)
- GOTO_invoke(filledNewArray, false, false);
+ GOTO_invoke(filledNewArray, false);
OP_END
diff --git a/vm/mterp/c/OP_FILLED_NEW_ARRAY_JUMBO.cpp b/vm/mterp/c/OP_FILLED_NEW_ARRAY_JUMBO.cpp
deleted file mode 100644
index dfbc31b1d..000000000
--- a/vm/mterp/c/OP_FILLED_NEW_ARRAY_JUMBO.cpp
+++ /dev/null
@@ -1,3 +0,0 @@
-HANDLE_OPCODE(OP_FILLED_NEW_ARRAY_JUMBO /*{vCCCC..v(CCCC+BBBB-1)}, class@AAAAAAAA*/)
- GOTO_invoke(filledNewArray, true, true);
-OP_END
diff --git a/vm/mterp/c/OP_FILLED_NEW_ARRAY_RANGE.cpp b/vm/mterp/c/OP_FILLED_NEW_ARRAY_RANGE.cpp
index 48bdf268b..06c3a79fe 100644
--- a/vm/mterp/c/OP_FILLED_NEW_ARRAY_RANGE.cpp
+++ b/vm/mterp/c/OP_FILLED_NEW_ARRAY_RANGE.cpp
@@ -1,3 +1,3 @@
HANDLE_OPCODE(OP_FILLED_NEW_ARRAY_RANGE /*{vCCCC..v(CCCC+AA-1)}, class@BBBB*/)
- GOTO_invoke(filledNewArray, true, false);
+ GOTO_invoke(filledNewArray, true);
OP_END
diff --git a/vm/mterp/c/OP_IGET_BOOLEAN_JUMBO.cpp b/vm/mterp/c/OP_IGET_BOOLEAN_JUMBO.cpp
deleted file mode 100644
index 712ae91bb..000000000
--- a/vm/mterp/c/OP_IGET_BOOLEAN_JUMBO.cpp
+++ /dev/null
@@ -1,2 +0,0 @@
-HANDLE_IGET_X_JUMBO(OP_IGET_BOOLEAN_JUMBO, "", Int, )
-OP_END
diff --git a/vm/mterp/c/OP_IGET_BYTE_JUMBO.cpp b/vm/mterp/c/OP_IGET_BYTE_JUMBO.cpp
deleted file mode 100644
index ade7eb967..000000000
--- a/vm/mterp/c/OP_IGET_BYTE_JUMBO.cpp
+++ /dev/null
@@ -1,2 +0,0 @@
-HANDLE_IGET_X_JUMBO(OP_IGET_BYTE_JUMBO, "", Int, )
-OP_END
diff --git a/vm/mterp/c/OP_IGET_CHAR_JUMBO.cpp b/vm/mterp/c/OP_IGET_CHAR_JUMBO.cpp
deleted file mode 100644
index a67405969..000000000
--- a/vm/mterp/c/OP_IGET_CHAR_JUMBO.cpp
+++ /dev/null
@@ -1,2 +0,0 @@
-HANDLE_IGET_X_JUMBO(OP_IGET_CHAR_JUMBO, "", Int, )
-OP_END
diff --git a/vm/mterp/c/OP_IGET_JUMBO.cpp b/vm/mterp/c/OP_IGET_JUMBO.cpp
deleted file mode 100644
index 32eefc872..000000000
--- a/vm/mterp/c/OP_IGET_JUMBO.cpp
+++ /dev/null
@@ -1,2 +0,0 @@
-HANDLE_IGET_X_JUMBO(OP_IGET_JUMBO, "", Int, )
-OP_END
diff --git a/vm/mterp/c/OP_IGET_OBJECT_JUMBO.cpp b/vm/mterp/c/OP_IGET_OBJECT_JUMBO.cpp
deleted file mode 100644
index 2b25daeab..000000000
--- a/vm/mterp/c/OP_IGET_OBJECT_JUMBO.cpp
+++ /dev/null
@@ -1,2 +0,0 @@
-HANDLE_IGET_X_JUMBO(OP_IGET_OBJECT_JUMBO, "-object", Object, _AS_OBJECT)
-OP_END
diff --git a/vm/mterp/c/OP_IGET_OBJECT_VOLATILE_JUMBO.cpp b/vm/mterp/c/OP_IGET_OBJECT_VOLATILE_JUMBO.cpp
deleted file mode 100644
index 705aefd05..000000000
--- a/vm/mterp/c/OP_IGET_OBJECT_VOLATILE_JUMBO.cpp
+++ /dev/null
@@ -1,2 +0,0 @@
-HANDLE_IGET_X_JUMBO(OP_IGET_OBJECT_VOLATILE_JUMBO, "-object-volatile/jumbo", ObjectVolatile, _AS_OBJECT)
-OP_END
diff --git a/vm/mterp/c/OP_IGET_SHORT_JUMBO.cpp b/vm/mterp/c/OP_IGET_SHORT_JUMBO.cpp
deleted file mode 100644
index 30b3ff17c..000000000
--- a/vm/mterp/c/OP_IGET_SHORT_JUMBO.cpp
+++ /dev/null
@@ -1,2 +0,0 @@
-HANDLE_IGET_X_JUMBO(OP_IGET_SHORT_JUMBO, "", Int, )
-OP_END
diff --git a/vm/mterp/c/OP_IGET_VOLATILE_JUMBO.cpp b/vm/mterp/c/OP_IGET_VOLATILE_JUMBO.cpp
deleted file mode 100644
index 462279a3d..000000000
--- a/vm/mterp/c/OP_IGET_VOLATILE_JUMBO.cpp
+++ /dev/null
@@ -1,2 +0,0 @@
-HANDLE_IGET_X_JUMBO(OP_IGET_VOLATILE_JUMBO, "-volatile/jumbo", IntVolatile, )
-OP_END
diff --git a/vm/mterp/c/OP_IGET_WIDE_JUMBO.cpp b/vm/mterp/c/OP_IGET_WIDE_JUMBO.cpp
deleted file mode 100644
index f607a7728..000000000
--- a/vm/mterp/c/OP_IGET_WIDE_JUMBO.cpp
+++ /dev/null
@@ -1,2 +0,0 @@
-HANDLE_IGET_X_JUMBO(OP_IGET_WIDE_JUMBO, "-wide", Long, _WIDE)
-OP_END
diff --git a/vm/mterp/c/OP_IGET_WIDE_VOLATILE_JUMBO.cpp b/vm/mterp/c/OP_IGET_WIDE_VOLATILE_JUMBO.cpp
deleted file mode 100644
index 5285a3191..000000000
--- a/vm/mterp/c/OP_IGET_WIDE_VOLATILE_JUMBO.cpp
+++ /dev/null
@@ -1,2 +0,0 @@
-HANDLE_IGET_X_JUMBO(OP_IGET_WIDE_VOLATILE_JUMBO, "-wide-volatile/jumbo", LongVolatile, _WIDE)
-OP_END
diff --git a/vm/mterp/c/OP_INSTANCE_OF_JUMBO.cpp b/vm/mterp/c/OP_INSTANCE_OF_JUMBO.cpp
deleted file mode 100644
index 0249d96bc..000000000
--- a/vm/mterp/c/OP_INSTANCE_OF_JUMBO.cpp
+++ /dev/null
@@ -1,30 +0,0 @@
-HANDLE_OPCODE(OP_INSTANCE_OF_JUMBO /*vBBBB, vCCCC, class@AAAAAAAA*/)
- {
- ClassObject* clazz;
- Object* obj;
-
- ref = FETCH(1) | (u4)FETCH(2) << 16; /* class to check against */
- vdst = FETCH(3);
- vsrc1 = FETCH(4); /* object to check */
- ILOGV("|instance-of/jumbo v%d,v%d,class@0x%08x", vdst, vsrc1, ref);
-
- obj = (Object*)GET_REGISTER(vsrc1);
- if (obj == NULL) {
- SET_REGISTER(vdst, 0);
- } else {
-#if defined(WITH_EXTRA_OBJECT_VALIDATION)
- if (!checkForNullExportPC(obj, fp, pc))
- GOTO_exceptionThrown();
-#endif
- clazz = dvmDexGetResolvedClass(methodClassDex, ref);
- if (clazz == NULL) {
- EXPORT_PC();
- clazz = dvmResolveClass(curMethod->clazz, ref, true);
- if (clazz == NULL)
- GOTO_exceptionThrown();
- }
- SET_REGISTER(vdst, dvmInstanceof(obj->clazz, clazz));
- }
- }
- FINISH(5);
-OP_END
diff --git a/vm/mterp/c/OP_INVOKE_DIRECT.cpp b/vm/mterp/c/OP_INVOKE_DIRECT.cpp
index 11a2c8119..58cfe5bef 100644
--- a/vm/mterp/c/OP_INVOKE_DIRECT.cpp
+++ b/vm/mterp/c/OP_INVOKE_DIRECT.cpp
@@ -1,3 +1,3 @@
HANDLE_OPCODE(OP_INVOKE_DIRECT /*vB, {vD, vE, vF, vG, vA}, meth@CCCC*/)
- GOTO_invoke(invokeDirect, false, false);
+ GOTO_invoke(invokeDirect, false);
OP_END
diff --git a/vm/mterp/c/OP_INVOKE_DIRECT_JUMBO.cpp b/vm/mterp/c/OP_INVOKE_DIRECT_JUMBO.cpp
deleted file mode 100644
index e31e584d5..000000000
--- a/vm/mterp/c/OP_INVOKE_DIRECT_JUMBO.cpp
+++ /dev/null
@@ -1,3 +0,0 @@
-HANDLE_OPCODE(OP_INVOKE_DIRECT_JUMBO /*{vCCCC..v(CCCC+BBBB-1)}, meth@AAAAAAAA*/)
- GOTO_invoke(invokeDirect, true, true);
-OP_END
diff --git a/vm/mterp/c/OP_INVOKE_DIRECT_RANGE.cpp b/vm/mterp/c/OP_INVOKE_DIRECT_RANGE.cpp
index 6de06eecb..9877bbecf 100644
--- a/vm/mterp/c/OP_INVOKE_DIRECT_RANGE.cpp
+++ b/vm/mterp/c/OP_INVOKE_DIRECT_RANGE.cpp
@@ -1,3 +1,3 @@
HANDLE_OPCODE(OP_INVOKE_DIRECT_RANGE /*{vCCCC..v(CCCC+AA-1)}, meth@BBBB*/)
- GOTO_invoke(invokeDirect, true, false);
+ GOTO_invoke(invokeDirect, true);
OP_END
diff --git a/vm/mterp/c/OP_INVOKE_INTERFACE.cpp b/vm/mterp/c/OP_INVOKE_INTERFACE.cpp
index 1de99d141..9c639d5cd 100644
--- a/vm/mterp/c/OP_INVOKE_INTERFACE.cpp
+++ b/vm/mterp/c/OP_INVOKE_INTERFACE.cpp
@@ -1,3 +1,3 @@
HANDLE_OPCODE(OP_INVOKE_INTERFACE /*vB, {vD, vE, vF, vG, vA}, meth@CCCC*/)
- GOTO_invoke(invokeInterface, false, false);
+ GOTO_invoke(invokeInterface, false);
OP_END
diff --git a/vm/mterp/c/OP_INVOKE_INTERFACE_JUMBO.cpp b/vm/mterp/c/OP_INVOKE_INTERFACE_JUMBO.cpp
deleted file mode 100644
index 720a9bf79..000000000
--- a/vm/mterp/c/OP_INVOKE_INTERFACE_JUMBO.cpp
+++ /dev/null
@@ -1,3 +0,0 @@
-HANDLE_OPCODE(OP_INVOKE_INTERFACE_JUMBO /*{vCCCC..v(CCCC+BBBB-1)}, meth@AAAAAAAA*/)
- GOTO_invoke(invokeInterface, true, true);
-OP_END
diff --git a/vm/mterp/c/OP_INVOKE_INTERFACE_RANGE.cpp b/vm/mterp/c/OP_INVOKE_INTERFACE_RANGE.cpp
index 5cabdfb54..6244c9edd 100644
--- a/vm/mterp/c/OP_INVOKE_INTERFACE_RANGE.cpp
+++ b/vm/mterp/c/OP_INVOKE_INTERFACE_RANGE.cpp
@@ -1,3 +1,3 @@
HANDLE_OPCODE(OP_INVOKE_INTERFACE_RANGE /*{vCCCC..v(CCCC+AA-1)}, meth@BBBB*/)
- GOTO_invoke(invokeInterface, true, false);
+ GOTO_invoke(invokeInterface, true);
OP_END
diff --git a/vm/mterp/c/OP_INVOKE_OBJECT_INIT_JUMBO.cpp b/vm/mterp/c/OP_INVOKE_OBJECT_INIT_JUMBO.cpp
deleted file mode 100644
index 324e46216..000000000
--- a/vm/mterp/c/OP_INVOKE_OBJECT_INIT_JUMBO.cpp
+++ /dev/null
@@ -1,29 +0,0 @@
-HANDLE_OPCODE(OP_INVOKE_OBJECT_INIT_JUMBO /*{vCCCC..vNNNN}, meth@AAAAAAAA*/)
- {
- Object* obj;
-
- vsrc1 = FETCH(4); /* reg number of "this" pointer */
- obj = GET_REGISTER_AS_OBJECT(vsrc1);
-
- if (!checkForNullExportPC(obj, fp, pc))
- GOTO_exceptionThrown();
-
- /*
- * The object should be marked "finalizable" when Object.<init>
- * completes normally. We're going to assume it does complete
- * (by virtue of being nothing but a return-void) and set it now.
- */
- if (IS_CLASS_FLAG_SET(obj->clazz, CLASS_ISFINALIZABLE)) {
- EXPORT_PC();
- dvmSetFinalizable(obj);
- if (dvmGetException(self))
- GOTO_exceptionThrown();
- }
-
- if (self->interpBreak.ctl.subMode & kSubModeDebuggerActive) {
- /* behave like OP_INVOKE_DIRECT_RANGE */
- GOTO_invoke(invokeDirect, true, true);
- }
- FINISH(5);
- }
-OP_END
diff --git a/vm/mterp/c/OP_INVOKE_OBJECT_INIT_RANGE.cpp b/vm/mterp/c/OP_INVOKE_OBJECT_INIT_RANGE.cpp
index 20f057361..a22446fc5 100644
--- a/vm/mterp/c/OP_INVOKE_OBJECT_INIT_RANGE.cpp
+++ b/vm/mterp/c/OP_INVOKE_OBJECT_INIT_RANGE.cpp
@@ -22,7 +22,7 @@ HANDLE_OPCODE(OP_INVOKE_OBJECT_INIT_RANGE /*{vCCCC..v(CCCC+AA-1)}, meth@BBBB*/)
if (self->interpBreak.ctl.subMode & kSubModeDebuggerActive) {
/* behave like OP_INVOKE_DIRECT_RANGE */
- GOTO_invoke(invokeDirect, true, false);
+ GOTO_invoke(invokeDirect, true);
}
FINISH(3);
}
diff --git a/vm/mterp/c/OP_INVOKE_STATIC.cpp b/vm/mterp/c/OP_INVOKE_STATIC.cpp
index a162e0be1..81f3d626e 100644
--- a/vm/mterp/c/OP_INVOKE_STATIC.cpp
+++ b/vm/mterp/c/OP_INVOKE_STATIC.cpp
@@ -1,3 +1,3 @@
HANDLE_OPCODE(OP_INVOKE_STATIC /*vB, {vD, vE, vF, vG, vA}, meth@CCCC*/)
- GOTO_invoke(invokeStatic, false, false);
+ GOTO_invoke(invokeStatic, false);
OP_END
diff --git a/vm/mterp/c/OP_INVOKE_STATIC_JUMBO.cpp b/vm/mterp/c/OP_INVOKE_STATIC_JUMBO.cpp
deleted file mode 100644
index 29066e9fa..000000000
--- a/vm/mterp/c/OP_INVOKE_STATIC_JUMBO.cpp
+++ /dev/null
@@ -1,3 +0,0 @@
-HANDLE_OPCODE(OP_INVOKE_STATIC_JUMBO /*{vCCCC..v(CCCC+BBBB-1)}, meth@AAAAAAAA*/)
- GOTO_invoke(invokeStatic, true, true);
-OP_END
diff --git a/vm/mterp/c/OP_INVOKE_STATIC_RANGE.cpp b/vm/mterp/c/OP_INVOKE_STATIC_RANGE.cpp
index 103f74571..3fc4c3596 100644
--- a/vm/mterp/c/OP_INVOKE_STATIC_RANGE.cpp
+++ b/vm/mterp/c/OP_INVOKE_STATIC_RANGE.cpp
@@ -1,3 +1,3 @@
HANDLE_OPCODE(OP_INVOKE_STATIC_RANGE /*{vCCCC..v(CCCC+AA-1)}, meth@BBBB*/)
- GOTO_invoke(invokeStatic, true, false);
+ GOTO_invoke(invokeStatic, true);
OP_END
diff --git a/vm/mterp/c/OP_INVOKE_SUPER.cpp b/vm/mterp/c/OP_INVOKE_SUPER.cpp
index e70e8ed89..e7baea43a 100644
--- a/vm/mterp/c/OP_INVOKE_SUPER.cpp
+++ b/vm/mterp/c/OP_INVOKE_SUPER.cpp
@@ -1,3 +1,3 @@
HANDLE_OPCODE(OP_INVOKE_SUPER /*vB, {vD, vE, vF, vG, vA}, meth@CCCC*/)
- GOTO_invoke(invokeSuper, false, false);
+ GOTO_invoke(invokeSuper, false);
OP_END
diff --git a/vm/mterp/c/OP_INVOKE_SUPER_JUMBO.cpp b/vm/mterp/c/OP_INVOKE_SUPER_JUMBO.cpp
deleted file mode 100644
index e1e75c121..000000000
--- a/vm/mterp/c/OP_INVOKE_SUPER_JUMBO.cpp
+++ /dev/null
@@ -1,3 +0,0 @@
-HANDLE_OPCODE(OP_INVOKE_SUPER_JUMBO /*{vCCCC..v(CCCC+BBBB-1)}, meth@AAAAAAAA*/)
- GOTO_invoke(invokeSuper, true, true);
-OP_END
diff --git a/vm/mterp/c/OP_INVOKE_SUPER_QUICK.cpp b/vm/mterp/c/OP_INVOKE_SUPER_QUICK.cpp
index 1c9b16c84..b66e033bb 100644
--- a/vm/mterp/c/OP_INVOKE_SUPER_QUICK.cpp
+++ b/vm/mterp/c/OP_INVOKE_SUPER_QUICK.cpp
@@ -1,3 +1,3 @@
HANDLE_OPCODE(OP_INVOKE_SUPER_QUICK /*vB, {vD, vE, vF, vG, vA}, meth@CCCC*/)
- GOTO_invoke(invokeSuperQuick, false, false);
+ GOTO_invoke(invokeSuperQuick, false);
OP_END
diff --git a/vm/mterp/c/OP_INVOKE_SUPER_QUICK_RANGE.cpp b/vm/mterp/c/OP_INVOKE_SUPER_QUICK_RANGE.cpp
index 4b11ccc17..879497b08 100644
--- a/vm/mterp/c/OP_INVOKE_SUPER_QUICK_RANGE.cpp
+++ b/vm/mterp/c/OP_INVOKE_SUPER_QUICK_RANGE.cpp
@@ -1,3 +1,3 @@
HANDLE_OPCODE(OP_INVOKE_SUPER_QUICK_RANGE /*{vCCCC..v(CCCC+AA-1)}, meth@BBBB*/)
- GOTO_invoke(invokeSuperQuick, true, false);
+ GOTO_invoke(invokeSuperQuick, true);
OP_END
diff --git a/vm/mterp/c/OP_INVOKE_SUPER_RANGE.cpp b/vm/mterp/c/OP_INVOKE_SUPER_RANGE.cpp
index fca6b3e9a..724e3a07e 100644
--- a/vm/mterp/c/OP_INVOKE_SUPER_RANGE.cpp
+++ b/vm/mterp/c/OP_INVOKE_SUPER_RANGE.cpp
@@ -1,3 +1,3 @@
HANDLE_OPCODE(OP_INVOKE_SUPER_RANGE /*{vCCCC..v(CCCC+AA-1)}, meth@BBBB*/)
- GOTO_invoke(invokeSuper, true, false);
+ GOTO_invoke(invokeSuper, true);
OP_END
diff --git a/vm/mterp/c/OP_INVOKE_VIRTUAL.cpp b/vm/mterp/c/OP_INVOKE_VIRTUAL.cpp
index 894ad4671..29a456074 100644
--- a/vm/mterp/c/OP_INVOKE_VIRTUAL.cpp
+++ b/vm/mterp/c/OP_INVOKE_VIRTUAL.cpp
@@ -1,3 +1,3 @@
HANDLE_OPCODE(OP_INVOKE_VIRTUAL /*vB, {vD, vE, vF, vG, vA}, meth@CCCC*/)
- GOTO_invoke(invokeVirtual, false, false);
+ GOTO_invoke(invokeVirtual, false);
OP_END
diff --git a/vm/mterp/c/OP_INVOKE_VIRTUAL_JUMBO.cpp b/vm/mterp/c/OP_INVOKE_VIRTUAL_JUMBO.cpp
deleted file mode 100644
index 9fa61ec4b..000000000
--- a/vm/mterp/c/OP_INVOKE_VIRTUAL_JUMBO.cpp
+++ /dev/null
@@ -1,3 +0,0 @@
-HANDLE_OPCODE(OP_INVOKE_VIRTUAL_JUMBO /*{vCCCC..v(CCCC+BBBB-1)}, meth@AAAAAAAA*/)
- GOTO_invoke(invokeVirtual, true, true);
-OP_END
diff --git a/vm/mterp/c/OP_INVOKE_VIRTUAL_QUICK.cpp b/vm/mterp/c/OP_INVOKE_VIRTUAL_QUICK.cpp
index 7a6d5400d..244fed433 100644
--- a/vm/mterp/c/OP_INVOKE_VIRTUAL_QUICK.cpp
+++ b/vm/mterp/c/OP_INVOKE_VIRTUAL_QUICK.cpp
@@ -1,3 +1,3 @@
HANDLE_OPCODE(OP_INVOKE_VIRTUAL_QUICK /*vB, {vD, vE, vF, vG, vA}, meth@CCCC*/)
- GOTO_invoke(invokeVirtualQuick, false, false);
+ GOTO_invoke(invokeVirtualQuick, false);
OP_END
diff --git a/vm/mterp/c/OP_INVOKE_VIRTUAL_QUICK_RANGE.cpp b/vm/mterp/c/OP_INVOKE_VIRTUAL_QUICK_RANGE.cpp
index e70446c35..9adb4adc3 100644
--- a/vm/mterp/c/OP_INVOKE_VIRTUAL_QUICK_RANGE.cpp
+++ b/vm/mterp/c/OP_INVOKE_VIRTUAL_QUICK_RANGE.cpp
@@ -1,3 +1,3 @@
HANDLE_OPCODE(OP_INVOKE_VIRTUAL_QUICK_RANGE/*{vCCCC..v(CCCC+AA-1)}, meth@BBBB*/)
- GOTO_invoke(invokeVirtualQuick, true, false);
+ GOTO_invoke(invokeVirtualQuick, true);
OP_END
diff --git a/vm/mterp/c/OP_INVOKE_VIRTUAL_RANGE.cpp b/vm/mterp/c/OP_INVOKE_VIRTUAL_RANGE.cpp
index 4c66d56c4..94671ae92 100644
--- a/vm/mterp/c/OP_INVOKE_VIRTUAL_RANGE.cpp
+++ b/vm/mterp/c/OP_INVOKE_VIRTUAL_RANGE.cpp
@@ -1,3 +1,3 @@
HANDLE_OPCODE(OP_INVOKE_VIRTUAL_RANGE /*{vCCCC..v(CCCC+AA-1)}, meth@BBBB*/)
- GOTO_invoke(invokeVirtual, true, false);
+ GOTO_invoke(invokeVirtual, true);
OP_END
diff --git a/vm/mterp/c/OP_IPUT_BOOLEAN_JUMBO.cpp b/vm/mterp/c/OP_IPUT_BOOLEAN_JUMBO.cpp
deleted file mode 100644
index 405ee9d9a..000000000
--- a/vm/mterp/c/OP_IPUT_BOOLEAN_JUMBO.cpp
+++ /dev/null
@@ -1,2 +0,0 @@
-HANDLE_IPUT_X_JUMBO(OP_IPUT_BOOLEAN_JUMBO, "", Int, )
-OP_END
diff --git a/vm/mterp/c/OP_IPUT_BYTE_JUMBO.cpp b/vm/mterp/c/OP_IPUT_BYTE_JUMBO.cpp
deleted file mode 100644
index 40a99695e..000000000
--- a/vm/mterp/c/OP_IPUT_BYTE_JUMBO.cpp
+++ /dev/null
@@ -1,2 +0,0 @@
-HANDLE_IPUT_X_JUMBO(OP_IPUT_BYTE_JUMBO, "", Int, )
-OP_END
diff --git a/vm/mterp/c/OP_IPUT_CHAR_JUMBO.cpp b/vm/mterp/c/OP_IPUT_CHAR_JUMBO.cpp
deleted file mode 100644
index 170a353a1..000000000
--- a/vm/mterp/c/OP_IPUT_CHAR_JUMBO.cpp
+++ /dev/null
@@ -1,2 +0,0 @@
-HANDLE_IPUT_X_JUMBO(OP_IPUT_CHAR_JUMBO, "", Int, )
-OP_END
diff --git a/vm/mterp/c/OP_IPUT_JUMBO.cpp b/vm/mterp/c/OP_IPUT_JUMBO.cpp
deleted file mode 100644
index 2419bf20e..000000000
--- a/vm/mterp/c/OP_IPUT_JUMBO.cpp
+++ /dev/null
@@ -1,2 +0,0 @@
-HANDLE_IPUT_X_JUMBO(OP_IPUT_JUMBO, "", Int, )
-OP_END
diff --git a/vm/mterp/c/OP_IPUT_OBJECT_JUMBO.cpp b/vm/mterp/c/OP_IPUT_OBJECT_JUMBO.cpp
deleted file mode 100644
index 47a0576b9..000000000
--- a/vm/mterp/c/OP_IPUT_OBJECT_JUMBO.cpp
+++ /dev/null
@@ -1,13 +0,0 @@
-/*
- * The VM spec says we should verify that the reference being stored into
- * the field is assignment compatible. In practice, many popular VMs don't
- * do this because it slows down a very common operation. It's not so bad
- * for us, since "dexopt" quickens it whenever possible, but it's still an
- * issue.
- *
- * To make this spec-complaint, we'd need to add a ClassObject pointer to
- * the Field struct, resolve the field's type descriptor at link or class
- * init time, and then verify the type here.
- */
-HANDLE_IPUT_X_JUMBO(OP_IPUT_OBJECT_JUMBO, "-object", Object, _AS_OBJECT)
-OP_END
diff --git a/vm/mterp/c/OP_IPUT_OBJECT_VOLATILE_JUMBO.cpp b/vm/mterp/c/OP_IPUT_OBJECT_VOLATILE_JUMBO.cpp
deleted file mode 100644
index 0af17e34d..000000000
--- a/vm/mterp/c/OP_IPUT_OBJECT_VOLATILE_JUMBO.cpp
+++ /dev/null
@@ -1,2 +0,0 @@
-HANDLE_IPUT_X_JUMBO(OP_IPUT_OBJECT_VOLATILE_JUMBO, "-object-volatile/jumbo", ObjectVolatile, _AS_OBJECT)
-OP_END
diff --git a/vm/mterp/c/OP_IPUT_SHORT_JUMBO.cpp b/vm/mterp/c/OP_IPUT_SHORT_JUMBO.cpp
deleted file mode 100644
index 41e0c44d1..000000000
--- a/vm/mterp/c/OP_IPUT_SHORT_JUMBO.cpp
+++ /dev/null
@@ -1,2 +0,0 @@
-HANDLE_IPUT_X_JUMBO(OP_IPUT_SHORT_JUMBO, "", Int, )
-OP_END
diff --git a/vm/mterp/c/OP_IPUT_VOLATILE_JUMBO.cpp b/vm/mterp/c/OP_IPUT_VOLATILE_JUMBO.cpp
deleted file mode 100644
index 82216c624..000000000
--- a/vm/mterp/c/OP_IPUT_VOLATILE_JUMBO.cpp
+++ /dev/null
@@ -1,2 +0,0 @@
-HANDLE_IPUT_X_JUMBO(OP_IPUT_VOLATILE_JUMBO, "-volatile/jumbo", IntVolatile, )
-OP_END
diff --git a/vm/mterp/c/OP_IPUT_WIDE_JUMBO.cpp b/vm/mterp/c/OP_IPUT_WIDE_JUMBO.cpp
deleted file mode 100644
index 72a40823d..000000000
--- a/vm/mterp/c/OP_IPUT_WIDE_JUMBO.cpp
+++ /dev/null
@@ -1,2 +0,0 @@
-HANDLE_IPUT_X_JUMBO(OP_IPUT_WIDE_JUMBO, "-wide", Long, _WIDE)
-OP_END
diff --git a/vm/mterp/c/OP_IPUT_WIDE_VOLATILE_JUMBO.cpp b/vm/mterp/c/OP_IPUT_WIDE_VOLATILE_JUMBO.cpp
deleted file mode 100644
index f4a214011..000000000
--- a/vm/mterp/c/OP_IPUT_WIDE_VOLATILE_JUMBO.cpp
+++ /dev/null
@@ -1,2 +0,0 @@
-HANDLE_IPUT_X_JUMBO(OP_IPUT_WIDE_VOLATILE_JUMBO, "-wide-volatile/jumbo", LongVolatile, _WIDE)
-OP_END
diff --git a/vm/mterp/c/OP_NEW_ARRAY_JUMBO.cpp b/vm/mterp/c/OP_NEW_ARRAY_JUMBO.cpp
deleted file mode 100644
index 7c0d55192..000000000
--- a/vm/mterp/c/OP_NEW_ARRAY_JUMBO.cpp
+++ /dev/null
@@ -1,35 +0,0 @@
-HANDLE_OPCODE(OP_NEW_ARRAY_JUMBO /*vBBBB, vCCCC, class@AAAAAAAA*/)
- {
- ClassObject* arrayClass;
- ArrayObject* newArray;
- s4 length;
-
- EXPORT_PC();
-
- ref = FETCH(1) | (u4)FETCH(2) << 16;
- vdst = FETCH(3);
- vsrc1 = FETCH(4); /* length reg */
- ILOGV("|new-array/jumbo v%d,v%d,class@0x%08x (%d elements)",
- vdst, vsrc1, ref, (s4) GET_REGISTER(vsrc1));
- length = (s4) GET_REGISTER(vsrc1);
- if (length < 0) {
- dvmThrowNegativeArraySizeException(length);
- GOTO_exceptionThrown();
- }
- arrayClass = dvmDexGetResolvedClass(methodClassDex, ref);
- if (arrayClass == NULL) {
- arrayClass = dvmResolveClass(curMethod->clazz, ref, false);
- if (arrayClass == NULL)
- GOTO_exceptionThrown();
- }
- /* verifier guarantees this is an array class */
- assert(dvmIsArrayClass(arrayClass));
- assert(dvmIsClassInitialized(arrayClass));
-
- newArray = dvmAllocArrayByClass(arrayClass, length, ALLOC_DONT_TRACK);
- if (newArray == NULL)
- GOTO_exceptionThrown();
- SET_REGISTER(vdst, (u4) newArray);
- }
- FINISH(5);
-OP_END
diff --git a/vm/mterp/c/OP_NEW_INSTANCE_JUMBO.cpp b/vm/mterp/c/OP_NEW_INSTANCE_JUMBO.cpp
deleted file mode 100644
index aeffff489..000000000
--- a/vm/mterp/c/OP_NEW_INSTANCE_JUMBO.cpp
+++ /dev/null
@@ -1,48 +0,0 @@
-HANDLE_OPCODE(OP_NEW_INSTANCE_JUMBO /*vBBBB, class@AAAAAAAA*/)
- {
- ClassObject* clazz;
- Object* newObj;
-
- EXPORT_PC();
-
- ref = FETCH(1) | (u4)FETCH(2) << 16;
- vdst = FETCH(3);
- ILOGV("|new-instance/jumbo v%d,class@0x%08x", vdst, ref);
- clazz = dvmDexGetResolvedClass(methodClassDex, ref);
- if (clazz == NULL) {
- clazz = dvmResolveClass(curMethod->clazz, ref, false);
- if (clazz == NULL)
- GOTO_exceptionThrown();
- }
-
- if (!dvmIsClassInitialized(clazz) && !dvmInitClass(clazz))
- GOTO_exceptionThrown();
-
-#if defined(WITH_JIT)
- /*
- * The JIT needs dvmDexGetResolvedClass() to return non-null.
- * Since we use the portable interpreter to build the trace, this extra
- * check is not needed for mterp.
- */
- if ((self->interpBreak.ctl.subMode & kSubModeJitTraceBuild) &&
- (!dvmDexGetResolvedClass(methodClassDex, ref))) {
- /* Class initialization is still ongoing - end the trace */
- dvmJitEndTraceSelect(self,pc);
- }
-#endif
-
- /*
- * Verifier now tests for interface/abstract class.
- */
- //if (dvmIsInterfaceClass(clazz) || dvmIsAbstractClass(clazz)) {
- // dvmThrowExceptionWithClassMessage(gDvm.exInstantiationError,
- // clazz->descriptor);
- // GOTO_exceptionThrown();
- //}
- newObj = dvmAllocObject(clazz, ALLOC_DONT_TRACK);
- if (newObj == NULL)
- GOTO_exceptionThrown();
- SET_REGISTER(vdst, (u4) newObj);
- }
- FINISH(4);
-OP_END
diff --git a/vm/mterp/c/OP_SGET_BOOLEAN_JUMBO.cpp b/vm/mterp/c/OP_SGET_BOOLEAN_JUMBO.cpp
deleted file mode 100644
index b0a752554..000000000
--- a/vm/mterp/c/OP_SGET_BOOLEAN_JUMBO.cpp
+++ /dev/null
@@ -1,2 +0,0 @@
-HANDLE_SGET_X_JUMBO(OP_SGET_BOOLEAN_JUMBO, "", Int, )
-OP_END
diff --git a/vm/mterp/c/OP_SGET_BYTE_JUMBO.cpp b/vm/mterp/c/OP_SGET_BYTE_JUMBO.cpp
deleted file mode 100644
index 421cac49b..000000000
--- a/vm/mterp/c/OP_SGET_BYTE_JUMBO.cpp
+++ /dev/null
@@ -1,2 +0,0 @@
-HANDLE_SGET_X_JUMBO(OP_SGET_BYTE_JUMBO, "", Int, )
-OP_END
diff --git a/vm/mterp/c/OP_SGET_CHAR_JUMBO.cpp b/vm/mterp/c/OP_SGET_CHAR_JUMBO.cpp
deleted file mode 100644
index 71663f069..000000000
--- a/vm/mterp/c/OP_SGET_CHAR_JUMBO.cpp
+++ /dev/null
@@ -1,2 +0,0 @@
-HANDLE_SGET_X_JUMBO(OP_SGET_CHAR_JUMBO, "", Int, )
-OP_END
diff --git a/vm/mterp/c/OP_SGET_JUMBO.cpp b/vm/mterp/c/OP_SGET_JUMBO.cpp
deleted file mode 100644
index 460f06a53..000000000
--- a/vm/mterp/c/OP_SGET_JUMBO.cpp
+++ /dev/null
@@ -1,2 +0,0 @@
-HANDLE_SGET_X_JUMBO(OP_SGET_JUMBO, "", Int, )
-OP_END
diff --git a/vm/mterp/c/OP_SGET_OBJECT_JUMBO.cpp b/vm/mterp/c/OP_SGET_OBJECT_JUMBO.cpp
deleted file mode 100644
index 0531c440c..000000000
--- a/vm/mterp/c/OP_SGET_OBJECT_JUMBO.cpp
+++ /dev/null
@@ -1,2 +0,0 @@
-HANDLE_SGET_X_JUMBO(OP_SGET_OBJECT_JUMBO, "-object", Object, _AS_OBJECT)
-OP_END
diff --git a/vm/mterp/c/OP_SGET_OBJECT_VOLATILE_JUMBO.cpp b/vm/mterp/c/OP_SGET_OBJECT_VOLATILE_JUMBO.cpp
deleted file mode 100644
index b96ef5d05..000000000
--- a/vm/mterp/c/OP_SGET_OBJECT_VOLATILE_JUMBO.cpp
+++ /dev/null
@@ -1,2 +0,0 @@
-HANDLE_SGET_X_JUMBO(OP_SGET_OBJECT_VOLATILE_JUMBO, "-object-volatile/jumbo", ObjectVolatile, _AS_OBJECT)
-OP_END
diff --git a/vm/mterp/c/OP_SGET_SHORT_JUMBO.cpp b/vm/mterp/c/OP_SGET_SHORT_JUMBO.cpp
deleted file mode 100644
index fdcc7278f..000000000
--- a/vm/mterp/c/OP_SGET_SHORT_JUMBO.cpp
+++ /dev/null
@@ -1,2 +0,0 @@
-HANDLE_SGET_X_JUMBO(OP_SGET_SHORT_JUMBO, "", Int, )
-OP_END
diff --git a/vm/mterp/c/OP_SGET_VOLATILE_JUMBO.cpp b/vm/mterp/c/OP_SGET_VOLATILE_JUMBO.cpp
deleted file mode 100644
index 5cf8975a4..000000000
--- a/vm/mterp/c/OP_SGET_VOLATILE_JUMBO.cpp
+++ /dev/null
@@ -1,2 +0,0 @@
-HANDLE_SGET_X_JUMBO(OP_SGET_VOLATILE_JUMBO, "-volatile/jumbo", IntVolatile, )
-OP_END
diff --git a/vm/mterp/c/OP_SGET_WIDE_JUMBO.cpp b/vm/mterp/c/OP_SGET_WIDE_JUMBO.cpp
deleted file mode 100644
index 213b00f6e..000000000
--- a/vm/mterp/c/OP_SGET_WIDE_JUMBO.cpp
+++ /dev/null
@@ -1,2 +0,0 @@
-HANDLE_SGET_X_JUMBO(OP_SGET_WIDE_JUMBO, "-wide", Long, _WIDE)
-OP_END
diff --git a/vm/mterp/c/OP_SGET_WIDE_VOLATILE_JUMBO.cpp b/vm/mterp/c/OP_SGET_WIDE_VOLATILE_JUMBO.cpp
deleted file mode 100644
index 4b75c753c..000000000
--- a/vm/mterp/c/OP_SGET_WIDE_VOLATILE_JUMBO.cpp
+++ /dev/null
@@ -1,2 +0,0 @@
-HANDLE_SGET_X_JUMBO(OP_SGET_WIDE_VOLATILE_JUMBO, "-wide-volatile/jumbo", LongVolatile, _WIDE)
-OP_END
diff --git a/vm/mterp/c/OP_SPUT_BOOLEAN_JUMBO.cpp b/vm/mterp/c/OP_SPUT_BOOLEAN_JUMBO.cpp
deleted file mode 100644
index 57b368ef8..000000000
--- a/vm/mterp/c/OP_SPUT_BOOLEAN_JUMBO.cpp
+++ /dev/null
@@ -1,2 +0,0 @@
-HANDLE_SPUT_X_JUMBO(OP_SPUT_BOOLEAN_JUMBO, "", Int, )
-OP_END
diff --git a/vm/mterp/c/OP_SPUT_BYTE_JUMBO.cpp b/vm/mterp/c/OP_SPUT_BYTE_JUMBO.cpp
deleted file mode 100644
index 10dc04d74..000000000
--- a/vm/mterp/c/OP_SPUT_BYTE_JUMBO.cpp
+++ /dev/null
@@ -1,2 +0,0 @@
-HANDLE_SPUT_X_JUMBO(OP_SPUT_BYTE_JUMBO, "", Int, )
-OP_END
diff --git a/vm/mterp/c/OP_SPUT_CHAR_JUMBO.cpp b/vm/mterp/c/OP_SPUT_CHAR_JUMBO.cpp
deleted file mode 100644
index 1e645337d..000000000
--- a/vm/mterp/c/OP_SPUT_CHAR_JUMBO.cpp
+++ /dev/null
@@ -1,2 +0,0 @@
-HANDLE_SPUT_X_JUMBO(OP_SPUT_CHAR_JUMBO, "", Int, )
-OP_END
diff --git a/vm/mterp/c/OP_SPUT_JUMBO.cpp b/vm/mterp/c/OP_SPUT_JUMBO.cpp
deleted file mode 100644
index f2d90a5cf..000000000
--- a/vm/mterp/c/OP_SPUT_JUMBO.cpp
+++ /dev/null
@@ -1,2 +0,0 @@
-HANDLE_SPUT_X_JUMBO(OP_SPUT_JUMBO, "", Int, )
-OP_END
diff --git a/vm/mterp/c/OP_SPUT_OBJECT_JUMBO.cpp b/vm/mterp/c/OP_SPUT_OBJECT_JUMBO.cpp
deleted file mode 100644
index e79e25ac4..000000000
--- a/vm/mterp/c/OP_SPUT_OBJECT_JUMBO.cpp
+++ /dev/null
@@ -1,2 +0,0 @@
-HANDLE_SPUT_X_JUMBO(OP_SPUT_OBJECT_JUMBO, "-object", Object, _AS_OBJECT)
-OP_END
diff --git a/vm/mterp/c/OP_SPUT_OBJECT_VOLATILE_JUMBO.cpp b/vm/mterp/c/OP_SPUT_OBJECT_VOLATILE_JUMBO.cpp
deleted file mode 100644
index 4f60a5d86..000000000
--- a/vm/mterp/c/OP_SPUT_OBJECT_VOLATILE_JUMBO.cpp
+++ /dev/null
@@ -1,2 +0,0 @@
-HANDLE_SPUT_X_JUMBO(OP_SPUT_OBJECT_VOLATILE_JUMBO, "-object-volatile/jumbo", ObjectVolatile, _AS_OBJECT)
-OP_END
diff --git a/vm/mterp/c/OP_SPUT_SHORT_JUMBO.cpp b/vm/mterp/c/OP_SPUT_SHORT_JUMBO.cpp
deleted file mode 100644
index 8c823928c..000000000
--- a/vm/mterp/c/OP_SPUT_SHORT_JUMBO.cpp
+++ /dev/null
@@ -1,2 +0,0 @@
-HANDLE_SPUT_X_JUMBO(OP_SPUT_SHORT_JUMBO, "", Int, )
-OP_END
diff --git a/vm/mterp/c/OP_SPUT_VOLATILE_JUMBO.cpp b/vm/mterp/c/OP_SPUT_VOLATILE_JUMBO.cpp
deleted file mode 100644
index 845cc833a..000000000
--- a/vm/mterp/c/OP_SPUT_VOLATILE_JUMBO.cpp
+++ /dev/null
@@ -1,2 +0,0 @@
-HANDLE_SPUT_X_JUMBO(OP_SPUT_VOLATILE_JUMBO, "-volatile", IntVolatile, )
-OP_END
diff --git a/vm/mterp/c/OP_SPUT_WIDE_JUMBO.cpp b/vm/mterp/c/OP_SPUT_WIDE_JUMBO.cpp
deleted file mode 100644
index 965eeb62d..000000000
--- a/vm/mterp/c/OP_SPUT_WIDE_JUMBO.cpp
+++ /dev/null
@@ -1,2 +0,0 @@
-HANDLE_SPUT_X_JUMBO(OP_SPUT_WIDE_JUMBO, "-wide", Long, _WIDE)
-OP_END
diff --git a/vm/mterp/c/OP_SPUT_WIDE_VOLATILE_JUMBO.cpp b/vm/mterp/c/OP_SPUT_WIDE_VOLATILE_JUMBO.cpp
deleted file mode 100644
index 3a862948d..000000000
--- a/vm/mterp/c/OP_SPUT_WIDE_VOLATILE_JUMBO.cpp
+++ /dev/null
@@ -1,2 +0,0 @@
-HANDLE_SPUT_X_JUMBO(OP_SPUT_WIDE_VOLATILE_JUMBO, "-wide-volatile/jumbo", LongVolatile, _WIDE)
-OP_END
diff --git a/vm/mterp/c/OP_THROW_VERIFICATION_ERROR_JUMBO.cpp b/vm/mterp/c/OP_THROW_VERIFICATION_ERROR_JUMBO.cpp
deleted file mode 100644
index c4607ec20..000000000
--- a/vm/mterp/c/OP_THROW_VERIFICATION_ERROR_JUMBO.cpp
+++ /dev/null
@@ -1,7 +0,0 @@
-HANDLE_OPCODE(OP_THROW_VERIFICATION_ERROR_JUMBO)
- EXPORT_PC();
- vsrc1 = FETCH(3);
- ref = FETCH(1) | (u4)FETCH(2) << 16; /* class/field/method ref */
- dvmThrowVerificationError(curMethod, vsrc1, ref);
- GOTO_exceptionThrown();
-OP_END
diff --git a/vm/mterp/c/OP_UNUSED_27FF.cpp b/vm/mterp/c/OP_UNUSED_27FF.cpp
deleted file mode 100644
index 804138ccd..000000000
--- a/vm/mterp/c/OP_UNUSED_27FF.cpp
+++ /dev/null
@@ -1,2 +0,0 @@
-HANDLE_OPCODE(OP_UNUSED_27FF)
-OP_END
diff --git a/vm/mterp/c/OP_UNUSED_28FF.cpp b/vm/mterp/c/OP_UNUSED_28FF.cpp
deleted file mode 100644
index f6e01f63b..000000000
--- a/vm/mterp/c/OP_UNUSED_28FF.cpp
+++ /dev/null
@@ -1,2 +0,0 @@
-HANDLE_OPCODE(OP_UNUSED_28FF)
-OP_END
diff --git a/vm/mterp/c/OP_UNUSED_29FF.cpp b/vm/mterp/c/OP_UNUSED_29FF.cpp
deleted file mode 100644
index 0a14c5f12..000000000
--- a/vm/mterp/c/OP_UNUSED_29FF.cpp
+++ /dev/null
@@ -1,2 +0,0 @@
-HANDLE_OPCODE(OP_UNUSED_29FF)
-OP_END
diff --git a/vm/mterp/c/OP_UNUSED_2AFF.cpp b/vm/mterp/c/OP_UNUSED_2AFF.cpp
deleted file mode 100644
index 701561ad8..000000000
--- a/vm/mterp/c/OP_UNUSED_2AFF.cpp
+++ /dev/null
@@ -1,2 +0,0 @@
-HANDLE_OPCODE(OP_UNUSED_2AFF)
-OP_END
diff --git a/vm/mterp/c/OP_UNUSED_2BFF.cpp b/vm/mterp/c/OP_UNUSED_2BFF.cpp
deleted file mode 100644
index a73366b87..000000000
--- a/vm/mterp/c/OP_UNUSED_2BFF.cpp
+++ /dev/null
@@ -1,2 +0,0 @@
-HANDLE_OPCODE(OP_UNUSED_2BFF)
-OP_END
diff --git a/vm/mterp/c/OP_UNUSED_2CFF.cpp b/vm/mterp/c/OP_UNUSED_2CFF.cpp
deleted file mode 100644
index a220b03a9..000000000
--- a/vm/mterp/c/OP_UNUSED_2CFF.cpp
+++ /dev/null
@@ -1,2 +0,0 @@
-HANDLE_OPCODE(OP_UNUSED_2CFF)
-OP_END
diff --git a/vm/mterp/c/OP_UNUSED_2DFF.cpp b/vm/mterp/c/OP_UNUSED_2DFF.cpp
deleted file mode 100644
index 2d4ba4e1a..000000000
--- a/vm/mterp/c/OP_UNUSED_2DFF.cpp
+++ /dev/null
@@ -1,2 +0,0 @@
-HANDLE_OPCODE(OP_UNUSED_2DFF)
-OP_END
diff --git a/vm/mterp/c/OP_UNUSED_2EFF.cpp b/vm/mterp/c/OP_UNUSED_2EFF.cpp
deleted file mode 100644
index 49d7fa9e6..000000000
--- a/vm/mterp/c/OP_UNUSED_2EFF.cpp
+++ /dev/null
@@ -1,2 +0,0 @@
-HANDLE_OPCODE(OP_UNUSED_2EFF)
-OP_END
diff --git a/vm/mterp/c/OP_UNUSED_2FFF.cpp b/vm/mterp/c/OP_UNUSED_2FFF.cpp
deleted file mode 100644
index 9326d0598..000000000
--- a/vm/mterp/c/OP_UNUSED_2FFF.cpp
+++ /dev/null
@@ -1,2 +0,0 @@
-HANDLE_OPCODE(OP_UNUSED_2FFF)
-OP_END
diff --git a/vm/mterp/c/OP_UNUSED_30FF.cpp b/vm/mterp/c/OP_UNUSED_30FF.cpp
deleted file mode 100644
index f36814e38..000000000
--- a/vm/mterp/c/OP_UNUSED_30FF.cpp
+++ /dev/null
@@ -1,2 +0,0 @@
-HANDLE_OPCODE(OP_UNUSED_30FF)
-OP_END
diff --git a/vm/mterp/c/OP_UNUSED_31FF.cpp b/vm/mterp/c/OP_UNUSED_31FF.cpp
deleted file mode 100644
index 20ab58b62..000000000
--- a/vm/mterp/c/OP_UNUSED_31FF.cpp
+++ /dev/null
@@ -1,2 +0,0 @@
-HANDLE_OPCODE(OP_UNUSED_31FF)
-OP_END
diff --git a/vm/mterp/c/OP_UNUSED_32FF.cpp b/vm/mterp/c/OP_UNUSED_32FF.cpp
deleted file mode 100644
index 459b165f7..000000000
--- a/vm/mterp/c/OP_UNUSED_32FF.cpp
+++ /dev/null
@@ -1,2 +0,0 @@
-HANDLE_OPCODE(OP_UNUSED_32FF)
-OP_END
diff --git a/vm/mterp/c/OP_UNUSED_33FF.cpp b/vm/mterp/c/OP_UNUSED_33FF.cpp
deleted file mode 100644
index 83fb82cf5..000000000
--- a/vm/mterp/c/OP_UNUSED_33FF.cpp
+++ /dev/null
@@ -1,2 +0,0 @@
-HANDLE_OPCODE(OP_UNUSED_33FF)
-OP_END
diff --git a/vm/mterp/c/OP_UNUSED_34FF.cpp b/vm/mterp/c/OP_UNUSED_34FF.cpp
deleted file mode 100644
index d9e7bb057..000000000
--- a/vm/mterp/c/OP_UNUSED_34FF.cpp
+++ /dev/null
@@ -1,2 +0,0 @@
-HANDLE_OPCODE(OP_UNUSED_34FF)
-OP_END
diff --git a/vm/mterp/c/OP_UNUSED_35FF.cpp b/vm/mterp/c/OP_UNUSED_35FF.cpp
deleted file mode 100644
index 2ed7b342d..000000000
--- a/vm/mterp/c/OP_UNUSED_35FF.cpp
+++ /dev/null
@@ -1,2 +0,0 @@
-HANDLE_OPCODE(OP_UNUSED_35FF)
-OP_END
diff --git a/vm/mterp/c/OP_UNUSED_36FF.cpp b/vm/mterp/c/OP_UNUSED_36FF.cpp
deleted file mode 100644
index 277059464..000000000
--- a/vm/mterp/c/OP_UNUSED_36FF.cpp
+++ /dev/null
@@ -1,2 +0,0 @@
-HANDLE_OPCODE(OP_UNUSED_36FF)
-OP_END
diff --git a/vm/mterp/c/OP_UNUSED_37FF.cpp b/vm/mterp/c/OP_UNUSED_37FF.cpp
deleted file mode 100644
index 206b6a64b..000000000
--- a/vm/mterp/c/OP_UNUSED_37FF.cpp
+++ /dev/null
@@ -1,2 +0,0 @@
-HANDLE_OPCODE(OP_UNUSED_37FF)
-OP_END
diff --git a/vm/mterp/c/OP_UNUSED_38FF.cpp b/vm/mterp/c/OP_UNUSED_38FF.cpp
deleted file mode 100644
index 68c94a0d8..000000000
--- a/vm/mterp/c/OP_UNUSED_38FF.cpp
+++ /dev/null
@@ -1,2 +0,0 @@
-HANDLE_OPCODE(OP_UNUSED_38FF)
-OP_END
diff --git a/vm/mterp/c/OP_UNUSED_39FF.cpp b/vm/mterp/c/OP_UNUSED_39FF.cpp
deleted file mode 100644
index c003a8790..000000000
--- a/vm/mterp/c/OP_UNUSED_39FF.cpp
+++ /dev/null
@@ -1,2 +0,0 @@
-HANDLE_OPCODE(OP_UNUSED_39FF)
-OP_END
diff --git a/vm/mterp/c/OP_UNUSED_3AFF.cpp b/vm/mterp/c/OP_UNUSED_3AFF.cpp
deleted file mode 100644
index b43e356c5..000000000
--- a/vm/mterp/c/OP_UNUSED_3AFF.cpp
+++ /dev/null
@@ -1,2 +0,0 @@
-HANDLE_OPCODE(OP_UNUSED_3AFF)
-OP_END
diff --git a/vm/mterp/c/OP_UNUSED_3BFF.cpp b/vm/mterp/c/OP_UNUSED_3BFF.cpp
deleted file mode 100644
index 21883369e..000000000
--- a/vm/mterp/c/OP_UNUSED_3BFF.cpp
+++ /dev/null
@@ -1,2 +0,0 @@
-HANDLE_OPCODE(OP_UNUSED_3BFF)
-OP_END
diff --git a/vm/mterp/c/OP_UNUSED_3CFF.cpp b/vm/mterp/c/OP_UNUSED_3CFF.cpp
deleted file mode 100644
index f446d40eb..000000000
--- a/vm/mterp/c/OP_UNUSED_3CFF.cpp
+++ /dev/null
@@ -1,2 +0,0 @@
-HANDLE_OPCODE(OP_UNUSED_3CFF)
-OP_END
diff --git a/vm/mterp/c/OP_UNUSED_3DFF.cpp b/vm/mterp/c/OP_UNUSED_3DFF.cpp
deleted file mode 100644
index f57cd64ee..000000000
--- a/vm/mterp/c/OP_UNUSED_3DFF.cpp
+++ /dev/null
@@ -1,2 +0,0 @@
-HANDLE_OPCODE(OP_UNUSED_3DFF)
-OP_END
diff --git a/vm/mterp/c/OP_UNUSED_3EFF.cpp b/vm/mterp/c/OP_UNUSED_3EFF.cpp
deleted file mode 100644
index b81647fe7..000000000
--- a/vm/mterp/c/OP_UNUSED_3EFF.cpp
+++ /dev/null
@@ -1,2 +0,0 @@
-HANDLE_OPCODE(OP_UNUSED_3EFF)
-OP_END
diff --git a/vm/mterp/c/OP_UNUSED_3FFF.cpp b/vm/mterp/c/OP_UNUSED_3FFF.cpp
deleted file mode 100644
index adfd65e35..000000000
--- a/vm/mterp/c/OP_UNUSED_3FFF.cpp
+++ /dev/null
@@ -1,2 +0,0 @@
-HANDLE_OPCODE(OP_UNUSED_3FFF)
-OP_END
diff --git a/vm/mterp/c/OP_UNUSED_40FF.cpp b/vm/mterp/c/OP_UNUSED_40FF.cpp
deleted file mode 100644
index aa87b392f..000000000
--- a/vm/mterp/c/OP_UNUSED_40FF.cpp
+++ /dev/null
@@ -1,2 +0,0 @@
-HANDLE_OPCODE(OP_UNUSED_40FF)
-OP_END
diff --git a/vm/mterp/c/OP_UNUSED_41FF.cpp b/vm/mterp/c/OP_UNUSED_41FF.cpp
deleted file mode 100644
index a2a389477..000000000
--- a/vm/mterp/c/OP_UNUSED_41FF.cpp
+++ /dev/null
@@ -1,2 +0,0 @@
-HANDLE_OPCODE(OP_UNUSED_41FF)
-OP_END
diff --git a/vm/mterp/c/OP_UNUSED_42FF.cpp b/vm/mterp/c/OP_UNUSED_42FF.cpp
deleted file mode 100644
index edd439362..000000000
--- a/vm/mterp/c/OP_UNUSED_42FF.cpp
+++ /dev/null
@@ -1,2 +0,0 @@
-HANDLE_OPCODE(OP_UNUSED_42FF)
-OP_END
diff --git a/vm/mterp/c/OP_UNUSED_43FF.cpp b/vm/mterp/c/OP_UNUSED_43FF.cpp
deleted file mode 100644
index 6e616ebe0..000000000
--- a/vm/mterp/c/OP_UNUSED_43FF.cpp
+++ /dev/null
@@ -1,2 +0,0 @@
-HANDLE_OPCODE(OP_UNUSED_43FF)
-OP_END
diff --git a/vm/mterp/c/OP_UNUSED_44FF.cpp b/vm/mterp/c/OP_UNUSED_44FF.cpp
deleted file mode 100644
index 0eee91fde..000000000
--- a/vm/mterp/c/OP_UNUSED_44FF.cpp
+++ /dev/null
@@ -1,2 +0,0 @@
-HANDLE_OPCODE(OP_UNUSED_44FF)
-OP_END
diff --git a/vm/mterp/c/OP_UNUSED_45FF.cpp b/vm/mterp/c/OP_UNUSED_45FF.cpp
deleted file mode 100644
index 4a6b48ee2..000000000
--- a/vm/mterp/c/OP_UNUSED_45FF.cpp
+++ /dev/null
@@ -1,2 +0,0 @@
-HANDLE_OPCODE(OP_UNUSED_45FF)
-OP_END
diff --git a/vm/mterp/c/OP_UNUSED_46FF.cpp b/vm/mterp/c/OP_UNUSED_46FF.cpp
deleted file mode 100644
index e1c940e19..000000000
--- a/vm/mterp/c/OP_UNUSED_46FF.cpp
+++ /dev/null
@@ -1,2 +0,0 @@
-HANDLE_OPCODE(OP_UNUSED_46FF)
-OP_END
diff --git a/vm/mterp/c/OP_UNUSED_47FF.cpp b/vm/mterp/c/OP_UNUSED_47FF.cpp
deleted file mode 100644
index 94df8bd66..000000000
--- a/vm/mterp/c/OP_UNUSED_47FF.cpp
+++ /dev/null
@@ -1,2 +0,0 @@
-HANDLE_OPCODE(OP_UNUSED_47FF)
-OP_END
diff --git a/vm/mterp/c/OP_UNUSED_48FF.cpp b/vm/mterp/c/OP_UNUSED_48FF.cpp
deleted file mode 100644
index 1e2acdb8e..000000000
--- a/vm/mterp/c/OP_UNUSED_48FF.cpp
+++ /dev/null
@@ -1,2 +0,0 @@
-HANDLE_OPCODE(OP_UNUSED_48FF)
-OP_END
diff --git a/vm/mterp/c/OP_UNUSED_49FF.cpp b/vm/mterp/c/OP_UNUSED_49FF.cpp
deleted file mode 100644
index b86d45156..000000000
--- a/vm/mterp/c/OP_UNUSED_49FF.cpp
+++ /dev/null
@@ -1,2 +0,0 @@
-HANDLE_OPCODE(OP_UNUSED_49FF)
-OP_END
diff --git a/vm/mterp/c/OP_UNUSED_4AFF.cpp b/vm/mterp/c/OP_UNUSED_4AFF.cpp
deleted file mode 100644
index 9827b3440..000000000
--- a/vm/mterp/c/OP_UNUSED_4AFF.cpp
+++ /dev/null
@@ -1,2 +0,0 @@
-HANDLE_OPCODE(OP_UNUSED_4AFF)
-OP_END
diff --git a/vm/mterp/c/OP_UNUSED_4BFF.cpp b/vm/mterp/c/OP_UNUSED_4BFF.cpp
deleted file mode 100644
index 9e2652997..000000000
--- a/vm/mterp/c/OP_UNUSED_4BFF.cpp
+++ /dev/null
@@ -1,2 +0,0 @@
-HANDLE_OPCODE(OP_UNUSED_4BFF)
-OP_END
diff --git a/vm/mterp/c/OP_UNUSED_4CFF.cpp b/vm/mterp/c/OP_UNUSED_4CFF.cpp
deleted file mode 100644
index f21fa48e3..000000000
--- a/vm/mterp/c/OP_UNUSED_4CFF.cpp
+++ /dev/null
@@ -1,2 +0,0 @@
-HANDLE_OPCODE(OP_UNUSED_4CFF)
-OP_END
diff --git a/vm/mterp/c/OP_UNUSED_4DFF.cpp b/vm/mterp/c/OP_UNUSED_4DFF.cpp
deleted file mode 100644
index d5961495c..000000000
--- a/vm/mterp/c/OP_UNUSED_4DFF.cpp
+++ /dev/null
@@ -1,2 +0,0 @@
-HANDLE_OPCODE(OP_UNUSED_4DFF)
-OP_END
diff --git a/vm/mterp/c/OP_UNUSED_4EFF.cpp b/vm/mterp/c/OP_UNUSED_4EFF.cpp
deleted file mode 100644
index 7636c237d..000000000
--- a/vm/mterp/c/OP_UNUSED_4EFF.cpp
+++ /dev/null
@@ -1,2 +0,0 @@
-HANDLE_OPCODE(OP_UNUSED_4EFF)
-OP_END
diff --git a/vm/mterp/c/OP_UNUSED_4FFF.cpp b/vm/mterp/c/OP_UNUSED_4FFF.cpp
deleted file mode 100644
index 5d206898a..000000000
--- a/vm/mterp/c/OP_UNUSED_4FFF.cpp
+++ /dev/null
@@ -1,2 +0,0 @@
-HANDLE_OPCODE(OP_UNUSED_4FFF)
-OP_END
diff --git a/vm/mterp/c/OP_UNUSED_50FF.cpp b/vm/mterp/c/OP_UNUSED_50FF.cpp
deleted file mode 100644
index 4c577be03..000000000
--- a/vm/mterp/c/OP_UNUSED_50FF.cpp
+++ /dev/null
@@ -1,2 +0,0 @@
-HANDLE_OPCODE(OP_UNUSED_50FF)
-OP_END
diff --git a/vm/mterp/c/OP_UNUSED_51FF.cpp b/vm/mterp/c/OP_UNUSED_51FF.cpp
deleted file mode 100644
index e4a50d892..000000000
--- a/vm/mterp/c/OP_UNUSED_51FF.cpp
+++ /dev/null
@@ -1,2 +0,0 @@
-HANDLE_OPCODE(OP_UNUSED_51FF)
-OP_END
diff --git a/vm/mterp/c/OP_UNUSED_52FF.cpp b/vm/mterp/c/OP_UNUSED_52FF.cpp
deleted file mode 100644
index 0338e9297..000000000
--- a/vm/mterp/c/OP_UNUSED_52FF.cpp
+++ /dev/null
@@ -1,2 +0,0 @@
-HANDLE_OPCODE(OP_UNUSED_52FF)
-OP_END
diff --git a/vm/mterp/c/OP_UNUSED_53FF.cpp b/vm/mterp/c/OP_UNUSED_53FF.cpp
deleted file mode 100644
index a19aec903..000000000
--- a/vm/mterp/c/OP_UNUSED_53FF.cpp
+++ /dev/null
@@ -1,2 +0,0 @@
-HANDLE_OPCODE(OP_UNUSED_53FF)
-OP_END
diff --git a/vm/mterp/c/OP_UNUSED_54FF.cpp b/vm/mterp/c/OP_UNUSED_54FF.cpp
deleted file mode 100644
index 5f1f70858..000000000
--- a/vm/mterp/c/OP_UNUSED_54FF.cpp
+++ /dev/null
@@ -1,2 +0,0 @@
-HANDLE_OPCODE(OP_UNUSED_54FF)
-OP_END
diff --git a/vm/mterp/c/OP_UNUSED_55FF.cpp b/vm/mterp/c/OP_UNUSED_55FF.cpp
deleted file mode 100644
index 3cc25e6bf..000000000
--- a/vm/mterp/c/OP_UNUSED_55FF.cpp
+++ /dev/null
@@ -1,2 +0,0 @@
-HANDLE_OPCODE(OP_UNUSED_55FF)
-OP_END
diff --git a/vm/mterp/c/OP_UNUSED_56FF.cpp b/vm/mterp/c/OP_UNUSED_56FF.cpp
deleted file mode 100644
index b41be0f73..000000000
--- a/vm/mterp/c/OP_UNUSED_56FF.cpp
+++ /dev/null
@@ -1,2 +0,0 @@
-HANDLE_OPCODE(OP_UNUSED_56FF)
-OP_END
diff --git a/vm/mterp/c/OP_UNUSED_57FF.cpp b/vm/mterp/c/OP_UNUSED_57FF.cpp
deleted file mode 100644
index c0e8dd510..000000000
--- a/vm/mterp/c/OP_UNUSED_57FF.cpp
+++ /dev/null
@@ -1,2 +0,0 @@
-HANDLE_OPCODE(OP_UNUSED_57FF)
-OP_END
diff --git a/vm/mterp/c/OP_UNUSED_58FF.cpp b/vm/mterp/c/OP_UNUSED_58FF.cpp
deleted file mode 100644
index 9c0b8b006..000000000
--- a/vm/mterp/c/OP_UNUSED_58FF.cpp
+++ /dev/null
@@ -1,2 +0,0 @@
-HANDLE_OPCODE(OP_UNUSED_58FF)
-OP_END
diff --git a/vm/mterp/c/OP_UNUSED_59FF.cpp b/vm/mterp/c/OP_UNUSED_59FF.cpp
deleted file mode 100644
index 7c2866256..000000000
--- a/vm/mterp/c/OP_UNUSED_59FF.cpp
+++ /dev/null
@@ -1,2 +0,0 @@
-HANDLE_OPCODE(OP_UNUSED_59FF)
-OP_END
diff --git a/vm/mterp/c/OP_UNUSED_5AFF.cpp b/vm/mterp/c/OP_UNUSED_5AFF.cpp
deleted file mode 100644
index 50c77bca3..000000000
--- a/vm/mterp/c/OP_UNUSED_5AFF.cpp
+++ /dev/null
@@ -1,2 +0,0 @@
-HANDLE_OPCODE(OP_UNUSED_5AFF)
-OP_END
diff --git a/vm/mterp/c/OP_UNUSED_5BFF.cpp b/vm/mterp/c/OP_UNUSED_5BFF.cpp
deleted file mode 100644
index a145bf453..000000000
--- a/vm/mterp/c/OP_UNUSED_5BFF.cpp
+++ /dev/null
@@ -1,2 +0,0 @@
-HANDLE_OPCODE(OP_UNUSED_5BFF)
-OP_END
diff --git a/vm/mterp/c/OP_UNUSED_5CFF.cpp b/vm/mterp/c/OP_UNUSED_5CFF.cpp
deleted file mode 100644
index 821bdcd13..000000000
--- a/vm/mterp/c/OP_UNUSED_5CFF.cpp
+++ /dev/null
@@ -1,2 +0,0 @@
-HANDLE_OPCODE(OP_UNUSED_5CFF)
-OP_END
diff --git a/vm/mterp/c/OP_UNUSED_5DFF.cpp b/vm/mterp/c/OP_UNUSED_5DFF.cpp
deleted file mode 100644
index 982b1c21c..000000000
--- a/vm/mterp/c/OP_UNUSED_5DFF.cpp
+++ /dev/null
@@ -1,2 +0,0 @@
-HANDLE_OPCODE(OP_UNUSED_5DFF)
-OP_END
diff --git a/vm/mterp/c/OP_UNUSED_5EFF.cpp b/vm/mterp/c/OP_UNUSED_5EFF.cpp
deleted file mode 100644
index d0157f7bd..000000000
--- a/vm/mterp/c/OP_UNUSED_5EFF.cpp
+++ /dev/null
@@ -1,2 +0,0 @@
-HANDLE_OPCODE(OP_UNUSED_5EFF)
-OP_END
diff --git a/vm/mterp/c/OP_UNUSED_5FFF.cpp b/vm/mterp/c/OP_UNUSED_5FFF.cpp
deleted file mode 100644
index 3e18904ef..000000000
--- a/vm/mterp/c/OP_UNUSED_5FFF.cpp
+++ /dev/null
@@ -1,2 +0,0 @@
-HANDLE_OPCODE(OP_UNUSED_5FFF)
-OP_END
diff --git a/vm/mterp/c/OP_UNUSED_60FF.cpp b/vm/mterp/c/OP_UNUSED_60FF.cpp
deleted file mode 100644
index 96b15c6e8..000000000
--- a/vm/mterp/c/OP_UNUSED_60FF.cpp
+++ /dev/null
@@ -1,2 +0,0 @@
-HANDLE_OPCODE(OP_UNUSED_60FF)
-OP_END
diff --git a/vm/mterp/c/OP_UNUSED_61FF.cpp b/vm/mterp/c/OP_UNUSED_61FF.cpp
deleted file mode 100644
index 91a8a30ff..000000000
--- a/vm/mterp/c/OP_UNUSED_61FF.cpp
+++ /dev/null
@@ -1,2 +0,0 @@
-HANDLE_OPCODE(OP_UNUSED_61FF)
-OP_END
diff --git a/vm/mterp/c/OP_UNUSED_62FF.cpp b/vm/mterp/c/OP_UNUSED_62FF.cpp
deleted file mode 100644
index b3bb114f8..000000000
--- a/vm/mterp/c/OP_UNUSED_62FF.cpp
+++ /dev/null
@@ -1,2 +0,0 @@
-HANDLE_OPCODE(OP_UNUSED_62FF)
-OP_END
diff --git a/vm/mterp/c/OP_UNUSED_63FF.cpp b/vm/mterp/c/OP_UNUSED_63FF.cpp
deleted file mode 100644
index ea14458eb..000000000
--- a/vm/mterp/c/OP_UNUSED_63FF.cpp
+++ /dev/null
@@ -1,2 +0,0 @@
-HANDLE_OPCODE(OP_UNUSED_63FF)
-OP_END
diff --git a/vm/mterp/c/OP_UNUSED_64FF.cpp b/vm/mterp/c/OP_UNUSED_64FF.cpp
deleted file mode 100644
index 713277e93..000000000
--- a/vm/mterp/c/OP_UNUSED_64FF.cpp
+++ /dev/null
@@ -1,2 +0,0 @@
-HANDLE_OPCODE(OP_UNUSED_64FF)
-OP_END
diff --git a/vm/mterp/c/OP_UNUSED_65FF.cpp b/vm/mterp/c/OP_UNUSED_65FF.cpp
deleted file mode 100644
index 6f73854b5..000000000
--- a/vm/mterp/c/OP_UNUSED_65FF.cpp
+++ /dev/null
@@ -1,2 +0,0 @@
-HANDLE_OPCODE(OP_UNUSED_65FF)
-OP_END
diff --git a/vm/mterp/c/OP_UNUSED_66FF.cpp b/vm/mterp/c/OP_UNUSED_66FF.cpp
deleted file mode 100644
index a7ac8050c..000000000
--- a/vm/mterp/c/OP_UNUSED_66FF.cpp
+++ /dev/null
@@ -1,2 +0,0 @@
-HANDLE_OPCODE(OP_UNUSED_66FF)
-OP_END
diff --git a/vm/mterp/c/OP_UNUSED_67FF.cpp b/vm/mterp/c/OP_UNUSED_67FF.cpp
deleted file mode 100644
index 16d1155d2..000000000
--- a/vm/mterp/c/OP_UNUSED_67FF.cpp
+++ /dev/null
@@ -1,2 +0,0 @@
-HANDLE_OPCODE(OP_UNUSED_67FF)
-OP_END
diff --git a/vm/mterp/c/OP_UNUSED_68FF.cpp b/vm/mterp/c/OP_UNUSED_68FF.cpp
deleted file mode 100644
index 9b4eed738..000000000
--- a/vm/mterp/c/OP_UNUSED_68FF.cpp
+++ /dev/null
@@ -1,2 +0,0 @@
-HANDLE_OPCODE(OP_UNUSED_68FF)
-OP_END
diff --git a/vm/mterp/c/OP_UNUSED_69FF.cpp b/vm/mterp/c/OP_UNUSED_69FF.cpp
deleted file mode 100644
index 1bfdae9c5..000000000
--- a/vm/mterp/c/OP_UNUSED_69FF.cpp
+++ /dev/null
@@ -1,2 +0,0 @@
-HANDLE_OPCODE(OP_UNUSED_69FF)
-OP_END
diff --git a/vm/mterp/c/OP_UNUSED_6AFF.cpp b/vm/mterp/c/OP_UNUSED_6AFF.cpp
deleted file mode 100644
index 1f6dab0ef..000000000
--- a/vm/mterp/c/OP_UNUSED_6AFF.cpp
+++ /dev/null
@@ -1,2 +0,0 @@
-HANDLE_OPCODE(OP_UNUSED_6AFF)
-OP_END
diff --git a/vm/mterp/c/OP_UNUSED_6BFF.cpp b/vm/mterp/c/OP_UNUSED_6BFF.cpp
deleted file mode 100644
index 3739cfd7a..000000000
--- a/vm/mterp/c/OP_UNUSED_6BFF.cpp
+++ /dev/null
@@ -1,2 +0,0 @@
-HANDLE_OPCODE(OP_UNUSED_6BFF)
-OP_END
diff --git a/vm/mterp/c/OP_UNUSED_6CFF.cpp b/vm/mterp/c/OP_UNUSED_6CFF.cpp
deleted file mode 100644
index 28df1ff05..000000000
--- a/vm/mterp/c/OP_UNUSED_6CFF.cpp
+++ /dev/null
@@ -1,2 +0,0 @@
-HANDLE_OPCODE(OP_UNUSED_6CFF)
-OP_END
diff --git a/vm/mterp/c/OP_UNUSED_6DFF.cpp b/vm/mterp/c/OP_UNUSED_6DFF.cpp
deleted file mode 100644
index 436064ac8..000000000
--- a/vm/mterp/c/OP_UNUSED_6DFF.cpp
+++ /dev/null
@@ -1,2 +0,0 @@
-HANDLE_OPCODE(OP_UNUSED_6DFF)
-OP_END
diff --git a/vm/mterp/c/OP_UNUSED_6EFF.cpp b/vm/mterp/c/OP_UNUSED_6EFF.cpp
deleted file mode 100644
index c5c3720d0..000000000
--- a/vm/mterp/c/OP_UNUSED_6EFF.cpp
+++ /dev/null
@@ -1,2 +0,0 @@
-HANDLE_OPCODE(OP_UNUSED_6EFF)
-OP_END
diff --git a/vm/mterp/c/OP_UNUSED_6FFF.cpp b/vm/mterp/c/OP_UNUSED_6FFF.cpp
deleted file mode 100644
index 5bab85a8a..000000000
--- a/vm/mterp/c/OP_UNUSED_6FFF.cpp
+++ /dev/null
@@ -1,2 +0,0 @@
-HANDLE_OPCODE(OP_UNUSED_6FFF)
-OP_END
diff --git a/vm/mterp/c/OP_UNUSED_70FF.cpp b/vm/mterp/c/OP_UNUSED_70FF.cpp
deleted file mode 100644
index 15cb3cc31..000000000
--- a/vm/mterp/c/OP_UNUSED_70FF.cpp
+++ /dev/null
@@ -1,2 +0,0 @@
-HANDLE_OPCODE(OP_UNUSED_70FF)
-OP_END
diff --git a/vm/mterp/c/OP_UNUSED_71FF.cpp b/vm/mterp/c/OP_UNUSED_71FF.cpp
deleted file mode 100644
index 36698553b..000000000
--- a/vm/mterp/c/OP_UNUSED_71FF.cpp
+++ /dev/null
@@ -1,2 +0,0 @@
-HANDLE_OPCODE(OP_UNUSED_71FF)
-OP_END
diff --git a/vm/mterp/c/OP_UNUSED_72FF.cpp b/vm/mterp/c/OP_UNUSED_72FF.cpp
deleted file mode 100644
index 66b42ba26..000000000
--- a/vm/mterp/c/OP_UNUSED_72FF.cpp
+++ /dev/null
@@ -1,2 +0,0 @@
-HANDLE_OPCODE(OP_UNUSED_72FF)
-OP_END
diff --git a/vm/mterp/c/OP_UNUSED_73FF.cpp b/vm/mterp/c/OP_UNUSED_73FF.cpp
deleted file mode 100644
index 1832581c0..000000000
--- a/vm/mterp/c/OP_UNUSED_73FF.cpp
+++ /dev/null
@@ -1,2 +0,0 @@
-HANDLE_OPCODE(OP_UNUSED_73FF)
-OP_END
diff --git a/vm/mterp/c/OP_UNUSED_74FF.cpp b/vm/mterp/c/OP_UNUSED_74FF.cpp
deleted file mode 100644
index 7f73d09d6..000000000
--- a/vm/mterp/c/OP_UNUSED_74FF.cpp
+++ /dev/null
@@ -1,2 +0,0 @@
-HANDLE_OPCODE(OP_UNUSED_74FF)
-OP_END
diff --git a/vm/mterp/c/OP_UNUSED_75FF.cpp b/vm/mterp/c/OP_UNUSED_75FF.cpp
deleted file mode 100644
index d96b4aaab..000000000
--- a/vm/mterp/c/OP_UNUSED_75FF.cpp
+++ /dev/null
@@ -1,2 +0,0 @@
-HANDLE_OPCODE(OP_UNUSED_75FF)
-OP_END
diff --git a/vm/mterp/c/OP_UNUSED_76FF.cpp b/vm/mterp/c/OP_UNUSED_76FF.cpp
deleted file mode 100644
index b38cdf11d..000000000
--- a/vm/mterp/c/OP_UNUSED_76FF.cpp
+++ /dev/null
@@ -1,2 +0,0 @@
-HANDLE_OPCODE(OP_UNUSED_76FF)
-OP_END
diff --git a/vm/mterp/c/OP_UNUSED_77FF.cpp b/vm/mterp/c/OP_UNUSED_77FF.cpp
deleted file mode 100644
index dc128bbe2..000000000
--- a/vm/mterp/c/OP_UNUSED_77FF.cpp
+++ /dev/null
@@ -1,2 +0,0 @@
-HANDLE_OPCODE(OP_UNUSED_77FF)
-OP_END
diff --git a/vm/mterp/c/OP_UNUSED_78FF.cpp b/vm/mterp/c/OP_UNUSED_78FF.cpp
deleted file mode 100644
index 5ae4223ab..000000000
--- a/vm/mterp/c/OP_UNUSED_78FF.cpp
+++ /dev/null
@@ -1,2 +0,0 @@
-HANDLE_OPCODE(OP_UNUSED_78FF)
-OP_END
diff --git a/vm/mterp/c/OP_UNUSED_79FF.cpp b/vm/mterp/c/OP_UNUSED_79FF.cpp
deleted file mode 100644
index 4d8f99dfe..000000000
--- a/vm/mterp/c/OP_UNUSED_79FF.cpp
+++ /dev/null
@@ -1,2 +0,0 @@
-HANDLE_OPCODE(OP_UNUSED_79FF)
-OP_END
diff --git a/vm/mterp/c/OP_UNUSED_7AFF.cpp b/vm/mterp/c/OP_UNUSED_7AFF.cpp
deleted file mode 100644
index 93ea5a278..000000000
--- a/vm/mterp/c/OP_UNUSED_7AFF.cpp
+++ /dev/null
@@ -1,2 +0,0 @@
-HANDLE_OPCODE(OP_UNUSED_7AFF)
-OP_END
diff --git a/vm/mterp/c/OP_UNUSED_7BFF.cpp b/vm/mterp/c/OP_UNUSED_7BFF.cpp
deleted file mode 100644
index 6e4d99b58..000000000
--- a/vm/mterp/c/OP_UNUSED_7BFF.cpp
+++ /dev/null
@@ -1,2 +0,0 @@
-HANDLE_OPCODE(OP_UNUSED_7BFF)
-OP_END
diff --git a/vm/mterp/c/OP_UNUSED_7CFF.cpp b/vm/mterp/c/OP_UNUSED_7CFF.cpp
deleted file mode 100644
index f9bdd15c3..000000000
--- a/vm/mterp/c/OP_UNUSED_7CFF.cpp
+++ /dev/null
@@ -1,2 +0,0 @@
-HANDLE_OPCODE(OP_UNUSED_7CFF)
-OP_END
diff --git a/vm/mterp/c/OP_UNUSED_7DFF.cpp b/vm/mterp/c/OP_UNUSED_7DFF.cpp
deleted file mode 100644
index 198d71ff0..000000000
--- a/vm/mterp/c/OP_UNUSED_7DFF.cpp
+++ /dev/null
@@ -1,2 +0,0 @@
-HANDLE_OPCODE(OP_UNUSED_7DFF)
-OP_END
diff --git a/vm/mterp/c/OP_UNUSED_7EFF.cpp b/vm/mterp/c/OP_UNUSED_7EFF.cpp
deleted file mode 100644
index 49dce1306..000000000
--- a/vm/mterp/c/OP_UNUSED_7EFF.cpp
+++ /dev/null
@@ -1,2 +0,0 @@
-HANDLE_OPCODE(OP_UNUSED_7EFF)
-OP_END
diff --git a/vm/mterp/c/OP_UNUSED_7FFF.cpp b/vm/mterp/c/OP_UNUSED_7FFF.cpp
deleted file mode 100644
index 4e8588fa3..000000000
--- a/vm/mterp/c/OP_UNUSED_7FFF.cpp
+++ /dev/null
@@ -1,2 +0,0 @@
-HANDLE_OPCODE(OP_UNUSED_7FFF)
-OP_END
diff --git a/vm/mterp/c/OP_UNUSED_80FF.cpp b/vm/mterp/c/OP_UNUSED_80FF.cpp
deleted file mode 100644
index 290d5d7f9..000000000
--- a/vm/mterp/c/OP_UNUSED_80FF.cpp
+++ /dev/null
@@ -1,2 +0,0 @@
-HANDLE_OPCODE(OP_UNUSED_80FF)
-OP_END
diff --git a/vm/mterp/c/OP_UNUSED_81FF.cpp b/vm/mterp/c/OP_UNUSED_81FF.cpp
deleted file mode 100644
index 21d8385ac..000000000
--- a/vm/mterp/c/OP_UNUSED_81FF.cpp
+++ /dev/null
@@ -1,2 +0,0 @@
-HANDLE_OPCODE(OP_UNUSED_81FF)
-OP_END
diff --git a/vm/mterp/c/OP_UNUSED_82FF.cpp b/vm/mterp/c/OP_UNUSED_82FF.cpp
deleted file mode 100644
index 6ae50cf41..000000000
--- a/vm/mterp/c/OP_UNUSED_82FF.cpp
+++ /dev/null
@@ -1,2 +0,0 @@
-HANDLE_OPCODE(OP_UNUSED_82FF)
-OP_END
diff --git a/vm/mterp/c/OP_UNUSED_83FF.cpp b/vm/mterp/c/OP_UNUSED_83FF.cpp
deleted file mode 100644
index 807a1d3a2..000000000
--- a/vm/mterp/c/OP_UNUSED_83FF.cpp
+++ /dev/null
@@ -1,2 +0,0 @@
-HANDLE_OPCODE(OP_UNUSED_83FF)
-OP_END
diff --git a/vm/mterp/c/OP_UNUSED_84FF.cpp b/vm/mterp/c/OP_UNUSED_84FF.cpp
deleted file mode 100644
index 476422050..000000000
--- a/vm/mterp/c/OP_UNUSED_84FF.cpp
+++ /dev/null
@@ -1,2 +0,0 @@
-HANDLE_OPCODE(OP_UNUSED_84FF)
-OP_END
diff --git a/vm/mterp/c/OP_UNUSED_85FF.cpp b/vm/mterp/c/OP_UNUSED_85FF.cpp
deleted file mode 100644
index 2722a4924..000000000
--- a/vm/mterp/c/OP_UNUSED_85FF.cpp
+++ /dev/null
@@ -1,2 +0,0 @@
-HANDLE_OPCODE(OP_UNUSED_85FF)
-OP_END
diff --git a/vm/mterp/c/OP_UNUSED_86FF.cpp b/vm/mterp/c/OP_UNUSED_86FF.cpp
deleted file mode 100644
index 7dadccc6d..000000000
--- a/vm/mterp/c/OP_UNUSED_86FF.cpp
+++ /dev/null
@@ -1,2 +0,0 @@
-HANDLE_OPCODE(OP_UNUSED_86FF)
-OP_END
diff --git a/vm/mterp/c/OP_UNUSED_87FF.cpp b/vm/mterp/c/OP_UNUSED_87FF.cpp
deleted file mode 100644
index 7de217834..000000000
--- a/vm/mterp/c/OP_UNUSED_87FF.cpp
+++ /dev/null
@@ -1,2 +0,0 @@
-HANDLE_OPCODE(OP_UNUSED_87FF)
-OP_END
diff --git a/vm/mterp/c/OP_UNUSED_88FF.cpp b/vm/mterp/c/OP_UNUSED_88FF.cpp
deleted file mode 100644
index e6cf01544..000000000
--- a/vm/mterp/c/OP_UNUSED_88FF.cpp
+++ /dev/null
@@ -1,2 +0,0 @@
-HANDLE_OPCODE(OP_UNUSED_88FF)
-OP_END
diff --git a/vm/mterp/c/OP_UNUSED_89FF.cpp b/vm/mterp/c/OP_UNUSED_89FF.cpp
deleted file mode 100644
index 5f23acfb7..000000000
--- a/vm/mterp/c/OP_UNUSED_89FF.cpp
+++ /dev/null
@@ -1,2 +0,0 @@
-HANDLE_OPCODE(OP_UNUSED_89FF)
-OP_END
diff --git a/vm/mterp/c/OP_UNUSED_8AFF.cpp b/vm/mterp/c/OP_UNUSED_8AFF.cpp
deleted file mode 100644
index 958201136..000000000
--- a/vm/mterp/c/OP_UNUSED_8AFF.cpp
+++ /dev/null
@@ -1,2 +0,0 @@
-HANDLE_OPCODE(OP_UNUSED_8AFF)
-OP_END
diff --git a/vm/mterp/c/OP_UNUSED_8BFF.cpp b/vm/mterp/c/OP_UNUSED_8BFF.cpp
deleted file mode 100644
index 2c37dc3fa..000000000
--- a/vm/mterp/c/OP_UNUSED_8BFF.cpp
+++ /dev/null
@@ -1,2 +0,0 @@
-HANDLE_OPCODE(OP_UNUSED_8BFF)
-OP_END
diff --git a/vm/mterp/c/OP_UNUSED_8CFF.cpp b/vm/mterp/c/OP_UNUSED_8CFF.cpp
deleted file mode 100644
index bd670244e..000000000
--- a/vm/mterp/c/OP_UNUSED_8CFF.cpp
+++ /dev/null
@@ -1,2 +0,0 @@
-HANDLE_OPCODE(OP_UNUSED_8CFF)
-OP_END
diff --git a/vm/mterp/c/OP_UNUSED_8DFF.cpp b/vm/mterp/c/OP_UNUSED_8DFF.cpp
deleted file mode 100644
index c379d2e0c..000000000
--- a/vm/mterp/c/OP_UNUSED_8DFF.cpp
+++ /dev/null
@@ -1,2 +0,0 @@
-HANDLE_OPCODE(OP_UNUSED_8DFF)
-OP_END
diff --git a/vm/mterp/c/OP_UNUSED_8EFF.cpp b/vm/mterp/c/OP_UNUSED_8EFF.cpp
deleted file mode 100644
index e78839b62..000000000
--- a/vm/mterp/c/OP_UNUSED_8EFF.cpp
+++ /dev/null
@@ -1,2 +0,0 @@
-HANDLE_OPCODE(OP_UNUSED_8EFF)
-OP_END
diff --git a/vm/mterp/c/OP_UNUSED_8FFF.cpp b/vm/mterp/c/OP_UNUSED_8FFF.cpp
deleted file mode 100644
index c911a0e6d..000000000
--- a/vm/mterp/c/OP_UNUSED_8FFF.cpp
+++ /dev/null
@@ -1,2 +0,0 @@
-HANDLE_OPCODE(OP_UNUSED_8FFF)
-OP_END
diff --git a/vm/mterp/c/OP_UNUSED_90FF.cpp b/vm/mterp/c/OP_UNUSED_90FF.cpp
deleted file mode 100644
index e8a35fc9b..000000000
--- a/vm/mterp/c/OP_UNUSED_90FF.cpp
+++ /dev/null
@@ -1,2 +0,0 @@
-HANDLE_OPCODE(OP_UNUSED_90FF)
-OP_END
diff --git a/vm/mterp/c/OP_UNUSED_91FF.cpp b/vm/mterp/c/OP_UNUSED_91FF.cpp
deleted file mode 100644
index e7fc01a77..000000000
--- a/vm/mterp/c/OP_UNUSED_91FF.cpp
+++ /dev/null
@@ -1,2 +0,0 @@
-HANDLE_OPCODE(OP_UNUSED_91FF)
-OP_END
diff --git a/vm/mterp/c/OP_UNUSED_92FF.cpp b/vm/mterp/c/OP_UNUSED_92FF.cpp
deleted file mode 100644
index 612bd5751..000000000
--- a/vm/mterp/c/OP_UNUSED_92FF.cpp
+++ /dev/null
@@ -1,2 +0,0 @@
-HANDLE_OPCODE(OP_UNUSED_92FF)
-OP_END
diff --git a/vm/mterp/c/OP_UNUSED_93FF.cpp b/vm/mterp/c/OP_UNUSED_93FF.cpp
deleted file mode 100644
index 9b6918710..000000000
--- a/vm/mterp/c/OP_UNUSED_93FF.cpp
+++ /dev/null
@@ -1,2 +0,0 @@
-HANDLE_OPCODE(OP_UNUSED_93FF)
-OP_END
diff --git a/vm/mterp/c/OP_UNUSED_94FF.cpp b/vm/mterp/c/OP_UNUSED_94FF.cpp
deleted file mode 100644
index 022c1eba0..000000000
--- a/vm/mterp/c/OP_UNUSED_94FF.cpp
+++ /dev/null
@@ -1,2 +0,0 @@
-HANDLE_OPCODE(OP_UNUSED_94FF)
-OP_END
diff --git a/vm/mterp/c/OP_UNUSED_95FF.cpp b/vm/mterp/c/OP_UNUSED_95FF.cpp
deleted file mode 100644
index 51d7467cf..000000000
--- a/vm/mterp/c/OP_UNUSED_95FF.cpp
+++ /dev/null
@@ -1,2 +0,0 @@
-HANDLE_OPCODE(OP_UNUSED_95FF)
-OP_END
diff --git a/vm/mterp/c/OP_UNUSED_96FF.cpp b/vm/mterp/c/OP_UNUSED_96FF.cpp
deleted file mode 100644
index 4067af1fc..000000000
--- a/vm/mterp/c/OP_UNUSED_96FF.cpp
+++ /dev/null
@@ -1,2 +0,0 @@
-HANDLE_OPCODE(OP_UNUSED_96FF)
-OP_END
diff --git a/vm/mterp/c/OP_UNUSED_97FF.cpp b/vm/mterp/c/OP_UNUSED_97FF.cpp
deleted file mode 100644
index b4b4a7710..000000000
--- a/vm/mterp/c/OP_UNUSED_97FF.cpp
+++ /dev/null
@@ -1,2 +0,0 @@
-HANDLE_OPCODE(OP_UNUSED_97FF)
-OP_END
diff --git a/vm/mterp/c/OP_UNUSED_98FF.cpp b/vm/mterp/c/OP_UNUSED_98FF.cpp
deleted file mode 100644
index 364aa4c14..000000000
--- a/vm/mterp/c/OP_UNUSED_98FF.cpp
+++ /dev/null
@@ -1,2 +0,0 @@
-HANDLE_OPCODE(OP_UNUSED_98FF)
-OP_END
diff --git a/vm/mterp/c/OP_UNUSED_99FF.cpp b/vm/mterp/c/OP_UNUSED_99FF.cpp
deleted file mode 100644
index e4c2fd5dc..000000000
--- a/vm/mterp/c/OP_UNUSED_99FF.cpp
+++ /dev/null
@@ -1,2 +0,0 @@
-HANDLE_OPCODE(OP_UNUSED_99FF)
-OP_END
diff --git a/vm/mterp/c/OP_UNUSED_9AFF.cpp b/vm/mterp/c/OP_UNUSED_9AFF.cpp
deleted file mode 100644
index bce58e549..000000000
--- a/vm/mterp/c/OP_UNUSED_9AFF.cpp
+++ /dev/null
@@ -1,2 +0,0 @@
-HANDLE_OPCODE(OP_UNUSED_9AFF)
-OP_END
diff --git a/vm/mterp/c/OP_UNUSED_9BFF.cpp b/vm/mterp/c/OP_UNUSED_9BFF.cpp
deleted file mode 100644
index b875b6ef7..000000000
--- a/vm/mterp/c/OP_UNUSED_9BFF.cpp
+++ /dev/null
@@ -1,2 +0,0 @@
-HANDLE_OPCODE(OP_UNUSED_9BFF)
-OP_END
diff --git a/vm/mterp/c/OP_UNUSED_9CFF.cpp b/vm/mterp/c/OP_UNUSED_9CFF.cpp
deleted file mode 100644
index 9933e470f..000000000
--- a/vm/mterp/c/OP_UNUSED_9CFF.cpp
+++ /dev/null
@@ -1,2 +0,0 @@
-HANDLE_OPCODE(OP_UNUSED_9CFF)
-OP_END
diff --git a/vm/mterp/c/OP_UNUSED_9DFF.cpp b/vm/mterp/c/OP_UNUSED_9DFF.cpp
deleted file mode 100644
index 425a685e7..000000000
--- a/vm/mterp/c/OP_UNUSED_9DFF.cpp
+++ /dev/null
@@ -1,2 +0,0 @@
-HANDLE_OPCODE(OP_UNUSED_9DFF)
-OP_END
diff --git a/vm/mterp/c/OP_UNUSED_9EFF.cpp b/vm/mterp/c/OP_UNUSED_9EFF.cpp
deleted file mode 100644
index ae4b84287..000000000
--- a/vm/mterp/c/OP_UNUSED_9EFF.cpp
+++ /dev/null
@@ -1,2 +0,0 @@
-HANDLE_OPCODE(OP_UNUSED_9EFF)
-OP_END
diff --git a/vm/mterp/c/OP_UNUSED_9FFF.cpp b/vm/mterp/c/OP_UNUSED_9FFF.cpp
deleted file mode 100644
index fbb0564f3..000000000
--- a/vm/mterp/c/OP_UNUSED_9FFF.cpp
+++ /dev/null
@@ -1,2 +0,0 @@
-HANDLE_OPCODE(OP_UNUSED_9FFF)
-OP_END
diff --git a/vm/mterp/c/OP_UNUSED_A0FF.cpp b/vm/mterp/c/OP_UNUSED_A0FF.cpp
deleted file mode 100644
index 546357a4f..000000000
--- a/vm/mterp/c/OP_UNUSED_A0FF.cpp
+++ /dev/null
@@ -1,2 +0,0 @@
-HANDLE_OPCODE(OP_UNUSED_A0FF)
-OP_END
diff --git a/vm/mterp/c/OP_UNUSED_A1FF.cpp b/vm/mterp/c/OP_UNUSED_A1FF.cpp
deleted file mode 100644
index 033c5ba93..000000000
--- a/vm/mterp/c/OP_UNUSED_A1FF.cpp
+++ /dev/null
@@ -1,2 +0,0 @@
-HANDLE_OPCODE(OP_UNUSED_A1FF)
-OP_END
diff --git a/vm/mterp/c/OP_UNUSED_A2FF.cpp b/vm/mterp/c/OP_UNUSED_A2FF.cpp
deleted file mode 100644
index 10ba36ae9..000000000
--- a/vm/mterp/c/OP_UNUSED_A2FF.cpp
+++ /dev/null
@@ -1,2 +0,0 @@
-HANDLE_OPCODE(OP_UNUSED_A2FF)
-OP_END
diff --git a/vm/mterp/c/OP_UNUSED_A3FF.cpp b/vm/mterp/c/OP_UNUSED_A3FF.cpp
deleted file mode 100644
index e1eb86693..000000000
--- a/vm/mterp/c/OP_UNUSED_A3FF.cpp
+++ /dev/null
@@ -1,2 +0,0 @@
-HANDLE_OPCODE(OP_UNUSED_A3FF)
-OP_END
diff --git a/vm/mterp/c/OP_UNUSED_A4FF.cpp b/vm/mterp/c/OP_UNUSED_A4FF.cpp
deleted file mode 100644
index 515cde3e6..000000000
--- a/vm/mterp/c/OP_UNUSED_A4FF.cpp
+++ /dev/null
@@ -1,2 +0,0 @@
-HANDLE_OPCODE(OP_UNUSED_A4FF)
-OP_END
diff --git a/vm/mterp/c/OP_UNUSED_A5FF.cpp b/vm/mterp/c/OP_UNUSED_A5FF.cpp
deleted file mode 100644
index 15999bac7..000000000
--- a/vm/mterp/c/OP_UNUSED_A5FF.cpp
+++ /dev/null
@@ -1,2 +0,0 @@
-HANDLE_OPCODE(OP_UNUSED_A5FF)
-OP_END
diff --git a/vm/mterp/c/OP_UNUSED_A6FF.cpp b/vm/mterp/c/OP_UNUSED_A6FF.cpp
deleted file mode 100644
index 2d85c0a59..000000000
--- a/vm/mterp/c/OP_UNUSED_A6FF.cpp
+++ /dev/null
@@ -1,2 +0,0 @@
-HANDLE_OPCODE(OP_UNUSED_A6FF)
-OP_END
diff --git a/vm/mterp/c/OP_UNUSED_A7FF.cpp b/vm/mterp/c/OP_UNUSED_A7FF.cpp
deleted file mode 100644
index 962859071..000000000
--- a/vm/mterp/c/OP_UNUSED_A7FF.cpp
+++ /dev/null
@@ -1,2 +0,0 @@
-HANDLE_OPCODE(OP_UNUSED_A7FF)
-OP_END
diff --git a/vm/mterp/c/OP_UNUSED_A8FF.cpp b/vm/mterp/c/OP_UNUSED_A8FF.cpp
deleted file mode 100644
index 11ace328c..000000000
--- a/vm/mterp/c/OP_UNUSED_A8FF.cpp
+++ /dev/null
@@ -1,2 +0,0 @@
-HANDLE_OPCODE(OP_UNUSED_A8FF)
-OP_END
diff --git a/vm/mterp/c/OP_UNUSED_A9FF.cpp b/vm/mterp/c/OP_UNUSED_A9FF.cpp
deleted file mode 100644
index 71dfabc7a..000000000
--- a/vm/mterp/c/OP_UNUSED_A9FF.cpp
+++ /dev/null
@@ -1,2 +0,0 @@
-HANDLE_OPCODE(OP_UNUSED_A9FF)
-OP_END
diff --git a/vm/mterp/c/OP_UNUSED_AAFF.cpp b/vm/mterp/c/OP_UNUSED_AAFF.cpp
deleted file mode 100644
index 01a7491a5..000000000
--- a/vm/mterp/c/OP_UNUSED_AAFF.cpp
+++ /dev/null
@@ -1,2 +0,0 @@
-HANDLE_OPCODE(OP_UNUSED_AAFF)
-OP_END
diff --git a/vm/mterp/c/OP_UNUSED_ABFF.cpp b/vm/mterp/c/OP_UNUSED_ABFF.cpp
deleted file mode 100644
index 942aa782c..000000000
--- a/vm/mterp/c/OP_UNUSED_ABFF.cpp
+++ /dev/null
@@ -1,2 +0,0 @@
-HANDLE_OPCODE(OP_UNUSED_ABFF)
-OP_END
diff --git a/vm/mterp/c/OP_UNUSED_ACFF.cpp b/vm/mterp/c/OP_UNUSED_ACFF.cpp
deleted file mode 100644
index 82f128598..000000000
--- a/vm/mterp/c/OP_UNUSED_ACFF.cpp
+++ /dev/null
@@ -1,2 +0,0 @@
-HANDLE_OPCODE(OP_UNUSED_ACFF)
-OP_END
diff --git a/vm/mterp/c/OP_UNUSED_ADFF.cpp b/vm/mterp/c/OP_UNUSED_ADFF.cpp
deleted file mode 100644
index 3e11ea62f..000000000
--- a/vm/mterp/c/OP_UNUSED_ADFF.cpp
+++ /dev/null
@@ -1,2 +0,0 @@
-HANDLE_OPCODE(OP_UNUSED_ADFF)
-OP_END
diff --git a/vm/mterp/c/OP_UNUSED_AEFF.cpp b/vm/mterp/c/OP_UNUSED_AEFF.cpp
deleted file mode 100644
index 586e74526..000000000
--- a/vm/mterp/c/OP_UNUSED_AEFF.cpp
+++ /dev/null
@@ -1,2 +0,0 @@
-HANDLE_OPCODE(OP_UNUSED_AEFF)
-OP_END
diff --git a/vm/mterp/c/OP_UNUSED_AFFF.cpp b/vm/mterp/c/OP_UNUSED_AFFF.cpp
deleted file mode 100644
index 5ed116195..000000000
--- a/vm/mterp/c/OP_UNUSED_AFFF.cpp
+++ /dev/null
@@ -1,2 +0,0 @@
-HANDLE_OPCODE(OP_UNUSED_AFFF)
-OP_END
diff --git a/vm/mterp/c/OP_UNUSED_B0FF.cpp b/vm/mterp/c/OP_UNUSED_B0FF.cpp
deleted file mode 100644
index 3060736ed..000000000
--- a/vm/mterp/c/OP_UNUSED_B0FF.cpp
+++ /dev/null
@@ -1,2 +0,0 @@
-HANDLE_OPCODE(OP_UNUSED_B0FF)
-OP_END
diff --git a/vm/mterp/c/OP_UNUSED_B1FF.cpp b/vm/mterp/c/OP_UNUSED_B1FF.cpp
deleted file mode 100644
index 87bb7a662..000000000
--- a/vm/mterp/c/OP_UNUSED_B1FF.cpp
+++ /dev/null
@@ -1,2 +0,0 @@
-HANDLE_OPCODE(OP_UNUSED_B1FF)
-OP_END
diff --git a/vm/mterp/c/OP_UNUSED_B2FF.cpp b/vm/mterp/c/OP_UNUSED_B2FF.cpp
deleted file mode 100644
index 2bca4cd99..000000000
--- a/vm/mterp/c/OP_UNUSED_B2FF.cpp
+++ /dev/null
@@ -1,2 +0,0 @@
-HANDLE_OPCODE(OP_UNUSED_B2FF)
-OP_END
diff --git a/vm/mterp/c/OP_UNUSED_B3FF.cpp b/vm/mterp/c/OP_UNUSED_B3FF.cpp
deleted file mode 100644
index 3f17d1f2f..000000000
--- a/vm/mterp/c/OP_UNUSED_B3FF.cpp
+++ /dev/null
@@ -1,2 +0,0 @@
-HANDLE_OPCODE(OP_UNUSED_B3FF)
-OP_END
diff --git a/vm/mterp/c/OP_UNUSED_B4FF.cpp b/vm/mterp/c/OP_UNUSED_B4FF.cpp
deleted file mode 100644
index be957a60e..000000000
--- a/vm/mterp/c/OP_UNUSED_B4FF.cpp
+++ /dev/null
@@ -1,2 +0,0 @@
-HANDLE_OPCODE(OP_UNUSED_B4FF)
-OP_END
diff --git a/vm/mterp/c/OP_UNUSED_B5FF.cpp b/vm/mterp/c/OP_UNUSED_B5FF.cpp
deleted file mode 100644
index 239da06a4..000000000
--- a/vm/mterp/c/OP_UNUSED_B5FF.cpp
+++ /dev/null
@@ -1,2 +0,0 @@
-HANDLE_OPCODE(OP_UNUSED_B5FF)
-OP_END
diff --git a/vm/mterp/c/OP_UNUSED_B6FF.cpp b/vm/mterp/c/OP_UNUSED_B6FF.cpp
deleted file mode 100644
index e8fabb464..000000000
--- a/vm/mterp/c/OP_UNUSED_B6FF.cpp
+++ /dev/null
@@ -1,2 +0,0 @@
-HANDLE_OPCODE(OP_UNUSED_B6FF)
-OP_END
diff --git a/vm/mterp/c/OP_UNUSED_B7FF.cpp b/vm/mterp/c/OP_UNUSED_B7FF.cpp
deleted file mode 100644
index bdd05bd31..000000000
--- a/vm/mterp/c/OP_UNUSED_B7FF.cpp
+++ /dev/null
@@ -1,2 +0,0 @@
-HANDLE_OPCODE(OP_UNUSED_B7FF)
-OP_END
diff --git a/vm/mterp/c/OP_UNUSED_B8FF.cpp b/vm/mterp/c/OP_UNUSED_B8FF.cpp
deleted file mode 100644
index c85672035..000000000
--- a/vm/mterp/c/OP_UNUSED_B8FF.cpp
+++ /dev/null
@@ -1,2 +0,0 @@
-HANDLE_OPCODE(OP_UNUSED_B8FF)
-OP_END
diff --git a/vm/mterp/c/OP_UNUSED_B9FF.cpp b/vm/mterp/c/OP_UNUSED_B9FF.cpp
deleted file mode 100644
index c3a963bdd..000000000
--- a/vm/mterp/c/OP_UNUSED_B9FF.cpp
+++ /dev/null
@@ -1,2 +0,0 @@
-HANDLE_OPCODE(OP_UNUSED_B9FF)
-OP_END
diff --git a/vm/mterp/c/OP_UNUSED_BAFF.cpp b/vm/mterp/c/OP_UNUSED_BAFF.cpp
deleted file mode 100644
index d75e1cc5a..000000000
--- a/vm/mterp/c/OP_UNUSED_BAFF.cpp
+++ /dev/null
@@ -1,2 +0,0 @@
-HANDLE_OPCODE(OP_UNUSED_BAFF)
-OP_END
diff --git a/vm/mterp/c/OP_UNUSED_BBFF.cpp b/vm/mterp/c/OP_UNUSED_BBFF.cpp
deleted file mode 100644
index 3743698c9..000000000
--- a/vm/mterp/c/OP_UNUSED_BBFF.cpp
+++ /dev/null
@@ -1,2 +0,0 @@
-HANDLE_OPCODE(OP_UNUSED_BBFF)
-OP_END
diff --git a/vm/mterp/c/OP_UNUSED_BCFF.cpp b/vm/mterp/c/OP_UNUSED_BCFF.cpp
deleted file mode 100644
index 6358423f2..000000000
--- a/vm/mterp/c/OP_UNUSED_BCFF.cpp
+++ /dev/null
@@ -1,2 +0,0 @@
-HANDLE_OPCODE(OP_UNUSED_BCFF)
-OP_END
diff --git a/vm/mterp/c/OP_UNUSED_BDFF.cpp b/vm/mterp/c/OP_UNUSED_BDFF.cpp
deleted file mode 100644
index 36f176fc3..000000000
--- a/vm/mterp/c/OP_UNUSED_BDFF.cpp
+++ /dev/null
@@ -1,2 +0,0 @@
-HANDLE_OPCODE(OP_UNUSED_BDFF)
-OP_END
diff --git a/vm/mterp/c/OP_UNUSED_BEFF.cpp b/vm/mterp/c/OP_UNUSED_BEFF.cpp
deleted file mode 100644
index 817adcab1..000000000
--- a/vm/mterp/c/OP_UNUSED_BEFF.cpp
+++ /dev/null
@@ -1,2 +0,0 @@
-HANDLE_OPCODE(OP_UNUSED_BEFF)
-OP_END
diff --git a/vm/mterp/c/OP_UNUSED_BFFF.cpp b/vm/mterp/c/OP_UNUSED_BFFF.cpp
deleted file mode 100644
index d31858805..000000000
--- a/vm/mterp/c/OP_UNUSED_BFFF.cpp
+++ /dev/null
@@ -1,2 +0,0 @@
-HANDLE_OPCODE(OP_UNUSED_BFFF)
-OP_END
diff --git a/vm/mterp/c/OP_UNUSED_C0FF.cpp b/vm/mterp/c/OP_UNUSED_C0FF.cpp
deleted file mode 100644
index c87f90646..000000000
--- a/vm/mterp/c/OP_UNUSED_C0FF.cpp
+++ /dev/null
@@ -1,2 +0,0 @@
-HANDLE_OPCODE(OP_UNUSED_C0FF)
-OP_END
diff --git a/vm/mterp/c/OP_UNUSED_C1FF.cpp b/vm/mterp/c/OP_UNUSED_C1FF.cpp
deleted file mode 100644
index 7c1be52a0..000000000
--- a/vm/mterp/c/OP_UNUSED_C1FF.cpp
+++ /dev/null
@@ -1,2 +0,0 @@
-HANDLE_OPCODE(OP_UNUSED_C1FF)
-OP_END
diff --git a/vm/mterp/c/OP_UNUSED_C2FF.cpp b/vm/mterp/c/OP_UNUSED_C2FF.cpp
deleted file mode 100644
index 06e03f482..000000000
--- a/vm/mterp/c/OP_UNUSED_C2FF.cpp
+++ /dev/null
@@ -1,2 +0,0 @@
-HANDLE_OPCODE(OP_UNUSED_C2FF)
-OP_END
diff --git a/vm/mterp/c/OP_UNUSED_C3FF.cpp b/vm/mterp/c/OP_UNUSED_C3FF.cpp
deleted file mode 100644
index b480c301a..000000000
--- a/vm/mterp/c/OP_UNUSED_C3FF.cpp
+++ /dev/null
@@ -1,2 +0,0 @@
-HANDLE_OPCODE(OP_UNUSED_C3FF)
-OP_END
diff --git a/vm/mterp/c/OP_UNUSED_C4FF.cpp b/vm/mterp/c/OP_UNUSED_C4FF.cpp
deleted file mode 100644
index b7afb1d23..000000000
--- a/vm/mterp/c/OP_UNUSED_C4FF.cpp
+++ /dev/null
@@ -1,2 +0,0 @@
-HANDLE_OPCODE(OP_UNUSED_C4FF)
-OP_END
diff --git a/vm/mterp/c/OP_UNUSED_C5FF.cpp b/vm/mterp/c/OP_UNUSED_C5FF.cpp
deleted file mode 100644
index 432a4cd76..000000000
--- a/vm/mterp/c/OP_UNUSED_C5FF.cpp
+++ /dev/null
@@ -1,2 +0,0 @@
-HANDLE_OPCODE(OP_UNUSED_C5FF)
-OP_END
diff --git a/vm/mterp/c/OP_UNUSED_C6FF.cpp b/vm/mterp/c/OP_UNUSED_C6FF.cpp
deleted file mode 100644
index 4f8f2a5bb..000000000
--- a/vm/mterp/c/OP_UNUSED_C6FF.cpp
+++ /dev/null
@@ -1,2 +0,0 @@
-HANDLE_OPCODE(OP_UNUSED_C6FF)
-OP_END
diff --git a/vm/mterp/c/OP_UNUSED_C7FF.cpp b/vm/mterp/c/OP_UNUSED_C7FF.cpp
deleted file mode 100644
index 92f2c6a65..000000000
--- a/vm/mterp/c/OP_UNUSED_C7FF.cpp
+++ /dev/null
@@ -1,2 +0,0 @@
-HANDLE_OPCODE(OP_UNUSED_C7FF)
-OP_END
diff --git a/vm/mterp/c/OP_UNUSED_C8FF.cpp b/vm/mterp/c/OP_UNUSED_C8FF.cpp
deleted file mode 100644
index 33c4f59c6..000000000
--- a/vm/mterp/c/OP_UNUSED_C8FF.cpp
+++ /dev/null
@@ -1,2 +0,0 @@
-HANDLE_OPCODE(OP_UNUSED_C8FF)
-OP_END
diff --git a/vm/mterp/c/OP_UNUSED_C9FF.cpp b/vm/mterp/c/OP_UNUSED_C9FF.cpp
deleted file mode 100644
index e04d233df..000000000
--- a/vm/mterp/c/OP_UNUSED_C9FF.cpp
+++ /dev/null
@@ -1,2 +0,0 @@
-HANDLE_OPCODE(OP_UNUSED_C9FF)
-OP_END
diff --git a/vm/mterp/c/OP_UNUSED_CAFF.cpp b/vm/mterp/c/OP_UNUSED_CAFF.cpp
deleted file mode 100644
index da3e0a5e2..000000000
--- a/vm/mterp/c/OP_UNUSED_CAFF.cpp
+++ /dev/null
@@ -1,2 +0,0 @@
-HANDLE_OPCODE(OP_UNUSED_CAFF)
-OP_END
diff --git a/vm/mterp/c/OP_UNUSED_CBFF.cpp b/vm/mterp/c/OP_UNUSED_CBFF.cpp
deleted file mode 100644
index cf809b641..000000000
--- a/vm/mterp/c/OP_UNUSED_CBFF.cpp
+++ /dev/null
@@ -1,2 +0,0 @@
-HANDLE_OPCODE(OP_UNUSED_CBFF)
-OP_END
diff --git a/vm/mterp/c/OP_UNUSED_CCFF.cpp b/vm/mterp/c/OP_UNUSED_CCFF.cpp
deleted file mode 100644
index 7d843d344..000000000
--- a/vm/mterp/c/OP_UNUSED_CCFF.cpp
+++ /dev/null
@@ -1,2 +0,0 @@
-HANDLE_OPCODE(OP_UNUSED_CCFF)
-OP_END
diff --git a/vm/mterp/c/OP_UNUSED_CDFF.cpp b/vm/mterp/c/OP_UNUSED_CDFF.cpp
deleted file mode 100644
index 553be7811..000000000
--- a/vm/mterp/c/OP_UNUSED_CDFF.cpp
+++ /dev/null
@@ -1,2 +0,0 @@
-HANDLE_OPCODE(OP_UNUSED_CDFF)
-OP_END
diff --git a/vm/mterp/c/OP_UNUSED_CEFF.cpp b/vm/mterp/c/OP_UNUSED_CEFF.cpp
deleted file mode 100644
index 01e933f90..000000000
--- a/vm/mterp/c/OP_UNUSED_CEFF.cpp
+++ /dev/null
@@ -1,2 +0,0 @@
-HANDLE_OPCODE(OP_UNUSED_CEFF)
-OP_END
diff --git a/vm/mterp/c/OP_UNUSED_CFFF.cpp b/vm/mterp/c/OP_UNUSED_CFFF.cpp
deleted file mode 100644
index 806aa2f6c..000000000
--- a/vm/mterp/c/OP_UNUSED_CFFF.cpp
+++ /dev/null
@@ -1,2 +0,0 @@
-HANDLE_OPCODE(OP_UNUSED_CFFF)
-OP_END
diff --git a/vm/mterp/c/OP_UNUSED_D0FF.cpp b/vm/mterp/c/OP_UNUSED_D0FF.cpp
deleted file mode 100644
index e2bb5a1cf..000000000
--- a/vm/mterp/c/OP_UNUSED_D0FF.cpp
+++ /dev/null
@@ -1,2 +0,0 @@
-HANDLE_OPCODE(OP_UNUSED_D0FF)
-OP_END
diff --git a/vm/mterp/c/OP_UNUSED_D1FF.cpp b/vm/mterp/c/OP_UNUSED_D1FF.cpp
deleted file mode 100644
index 0d91ccac6..000000000
--- a/vm/mterp/c/OP_UNUSED_D1FF.cpp
+++ /dev/null
@@ -1,2 +0,0 @@
-HANDLE_OPCODE(OP_UNUSED_D1FF)
-OP_END
diff --git a/vm/mterp/c/OP_UNUSED_D2FF.cpp b/vm/mterp/c/OP_UNUSED_D2FF.cpp
deleted file mode 100644
index 8a6db7660..000000000
--- a/vm/mterp/c/OP_UNUSED_D2FF.cpp
+++ /dev/null
@@ -1,2 +0,0 @@
-HANDLE_OPCODE(OP_UNUSED_D2FF)
-OP_END
diff --git a/vm/mterp/c/OP_UNUSED_D3FF.cpp b/vm/mterp/c/OP_UNUSED_D3FF.cpp
deleted file mode 100644
index 32205bb6e..000000000
--- a/vm/mterp/c/OP_UNUSED_D3FF.cpp
+++ /dev/null
@@ -1,2 +0,0 @@
-HANDLE_OPCODE(OP_UNUSED_D3FF)
-OP_END
diff --git a/vm/mterp/c/OP_UNUSED_D4FF.cpp b/vm/mterp/c/OP_UNUSED_D4FF.cpp
deleted file mode 100644
index 0413ed650..000000000
--- a/vm/mterp/c/OP_UNUSED_D4FF.cpp
+++ /dev/null
@@ -1,2 +0,0 @@
-HANDLE_OPCODE(OP_UNUSED_D4FF)
-OP_END
diff --git a/vm/mterp/c/OP_UNUSED_D5FF.cpp b/vm/mterp/c/OP_UNUSED_D5FF.cpp
deleted file mode 100644
index cc67e9d53..000000000
--- a/vm/mterp/c/OP_UNUSED_D5FF.cpp
+++ /dev/null
@@ -1,2 +0,0 @@
-HANDLE_OPCODE(OP_UNUSED_D5FF)
-OP_END
diff --git a/vm/mterp/c/OP_UNUSED_D6FF.cpp b/vm/mterp/c/OP_UNUSED_D6FF.cpp
deleted file mode 100644
index 3711bbc03..000000000
--- a/vm/mterp/c/OP_UNUSED_D6FF.cpp
+++ /dev/null
@@ -1,2 +0,0 @@
-HANDLE_OPCODE(OP_UNUSED_D6FF)
-OP_END
diff --git a/vm/mterp/c/OP_UNUSED_D7FF.cpp b/vm/mterp/c/OP_UNUSED_D7FF.cpp
deleted file mode 100644
index 6a17a2d7d..000000000
--- a/vm/mterp/c/OP_UNUSED_D7FF.cpp
+++ /dev/null
@@ -1,2 +0,0 @@
-HANDLE_OPCODE(OP_UNUSED_D7FF)
-OP_END
diff --git a/vm/mterp/c/OP_UNUSED_D8FF.cpp b/vm/mterp/c/OP_UNUSED_D8FF.cpp
deleted file mode 100644
index c93409061..000000000
--- a/vm/mterp/c/OP_UNUSED_D8FF.cpp
+++ /dev/null
@@ -1,2 +0,0 @@
-HANDLE_OPCODE(OP_UNUSED_D8FF)
-OP_END
diff --git a/vm/mterp/c/OP_UNUSED_D9FF.cpp b/vm/mterp/c/OP_UNUSED_D9FF.cpp
deleted file mode 100644
index 78984af86..000000000
--- a/vm/mterp/c/OP_UNUSED_D9FF.cpp
+++ /dev/null
@@ -1,2 +0,0 @@
-HANDLE_OPCODE(OP_UNUSED_D9FF)
-OP_END
diff --git a/vm/mterp/c/OP_UNUSED_DAFF.cpp b/vm/mterp/c/OP_UNUSED_DAFF.cpp
deleted file mode 100644
index 2a177f0f9..000000000
--- a/vm/mterp/c/OP_UNUSED_DAFF.cpp
+++ /dev/null
@@ -1,2 +0,0 @@
-HANDLE_OPCODE(OP_UNUSED_DAFF)
-OP_END
diff --git a/vm/mterp/c/OP_UNUSED_DBFF.cpp b/vm/mterp/c/OP_UNUSED_DBFF.cpp
deleted file mode 100644
index 5447dc72c..000000000
--- a/vm/mterp/c/OP_UNUSED_DBFF.cpp
+++ /dev/null
@@ -1,2 +0,0 @@
-HANDLE_OPCODE(OP_UNUSED_DBFF)
-OP_END
diff --git a/vm/mterp/c/OP_UNUSED_DCFF.cpp b/vm/mterp/c/OP_UNUSED_DCFF.cpp
deleted file mode 100644
index a6ae5decc..000000000
--- a/vm/mterp/c/OP_UNUSED_DCFF.cpp
+++ /dev/null
@@ -1,2 +0,0 @@
-HANDLE_OPCODE(OP_UNUSED_DCFF)
-OP_END
diff --git a/vm/mterp/c/OP_UNUSED_DDFF.cpp b/vm/mterp/c/OP_UNUSED_DDFF.cpp
deleted file mode 100644
index a18cbbed4..000000000
--- a/vm/mterp/c/OP_UNUSED_DDFF.cpp
+++ /dev/null
@@ -1,2 +0,0 @@
-HANDLE_OPCODE(OP_UNUSED_DDFF)
-OP_END
diff --git a/vm/mterp/c/OP_UNUSED_DEFF.cpp b/vm/mterp/c/OP_UNUSED_DEFF.cpp
deleted file mode 100644
index c9be0ed10..000000000
--- a/vm/mterp/c/OP_UNUSED_DEFF.cpp
+++ /dev/null
@@ -1,2 +0,0 @@
-HANDLE_OPCODE(OP_UNUSED_DEFF)
-OP_END
diff --git a/vm/mterp/c/OP_UNUSED_DFFF.cpp b/vm/mterp/c/OP_UNUSED_DFFF.cpp
deleted file mode 100644
index 4d455ee1d..000000000
--- a/vm/mterp/c/OP_UNUSED_DFFF.cpp
+++ /dev/null
@@ -1,2 +0,0 @@
-HANDLE_OPCODE(OP_UNUSED_DFFF)
-OP_END
diff --git a/vm/mterp/c/OP_UNUSED_E0FF.cpp b/vm/mterp/c/OP_UNUSED_E0FF.cpp
deleted file mode 100644
index 9507bcb2e..000000000
--- a/vm/mterp/c/OP_UNUSED_E0FF.cpp
+++ /dev/null
@@ -1,2 +0,0 @@
-HANDLE_OPCODE(OP_UNUSED_E0FF)
-OP_END
diff --git a/vm/mterp/c/OP_UNUSED_E1FF.cpp b/vm/mterp/c/OP_UNUSED_E1FF.cpp
deleted file mode 100644
index 84f6eedee..000000000
--- a/vm/mterp/c/OP_UNUSED_E1FF.cpp
+++ /dev/null
@@ -1,2 +0,0 @@
-HANDLE_OPCODE(OP_UNUSED_E1FF)
-OP_END
diff --git a/vm/mterp/c/OP_UNUSED_E2FF.cpp b/vm/mterp/c/OP_UNUSED_E2FF.cpp
deleted file mode 100644
index a6153cc65..000000000
--- a/vm/mterp/c/OP_UNUSED_E2FF.cpp
+++ /dev/null
@@ -1,2 +0,0 @@
-HANDLE_OPCODE(OP_UNUSED_E2FF)
-OP_END
diff --git a/vm/mterp/c/OP_UNUSED_E3FF.cpp b/vm/mterp/c/OP_UNUSED_E3FF.cpp
deleted file mode 100644
index fc0181ffb..000000000
--- a/vm/mterp/c/OP_UNUSED_E3FF.cpp
+++ /dev/null
@@ -1,2 +0,0 @@
-HANDLE_OPCODE(OP_UNUSED_E3FF)
-OP_END
diff --git a/vm/mterp/c/OP_UNUSED_E4FF.cpp b/vm/mterp/c/OP_UNUSED_E4FF.cpp
deleted file mode 100644
index cc11656bc..000000000
--- a/vm/mterp/c/OP_UNUSED_E4FF.cpp
+++ /dev/null
@@ -1,2 +0,0 @@
-HANDLE_OPCODE(OP_UNUSED_E4FF)
-OP_END
diff --git a/vm/mterp/c/OP_UNUSED_E5FF.cpp b/vm/mterp/c/OP_UNUSED_E5FF.cpp
deleted file mode 100644
index 1c4004230..000000000
--- a/vm/mterp/c/OP_UNUSED_E5FF.cpp
+++ /dev/null
@@ -1,2 +0,0 @@
-HANDLE_OPCODE(OP_UNUSED_E5FF)
-OP_END
diff --git a/vm/mterp/c/OP_UNUSED_E6FF.cpp b/vm/mterp/c/OP_UNUSED_E6FF.cpp
deleted file mode 100644
index 368657920..000000000
--- a/vm/mterp/c/OP_UNUSED_E6FF.cpp
+++ /dev/null
@@ -1,2 +0,0 @@
-HANDLE_OPCODE(OP_UNUSED_E6FF)
-OP_END
diff --git a/vm/mterp/c/OP_UNUSED_E7FF.cpp b/vm/mterp/c/OP_UNUSED_E7FF.cpp
deleted file mode 100644
index 060be13cd..000000000
--- a/vm/mterp/c/OP_UNUSED_E7FF.cpp
+++ /dev/null
@@ -1,2 +0,0 @@
-HANDLE_OPCODE(OP_UNUSED_E7FF)
-OP_END
diff --git a/vm/mterp/c/OP_UNUSED_E8FF.cpp b/vm/mterp/c/OP_UNUSED_E8FF.cpp
deleted file mode 100644
index 436883b48..000000000
--- a/vm/mterp/c/OP_UNUSED_E8FF.cpp
+++ /dev/null
@@ -1,2 +0,0 @@
-HANDLE_OPCODE(OP_UNUSED_E8FF)
-OP_END
diff --git a/vm/mterp/c/OP_UNUSED_E9FF.cpp b/vm/mterp/c/OP_UNUSED_E9FF.cpp
deleted file mode 100644
index 7c0cd56d0..000000000
--- a/vm/mterp/c/OP_UNUSED_E9FF.cpp
+++ /dev/null
@@ -1,2 +0,0 @@
-HANDLE_OPCODE(OP_UNUSED_E9FF)
-OP_END
diff --git a/vm/mterp/c/OP_UNUSED_EAFF.cpp b/vm/mterp/c/OP_UNUSED_EAFF.cpp
deleted file mode 100644
index cb334076b..000000000
--- a/vm/mterp/c/OP_UNUSED_EAFF.cpp
+++ /dev/null
@@ -1,2 +0,0 @@
-HANDLE_OPCODE(OP_UNUSED_EAFF)
-OP_END
diff --git a/vm/mterp/c/OP_UNUSED_EBFF.cpp b/vm/mterp/c/OP_UNUSED_EBFF.cpp
deleted file mode 100644
index 16f7a20dd..000000000
--- a/vm/mterp/c/OP_UNUSED_EBFF.cpp
+++ /dev/null
@@ -1,2 +0,0 @@
-HANDLE_OPCODE(OP_UNUSED_EBFF)
-OP_END
diff --git a/vm/mterp/c/OP_UNUSED_ECFF.cpp b/vm/mterp/c/OP_UNUSED_ECFF.cpp
deleted file mode 100644
index 7ae637278..000000000
--- a/vm/mterp/c/OP_UNUSED_ECFF.cpp
+++ /dev/null
@@ -1,2 +0,0 @@
-HANDLE_OPCODE(OP_UNUSED_ECFF)
-OP_END
diff --git a/vm/mterp/c/OP_UNUSED_EDFF.cpp b/vm/mterp/c/OP_UNUSED_EDFF.cpp
deleted file mode 100644
index d6528a1f1..000000000
--- a/vm/mterp/c/OP_UNUSED_EDFF.cpp
+++ /dev/null
@@ -1,2 +0,0 @@
-HANDLE_OPCODE(OP_UNUSED_EDFF)
-OP_END
diff --git a/vm/mterp/c/OP_UNUSED_EEFF.cpp b/vm/mterp/c/OP_UNUSED_EEFF.cpp
deleted file mode 100644
index 24918efaa..000000000
--- a/vm/mterp/c/OP_UNUSED_EEFF.cpp
+++ /dev/null
@@ -1,2 +0,0 @@
-HANDLE_OPCODE(OP_UNUSED_EEFF)
-OP_END
diff --git a/vm/mterp/c/OP_UNUSED_EFFF.cpp b/vm/mterp/c/OP_UNUSED_EFFF.cpp
deleted file mode 100644
index f15c2be7e..000000000
--- a/vm/mterp/c/OP_UNUSED_EFFF.cpp
+++ /dev/null
@@ -1,2 +0,0 @@
-HANDLE_OPCODE(OP_UNUSED_EFFF)
-OP_END
diff --git a/vm/mterp/c/OP_UNUSED_F0FF.cpp b/vm/mterp/c/OP_UNUSED_F0FF.cpp
deleted file mode 100644
index f9049b552..000000000
--- a/vm/mterp/c/OP_UNUSED_F0FF.cpp
+++ /dev/null
@@ -1,2 +0,0 @@
-HANDLE_OPCODE(OP_UNUSED_F0FF)
-OP_END
diff --git a/vm/mterp/c/OP_UNUSED_F1FF.cpp b/vm/mterp/c/OP_UNUSED_FF.cpp
index 34259d37f..f4743db9b 100644
--- a/vm/mterp/c/OP_UNUSED_F1FF.cpp
+++ b/vm/mterp/c/OP_UNUSED_FF.cpp
@@ -1,8 +1,8 @@
-HANDLE_OPCODE(OP_UNUSED_F1FF)
+HANDLE_OPCODE(OP_UNUSED_FF)
/*
* In portable interp, most unused opcodes will fall through to here.
*/
- LOGE("unknown opcode 0x%04x", inst);
+ LOGE("unknown opcode 0x%02x\n", INST_INST(inst));
dvmAbort();
FINISH(1);
OP_END
diff --git a/vm/mterp/c/gotoTargets.cpp b/vm/mterp/c/gotoTargets.cpp
index 64d6d2256..f83778ef8 100644
--- a/vm/mterp/c/gotoTargets.cpp
+++ b/vm/mterp/c/gotoTargets.cpp
@@ -8,7 +8,7 @@
* next instruction. Here, these are subroutines that return to the caller.
*/
-GOTO_TARGET(filledNewArray, bool methodCallRange, bool jumboFormat)
+GOTO_TARGET(filledNewArray, bool methodCallRange, bool)
{
ClassObject* arrayClass;
ArrayObject* newArray;
@@ -19,28 +19,19 @@ GOTO_TARGET(filledNewArray, bool methodCallRange, bool jumboFormat)
EXPORT_PC();
- if (jumboFormat) {
- ref = FETCH(1) | (u4)FETCH(2) << 16; /* class ref */
- vsrc1 = FETCH(3); /* #of elements */
- vdst = FETCH(4); /* range base */
- arg5 = -1; /* silence compiler warning */
- ILOGV("|filled-new-array/jumbo args=%d @0x%08x {regs=v%d-v%d}",
+ ref = FETCH(1); /* class ref */
+ vdst = FETCH(2); /* first 4 regs -or- range base */
+
+ if (methodCallRange) {
+ vsrc1 = INST_AA(inst); /* #of elements */
+ arg5 = -1; /* silence compiler warning */
+ ILOGV("|filled-new-array-range args=%d @0x%04x {regs=v%d-v%d}",
vsrc1, ref, vdst, vdst+vsrc1-1);
} else {
- ref = FETCH(1); /* class ref */
- vdst = FETCH(2); /* first 4 regs -or- range base */
-
- if (methodCallRange) {
- vsrc1 = INST_AA(inst); /* #of elements */
- arg5 = -1; /* silence compiler warning */
- ILOGV("|filled-new-array-range args=%d @0x%04x {regs=v%d-v%d}",
- vsrc1, ref, vdst, vdst+vsrc1-1);
- } else {
- arg5 = INST_A(inst);
- vsrc1 = INST_B(inst); /* #of elements */
- ILOGV("|filled-new-array args=%d @0x%04x {regs=0x%04x %x}",
- vsrc1, ref, vdst, arg5);
- }
+ arg5 = INST_A(inst);
+ vsrc1 = INST_B(inst); /* #of elements */
+ ILOGV("|filled-new-array args=%d @0x%04x {regs=0x%04x %x}",
+ vsrc1, ref, vdst, arg5);
}
/*
@@ -108,49 +99,35 @@ GOTO_TARGET(filledNewArray, bool methodCallRange, bool jumboFormat)
retval.l = (Object*)newArray;
}
- if (jumboFormat) {
- FINISH(5);
- } else {
- FINISH(3);
- }
+ FINISH(3);
GOTO_TARGET_END
-GOTO_TARGET(invokeVirtual, bool methodCallRange, bool jumboFormat)
+GOTO_TARGET(invokeVirtual, bool methodCallRange, bool)
{
Method* baseMethod;
Object* thisPtr;
EXPORT_PC();
- if (jumboFormat) {
- ref = FETCH(1) | (u4)FETCH(2) << 16; /* method ref */
- vsrc1 = FETCH(3); /* count */
- vdst = FETCH(4); /* first reg */
- ADJUST_PC(2); /* advance pc partially to make returns easier */
- ILOGV("|invoke-virtual/jumbo args=%d @0x%08x {regs=v%d-v%d}",
+ vsrc1 = INST_AA(inst); /* AA (count) or BA (count + arg 5) */
+ ref = FETCH(1); /* method ref */
+ vdst = FETCH(2); /* 4 regs -or- first reg */
+
+ /*
+ * The object against which we are executing a method is always
+ * in the first argument.
+ */
+ if (methodCallRange) {
+ assert(vsrc1 > 0);
+ ILOGV("|invoke-virtual-range args=%d @0x%04x {regs=v%d-v%d}",
vsrc1, ref, vdst, vdst+vsrc1-1);
thisPtr = (Object*) GET_REGISTER(vdst);
} else {
- vsrc1 = INST_AA(inst); /* AA (count) or BA (count + arg 5) */
- ref = FETCH(1); /* method ref */
- vdst = FETCH(2); /* 4 regs -or- first reg */
-
- /*
- * The object against which we are executing a method is always
- * in the first argument.
- */
- if (methodCallRange) {
- assert(vsrc1 > 0);
- ILOGV("|invoke-virtual-range args=%d @0x%04x {regs=v%d-v%d}",
- vsrc1, ref, vdst, vdst+vsrc1-1);
- thisPtr = (Object*) GET_REGISTER(vdst);
- } else {
- assert((vsrc1>>4) > 0);
- ILOGV("|invoke-virtual args=%d @0x%04x {regs=0x%04x %x}",
- vsrc1 >> 4, ref, vdst, vsrc1 & 0x0f);
- thisPtr = (Object*) GET_REGISTER(vdst & 0x0f);
- }
+ assert((vsrc1>>4) > 0);
+ ILOGV("|invoke-virtual args=%d @0x%04x {regs=0x%04x %x}",
+ vsrc1 >> 4, ref, vdst, vsrc1 & 0x0f);
+ thisPtr = (Object*) GET_REGISTER(vdst & 0x0f);
}
if (!checkForNull(thisPtr))
@@ -222,35 +199,25 @@ GOTO_TARGET(invokeVirtual, bool methodCallRange, bool jumboFormat)
}
GOTO_TARGET_END
-GOTO_TARGET(invokeSuper, bool methodCallRange, bool jumboFormat)
+GOTO_TARGET(invokeSuper, bool methodCallRange)
{
Method* baseMethod;
u2 thisReg;
EXPORT_PC();
- if (jumboFormat) {
- ref = FETCH(1) | (u4)FETCH(2) << 16; /* method ref */
- vsrc1 = FETCH(3); /* count */
- vdst = FETCH(4); /* first reg */
- ADJUST_PC(2); /* advance pc partially to make returns easier */
- ILOGV("|invoke-super/jumbo args=%d @0x%08x {regs=v%d-v%d}",
+ vsrc1 = INST_AA(inst); /* AA (count) or BA (count + arg 5) */
+ ref = FETCH(1); /* method ref */
+ vdst = FETCH(2); /* 4 regs -or- first reg */
+
+ if (methodCallRange) {
+ ILOGV("|invoke-super-range args=%d @0x%04x {regs=v%d-v%d}",
vsrc1, ref, vdst, vdst+vsrc1-1);
thisReg = vdst;
} else {
- vsrc1 = INST_AA(inst); /* AA (count) or BA (count + arg 5) */
- ref = FETCH(1); /* method ref */
- vdst = FETCH(2); /* 4 regs -or- first reg */
-
- if (methodCallRange) {
- ILOGV("|invoke-super-range args=%d @0x%04x {regs=v%d-v%d}",
- vsrc1, ref, vdst, vdst+vsrc1-1);
- thisReg = vdst;
- } else {
- ILOGV("|invoke-super args=%d @0x%04x {regs=0x%04x %x}",
- vsrc1 >> 4, ref, vdst, vsrc1 & 0x0f);
- thisReg = vdst & 0x0f;
- }
+ ILOGV("|invoke-super args=%d @0x%04x {regs=0x%04x %x}",
+ vsrc1 >> 4, ref, vdst, vsrc1 & 0x0f);
+ thisReg = vdst & 0x0f;
}
/* impossible in well-formed code, but we must check nevertheless */
@@ -310,41 +277,31 @@ GOTO_TARGET(invokeSuper, bool methodCallRange, bool jumboFormat)
}
GOTO_TARGET_END
-GOTO_TARGET(invokeInterface, bool methodCallRange, bool jumboFormat)
+GOTO_TARGET(invokeInterface, bool methodCallRange)
{
Object* thisPtr;
ClassObject* thisClass;
EXPORT_PC();
- if (jumboFormat) {
- ref = FETCH(1) | (u4)FETCH(2) << 16; /* method ref */
- vsrc1 = FETCH(3); /* count */
- vdst = FETCH(4); /* first reg */
- ADJUST_PC(2); /* advance pc partially to make returns easier */
- ILOGV("|invoke-interface/jumbo args=%d @0x%08x {regs=v%d-v%d}",
+ vsrc1 = INST_AA(inst); /* AA (count) or BA (count + arg 5) */
+ ref = FETCH(1); /* method ref */
+ vdst = FETCH(2); /* 4 regs -or- first reg */
+
+ /*
+ * The object against which we are executing a method is always
+ * in the first argument.
+ */
+ if (methodCallRange) {
+ assert(vsrc1 > 0);
+ ILOGV("|invoke-interface-range args=%d @0x%04x {regs=v%d-v%d}",
vsrc1, ref, vdst, vdst+vsrc1-1);
thisPtr = (Object*) GET_REGISTER(vdst);
} else {
- vsrc1 = INST_AA(inst); /* AA (count) or BA (count + arg 5) */
- ref = FETCH(1); /* method ref */
- vdst = FETCH(2); /* 4 regs -or- first reg */
-
- /*
- * The object against which we are executing a method is always
- * in the first argument.
- */
- if (methodCallRange) {
- assert(vsrc1 > 0);
- ILOGV("|invoke-interface-range args=%d @0x%04x {regs=v%d-v%d}",
- vsrc1, ref, vdst, vdst+vsrc1-1);
- thisPtr = (Object*) GET_REGISTER(vdst);
- } else {
- assert((vsrc1>>4) > 0);
- ILOGV("|invoke-interface args=%d @0x%04x {regs=0x%04x %x}",
- vsrc1 >> 4, ref, vdst, vsrc1 & 0x0f);
- thisPtr = (Object*) GET_REGISTER(vdst & 0x0f);
- }
+ assert((vsrc1>>4) > 0);
+ ILOGV("|invoke-interface args=%d @0x%04x {regs=0x%04x %x}",
+ vsrc1 >> 4, ref, vdst, vsrc1 & 0x0f);
+ thisPtr = (Object*) GET_REGISTER(vdst & 0x0f);
}
if (!checkForNull(thisPtr))
@@ -352,7 +309,6 @@ GOTO_TARGET(invokeInterface, bool methodCallRange, bool jumboFormat)
thisClass = thisPtr->clazz;
-
/*
* Given a class and a method index, find the Method* with the
* actual code we want to execute.
@@ -372,34 +328,24 @@ GOTO_TARGET(invokeInterface, bool methodCallRange, bool jumboFormat)
}
GOTO_TARGET_END
-GOTO_TARGET(invokeDirect, bool methodCallRange, bool jumboFormat)
+GOTO_TARGET(invokeDirect, bool methodCallRange)
{
u2 thisReg;
EXPORT_PC();
- if (jumboFormat) {
- ref = FETCH(1) | (u4)FETCH(2) << 16; /* method ref */
- vsrc1 = FETCH(3); /* count */
- vdst = FETCH(4); /* first reg */
- ADJUST_PC(2); /* advance pc partially to make returns easier */
- ILOGV("|invoke-direct/jumbo args=%d @0x%08x {regs=v%d-v%d}",
+ vsrc1 = INST_AA(inst); /* AA (count) or BA (count + arg 5) */
+ ref = FETCH(1); /* method ref */
+ vdst = FETCH(2); /* 4 regs -or- first reg */
+
+ if (methodCallRange) {
+ ILOGV("|invoke-direct-range args=%d @0x%04x {regs=v%d-v%d}",
vsrc1, ref, vdst, vdst+vsrc1-1);
thisReg = vdst;
} else {
- vsrc1 = INST_AA(inst); /* AA (count) or BA (count + arg 5) */
- ref = FETCH(1); /* method ref */
- vdst = FETCH(2); /* 4 regs -or- first reg */
-
- if (methodCallRange) {
- ILOGV("|invoke-direct-range args=%d @0x%04x {regs=v%d-v%d}",
- vsrc1, ref, vdst, vdst+vsrc1-1);
- thisReg = vdst;
- } else {
- ILOGV("|invoke-direct args=%d @0x%04x {regs=0x%04x %x}",
- vsrc1 >> 4, ref, vdst, vsrc1 & 0x0f);
- thisReg = vdst & 0x0f;
- }
+ ILOGV("|invoke-direct args=%d @0x%04x {regs=0x%04x %x}",
+ vsrc1 >> 4, ref, vdst, vsrc1 & 0x0f);
+ thisReg = vdst & 0x0f;
}
if (!checkForNull((Object*) GET_REGISTER(thisReg)))
@@ -418,28 +364,19 @@ GOTO_TARGET(invokeDirect, bool methodCallRange, bool jumboFormat)
}
GOTO_TARGET_END
-GOTO_TARGET(invokeStatic, bool methodCallRange, bool jumboFormat)
+GOTO_TARGET(invokeStatic, bool methodCallRange)
EXPORT_PC();
- if (jumboFormat) {
- ref = FETCH(1) | (u4)FETCH(2) << 16; /* method ref */
- vsrc1 = FETCH(3); /* count */
- vdst = FETCH(4); /* first reg */
- ADJUST_PC(2); /* advance pc partially to make returns easier */
- ILOGV("|invoke-static/jumbo args=%d @0x%08x {regs=v%d-v%d}",
- vsrc1, ref, vdst, vdst+vsrc1-1);
- } else {
- vsrc1 = INST_AA(inst); /* AA (count) or BA (count + arg 5) */
- ref = FETCH(1); /* method ref */
- vdst = FETCH(2); /* 4 regs -or- first reg */
+ vsrc1 = INST_AA(inst); /* AA (count) or BA (count + arg 5) */
+ ref = FETCH(1); /* method ref */
+ vdst = FETCH(2); /* 4 regs -or- first reg */
- if (methodCallRange)
- ILOGV("|invoke-static-range args=%d @0x%04x {regs=v%d-v%d}",
- vsrc1, ref, vdst, vdst+vsrc1-1);
- else
- ILOGV("|invoke-static args=%d @0x%04x {regs=0x%04x %x}",
- vsrc1 >> 4, ref, vdst, vsrc1 & 0x0f);
- }
+ if (methodCallRange)
+ ILOGV("|invoke-static-range args=%d @0x%04x {regs=v%d-v%d}",
+ vsrc1, ref, vdst, vdst+vsrc1-1);
+ else
+ ILOGV("|invoke-static args=%d @0x%04x {regs=0x%04x %x}",
+ vsrc1 >> 4, ref, vdst, vsrc1 & 0x0f);
methodToCall = dvmDexGetResolvedMethod(methodClassDex, ref);
if (methodToCall == NULL) {
@@ -465,7 +402,7 @@ GOTO_TARGET(invokeStatic, bool methodCallRange, bool jumboFormat)
GOTO_invokeMethod(methodCallRange, methodToCall, vsrc1, vdst);
GOTO_TARGET_END
-GOTO_TARGET(invokeVirtualQuick, bool methodCallRange, bool jumboFormat)
+GOTO_TARGET(invokeVirtualQuick, bool methodCallRange)
{
Object* thisPtr;
@@ -524,7 +461,7 @@ GOTO_TARGET(invokeVirtualQuick, bool methodCallRange, bool jumboFormat)
}
GOTO_TARGET_END
-GOTO_TARGET(invokeSuperQuick, bool methodCallRange, bool jumboFormat)
+GOTO_TARGET(invokeSuperQuick, bool methodCallRange)
{
u2 thisReg;
diff --git a/vm/mterp/c/opcommon.cpp b/vm/mterp/c/opcommon.cpp
index 104d8569f..991df862d 100644
--- a/vm/mterp/c/opcommon.cpp
+++ b/vm/mterp/c/opcommon.cpp
@@ -1,12 +1,12 @@
/* forward declarations of goto targets */
-GOTO_TARGET_DECL(filledNewArray, bool methodCallRange, bool jumboFormat);
-GOTO_TARGET_DECL(invokeVirtual, bool methodCallRange, bool jumboFormat);
-GOTO_TARGET_DECL(invokeSuper, bool methodCallRange, bool jumboFormat);
-GOTO_TARGET_DECL(invokeInterface, bool methodCallRange, bool jumboFormat);
-GOTO_TARGET_DECL(invokeDirect, bool methodCallRange, bool jumboFormat);
-GOTO_TARGET_DECL(invokeStatic, bool methodCallRange, bool jumboFormat);
-GOTO_TARGET_DECL(invokeVirtualQuick, bool methodCallRange, bool jumboFormat);
-GOTO_TARGET_DECL(invokeSuperQuick, bool methodCallRange, bool jumboFormat);
+GOTO_TARGET_DECL(filledNewArray, bool methodCallRange);
+GOTO_TARGET_DECL(invokeVirtual, bool methodCallRange);
+GOTO_TARGET_DECL(invokeSuper, bool methodCallRange);
+GOTO_TARGET_DECL(invokeInterface, bool methodCallRange);
+GOTO_TARGET_DECL(invokeDirect, bool methodCallRange);
+GOTO_TARGET_DECL(invokeStatic, bool methodCallRange);
+GOTO_TARGET_DECL(invokeVirtualQuick, bool methodCallRange);
+GOTO_TARGET_DECL(invokeSuperQuick, bool methodCallRange);
GOTO_TARGET_DECL(invokeMethod, bool methodCallRange, const Method* methodToCall,
u2 count, u2 regs);
GOTO_TARGET_DECL(returnFromMethod);
@@ -530,33 +530,6 @@ GOTO_TARGET_DECL(exceptionThrown);
} \
FINISH(2);
-#define HANDLE_IGET_X_JUMBO(_opcode, _opname, _ftype, _regsize) \
- HANDLE_OPCODE(_opcode /*vBBBB, vCCCC, class@AAAAAAAA*/) \
- { \
- InstField* ifield; \
- Object* obj; \
- EXPORT_PC(); \
- ref = FETCH(1) | (u4)FETCH(2) << 16; /* field ref */ \
- vdst = FETCH(3); \
- vsrc1 = FETCH(4); /* object ptr */ \
- ILOGV("|iget%s/jumbo v%d,v%d,field@0x%08x", \
- (_opname), vdst, vsrc1, ref); \
- obj = (Object*) GET_REGISTER(vsrc1); \
- if (!checkForNull(obj)) \
- GOTO_exceptionThrown(); \
- ifield = (InstField*) dvmDexGetResolvedField(methodClassDex, ref); \
- if (ifield == NULL) { \
- ifield = dvmResolveInstField(curMethod->clazz, ref); \
- if (ifield == NULL) \
- GOTO_exceptionThrown(); \
- } \
- SET_REGISTER##_regsize(vdst, \
- dvmGetField##_ftype(obj, ifield->byteOffset)); \
- ILOGV("+ IGET '%s'=0x%08llx", ifield->field.name, \
- (u8) GET_REGISTER##_regsize(vdst)); \
- } \
- FINISH(5);
-
#define HANDLE_IGET_X_QUICK(_opcode, _opname, _ftype, _regsize) \
HANDLE_OPCODE(_opcode /*vA, vB, field@CCCC*/) \
{ \
@@ -601,33 +574,6 @@ GOTO_TARGET_DECL(exceptionThrown);
} \
FINISH(2);
-#define HANDLE_IPUT_X_JUMBO(_opcode, _opname, _ftype, _regsize) \
- HANDLE_OPCODE(_opcode /*vBBBB, vCCCC, class@AAAAAAAA*/) \
- { \
- InstField* ifield; \
- Object* obj; \
- EXPORT_PC(); \
- ref = FETCH(1) | (u4)FETCH(2) << 16; /* field ref */ \
- vdst = FETCH(3); \
- vsrc1 = FETCH(4); /* object ptr */ \
- ILOGV("|iput%s/jumbo v%d,v%d,field@0x%08x", \
- (_opname), vdst, vsrc1, ref); \
- obj = (Object*) GET_REGISTER(vsrc1); \
- if (!checkForNull(obj)) \
- GOTO_exceptionThrown(); \
- ifield = (InstField*) dvmDexGetResolvedField(methodClassDex, ref); \
- if (ifield == NULL) { \
- ifield = dvmResolveInstField(curMethod->clazz, ref); \
- if (ifield == NULL) \
- GOTO_exceptionThrown(); \
- } \
- dvmSetField##_ftype(obj, ifield->byteOffset, \
- GET_REGISTER##_regsize(vdst)); \
- ILOGV("+ IPUT '%s'=0x%08llx", ifield->field.name, \
- (u8) GET_REGISTER##_regsize(vdst)); \
- } \
- FINISH(5);
-
#define HANDLE_IPUT_X_QUICK(_opcode, _opname, _ftype, _regsize) \
HANDLE_OPCODE(_opcode /*vA, vB, field@CCCC*/) \
{ \
@@ -677,29 +623,6 @@ GOTO_TARGET_DECL(exceptionThrown);
} \
FINISH(2);
-#define HANDLE_SGET_X_JUMBO(_opcode, _opname, _ftype, _regsize) \
- HANDLE_OPCODE(_opcode /*vBBBB, class@AAAAAAAA*/) \
- { \
- StaticField* sfield; \
- ref = FETCH(1) | (u4)FETCH(2) << 16; /* field ref */ \
- vdst = FETCH(3); \
- ILOGV("|sget%s/jumbo v%d,sfield@0x%08x", (_opname), vdst, ref); \
- sfield = (StaticField*)dvmDexGetResolvedField(methodClassDex, ref); \
- if (sfield == NULL) { \
- EXPORT_PC(); \
- sfield = dvmResolveStaticField(curMethod->clazz, ref); \
- if (sfield == NULL) \
- GOTO_exceptionThrown(); \
- if (dvmDexGetResolvedField(methodClassDex, ref) == NULL) { \
- JIT_STUB_HACK(dvmJitEndTraceSelect(self,pc)); \
- } \
- } \
- SET_REGISTER##_regsize(vdst, dvmGetStaticField##_ftype(sfield)); \
- ILOGV("+ SGET '%s'=0x%08llx", \
- sfield->field.name, (u8)GET_REGISTER##_regsize(vdst)); \
- } \
- FINISH(4);
-
#define HANDLE_SPUT_X(_opcode, _opname, _ftype, _regsize) \
HANDLE_OPCODE(_opcode /*vAA, field@BBBB*/) \
{ \
@@ -722,26 +645,3 @@ GOTO_TARGET_DECL(exceptionThrown);
sfield->field.name, (u8)GET_REGISTER##_regsize(vdst)); \
} \
FINISH(2);
-
-#define HANDLE_SPUT_X_JUMBO(_opcode, _opname, _ftype, _regsize) \
- HANDLE_OPCODE(_opcode /*vBBBB, class@AAAAAAAA*/) \
- { \
- StaticField* sfield; \
- ref = FETCH(1) | (u4)FETCH(2) << 16; /* field ref */ \
- vdst = FETCH(3); \
- ILOGV("|sput%s/jumbo v%d,sfield@0x%08x", (_opname), vdst, ref); \
- sfield = (StaticField*)dvmDexGetResolvedField(methodClassDex, ref); \
- if (sfield == NULL) { \
- EXPORT_PC(); \
- sfield = dvmResolveStaticField(curMethod->clazz, ref); \
- if (sfield == NULL) \
- GOTO_exceptionThrown(); \
- if (dvmDexGetResolvedField(methodClassDex, ref) == NULL) { \
- JIT_STUB_HACK(dvmJitEndTraceSelect(self,pc)); \
- } \
- } \
- dvmSetStaticField##_ftype(sfield, GET_REGISTER##_regsize(vdst)); \
- ILOGV("+ SPUT '%s'=0x%08llx", \
- sfield->field.name, (u8)GET_REGISTER##_regsize(vdst)); \
- } \
- FINISH(4);
diff --git a/vm/mterp/common/asm-constants.h b/vm/mterp/common/asm-constants.h
index 1313de649..b6d82d6ac 100644
--- a/vm/mterp/common/asm-constants.h
+++ b/vm/mterp/common/asm-constants.h
@@ -296,7 +296,6 @@ MTERP_CONSTANT(GC_CARD_SHIFT, 7)
/* opcode number */
MTERP_CONSTANT(OP_MOVE_EXCEPTION, 0x0d)
MTERP_CONSTANT(OP_INVOKE_DIRECT_RANGE, 0x76)
-MTERP_CONSTANT(OP_INVOKE_DIRECT_JUMBO, 0x124)
/* flags for interpBreak */
MTERP_CONSTANT(kSubModeNormal, 0x0000)
diff --git a/vm/mterp/config-armv5te b/vm/mterp/config-armv5te
index 2af561822..5861f8bc1 100644
--- a/vm/mterp/config-armv5te
+++ b/vm/mterp/config-armv5te
@@ -44,7 +44,6 @@ import armv5te/entry.S
# opcode list; argument to op-start is default directory
op-start armv5te
#op OP_FILL_ARRAY_DATA c
- alt OP_DISPATCH_FF armv5te
op-end
# "helper" code for C; include if you use any of the C stubs (this generates
diff --git a/vm/mterp/config-armv5te-vfp b/vm/mterp/config-armv5te-vfp
index 64e943ad8..160913c20 100644
--- a/vm/mterp/config-armv5te-vfp
+++ b/vm/mterp/config-armv5te-vfp
@@ -74,8 +74,6 @@ op-start armv5te
op OP_SUB_FLOAT arm-vfp
op OP_SUB_FLOAT_2ADDR arm-vfp
- alt OP_DISPATCH_FF armv5te
-
# use trivial integer operation
#op OP_NEG_DOUBLE armv5te
#op OP_NEG_FLOAT armv5te
diff --git a/vm/mterp/config-armv7-a b/vm/mterp/config-armv7-a
index 5e41e634b..eadaeca35 100644
--- a/vm/mterp/config-armv7-a
+++ b/vm/mterp/config-armv7-a
@@ -156,8 +156,6 @@ op-start armv5te
op OP_SUB_DOUBLE_2ADDR arm-vfp
op OP_SUB_FLOAT arm-vfp
op OP_SUB_FLOAT_2ADDR arm-vfp
-
- alt OP_DISPATCH_FF armv5te
op-end
# "helper" code for C; include if you use any of the C stubs (this generates
diff --git a/vm/mterp/config-armv7-a-neon b/vm/mterp/config-armv7-a-neon
index fc98d9631..5f91365e0 100644
--- a/vm/mterp/config-armv7-a-neon
+++ b/vm/mterp/config-armv7-a-neon
@@ -156,8 +156,6 @@ op-start armv5te
op OP_SUB_DOUBLE_2ADDR arm-vfp
op OP_SUB_FLOAT arm-vfp
op OP_SUB_FLOAT_2ADDR arm-vfp
-
- alt OP_DISPATCH_FF armv5te
op-end
# "helper" code for C; include if you use any of the C stubs (this generates
diff --git a/vm/mterp/config-x86 b/vm/mterp/config-x86
index 9291e814d..9e5fa4369 100644
--- a/vm/mterp/config-x86
+++ b/vm/mterp/config-x86
@@ -44,22 +44,6 @@ op-start x86
op OP_SPUT_WIDE_VOLATILE c
op OP_RETURN_VOID_BARRIER c
op OP_INVOKE_OBJECT_INIT_RANGE c
-
- op OP_INVOKE_OBJECT_INIT_JUMBO c
- op OP_IGET_VOLATILE_JUMBO c
- op OP_IPUT_VOLATILE_JUMBO c
- op OP_SGET_VOLATILE_JUMBO c
- op OP_SPUT_VOLATILE_JUMBO c
- op OP_IGET_OBJECT_VOLATILE_JUMBO c
- op OP_IPUT_OBJECT_VOLATILE_JUMBO c
- op OP_SGET_OBJECT_VOLATILE_JUMBO c
- op OP_SPUT_OBJECT_VOLATILE_JUMBO c
- op OP_IGET_WIDE_VOLATILE_JUMBO c
- op OP_IPUT_WIDE_VOLATILE_JUMBO c
- op OP_SGET_WIDE_VOLATILE_JUMBO c
- op OP_SPUT_WIDE_VOLATILE_JUMBO c
-
- alt OP_DISPATCH_FF x86
op-end
# arch-specific entry point to interpreter
diff --git a/vm/mterp/config-x86-atom b/vm/mterp/config-x86-atom
index b99310d87..8cf427c28 100644
--- a/vm/mterp/config-x86-atom
+++ b/vm/mterp/config-x86-atom
@@ -262,7 +262,7 @@ op-start x86-atom
#op OP_UNUSED_FC c
#op OP_UNUSED_FD c
#op OP_UNUSED_FE c
-#op OP_DISPATCH_FF c
+#op OP_UNUSED_FF c
#op OP_USHR_INT_2ADDR c
#op OP_USHR_INT_LIT8 c
#op OP_USHR_INT c
@@ -293,19 +293,6 @@ op OP_SPUT_WIDE_VOLATILE c
op OP_RETURN_VOID_BARRIER c
op OP_INVOKE_OBJECT_INIT_RANGE c
-op OP_INVOKE_OBJECT_INIT_JUMBO c
-op OP_IGET_VOLATILE_JUMBO c
-op OP_IPUT_VOLATILE_JUMBO c
-op OP_SGET_VOLATILE_JUMBO c
-op OP_SPUT_VOLATILE_JUMBO c
-op OP_IGET_OBJECT_VOLATILE_JUMBO c
-op OP_IPUT_OBJECT_VOLATILE_JUMBO c
-op OP_SGET_OBJECT_VOLATILE_JUMBO c
-op OP_SPUT_OBJECT_VOLATILE_JUMBO c
-op OP_IGET_WIDE_VOLATILE_JUMBO c
-op OP_IPUT_WIDE_VOLATILE_JUMBO c
-op OP_SGET_WIDE_VOLATILE_JUMBO c
-op OP_SPUT_WIDE_VOLATILE_JUMBO c
op-end
# arch-specific entry point to interpreter
diff --git a/vm/mterp/cstubs/stubdefs.cpp b/vm/mterp/cstubs/stubdefs.cpp
index 0bffd49f1..ed0e4dab5 100644
--- a/vm/mterp/cstubs/stubdefs.cpp
+++ b/vm/mterp/cstubs/stubdefs.cpp
@@ -101,9 +101,9 @@
return; \
} while(false)
-#define GOTO_invoke(_target, _methodCallRange, _jumboFormat) \
+#define GOTO_invoke(_target, _methodCallRange) \
do { \
- dvmMterp_##_target(self, _methodCallRange, _jumboFormat); \
+ dvmMterp_##_target(self, _methodCallRange); \
return; \
} while(false)
diff --git a/vm/mterp/gen-mterp.py b/vm/mterp/gen-mterp.py
index e0b1b2df2..47c3647ed 100755
--- a/vm/mterp/gen-mterp.py
+++ b/vm/mterp/gen-mterp.py
@@ -23,7 +23,7 @@ import sys, string, re, time
from string import Template
interp_defs_file = "../../libdex/DexOpcodes.h" # need opcode list
-kNumPackedOpcodes = 512 # TODO: Derive this from DexOpcodes.h.
+kNumPackedOpcodes = 256 # TODO: Derive this from DexOpcodes.h.
verbose = False
handler_size_bits = -1000
diff --git a/vm/mterp/out/InterpAsm-armv5te-vfp.S b/vm/mterp/out/InterpAsm-armv5te-vfp.S
index a0835f9cc..84b47a210 100644
--- a/vm/mterp/out/InterpAsm-armv5te-vfp.S
+++ b/vm/mterp/out/InterpAsm-armv5te-vfp.S
@@ -7700,3126 +7700,12 @@ dalvik_inst:
/* ------------------------------ */
.balign 64
-.L_OP_DISPATCH_FF: /* 0xff */
-/* File: armv5te/OP_DISPATCH_FF.S */
- mov ip, rINST, lsr #8 @ ip<- extended opcode
- add ip, ip, #256 @ add offset for extended opcodes
- GOTO_OPCODE(ip) @ go to proper extended handler
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_CONST_CLASS_JUMBO: /* 0x100 */
-/* File: armv5te/OP_CONST_CLASS_JUMBO.S */
- /* const-class/jumbo vBBBB, Class@AAAAAAAA */
- FETCH(r0, 1) @ r0<- aaaa (lo)
- ldr r2, [rSELF, #offThread_methodClassDex] @ r2<-self>methodClassDex
- FETCH(r1, 2) @ r1<- AAAA (hi)
- ldr r2, [r2, #offDvmDex_pResClasses] @ r2<- dvmDex->pResClasses
- orr r1, r0, r1, lsl #16 @ r1<- AAAAaaaa
- FETCH(r9, 3) @ r9<- BBBB
- ldr r0, [r2, r1, lsl #2] @ r0<- pResClasses[AAAAaaaa]
- cmp r0, #0 @ not yet resolved?
- beq .LOP_CONST_CLASS_JUMBO_resolve
- FETCH_ADVANCE_INST(4) @ advance rPC, load rINST
- GET_INST_OPCODE(ip) @ extract opcode from rINST
- SET_VREG(r0, r9) @ vBBBB<- r0
- GOTO_OPCODE(ip) @ jump to next instruction
-
-/* ------------------------------ */
- .balign 64
-.L_OP_CHECK_CAST_JUMBO: /* 0x101 */
-/* File: armv5te/OP_CHECK_CAST_JUMBO.S */
- /*
- * Check to see if a cast from one class to another is allowed.
- */
- /* check-cast/jumbo vBBBB, class@AAAAAAAA */
- FETCH(r0, 1) @ r0<- aaaa (lo)
- FETCH(r2, 2) @ r2<- AAAA (hi)
- FETCH(r3, 3) @ r3<- BBBB
- orr r2, r0, r2, lsl #16 @ r2<- AAAAaaaa
- GET_VREG(r9, r3) @ r9<- object
- ldr r0, [rSELF, #offThread_methodClassDex] @ r0<- pDvmDex
- cmp r9, #0 @ is object null?
- ldr r0, [r0, #offDvmDex_pResClasses] @ r0<- pDvmDex->pResClasses
- beq .LOP_CHECK_CAST_JUMBO_okay @ null obj, cast always succeeds
- ldr r1, [r0, r2, lsl #2] @ r1<- resolved class
- ldr r0, [r9, #offObject_clazz] @ r0<- obj->clazz
- cmp r1, #0 @ have we resolved this before?
- beq .LOP_CHECK_CAST_JUMBO_resolve @ not resolved, do it now
-.LOP_CHECK_CAST_JUMBO_resolved:
- cmp r0, r1 @ same class (trivial success)?
- bne .LOP_CHECK_CAST_JUMBO_fullcheck @ no, do full check
- b .LOP_CHECK_CAST_JUMBO_okay @ yes, finish up
-
-/* ------------------------------ */
- .balign 64
-.L_OP_INSTANCE_OF_JUMBO: /* 0x102 */
-/* File: armv5te/OP_INSTANCE_OF_JUMBO.S */
- /*
- * Check to see if an object reference is an instance of a class.
- *
- * Most common situation is a non-null object, being compared against
- * an already-resolved class.
- *
- * TODO: convert most of this into a common subroutine, shared with
- * OP_INSTANCE_OF.S.
- */
- /* instance-of/jumbo vBBBB, vCCCC, class@AAAAAAAA */
- FETCH(r3, 4) @ r3<- vCCCC
- FETCH(r9, 3) @ r9<- vBBBB
- GET_VREG(r0, r3) @ r0<- vCCCC (object)
- ldr r2, [rSELF, #offThread_methodClassDex] @ r2<- pDvmDex
- cmp r0, #0 @ is object null?
- beq .LOP_INSTANCE_OF_JUMBO_store @ null obj, not an instance, store r0
- FETCH(r1, 1) @ r1<- aaaa (lo)
- FETCH(r3, 2) @ r3<- AAAA (hi)
- ldr r2, [r2, #offDvmDex_pResClasses] @ r2<- pDvmDex->pResClasses
- orr r3, r1, r3, lsl #16 @ r3<- AAAAaaaa
- ldr r1, [r2, r3, lsl #2] @ r1<- resolved class
- ldr r0, [r0, #offObject_clazz] @ r0<- obj->clazz
- cmp r1, #0 @ have we resolved this before?
- beq .LOP_INSTANCE_OF_JUMBO_resolve @ not resolved, do it now
- b .LOP_INSTANCE_OF_JUMBO_resolved @ resolved, continue
-
-/* ------------------------------ */
- .balign 64
-.L_OP_NEW_INSTANCE_JUMBO: /* 0x103 */
-/* File: armv5te/OP_NEW_INSTANCE_JUMBO.S */
- /*
- * Create a new instance of a class.
- */
- /* new-instance/jumbo vBBBB, class@AAAAAAAA */
- FETCH(r0, 1) @ r0<- aaaa (lo)
- FETCH(r1, 2) @ r1<- AAAA (hi)
- ldr r3, [rSELF, #offThread_methodClassDex] @ r3<- pDvmDex
- orr r1, r0, r1, lsl #16 @ r1<- AAAAaaaa
- ldr r3, [r3, #offDvmDex_pResClasses] @ r3<- pDvmDex->pResClasses
- ldr r0, [r3, r1, lsl #2] @ r0<- resolved class
-#if defined(WITH_JIT)
- add r10, r3, r1, lsl #2 @ r10<- &resolved_class
-#endif
- EXPORT_PC() @ req'd for init, resolve, alloc
- cmp r0, #0 @ already resolved?
- beq .LOP_NEW_INSTANCE_JUMBO_resolve @ no, resolve it now
-.LOP_NEW_INSTANCE_JUMBO_resolved: @ r0=class
- ldrb r1, [r0, #offClassObject_status] @ r1<- ClassStatus enum
- cmp r1, #CLASS_INITIALIZED @ has class been initialized?
- bne .LOP_NEW_INSTANCE_JUMBO_needinit @ no, init class now
-.LOP_NEW_INSTANCE_JUMBO_initialized: @ r0=class
- mov r1, #ALLOC_DONT_TRACK @ flags for alloc call
- bl dvmAllocObject @ r0<- new object
- b .LOP_NEW_INSTANCE_JUMBO_finish @ continue
-
-/* ------------------------------ */
- .balign 64
-.L_OP_NEW_ARRAY_JUMBO: /* 0x104 */
-/* File: armv5te/OP_NEW_ARRAY_JUMBO.S */
- /*
- * Allocate an array of objects, specified with the array class
- * and a count.
- *
- * The verifier guarantees that this is an array class, so we don't
- * check for it here.
- */
- /* new-array/jumbo vBBBB, vCCCC, class@AAAAAAAA */
- FETCH(r2, 1) @ r2<- aaaa (lo)
- FETCH(r3, 2) @ r3<- AAAA (hi)
- FETCH(r0, 4) @ r0<- vCCCC
- orr r2, r2, r3, lsl #16 @ r2<- AAAAaaaa
- ldr r3, [rSELF, #offThread_methodClassDex] @ r3<- pDvmDex
- GET_VREG(r1, r0) @ r1<- vCCCC (array length)
- ldr r3, [r3, #offDvmDex_pResClasses] @ r3<- pDvmDex->pResClasses
- cmp r1, #0 @ check length
- ldr r0, [r3, r2, lsl #2] @ r0<- resolved class
- bmi common_errNegativeArraySize @ negative length, bail - len in r1
- cmp r0, #0 @ already resolved?
- EXPORT_PC() @ req'd for resolve, alloc
- bne .LOP_NEW_ARRAY_JUMBO_finish @ resolved, continue
- b .LOP_NEW_ARRAY_JUMBO_resolve @ do resolve now
-
-/* ------------------------------ */
- .balign 64
-.L_OP_FILLED_NEW_ARRAY_JUMBO: /* 0x105 */
-/* File: armv5te/OP_FILLED_NEW_ARRAY_JUMBO.S */
- /*
- * Create a new array with elements filled from registers.
- *
- * TODO: convert most of this into a common subroutine, shared with
- * OP_FILLED_NEW_ARRAY.S.
- */
- /* filled-new-array/jumbo {vCCCC..v(CCCC+BBBB-1)}, type@AAAAAAAA */
- ldr r3, [rSELF, #offThread_methodClassDex] @ r3<- pDvmDex
- FETCH(r0, 1) @ r0<- aaaa (lo)
- FETCH(r1, 2) @ r1<- AAAA (hi)
- ldr r3, [r3, #offDvmDex_pResClasses] @ r3<- pDvmDex->pResClasses
- orr r1, r0, r1, lsl #16 @ r1<- AAAAaaaa
- ldr r0, [r3, r1, lsl #2] @ r0<- resolved class
- EXPORT_PC() @ need for resolve and alloc
- cmp r0, #0 @ already resolved?
- bne .LOP_FILLED_NEW_ARRAY_JUMBO_continue @ yes, continue on
-8: ldr r3, [rSELF, #offThread_method] @ r3<- self->method
- mov r2, #0 @ r2<- false
- ldr r0, [r3, #offMethod_clazz] @ r0<- method->clazz
- bl dvmResolveClass @ r0<- call(clazz, ref)
- cmp r0, #0 @ got null?
- beq common_exceptionThrown @ yes, handle exception
- b .LOP_FILLED_NEW_ARRAY_JUMBO_continue
-
-/* ------------------------------ */
- .balign 64
-.L_OP_IGET_JUMBO: /* 0x106 */
-/* File: armv5te/OP_IGET_JUMBO.S */
- /*
- * Jumbo 32-bit instance field get.
- *
- * for: iget/jumbo, iget-object/jumbo, iget-boolean/jumbo, iget-byte/jumbo,
- * iget-char/jumbo, iget-short/jumbo
- */
- /* exop vBBBB, vCCCC, field@AAAAAAAA */
- FETCH(r1, 1) @ r1<- aaaa (lo)
- FETCH(r2, 2) @ r2<- AAAA (hi)
- FETCH(r0, 4) @ r0<- CCCC
- ldr r3, [rSELF, #offThread_methodClassDex] @ r3<- DvmDex
- orr r1, r1, r2, lsl #16 @ r1<- AAAAaaaa
- ldr r2, [r3, #offDvmDex_pResFields] @ r2<- pDvmDex->pResFields
- GET_VREG(r9, r0) @ r9<- fp[CCCC], the object pointer
- ldr r0, [r2, r1, lsl #2] @ r0<- resolved InstField ptr
- cmp r0, #0 @ is resolved entry null?
- bne .LOP_IGET_JUMBO_finish @ no, already resolved
-8: ldr r2, [rSELF, #offThread_method] @ r2<- current method
- EXPORT_PC() @ resolve() could throw
- ldr r0, [r2, #offMethod_clazz] @ r0<- method->clazz
- bl dvmResolveInstField @ r0<- resolved InstField ptr
- b .LOP_IGET_JUMBO_resolved @ resolved, continue
-
-/* ------------------------------ */
- .balign 64
-.L_OP_IGET_WIDE_JUMBO: /* 0x107 */
-/* File: armv5te/OP_IGET_WIDE_JUMBO.S */
- /*
- * Jumbo 64-bit instance field get.
- */
- /* iget-wide/jumbo vBBBB, vCCCC, field@AAAAAAAA */
- FETCH(r1, 1) @ r1<- aaaa (lo)
- FETCH(r2, 2) @ r2<- AAAA (hi)
- FETCH(r0, 4) @ r0<- CCCC
- ldr r3, [rSELF, #offThread_methodClassDex] @ r3<- DvmDex
- orr r1, r1, r2, lsl #16 @ r1<- AAAAaaaa
- ldr r2, [r3, #offDvmDex_pResFields] @ r2<- pResFields
- GET_VREG(r9, r0) @ r9<- fp[CCCC], the object pointer
- ldr r0, [r2, r1, lsl #2] @ r0<- resolved InstField ptr
- cmp r0, #0 @ is resolved entry null?
- bne .LOP_IGET_WIDE_JUMBO_finish @ no, already resolved
- ldr r2, [rSELF, #offThread_method] @ r2<- current method
- EXPORT_PC() @ resolve() could throw
- ldr r0, [r2, #offMethod_clazz] @ r0<- method->clazz
- bl dvmResolveInstField @ r0<- resolved InstField ptr
- b .LOP_IGET_WIDE_JUMBO_resolved @ resolved, continue
-
-/* ------------------------------ */
- .balign 64
-.L_OP_IGET_OBJECT_JUMBO: /* 0x108 */
-/* File: armv5te/OP_IGET_OBJECT_JUMBO.S */
-/* File: armv5te/OP_IGET_JUMBO.S */
- /*
- * Jumbo 32-bit instance field get.
- *
- * for: iget/jumbo, iget-object/jumbo, iget-boolean/jumbo, iget-byte/jumbo,
- * iget-char/jumbo, iget-short/jumbo
- */
- /* exop vBBBB, vCCCC, field@AAAAAAAA */
- FETCH(r1, 1) @ r1<- aaaa (lo)
- FETCH(r2, 2) @ r2<- AAAA (hi)
- FETCH(r0, 4) @ r0<- CCCC
- ldr r3, [rSELF, #offThread_methodClassDex] @ r3<- DvmDex
- orr r1, r1, r2, lsl #16 @ r1<- AAAAaaaa
- ldr r2, [r3, #offDvmDex_pResFields] @ r2<- pDvmDex->pResFields
- GET_VREG(r9, r0) @ r9<- fp[CCCC], the object pointer
- ldr r0, [r2, r1, lsl #2] @ r0<- resolved InstField ptr
- cmp r0, #0 @ is resolved entry null?
- bne .LOP_IGET_OBJECT_JUMBO_finish @ no, already resolved
-8: ldr r2, [rSELF, #offThread_method] @ r2<- current method
- EXPORT_PC() @ resolve() could throw
- ldr r0, [r2, #offMethod_clazz] @ r0<- method->clazz
- bl dvmResolveInstField @ r0<- resolved InstField ptr
- b .LOP_IGET_OBJECT_JUMBO_resolved @ resolved, continue
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_IGET_BOOLEAN_JUMBO: /* 0x109 */
-/* File: armv5te/OP_IGET_BOOLEAN_JUMBO.S */
-@include "armv5te/OP_IGET_JUMBO.S" { "load":"ldrb", "sqnum":"1" }
-/* File: armv5te/OP_IGET_JUMBO.S */
- /*
- * Jumbo 32-bit instance field get.
- *
- * for: iget/jumbo, iget-object/jumbo, iget-boolean/jumbo, iget-byte/jumbo,
- * iget-char/jumbo, iget-short/jumbo
- */
- /* exop vBBBB, vCCCC, field@AAAAAAAA */
- FETCH(r1, 1) @ r1<- aaaa (lo)
- FETCH(r2, 2) @ r2<- AAAA (hi)
- FETCH(r0, 4) @ r0<- CCCC
- ldr r3, [rSELF, #offThread_methodClassDex] @ r3<- DvmDex
- orr r1, r1, r2, lsl #16 @ r1<- AAAAaaaa
- ldr r2, [r3, #offDvmDex_pResFields] @ r2<- pDvmDex->pResFields
- GET_VREG(r9, r0) @ r9<- fp[CCCC], the object pointer
- ldr r0, [r2, r1, lsl #2] @ r0<- resolved InstField ptr
- cmp r0, #0 @ is resolved entry null?
- bne .LOP_IGET_BOOLEAN_JUMBO_finish @ no, already resolved
-8: ldr r2, [rSELF, #offThread_method] @ r2<- current method
- EXPORT_PC() @ resolve() could throw
- ldr r0, [r2, #offMethod_clazz] @ r0<- method->clazz
- bl dvmResolveInstField @ r0<- resolved InstField ptr
- b .LOP_IGET_BOOLEAN_JUMBO_resolved @ resolved, continue
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_IGET_BYTE_JUMBO: /* 0x10a */
-/* File: armv5te/OP_IGET_BYTE_JUMBO.S */
-@include "armv5te/OP_IGET_JUMBO.S" { "load":"ldrsb", "sqnum":"2" }
-/* File: armv5te/OP_IGET_JUMBO.S */
- /*
- * Jumbo 32-bit instance field get.
- *
- * for: iget/jumbo, iget-object/jumbo, iget-boolean/jumbo, iget-byte/jumbo,
- * iget-char/jumbo, iget-short/jumbo
- */
- /* exop vBBBB, vCCCC, field@AAAAAAAA */
- FETCH(r1, 1) @ r1<- aaaa (lo)
- FETCH(r2, 2) @ r2<- AAAA (hi)
- FETCH(r0, 4) @ r0<- CCCC
- ldr r3, [rSELF, #offThread_methodClassDex] @ r3<- DvmDex
- orr r1, r1, r2, lsl #16 @ r1<- AAAAaaaa
- ldr r2, [r3, #offDvmDex_pResFields] @ r2<- pDvmDex->pResFields
- GET_VREG(r9, r0) @ r9<- fp[CCCC], the object pointer
- ldr r0, [r2, r1, lsl #2] @ r0<- resolved InstField ptr
- cmp r0, #0 @ is resolved entry null?
- bne .LOP_IGET_BYTE_JUMBO_finish @ no, already resolved
-8: ldr r2, [rSELF, #offThread_method] @ r2<- current method
- EXPORT_PC() @ resolve() could throw
- ldr r0, [r2, #offMethod_clazz] @ r0<- method->clazz
- bl dvmResolveInstField @ r0<- resolved InstField ptr
- b .LOP_IGET_BYTE_JUMBO_resolved @ resolved, continue
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_IGET_CHAR_JUMBO: /* 0x10b */
-/* File: armv5te/OP_IGET_CHAR_JUMBO.S */
-@include "armv5te/OP_IGET_JUMBO.S" { "load":"ldrh", "sqnum":"3" }
-/* File: armv5te/OP_IGET_JUMBO.S */
- /*
- * Jumbo 32-bit instance field get.
- *
- * for: iget/jumbo, iget-object/jumbo, iget-boolean/jumbo, iget-byte/jumbo,
- * iget-char/jumbo, iget-short/jumbo
- */
- /* exop vBBBB, vCCCC, field@AAAAAAAA */
- FETCH(r1, 1) @ r1<- aaaa (lo)
- FETCH(r2, 2) @ r2<- AAAA (hi)
- FETCH(r0, 4) @ r0<- CCCC
- ldr r3, [rSELF, #offThread_methodClassDex] @ r3<- DvmDex
- orr r1, r1, r2, lsl #16 @ r1<- AAAAaaaa
- ldr r2, [r3, #offDvmDex_pResFields] @ r2<- pDvmDex->pResFields
- GET_VREG(r9, r0) @ r9<- fp[CCCC], the object pointer
- ldr r0, [r2, r1, lsl #2] @ r0<- resolved InstField ptr
- cmp r0, #0 @ is resolved entry null?
- bne .LOP_IGET_CHAR_JUMBO_finish @ no, already resolved
-8: ldr r2, [rSELF, #offThread_method] @ r2<- current method
- EXPORT_PC() @ resolve() could throw
- ldr r0, [r2, #offMethod_clazz] @ r0<- method->clazz
- bl dvmResolveInstField @ r0<- resolved InstField ptr
- b .LOP_IGET_CHAR_JUMBO_resolved @ resolved, continue
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_IGET_SHORT_JUMBO: /* 0x10c */
-/* File: armv5te/OP_IGET_SHORT_JUMBO.S */
-@include "armv5te/OP_IGET_JUMBO.S" { "load":"ldrsh", "sqnum":"4" }
-/* File: armv5te/OP_IGET_JUMBO.S */
- /*
- * Jumbo 32-bit instance field get.
- *
- * for: iget/jumbo, iget-object/jumbo, iget-boolean/jumbo, iget-byte/jumbo,
- * iget-char/jumbo, iget-short/jumbo
- */
- /* exop vBBBB, vCCCC, field@AAAAAAAA */
- FETCH(r1, 1) @ r1<- aaaa (lo)
- FETCH(r2, 2) @ r2<- AAAA (hi)
- FETCH(r0, 4) @ r0<- CCCC
- ldr r3, [rSELF, #offThread_methodClassDex] @ r3<- DvmDex
- orr r1, r1, r2, lsl #16 @ r1<- AAAAaaaa
- ldr r2, [r3, #offDvmDex_pResFields] @ r2<- pDvmDex->pResFields
- GET_VREG(r9, r0) @ r9<- fp[CCCC], the object pointer
- ldr r0, [r2, r1, lsl #2] @ r0<- resolved InstField ptr
- cmp r0, #0 @ is resolved entry null?
- bne .LOP_IGET_SHORT_JUMBO_finish @ no, already resolved
-8: ldr r2, [rSELF, #offThread_method] @ r2<- current method
- EXPORT_PC() @ resolve() could throw
- ldr r0, [r2, #offMethod_clazz] @ r0<- method->clazz
- bl dvmResolveInstField @ r0<- resolved InstField ptr
- b .LOP_IGET_SHORT_JUMBO_resolved @ resolved, continue
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_IPUT_JUMBO: /* 0x10d */
-/* File: armv5te/OP_IPUT_JUMBO.S */
- /*
- * Jumbo 32-bit instance field put.
- *
- * for: iput/jumbo, iput-boolean/jumbo, iput-byte/jumbo, iput-char/jumbo,
- * iput-short/jumbo
- */
- /* exop vBBBB, vCCCC, field@AAAAAAAA */
- FETCH(r1, 1) @ r1<- aaaa (lo)
- FETCH(r2, 2) @ r2<- AAAA (hi)
- FETCH(r0, 4) @ r0<- CCCC
- ldr r3, [rSELF, #offThread_methodClassDex] @ r3<- DvmDex
- orr r1, r1, r2, lsl #16 @ r1<- AAAAaaaa
- ldr r2, [r3, #offDvmDex_pResFields] @ r2<- pDvmDex->pResFields
- GET_VREG(r9, r0) @ r9<- fp[CCCC], the object pointer
- ldr r0, [r2, r1, lsl #2] @ r0<- resolved InstField ptr
- cmp r0, #0 @ is resolved entry null?
- bne .LOP_IPUT_JUMBO_finish @ no, already resolved
-8: ldr r2, [rSELF, #offThread_method] @ r2<- current method
- EXPORT_PC() @ resolve() could throw
- ldr r0, [r2, #offMethod_clazz] @ r0<- method->clazz
- bl dvmResolveInstField @ r0<- resolved InstField ptr
- b .LOP_IPUT_JUMBO_resolved @ resolved, continue
-
-/* ------------------------------ */
- .balign 64
-.L_OP_IPUT_WIDE_JUMBO: /* 0x10e */
-/* File: armv5te/OP_IPUT_WIDE_JUMBO.S */
- /* iput-wide/jumbo vBBBB, vCCCC, field@AAAAAAAA */
- FETCH(r1, 1) @ r1<- aaaa (lo)
- FETCH(r2, 2) @ r2<- AAAA (hi)
- FETCH(r0, 4) @ r0<- CCCC
- ldr r3, [rSELF, #offThread_methodClassDex] @ r3<- DvmDex
- orr r1, r1, r2, lsl #16 @ r1<- AAAAaaaa
- ldr r2, [r3, #offDvmDex_pResFields] @ r2<- pResFields
- GET_VREG(r9, r0) @ r9<- fp[B], the object pointer
- ldr r0, [r2, r1, lsl #2] @ r0<- resolved InstField ptr
- cmp r0, #0 @ is resolved entry null?
- bne .LOP_IPUT_WIDE_JUMBO_finish @ no, already resolved
-8: ldr r2, [rSELF, #offThread_method] @ r2<- current method
- EXPORT_PC() @ resolve() could throw
- ldr r0, [r2, #offMethod_clazz] @ r0<- method->clazz
- bl dvmResolveInstField @ r0<- resolved InstField ptr
- b .LOP_IPUT_WIDE_JUMBO_resolved @ resolved, continue
-
-/* ------------------------------ */
- .balign 64
-.L_OP_IPUT_OBJECT_JUMBO: /* 0x10f */
-/* File: armv5te/OP_IPUT_OBJECT_JUMBO.S */
- /*
- * Jumbo 32-bit instance field put.
- */
- /* iput-object/jumbo vBBBB, vCCCC, field@AAAAAAAA */
- FETCH(r1, 1) @ r1<- aaaa (lo)
- FETCH(r2, 2) @ r2<- AAAA (hi)
- FETCH(r0, 4) @ r0<- CCCC
- ldr r3, [rSELF, #offThread_methodClassDex] @ r3<- DvmDex
- orr r1, r1, r2, lsl #16 @ r1<- AAAAaaaa
- ldr r2, [r3, #offDvmDex_pResFields] @ r2<- pDvmDex->pResFields
- GET_VREG(r9, r0) @ r9<- fp[CCCC], the object pointer
- ldr r0, [r2, r1, lsl #2] @ r0<- resolved InstField ptr
- cmp r0, #0 @ is resolved entry null?
- bne .LOP_IPUT_OBJECT_JUMBO_finish @ no, already resolved
-8: ldr r2, [rSELF, #offThread_method] @ r2<- current method
- EXPORT_PC() @ resolve() could throw
- ldr r0, [r2, #offMethod_clazz] @ r0<- method->clazz
- bl dvmResolveInstField @ r0<- resolved InstField ptr
- b .LOP_IPUT_OBJECT_JUMBO_resolved @ resolved, continue
-
-/* ------------------------------ */
- .balign 64
-.L_OP_IPUT_BOOLEAN_JUMBO: /* 0x110 */
-/* File: armv5te/OP_IPUT_BOOLEAN_JUMBO.S */
-@include "armv5te/OP_IPUT_JUMBO.S" { "store":"strb", "sqnum":"1" }
-/* File: armv5te/OP_IPUT_JUMBO.S */
- /*
- * Jumbo 32-bit instance field put.
- *
- * for: iput/jumbo, iput-boolean/jumbo, iput-byte/jumbo, iput-char/jumbo,
- * iput-short/jumbo
- */
- /* exop vBBBB, vCCCC, field@AAAAAAAA */
- FETCH(r1, 1) @ r1<- aaaa (lo)
- FETCH(r2, 2) @ r2<- AAAA (hi)
- FETCH(r0, 4) @ r0<- CCCC
- ldr r3, [rSELF, #offThread_methodClassDex] @ r3<- DvmDex
- orr r1, r1, r2, lsl #16 @ r1<- AAAAaaaa
- ldr r2, [r3, #offDvmDex_pResFields] @ r2<- pDvmDex->pResFields
- GET_VREG(r9, r0) @ r9<- fp[CCCC], the object pointer
- ldr r0, [r2, r1, lsl #2] @ r0<- resolved InstField ptr
- cmp r0, #0 @ is resolved entry null?
- bne .LOP_IPUT_BOOLEAN_JUMBO_finish @ no, already resolved
-8: ldr r2, [rSELF, #offThread_method] @ r2<- current method
- EXPORT_PC() @ resolve() could throw
- ldr r0, [r2, #offMethod_clazz] @ r0<- method->clazz
- bl dvmResolveInstField @ r0<- resolved InstField ptr
- b .LOP_IPUT_BOOLEAN_JUMBO_resolved @ resolved, continue
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_IPUT_BYTE_JUMBO: /* 0x111 */
-/* File: armv5te/OP_IPUT_BYTE_JUMBO.S */
-@include "armv5te/OP_IPUT_JUMBO.S" { "store":"strb", "sqnum":"2" }
-/* File: armv5te/OP_IPUT_JUMBO.S */
- /*
- * Jumbo 32-bit instance field put.
- *
- * for: iput/jumbo, iput-boolean/jumbo, iput-byte/jumbo, iput-char/jumbo,
- * iput-short/jumbo
- */
- /* exop vBBBB, vCCCC, field@AAAAAAAA */
- FETCH(r1, 1) @ r1<- aaaa (lo)
- FETCH(r2, 2) @ r2<- AAAA (hi)
- FETCH(r0, 4) @ r0<- CCCC
- ldr r3, [rSELF, #offThread_methodClassDex] @ r3<- DvmDex
- orr r1, r1, r2, lsl #16 @ r1<- AAAAaaaa
- ldr r2, [r3, #offDvmDex_pResFields] @ r2<- pDvmDex->pResFields
- GET_VREG(r9, r0) @ r9<- fp[CCCC], the object pointer
- ldr r0, [r2, r1, lsl #2] @ r0<- resolved InstField ptr
- cmp r0, #0 @ is resolved entry null?
- bne .LOP_IPUT_BYTE_JUMBO_finish @ no, already resolved
-8: ldr r2, [rSELF, #offThread_method] @ r2<- current method
- EXPORT_PC() @ resolve() could throw
- ldr r0, [r2, #offMethod_clazz] @ r0<- method->clazz
- bl dvmResolveInstField @ r0<- resolved InstField ptr
- b .LOP_IPUT_BYTE_JUMBO_resolved @ resolved, continue
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_IPUT_CHAR_JUMBO: /* 0x112 */
-/* File: armv5te/OP_IPUT_CHAR_JUMBO.S */
-@include "armv5te/OP_IPUT_JUMBO.S" { "store":"strh", "sqnum":"3" }
-/* File: armv5te/OP_IPUT_JUMBO.S */
- /*
- * Jumbo 32-bit instance field put.
- *
- * for: iput/jumbo, iput-boolean/jumbo, iput-byte/jumbo, iput-char/jumbo,
- * iput-short/jumbo
- */
- /* exop vBBBB, vCCCC, field@AAAAAAAA */
- FETCH(r1, 1) @ r1<- aaaa (lo)
- FETCH(r2, 2) @ r2<- AAAA (hi)
- FETCH(r0, 4) @ r0<- CCCC
- ldr r3, [rSELF, #offThread_methodClassDex] @ r3<- DvmDex
- orr r1, r1, r2, lsl #16 @ r1<- AAAAaaaa
- ldr r2, [r3, #offDvmDex_pResFields] @ r2<- pDvmDex->pResFields
- GET_VREG(r9, r0) @ r9<- fp[CCCC], the object pointer
- ldr r0, [r2, r1, lsl #2] @ r0<- resolved InstField ptr
- cmp r0, #0 @ is resolved entry null?
- bne .LOP_IPUT_CHAR_JUMBO_finish @ no, already resolved
-8: ldr r2, [rSELF, #offThread_method] @ r2<- current method
- EXPORT_PC() @ resolve() could throw
- ldr r0, [r2, #offMethod_clazz] @ r0<- method->clazz
- bl dvmResolveInstField @ r0<- resolved InstField ptr
- b .LOP_IPUT_CHAR_JUMBO_resolved @ resolved, continue
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_IPUT_SHORT_JUMBO: /* 0x113 */
-/* File: armv5te/OP_IPUT_SHORT_JUMBO.S */
-@include "armv5te/OP_IPUT_JUMBO.S" { "store":"strh", "sqnum":"4" }
-/* File: armv5te/OP_IPUT_JUMBO.S */
- /*
- * Jumbo 32-bit instance field put.
- *
- * for: iput/jumbo, iput-boolean/jumbo, iput-byte/jumbo, iput-char/jumbo,
- * iput-short/jumbo
- */
- /* exop vBBBB, vCCCC, field@AAAAAAAA */
- FETCH(r1, 1) @ r1<- aaaa (lo)
- FETCH(r2, 2) @ r2<- AAAA (hi)
- FETCH(r0, 4) @ r0<- CCCC
- ldr r3, [rSELF, #offThread_methodClassDex] @ r3<- DvmDex
- orr r1, r1, r2, lsl #16 @ r1<- AAAAaaaa
- ldr r2, [r3, #offDvmDex_pResFields] @ r2<- pDvmDex->pResFields
- GET_VREG(r9, r0) @ r9<- fp[CCCC], the object pointer
- ldr r0, [r2, r1, lsl #2] @ r0<- resolved InstField ptr
- cmp r0, #0 @ is resolved entry null?
- bne .LOP_IPUT_SHORT_JUMBO_finish @ no, already resolved
-8: ldr r2, [rSELF, #offThread_method] @ r2<- current method
- EXPORT_PC() @ resolve() could throw
- ldr r0, [r2, #offMethod_clazz] @ r0<- method->clazz
- bl dvmResolveInstField @ r0<- resolved InstField ptr
- b .LOP_IPUT_SHORT_JUMBO_resolved @ resolved, continue
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_SGET_JUMBO: /* 0x114 */
-/* File: armv5te/OP_SGET_JUMBO.S */
- /*
- * Jumbo 32-bit SGET handler.
- *
- * for: sget/jumbo, sget-object/jumbo, sget-boolean/jumbo, sget-byte/jumbo,
- * sget-char/jumbo, sget-short/jumbo
- */
- /* exop vBBBB, field@AAAAAAAA */
- ldr r2, [rSELF, #offThread_methodClassDex] @ r2<- DvmDex
- FETCH(r0, 1) @ r0<- aaaa (lo)
- FETCH(r1, 2) @ r1<- AAAA (hi)
- ldr r10, [r2, #offDvmDex_pResFields] @ r10<- dvmDex->pResFields
- orr r1, r0, r1, lsl #16 @ r1<- AAAAaaaa
- ldr r0, [r10, r1, lsl #2] @ r0<- resolved StaticField ptr
- cmp r0, #0 @ is resolved entry null?
- beq .LOP_SGET_JUMBO_resolve @ yes, do resolve
-.LOP_SGET_JUMBO_finish: @ field ptr in r0
- ldr r1, [r0, #offStaticField_value] @ r1<- field value
- @ no-op @ acquiring load
- FETCH(r2, 3) @ r2<- BBBB
- FETCH_ADVANCE_INST(4) @ advance rPC, load rINST
- SET_VREG(r1, r2) @ fp[BBBB]<- r1
- GET_INST_OPCODE(ip) @ extract opcode from rINST
- GOTO_OPCODE(ip) @ jump to next instruction
-
-/* ------------------------------ */
- .balign 64
-.L_OP_SGET_WIDE_JUMBO: /* 0x115 */
-/* File: armv5te/OP_SGET_WIDE_JUMBO.S */
- /*
- * Jumbo 64-bit SGET handler.
- */
- /* sget-wide/jumbo vBBBB, field@AAAAAAAA */
- ldr r2, [rSELF, #offThread_methodClassDex] @ r2<- DvmDex
- FETCH(r0, 1) @ r0<- aaaa (lo)
- FETCH(r1, 2) @ r1<- AAAA (hi)
- ldr r2, [r2, #offDvmDex_pResFields] @ r2<- dvmDex->pResFields
- orr r1, r0, r1, lsl #16 @ r1<- AAAAaaaa
- ldr r0, [r2, r1, lsl #2] @ r0<- resolved StaticField ptr
- cmp r0, #0 @ is resolved entry null?
- beq .LOP_SGET_WIDE_JUMBO_resolve @ yes, do resolve
-.LOP_SGET_WIDE_JUMBO_finish:
- FETCH(r9, 3) @ r9<- BBBB
- .if 0
- add r0, r0, #offStaticField_value @ r0<- pointer to data
- bl dvmQuasiAtomicRead64 @ r0/r1<- contents of field
- .else
- ldrd r0, [r0, #offStaticField_value] @ r0/r1<- field value (aligned)
- .endif
- add r9, rFP, r9, lsl #2 @ r9<- &fp[BBBB]
- FETCH_ADVANCE_INST(4) @ advance rPC, load rINST
- stmia r9, {r0-r1} @ vBBBB/vBBBB+1<- r0/r1
- GET_INST_OPCODE(ip) @ extract opcode from rINST
- GOTO_OPCODE(ip) @ jump to next instruction
-
-/* ------------------------------ */
- .balign 64
-.L_OP_SGET_OBJECT_JUMBO: /* 0x116 */
-/* File: armv5te/OP_SGET_OBJECT_JUMBO.S */
-/* File: armv5te/OP_SGET_JUMBO.S */
- /*
- * Jumbo 32-bit SGET handler.
- *
- * for: sget/jumbo, sget-object/jumbo, sget-boolean/jumbo, sget-byte/jumbo,
- * sget-char/jumbo, sget-short/jumbo
- */
- /* exop vBBBB, field@AAAAAAAA */
- ldr r2, [rSELF, #offThread_methodClassDex] @ r2<- DvmDex
- FETCH(r0, 1) @ r0<- aaaa (lo)
- FETCH(r1, 2) @ r1<- AAAA (hi)
- ldr r10, [r2, #offDvmDex_pResFields] @ r10<- dvmDex->pResFields
- orr r1, r0, r1, lsl #16 @ r1<- AAAAaaaa
- ldr r0, [r10, r1, lsl #2] @ r0<- resolved StaticField ptr
- cmp r0, #0 @ is resolved entry null?
- beq .LOP_SGET_OBJECT_JUMBO_resolve @ yes, do resolve
-.LOP_SGET_OBJECT_JUMBO_finish: @ field ptr in r0
- ldr r1, [r0, #offStaticField_value] @ r1<- field value
- @ no-op @ acquiring load
- FETCH(r2, 3) @ r2<- BBBB
- FETCH_ADVANCE_INST(4) @ advance rPC, load rINST
- SET_VREG(r1, r2) @ fp[BBBB]<- r1
- GET_INST_OPCODE(ip) @ extract opcode from rINST
- GOTO_OPCODE(ip) @ jump to next instruction
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_SGET_BOOLEAN_JUMBO: /* 0x117 */
-/* File: armv5te/OP_SGET_BOOLEAN_JUMBO.S */
-/* File: armv5te/OP_SGET_JUMBO.S */
- /*
- * Jumbo 32-bit SGET handler.
- *
- * for: sget/jumbo, sget-object/jumbo, sget-boolean/jumbo, sget-byte/jumbo,
- * sget-char/jumbo, sget-short/jumbo
- */
- /* exop vBBBB, field@AAAAAAAA */
- ldr r2, [rSELF, #offThread_methodClassDex] @ r2<- DvmDex
- FETCH(r0, 1) @ r0<- aaaa (lo)
- FETCH(r1, 2) @ r1<- AAAA (hi)
- ldr r10, [r2, #offDvmDex_pResFields] @ r10<- dvmDex->pResFields
- orr r1, r0, r1, lsl #16 @ r1<- AAAAaaaa
- ldr r0, [r10, r1, lsl #2] @ r0<- resolved StaticField ptr
- cmp r0, #0 @ is resolved entry null?
- beq .LOP_SGET_BOOLEAN_JUMBO_resolve @ yes, do resolve
-.LOP_SGET_BOOLEAN_JUMBO_finish: @ field ptr in r0
- ldr r1, [r0, #offStaticField_value] @ r1<- field value
- @ no-op @ acquiring load
- FETCH(r2, 3) @ r2<- BBBB
- FETCH_ADVANCE_INST(4) @ advance rPC, load rINST
- SET_VREG(r1, r2) @ fp[BBBB]<- r1
- GET_INST_OPCODE(ip) @ extract opcode from rINST
- GOTO_OPCODE(ip) @ jump to next instruction
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_SGET_BYTE_JUMBO: /* 0x118 */
-/* File: armv5te/OP_SGET_BYTE_JUMBO.S */
-/* File: armv5te/OP_SGET_JUMBO.S */
- /*
- * Jumbo 32-bit SGET handler.
- *
- * for: sget/jumbo, sget-object/jumbo, sget-boolean/jumbo, sget-byte/jumbo,
- * sget-char/jumbo, sget-short/jumbo
- */
- /* exop vBBBB, field@AAAAAAAA */
- ldr r2, [rSELF, #offThread_methodClassDex] @ r2<- DvmDex
- FETCH(r0, 1) @ r0<- aaaa (lo)
- FETCH(r1, 2) @ r1<- AAAA (hi)
- ldr r10, [r2, #offDvmDex_pResFields] @ r10<- dvmDex->pResFields
- orr r1, r0, r1, lsl #16 @ r1<- AAAAaaaa
- ldr r0, [r10, r1, lsl #2] @ r0<- resolved StaticField ptr
- cmp r0, #0 @ is resolved entry null?
- beq .LOP_SGET_BYTE_JUMBO_resolve @ yes, do resolve
-.LOP_SGET_BYTE_JUMBO_finish: @ field ptr in r0
- ldr r1, [r0, #offStaticField_value] @ r1<- field value
- @ no-op @ acquiring load
- FETCH(r2, 3) @ r2<- BBBB
- FETCH_ADVANCE_INST(4) @ advance rPC, load rINST
- SET_VREG(r1, r2) @ fp[BBBB]<- r1
- GET_INST_OPCODE(ip) @ extract opcode from rINST
- GOTO_OPCODE(ip) @ jump to next instruction
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_SGET_CHAR_JUMBO: /* 0x119 */
-/* File: armv5te/OP_SGET_CHAR_JUMBO.S */
-/* File: armv5te/OP_SGET_JUMBO.S */
- /*
- * Jumbo 32-bit SGET handler.
- *
- * for: sget/jumbo, sget-object/jumbo, sget-boolean/jumbo, sget-byte/jumbo,
- * sget-char/jumbo, sget-short/jumbo
- */
- /* exop vBBBB, field@AAAAAAAA */
- ldr r2, [rSELF, #offThread_methodClassDex] @ r2<- DvmDex
- FETCH(r0, 1) @ r0<- aaaa (lo)
- FETCH(r1, 2) @ r1<- AAAA (hi)
- ldr r10, [r2, #offDvmDex_pResFields] @ r10<- dvmDex->pResFields
- orr r1, r0, r1, lsl #16 @ r1<- AAAAaaaa
- ldr r0, [r10, r1, lsl #2] @ r0<- resolved StaticField ptr
- cmp r0, #0 @ is resolved entry null?
- beq .LOP_SGET_CHAR_JUMBO_resolve @ yes, do resolve
-.LOP_SGET_CHAR_JUMBO_finish: @ field ptr in r0
- ldr r1, [r0, #offStaticField_value] @ r1<- field value
- @ no-op @ acquiring load
- FETCH(r2, 3) @ r2<- BBBB
- FETCH_ADVANCE_INST(4) @ advance rPC, load rINST
- SET_VREG(r1, r2) @ fp[BBBB]<- r1
- GET_INST_OPCODE(ip) @ extract opcode from rINST
- GOTO_OPCODE(ip) @ jump to next instruction
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_SGET_SHORT_JUMBO: /* 0x11a */
-/* File: armv5te/OP_SGET_SHORT_JUMBO.S */
-/* File: armv5te/OP_SGET_JUMBO.S */
- /*
- * Jumbo 32-bit SGET handler.
- *
- * for: sget/jumbo, sget-object/jumbo, sget-boolean/jumbo, sget-byte/jumbo,
- * sget-char/jumbo, sget-short/jumbo
- */
- /* exop vBBBB, field@AAAAAAAA */
- ldr r2, [rSELF, #offThread_methodClassDex] @ r2<- DvmDex
- FETCH(r0, 1) @ r0<- aaaa (lo)
- FETCH(r1, 2) @ r1<- AAAA (hi)
- ldr r10, [r2, #offDvmDex_pResFields] @ r10<- dvmDex->pResFields
- orr r1, r0, r1, lsl #16 @ r1<- AAAAaaaa
- ldr r0, [r10, r1, lsl #2] @ r0<- resolved StaticField ptr
- cmp r0, #0 @ is resolved entry null?
- beq .LOP_SGET_SHORT_JUMBO_resolve @ yes, do resolve
-.LOP_SGET_SHORT_JUMBO_finish: @ field ptr in r0
- ldr r1, [r0, #offStaticField_value] @ r1<- field value
- @ no-op @ acquiring load
- FETCH(r2, 3) @ r2<- BBBB
- FETCH_ADVANCE_INST(4) @ advance rPC, load rINST
- SET_VREG(r1, r2) @ fp[BBBB]<- r1
- GET_INST_OPCODE(ip) @ extract opcode from rINST
- GOTO_OPCODE(ip) @ jump to next instruction
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_SPUT_JUMBO: /* 0x11b */
-/* File: armv5te/OP_SPUT_JUMBO.S */
- /*
- * Jumbo 32-bit SPUT handler.
- *
- * for: sput/jumbo, sput-boolean/jumbo, sput-byte/jumbo, sput-char/jumbo,
- * sput-short/jumbo
- */
- /* exop vBBBB, field@AAAAAAAA */
- ldr r2, [rSELF, #offThread_methodClassDex] @ r2<- DvmDex
- FETCH(r0, 1) @ r0<- aaaa (lo)
- FETCH(r1, 2) @ r1<- AAAA (hi)
- ldr r10, [r2, #offDvmDex_pResFields] @ r10<- dvmDex->pResFields
- orr r1, r0, r1, lsl #16 @ r1<- AAAAaaaa
- ldr r0, [r10, r1, lsl #2] @ r0<- resolved StaticField ptr
- cmp r0, #0 @ is resolved entry null?
- beq .LOP_SPUT_JUMBO_resolve @ yes, do resolve
-.LOP_SPUT_JUMBO_finish: @ field ptr in r0
- FETCH(r2, 3) @ r2<- BBBB
- FETCH_ADVANCE_INST(4) @ advance rPC, load rINST
- GET_VREG(r1, r2) @ r1<- fp[BBBB]
- GET_INST_OPCODE(ip) @ extract opcode from rINST
- @ no-op @ releasing store
- str r1, [r0, #offStaticField_value] @ field<- vBBBB
- @ no-op
- GOTO_OPCODE(ip) @ jump to next instruction
-
-/* ------------------------------ */
- .balign 64
-.L_OP_SPUT_WIDE_JUMBO: /* 0x11c */
-/* File: armv5te/OP_SPUT_WIDE_JUMBO.S */
- /*
- * Jumbo 64-bit SPUT handler.
- */
- /* sput-wide/jumbo vBBBB, field@AAAAAAAA */
- ldr r0, [rSELF, #offThread_methodClassDex] @ r0<- DvmDex
- FETCH(r1, 1) @ r1<- aaaa (lo)
- FETCH(r2, 2) @ r2<- AAAA (hi)
- ldr r10, [r0, #offDvmDex_pResFields] @ r10<- dvmDex->pResFields
- orr r1, r1, r2, lsl #16 @ r1<- AAAAaaaa
- FETCH(r9, 3) @ r9<- BBBB
- ldr r2, [r10, r1, lsl #2] @ r2<- resolved StaticField ptr
- add r9, rFP, r9, lsl #2 @ r9<- &fp[BBBB]
- cmp r2, #0 @ is resolved entry null?
- beq .LOP_SPUT_WIDE_JUMBO_resolve @ yes, do resolve
-.LOP_SPUT_WIDE_JUMBO_finish: @ field ptr in r2, BBBB in r9
- FETCH_ADVANCE_INST(4) @ advance rPC, load rINST
- ldmia r9, {r0-r1} @ r0/r1<- vBBBB/vBBBB+1
- GET_INST_OPCODE(r10) @ extract opcode from rINST
- .if 0
- add r2, r2, #offStaticField_value @ r2<- pointer to data
- bl dvmQuasiAtomicSwap64Sync @ stores r0/r1 into addr r2
- .else
- strd r0, [r2, #offStaticField_value] @ field<- vBBBB/vBBBB+1
- .endif
- GOTO_OPCODE(r10) @ jump to next instruction
-
-/* ------------------------------ */
- .balign 64
-.L_OP_SPUT_OBJECT_JUMBO: /* 0x11d */
-/* File: armv5te/OP_SPUT_OBJECT_JUMBO.S */
- /*
- * Jumbo 32-bit SPUT handler for objects
- */
- /* sput-object/jumbo vBBBB, field@AAAAAAAA */
- ldr r2, [rSELF, #offThread_methodClassDex] @ r2<- DvmDex
- FETCH(r0, 1) @ r0<- aaaa (lo)
- FETCH(r1, 2) @ r1<- AAAA (hi)
- ldr r10, [r2, #offDvmDex_pResFields] @ r10<- dvmDex->pResFields
- orr r1, r0, r1, lsl #16 @ r1<- AAAAaaaa
- ldr r0, [r10, r1, lsl #2] @ r0<- resolved StaticField ptr
- cmp r0, #0 @ is resolved entry null?
- beq .LOP_SPUT_OBJECT_JUMBO_resolve @ yes, do resolve
-.LOP_SPUT_OBJECT_JUMBO_finish: @ field ptr in r0
- FETCH(r2, 3) @ r2<- BBBB
- FETCH_ADVANCE_INST(4) @ advance rPC, load rINST
- GET_VREG(r1, r2) @ r1<- fp[BBBB]
- ldr r2, [rSELF, #offThread_cardTable] @ r2<- card table base
- ldr r9, [r0, #offField_clazz] @ r9<- field->clazz
- GET_INST_OPCODE(ip) @ extract opcode from rINST
- @ no-op @ releasing store
- b .LOP_SPUT_OBJECT_JUMBO_end
-
-/* ------------------------------ */
- .balign 64
-.L_OP_SPUT_BOOLEAN_JUMBO: /* 0x11e */
-/* File: armv5te/OP_SPUT_BOOLEAN_JUMBO.S */
-/* File: armv5te/OP_SPUT_JUMBO.S */
- /*
- * Jumbo 32-bit SPUT handler.
- *
- * for: sput/jumbo, sput-boolean/jumbo, sput-byte/jumbo, sput-char/jumbo,
- * sput-short/jumbo
- */
- /* exop vBBBB, field@AAAAAAAA */
- ldr r2, [rSELF, #offThread_methodClassDex] @ r2<- DvmDex
- FETCH(r0, 1) @ r0<- aaaa (lo)
- FETCH(r1, 2) @ r1<- AAAA (hi)
- ldr r10, [r2, #offDvmDex_pResFields] @ r10<- dvmDex->pResFields
- orr r1, r0, r1, lsl #16 @ r1<- AAAAaaaa
- ldr r0, [r10, r1, lsl #2] @ r0<- resolved StaticField ptr
- cmp r0, #0 @ is resolved entry null?
- beq .LOP_SPUT_BOOLEAN_JUMBO_resolve @ yes, do resolve
-.LOP_SPUT_BOOLEAN_JUMBO_finish: @ field ptr in r0
- FETCH(r2, 3) @ r2<- BBBB
- FETCH_ADVANCE_INST(4) @ advance rPC, load rINST
- GET_VREG(r1, r2) @ r1<- fp[BBBB]
- GET_INST_OPCODE(ip) @ extract opcode from rINST
- @ no-op @ releasing store
- str r1, [r0, #offStaticField_value] @ field<- vBBBB
- @ no-op
- GOTO_OPCODE(ip) @ jump to next instruction
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_SPUT_BYTE_JUMBO: /* 0x11f */
-/* File: armv5te/OP_SPUT_BYTE_JUMBO.S */
-/* File: armv5te/OP_SPUT_JUMBO.S */
- /*
- * Jumbo 32-bit SPUT handler.
- *
- * for: sput/jumbo, sput-boolean/jumbo, sput-byte/jumbo, sput-char/jumbo,
- * sput-short/jumbo
- */
- /* exop vBBBB, field@AAAAAAAA */
- ldr r2, [rSELF, #offThread_methodClassDex] @ r2<- DvmDex
- FETCH(r0, 1) @ r0<- aaaa (lo)
- FETCH(r1, 2) @ r1<- AAAA (hi)
- ldr r10, [r2, #offDvmDex_pResFields] @ r10<- dvmDex->pResFields
- orr r1, r0, r1, lsl #16 @ r1<- AAAAaaaa
- ldr r0, [r10, r1, lsl #2] @ r0<- resolved StaticField ptr
- cmp r0, #0 @ is resolved entry null?
- beq .LOP_SPUT_BYTE_JUMBO_resolve @ yes, do resolve
-.LOP_SPUT_BYTE_JUMBO_finish: @ field ptr in r0
- FETCH(r2, 3) @ r2<- BBBB
- FETCH_ADVANCE_INST(4) @ advance rPC, load rINST
- GET_VREG(r1, r2) @ r1<- fp[BBBB]
- GET_INST_OPCODE(ip) @ extract opcode from rINST
- @ no-op @ releasing store
- str r1, [r0, #offStaticField_value] @ field<- vBBBB
- @ no-op
- GOTO_OPCODE(ip) @ jump to next instruction
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_SPUT_CHAR_JUMBO: /* 0x120 */
-/* File: armv5te/OP_SPUT_CHAR_JUMBO.S */
-/* File: armv5te/OP_SPUT_JUMBO.S */
- /*
- * Jumbo 32-bit SPUT handler.
- *
- * for: sput/jumbo, sput-boolean/jumbo, sput-byte/jumbo, sput-char/jumbo,
- * sput-short/jumbo
- */
- /* exop vBBBB, field@AAAAAAAA */
- ldr r2, [rSELF, #offThread_methodClassDex] @ r2<- DvmDex
- FETCH(r0, 1) @ r0<- aaaa (lo)
- FETCH(r1, 2) @ r1<- AAAA (hi)
- ldr r10, [r2, #offDvmDex_pResFields] @ r10<- dvmDex->pResFields
- orr r1, r0, r1, lsl #16 @ r1<- AAAAaaaa
- ldr r0, [r10, r1, lsl #2] @ r0<- resolved StaticField ptr
- cmp r0, #0 @ is resolved entry null?
- beq .LOP_SPUT_CHAR_JUMBO_resolve @ yes, do resolve
-.LOP_SPUT_CHAR_JUMBO_finish: @ field ptr in r0
- FETCH(r2, 3) @ r2<- BBBB
- FETCH_ADVANCE_INST(4) @ advance rPC, load rINST
- GET_VREG(r1, r2) @ r1<- fp[BBBB]
- GET_INST_OPCODE(ip) @ extract opcode from rINST
- @ no-op @ releasing store
- str r1, [r0, #offStaticField_value] @ field<- vBBBB
- @ no-op
- GOTO_OPCODE(ip) @ jump to next instruction
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_SPUT_SHORT_JUMBO: /* 0x121 */
-/* File: armv5te/OP_SPUT_SHORT_JUMBO.S */
-/* File: armv5te/OP_SPUT_JUMBO.S */
- /*
- * Jumbo 32-bit SPUT handler.
- *
- * for: sput/jumbo, sput-boolean/jumbo, sput-byte/jumbo, sput-char/jumbo,
- * sput-short/jumbo
- */
- /* exop vBBBB, field@AAAAAAAA */
- ldr r2, [rSELF, #offThread_methodClassDex] @ r2<- DvmDex
- FETCH(r0, 1) @ r0<- aaaa (lo)
- FETCH(r1, 2) @ r1<- AAAA (hi)
- ldr r10, [r2, #offDvmDex_pResFields] @ r10<- dvmDex->pResFields
- orr r1, r0, r1, lsl #16 @ r1<- AAAAaaaa
- ldr r0, [r10, r1, lsl #2] @ r0<- resolved StaticField ptr
- cmp r0, #0 @ is resolved entry null?
- beq .LOP_SPUT_SHORT_JUMBO_resolve @ yes, do resolve
-.LOP_SPUT_SHORT_JUMBO_finish: @ field ptr in r0
- FETCH(r2, 3) @ r2<- BBBB
- FETCH_ADVANCE_INST(4) @ advance rPC, load rINST
- GET_VREG(r1, r2) @ r1<- fp[BBBB]
- GET_INST_OPCODE(ip) @ extract opcode from rINST
- @ no-op @ releasing store
- str r1, [r0, #offStaticField_value] @ field<- vBBBB
- @ no-op
- GOTO_OPCODE(ip) @ jump to next instruction
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_INVOKE_VIRTUAL_JUMBO: /* 0x122 */
-/* File: armv5te/OP_INVOKE_VIRTUAL_JUMBO.S */
- /*
- * Handle a virtual method call.
- */
- /* invoke-virtual/jumbo {vCCCC..v(CCCC+BBBB-1)}, meth@AAAAAAAA */
- ldr r3, [rSELF, #offThread_methodClassDex] @ r3<- pDvmDex
- FETCH(r0, 1) @ r1<- aaaa (lo)
- FETCH(r1, 2) @ r1<- AAAA (hi)
- ldr r3, [r3, #offDvmDex_pResMethods] @ r3<- pDvmDex->pResMethods
- orr r1, r0, r1, lsl #16 @ r1<- AAAAaaaa
- ldr r0, [r3, r1, lsl #2] @ r0<- resolved baseMethod
- cmp r0, #0 @ already resolved?
- EXPORT_PC() @ must export for invoke
- bne .LOP_INVOKE_VIRTUAL_JUMBO_continue @ yes, continue on
- ldr r3, [rSELF, #offThread_method] @ r3<- self->method
- ldr r0, [r3, #offMethod_clazz] @ r0<- method->clazz
- mov r2, #METHOD_VIRTUAL @ resolver method type
- bl dvmResolveMethod @ r0<- call(clazz, ref, flags)
- cmp r0, #0 @ got null?
- bne .LOP_INVOKE_VIRTUAL_JUMBO_continue @ no, continue
- b common_exceptionThrown @ yes, handle exception
-
-/* ------------------------------ */
- .balign 64
-.L_OP_INVOKE_SUPER_JUMBO: /* 0x123 */
-/* File: armv5te/OP_INVOKE_SUPER_JUMBO.S */
- /*
- * Handle a "super" method call.
- */
- /* invoke-super/jumbo {vCCCC..v(CCCC+BBBB-1)}, meth@AAAAAAAA */
- FETCH(r10, 4) @ r10<- CCCC
- ldr r3, [rSELF, #offThread_methodClassDex] @ r3<- pDvmDex
- FETCH(r0, 1) @ r1<- aaaa (lo)
- FETCH(r1, 2) @ r1<- AAAA (hi)
- ldr r3, [r3, #offDvmDex_pResMethods] @ r3<- pDvmDex->pResMethods
- orr r1, r0, r1, lsl #16 @ r1<- AAAAaaaa
- GET_VREG(r9, r10) @ r9<- "this" ptr
- ldr r0, [r3, r1, lsl #2] @ r0<- resolved baseMethod
- cmp r9, #0 @ null "this"?
- ldr r10, [rSELF, #offThread_method] @ r10<- current method
- beq common_errNullObject @ null "this", throw exception
- cmp r0, #0 @ already resolved?
- ldr r10, [r10, #offMethod_clazz] @ r10<- method->clazz
- EXPORT_PC() @ must export for invoke
- bne .LOP_INVOKE_SUPER_JUMBO_continue @ resolved, continue on
- b .LOP_INVOKE_SUPER_JUMBO_resolve @ do resolve now
-
-/* ------------------------------ */
- .balign 64
-.L_OP_INVOKE_DIRECT_JUMBO: /* 0x124 */
-/* File: armv5te/OP_INVOKE_DIRECT_JUMBO.S */
- /*
- * Handle a direct method call.
- *
- * (We could defer the "is 'this' pointer null" test to the common
- * method invocation code, and use a flag to indicate that static
- * calls don't count. If we do this as part of copying the arguments
- * out we could avoiding loading the first arg twice.)
- *
- */
- /* invoke-direct/jumbo {vCCCC..v(CCCC+BBBB-1)}, meth@AAAAAAAA */
- ldr r3, [rSELF, #offThread_methodClassDex] @ r3<- pDvmDex
- FETCH(r0, 1) @ r1<- aaaa (lo)
- FETCH(r1, 2) @ r1<- AAAA (hi)
- ldr r3, [r3, #offDvmDex_pResMethods] @ r3<- pDvmDex->pResMethods
- orr r1, r0, r1, lsl #16 @ r1<- AAAAaaaa
- FETCH(r10, 4) @ r10<- CCCC
- ldr r0, [r3, r1, lsl #2] @ r0<- resolved methodToCall
- cmp r0, #0 @ already resolved?
- EXPORT_PC() @ must export for invoke
- GET_VREG(r9, r10) @ r9<- "this" ptr
- beq .LOP_INVOKE_DIRECT_JUMBO_resolve @ not resolved, do it now
-.LOP_INVOKE_DIRECT_JUMBO_finish:
- cmp r9, #0 @ null "this" ref?
- bne common_invokeMethodJumbo @ (r0=method, r9="this")
- b common_errNullObject @ yes, throw exception
-
-/* ------------------------------ */
- .balign 64
-.L_OP_INVOKE_STATIC_JUMBO: /* 0x125 */
-/* File: armv5te/OP_INVOKE_STATIC_JUMBO.S */
- /*
- * Handle a static method call.
- */
- /* invoke-static/jumbo {vCCCC..v(CCCC+BBBB-1)}, meth@AAAAAAAA */
- ldr r3, [rSELF, #offThread_methodClassDex] @ r3<- pDvmDex
- FETCH(r0, 1) @ r1<- aaaa (lo)
- FETCH(r1, 2) @ r1<- AAAA (hi)
- ldr r3, [r3, #offDvmDex_pResMethods] @ r3<- pDvmDex->pResMethods
- orr r1, r0, r1, lsl #16 @ r1<- AAAAaaaa
- ldr r0, [r3, r1, lsl #2] @ r0<- resolved methodToCall
-#if defined(WITH_JIT)
- add r10, r3, r1, lsl #2 @ r10<- &resolved_methodToCall
-#endif
- cmp r0, #0 @ already resolved?
- EXPORT_PC() @ must export for invoke
- bne common_invokeMethodJumboNoThis @ (r0=method)
- b .LOP_INVOKE_STATIC_JUMBO_resolve
-
-/* ------------------------------ */
- .balign 64
-.L_OP_INVOKE_INTERFACE_JUMBO: /* 0x126 */
-/* File: armv5te/OP_INVOKE_INTERFACE_JUMBO.S */
- /*
- * Handle an interface method call.
- */
- /* invoke-interface/jumbo {vCCCC..v(CCCC+BBBB-1)}, meth@AAAAAAAA */
- FETCH(r2, 4) @ r2<- CCCC
- FETCH(r0, 1) @ r0<- aaaa (lo)
- FETCH(r1, 2) @ r1<- AAAA (hi)
- EXPORT_PC() @ must export for invoke
- orr r1, r0, r1, lsl #16 @ r1<- AAAAaaaa
- GET_VREG(r9, r2) @ r9<- first arg ("this")
- ldr r3, [rSELF, #offThread_methodClassDex] @ r3<- methodClassDex
- cmp r9, #0 @ null obj?
- ldr r2, [rSELF, #offThread_method] @ r2<- method
- beq common_errNullObject @ yes, fail
- ldr r0, [r9, #offObject_clazz] @ r0<- thisPtr->clazz
- bl dvmFindInterfaceMethodInCache @ r0<- call(class, ref, method, dex)
- cmp r0, #0 @ failed?
- beq common_exceptionThrown @ yes, handle exception
- b common_invokeMethodJumbo @ (r0=method, r9="this")
-
-/* ------------------------------ */
- .balign 64
-.L_OP_UNUSED_27FF: /* 0x127 */
-/* File: armv5te/OP_UNUSED_27FF.S */
-/* File: armv5te/unused.S */
- bl common_abort
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_UNUSED_28FF: /* 0x128 */
-/* File: armv5te/OP_UNUSED_28FF.S */
-/* File: armv5te/unused.S */
- bl common_abort
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_UNUSED_29FF: /* 0x129 */
-/* File: armv5te/OP_UNUSED_29FF.S */
-/* File: armv5te/unused.S */
- bl common_abort
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_UNUSED_2AFF: /* 0x12a */
-/* File: armv5te/OP_UNUSED_2AFF.S */
-/* File: armv5te/unused.S */
- bl common_abort
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_UNUSED_2BFF: /* 0x12b */
-/* File: armv5te/OP_UNUSED_2BFF.S */
-/* File: armv5te/unused.S */
- bl common_abort
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_UNUSED_2CFF: /* 0x12c */
-/* File: armv5te/OP_UNUSED_2CFF.S */
-/* File: armv5te/unused.S */
- bl common_abort
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_UNUSED_2DFF: /* 0x12d */
-/* File: armv5te/OP_UNUSED_2DFF.S */
-/* File: armv5te/unused.S */
- bl common_abort
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_UNUSED_2EFF: /* 0x12e */
-/* File: armv5te/OP_UNUSED_2EFF.S */
-/* File: armv5te/unused.S */
- bl common_abort
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_UNUSED_2FFF: /* 0x12f */
-/* File: armv5te/OP_UNUSED_2FFF.S */
-/* File: armv5te/unused.S */
- bl common_abort
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_UNUSED_30FF: /* 0x130 */
-/* File: armv5te/OP_UNUSED_30FF.S */
-/* File: armv5te/unused.S */
- bl common_abort
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_UNUSED_31FF: /* 0x131 */
-/* File: armv5te/OP_UNUSED_31FF.S */
-/* File: armv5te/unused.S */
- bl common_abort
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_UNUSED_32FF: /* 0x132 */
-/* File: armv5te/OP_UNUSED_32FF.S */
-/* File: armv5te/unused.S */
- bl common_abort
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_UNUSED_33FF: /* 0x133 */
-/* File: armv5te/OP_UNUSED_33FF.S */
-/* File: armv5te/unused.S */
- bl common_abort
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_UNUSED_34FF: /* 0x134 */
-/* File: armv5te/OP_UNUSED_34FF.S */
-/* File: armv5te/unused.S */
- bl common_abort
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_UNUSED_35FF: /* 0x135 */
-/* File: armv5te/OP_UNUSED_35FF.S */
-/* File: armv5te/unused.S */
- bl common_abort
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_UNUSED_36FF: /* 0x136 */
-/* File: armv5te/OP_UNUSED_36FF.S */
-/* File: armv5te/unused.S */
- bl common_abort
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_UNUSED_37FF: /* 0x137 */
-/* File: armv5te/OP_UNUSED_37FF.S */
-/* File: armv5te/unused.S */
- bl common_abort
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_UNUSED_38FF: /* 0x138 */
-/* File: armv5te/OP_UNUSED_38FF.S */
-/* File: armv5te/unused.S */
- bl common_abort
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_UNUSED_39FF: /* 0x139 */
-/* File: armv5te/OP_UNUSED_39FF.S */
-/* File: armv5te/unused.S */
- bl common_abort
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_UNUSED_3AFF: /* 0x13a */
-/* File: armv5te/OP_UNUSED_3AFF.S */
-/* File: armv5te/unused.S */
- bl common_abort
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_UNUSED_3BFF: /* 0x13b */
-/* File: armv5te/OP_UNUSED_3BFF.S */
-/* File: armv5te/unused.S */
- bl common_abort
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_UNUSED_3CFF: /* 0x13c */
-/* File: armv5te/OP_UNUSED_3CFF.S */
-/* File: armv5te/unused.S */
- bl common_abort
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_UNUSED_3DFF: /* 0x13d */
-/* File: armv5te/OP_UNUSED_3DFF.S */
-/* File: armv5te/unused.S */
- bl common_abort
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_UNUSED_3EFF: /* 0x13e */
-/* File: armv5te/OP_UNUSED_3EFF.S */
-/* File: armv5te/unused.S */
- bl common_abort
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_UNUSED_3FFF: /* 0x13f */
-/* File: armv5te/OP_UNUSED_3FFF.S */
-/* File: armv5te/unused.S */
- bl common_abort
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_UNUSED_40FF: /* 0x140 */
-/* File: armv5te/OP_UNUSED_40FF.S */
-/* File: armv5te/unused.S */
- bl common_abort
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_UNUSED_41FF: /* 0x141 */
-/* File: armv5te/OP_UNUSED_41FF.S */
-/* File: armv5te/unused.S */
- bl common_abort
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_UNUSED_42FF: /* 0x142 */
-/* File: armv5te/OP_UNUSED_42FF.S */
-/* File: armv5te/unused.S */
- bl common_abort
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_UNUSED_43FF: /* 0x143 */
-/* File: armv5te/OP_UNUSED_43FF.S */
-/* File: armv5te/unused.S */
- bl common_abort
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_UNUSED_44FF: /* 0x144 */
-/* File: armv5te/OP_UNUSED_44FF.S */
-/* File: armv5te/unused.S */
- bl common_abort
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_UNUSED_45FF: /* 0x145 */
-/* File: armv5te/OP_UNUSED_45FF.S */
-/* File: armv5te/unused.S */
- bl common_abort
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_UNUSED_46FF: /* 0x146 */
-/* File: armv5te/OP_UNUSED_46FF.S */
-/* File: armv5te/unused.S */
- bl common_abort
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_UNUSED_47FF: /* 0x147 */
-/* File: armv5te/OP_UNUSED_47FF.S */
-/* File: armv5te/unused.S */
- bl common_abort
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_UNUSED_48FF: /* 0x148 */
-/* File: armv5te/OP_UNUSED_48FF.S */
-/* File: armv5te/unused.S */
- bl common_abort
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_UNUSED_49FF: /* 0x149 */
-/* File: armv5te/OP_UNUSED_49FF.S */
-/* File: armv5te/unused.S */
- bl common_abort
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_UNUSED_4AFF: /* 0x14a */
-/* File: armv5te/OP_UNUSED_4AFF.S */
-/* File: armv5te/unused.S */
- bl common_abort
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_UNUSED_4BFF: /* 0x14b */
-/* File: armv5te/OP_UNUSED_4BFF.S */
-/* File: armv5te/unused.S */
- bl common_abort
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_UNUSED_4CFF: /* 0x14c */
-/* File: armv5te/OP_UNUSED_4CFF.S */
-/* File: armv5te/unused.S */
- bl common_abort
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_UNUSED_4DFF: /* 0x14d */
-/* File: armv5te/OP_UNUSED_4DFF.S */
-/* File: armv5te/unused.S */
- bl common_abort
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_UNUSED_4EFF: /* 0x14e */
-/* File: armv5te/OP_UNUSED_4EFF.S */
-/* File: armv5te/unused.S */
- bl common_abort
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_UNUSED_4FFF: /* 0x14f */
-/* File: armv5te/OP_UNUSED_4FFF.S */
-/* File: armv5te/unused.S */
- bl common_abort
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_UNUSED_50FF: /* 0x150 */
-/* File: armv5te/OP_UNUSED_50FF.S */
-/* File: armv5te/unused.S */
- bl common_abort
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_UNUSED_51FF: /* 0x151 */
-/* File: armv5te/OP_UNUSED_51FF.S */
-/* File: armv5te/unused.S */
- bl common_abort
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_UNUSED_52FF: /* 0x152 */
-/* File: armv5te/OP_UNUSED_52FF.S */
-/* File: armv5te/unused.S */
- bl common_abort
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_UNUSED_53FF: /* 0x153 */
-/* File: armv5te/OP_UNUSED_53FF.S */
-/* File: armv5te/unused.S */
- bl common_abort
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_UNUSED_54FF: /* 0x154 */
-/* File: armv5te/OP_UNUSED_54FF.S */
-/* File: armv5te/unused.S */
- bl common_abort
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_UNUSED_55FF: /* 0x155 */
-/* File: armv5te/OP_UNUSED_55FF.S */
-/* File: armv5te/unused.S */
- bl common_abort
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_UNUSED_56FF: /* 0x156 */
-/* File: armv5te/OP_UNUSED_56FF.S */
-/* File: armv5te/unused.S */
- bl common_abort
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_UNUSED_57FF: /* 0x157 */
-/* File: armv5te/OP_UNUSED_57FF.S */
-/* File: armv5te/unused.S */
- bl common_abort
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_UNUSED_58FF: /* 0x158 */
-/* File: armv5te/OP_UNUSED_58FF.S */
-/* File: armv5te/unused.S */
- bl common_abort
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_UNUSED_59FF: /* 0x159 */
-/* File: armv5te/OP_UNUSED_59FF.S */
-/* File: armv5te/unused.S */
- bl common_abort
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_UNUSED_5AFF: /* 0x15a */
-/* File: armv5te/OP_UNUSED_5AFF.S */
-/* File: armv5te/unused.S */
- bl common_abort
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_UNUSED_5BFF: /* 0x15b */
-/* File: armv5te/OP_UNUSED_5BFF.S */
-/* File: armv5te/unused.S */
- bl common_abort
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_UNUSED_5CFF: /* 0x15c */
-/* File: armv5te/OP_UNUSED_5CFF.S */
-/* File: armv5te/unused.S */
- bl common_abort
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_UNUSED_5DFF: /* 0x15d */
-/* File: armv5te/OP_UNUSED_5DFF.S */
-/* File: armv5te/unused.S */
- bl common_abort
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_UNUSED_5EFF: /* 0x15e */
-/* File: armv5te/OP_UNUSED_5EFF.S */
-/* File: armv5te/unused.S */
- bl common_abort
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_UNUSED_5FFF: /* 0x15f */
-/* File: armv5te/OP_UNUSED_5FFF.S */
-/* File: armv5te/unused.S */
- bl common_abort
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_UNUSED_60FF: /* 0x160 */
-/* File: armv5te/OP_UNUSED_60FF.S */
-/* File: armv5te/unused.S */
- bl common_abort
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_UNUSED_61FF: /* 0x161 */
-/* File: armv5te/OP_UNUSED_61FF.S */
-/* File: armv5te/unused.S */
- bl common_abort
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_UNUSED_62FF: /* 0x162 */
-/* File: armv5te/OP_UNUSED_62FF.S */
-/* File: armv5te/unused.S */
- bl common_abort
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_UNUSED_63FF: /* 0x163 */
-/* File: armv5te/OP_UNUSED_63FF.S */
-/* File: armv5te/unused.S */
- bl common_abort
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_UNUSED_64FF: /* 0x164 */
-/* File: armv5te/OP_UNUSED_64FF.S */
-/* File: armv5te/unused.S */
- bl common_abort
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_UNUSED_65FF: /* 0x165 */
-/* File: armv5te/OP_UNUSED_65FF.S */
-/* File: armv5te/unused.S */
- bl common_abort
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_UNUSED_66FF: /* 0x166 */
-/* File: armv5te/OP_UNUSED_66FF.S */
-/* File: armv5te/unused.S */
- bl common_abort
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_UNUSED_67FF: /* 0x167 */
-/* File: armv5te/OP_UNUSED_67FF.S */
-/* File: armv5te/unused.S */
- bl common_abort
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_UNUSED_68FF: /* 0x168 */
-/* File: armv5te/OP_UNUSED_68FF.S */
-/* File: armv5te/unused.S */
- bl common_abort
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_UNUSED_69FF: /* 0x169 */
-/* File: armv5te/OP_UNUSED_69FF.S */
-/* File: armv5te/unused.S */
- bl common_abort
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_UNUSED_6AFF: /* 0x16a */
-/* File: armv5te/OP_UNUSED_6AFF.S */
-/* File: armv5te/unused.S */
- bl common_abort
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_UNUSED_6BFF: /* 0x16b */
-/* File: armv5te/OP_UNUSED_6BFF.S */
-/* File: armv5te/unused.S */
- bl common_abort
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_UNUSED_6CFF: /* 0x16c */
-/* File: armv5te/OP_UNUSED_6CFF.S */
-/* File: armv5te/unused.S */
- bl common_abort
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_UNUSED_6DFF: /* 0x16d */
-/* File: armv5te/OP_UNUSED_6DFF.S */
-/* File: armv5te/unused.S */
- bl common_abort
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_UNUSED_6EFF: /* 0x16e */
-/* File: armv5te/OP_UNUSED_6EFF.S */
-/* File: armv5te/unused.S */
- bl common_abort
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_UNUSED_6FFF: /* 0x16f */
-/* File: armv5te/OP_UNUSED_6FFF.S */
-/* File: armv5te/unused.S */
- bl common_abort
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_UNUSED_70FF: /* 0x170 */
-/* File: armv5te/OP_UNUSED_70FF.S */
-/* File: armv5te/unused.S */
- bl common_abort
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_UNUSED_71FF: /* 0x171 */
-/* File: armv5te/OP_UNUSED_71FF.S */
-/* File: armv5te/unused.S */
- bl common_abort
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_UNUSED_72FF: /* 0x172 */
-/* File: armv5te/OP_UNUSED_72FF.S */
-/* File: armv5te/unused.S */
- bl common_abort
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_UNUSED_73FF: /* 0x173 */
-/* File: armv5te/OP_UNUSED_73FF.S */
-/* File: armv5te/unused.S */
- bl common_abort
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_UNUSED_74FF: /* 0x174 */
-/* File: armv5te/OP_UNUSED_74FF.S */
-/* File: armv5te/unused.S */
- bl common_abort
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_UNUSED_75FF: /* 0x175 */
-/* File: armv5te/OP_UNUSED_75FF.S */
-/* File: armv5te/unused.S */
- bl common_abort
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_UNUSED_76FF: /* 0x176 */
-/* File: armv5te/OP_UNUSED_76FF.S */
-/* File: armv5te/unused.S */
- bl common_abort
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_UNUSED_77FF: /* 0x177 */
-/* File: armv5te/OP_UNUSED_77FF.S */
-/* File: armv5te/unused.S */
- bl common_abort
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_UNUSED_78FF: /* 0x178 */
-/* File: armv5te/OP_UNUSED_78FF.S */
-/* File: armv5te/unused.S */
- bl common_abort
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_UNUSED_79FF: /* 0x179 */
-/* File: armv5te/OP_UNUSED_79FF.S */
-/* File: armv5te/unused.S */
- bl common_abort
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_UNUSED_7AFF: /* 0x17a */
-/* File: armv5te/OP_UNUSED_7AFF.S */
-/* File: armv5te/unused.S */
- bl common_abort
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_UNUSED_7BFF: /* 0x17b */
-/* File: armv5te/OP_UNUSED_7BFF.S */
-/* File: armv5te/unused.S */
- bl common_abort
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_UNUSED_7CFF: /* 0x17c */
-/* File: armv5te/OP_UNUSED_7CFF.S */
-/* File: armv5te/unused.S */
- bl common_abort
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_UNUSED_7DFF: /* 0x17d */
-/* File: armv5te/OP_UNUSED_7DFF.S */
-/* File: armv5te/unused.S */
- bl common_abort
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_UNUSED_7EFF: /* 0x17e */
-/* File: armv5te/OP_UNUSED_7EFF.S */
-/* File: armv5te/unused.S */
- bl common_abort
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_UNUSED_7FFF: /* 0x17f */
-/* File: armv5te/OP_UNUSED_7FFF.S */
-/* File: armv5te/unused.S */
- bl common_abort
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_UNUSED_80FF: /* 0x180 */
-/* File: armv5te/OP_UNUSED_80FF.S */
-/* File: armv5te/unused.S */
- bl common_abort
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_UNUSED_81FF: /* 0x181 */
-/* File: armv5te/OP_UNUSED_81FF.S */
-/* File: armv5te/unused.S */
- bl common_abort
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_UNUSED_82FF: /* 0x182 */
-/* File: armv5te/OP_UNUSED_82FF.S */
-/* File: armv5te/unused.S */
- bl common_abort
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_UNUSED_83FF: /* 0x183 */
-/* File: armv5te/OP_UNUSED_83FF.S */
-/* File: armv5te/unused.S */
- bl common_abort
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_UNUSED_84FF: /* 0x184 */
-/* File: armv5te/OP_UNUSED_84FF.S */
-/* File: armv5te/unused.S */
- bl common_abort
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_UNUSED_85FF: /* 0x185 */
-/* File: armv5te/OP_UNUSED_85FF.S */
-/* File: armv5te/unused.S */
- bl common_abort
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_UNUSED_86FF: /* 0x186 */
-/* File: armv5te/OP_UNUSED_86FF.S */
-/* File: armv5te/unused.S */
- bl common_abort
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_UNUSED_87FF: /* 0x187 */
-/* File: armv5te/OP_UNUSED_87FF.S */
-/* File: armv5te/unused.S */
- bl common_abort
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_UNUSED_88FF: /* 0x188 */
-/* File: armv5te/OP_UNUSED_88FF.S */
-/* File: armv5te/unused.S */
- bl common_abort
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_UNUSED_89FF: /* 0x189 */
-/* File: armv5te/OP_UNUSED_89FF.S */
-/* File: armv5te/unused.S */
- bl common_abort
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_UNUSED_8AFF: /* 0x18a */
-/* File: armv5te/OP_UNUSED_8AFF.S */
-/* File: armv5te/unused.S */
- bl common_abort
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_UNUSED_8BFF: /* 0x18b */
-/* File: armv5te/OP_UNUSED_8BFF.S */
-/* File: armv5te/unused.S */
- bl common_abort
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_UNUSED_8CFF: /* 0x18c */
-/* File: armv5te/OP_UNUSED_8CFF.S */
-/* File: armv5te/unused.S */
- bl common_abort
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_UNUSED_8DFF: /* 0x18d */
-/* File: armv5te/OP_UNUSED_8DFF.S */
-/* File: armv5te/unused.S */
- bl common_abort
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_UNUSED_8EFF: /* 0x18e */
-/* File: armv5te/OP_UNUSED_8EFF.S */
-/* File: armv5te/unused.S */
- bl common_abort
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_UNUSED_8FFF: /* 0x18f */
-/* File: armv5te/OP_UNUSED_8FFF.S */
-/* File: armv5te/unused.S */
- bl common_abort
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_UNUSED_90FF: /* 0x190 */
-/* File: armv5te/OP_UNUSED_90FF.S */
-/* File: armv5te/unused.S */
- bl common_abort
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_UNUSED_91FF: /* 0x191 */
-/* File: armv5te/OP_UNUSED_91FF.S */
-/* File: armv5te/unused.S */
- bl common_abort
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_UNUSED_92FF: /* 0x192 */
-/* File: armv5te/OP_UNUSED_92FF.S */
-/* File: armv5te/unused.S */
- bl common_abort
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_UNUSED_93FF: /* 0x193 */
-/* File: armv5te/OP_UNUSED_93FF.S */
-/* File: armv5te/unused.S */
- bl common_abort
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_UNUSED_94FF: /* 0x194 */
-/* File: armv5te/OP_UNUSED_94FF.S */
-/* File: armv5te/unused.S */
- bl common_abort
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_UNUSED_95FF: /* 0x195 */
-/* File: armv5te/OP_UNUSED_95FF.S */
-/* File: armv5te/unused.S */
- bl common_abort
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_UNUSED_96FF: /* 0x196 */
-/* File: armv5te/OP_UNUSED_96FF.S */
-/* File: armv5te/unused.S */
- bl common_abort
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_UNUSED_97FF: /* 0x197 */
-/* File: armv5te/OP_UNUSED_97FF.S */
-/* File: armv5te/unused.S */
- bl common_abort
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_UNUSED_98FF: /* 0x198 */
-/* File: armv5te/OP_UNUSED_98FF.S */
-/* File: armv5te/unused.S */
- bl common_abort
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_UNUSED_99FF: /* 0x199 */
-/* File: armv5te/OP_UNUSED_99FF.S */
-/* File: armv5te/unused.S */
- bl common_abort
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_UNUSED_9AFF: /* 0x19a */
-/* File: armv5te/OP_UNUSED_9AFF.S */
-/* File: armv5te/unused.S */
- bl common_abort
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_UNUSED_9BFF: /* 0x19b */
-/* File: armv5te/OP_UNUSED_9BFF.S */
-/* File: armv5te/unused.S */
- bl common_abort
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_UNUSED_9CFF: /* 0x19c */
-/* File: armv5te/OP_UNUSED_9CFF.S */
-/* File: armv5te/unused.S */
- bl common_abort
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_UNUSED_9DFF: /* 0x19d */
-/* File: armv5te/OP_UNUSED_9DFF.S */
-/* File: armv5te/unused.S */
- bl common_abort
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_UNUSED_9EFF: /* 0x19e */
-/* File: armv5te/OP_UNUSED_9EFF.S */
-/* File: armv5te/unused.S */
- bl common_abort
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_UNUSED_9FFF: /* 0x19f */
-/* File: armv5te/OP_UNUSED_9FFF.S */
-/* File: armv5te/unused.S */
- bl common_abort
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_UNUSED_A0FF: /* 0x1a0 */
-/* File: armv5te/OP_UNUSED_A0FF.S */
-/* File: armv5te/unused.S */
- bl common_abort
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_UNUSED_A1FF: /* 0x1a1 */
-/* File: armv5te/OP_UNUSED_A1FF.S */
-/* File: armv5te/unused.S */
- bl common_abort
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_UNUSED_A2FF: /* 0x1a2 */
-/* File: armv5te/OP_UNUSED_A2FF.S */
-/* File: armv5te/unused.S */
- bl common_abort
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_UNUSED_A3FF: /* 0x1a3 */
-/* File: armv5te/OP_UNUSED_A3FF.S */
-/* File: armv5te/unused.S */
- bl common_abort
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_UNUSED_A4FF: /* 0x1a4 */
-/* File: armv5te/OP_UNUSED_A4FF.S */
-/* File: armv5te/unused.S */
- bl common_abort
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_UNUSED_A5FF: /* 0x1a5 */
-/* File: armv5te/OP_UNUSED_A5FF.S */
-/* File: armv5te/unused.S */
- bl common_abort
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_UNUSED_A6FF: /* 0x1a6 */
-/* File: armv5te/OP_UNUSED_A6FF.S */
-/* File: armv5te/unused.S */
- bl common_abort
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_UNUSED_A7FF: /* 0x1a7 */
-/* File: armv5te/OP_UNUSED_A7FF.S */
-/* File: armv5te/unused.S */
- bl common_abort
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_UNUSED_A8FF: /* 0x1a8 */
-/* File: armv5te/OP_UNUSED_A8FF.S */
-/* File: armv5te/unused.S */
- bl common_abort
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_UNUSED_A9FF: /* 0x1a9 */
-/* File: armv5te/OP_UNUSED_A9FF.S */
-/* File: armv5te/unused.S */
- bl common_abort
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_UNUSED_AAFF: /* 0x1aa */
-/* File: armv5te/OP_UNUSED_AAFF.S */
-/* File: armv5te/unused.S */
- bl common_abort
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_UNUSED_ABFF: /* 0x1ab */
-/* File: armv5te/OP_UNUSED_ABFF.S */
-/* File: armv5te/unused.S */
- bl common_abort
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_UNUSED_ACFF: /* 0x1ac */
-/* File: armv5te/OP_UNUSED_ACFF.S */
-/* File: armv5te/unused.S */
- bl common_abort
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_UNUSED_ADFF: /* 0x1ad */
-/* File: armv5te/OP_UNUSED_ADFF.S */
-/* File: armv5te/unused.S */
- bl common_abort
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_UNUSED_AEFF: /* 0x1ae */
-/* File: armv5te/OP_UNUSED_AEFF.S */
-/* File: armv5te/unused.S */
- bl common_abort
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_UNUSED_AFFF: /* 0x1af */
-/* File: armv5te/OP_UNUSED_AFFF.S */
-/* File: armv5te/unused.S */
- bl common_abort
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_UNUSED_B0FF: /* 0x1b0 */
-/* File: armv5te/OP_UNUSED_B0FF.S */
-/* File: armv5te/unused.S */
- bl common_abort
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_UNUSED_B1FF: /* 0x1b1 */
-/* File: armv5te/OP_UNUSED_B1FF.S */
-/* File: armv5te/unused.S */
- bl common_abort
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_UNUSED_B2FF: /* 0x1b2 */
-/* File: armv5te/OP_UNUSED_B2FF.S */
-/* File: armv5te/unused.S */
- bl common_abort
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_UNUSED_B3FF: /* 0x1b3 */
-/* File: armv5te/OP_UNUSED_B3FF.S */
-/* File: armv5te/unused.S */
- bl common_abort
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_UNUSED_B4FF: /* 0x1b4 */
-/* File: armv5te/OP_UNUSED_B4FF.S */
-/* File: armv5te/unused.S */
- bl common_abort
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_UNUSED_B5FF: /* 0x1b5 */
-/* File: armv5te/OP_UNUSED_B5FF.S */
-/* File: armv5te/unused.S */
- bl common_abort
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_UNUSED_B6FF: /* 0x1b6 */
-/* File: armv5te/OP_UNUSED_B6FF.S */
-/* File: armv5te/unused.S */
- bl common_abort
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_UNUSED_B7FF: /* 0x1b7 */
-/* File: armv5te/OP_UNUSED_B7FF.S */
-/* File: armv5te/unused.S */
- bl common_abort
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_UNUSED_B8FF: /* 0x1b8 */
-/* File: armv5te/OP_UNUSED_B8FF.S */
-/* File: armv5te/unused.S */
- bl common_abort
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_UNUSED_B9FF: /* 0x1b9 */
-/* File: armv5te/OP_UNUSED_B9FF.S */
-/* File: armv5te/unused.S */
- bl common_abort
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_UNUSED_BAFF: /* 0x1ba */
-/* File: armv5te/OP_UNUSED_BAFF.S */
-/* File: armv5te/unused.S */
- bl common_abort
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_UNUSED_BBFF: /* 0x1bb */
-/* File: armv5te/OP_UNUSED_BBFF.S */
-/* File: armv5te/unused.S */
- bl common_abort
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_UNUSED_BCFF: /* 0x1bc */
-/* File: armv5te/OP_UNUSED_BCFF.S */
-/* File: armv5te/unused.S */
- bl common_abort
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_UNUSED_BDFF: /* 0x1bd */
-/* File: armv5te/OP_UNUSED_BDFF.S */
-/* File: armv5te/unused.S */
- bl common_abort
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_UNUSED_BEFF: /* 0x1be */
-/* File: armv5te/OP_UNUSED_BEFF.S */
-/* File: armv5te/unused.S */
- bl common_abort
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_UNUSED_BFFF: /* 0x1bf */
-/* File: armv5te/OP_UNUSED_BFFF.S */
-/* File: armv5te/unused.S */
- bl common_abort
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_UNUSED_C0FF: /* 0x1c0 */
-/* File: armv5te/OP_UNUSED_C0FF.S */
-/* File: armv5te/unused.S */
- bl common_abort
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_UNUSED_C1FF: /* 0x1c1 */
-/* File: armv5te/OP_UNUSED_C1FF.S */
-/* File: armv5te/unused.S */
- bl common_abort
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_UNUSED_C2FF: /* 0x1c2 */
-/* File: armv5te/OP_UNUSED_C2FF.S */
-/* File: armv5te/unused.S */
- bl common_abort
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_UNUSED_C3FF: /* 0x1c3 */
-/* File: armv5te/OP_UNUSED_C3FF.S */
-/* File: armv5te/unused.S */
- bl common_abort
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_UNUSED_C4FF: /* 0x1c4 */
-/* File: armv5te/OP_UNUSED_C4FF.S */
-/* File: armv5te/unused.S */
- bl common_abort
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_UNUSED_C5FF: /* 0x1c5 */
-/* File: armv5te/OP_UNUSED_C5FF.S */
-/* File: armv5te/unused.S */
- bl common_abort
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_UNUSED_C6FF: /* 0x1c6 */
-/* File: armv5te/OP_UNUSED_C6FF.S */
-/* File: armv5te/unused.S */
- bl common_abort
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_UNUSED_C7FF: /* 0x1c7 */
-/* File: armv5te/OP_UNUSED_C7FF.S */
-/* File: armv5te/unused.S */
- bl common_abort
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_UNUSED_C8FF: /* 0x1c8 */
-/* File: armv5te/OP_UNUSED_C8FF.S */
-/* File: armv5te/unused.S */
- bl common_abort
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_UNUSED_C9FF: /* 0x1c9 */
-/* File: armv5te/OP_UNUSED_C9FF.S */
-/* File: armv5te/unused.S */
- bl common_abort
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_UNUSED_CAFF: /* 0x1ca */
-/* File: armv5te/OP_UNUSED_CAFF.S */
-/* File: armv5te/unused.S */
- bl common_abort
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_UNUSED_CBFF: /* 0x1cb */
-/* File: armv5te/OP_UNUSED_CBFF.S */
-/* File: armv5te/unused.S */
- bl common_abort
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_UNUSED_CCFF: /* 0x1cc */
-/* File: armv5te/OP_UNUSED_CCFF.S */
-/* File: armv5te/unused.S */
- bl common_abort
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_UNUSED_CDFF: /* 0x1cd */
-/* File: armv5te/OP_UNUSED_CDFF.S */
-/* File: armv5te/unused.S */
- bl common_abort
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_UNUSED_CEFF: /* 0x1ce */
-/* File: armv5te/OP_UNUSED_CEFF.S */
-/* File: armv5te/unused.S */
- bl common_abort
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_UNUSED_CFFF: /* 0x1cf */
-/* File: armv5te/OP_UNUSED_CFFF.S */
-/* File: armv5te/unused.S */
- bl common_abort
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_UNUSED_D0FF: /* 0x1d0 */
-/* File: armv5te/OP_UNUSED_D0FF.S */
-/* File: armv5te/unused.S */
- bl common_abort
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_UNUSED_D1FF: /* 0x1d1 */
-/* File: armv5te/OP_UNUSED_D1FF.S */
-/* File: armv5te/unused.S */
- bl common_abort
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_UNUSED_D2FF: /* 0x1d2 */
-/* File: armv5te/OP_UNUSED_D2FF.S */
-/* File: armv5te/unused.S */
- bl common_abort
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_UNUSED_D3FF: /* 0x1d3 */
-/* File: armv5te/OP_UNUSED_D3FF.S */
-/* File: armv5te/unused.S */
- bl common_abort
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_UNUSED_D4FF: /* 0x1d4 */
-/* File: armv5te/OP_UNUSED_D4FF.S */
-/* File: armv5te/unused.S */
- bl common_abort
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_UNUSED_D5FF: /* 0x1d5 */
-/* File: armv5te/OP_UNUSED_D5FF.S */
-/* File: armv5te/unused.S */
- bl common_abort
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_UNUSED_D6FF: /* 0x1d6 */
-/* File: armv5te/OP_UNUSED_D6FF.S */
-/* File: armv5te/unused.S */
- bl common_abort
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_UNUSED_D7FF: /* 0x1d7 */
-/* File: armv5te/OP_UNUSED_D7FF.S */
-/* File: armv5te/unused.S */
- bl common_abort
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_UNUSED_D8FF: /* 0x1d8 */
-/* File: armv5te/OP_UNUSED_D8FF.S */
-/* File: armv5te/unused.S */
- bl common_abort
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_UNUSED_D9FF: /* 0x1d9 */
-/* File: armv5te/OP_UNUSED_D9FF.S */
-/* File: armv5te/unused.S */
- bl common_abort
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_UNUSED_DAFF: /* 0x1da */
-/* File: armv5te/OP_UNUSED_DAFF.S */
-/* File: armv5te/unused.S */
- bl common_abort
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_UNUSED_DBFF: /* 0x1db */
-/* File: armv5te/OP_UNUSED_DBFF.S */
-/* File: armv5te/unused.S */
- bl common_abort
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_UNUSED_DCFF: /* 0x1dc */
-/* File: armv5te/OP_UNUSED_DCFF.S */
-/* File: armv5te/unused.S */
- bl common_abort
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_UNUSED_DDFF: /* 0x1dd */
-/* File: armv5te/OP_UNUSED_DDFF.S */
-/* File: armv5te/unused.S */
- bl common_abort
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_UNUSED_DEFF: /* 0x1de */
-/* File: armv5te/OP_UNUSED_DEFF.S */
-/* File: armv5te/unused.S */
- bl common_abort
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_UNUSED_DFFF: /* 0x1df */
-/* File: armv5te/OP_UNUSED_DFFF.S */
-/* File: armv5te/unused.S */
- bl common_abort
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_UNUSED_E0FF: /* 0x1e0 */
-/* File: armv5te/OP_UNUSED_E0FF.S */
-/* File: armv5te/unused.S */
- bl common_abort
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_UNUSED_E1FF: /* 0x1e1 */
-/* File: armv5te/OP_UNUSED_E1FF.S */
-/* File: armv5te/unused.S */
- bl common_abort
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_UNUSED_E2FF: /* 0x1e2 */
-/* File: armv5te/OP_UNUSED_E2FF.S */
+.L_OP_UNUSED_FF: /* 0xff */
+/* File: armv5te/OP_UNUSED_FF.S */
/* File: armv5te/unused.S */
bl common_abort
-/* ------------------------------ */
- .balign 64
-.L_OP_UNUSED_E3FF: /* 0x1e3 */
-/* File: armv5te/OP_UNUSED_E3FF.S */
-/* File: armv5te/unused.S */
- bl common_abort
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_UNUSED_E4FF: /* 0x1e4 */
-/* File: armv5te/OP_UNUSED_E4FF.S */
-/* File: armv5te/unused.S */
- bl common_abort
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_UNUSED_E5FF: /* 0x1e5 */
-/* File: armv5te/OP_UNUSED_E5FF.S */
-/* File: armv5te/unused.S */
- bl common_abort
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_UNUSED_E6FF: /* 0x1e6 */
-/* File: armv5te/OP_UNUSED_E6FF.S */
-/* File: armv5te/unused.S */
- bl common_abort
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_UNUSED_E7FF: /* 0x1e7 */
-/* File: armv5te/OP_UNUSED_E7FF.S */
-/* File: armv5te/unused.S */
- bl common_abort
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_UNUSED_E8FF: /* 0x1e8 */
-/* File: armv5te/OP_UNUSED_E8FF.S */
-/* File: armv5te/unused.S */
- bl common_abort
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_UNUSED_E9FF: /* 0x1e9 */
-/* File: armv5te/OP_UNUSED_E9FF.S */
-/* File: armv5te/unused.S */
- bl common_abort
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_UNUSED_EAFF: /* 0x1ea */
-/* File: armv5te/OP_UNUSED_EAFF.S */
-/* File: armv5te/unused.S */
- bl common_abort
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_UNUSED_EBFF: /* 0x1eb */
-/* File: armv5te/OP_UNUSED_EBFF.S */
-/* File: armv5te/unused.S */
- bl common_abort
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_UNUSED_ECFF: /* 0x1ec */
-/* File: armv5te/OP_UNUSED_ECFF.S */
-/* File: armv5te/unused.S */
- bl common_abort
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_UNUSED_EDFF: /* 0x1ed */
-/* File: armv5te/OP_UNUSED_EDFF.S */
-/* File: armv5te/unused.S */
- bl common_abort
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_UNUSED_EEFF: /* 0x1ee */
-/* File: armv5te/OP_UNUSED_EEFF.S */
-/* File: armv5te/unused.S */
- bl common_abort
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_UNUSED_EFFF: /* 0x1ef */
-/* File: armv5te/OP_UNUSED_EFFF.S */
-/* File: armv5te/unused.S */
- bl common_abort
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_UNUSED_F0FF: /* 0x1f0 */
-/* File: armv5te/OP_UNUSED_F0FF.S */
-/* File: armv5te/unused.S */
- bl common_abort
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_UNUSED_F1FF: /* 0x1f1 */
-/* File: armv5te/OP_UNUSED_F1FF.S */
-/* File: armv5te/unused.S */
- bl common_abort
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_INVOKE_OBJECT_INIT_JUMBO: /* 0x1f2 */
-/* File: armv5te/OP_INVOKE_OBJECT_INIT_JUMBO.S */
-/* File: armv5te/OP_INVOKE_OBJECT_INIT_RANGE.S */
- /*
- * Invoke Object.<init> on an object. In practice we know that
- * Object's nullary constructor doesn't do anything, so we just
- * skip it unless a debugger is active.
- */
- FETCH(r1, 4) @ r1<- CCCC
- GET_VREG(r0, r1) @ r0<- "this" ptr
- cmp r0, #0 @ check for NULL
- beq common_errNullObject @ export PC and throw NPE
- ldr r1, [r0, #offObject_clazz] @ r1<- obj->clazz
- ldr r2, [r1, #offClassObject_accessFlags] @ r2<- clazz->accessFlags
- tst r2, #CLASS_ISFINALIZABLE @ is this class finalizable?
- bne .LOP_INVOKE_OBJECT_INIT_JUMBO_setFinal @ yes, go
-.LOP_INVOKE_OBJECT_INIT_JUMBO_finish:
- ldrh r1, [rSELF, #offThread_subMode]
- ands r1, #kSubModeDebuggerActive @ debugger active?
- bne .LOP_INVOKE_OBJECT_INIT_JUMBO_debugger @ Yes - skip optimization
- FETCH_ADVANCE_INST(4+1) @ advance to next instr, load rINST
- GET_INST_OPCODE(ip) @ ip<- opcode from rINST
- GOTO_OPCODE(ip) @ execute it
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_IGET_VOLATILE_JUMBO: /* 0x1f3 */
-/* File: armv5te/OP_IGET_VOLATILE_JUMBO.S */
-/* File: armv5te/OP_IGET_JUMBO.S */
- /*
- * Jumbo 32-bit instance field get.
- *
- * for: iget/jumbo, iget-object/jumbo, iget-boolean/jumbo, iget-byte/jumbo,
- * iget-char/jumbo, iget-short/jumbo
- */
- /* exop vBBBB, vCCCC, field@AAAAAAAA */
- FETCH(r1, 1) @ r1<- aaaa (lo)
- FETCH(r2, 2) @ r2<- AAAA (hi)
- FETCH(r0, 4) @ r0<- CCCC
- ldr r3, [rSELF, #offThread_methodClassDex] @ r3<- DvmDex
- orr r1, r1, r2, lsl #16 @ r1<- AAAAaaaa
- ldr r2, [r3, #offDvmDex_pResFields] @ r2<- pDvmDex->pResFields
- GET_VREG(r9, r0) @ r9<- fp[CCCC], the object pointer
- ldr r0, [r2, r1, lsl #2] @ r0<- resolved InstField ptr
- cmp r0, #0 @ is resolved entry null?
- bne .LOP_IGET_VOLATILE_JUMBO_finish @ no, already resolved
-8: ldr r2, [rSELF, #offThread_method] @ r2<- current method
- EXPORT_PC() @ resolve() could throw
- ldr r0, [r2, #offMethod_clazz] @ r0<- method->clazz
- bl dvmResolveInstField @ r0<- resolved InstField ptr
- b .LOP_IGET_VOLATILE_JUMBO_resolved @ resolved, continue
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_IGET_WIDE_VOLATILE_JUMBO: /* 0x1f4 */
-/* File: armv5te/OP_IGET_WIDE_VOLATILE_JUMBO.S */
-/* File: armv5te/OP_IGET_WIDE_JUMBO.S */
- /*
- * Jumbo 64-bit instance field get.
- */
- /* iget-wide/jumbo vBBBB, vCCCC, field@AAAAAAAA */
- FETCH(r1, 1) @ r1<- aaaa (lo)
- FETCH(r2, 2) @ r2<- AAAA (hi)
- FETCH(r0, 4) @ r0<- CCCC
- ldr r3, [rSELF, #offThread_methodClassDex] @ r3<- DvmDex
- orr r1, r1, r2, lsl #16 @ r1<- AAAAaaaa
- ldr r2, [r3, #offDvmDex_pResFields] @ r2<- pResFields
- GET_VREG(r9, r0) @ r9<- fp[CCCC], the object pointer
- ldr r0, [r2, r1, lsl #2] @ r0<- resolved InstField ptr
- cmp r0, #0 @ is resolved entry null?
- bne .LOP_IGET_WIDE_VOLATILE_JUMBO_finish @ no, already resolved
- ldr r2, [rSELF, #offThread_method] @ r2<- current method
- EXPORT_PC() @ resolve() could throw
- ldr r0, [r2, #offMethod_clazz] @ r0<- method->clazz
- bl dvmResolveInstField @ r0<- resolved InstField ptr
- b .LOP_IGET_WIDE_VOLATILE_JUMBO_resolved @ resolved, continue
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_IGET_OBJECT_VOLATILE_JUMBO: /* 0x1f5 */
-/* File: armv5te/OP_IGET_OBJECT_VOLATILE_JUMBO.S */
-/* File: armv5te/OP_IGET_OBJECT_JUMBO.S */
-/* File: armv5te/OP_IGET_JUMBO.S */
- /*
- * Jumbo 32-bit instance field get.
- *
- * for: iget/jumbo, iget-object/jumbo, iget-boolean/jumbo, iget-byte/jumbo,
- * iget-char/jumbo, iget-short/jumbo
- */
- /* exop vBBBB, vCCCC, field@AAAAAAAA */
- FETCH(r1, 1) @ r1<- aaaa (lo)
- FETCH(r2, 2) @ r2<- AAAA (hi)
- FETCH(r0, 4) @ r0<- CCCC
- ldr r3, [rSELF, #offThread_methodClassDex] @ r3<- DvmDex
- orr r1, r1, r2, lsl #16 @ r1<- AAAAaaaa
- ldr r2, [r3, #offDvmDex_pResFields] @ r2<- pDvmDex->pResFields
- GET_VREG(r9, r0) @ r9<- fp[CCCC], the object pointer
- ldr r0, [r2, r1, lsl #2] @ r0<- resolved InstField ptr
- cmp r0, #0 @ is resolved entry null?
- bne .LOP_IGET_OBJECT_VOLATILE_JUMBO_finish @ no, already resolved
-8: ldr r2, [rSELF, #offThread_method] @ r2<- current method
- EXPORT_PC() @ resolve() could throw
- ldr r0, [r2, #offMethod_clazz] @ r0<- method->clazz
- bl dvmResolveInstField @ r0<- resolved InstField ptr
- b .LOP_IGET_OBJECT_VOLATILE_JUMBO_resolved @ resolved, continue
-
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_IPUT_VOLATILE_JUMBO: /* 0x1f6 */
-/* File: armv5te/OP_IPUT_VOLATILE_JUMBO.S */
-/* File: armv5te/OP_IPUT_JUMBO.S */
- /*
- * Jumbo 32-bit instance field put.
- *
- * for: iput/jumbo, iput-boolean/jumbo, iput-byte/jumbo, iput-char/jumbo,
- * iput-short/jumbo
- */
- /* exop vBBBB, vCCCC, field@AAAAAAAA */
- FETCH(r1, 1) @ r1<- aaaa (lo)
- FETCH(r2, 2) @ r2<- AAAA (hi)
- FETCH(r0, 4) @ r0<- CCCC
- ldr r3, [rSELF, #offThread_methodClassDex] @ r3<- DvmDex
- orr r1, r1, r2, lsl #16 @ r1<- AAAAaaaa
- ldr r2, [r3, #offDvmDex_pResFields] @ r2<- pDvmDex->pResFields
- GET_VREG(r9, r0) @ r9<- fp[CCCC], the object pointer
- ldr r0, [r2, r1, lsl #2] @ r0<- resolved InstField ptr
- cmp r0, #0 @ is resolved entry null?
- bne .LOP_IPUT_VOLATILE_JUMBO_finish @ no, already resolved
-8: ldr r2, [rSELF, #offThread_method] @ r2<- current method
- EXPORT_PC() @ resolve() could throw
- ldr r0, [r2, #offMethod_clazz] @ r0<- method->clazz
- bl dvmResolveInstField @ r0<- resolved InstField ptr
- b .LOP_IPUT_VOLATILE_JUMBO_resolved @ resolved, continue
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_IPUT_WIDE_VOLATILE_JUMBO: /* 0x1f7 */
-/* File: armv5te/OP_IPUT_WIDE_VOLATILE_JUMBO.S */
-/* File: armv5te/OP_IPUT_WIDE_JUMBO.S */
- /* iput-wide/jumbo vBBBB, vCCCC, field@AAAAAAAA */
- FETCH(r1, 1) @ r1<- aaaa (lo)
- FETCH(r2, 2) @ r2<- AAAA (hi)
- FETCH(r0, 4) @ r0<- CCCC
- ldr r3, [rSELF, #offThread_methodClassDex] @ r3<- DvmDex
- orr r1, r1, r2, lsl #16 @ r1<- AAAAaaaa
- ldr r2, [r3, #offDvmDex_pResFields] @ r2<- pResFields
- GET_VREG(r9, r0) @ r9<- fp[B], the object pointer
- ldr r0, [r2, r1, lsl #2] @ r0<- resolved InstField ptr
- cmp r0, #0 @ is resolved entry null?
- bne .LOP_IPUT_WIDE_VOLATILE_JUMBO_finish @ no, already resolved
-8: ldr r2, [rSELF, #offThread_method] @ r2<- current method
- EXPORT_PC() @ resolve() could throw
- ldr r0, [r2, #offMethod_clazz] @ r0<- method->clazz
- bl dvmResolveInstField @ r0<- resolved InstField ptr
- b .LOP_IPUT_WIDE_VOLATILE_JUMBO_resolved @ resolved, continue
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_IPUT_OBJECT_VOLATILE_JUMBO: /* 0x1f8 */
-/* File: armv5te/OP_IPUT_OBJECT_VOLATILE_JUMBO.S */
-/* File: armv5te/OP_IPUT_OBJECT_JUMBO.S */
- /*
- * Jumbo 32-bit instance field put.
- */
- /* iput-object/jumbo vBBBB, vCCCC, field@AAAAAAAA */
- FETCH(r1, 1) @ r1<- aaaa (lo)
- FETCH(r2, 2) @ r2<- AAAA (hi)
- FETCH(r0, 4) @ r0<- CCCC
- ldr r3, [rSELF, #offThread_methodClassDex] @ r3<- DvmDex
- orr r1, r1, r2, lsl #16 @ r1<- AAAAaaaa
- ldr r2, [r3, #offDvmDex_pResFields] @ r2<- pDvmDex->pResFields
- GET_VREG(r9, r0) @ r9<- fp[CCCC], the object pointer
- ldr r0, [r2, r1, lsl #2] @ r0<- resolved InstField ptr
- cmp r0, #0 @ is resolved entry null?
- bne .LOP_IPUT_OBJECT_VOLATILE_JUMBO_finish @ no, already resolved
-8: ldr r2, [rSELF, #offThread_method] @ r2<- current method
- EXPORT_PC() @ resolve() could throw
- ldr r0, [r2, #offMethod_clazz] @ r0<- method->clazz
- bl dvmResolveInstField @ r0<- resolved InstField ptr
- b .LOP_IPUT_OBJECT_VOLATILE_JUMBO_resolved @ resolved, continue
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_SGET_VOLATILE_JUMBO: /* 0x1f9 */
-/* File: armv5te/OP_SGET_VOLATILE_JUMBO.S */
-/* File: armv5te/OP_SGET_JUMBO.S */
- /*
- * Jumbo 32-bit SGET handler.
- *
- * for: sget/jumbo, sget-object/jumbo, sget-boolean/jumbo, sget-byte/jumbo,
- * sget-char/jumbo, sget-short/jumbo
- */
- /* exop vBBBB, field@AAAAAAAA */
- ldr r2, [rSELF, #offThread_methodClassDex] @ r2<- DvmDex
- FETCH(r0, 1) @ r0<- aaaa (lo)
- FETCH(r1, 2) @ r1<- AAAA (hi)
- ldr r10, [r2, #offDvmDex_pResFields] @ r10<- dvmDex->pResFields
- orr r1, r0, r1, lsl #16 @ r1<- AAAAaaaa
- ldr r0, [r10, r1, lsl #2] @ r0<- resolved StaticField ptr
- cmp r0, #0 @ is resolved entry null?
- beq .LOP_SGET_VOLATILE_JUMBO_resolve @ yes, do resolve
-.LOP_SGET_VOLATILE_JUMBO_finish: @ field ptr in r0
- ldr r1, [r0, #offStaticField_value] @ r1<- field value
- SMP_DMB @ acquiring load
- FETCH(r2, 3) @ r2<- BBBB
- FETCH_ADVANCE_INST(4) @ advance rPC, load rINST
- SET_VREG(r1, r2) @ fp[BBBB]<- r1
- GET_INST_OPCODE(ip) @ extract opcode from rINST
- GOTO_OPCODE(ip) @ jump to next instruction
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_SGET_WIDE_VOLATILE_JUMBO: /* 0x1fa */
-/* File: armv5te/OP_SGET_WIDE_VOLATILE_JUMBO.S */
-/* File: armv5te/OP_SGET_WIDE_JUMBO.S */
- /*
- * Jumbo 64-bit SGET handler.
- */
- /* sget-wide/jumbo vBBBB, field@AAAAAAAA */
- ldr r2, [rSELF, #offThread_methodClassDex] @ r2<- DvmDex
- FETCH(r0, 1) @ r0<- aaaa (lo)
- FETCH(r1, 2) @ r1<- AAAA (hi)
- ldr r2, [r2, #offDvmDex_pResFields] @ r2<- dvmDex->pResFields
- orr r1, r0, r1, lsl #16 @ r1<- AAAAaaaa
- ldr r0, [r2, r1, lsl #2] @ r0<- resolved StaticField ptr
- cmp r0, #0 @ is resolved entry null?
- beq .LOP_SGET_WIDE_VOLATILE_JUMBO_resolve @ yes, do resolve
-.LOP_SGET_WIDE_VOLATILE_JUMBO_finish:
- FETCH(r9, 3) @ r9<- BBBB
- .if 1
- add r0, r0, #offStaticField_value @ r0<- pointer to data
- bl dvmQuasiAtomicRead64 @ r0/r1<- contents of field
- .else
- ldrd r0, [r0, #offStaticField_value] @ r0/r1<- field value (aligned)
- .endif
- add r9, rFP, r9, lsl #2 @ r9<- &fp[BBBB]
- FETCH_ADVANCE_INST(4) @ advance rPC, load rINST
- stmia r9, {r0-r1} @ vBBBB/vBBBB+1<- r0/r1
- GET_INST_OPCODE(ip) @ extract opcode from rINST
- GOTO_OPCODE(ip) @ jump to next instruction
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_SGET_OBJECT_VOLATILE_JUMBO: /* 0x1fb */
-/* File: armv5te/OP_SGET_OBJECT_VOLATILE_JUMBO.S */
-/* File: armv5te/OP_SGET_OBJECT_JUMBO.S */
-/* File: armv5te/OP_SGET_JUMBO.S */
- /*
- * Jumbo 32-bit SGET handler.
- *
- * for: sget/jumbo, sget-object/jumbo, sget-boolean/jumbo, sget-byte/jumbo,
- * sget-char/jumbo, sget-short/jumbo
- */
- /* exop vBBBB, field@AAAAAAAA */
- ldr r2, [rSELF, #offThread_methodClassDex] @ r2<- DvmDex
- FETCH(r0, 1) @ r0<- aaaa (lo)
- FETCH(r1, 2) @ r1<- AAAA (hi)
- ldr r10, [r2, #offDvmDex_pResFields] @ r10<- dvmDex->pResFields
- orr r1, r0, r1, lsl #16 @ r1<- AAAAaaaa
- ldr r0, [r10, r1, lsl #2] @ r0<- resolved StaticField ptr
- cmp r0, #0 @ is resolved entry null?
- beq .LOP_SGET_OBJECT_VOLATILE_JUMBO_resolve @ yes, do resolve
-.LOP_SGET_OBJECT_VOLATILE_JUMBO_finish: @ field ptr in r0
- ldr r1, [r0, #offStaticField_value] @ r1<- field value
- SMP_DMB @ acquiring load
- FETCH(r2, 3) @ r2<- BBBB
- FETCH_ADVANCE_INST(4) @ advance rPC, load rINST
- SET_VREG(r1, r2) @ fp[BBBB]<- r1
- GET_INST_OPCODE(ip) @ extract opcode from rINST
- GOTO_OPCODE(ip) @ jump to next instruction
-
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_SPUT_VOLATILE_JUMBO: /* 0x1fc */
-/* File: armv5te/OP_SPUT_VOLATILE_JUMBO.S */
-/* File: armv5te/OP_SPUT_JUMBO.S */
- /*
- * Jumbo 32-bit SPUT handler.
- *
- * for: sput/jumbo, sput-boolean/jumbo, sput-byte/jumbo, sput-char/jumbo,
- * sput-short/jumbo
- */
- /* exop vBBBB, field@AAAAAAAA */
- ldr r2, [rSELF, #offThread_methodClassDex] @ r2<- DvmDex
- FETCH(r0, 1) @ r0<- aaaa (lo)
- FETCH(r1, 2) @ r1<- AAAA (hi)
- ldr r10, [r2, #offDvmDex_pResFields] @ r10<- dvmDex->pResFields
- orr r1, r0, r1, lsl #16 @ r1<- AAAAaaaa
- ldr r0, [r10, r1, lsl #2] @ r0<- resolved StaticField ptr
- cmp r0, #0 @ is resolved entry null?
- beq .LOP_SPUT_VOLATILE_JUMBO_resolve @ yes, do resolve
-.LOP_SPUT_VOLATILE_JUMBO_finish: @ field ptr in r0
- FETCH(r2, 3) @ r2<- BBBB
- FETCH_ADVANCE_INST(4) @ advance rPC, load rINST
- GET_VREG(r1, r2) @ r1<- fp[BBBB]
- GET_INST_OPCODE(ip) @ extract opcode from rINST
- SMP_DMB_ST @ releasing store
- str r1, [r0, #offStaticField_value] @ field<- vBBBB
- SMP_DMB
- GOTO_OPCODE(ip) @ jump to next instruction
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_SPUT_WIDE_VOLATILE_JUMBO: /* 0x1fd */
-/* File: armv5te/OP_SPUT_WIDE_VOLATILE_JUMBO.S */
-/* File: armv5te/OP_SPUT_WIDE_JUMBO.S */
- /*
- * Jumbo 64-bit SPUT handler.
- */
- /* sput-wide/jumbo vBBBB, field@AAAAAAAA */
- ldr r0, [rSELF, #offThread_methodClassDex] @ r0<- DvmDex
- FETCH(r1, 1) @ r1<- aaaa (lo)
- FETCH(r2, 2) @ r2<- AAAA (hi)
- ldr r10, [r0, #offDvmDex_pResFields] @ r10<- dvmDex->pResFields
- orr r1, r1, r2, lsl #16 @ r1<- AAAAaaaa
- FETCH(r9, 3) @ r9<- BBBB
- ldr r2, [r10, r1, lsl #2] @ r2<- resolved StaticField ptr
- add r9, rFP, r9, lsl #2 @ r9<- &fp[BBBB]
- cmp r2, #0 @ is resolved entry null?
- beq .LOP_SPUT_WIDE_VOLATILE_JUMBO_resolve @ yes, do resolve
-.LOP_SPUT_WIDE_VOLATILE_JUMBO_finish: @ field ptr in r2, BBBB in r9
- FETCH_ADVANCE_INST(4) @ advance rPC, load rINST
- ldmia r9, {r0-r1} @ r0/r1<- vBBBB/vBBBB+1
- GET_INST_OPCODE(r10) @ extract opcode from rINST
- .if 1
- add r2, r2, #offStaticField_value @ r2<- pointer to data
- bl dvmQuasiAtomicSwap64Sync @ stores r0/r1 into addr r2
- .else
- strd r0, [r2, #offStaticField_value] @ field<- vBBBB/vBBBB+1
- .endif
- GOTO_OPCODE(r10) @ jump to next instruction
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_SPUT_OBJECT_VOLATILE_JUMBO: /* 0x1fe */
-/* File: armv5te/OP_SPUT_OBJECT_VOLATILE_JUMBO.S */
-/* File: armv5te/OP_SPUT_OBJECT_JUMBO.S */
- /*
- * Jumbo 32-bit SPUT handler for objects
- */
- /* sput-object/jumbo vBBBB, field@AAAAAAAA */
- ldr r2, [rSELF, #offThread_methodClassDex] @ r2<- DvmDex
- FETCH(r0, 1) @ r0<- aaaa (lo)
- FETCH(r1, 2) @ r1<- AAAA (hi)
- ldr r10, [r2, #offDvmDex_pResFields] @ r10<- dvmDex->pResFields
- orr r1, r0, r1, lsl #16 @ r1<- AAAAaaaa
- ldr r0, [r10, r1, lsl #2] @ r0<- resolved StaticField ptr
- cmp r0, #0 @ is resolved entry null?
- beq .LOP_SPUT_OBJECT_VOLATILE_JUMBO_resolve @ yes, do resolve
-.LOP_SPUT_OBJECT_VOLATILE_JUMBO_finish: @ field ptr in r0
- FETCH(r2, 3) @ r2<- BBBB
- FETCH_ADVANCE_INST(4) @ advance rPC, load rINST
- GET_VREG(r1, r2) @ r1<- fp[BBBB]
- ldr r2, [rSELF, #offThread_cardTable] @ r2<- card table base
- ldr r9, [r0, #offField_clazz] @ r9<- field->clazz
- GET_INST_OPCODE(ip) @ extract opcode from rINST
- SMP_DMB_ST @ releasing store
- b .LOP_SPUT_OBJECT_VOLATILE_JUMBO_end
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_THROW_VERIFICATION_ERROR_JUMBO: /* 0x1ff */
-/* File: armv5te/OP_THROW_VERIFICATION_ERROR_JUMBO.S */
- /*
- * Handle a jumbo throw-verification-error instruction. This throws an
- * exception for an error discovered during verification. The
- * exception is indicated by BBBB, with some detail provided by AAAAAAAA.
- */
- /* exop BBBB, Class@AAAAAAAA */
- FETCH(r1, 1) @ r1<- aaaa (lo)
- FETCH(r2, 2) @ r2<- AAAA (hi)
- ldr r0, [rSELF, #offThread_method] @ r0<- self->method
- orr r2, r1, r2, lsl #16 @ r2<- AAAAaaaa
- EXPORT_PC() @ export the PC
- FETCH(r1, 3) @ r1<- BBBB
- bl dvmThrowVerificationError @ always throws
- b common_exceptionThrown @ handle exception
-
.balign 64
.size dvmAsmInstructionStart, .-dvmAsmInstructionStart
.global dvmAsmInstructionEnd
@@ -12764,11 +9650,7 @@ d2l_doconv:
*/
.LOP_INVOKE_OBJECT_INIT_RANGE_debugger:
ldr r1, [rSELF, #offThread_mainHandlerTable]
- .if 0
- mov ip, #OP_INVOKE_DIRECT_JUMBO
- .else
mov ip, #OP_INVOKE_DIRECT_RANGE
- .endif
GOTO_OPCODE_BASE(r1,ip) @ execute it
/* continuation for OP_IPUT_OBJECT_VOLATILE */
@@ -12856,1594 +9738,6 @@ d2l_doconv:
b .LOP_SPUT_OBJECT_VOLATILE_finish @ resume
-/* continuation for OP_CONST_CLASS_JUMBO */
-
- /*
- * Continuation if the Class has not yet been resolved.
- * r1: AAAAAAAA (Class ref)
- * r9: target register
- */
-.LOP_CONST_CLASS_JUMBO_resolve:
- EXPORT_PC()
- ldr r0, [rSELF, #offThread_method] @ r0<- self->method
- mov r2, #1 @ r2<- true
- ldr r0, [r0, #offMethod_clazz] @ r0<- method->clazz
- bl dvmResolveClass @ r0<- Class reference
- cmp r0, #0 @ failed?
- beq common_exceptionThrown @ yup, handle the exception
- FETCH_ADVANCE_INST(4) @ advance rPC, load rINST
- GET_INST_OPCODE(ip) @ extract opcode from rINST
- SET_VREG(r0, r9) @ vBBBB<- r0
- GOTO_OPCODE(ip) @ jump to next instruction
-
-/* continuation for OP_CHECK_CAST_JUMBO */
-
- /*
- * Trivial test failed, need to perform full check. This is common.
- * r0 holds obj->clazz
- * r1 holds desired class resolved from AAAAAAAA
- * r9 holds object
- */
-.LOP_CHECK_CAST_JUMBO_fullcheck:
- mov r10, r1 @ avoid ClassObject getting clobbered
- bl dvmInstanceofNonTrivial @ r0<- boolean result
- cmp r0, #0 @ failed?
- bne .LOP_CHECK_CAST_JUMBO_okay @ no, success
-
- @ A cast has failed. We need to throw a ClassCastException.
- EXPORT_PC() @ about to throw
- ldr r0, [r9, #offObject_clazz] @ r0<- obj->clazz (actual class)
- mov r1, r10 @ r1<- desired class
- bl dvmThrowClassCastException
- b common_exceptionThrown
-
- /*
- * Advance PC and get the next opcode.
- */
-.LOP_CHECK_CAST_JUMBO_okay:
- FETCH_ADVANCE_INST(4) @ advance rPC, load rINST
- GET_INST_OPCODE(ip) @ extract opcode from rINST
- GOTO_OPCODE(ip) @ jump to next instruction
-
- /*
- * Resolution required. This is the least-likely path.
- *
- * r2 holds AAAAAAAA
- * r9 holds object
- */
-.LOP_CHECK_CAST_JUMBO_resolve:
- EXPORT_PC() @ resolve() could throw
- ldr r3, [rSELF, #offThread_method] @ r3<- self->method
- mov r1, r2 @ r1<- AAAAAAAA
- mov r2, #0 @ r2<- false
- ldr r0, [r3, #offMethod_clazz] @ r0<- method->clazz
- bl dvmResolveClass @ r0<- resolved ClassObject ptr
- cmp r0, #0 @ got null?
- beq common_exceptionThrown @ yes, handle exception
- mov r1, r0 @ r1<- class resolved from AAAAAAAA
- ldr r0, [r9, #offObject_clazz] @ r0<- obj->clazz
- b .LOP_CHECK_CAST_JUMBO_resolved @ pick up where we left off
-
-/* continuation for OP_INSTANCE_OF_JUMBO */
-
- /*
- * Class resolved, determine type of check necessary. This is common.
- * r0 holds obj->clazz
- * r1 holds class resolved from AAAAAAAA
- * r9 holds BBBB
- */
-.LOP_INSTANCE_OF_JUMBO_resolved:
- cmp r0, r1 @ same class (trivial success)?
- beq .LOP_INSTANCE_OF_JUMBO_trivial @ yes, trivial finish
- @ fall through to OP_INSTANCE_OF_JUMBO_fullcheck
-
- /*
- * Trivial test failed, need to perform full check. This is common.
- * r0 holds obj->clazz
- * r1 holds class resolved from AAAAAAAA
- * r9 holds BBBB
- */
-.LOP_INSTANCE_OF_JUMBO_fullcheck:
- bl dvmInstanceofNonTrivial @ r0<- boolean result
- @ fall through to OP_INSTANCE_OF_JUMBO_store
-
- /*
- * r0 holds boolean result
- * r9 holds BBBB
- */
-.LOP_INSTANCE_OF_JUMBO_store:
- FETCH_ADVANCE_INST(5) @ advance rPC, load rINST
- SET_VREG(r0, r9) @ vBBBB<- r0
- GET_INST_OPCODE(ip) @ extract opcode from rINST
- GOTO_OPCODE(ip) @ jump to next instruction
-
- /*
- * Trivial test succeeded, save and bail.
- * r9 holds BBBB
- */
-.LOP_INSTANCE_OF_JUMBO_trivial:
- mov r0, #1 @ indicate success
- @ could b OP_INSTANCE_OF_JUMBO_store, but copying is faster and cheaper
- FETCH_ADVANCE_INST(5) @ advance rPC, load rINST
- SET_VREG(r0, r9) @ vBBBB<- r0
- GET_INST_OPCODE(ip) @ extract opcode from rINST
- GOTO_OPCODE(ip) @ jump to next instruction
-
- /*
- * Resolution required. This is the least-likely path.
- *
- * r3 holds AAAAAAAA
- * r9 holds BBBB
- */
-
-.LOP_INSTANCE_OF_JUMBO_resolve:
- EXPORT_PC() @ resolve() could throw
- ldr r0, [rSELF, #offThread_method] @ r0<- self->method
- mov r1, r3 @ r1<- AAAAAAAA
- mov r2, #1 @ r2<- true
- ldr r0, [r0, #offMethod_clazz] @ r0<- method->clazz
- bl dvmResolveClass @ r0<- resolved ClassObject ptr
- cmp r0, #0 @ got null?
- beq common_exceptionThrown @ yes, handle exception
- FETCH(r3, 4) @ r3<- vCCCC
- mov r1, r0 @ r1<- class resolved from AAAAAAAA
- GET_VREG(r0, r3) @ r0<- vCCCC (object)
- ldr r0, [r0, #offObject_clazz] @ r0<- obj->clazz
- b .LOP_INSTANCE_OF_JUMBO_resolved @ pick up where we left off
-
-/* continuation for OP_NEW_INSTANCE_JUMBO */
-
- .balign 32 @ minimize cache lines
-.LOP_NEW_INSTANCE_JUMBO_finish: @ r0=new object
- FETCH(r3, 3) @ r3<- BBBB
- cmp r0, #0 @ failed?
-#if defined(WITH_JIT)
- /*
- * The JIT needs the class to be fully resolved before it can
- * include this instruction in a trace.
- */
- ldrh r1, [rSELF, #offThread_subMode]
- beq common_exceptionThrown @ yes, handle the exception
- ands r1, #kSubModeJitTraceBuild @ under construction?
- bne .LOP_NEW_INSTANCE_JUMBO_jitCheck
-#else
- beq common_exceptionThrown @ yes, handle the exception
-#endif
-.LOP_NEW_INSTANCE_JUMBO_end:
- FETCH_ADVANCE_INST(4) @ advance rPC, load rINST
- GET_INST_OPCODE(ip) @ extract opcode from rINST
- SET_VREG(r0, r3) @ vBBBB<- r0
- GOTO_OPCODE(ip) @ jump to next instruction
-
-#if defined(WITH_JIT)
- /*
- * Check to see if we need to stop the trace building early.
- * r0: new object
- * r3: vAA
- */
-.LOP_NEW_INSTANCE_JUMBO_jitCheck:
- ldr r1, [r10] @ reload resolved class
- cmp r1, #0 @ okay?
- bne .LOP_NEW_INSTANCE_JUMBO_end @ yes, finish
- mov r9, r0 @ preserve new object
- mov r10, r3 @ preserve vAA
- mov r0, rSELF
- mov r1, rPC
- bl dvmJitEndTraceSelect @ (self, pc)
- FETCH_ADVANCE_INST(2) @ advance rPC, load rINST
- GET_INST_OPCODE(ip) @ extract opcode from rINST
- SET_VREG(r9, r10) @ vAA<- new object
- GOTO_OPCODE(ip) @ jump to next instruction
-#endif
-
- /*
- * Class initialization required.
- *
- * r0 holds class object
- */
-.LOP_NEW_INSTANCE_JUMBO_needinit:
- mov r9, r0 @ save r0
- bl dvmInitClass @ initialize class
- cmp r0, #0 @ check boolean result
- mov r0, r9 @ restore r0
- bne .LOP_NEW_INSTANCE_JUMBO_initialized @ success, continue
- b common_exceptionThrown @ failed, deal with init exception
-
- /*
- * Resolution required. This is the least-likely path.
- *
- * r1 holds AAAAAAAA
- */
-.LOP_NEW_INSTANCE_JUMBO_resolve:
- ldr r3, [rSELF, #offThread_method] @ r3<- self->method
- mov r2, #0 @ r2<- false
- ldr r0, [r3, #offMethod_clazz] @ r0<- method->clazz
- bl dvmResolveClass @ r0<- resolved ClassObject ptr
- cmp r0, #0 @ got null?
- bne .LOP_NEW_INSTANCE_JUMBO_resolved @ no, continue
- b common_exceptionThrown @ yes, handle exception
-
-/* continuation for OP_NEW_ARRAY_JUMBO */
-
-
- /*
- * Resolve class. (This is an uncommon case.)
- *
- * r1 holds array length
- * r2 holds class ref AAAAAAAA
- */
-.LOP_NEW_ARRAY_JUMBO_resolve:
- ldr r3, [rSELF, #offThread_method] @ r3<- self->method
- mov r9, r1 @ r9<- length (save)
- mov r1, r2 @ r1<- AAAAAAAA
- mov r2, #0 @ r2<- false
- ldr r0, [r3, #offMethod_clazz] @ r0<- method->clazz
- bl dvmResolveClass @ r0<- call(clazz, ref)
- cmp r0, #0 @ got null?
- mov r1, r9 @ r1<- length (restore)
- beq common_exceptionThrown @ yes, handle exception
- @ fall through to OP_NEW_ARRAY_JUMBO_finish
-
- /*
- * Finish allocation.
- *
- * r0 holds class
- * r1 holds array length
- */
-.LOP_NEW_ARRAY_JUMBO_finish:
- mov r2, #ALLOC_DONT_TRACK @ don't track in local refs table
- bl dvmAllocArrayByClass @ r0<- call(clazz, length, flags)
- cmp r0, #0 @ failed?
- FETCH(r2, 3) @ r2<- vBBBB
- beq common_exceptionThrown @ yes, handle the exception
- FETCH_ADVANCE_INST(5) @ advance rPC, load rINST
- GET_INST_OPCODE(ip) @ extract opcode from rINST
- SET_VREG(r0, r2) @ vBBBB<- r0
- GOTO_OPCODE(ip) @ jump to next instruction
-
-/* continuation for OP_FILLED_NEW_ARRAY_JUMBO */
-
- /*
- * On entry:
- * r0 holds array class
- */
-.LOP_FILLED_NEW_ARRAY_JUMBO_continue:
- ldr r3, [r0, #offClassObject_descriptor] @ r3<- arrayClass->descriptor
- mov r2, #ALLOC_DONT_TRACK @ r2<- alloc flags
- ldrb rINST, [r3, #1] @ rINST<- descriptor[1]
- FETCH(r1, 3) @ r1<- BBBB (length)
- cmp rINST, #'I' @ array of ints?
- cmpne rINST, #'L' @ array of objects?
- cmpne rINST, #'[' @ array of arrays?
- mov r9, r1 @ save length in r9
- bne .LOP_FILLED_NEW_ARRAY_JUMBO_notimpl @ no, not handled yet
- bl dvmAllocArrayByClass @ r0<- call(arClass, length, flags)
- cmp r0, #0 @ null return?
- beq common_exceptionThrown @ alloc failed, handle exception
-
- FETCH(r1, 4) @ r1<- CCCC
- str r0, [rSELF, #offThread_retval] @ retval.l <- new array
- str rINST, [rSELF, #offThread_retval+4] @ retval.h <- type
- add r0, r0, #offArrayObject_contents @ r0<- newArray->contents
- subs r9, r9, #1 @ length--, check for neg
- FETCH_ADVANCE_INST(5) @ advance to next instr, load rINST
- bmi 2f @ was zero, bail
-
- @ copy values from registers into the array
- @ r0=array, r1=CCCC, r9=BBBB (length)
- add r2, rFP, r1, lsl #2 @ r2<- &fp[CCCC]
-1: ldr r3, [r2], #4 @ r3<- *r2++
- subs r9, r9, #1 @ count--
- str r3, [r0], #4 @ *contents++ = vX
- bpl 1b
-
-2: ldr r0, [rSELF, #offThread_retval] @ r0<- object
- ldr r1, [rSELF, #offThread_retval+4] @ r1<- type
- ldr r2, [rSELF, #offThread_cardTable] @ r2<- card table base
- GET_INST_OPCODE(ip) @ ip<- opcode from rINST
- cmp r1, #'I' @ Is int array?
- strneb r2, [r2, r0, lsr #GC_CARD_SHIFT] @ Mark card based on object head
- GOTO_OPCODE(ip) @ execute it
-
- /*
- * Throw an exception indicating that we have not implemented this
- * mode of filled-new-array.
- */
-.LOP_FILLED_NEW_ARRAY_JUMBO_notimpl:
- ldr r0, .L_strFilledNewArrayNotImpl_OP_FILLED_NEW_ARRAY_JUMBO
- bl dvmThrowInternalError
- b common_exceptionThrown
-
- /*
- * Ideally we'd only define this once, but depending on layout we can
- * exceed the range of the load above.
- */
-
-.L_strFilledNewArrayNotImpl_OP_FILLED_NEW_ARRAY_JUMBO:
- .word .LstrFilledNewArrayNotImpl
-
-/* continuation for OP_IGET_JUMBO */
-
- /*
- * Currently:
- * r0 holds resolved field
- * r9 holds object
- */
-.LOP_IGET_JUMBO_resolved:
- cmp r0, #0 @ resolution unsuccessful?
- beq common_exceptionThrown @ yes, throw exception
- @ fall through to OP_IGET_JUMBO_finish
-
- /*
- * Currently:
- * r0 holds resolved field
- * r9 holds object
- */
-.LOP_IGET_JUMBO_finish:
- @bl common_squeak0
- cmp r9, #0 @ check object for null
- ldr r3, [r0, #offInstField_byteOffset] @ r3<- byte offset of field
- beq common_errNullObject @ object was null
- ldr r0, [r9, r3] @ r0<- obj.field (8/16/32 bits)
- @ no-op @ acquiring load
- FETCH(r2, 3) @ r2<- BBBB
- FETCH_ADVANCE_INST(5) @ advance rPC, load rINST
- SET_VREG(r0, r2) @ fp[BBBB]<- r0
- GET_INST_OPCODE(ip) @ extract opcode from rINST
- GOTO_OPCODE(ip) @ jump to next instruction
-
-/* continuation for OP_IGET_WIDE_JUMBO */
-
- /*
- * Currently:
- * r0 holds resolved field
- * r9 holds object
- */
-.LOP_IGET_WIDE_JUMBO_resolved:
- cmp r0, #0 @ resolution unsuccessful?
- beq common_exceptionThrown @ yes, throw exception
- @ fall through to OP_IGET_WIDE_JUMBO_finish
-
- /*
- * Currently:
- * r0 holds resolved field
- * r9 holds object
- */
-.LOP_IGET_WIDE_JUMBO_finish:
- cmp r9, #0 @ check object for null
- ldr r3, [r0, #offInstField_byteOffset] @ r3<- byte offset of field
- beq common_errNullObject @ object was null
- .if 0
- add r0, r9, r3 @ r0<- address of field
- bl dvmQuasiAtomicRead64 @ r0/r1<- contents of field
- .else
- ldrd r0, [r9, r3] @ r0/r1<- obj.field (64-bit align ok)
- .endif
- FETCH(r2, 3) @ r2<- BBBB
- FETCH_ADVANCE_INST(5) @ advance rPC, load rINST
- add r3, rFP, r2, lsl #2 @ r3<- &fp[BBBB]
- GET_INST_OPCODE(ip) @ extract opcode from rINST
- stmia r3, {r0-r1} @ fp[BBBB]<- r0/r1
- GOTO_OPCODE(ip) @ jump to next instruction
-
-/* continuation for OP_IGET_OBJECT_JUMBO */
-
- /*
- * Currently:
- * r0 holds resolved field
- * r9 holds object
- */
-.LOP_IGET_OBJECT_JUMBO_resolved:
- cmp r0, #0 @ resolution unsuccessful?
- beq common_exceptionThrown @ yes, throw exception
- @ fall through to OP_IGET_OBJECT_JUMBO_finish
-
- /*
- * Currently:
- * r0 holds resolved field
- * r9 holds object
- */
-.LOP_IGET_OBJECT_JUMBO_finish:
- @bl common_squeak0
- cmp r9, #0 @ check object for null
- ldr r3, [r0, #offInstField_byteOffset] @ r3<- byte offset of field
- beq common_errNullObject @ object was null
- ldr r0, [r9, r3] @ r0<- obj.field (8/16/32 bits)
- @ no-op @ acquiring load
- FETCH(r2, 3) @ r2<- BBBB
- FETCH_ADVANCE_INST(5) @ advance rPC, load rINST
- SET_VREG(r0, r2) @ fp[BBBB]<- r0
- GET_INST_OPCODE(ip) @ extract opcode from rINST
- GOTO_OPCODE(ip) @ jump to next instruction
-
-/* continuation for OP_IGET_BOOLEAN_JUMBO */
-
- /*
- * Currently:
- * r0 holds resolved field
- * r9 holds object
- */
-.LOP_IGET_BOOLEAN_JUMBO_resolved:
- cmp r0, #0 @ resolution unsuccessful?
- beq common_exceptionThrown @ yes, throw exception
- @ fall through to OP_IGET_BOOLEAN_JUMBO_finish
-
- /*
- * Currently:
- * r0 holds resolved field
- * r9 holds object
- */
-.LOP_IGET_BOOLEAN_JUMBO_finish:
- @bl common_squeak1
- cmp r9, #0 @ check object for null
- ldr r3, [r0, #offInstField_byteOffset] @ r3<- byte offset of field
- beq common_errNullObject @ object was null
- ldr r0, [r9, r3] @ r0<- obj.field (8/16/32 bits)
- @ no-op @ acquiring load
- FETCH(r2, 3) @ r2<- BBBB
- FETCH_ADVANCE_INST(5) @ advance rPC, load rINST
- SET_VREG(r0, r2) @ fp[BBBB]<- r0
- GET_INST_OPCODE(ip) @ extract opcode from rINST
- GOTO_OPCODE(ip) @ jump to next instruction
-
-/* continuation for OP_IGET_BYTE_JUMBO */
-
- /*
- * Currently:
- * r0 holds resolved field
- * r9 holds object
- */
-.LOP_IGET_BYTE_JUMBO_resolved:
- cmp r0, #0 @ resolution unsuccessful?
- beq common_exceptionThrown @ yes, throw exception
- @ fall through to OP_IGET_BYTE_JUMBO_finish
-
- /*
- * Currently:
- * r0 holds resolved field
- * r9 holds object
- */
-.LOP_IGET_BYTE_JUMBO_finish:
- @bl common_squeak2
- cmp r9, #0 @ check object for null
- ldr r3, [r0, #offInstField_byteOffset] @ r3<- byte offset of field
- beq common_errNullObject @ object was null
- ldr r0, [r9, r3] @ r0<- obj.field (8/16/32 bits)
- @ no-op @ acquiring load
- FETCH(r2, 3) @ r2<- BBBB
- FETCH_ADVANCE_INST(5) @ advance rPC, load rINST
- SET_VREG(r0, r2) @ fp[BBBB]<- r0
- GET_INST_OPCODE(ip) @ extract opcode from rINST
- GOTO_OPCODE(ip) @ jump to next instruction
-
-/* continuation for OP_IGET_CHAR_JUMBO */
-
- /*
- * Currently:
- * r0 holds resolved field
- * r9 holds object
- */
-.LOP_IGET_CHAR_JUMBO_resolved:
- cmp r0, #0 @ resolution unsuccessful?
- beq common_exceptionThrown @ yes, throw exception
- @ fall through to OP_IGET_CHAR_JUMBO_finish
-
- /*
- * Currently:
- * r0 holds resolved field
- * r9 holds object
- */
-.LOP_IGET_CHAR_JUMBO_finish:
- @bl common_squeak3
- cmp r9, #0 @ check object for null
- ldr r3, [r0, #offInstField_byteOffset] @ r3<- byte offset of field
- beq common_errNullObject @ object was null
- ldr r0, [r9, r3] @ r0<- obj.field (8/16/32 bits)
- @ no-op @ acquiring load
- FETCH(r2, 3) @ r2<- BBBB
- FETCH_ADVANCE_INST(5) @ advance rPC, load rINST
- SET_VREG(r0, r2) @ fp[BBBB]<- r0
- GET_INST_OPCODE(ip) @ extract opcode from rINST
- GOTO_OPCODE(ip) @ jump to next instruction
-
-/* continuation for OP_IGET_SHORT_JUMBO */
-
- /*
- * Currently:
- * r0 holds resolved field
- * r9 holds object
- */
-.LOP_IGET_SHORT_JUMBO_resolved:
- cmp r0, #0 @ resolution unsuccessful?
- beq common_exceptionThrown @ yes, throw exception
- @ fall through to OP_IGET_SHORT_JUMBO_finish
-
- /*
- * Currently:
- * r0 holds resolved field
- * r9 holds object
- */
-.LOP_IGET_SHORT_JUMBO_finish:
- @bl common_squeak4
- cmp r9, #0 @ check object for null
- ldr r3, [r0, #offInstField_byteOffset] @ r3<- byte offset of field
- beq common_errNullObject @ object was null
- ldr r0, [r9, r3] @ r0<- obj.field (8/16/32 bits)
- @ no-op @ acquiring load
- FETCH(r2, 3) @ r2<- BBBB
- FETCH_ADVANCE_INST(5) @ advance rPC, load rINST
- SET_VREG(r0, r2) @ fp[BBBB]<- r0
- GET_INST_OPCODE(ip) @ extract opcode from rINST
- GOTO_OPCODE(ip) @ jump to next instruction
-
-/* continuation for OP_IPUT_JUMBO */
-
- /*
- * Currently:
- * r0 holds resolved field
- * r9 holds object
- */
-.LOP_IPUT_JUMBO_resolved:
- cmp r0, #0 @ resolution unsuccessful?
- beq common_exceptionThrown @ yes, throw exception
- @ fall through to OP_IPUT_JUMBO_finish
-
- /*
- * Currently:
- * r0 holds resolved field
- * r9 holds object
- */
-.LOP_IPUT_JUMBO_finish:
- @bl common_squeak0
- ldr r3, [r0, #offInstField_byteOffset] @ r3<- byte offset of field
- FETCH(r1, 3) @ r1<- BBBB
- cmp r9, #0 @ check object for null
- GET_VREG(r0, r1) @ r0<- fp[BBBB]
- beq common_errNullObject @ object was null
- FETCH_ADVANCE_INST(5) @ advance rPC, load rINST
- GET_INST_OPCODE(ip) @ extract opcode from rINST
- @ no-op @ releasing store
- str r0, [r9, r3] @ obj.field (8/16/32 bits)<- r0
- @ no-op
- GOTO_OPCODE(ip) @ jump to next instruction
-
-/* continuation for OP_IPUT_WIDE_JUMBO */
-
- /*
- * Currently:
- * r0 holds resolved field
- * r9 holds object
- */
-.LOP_IPUT_WIDE_JUMBO_resolved:
- cmp r0, #0 @ resolution unsuccessful?
- beq common_exceptionThrown @ yes, throw exception
- @ fall through to OP_IPUT_WIDE_JUMBO_finish
-
- /*
- * Currently:
- * r0 holds resolved field
- * r9 holds object
- */
-.LOP_IPUT_WIDE_JUMBO_finish:
- cmp r9, #0 @ check object for null
- FETCH(r2, 3) @ r1<- BBBB
- ldr r3, [r0, #offInstField_byteOffset] @ r3<- byte offset of field
- add r2, rFP, r2, lsl #2 @ r3<- &fp[BBBB]
- beq common_errNullObject @ object was null
- FETCH_ADVANCE_INST(5) @ advance rPC, load rINST
- ldmia r2, {r0-r1} @ r0/r1<- fp[BBBB]
- GET_INST_OPCODE(r10) @ extract opcode from rINST
- .if 0
- add r2, r9, r3 @ r2<- target address
- bl dvmQuasiAtomicSwap64Sync @ stores r0/r1 into addr r2
- .else
- strd r0, [r9, r3] @ obj.field (64 bits, aligned)<- r0/r1
- .endif
- GOTO_OPCODE(r10) @ jump to next instruction
-
-/* continuation for OP_IPUT_OBJECT_JUMBO */
-
- /*
- * Currently:
- * r0 holds resolved field
- * r9 holds object
- */
-.LOP_IPUT_OBJECT_JUMBO_resolved:
- cmp r0, #0 @ resolution unsuccessful?
- beq common_exceptionThrown @ yes, throw exception
- @ fall through to OP_IPUT_OBJECT_JUMBO_finish
-
- /*
- * Currently:
- * r0 holds resolved field
- * r9 holds object
- */
-.LOP_IPUT_OBJECT_JUMBO_finish:
- @bl common_squeak0
- ldr r3, [r0, #offInstField_byteOffset] @ r3<- byte offset of field
- FETCH(r1, 3) @ r1<- BBBB
- cmp r9, #0 @ check object for null
- GET_VREG(r0, r1) @ r0<- fp[BBBB]
- ldr r2, [rSELF, #offThread_cardTable] @ r2<- card table base
- beq common_errNullObject @ object was null
- FETCH_ADVANCE_INST(5) @ advance rPC, load rINST
- GET_INST_OPCODE(ip) @ extract opcode from rINST
- @ no-op @ releasing store
- str r0, [r9, r3] @ obj.field (32 bits)<- r0
- @ no-op
- cmp r0, #0 @ stored a null reference?
- strneb r2, [r2, r9, lsr #GC_CARD_SHIFT] @ mark card if not
- GOTO_OPCODE(ip) @ jump to next instruction
-
-/* continuation for OP_IPUT_BOOLEAN_JUMBO */
-
- /*
- * Currently:
- * r0 holds resolved field
- * r9 holds object
- */
-.LOP_IPUT_BOOLEAN_JUMBO_resolved:
- cmp r0, #0 @ resolution unsuccessful?
- beq common_exceptionThrown @ yes, throw exception
- @ fall through to OP_IPUT_BOOLEAN_JUMBO_finish
-
- /*
- * Currently:
- * r0 holds resolved field
- * r9 holds object
- */
-.LOP_IPUT_BOOLEAN_JUMBO_finish:
- @bl common_squeak1
- ldr r3, [r0, #offInstField_byteOffset] @ r3<- byte offset of field
- FETCH(r1, 3) @ r1<- BBBB
- cmp r9, #0 @ check object for null
- GET_VREG(r0, r1) @ r0<- fp[BBBB]
- beq common_errNullObject @ object was null
- FETCH_ADVANCE_INST(5) @ advance rPC, load rINST
- GET_INST_OPCODE(ip) @ extract opcode from rINST
- @ no-op @ releasing store
- str r0, [r9, r3] @ obj.field (8/16/32 bits)<- r0
- @ no-op
- GOTO_OPCODE(ip) @ jump to next instruction
-
-/* continuation for OP_IPUT_BYTE_JUMBO */
-
- /*
- * Currently:
- * r0 holds resolved field
- * r9 holds object
- */
-.LOP_IPUT_BYTE_JUMBO_resolved:
- cmp r0, #0 @ resolution unsuccessful?
- beq common_exceptionThrown @ yes, throw exception
- @ fall through to OP_IPUT_BYTE_JUMBO_finish
-
- /*
- * Currently:
- * r0 holds resolved field
- * r9 holds object
- */
-.LOP_IPUT_BYTE_JUMBO_finish:
- @bl common_squeak2
- ldr r3, [r0, #offInstField_byteOffset] @ r3<- byte offset of field
- FETCH(r1, 3) @ r1<- BBBB
- cmp r9, #0 @ check object for null
- GET_VREG(r0, r1) @ r0<- fp[BBBB]
- beq common_errNullObject @ object was null
- FETCH_ADVANCE_INST(5) @ advance rPC, load rINST
- GET_INST_OPCODE(ip) @ extract opcode from rINST
- @ no-op @ releasing store
- str r0, [r9, r3] @ obj.field (8/16/32 bits)<- r0
- @ no-op
- GOTO_OPCODE(ip) @ jump to next instruction
-
-/* continuation for OP_IPUT_CHAR_JUMBO */
-
- /*
- * Currently:
- * r0 holds resolved field
- * r9 holds object
- */
-.LOP_IPUT_CHAR_JUMBO_resolved:
- cmp r0, #0 @ resolution unsuccessful?
- beq common_exceptionThrown @ yes, throw exception
- @ fall through to OP_IPUT_CHAR_JUMBO_finish
-
- /*
- * Currently:
- * r0 holds resolved field
- * r9 holds object
- */
-.LOP_IPUT_CHAR_JUMBO_finish:
- @bl common_squeak3
- ldr r3, [r0, #offInstField_byteOffset] @ r3<- byte offset of field
- FETCH(r1, 3) @ r1<- BBBB
- cmp r9, #0 @ check object for null
- GET_VREG(r0, r1) @ r0<- fp[BBBB]
- beq common_errNullObject @ object was null
- FETCH_ADVANCE_INST(5) @ advance rPC, load rINST
- GET_INST_OPCODE(ip) @ extract opcode from rINST
- @ no-op @ releasing store
- str r0, [r9, r3] @ obj.field (8/16/32 bits)<- r0
- @ no-op
- GOTO_OPCODE(ip) @ jump to next instruction
-
-/* continuation for OP_IPUT_SHORT_JUMBO */
-
- /*
- * Currently:
- * r0 holds resolved field
- * r9 holds object
- */
-.LOP_IPUT_SHORT_JUMBO_resolved:
- cmp r0, #0 @ resolution unsuccessful?
- beq common_exceptionThrown @ yes, throw exception
- @ fall through to OP_IPUT_SHORT_JUMBO_finish
-
- /*
- * Currently:
- * r0 holds resolved field
- * r9 holds object
- */
-.LOP_IPUT_SHORT_JUMBO_finish:
- @bl common_squeak4
- ldr r3, [r0, #offInstField_byteOffset] @ r3<- byte offset of field
- FETCH(r1, 3) @ r1<- BBBB
- cmp r9, #0 @ check object for null
- GET_VREG(r0, r1) @ r0<- fp[BBBB]
- beq common_errNullObject @ object was null
- FETCH_ADVANCE_INST(5) @ advance rPC, load rINST
- GET_INST_OPCODE(ip) @ extract opcode from rINST
- @ no-op @ releasing store
- str r0, [r9, r3] @ obj.field (8/16/32 bits)<- r0
- @ no-op
- GOTO_OPCODE(ip) @ jump to next instruction
-
-/* continuation for OP_SGET_JUMBO */
-
- /*
- * Continuation if the field has not yet been resolved.
- * r1: AAAAAAAA field ref
- * r10: dvmDex->pResFields
- */
-.LOP_SGET_JUMBO_resolve:
- ldr r2, [rSELF, #offThread_method] @ r2<- current method
-#if defined(WITH_JIT)
- add r10, r10, r1, lsl #2 @ r10<- &dvmDex->pResFields[field]
-#endif
- EXPORT_PC() @ resolve() could throw, so export now
- ldr r0, [r2, #offMethod_clazz] @ r0<- method->clazz
- bl dvmResolveStaticField @ r0<- resolved StaticField ptr
- cmp r0, #0 @ success?
- beq common_exceptionThrown @ no, handle exception
-#if defined(WITH_JIT)
- /*
- * If the JIT is actively building a trace we need to make sure
- * that the field is fully resolved before including this instruction.
- */
- bl common_verifyField
-#endif
- b .LOP_SGET_JUMBO_finish @ resume
-
-/* continuation for OP_SGET_WIDE_JUMBO */
-
- /*
- * Continuation if the field has not yet been resolved.
- * r1: AAAAAAAA field ref
- *
- * Returns StaticField pointer in r0.
- */
-.LOP_SGET_WIDE_JUMBO_resolve:
- ldr r2, [rSELF, #offThread_method] @ r2<- current method
- EXPORT_PC() @ resolve() could throw, so export now
- ldr r0, [r2, #offMethod_clazz] @ r0<- method->clazz
- bl dvmResolveStaticField @ r0<- resolved StaticField ptr
- cmp r0, #0 @ success?
- bne .LOP_SGET_WIDE_JUMBO_finish @ yes, finish
- b common_exceptionThrown @ no, handle exception
-
-/* continuation for OP_SGET_OBJECT_JUMBO */
-
- /*
- * Continuation if the field has not yet been resolved.
- * r1: AAAAAAAA field ref
- * r10: dvmDex->pResFields
- */
-.LOP_SGET_OBJECT_JUMBO_resolve:
- ldr r2, [rSELF, #offThread_method] @ r2<- current method
-#if defined(WITH_JIT)
- add r10, r10, r1, lsl #2 @ r10<- &dvmDex->pResFields[field]
-#endif
- EXPORT_PC() @ resolve() could throw, so export now
- ldr r0, [r2, #offMethod_clazz] @ r0<- method->clazz
- bl dvmResolveStaticField @ r0<- resolved StaticField ptr
- cmp r0, #0 @ success?
- beq common_exceptionThrown @ no, handle exception
-#if defined(WITH_JIT)
- /*
- * If the JIT is actively building a trace we need to make sure
- * that the field is fully resolved before including this instruction.
- */
- bl common_verifyField
-#endif
- b .LOP_SGET_OBJECT_JUMBO_finish @ resume
-
-/* continuation for OP_SGET_BOOLEAN_JUMBO */
-
- /*
- * Continuation if the field has not yet been resolved.
- * r1: AAAAAAAA field ref
- * r10: dvmDex->pResFields
- */
-.LOP_SGET_BOOLEAN_JUMBO_resolve:
- ldr r2, [rSELF, #offThread_method] @ r2<- current method
-#if defined(WITH_JIT)
- add r10, r10, r1, lsl #2 @ r10<- &dvmDex->pResFields[field]
-#endif
- EXPORT_PC() @ resolve() could throw, so export now
- ldr r0, [r2, #offMethod_clazz] @ r0<- method->clazz
- bl dvmResolveStaticField @ r0<- resolved StaticField ptr
- cmp r0, #0 @ success?
- beq common_exceptionThrown @ no, handle exception
-#if defined(WITH_JIT)
- /*
- * If the JIT is actively building a trace we need to make sure
- * that the field is fully resolved before including this instruction.
- */
- bl common_verifyField
-#endif
- b .LOP_SGET_BOOLEAN_JUMBO_finish @ resume
-
-/* continuation for OP_SGET_BYTE_JUMBO */
-
- /*
- * Continuation if the field has not yet been resolved.
- * r1: AAAAAAAA field ref
- * r10: dvmDex->pResFields
- */
-.LOP_SGET_BYTE_JUMBO_resolve:
- ldr r2, [rSELF, #offThread_method] @ r2<- current method
-#if defined(WITH_JIT)
- add r10, r10, r1, lsl #2 @ r10<- &dvmDex->pResFields[field]
-#endif
- EXPORT_PC() @ resolve() could throw, so export now
- ldr r0, [r2, #offMethod_clazz] @ r0<- method->clazz
- bl dvmResolveStaticField @ r0<- resolved StaticField ptr
- cmp r0, #0 @ success?
- beq common_exceptionThrown @ no, handle exception
-#if defined(WITH_JIT)
- /*
- * If the JIT is actively building a trace we need to make sure
- * that the field is fully resolved before including this instruction.
- */
- bl common_verifyField
-#endif
- b .LOP_SGET_BYTE_JUMBO_finish @ resume
-
-/* continuation for OP_SGET_CHAR_JUMBO */
-
- /*
- * Continuation if the field has not yet been resolved.
- * r1: AAAAAAAA field ref
- * r10: dvmDex->pResFields
- */
-.LOP_SGET_CHAR_JUMBO_resolve:
- ldr r2, [rSELF, #offThread_method] @ r2<- current method
-#if defined(WITH_JIT)
- add r10, r10, r1, lsl #2 @ r10<- &dvmDex->pResFields[field]
-#endif
- EXPORT_PC() @ resolve() could throw, so export now
- ldr r0, [r2, #offMethod_clazz] @ r0<- method->clazz
- bl dvmResolveStaticField @ r0<- resolved StaticField ptr
- cmp r0, #0 @ success?
- beq common_exceptionThrown @ no, handle exception
-#if defined(WITH_JIT)
- /*
- * If the JIT is actively building a trace we need to make sure
- * that the field is fully resolved before including this instruction.
- */
- bl common_verifyField
-#endif
- b .LOP_SGET_CHAR_JUMBO_finish @ resume
-
-/* continuation for OP_SGET_SHORT_JUMBO */
-
- /*
- * Continuation if the field has not yet been resolved.
- * r1: AAAAAAAA field ref
- * r10: dvmDex->pResFields
- */
-.LOP_SGET_SHORT_JUMBO_resolve:
- ldr r2, [rSELF, #offThread_method] @ r2<- current method
-#if defined(WITH_JIT)
- add r10, r10, r1, lsl #2 @ r10<- &dvmDex->pResFields[field]
-#endif
- EXPORT_PC() @ resolve() could throw, so export now
- ldr r0, [r2, #offMethod_clazz] @ r0<- method->clazz
- bl dvmResolveStaticField @ r0<- resolved StaticField ptr
- cmp r0, #0 @ success?
- beq common_exceptionThrown @ no, handle exception
-#if defined(WITH_JIT)
- /*
- * If the JIT is actively building a trace we need to make sure
- * that the field is fully resolved before including this instruction.
- */
- bl common_verifyField
-#endif
- b .LOP_SGET_SHORT_JUMBO_finish @ resume
-
-/* continuation for OP_SPUT_JUMBO */
-
- /*
- * Continuation if the field has not yet been resolved.
- * r1: AAAAAAAA field ref
- * r10: dvmDex->pResFields
- */
-.LOP_SPUT_JUMBO_resolve:
- ldr r2, [rSELF, #offThread_method] @ r2<- current method
-#if defined(WITH_JIT)
- add r10, r10, r1, lsl #2 @ r10<- &dvmDex->pResFields[field]
-#endif
- EXPORT_PC() @ resolve() could throw, so export now
- ldr r0, [r2, #offMethod_clazz] @ r0<- method->clazz
- bl dvmResolveStaticField @ r0<- resolved StaticField ptr
- cmp r0, #0 @ success?
- beq common_exceptionThrown @ no, handle exception
-#if defined(WITH_JIT)
- /*
- * If the JIT is actively building a trace we need to make sure
- * that the field is fully resolved before including this instruction.
- */
- bl common_verifyField
-#endif
- b .LOP_SPUT_JUMBO_finish @ resume
-
-/* continuation for OP_SPUT_WIDE_JUMBO */
-
- /*
- * Continuation if the field has not yet been resolved.
- * r1: AAAAAAAA field ref
- * r9: &fp[BBBB]
- * r10: dvmDex->pResFields
- *
- * Returns StaticField pointer in r2.
- */
-.LOP_SPUT_WIDE_JUMBO_resolve:
- ldr r2, [rSELF, #offThread_method] @ r2<- current method
-#if defined(WITH_JIT)
- add r10, r10, r1, lsl #2 @ r10<- &dvmDex->pResFields[field]
-#endif
- EXPORT_PC() @ resolve() could throw, so export now
- ldr r0, [r2, #offMethod_clazz] @ r0<- method->clazz
- bl dvmResolveStaticField @ r0<- resolved StaticField ptr
- cmp r0, #0 @ success?
- mov r2, r0 @ copy to r2
- beq common_exceptionThrown @ no, handle exception
-#if defined(WITH_JIT)
- /*
- * If the JIT is actively building a trace we need to make sure
- * that the field is fully resolved before including this instruction.
- */
- bl common_verifyField
-#endif
- b .LOP_SPUT_WIDE_JUMBO_finish @ resume
-
-/* continuation for OP_SPUT_OBJECT_JUMBO */
-
-
-.LOP_SPUT_OBJECT_JUMBO_end:
- str r1, [r0, #offStaticField_value] @ field<- vBBBB
- @ no-op
- cmp r1, #0 @ stored a null object?
- strneb r2, [r2, r9, lsr #GC_CARD_SHIFT] @ mark card based on obj head
- GOTO_OPCODE(ip) @ jump to next instruction
-
- /* Continuation if the field has not yet been resolved.
- * r1: AAAAaaaa field ref
- * r10: dvmDex->pResFields
- */
-.LOP_SPUT_OBJECT_JUMBO_resolve:
- ldr r2, [rSELF, #offThread_method] @ r9<- current method
-#if defined(WITH_JIT)
- add r10, r10, r1, lsl #2 @ r10<- &dvmDex->pResFields[field]
-#endif
- EXPORT_PC() @ resolve() could throw, so export now
- ldr r0, [r2, #offMethod_clazz] @ r0<- method->clazz
- bl dvmResolveStaticField @ r0<- resolved StaticField ptr
- cmp r0, #0 @ success?
- beq common_exceptionThrown @ no, handle exception
-#if defined(WITH_JIT)
- /*
- * If the JIT is actively building a trace we need to make sure
- * that the field is fully resolved before including this instruction.
- */
- bl common_verifyField
-#endif
- b .LOP_SPUT_OBJECT_JUMBO_finish @ resume
-
-
-/* continuation for OP_SPUT_BOOLEAN_JUMBO */
-
- /*
- * Continuation if the field has not yet been resolved.
- * r1: AAAAAAAA field ref
- * r10: dvmDex->pResFields
- */
-.LOP_SPUT_BOOLEAN_JUMBO_resolve:
- ldr r2, [rSELF, #offThread_method] @ r2<- current method
-#if defined(WITH_JIT)
- add r10, r10, r1, lsl #2 @ r10<- &dvmDex->pResFields[field]
-#endif
- EXPORT_PC() @ resolve() could throw, so export now
- ldr r0, [r2, #offMethod_clazz] @ r0<- method->clazz
- bl dvmResolveStaticField @ r0<- resolved StaticField ptr
- cmp r0, #0 @ success?
- beq common_exceptionThrown @ no, handle exception
-#if defined(WITH_JIT)
- /*
- * If the JIT is actively building a trace we need to make sure
- * that the field is fully resolved before including this instruction.
- */
- bl common_verifyField
-#endif
- b .LOP_SPUT_BOOLEAN_JUMBO_finish @ resume
-
-/* continuation for OP_SPUT_BYTE_JUMBO */
-
- /*
- * Continuation if the field has not yet been resolved.
- * r1: AAAAAAAA field ref
- * r10: dvmDex->pResFields
- */
-.LOP_SPUT_BYTE_JUMBO_resolve:
- ldr r2, [rSELF, #offThread_method] @ r2<- current method
-#if defined(WITH_JIT)
- add r10, r10, r1, lsl #2 @ r10<- &dvmDex->pResFields[field]
-#endif
- EXPORT_PC() @ resolve() could throw, so export now
- ldr r0, [r2, #offMethod_clazz] @ r0<- method->clazz
- bl dvmResolveStaticField @ r0<- resolved StaticField ptr
- cmp r0, #0 @ success?
- beq common_exceptionThrown @ no, handle exception
-#if defined(WITH_JIT)
- /*
- * If the JIT is actively building a trace we need to make sure
- * that the field is fully resolved before including this instruction.
- */
- bl common_verifyField
-#endif
- b .LOP_SPUT_BYTE_JUMBO_finish @ resume
-
-/* continuation for OP_SPUT_CHAR_JUMBO */
-
- /*
- * Continuation if the field has not yet been resolved.
- * r1: AAAAAAAA field ref
- * r10: dvmDex->pResFields
- */
-.LOP_SPUT_CHAR_JUMBO_resolve:
- ldr r2, [rSELF, #offThread_method] @ r2<- current method
-#if defined(WITH_JIT)
- add r10, r10, r1, lsl #2 @ r10<- &dvmDex->pResFields[field]
-#endif
- EXPORT_PC() @ resolve() could throw, so export now
- ldr r0, [r2, #offMethod_clazz] @ r0<- method->clazz
- bl dvmResolveStaticField @ r0<- resolved StaticField ptr
- cmp r0, #0 @ success?
- beq common_exceptionThrown @ no, handle exception
-#if defined(WITH_JIT)
- /*
- * If the JIT is actively building a trace we need to make sure
- * that the field is fully resolved before including this instruction.
- */
- bl common_verifyField
-#endif
- b .LOP_SPUT_CHAR_JUMBO_finish @ resume
-
-/* continuation for OP_SPUT_SHORT_JUMBO */
-
- /*
- * Continuation if the field has not yet been resolved.
- * r1: AAAAAAAA field ref
- * r10: dvmDex->pResFields
- */
-.LOP_SPUT_SHORT_JUMBO_resolve:
- ldr r2, [rSELF, #offThread_method] @ r2<- current method
-#if defined(WITH_JIT)
- add r10, r10, r1, lsl #2 @ r10<- &dvmDex->pResFields[field]
-#endif
- EXPORT_PC() @ resolve() could throw, so export now
- ldr r0, [r2, #offMethod_clazz] @ r0<- method->clazz
- bl dvmResolveStaticField @ r0<- resolved StaticField ptr
- cmp r0, #0 @ success?
- beq common_exceptionThrown @ no, handle exception
-#if defined(WITH_JIT)
- /*
- * If the JIT is actively building a trace we need to make sure
- * that the field is fully resolved before including this instruction.
- */
- bl common_verifyField
-#endif
- b .LOP_SPUT_SHORT_JUMBO_finish @ resume
-
-/* continuation for OP_INVOKE_VIRTUAL_JUMBO */
-
- /*
- * At this point:
- * r0 = resolved base method
- */
-.LOP_INVOKE_VIRTUAL_JUMBO_continue:
- FETCH(r10, 4) @ r10<- CCCC
- GET_VREG(r9, r10) @ r9<- "this" ptr
- ldrh r2, [r0, #offMethod_methodIndex] @ r2<- baseMethod->methodIndex
- cmp r9, #0 @ is "this" null?
- beq common_errNullObject @ null "this", throw exception
- ldr r3, [r9, #offObject_clazz] @ r3<- thisPtr->clazz
- ldr r3, [r3, #offClassObject_vtable] @ r3<- thisPtr->clazz->vtable
- ldr r0, [r3, r2, lsl #2] @ r3<- vtable[methodIndex]
- bl common_invokeMethodJumbo @ (r0=method, r9="this")
-
-/* continuation for OP_INVOKE_SUPER_JUMBO */
-
- /*
- * At this point:
- * r0 = resolved base method
- * r10 = method->clazz
- */
-.LOP_INVOKE_SUPER_JUMBO_continue:
- ldr r1, [r10, #offClassObject_super] @ r1<- method->clazz->super
- ldrh r2, [r0, #offMethod_methodIndex] @ r2<- baseMethod->methodIndex
- ldr r3, [r1, #offClassObject_vtableCount] @ r3<- super->vtableCount
- EXPORT_PC() @ must export for invoke
- cmp r2, r3 @ compare (methodIndex, vtableCount)
- bcs .LOP_INVOKE_SUPER_JUMBO_nsm @ method not present in superclass
- ldr r1, [r1, #offClassObject_vtable] @ r1<- ...clazz->super->vtable
- ldr r0, [r1, r2, lsl #2] @ r3<- vtable[methodIndex]
- bl common_invokeMethodJumbo @ (r0=method, r9="this")
-
-.LOP_INVOKE_SUPER_JUMBO_resolve:
- mov r0, r10 @ r0<- method->clazz
- mov r2, #METHOD_VIRTUAL @ resolver method type
- bl dvmResolveMethod @ r0<- call(clazz, ref, flags)
- cmp r0, #0 @ got null?
- bne .LOP_INVOKE_SUPER_JUMBO_continue @ no, continue
- b common_exceptionThrown @ yes, handle exception
-
- /*
- * Throw a NoSuchMethodError with the method name as the message.
- * r0 = resolved base method
- */
-.LOP_INVOKE_SUPER_JUMBO_nsm:
- ldr r1, [r0, #offMethod_name] @ r1<- method name
- b common_errNoSuchMethod
-
-/* continuation for OP_INVOKE_DIRECT_JUMBO */
-
- /*
- * On entry:
- * r1 = reference (CCCC)
- * r10 = "this" register
- */
-.LOP_INVOKE_DIRECT_JUMBO_resolve:
- ldr r3, [rSELF, #offThread_method] @ r3<- self->method
- ldr r0, [r3, #offMethod_clazz] @ r0<- method->clazz
- mov r2, #METHOD_DIRECT @ resolver method type
- bl dvmResolveMethod @ r0<- call(clazz, ref, flags)
- cmp r0, #0 @ got null?
- bne .LOP_INVOKE_DIRECT_JUMBO_finish @ no, continue
- b common_exceptionThrown @ yes, handle exception
-
-/* continuation for OP_INVOKE_STATIC_JUMBO */
-
-
-.LOP_INVOKE_STATIC_JUMBO_resolve:
- ldr r3, [rSELF, #offThread_method] @ r3<- self->method
- ldr r0, [r3, #offMethod_clazz] @ r0<- method->clazz
- mov r2, #METHOD_STATIC @ resolver method type
- bl dvmResolveMethod @ r0<- call(clazz, ref, flags)
- cmp r0, #0 @ got null?
-#if defined(WITH_JIT)
- /*
- * Check to see if we're actively building a trace. If so,
- * we need to keep this instruction out of it.
- * r10: &resolved_methodToCall
- */
- ldrh r2, [rSELF, #offThread_subMode]
- beq common_exceptionThrown @ null, handle exception
- ands r2, #kSubModeJitTraceBuild @ trace under construction?
- beq common_invokeMethodJumboNoThis @ no (r0=method, r9="this")
- ldr r1, [r10] @ reload resolved method
- cmp r1, #0 @ finished resolving?
- bne common_invokeMethodJumboNoThis @ yes (r0=method, r9="this")
- mov r10, r0 @ preserve method
- mov r0, rSELF
- mov r1, rPC
- bl dvmJitEndTraceSelect @ (self, pc)
- mov r0, r10
- b common_invokeMethodJumboNoThis @ whew, finally!
-#else
- bne common_invokeMethodJumboNoThis @ (r0=method, r9="this")
- b common_exceptionThrown @ yes, handle exception
-#endif
-
-/* continuation for OP_INVOKE_OBJECT_INIT_JUMBO */
-
-.LOP_INVOKE_OBJECT_INIT_JUMBO_setFinal:
- EXPORT_PC() @ can throw
- bl dvmSetFinalizable @ call dvmSetFinalizable(obj)
- ldr r0, [rSELF, #offThread_exception] @ r0<- self->exception
- cmp r0, #0 @ exception pending?
- bne common_exceptionThrown @ yes, handle it
- b .LOP_INVOKE_OBJECT_INIT_JUMBO_finish
-
- /*
- * A debugger is attached, so we need to go ahead and do
- * this. For simplicity, we'll just jump directly to the
- * corresponding handler. Note that we can't use
- * rIBASE here because it may be in single-step mode.
- * Load the primary table base directly.
- */
-.LOP_INVOKE_OBJECT_INIT_JUMBO_debugger:
- ldr r1, [rSELF, #offThread_mainHandlerTable]
- .if 1
- mov ip, #OP_INVOKE_DIRECT_JUMBO
- .else
- mov ip, #OP_INVOKE_DIRECT_RANGE
- .endif
- GOTO_OPCODE_BASE(r1,ip) @ execute it
-
-/* continuation for OP_IGET_VOLATILE_JUMBO */
-
- /*
- * Currently:
- * r0 holds resolved field
- * r9 holds object
- */
-.LOP_IGET_VOLATILE_JUMBO_resolved:
- cmp r0, #0 @ resolution unsuccessful?
- beq common_exceptionThrown @ yes, throw exception
- @ fall through to OP_IGET_VOLATILE_JUMBO_finish
-
- /*
- * Currently:
- * r0 holds resolved field
- * r9 holds object
- */
-.LOP_IGET_VOLATILE_JUMBO_finish:
- @bl common_squeak0
- cmp r9, #0 @ check object for null
- ldr r3, [r0, #offInstField_byteOffset] @ r3<- byte offset of field
- beq common_errNullObject @ object was null
- ldr r0, [r9, r3] @ r0<- obj.field (8/16/32 bits)
- SMP_DMB @ acquiring load
- FETCH(r2, 3) @ r2<- BBBB
- FETCH_ADVANCE_INST(5) @ advance rPC, load rINST
- SET_VREG(r0, r2) @ fp[BBBB]<- r0
- GET_INST_OPCODE(ip) @ extract opcode from rINST
- GOTO_OPCODE(ip) @ jump to next instruction
-
-/* continuation for OP_IGET_WIDE_VOLATILE_JUMBO */
-
- /*
- * Currently:
- * r0 holds resolved field
- * r9 holds object
- */
-.LOP_IGET_WIDE_VOLATILE_JUMBO_resolved:
- cmp r0, #0 @ resolution unsuccessful?
- beq common_exceptionThrown @ yes, throw exception
- @ fall through to OP_IGET_WIDE_VOLATILE_JUMBO_finish
-
- /*
- * Currently:
- * r0 holds resolved field
- * r9 holds object
- */
-.LOP_IGET_WIDE_VOLATILE_JUMBO_finish:
- cmp r9, #0 @ check object for null
- ldr r3, [r0, #offInstField_byteOffset] @ r3<- byte offset of field
- beq common_errNullObject @ object was null
- .if 1
- add r0, r9, r3 @ r0<- address of field
- bl dvmQuasiAtomicRead64 @ r0/r1<- contents of field
- .else
- ldrd r0, [r9, r3] @ r0/r1<- obj.field (64-bit align ok)
- .endif
- FETCH(r2, 3) @ r2<- BBBB
- FETCH_ADVANCE_INST(5) @ advance rPC, load rINST
- add r3, rFP, r2, lsl #2 @ r3<- &fp[BBBB]
- GET_INST_OPCODE(ip) @ extract opcode from rINST
- stmia r3, {r0-r1} @ fp[BBBB]<- r0/r1
- GOTO_OPCODE(ip) @ jump to next instruction
-
-/* continuation for OP_IGET_OBJECT_VOLATILE_JUMBO */
-
- /*
- * Currently:
- * r0 holds resolved field
- * r9 holds object
- */
-.LOP_IGET_OBJECT_VOLATILE_JUMBO_resolved:
- cmp r0, #0 @ resolution unsuccessful?
- beq common_exceptionThrown @ yes, throw exception
- @ fall through to OP_IGET_OBJECT_VOLATILE_JUMBO_finish
-
- /*
- * Currently:
- * r0 holds resolved field
- * r9 holds object
- */
-.LOP_IGET_OBJECT_VOLATILE_JUMBO_finish:
- @bl common_squeak0
- cmp r9, #0 @ check object for null
- ldr r3, [r0, #offInstField_byteOffset] @ r3<- byte offset of field
- beq common_errNullObject @ object was null
- ldr r0, [r9, r3] @ r0<- obj.field (8/16/32 bits)
- SMP_DMB @ acquiring load
- FETCH(r2, 3) @ r2<- BBBB
- FETCH_ADVANCE_INST(5) @ advance rPC, load rINST
- SET_VREG(r0, r2) @ fp[BBBB]<- r0
- GET_INST_OPCODE(ip) @ extract opcode from rINST
- GOTO_OPCODE(ip) @ jump to next instruction
-
-/* continuation for OP_IPUT_VOLATILE_JUMBO */
-
- /*
- * Currently:
- * r0 holds resolved field
- * r9 holds object
- */
-.LOP_IPUT_VOLATILE_JUMBO_resolved:
- cmp r0, #0 @ resolution unsuccessful?
- beq common_exceptionThrown @ yes, throw exception
- @ fall through to OP_IPUT_VOLATILE_JUMBO_finish
-
- /*
- * Currently:
- * r0 holds resolved field
- * r9 holds object
- */
-.LOP_IPUT_VOLATILE_JUMBO_finish:
- @bl common_squeak0
- ldr r3, [r0, #offInstField_byteOffset] @ r3<- byte offset of field
- FETCH(r1, 3) @ r1<- BBBB
- cmp r9, #0 @ check object for null
- GET_VREG(r0, r1) @ r0<- fp[BBBB]
- beq common_errNullObject @ object was null
- FETCH_ADVANCE_INST(5) @ advance rPC, load rINST
- GET_INST_OPCODE(ip) @ extract opcode from rINST
- SMP_DMB_ST @ releasing store
- str r0, [r9, r3] @ obj.field (8/16/32 bits)<- r0
- SMP_DMB
- GOTO_OPCODE(ip) @ jump to next instruction
-
-/* continuation for OP_IPUT_WIDE_VOLATILE_JUMBO */
-
- /*
- * Currently:
- * r0 holds resolved field
- * r9 holds object
- */
-.LOP_IPUT_WIDE_VOLATILE_JUMBO_resolved:
- cmp r0, #0 @ resolution unsuccessful?
- beq common_exceptionThrown @ yes, throw exception
- @ fall through to OP_IPUT_WIDE_VOLATILE_JUMBO_finish
-
- /*
- * Currently:
- * r0 holds resolved field
- * r9 holds object
- */
-.LOP_IPUT_WIDE_VOLATILE_JUMBO_finish:
- cmp r9, #0 @ check object for null
- FETCH(r2, 3) @ r1<- BBBB
- ldr r3, [r0, #offInstField_byteOffset] @ r3<- byte offset of field
- add r2, rFP, r2, lsl #2 @ r3<- &fp[BBBB]
- beq common_errNullObject @ object was null
- FETCH_ADVANCE_INST(5) @ advance rPC, load rINST
- ldmia r2, {r0-r1} @ r0/r1<- fp[BBBB]
- GET_INST_OPCODE(r10) @ extract opcode from rINST
- .if 1
- add r2, r9, r3 @ r2<- target address
- bl dvmQuasiAtomicSwap64Sync @ stores r0/r1 into addr r2
- .else
- strd r0, [r9, r3] @ obj.field (64 bits, aligned)<- r0/r1
- .endif
- GOTO_OPCODE(r10) @ jump to next instruction
-
-/* continuation for OP_IPUT_OBJECT_VOLATILE_JUMBO */
-
- /*
- * Currently:
- * r0 holds resolved field
- * r9 holds object
- */
-.LOP_IPUT_OBJECT_VOLATILE_JUMBO_resolved:
- cmp r0, #0 @ resolution unsuccessful?
- beq common_exceptionThrown @ yes, throw exception
- @ fall through to OP_IPUT_OBJECT_VOLATILE_JUMBO_finish
-
- /*
- * Currently:
- * r0 holds resolved field
- * r9 holds object
- */
-.LOP_IPUT_OBJECT_VOLATILE_JUMBO_finish:
- @bl common_squeak0
- ldr r3, [r0, #offInstField_byteOffset] @ r3<- byte offset of field
- FETCH(r1, 3) @ r1<- BBBB
- cmp r9, #0 @ check object for null
- GET_VREG(r0, r1) @ r0<- fp[BBBB]
- ldr r2, [rSELF, #offThread_cardTable] @ r2<- card table base
- beq common_errNullObject @ object was null
- FETCH_ADVANCE_INST(5) @ advance rPC, load rINST
- GET_INST_OPCODE(ip) @ extract opcode from rINST
- SMP_DMB_ST @ releasing store
- str r0, [r9, r3] @ obj.field (32 bits)<- r0
- SMP_DMB
- cmp r0, #0 @ stored a null reference?
- strneb r2, [r2, r9, lsr #GC_CARD_SHIFT] @ mark card if not
- GOTO_OPCODE(ip) @ jump to next instruction
-
-/* continuation for OP_SGET_VOLATILE_JUMBO */
-
- /*
- * Continuation if the field has not yet been resolved.
- * r1: AAAAAAAA field ref
- * r10: dvmDex->pResFields
- */
-.LOP_SGET_VOLATILE_JUMBO_resolve:
- ldr r2, [rSELF, #offThread_method] @ r2<- current method
-#if defined(WITH_JIT)
- add r10, r10, r1, lsl #2 @ r10<- &dvmDex->pResFields[field]
-#endif
- EXPORT_PC() @ resolve() could throw, so export now
- ldr r0, [r2, #offMethod_clazz] @ r0<- method->clazz
- bl dvmResolveStaticField @ r0<- resolved StaticField ptr
- cmp r0, #0 @ success?
- beq common_exceptionThrown @ no, handle exception
-#if defined(WITH_JIT)
- /*
- * If the JIT is actively building a trace we need to make sure
- * that the field is fully resolved before including this instruction.
- */
- bl common_verifyField
-#endif
- b .LOP_SGET_VOLATILE_JUMBO_finish @ resume
-
-/* continuation for OP_SGET_WIDE_VOLATILE_JUMBO */
-
- /*
- * Continuation if the field has not yet been resolved.
- * r1: AAAAAAAA field ref
- *
- * Returns StaticField pointer in r0.
- */
-.LOP_SGET_WIDE_VOLATILE_JUMBO_resolve:
- ldr r2, [rSELF, #offThread_method] @ r2<- current method
- EXPORT_PC() @ resolve() could throw, so export now
- ldr r0, [r2, #offMethod_clazz] @ r0<- method->clazz
- bl dvmResolveStaticField @ r0<- resolved StaticField ptr
- cmp r0, #0 @ success?
- bne .LOP_SGET_WIDE_VOLATILE_JUMBO_finish @ yes, finish
- b common_exceptionThrown @ no, handle exception
-
-/* continuation for OP_SGET_OBJECT_VOLATILE_JUMBO */
-
- /*
- * Continuation if the field has not yet been resolved.
- * r1: AAAAAAAA field ref
- * r10: dvmDex->pResFields
- */
-.LOP_SGET_OBJECT_VOLATILE_JUMBO_resolve:
- ldr r2, [rSELF, #offThread_method] @ r2<- current method
-#if defined(WITH_JIT)
- add r10, r10, r1, lsl #2 @ r10<- &dvmDex->pResFields[field]
-#endif
- EXPORT_PC() @ resolve() could throw, so export now
- ldr r0, [r2, #offMethod_clazz] @ r0<- method->clazz
- bl dvmResolveStaticField @ r0<- resolved StaticField ptr
- cmp r0, #0 @ success?
- beq common_exceptionThrown @ no, handle exception
-#if defined(WITH_JIT)
- /*
- * If the JIT is actively building a trace we need to make sure
- * that the field is fully resolved before including this instruction.
- */
- bl common_verifyField
-#endif
- b .LOP_SGET_OBJECT_VOLATILE_JUMBO_finish @ resume
-
-/* continuation for OP_SPUT_VOLATILE_JUMBO */
-
- /*
- * Continuation if the field has not yet been resolved.
- * r1: AAAAAAAA field ref
- * r10: dvmDex->pResFields
- */
-.LOP_SPUT_VOLATILE_JUMBO_resolve:
- ldr r2, [rSELF, #offThread_method] @ r2<- current method
-#if defined(WITH_JIT)
- add r10, r10, r1, lsl #2 @ r10<- &dvmDex->pResFields[field]
-#endif
- EXPORT_PC() @ resolve() could throw, so export now
- ldr r0, [r2, #offMethod_clazz] @ r0<- method->clazz
- bl dvmResolveStaticField @ r0<- resolved StaticField ptr
- cmp r0, #0 @ success?
- beq common_exceptionThrown @ no, handle exception
-#if defined(WITH_JIT)
- /*
- * If the JIT is actively building a trace we need to make sure
- * that the field is fully resolved before including this instruction.
- */
- bl common_verifyField
-#endif
- b .LOP_SPUT_VOLATILE_JUMBO_finish @ resume
-
-/* continuation for OP_SPUT_WIDE_VOLATILE_JUMBO */
-
- /*
- * Continuation if the field has not yet been resolved.
- * r1: AAAAAAAA field ref
- * r9: &fp[BBBB]
- * r10: dvmDex->pResFields
- *
- * Returns StaticField pointer in r2.
- */
-.LOP_SPUT_WIDE_VOLATILE_JUMBO_resolve:
- ldr r2, [rSELF, #offThread_method] @ r2<- current method
-#if defined(WITH_JIT)
- add r10, r10, r1, lsl #2 @ r10<- &dvmDex->pResFields[field]
-#endif
- EXPORT_PC() @ resolve() could throw, so export now
- ldr r0, [r2, #offMethod_clazz] @ r0<- method->clazz
- bl dvmResolveStaticField @ r0<- resolved StaticField ptr
- cmp r0, #0 @ success?
- mov r2, r0 @ copy to r2
- beq common_exceptionThrown @ no, handle exception
-#if defined(WITH_JIT)
- /*
- * If the JIT is actively building a trace we need to make sure
- * that the field is fully resolved before including this instruction.
- */
- bl common_verifyField
-#endif
- b .LOP_SPUT_WIDE_VOLATILE_JUMBO_finish @ resume
-
-/* continuation for OP_SPUT_OBJECT_VOLATILE_JUMBO */
-
-
-.LOP_SPUT_OBJECT_VOLATILE_JUMBO_end:
- str r1, [r0, #offStaticField_value] @ field<- vBBBB
- SMP_DMB
- cmp r1, #0 @ stored a null object?
- strneb r2, [r2, r9, lsr #GC_CARD_SHIFT] @ mark card based on obj head
- GOTO_OPCODE(ip) @ jump to next instruction
-
- /* Continuation if the field has not yet been resolved.
- * r1: AAAAaaaa field ref
- * r10: dvmDex->pResFields
- */
-.LOP_SPUT_OBJECT_VOLATILE_JUMBO_resolve:
- ldr r2, [rSELF, #offThread_method] @ r9<- current method
-#if defined(WITH_JIT)
- add r10, r10, r1, lsl #2 @ r10<- &dvmDex->pResFields[field]
-#endif
- EXPORT_PC() @ resolve() could throw, so export now
- ldr r0, [r2, #offMethod_clazz] @ r0<- method->clazz
- bl dvmResolveStaticField @ r0<- resolved StaticField ptr
- cmp r0, #0 @ success?
- beq common_exceptionThrown @ no, handle exception
-#if defined(WITH_JIT)
- /*
- * If the JIT is actively building a trace we need to make sure
- * that the field is fully resolved before including this instruction.
- */
- bl common_verifyField
-#endif
- b .LOP_SPUT_OBJECT_VOLATILE_JUMBO_finish @ resume
-
-
.size dvmAsmSisterStart, .-dvmAsmSisterStart
.global dvmAsmSisterEnd
dvmAsmSisterEnd:
@@ -20321,5449 +15615,7 @@ dvmAsmAltInstructionStart = .L_ALT_OP_NOP
/* ------------------------------ */
.balign 64
-.L_ALT_OP_DISPATCH_FF: /* 0xff */
-/* File: armv5te/ALT_OP_DISPATCH_FF.S */
-/*
- * Unlike other alt stubs, we don't want to call dvmCheckBefore() here.
- * Instead, just treat this as a trampoline to reach the real alt
- * handler (which will do the dvmCheckBefore() call.
- */
- mov ip, rINST, lsr #8 @ ip<- extended opcode
- add ip, ip, #256 @ add offset for extended opcodes
- GOTO_OPCODE(ip) @ go to proper extended handler
-
-
-/* ------------------------------ */
- .balign 64
-.L_ALT_OP_CONST_CLASS_JUMBO: /* 0x100 */
-/* File: armv5te/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Note that the call to dvmCheckBefore is done as a tail call.
- * rIBASE updates won't be seen until a refresh, and we can tell we have a
- * stale rIBASE if breakFlags==0. Always refresh rIBASE here, and then
- * bail to the real handler if breakFlags==0.
- */
- ldrb r3, [rSELF, #offThread_breakFlags]
- adrl lr, dvmAsmInstructionStart + (256 * 64)
- ldr rIBASE, [rSELF, #offThread_curHandlerTable]
- cmp r3, #0
- bxeq lr @ nothing to do - jump to real handler
- EXPORT_PC()
- mov r0, rPC @ arg0
- mov r1, rFP @ arg1
- mov r2, rSELF @ arg2
- b dvmCheckBefore @ (dPC,dFP,self) tail call
-
-/* ------------------------------ */
- .balign 64
-.L_ALT_OP_CHECK_CAST_JUMBO: /* 0x101 */
-/* File: armv5te/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Note that the call to dvmCheckBefore is done as a tail call.
- * rIBASE updates won't be seen until a refresh, and we can tell we have a
- * stale rIBASE if breakFlags==0. Always refresh rIBASE here, and then
- * bail to the real handler if breakFlags==0.
- */
- ldrb r3, [rSELF, #offThread_breakFlags]
- adrl lr, dvmAsmInstructionStart + (257 * 64)
- ldr rIBASE, [rSELF, #offThread_curHandlerTable]
- cmp r3, #0
- bxeq lr @ nothing to do - jump to real handler
- EXPORT_PC()
- mov r0, rPC @ arg0
- mov r1, rFP @ arg1
- mov r2, rSELF @ arg2
- b dvmCheckBefore @ (dPC,dFP,self) tail call
-
-/* ------------------------------ */
- .balign 64
-.L_ALT_OP_INSTANCE_OF_JUMBO: /* 0x102 */
-/* File: armv5te/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Note that the call to dvmCheckBefore is done as a tail call.
- * rIBASE updates won't be seen until a refresh, and we can tell we have a
- * stale rIBASE if breakFlags==0. Always refresh rIBASE here, and then
- * bail to the real handler if breakFlags==0.
- */
- ldrb r3, [rSELF, #offThread_breakFlags]
- adrl lr, dvmAsmInstructionStart + (258 * 64)
- ldr rIBASE, [rSELF, #offThread_curHandlerTable]
- cmp r3, #0
- bxeq lr @ nothing to do - jump to real handler
- EXPORT_PC()
- mov r0, rPC @ arg0
- mov r1, rFP @ arg1
- mov r2, rSELF @ arg2
- b dvmCheckBefore @ (dPC,dFP,self) tail call
-
-/* ------------------------------ */
- .balign 64
-.L_ALT_OP_NEW_INSTANCE_JUMBO: /* 0x103 */
-/* File: armv5te/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Note that the call to dvmCheckBefore is done as a tail call.
- * rIBASE updates won't be seen until a refresh, and we can tell we have a
- * stale rIBASE if breakFlags==0. Always refresh rIBASE here, and then
- * bail to the real handler if breakFlags==0.
- */
- ldrb r3, [rSELF, #offThread_breakFlags]
- adrl lr, dvmAsmInstructionStart + (259 * 64)
- ldr rIBASE, [rSELF, #offThread_curHandlerTable]
- cmp r3, #0
- bxeq lr @ nothing to do - jump to real handler
- EXPORT_PC()
- mov r0, rPC @ arg0
- mov r1, rFP @ arg1
- mov r2, rSELF @ arg2
- b dvmCheckBefore @ (dPC,dFP,self) tail call
-
-/* ------------------------------ */
- .balign 64
-.L_ALT_OP_NEW_ARRAY_JUMBO: /* 0x104 */
-/* File: armv5te/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Note that the call to dvmCheckBefore is done as a tail call.
- * rIBASE updates won't be seen until a refresh, and we can tell we have a
- * stale rIBASE if breakFlags==0. Always refresh rIBASE here, and then
- * bail to the real handler if breakFlags==0.
- */
- ldrb r3, [rSELF, #offThread_breakFlags]
- adrl lr, dvmAsmInstructionStart + (260 * 64)
- ldr rIBASE, [rSELF, #offThread_curHandlerTable]
- cmp r3, #0
- bxeq lr @ nothing to do - jump to real handler
- EXPORT_PC()
- mov r0, rPC @ arg0
- mov r1, rFP @ arg1
- mov r2, rSELF @ arg2
- b dvmCheckBefore @ (dPC,dFP,self) tail call
-
-/* ------------------------------ */
- .balign 64
-.L_ALT_OP_FILLED_NEW_ARRAY_JUMBO: /* 0x105 */
-/* File: armv5te/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Note that the call to dvmCheckBefore is done as a tail call.
- * rIBASE updates won't be seen until a refresh, and we can tell we have a
- * stale rIBASE if breakFlags==0. Always refresh rIBASE here, and then
- * bail to the real handler if breakFlags==0.
- */
- ldrb r3, [rSELF, #offThread_breakFlags]
- adrl lr, dvmAsmInstructionStart + (261 * 64)
- ldr rIBASE, [rSELF, #offThread_curHandlerTable]
- cmp r3, #0
- bxeq lr @ nothing to do - jump to real handler
- EXPORT_PC()
- mov r0, rPC @ arg0
- mov r1, rFP @ arg1
- mov r2, rSELF @ arg2
- b dvmCheckBefore @ (dPC,dFP,self) tail call
-
-/* ------------------------------ */
- .balign 64
-.L_ALT_OP_IGET_JUMBO: /* 0x106 */
-/* File: armv5te/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Note that the call to dvmCheckBefore is done as a tail call.
- * rIBASE updates won't be seen until a refresh, and we can tell we have a
- * stale rIBASE if breakFlags==0. Always refresh rIBASE here, and then
- * bail to the real handler if breakFlags==0.
- */
- ldrb r3, [rSELF, #offThread_breakFlags]
- adrl lr, dvmAsmInstructionStart + (262 * 64)
- ldr rIBASE, [rSELF, #offThread_curHandlerTable]
- cmp r3, #0
- bxeq lr @ nothing to do - jump to real handler
- EXPORT_PC()
- mov r0, rPC @ arg0
- mov r1, rFP @ arg1
- mov r2, rSELF @ arg2
- b dvmCheckBefore @ (dPC,dFP,self) tail call
-
-/* ------------------------------ */
- .balign 64
-.L_ALT_OP_IGET_WIDE_JUMBO: /* 0x107 */
-/* File: armv5te/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Note that the call to dvmCheckBefore is done as a tail call.
- * rIBASE updates won't be seen until a refresh, and we can tell we have a
- * stale rIBASE if breakFlags==0. Always refresh rIBASE here, and then
- * bail to the real handler if breakFlags==0.
- */
- ldrb r3, [rSELF, #offThread_breakFlags]
- adrl lr, dvmAsmInstructionStart + (263 * 64)
- ldr rIBASE, [rSELF, #offThread_curHandlerTable]
- cmp r3, #0
- bxeq lr @ nothing to do - jump to real handler
- EXPORT_PC()
- mov r0, rPC @ arg0
- mov r1, rFP @ arg1
- mov r2, rSELF @ arg2
- b dvmCheckBefore @ (dPC,dFP,self) tail call
-
-/* ------------------------------ */
- .balign 64
-.L_ALT_OP_IGET_OBJECT_JUMBO: /* 0x108 */
-/* File: armv5te/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Note that the call to dvmCheckBefore is done as a tail call.
- * rIBASE updates won't be seen until a refresh, and we can tell we have a
- * stale rIBASE if breakFlags==0. Always refresh rIBASE here, and then
- * bail to the real handler if breakFlags==0.
- */
- ldrb r3, [rSELF, #offThread_breakFlags]
- adrl lr, dvmAsmInstructionStart + (264 * 64)
- ldr rIBASE, [rSELF, #offThread_curHandlerTable]
- cmp r3, #0
- bxeq lr @ nothing to do - jump to real handler
- EXPORT_PC()
- mov r0, rPC @ arg0
- mov r1, rFP @ arg1
- mov r2, rSELF @ arg2
- b dvmCheckBefore @ (dPC,dFP,self) tail call
-
-/* ------------------------------ */
- .balign 64
-.L_ALT_OP_IGET_BOOLEAN_JUMBO: /* 0x109 */
-/* File: armv5te/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Note that the call to dvmCheckBefore is done as a tail call.
- * rIBASE updates won't be seen until a refresh, and we can tell we have a
- * stale rIBASE if breakFlags==0. Always refresh rIBASE here, and then
- * bail to the real handler if breakFlags==0.
- */
- ldrb r3, [rSELF, #offThread_breakFlags]
- adrl lr, dvmAsmInstructionStart + (265 * 64)
- ldr rIBASE, [rSELF, #offThread_curHandlerTable]
- cmp r3, #0
- bxeq lr @ nothing to do - jump to real handler
- EXPORT_PC()
- mov r0, rPC @ arg0
- mov r1, rFP @ arg1
- mov r2, rSELF @ arg2
- b dvmCheckBefore @ (dPC,dFP,self) tail call
-
-/* ------------------------------ */
- .balign 64
-.L_ALT_OP_IGET_BYTE_JUMBO: /* 0x10a */
-/* File: armv5te/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Note that the call to dvmCheckBefore is done as a tail call.
- * rIBASE updates won't be seen until a refresh, and we can tell we have a
- * stale rIBASE if breakFlags==0. Always refresh rIBASE here, and then
- * bail to the real handler if breakFlags==0.
- */
- ldrb r3, [rSELF, #offThread_breakFlags]
- adrl lr, dvmAsmInstructionStart + (266 * 64)
- ldr rIBASE, [rSELF, #offThread_curHandlerTable]
- cmp r3, #0
- bxeq lr @ nothing to do - jump to real handler
- EXPORT_PC()
- mov r0, rPC @ arg0
- mov r1, rFP @ arg1
- mov r2, rSELF @ arg2
- b dvmCheckBefore @ (dPC,dFP,self) tail call
-
-/* ------------------------------ */
- .balign 64
-.L_ALT_OP_IGET_CHAR_JUMBO: /* 0x10b */
-/* File: armv5te/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Note that the call to dvmCheckBefore is done as a tail call.
- * rIBASE updates won't be seen until a refresh, and we can tell we have a
- * stale rIBASE if breakFlags==0. Always refresh rIBASE here, and then
- * bail to the real handler if breakFlags==0.
- */
- ldrb r3, [rSELF, #offThread_breakFlags]
- adrl lr, dvmAsmInstructionStart + (267 * 64)
- ldr rIBASE, [rSELF, #offThread_curHandlerTable]
- cmp r3, #0
- bxeq lr @ nothing to do - jump to real handler
- EXPORT_PC()
- mov r0, rPC @ arg0
- mov r1, rFP @ arg1
- mov r2, rSELF @ arg2
- b dvmCheckBefore @ (dPC,dFP,self) tail call
-
-/* ------------------------------ */
- .balign 64
-.L_ALT_OP_IGET_SHORT_JUMBO: /* 0x10c */
-/* File: armv5te/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Note that the call to dvmCheckBefore is done as a tail call.
- * rIBASE updates won't be seen until a refresh, and we can tell we have a
- * stale rIBASE if breakFlags==0. Always refresh rIBASE here, and then
- * bail to the real handler if breakFlags==0.
- */
- ldrb r3, [rSELF, #offThread_breakFlags]
- adrl lr, dvmAsmInstructionStart + (268 * 64)
- ldr rIBASE, [rSELF, #offThread_curHandlerTable]
- cmp r3, #0
- bxeq lr @ nothing to do - jump to real handler
- EXPORT_PC()
- mov r0, rPC @ arg0
- mov r1, rFP @ arg1
- mov r2, rSELF @ arg2
- b dvmCheckBefore @ (dPC,dFP,self) tail call
-
-/* ------------------------------ */
- .balign 64
-.L_ALT_OP_IPUT_JUMBO: /* 0x10d */
-/* File: armv5te/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Note that the call to dvmCheckBefore is done as a tail call.
- * rIBASE updates won't be seen until a refresh, and we can tell we have a
- * stale rIBASE if breakFlags==0. Always refresh rIBASE here, and then
- * bail to the real handler if breakFlags==0.
- */
- ldrb r3, [rSELF, #offThread_breakFlags]
- adrl lr, dvmAsmInstructionStart + (269 * 64)
- ldr rIBASE, [rSELF, #offThread_curHandlerTable]
- cmp r3, #0
- bxeq lr @ nothing to do - jump to real handler
- EXPORT_PC()
- mov r0, rPC @ arg0
- mov r1, rFP @ arg1
- mov r2, rSELF @ arg2
- b dvmCheckBefore @ (dPC,dFP,self) tail call
-
-/* ------------------------------ */
- .balign 64
-.L_ALT_OP_IPUT_WIDE_JUMBO: /* 0x10e */
-/* File: armv5te/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Note that the call to dvmCheckBefore is done as a tail call.
- * rIBASE updates won't be seen until a refresh, and we can tell we have a
- * stale rIBASE if breakFlags==0. Always refresh rIBASE here, and then
- * bail to the real handler if breakFlags==0.
- */
- ldrb r3, [rSELF, #offThread_breakFlags]
- adrl lr, dvmAsmInstructionStart + (270 * 64)
- ldr rIBASE, [rSELF, #offThread_curHandlerTable]
- cmp r3, #0
- bxeq lr @ nothing to do - jump to real handler
- EXPORT_PC()
- mov r0, rPC @ arg0
- mov r1, rFP @ arg1
- mov r2, rSELF @ arg2
- b dvmCheckBefore @ (dPC,dFP,self) tail call
-
-/* ------------------------------ */
- .balign 64
-.L_ALT_OP_IPUT_OBJECT_JUMBO: /* 0x10f */
-/* File: armv5te/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Note that the call to dvmCheckBefore is done as a tail call.
- * rIBASE updates won't be seen until a refresh, and we can tell we have a
- * stale rIBASE if breakFlags==0. Always refresh rIBASE here, and then
- * bail to the real handler if breakFlags==0.
- */
- ldrb r3, [rSELF, #offThread_breakFlags]
- adrl lr, dvmAsmInstructionStart + (271 * 64)
- ldr rIBASE, [rSELF, #offThread_curHandlerTable]
- cmp r3, #0
- bxeq lr @ nothing to do - jump to real handler
- EXPORT_PC()
- mov r0, rPC @ arg0
- mov r1, rFP @ arg1
- mov r2, rSELF @ arg2
- b dvmCheckBefore @ (dPC,dFP,self) tail call
-
-/* ------------------------------ */
- .balign 64
-.L_ALT_OP_IPUT_BOOLEAN_JUMBO: /* 0x110 */
-/* File: armv5te/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Note that the call to dvmCheckBefore is done as a tail call.
- * rIBASE updates won't be seen until a refresh, and we can tell we have a
- * stale rIBASE if breakFlags==0. Always refresh rIBASE here, and then
- * bail to the real handler if breakFlags==0.
- */
- ldrb r3, [rSELF, #offThread_breakFlags]
- adrl lr, dvmAsmInstructionStart + (272 * 64)
- ldr rIBASE, [rSELF, #offThread_curHandlerTable]
- cmp r3, #0
- bxeq lr @ nothing to do - jump to real handler
- EXPORT_PC()
- mov r0, rPC @ arg0
- mov r1, rFP @ arg1
- mov r2, rSELF @ arg2
- b dvmCheckBefore @ (dPC,dFP,self) tail call
-
-/* ------------------------------ */
- .balign 64
-.L_ALT_OP_IPUT_BYTE_JUMBO: /* 0x111 */
-/* File: armv5te/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Note that the call to dvmCheckBefore is done as a tail call.
- * rIBASE updates won't be seen until a refresh, and we can tell we have a
- * stale rIBASE if breakFlags==0. Always refresh rIBASE here, and then
- * bail to the real handler if breakFlags==0.
- */
- ldrb r3, [rSELF, #offThread_breakFlags]
- adrl lr, dvmAsmInstructionStart + (273 * 64)
- ldr rIBASE, [rSELF, #offThread_curHandlerTable]
- cmp r3, #0
- bxeq lr @ nothing to do - jump to real handler
- EXPORT_PC()
- mov r0, rPC @ arg0
- mov r1, rFP @ arg1
- mov r2, rSELF @ arg2
- b dvmCheckBefore @ (dPC,dFP,self) tail call
-
-/* ------------------------------ */
- .balign 64
-.L_ALT_OP_IPUT_CHAR_JUMBO: /* 0x112 */
-/* File: armv5te/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Note that the call to dvmCheckBefore is done as a tail call.
- * rIBASE updates won't be seen until a refresh, and we can tell we have a
- * stale rIBASE if breakFlags==0. Always refresh rIBASE here, and then
- * bail to the real handler if breakFlags==0.
- */
- ldrb r3, [rSELF, #offThread_breakFlags]
- adrl lr, dvmAsmInstructionStart + (274 * 64)
- ldr rIBASE, [rSELF, #offThread_curHandlerTable]
- cmp r3, #0
- bxeq lr @ nothing to do - jump to real handler
- EXPORT_PC()
- mov r0, rPC @ arg0
- mov r1, rFP @ arg1
- mov r2, rSELF @ arg2
- b dvmCheckBefore @ (dPC,dFP,self) tail call
-
-/* ------------------------------ */
- .balign 64
-.L_ALT_OP_IPUT_SHORT_JUMBO: /* 0x113 */
-/* File: armv5te/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Note that the call to dvmCheckBefore is done as a tail call.
- * rIBASE updates won't be seen until a refresh, and we can tell we have a
- * stale rIBASE if breakFlags==0. Always refresh rIBASE here, and then
- * bail to the real handler if breakFlags==0.
- */
- ldrb r3, [rSELF, #offThread_breakFlags]
- adrl lr, dvmAsmInstructionStart + (275 * 64)
- ldr rIBASE, [rSELF, #offThread_curHandlerTable]
- cmp r3, #0
- bxeq lr @ nothing to do - jump to real handler
- EXPORT_PC()
- mov r0, rPC @ arg0
- mov r1, rFP @ arg1
- mov r2, rSELF @ arg2
- b dvmCheckBefore @ (dPC,dFP,self) tail call
-
-/* ------------------------------ */
- .balign 64
-.L_ALT_OP_SGET_JUMBO: /* 0x114 */
-/* File: armv5te/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Note that the call to dvmCheckBefore is done as a tail call.
- * rIBASE updates won't be seen until a refresh, and we can tell we have a
- * stale rIBASE if breakFlags==0. Always refresh rIBASE here, and then
- * bail to the real handler if breakFlags==0.
- */
- ldrb r3, [rSELF, #offThread_breakFlags]
- adrl lr, dvmAsmInstructionStart + (276 * 64)
- ldr rIBASE, [rSELF, #offThread_curHandlerTable]
- cmp r3, #0
- bxeq lr @ nothing to do - jump to real handler
- EXPORT_PC()
- mov r0, rPC @ arg0
- mov r1, rFP @ arg1
- mov r2, rSELF @ arg2
- b dvmCheckBefore @ (dPC,dFP,self) tail call
-
-/* ------------------------------ */
- .balign 64
-.L_ALT_OP_SGET_WIDE_JUMBO: /* 0x115 */
-/* File: armv5te/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Note that the call to dvmCheckBefore is done as a tail call.
- * rIBASE updates won't be seen until a refresh, and we can tell we have a
- * stale rIBASE if breakFlags==0. Always refresh rIBASE here, and then
- * bail to the real handler if breakFlags==0.
- */
- ldrb r3, [rSELF, #offThread_breakFlags]
- adrl lr, dvmAsmInstructionStart + (277 * 64)
- ldr rIBASE, [rSELF, #offThread_curHandlerTable]
- cmp r3, #0
- bxeq lr @ nothing to do - jump to real handler
- EXPORT_PC()
- mov r0, rPC @ arg0
- mov r1, rFP @ arg1
- mov r2, rSELF @ arg2
- b dvmCheckBefore @ (dPC,dFP,self) tail call
-
-/* ------------------------------ */
- .balign 64
-.L_ALT_OP_SGET_OBJECT_JUMBO: /* 0x116 */
-/* File: armv5te/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Note that the call to dvmCheckBefore is done as a tail call.
- * rIBASE updates won't be seen until a refresh, and we can tell we have a
- * stale rIBASE if breakFlags==0. Always refresh rIBASE here, and then
- * bail to the real handler if breakFlags==0.
- */
- ldrb r3, [rSELF, #offThread_breakFlags]
- adrl lr, dvmAsmInstructionStart + (278 * 64)
- ldr rIBASE, [rSELF, #offThread_curHandlerTable]
- cmp r3, #0
- bxeq lr @ nothing to do - jump to real handler
- EXPORT_PC()
- mov r0, rPC @ arg0
- mov r1, rFP @ arg1
- mov r2, rSELF @ arg2
- b dvmCheckBefore @ (dPC,dFP,self) tail call
-
-/* ------------------------------ */
- .balign 64
-.L_ALT_OP_SGET_BOOLEAN_JUMBO: /* 0x117 */
-/* File: armv5te/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Note that the call to dvmCheckBefore is done as a tail call.
- * rIBASE updates won't be seen until a refresh, and we can tell we have a
- * stale rIBASE if breakFlags==0. Always refresh rIBASE here, and then
- * bail to the real handler if breakFlags==0.
- */
- ldrb r3, [rSELF, #offThread_breakFlags]
- adrl lr, dvmAsmInstructionStart + (279 * 64)
- ldr rIBASE, [rSELF, #offThread_curHandlerTable]
- cmp r3, #0
- bxeq lr @ nothing to do - jump to real handler
- EXPORT_PC()
- mov r0, rPC @ arg0
- mov r1, rFP @ arg1
- mov r2, rSELF @ arg2
- b dvmCheckBefore @ (dPC,dFP,self) tail call
-
-/* ------------------------------ */
- .balign 64
-.L_ALT_OP_SGET_BYTE_JUMBO: /* 0x118 */
-/* File: armv5te/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Note that the call to dvmCheckBefore is done as a tail call.
- * rIBASE updates won't be seen until a refresh, and we can tell we have a
- * stale rIBASE if breakFlags==0. Always refresh rIBASE here, and then
- * bail to the real handler if breakFlags==0.
- */
- ldrb r3, [rSELF, #offThread_breakFlags]
- adrl lr, dvmAsmInstructionStart + (280 * 64)
- ldr rIBASE, [rSELF, #offThread_curHandlerTable]
- cmp r3, #0
- bxeq lr @ nothing to do - jump to real handler
- EXPORT_PC()
- mov r0, rPC @ arg0
- mov r1, rFP @ arg1
- mov r2, rSELF @ arg2
- b dvmCheckBefore @ (dPC,dFP,self) tail call
-
-/* ------------------------------ */
- .balign 64
-.L_ALT_OP_SGET_CHAR_JUMBO: /* 0x119 */
-/* File: armv5te/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Note that the call to dvmCheckBefore is done as a tail call.
- * rIBASE updates won't be seen until a refresh, and we can tell we have a
- * stale rIBASE if breakFlags==0. Always refresh rIBASE here, and then
- * bail to the real handler if breakFlags==0.
- */
- ldrb r3, [rSELF, #offThread_breakFlags]
- adrl lr, dvmAsmInstructionStart + (281 * 64)
- ldr rIBASE, [rSELF, #offThread_curHandlerTable]
- cmp r3, #0
- bxeq lr @ nothing to do - jump to real handler
- EXPORT_PC()
- mov r0, rPC @ arg0
- mov r1, rFP @ arg1
- mov r2, rSELF @ arg2
- b dvmCheckBefore @ (dPC,dFP,self) tail call
-
-/* ------------------------------ */
- .balign 64
-.L_ALT_OP_SGET_SHORT_JUMBO: /* 0x11a */
-/* File: armv5te/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Note that the call to dvmCheckBefore is done as a tail call.
- * rIBASE updates won't be seen until a refresh, and we can tell we have a
- * stale rIBASE if breakFlags==0. Always refresh rIBASE here, and then
- * bail to the real handler if breakFlags==0.
- */
- ldrb r3, [rSELF, #offThread_breakFlags]
- adrl lr, dvmAsmInstructionStart + (282 * 64)
- ldr rIBASE, [rSELF, #offThread_curHandlerTable]
- cmp r3, #0
- bxeq lr @ nothing to do - jump to real handler
- EXPORT_PC()
- mov r0, rPC @ arg0
- mov r1, rFP @ arg1
- mov r2, rSELF @ arg2
- b dvmCheckBefore @ (dPC,dFP,self) tail call
-
-/* ------------------------------ */
- .balign 64
-.L_ALT_OP_SPUT_JUMBO: /* 0x11b */
-/* File: armv5te/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Note that the call to dvmCheckBefore is done as a tail call.
- * rIBASE updates won't be seen until a refresh, and we can tell we have a
- * stale rIBASE if breakFlags==0. Always refresh rIBASE here, and then
- * bail to the real handler if breakFlags==0.
- */
- ldrb r3, [rSELF, #offThread_breakFlags]
- adrl lr, dvmAsmInstructionStart + (283 * 64)
- ldr rIBASE, [rSELF, #offThread_curHandlerTable]
- cmp r3, #0
- bxeq lr @ nothing to do - jump to real handler
- EXPORT_PC()
- mov r0, rPC @ arg0
- mov r1, rFP @ arg1
- mov r2, rSELF @ arg2
- b dvmCheckBefore @ (dPC,dFP,self) tail call
-
-/* ------------------------------ */
- .balign 64
-.L_ALT_OP_SPUT_WIDE_JUMBO: /* 0x11c */
-/* File: armv5te/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Note that the call to dvmCheckBefore is done as a tail call.
- * rIBASE updates won't be seen until a refresh, and we can tell we have a
- * stale rIBASE if breakFlags==0. Always refresh rIBASE here, and then
- * bail to the real handler if breakFlags==0.
- */
- ldrb r3, [rSELF, #offThread_breakFlags]
- adrl lr, dvmAsmInstructionStart + (284 * 64)
- ldr rIBASE, [rSELF, #offThread_curHandlerTable]
- cmp r3, #0
- bxeq lr @ nothing to do - jump to real handler
- EXPORT_PC()
- mov r0, rPC @ arg0
- mov r1, rFP @ arg1
- mov r2, rSELF @ arg2
- b dvmCheckBefore @ (dPC,dFP,self) tail call
-
-/* ------------------------------ */
- .balign 64
-.L_ALT_OP_SPUT_OBJECT_JUMBO: /* 0x11d */
-/* File: armv5te/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Note that the call to dvmCheckBefore is done as a tail call.
- * rIBASE updates won't be seen until a refresh, and we can tell we have a
- * stale rIBASE if breakFlags==0. Always refresh rIBASE here, and then
- * bail to the real handler if breakFlags==0.
- */
- ldrb r3, [rSELF, #offThread_breakFlags]
- adrl lr, dvmAsmInstructionStart + (285 * 64)
- ldr rIBASE, [rSELF, #offThread_curHandlerTable]
- cmp r3, #0
- bxeq lr @ nothing to do - jump to real handler
- EXPORT_PC()
- mov r0, rPC @ arg0
- mov r1, rFP @ arg1
- mov r2, rSELF @ arg2
- b dvmCheckBefore @ (dPC,dFP,self) tail call
-
-/* ------------------------------ */
- .balign 64
-.L_ALT_OP_SPUT_BOOLEAN_JUMBO: /* 0x11e */
-/* File: armv5te/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Note that the call to dvmCheckBefore is done as a tail call.
- * rIBASE updates won't be seen until a refresh, and we can tell we have a
- * stale rIBASE if breakFlags==0. Always refresh rIBASE here, and then
- * bail to the real handler if breakFlags==0.
- */
- ldrb r3, [rSELF, #offThread_breakFlags]
- adrl lr, dvmAsmInstructionStart + (286 * 64)
- ldr rIBASE, [rSELF, #offThread_curHandlerTable]
- cmp r3, #0
- bxeq lr @ nothing to do - jump to real handler
- EXPORT_PC()
- mov r0, rPC @ arg0
- mov r1, rFP @ arg1
- mov r2, rSELF @ arg2
- b dvmCheckBefore @ (dPC,dFP,self) tail call
-
-/* ------------------------------ */
- .balign 64
-.L_ALT_OP_SPUT_BYTE_JUMBO: /* 0x11f */
-/* File: armv5te/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Note that the call to dvmCheckBefore is done as a tail call.
- * rIBASE updates won't be seen until a refresh, and we can tell we have a
- * stale rIBASE if breakFlags==0. Always refresh rIBASE here, and then
- * bail to the real handler if breakFlags==0.
- */
- ldrb r3, [rSELF, #offThread_breakFlags]
- adrl lr, dvmAsmInstructionStart + (287 * 64)
- ldr rIBASE, [rSELF, #offThread_curHandlerTable]
- cmp r3, #0
- bxeq lr @ nothing to do - jump to real handler
- EXPORT_PC()
- mov r0, rPC @ arg0
- mov r1, rFP @ arg1
- mov r2, rSELF @ arg2
- b dvmCheckBefore @ (dPC,dFP,self) tail call
-
-/* ------------------------------ */
- .balign 64
-.L_ALT_OP_SPUT_CHAR_JUMBO: /* 0x120 */
-/* File: armv5te/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Note that the call to dvmCheckBefore is done as a tail call.
- * rIBASE updates won't be seen until a refresh, and we can tell we have a
- * stale rIBASE if breakFlags==0. Always refresh rIBASE here, and then
- * bail to the real handler if breakFlags==0.
- */
- ldrb r3, [rSELF, #offThread_breakFlags]
- adrl lr, dvmAsmInstructionStart + (288 * 64)
- ldr rIBASE, [rSELF, #offThread_curHandlerTable]
- cmp r3, #0
- bxeq lr @ nothing to do - jump to real handler
- EXPORT_PC()
- mov r0, rPC @ arg0
- mov r1, rFP @ arg1
- mov r2, rSELF @ arg2
- b dvmCheckBefore @ (dPC,dFP,self) tail call
-
-/* ------------------------------ */
- .balign 64
-.L_ALT_OP_SPUT_SHORT_JUMBO: /* 0x121 */
-/* File: armv5te/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Note that the call to dvmCheckBefore is done as a tail call.
- * rIBASE updates won't be seen until a refresh, and we can tell we have a
- * stale rIBASE if breakFlags==0. Always refresh rIBASE here, and then
- * bail to the real handler if breakFlags==0.
- */
- ldrb r3, [rSELF, #offThread_breakFlags]
- adrl lr, dvmAsmInstructionStart + (289 * 64)
- ldr rIBASE, [rSELF, #offThread_curHandlerTable]
- cmp r3, #0
- bxeq lr @ nothing to do - jump to real handler
- EXPORT_PC()
- mov r0, rPC @ arg0
- mov r1, rFP @ arg1
- mov r2, rSELF @ arg2
- b dvmCheckBefore @ (dPC,dFP,self) tail call
-
-/* ------------------------------ */
- .balign 64
-.L_ALT_OP_INVOKE_VIRTUAL_JUMBO: /* 0x122 */
-/* File: armv5te/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Note that the call to dvmCheckBefore is done as a tail call.
- * rIBASE updates won't be seen until a refresh, and we can tell we have a
- * stale rIBASE if breakFlags==0. Always refresh rIBASE here, and then
- * bail to the real handler if breakFlags==0.
- */
- ldrb r3, [rSELF, #offThread_breakFlags]
- adrl lr, dvmAsmInstructionStart + (290 * 64)
- ldr rIBASE, [rSELF, #offThread_curHandlerTable]
- cmp r3, #0
- bxeq lr @ nothing to do - jump to real handler
- EXPORT_PC()
- mov r0, rPC @ arg0
- mov r1, rFP @ arg1
- mov r2, rSELF @ arg2
- b dvmCheckBefore @ (dPC,dFP,self) tail call
-
-/* ------------------------------ */
- .balign 64
-.L_ALT_OP_INVOKE_SUPER_JUMBO: /* 0x123 */
-/* File: armv5te/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Note that the call to dvmCheckBefore is done as a tail call.
- * rIBASE updates won't be seen until a refresh, and we can tell we have a
- * stale rIBASE if breakFlags==0. Always refresh rIBASE here, and then
- * bail to the real handler if breakFlags==0.
- */
- ldrb r3, [rSELF, #offThread_breakFlags]
- adrl lr, dvmAsmInstructionStart + (291 * 64)
- ldr rIBASE, [rSELF, #offThread_curHandlerTable]
- cmp r3, #0
- bxeq lr @ nothing to do - jump to real handler
- EXPORT_PC()
- mov r0, rPC @ arg0
- mov r1, rFP @ arg1
- mov r2, rSELF @ arg2
- b dvmCheckBefore @ (dPC,dFP,self) tail call
-
-/* ------------------------------ */
- .balign 64
-.L_ALT_OP_INVOKE_DIRECT_JUMBO: /* 0x124 */
-/* File: armv5te/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Note that the call to dvmCheckBefore is done as a tail call.
- * rIBASE updates won't be seen until a refresh, and we can tell we have a
- * stale rIBASE if breakFlags==0. Always refresh rIBASE here, and then
- * bail to the real handler if breakFlags==0.
- */
- ldrb r3, [rSELF, #offThread_breakFlags]
- adrl lr, dvmAsmInstructionStart + (292 * 64)
- ldr rIBASE, [rSELF, #offThread_curHandlerTable]
- cmp r3, #0
- bxeq lr @ nothing to do - jump to real handler
- EXPORT_PC()
- mov r0, rPC @ arg0
- mov r1, rFP @ arg1
- mov r2, rSELF @ arg2
- b dvmCheckBefore @ (dPC,dFP,self) tail call
-
-/* ------------------------------ */
- .balign 64
-.L_ALT_OP_INVOKE_STATIC_JUMBO: /* 0x125 */
-/* File: armv5te/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Note that the call to dvmCheckBefore is done as a tail call.
- * rIBASE updates won't be seen until a refresh, and we can tell we have a
- * stale rIBASE if breakFlags==0. Always refresh rIBASE here, and then
- * bail to the real handler if breakFlags==0.
- */
- ldrb r3, [rSELF, #offThread_breakFlags]
- adrl lr, dvmAsmInstructionStart + (293 * 64)
- ldr rIBASE, [rSELF, #offThread_curHandlerTable]
- cmp r3, #0
- bxeq lr @ nothing to do - jump to real handler
- EXPORT_PC()
- mov r0, rPC @ arg0
- mov r1, rFP @ arg1
- mov r2, rSELF @ arg2
- b dvmCheckBefore @ (dPC,dFP,self) tail call
-
-/* ------------------------------ */
- .balign 64
-.L_ALT_OP_INVOKE_INTERFACE_JUMBO: /* 0x126 */
-/* File: armv5te/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Note that the call to dvmCheckBefore is done as a tail call.
- * rIBASE updates won't be seen until a refresh, and we can tell we have a
- * stale rIBASE if breakFlags==0. Always refresh rIBASE here, and then
- * bail to the real handler if breakFlags==0.
- */
- ldrb r3, [rSELF, #offThread_breakFlags]
- adrl lr, dvmAsmInstructionStart + (294 * 64)
- ldr rIBASE, [rSELF, #offThread_curHandlerTable]
- cmp r3, #0
- bxeq lr @ nothing to do - jump to real handler
- EXPORT_PC()
- mov r0, rPC @ arg0
- mov r1, rFP @ arg1
- mov r2, rSELF @ arg2
- b dvmCheckBefore @ (dPC,dFP,self) tail call
-
-/* ------------------------------ */
- .balign 64
-.L_ALT_OP_UNUSED_27FF: /* 0x127 */
-/* File: armv5te/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Note that the call to dvmCheckBefore is done as a tail call.
- * rIBASE updates won't be seen until a refresh, and we can tell we have a
- * stale rIBASE if breakFlags==0. Always refresh rIBASE here, and then
- * bail to the real handler if breakFlags==0.
- */
- ldrb r3, [rSELF, #offThread_breakFlags]
- adrl lr, dvmAsmInstructionStart + (295 * 64)
- ldr rIBASE, [rSELF, #offThread_curHandlerTable]
- cmp r3, #0
- bxeq lr @ nothing to do - jump to real handler
- EXPORT_PC()
- mov r0, rPC @ arg0
- mov r1, rFP @ arg1
- mov r2, rSELF @ arg2
- b dvmCheckBefore @ (dPC,dFP,self) tail call
-
-/* ------------------------------ */
- .balign 64
-.L_ALT_OP_UNUSED_28FF: /* 0x128 */
-/* File: armv5te/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Note that the call to dvmCheckBefore is done as a tail call.
- * rIBASE updates won't be seen until a refresh, and we can tell we have a
- * stale rIBASE if breakFlags==0. Always refresh rIBASE here, and then
- * bail to the real handler if breakFlags==0.
- */
- ldrb r3, [rSELF, #offThread_breakFlags]
- adrl lr, dvmAsmInstructionStart + (296 * 64)
- ldr rIBASE, [rSELF, #offThread_curHandlerTable]
- cmp r3, #0
- bxeq lr @ nothing to do - jump to real handler
- EXPORT_PC()
- mov r0, rPC @ arg0
- mov r1, rFP @ arg1
- mov r2, rSELF @ arg2
- b dvmCheckBefore @ (dPC,dFP,self) tail call
-
-/* ------------------------------ */
- .balign 64
-.L_ALT_OP_UNUSED_29FF: /* 0x129 */
-/* File: armv5te/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Note that the call to dvmCheckBefore is done as a tail call.
- * rIBASE updates won't be seen until a refresh, and we can tell we have a
- * stale rIBASE if breakFlags==0. Always refresh rIBASE here, and then
- * bail to the real handler if breakFlags==0.
- */
- ldrb r3, [rSELF, #offThread_breakFlags]
- adrl lr, dvmAsmInstructionStart + (297 * 64)
- ldr rIBASE, [rSELF, #offThread_curHandlerTable]
- cmp r3, #0
- bxeq lr @ nothing to do - jump to real handler
- EXPORT_PC()
- mov r0, rPC @ arg0
- mov r1, rFP @ arg1
- mov r2, rSELF @ arg2
- b dvmCheckBefore @ (dPC,dFP,self) tail call
-
-/* ------------------------------ */
- .balign 64
-.L_ALT_OP_UNUSED_2AFF: /* 0x12a */
-/* File: armv5te/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Note that the call to dvmCheckBefore is done as a tail call.
- * rIBASE updates won't be seen until a refresh, and we can tell we have a
- * stale rIBASE if breakFlags==0. Always refresh rIBASE here, and then
- * bail to the real handler if breakFlags==0.
- */
- ldrb r3, [rSELF, #offThread_breakFlags]
- adrl lr, dvmAsmInstructionStart + (298 * 64)
- ldr rIBASE, [rSELF, #offThread_curHandlerTable]
- cmp r3, #0
- bxeq lr @ nothing to do - jump to real handler
- EXPORT_PC()
- mov r0, rPC @ arg0
- mov r1, rFP @ arg1
- mov r2, rSELF @ arg2
- b dvmCheckBefore @ (dPC,dFP,self) tail call
-
-/* ------------------------------ */
- .balign 64
-.L_ALT_OP_UNUSED_2BFF: /* 0x12b */
-/* File: armv5te/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Note that the call to dvmCheckBefore is done as a tail call.
- * rIBASE updates won't be seen until a refresh, and we can tell we have a
- * stale rIBASE if breakFlags==0. Always refresh rIBASE here, and then
- * bail to the real handler if breakFlags==0.
- */
- ldrb r3, [rSELF, #offThread_breakFlags]
- adrl lr, dvmAsmInstructionStart + (299 * 64)
- ldr rIBASE, [rSELF, #offThread_curHandlerTable]
- cmp r3, #0
- bxeq lr @ nothing to do - jump to real handler
- EXPORT_PC()
- mov r0, rPC @ arg0
- mov r1, rFP @ arg1
- mov r2, rSELF @ arg2
- b dvmCheckBefore @ (dPC,dFP,self) tail call
-
-/* ------------------------------ */
- .balign 64
-.L_ALT_OP_UNUSED_2CFF: /* 0x12c */
-/* File: armv5te/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Note that the call to dvmCheckBefore is done as a tail call.
- * rIBASE updates won't be seen until a refresh, and we can tell we have a
- * stale rIBASE if breakFlags==0. Always refresh rIBASE here, and then
- * bail to the real handler if breakFlags==0.
- */
- ldrb r3, [rSELF, #offThread_breakFlags]
- adrl lr, dvmAsmInstructionStart + (300 * 64)
- ldr rIBASE, [rSELF, #offThread_curHandlerTable]
- cmp r3, #0
- bxeq lr @ nothing to do - jump to real handler
- EXPORT_PC()
- mov r0, rPC @ arg0
- mov r1, rFP @ arg1
- mov r2, rSELF @ arg2
- b dvmCheckBefore @ (dPC,dFP,self) tail call
-
-/* ------------------------------ */
- .balign 64
-.L_ALT_OP_UNUSED_2DFF: /* 0x12d */
-/* File: armv5te/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Note that the call to dvmCheckBefore is done as a tail call.
- * rIBASE updates won't be seen until a refresh, and we can tell we have a
- * stale rIBASE if breakFlags==0. Always refresh rIBASE here, and then
- * bail to the real handler if breakFlags==0.
- */
- ldrb r3, [rSELF, #offThread_breakFlags]
- adrl lr, dvmAsmInstructionStart + (301 * 64)
- ldr rIBASE, [rSELF, #offThread_curHandlerTable]
- cmp r3, #0
- bxeq lr @ nothing to do - jump to real handler
- EXPORT_PC()
- mov r0, rPC @ arg0
- mov r1, rFP @ arg1
- mov r2, rSELF @ arg2
- b dvmCheckBefore @ (dPC,dFP,self) tail call
-
-/* ------------------------------ */
- .balign 64
-.L_ALT_OP_UNUSED_2EFF: /* 0x12e */
-/* File: armv5te/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Note that the call to dvmCheckBefore is done as a tail call.
- * rIBASE updates won't be seen until a refresh, and we can tell we have a
- * stale rIBASE if breakFlags==0. Always refresh rIBASE here, and then
- * bail to the real handler if breakFlags==0.
- */
- ldrb r3, [rSELF, #offThread_breakFlags]
- adrl lr, dvmAsmInstructionStart + (302 * 64)
- ldr rIBASE, [rSELF, #offThread_curHandlerTable]
- cmp r3, #0
- bxeq lr @ nothing to do - jump to real handler
- EXPORT_PC()
- mov r0, rPC @ arg0
- mov r1, rFP @ arg1
- mov r2, rSELF @ arg2
- b dvmCheckBefore @ (dPC,dFP,self) tail call
-
-/* ------------------------------ */
- .balign 64
-.L_ALT_OP_UNUSED_2FFF: /* 0x12f */
-/* File: armv5te/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Note that the call to dvmCheckBefore is done as a tail call.
- * rIBASE updates won't be seen until a refresh, and we can tell we have a
- * stale rIBASE if breakFlags==0. Always refresh rIBASE here, and then
- * bail to the real handler if breakFlags==0.
- */
- ldrb r3, [rSELF, #offThread_breakFlags]
- adrl lr, dvmAsmInstructionStart + (303 * 64)
- ldr rIBASE, [rSELF, #offThread_curHandlerTable]
- cmp r3, #0
- bxeq lr @ nothing to do - jump to real handler
- EXPORT_PC()
- mov r0, rPC @ arg0
- mov r1, rFP @ arg1
- mov r2, rSELF @ arg2
- b dvmCheckBefore @ (dPC,dFP,self) tail call
-
-/* ------------------------------ */
- .balign 64
-.L_ALT_OP_UNUSED_30FF: /* 0x130 */
-/* File: armv5te/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Note that the call to dvmCheckBefore is done as a tail call.
- * rIBASE updates won't be seen until a refresh, and we can tell we have a
- * stale rIBASE if breakFlags==0. Always refresh rIBASE here, and then
- * bail to the real handler if breakFlags==0.
- */
- ldrb r3, [rSELF, #offThread_breakFlags]
- adrl lr, dvmAsmInstructionStart + (304 * 64)
- ldr rIBASE, [rSELF, #offThread_curHandlerTable]
- cmp r3, #0
- bxeq lr @ nothing to do - jump to real handler
- EXPORT_PC()
- mov r0, rPC @ arg0
- mov r1, rFP @ arg1
- mov r2, rSELF @ arg2
- b dvmCheckBefore @ (dPC,dFP,self) tail call
-
-/* ------------------------------ */
- .balign 64
-.L_ALT_OP_UNUSED_31FF: /* 0x131 */
-/* File: armv5te/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Note that the call to dvmCheckBefore is done as a tail call.
- * rIBASE updates won't be seen until a refresh, and we can tell we have a
- * stale rIBASE if breakFlags==0. Always refresh rIBASE here, and then
- * bail to the real handler if breakFlags==0.
- */
- ldrb r3, [rSELF, #offThread_breakFlags]
- adrl lr, dvmAsmInstructionStart + (305 * 64)
- ldr rIBASE, [rSELF, #offThread_curHandlerTable]
- cmp r3, #0
- bxeq lr @ nothing to do - jump to real handler
- EXPORT_PC()
- mov r0, rPC @ arg0
- mov r1, rFP @ arg1
- mov r2, rSELF @ arg2
- b dvmCheckBefore @ (dPC,dFP,self) tail call
-
-/* ------------------------------ */
- .balign 64
-.L_ALT_OP_UNUSED_32FF: /* 0x132 */
-/* File: armv5te/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Note that the call to dvmCheckBefore is done as a tail call.
- * rIBASE updates won't be seen until a refresh, and we can tell we have a
- * stale rIBASE if breakFlags==0. Always refresh rIBASE here, and then
- * bail to the real handler if breakFlags==0.
- */
- ldrb r3, [rSELF, #offThread_breakFlags]
- adrl lr, dvmAsmInstructionStart + (306 * 64)
- ldr rIBASE, [rSELF, #offThread_curHandlerTable]
- cmp r3, #0
- bxeq lr @ nothing to do - jump to real handler
- EXPORT_PC()
- mov r0, rPC @ arg0
- mov r1, rFP @ arg1
- mov r2, rSELF @ arg2
- b dvmCheckBefore @ (dPC,dFP,self) tail call
-
-/* ------------------------------ */
- .balign 64
-.L_ALT_OP_UNUSED_33FF: /* 0x133 */
-/* File: armv5te/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Note that the call to dvmCheckBefore is done as a tail call.
- * rIBASE updates won't be seen until a refresh, and we can tell we have a
- * stale rIBASE if breakFlags==0. Always refresh rIBASE here, and then
- * bail to the real handler if breakFlags==0.
- */
- ldrb r3, [rSELF, #offThread_breakFlags]
- adrl lr, dvmAsmInstructionStart + (307 * 64)
- ldr rIBASE, [rSELF, #offThread_curHandlerTable]
- cmp r3, #0
- bxeq lr @ nothing to do - jump to real handler
- EXPORT_PC()
- mov r0, rPC @ arg0
- mov r1, rFP @ arg1
- mov r2, rSELF @ arg2
- b dvmCheckBefore @ (dPC,dFP,self) tail call
-
-/* ------------------------------ */
- .balign 64
-.L_ALT_OP_UNUSED_34FF: /* 0x134 */
-/* File: armv5te/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Note that the call to dvmCheckBefore is done as a tail call.
- * rIBASE updates won't be seen until a refresh, and we can tell we have a
- * stale rIBASE if breakFlags==0. Always refresh rIBASE here, and then
- * bail to the real handler if breakFlags==0.
- */
- ldrb r3, [rSELF, #offThread_breakFlags]
- adrl lr, dvmAsmInstructionStart + (308 * 64)
- ldr rIBASE, [rSELF, #offThread_curHandlerTable]
- cmp r3, #0
- bxeq lr @ nothing to do - jump to real handler
- EXPORT_PC()
- mov r0, rPC @ arg0
- mov r1, rFP @ arg1
- mov r2, rSELF @ arg2
- b dvmCheckBefore @ (dPC,dFP,self) tail call
-
-/* ------------------------------ */
- .balign 64
-.L_ALT_OP_UNUSED_35FF: /* 0x135 */
-/* File: armv5te/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Note that the call to dvmCheckBefore is done as a tail call.
- * rIBASE updates won't be seen until a refresh, and we can tell we have a
- * stale rIBASE if breakFlags==0. Always refresh rIBASE here, and then
- * bail to the real handler if breakFlags==0.
- */
- ldrb r3, [rSELF, #offThread_breakFlags]
- adrl lr, dvmAsmInstructionStart + (309 * 64)
- ldr rIBASE, [rSELF, #offThread_curHandlerTable]
- cmp r3, #0
- bxeq lr @ nothing to do - jump to real handler
- EXPORT_PC()
- mov r0, rPC @ arg0
- mov r1, rFP @ arg1
- mov r2, rSELF @ arg2
- b dvmCheckBefore @ (dPC,dFP,self) tail call
-
-/* ------------------------------ */
- .balign 64
-.L_ALT_OP_UNUSED_36FF: /* 0x136 */
-/* File: armv5te/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Note that the call to dvmCheckBefore is done as a tail call.
- * rIBASE updates won't be seen until a refresh, and we can tell we have a
- * stale rIBASE if breakFlags==0. Always refresh rIBASE here, and then
- * bail to the real handler if breakFlags==0.
- */
- ldrb r3, [rSELF, #offThread_breakFlags]
- adrl lr, dvmAsmInstructionStart + (310 * 64)
- ldr rIBASE, [rSELF, #offThread_curHandlerTable]
- cmp r3, #0
- bxeq lr @ nothing to do - jump to real handler
- EXPORT_PC()
- mov r0, rPC @ arg0
- mov r1, rFP @ arg1
- mov r2, rSELF @ arg2
- b dvmCheckBefore @ (dPC,dFP,self) tail call
-
-/* ------------------------------ */
- .balign 64
-.L_ALT_OP_UNUSED_37FF: /* 0x137 */
-/* File: armv5te/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Note that the call to dvmCheckBefore is done as a tail call.
- * rIBASE updates won't be seen until a refresh, and we can tell we have a
- * stale rIBASE if breakFlags==0. Always refresh rIBASE here, and then
- * bail to the real handler if breakFlags==0.
- */
- ldrb r3, [rSELF, #offThread_breakFlags]
- adrl lr, dvmAsmInstructionStart + (311 * 64)
- ldr rIBASE, [rSELF, #offThread_curHandlerTable]
- cmp r3, #0
- bxeq lr @ nothing to do - jump to real handler
- EXPORT_PC()
- mov r0, rPC @ arg0
- mov r1, rFP @ arg1
- mov r2, rSELF @ arg2
- b dvmCheckBefore @ (dPC,dFP,self) tail call
-
-/* ------------------------------ */
- .balign 64
-.L_ALT_OP_UNUSED_38FF: /* 0x138 */
-/* File: armv5te/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Note that the call to dvmCheckBefore is done as a tail call.
- * rIBASE updates won't be seen until a refresh, and we can tell we have a
- * stale rIBASE if breakFlags==0. Always refresh rIBASE here, and then
- * bail to the real handler if breakFlags==0.
- */
- ldrb r3, [rSELF, #offThread_breakFlags]
- adrl lr, dvmAsmInstructionStart + (312 * 64)
- ldr rIBASE, [rSELF, #offThread_curHandlerTable]
- cmp r3, #0
- bxeq lr @ nothing to do - jump to real handler
- EXPORT_PC()
- mov r0, rPC @ arg0
- mov r1, rFP @ arg1
- mov r2, rSELF @ arg2
- b dvmCheckBefore @ (dPC,dFP,self) tail call
-
-/* ------------------------------ */
- .balign 64
-.L_ALT_OP_UNUSED_39FF: /* 0x139 */
-/* File: armv5te/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Note that the call to dvmCheckBefore is done as a tail call.
- * rIBASE updates won't be seen until a refresh, and we can tell we have a
- * stale rIBASE if breakFlags==0. Always refresh rIBASE here, and then
- * bail to the real handler if breakFlags==0.
- */
- ldrb r3, [rSELF, #offThread_breakFlags]
- adrl lr, dvmAsmInstructionStart + (313 * 64)
- ldr rIBASE, [rSELF, #offThread_curHandlerTable]
- cmp r3, #0
- bxeq lr @ nothing to do - jump to real handler
- EXPORT_PC()
- mov r0, rPC @ arg0
- mov r1, rFP @ arg1
- mov r2, rSELF @ arg2
- b dvmCheckBefore @ (dPC,dFP,self) tail call
-
-/* ------------------------------ */
- .balign 64
-.L_ALT_OP_UNUSED_3AFF: /* 0x13a */
-/* File: armv5te/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Note that the call to dvmCheckBefore is done as a tail call.
- * rIBASE updates won't be seen until a refresh, and we can tell we have a
- * stale rIBASE if breakFlags==0. Always refresh rIBASE here, and then
- * bail to the real handler if breakFlags==0.
- */
- ldrb r3, [rSELF, #offThread_breakFlags]
- adrl lr, dvmAsmInstructionStart + (314 * 64)
- ldr rIBASE, [rSELF, #offThread_curHandlerTable]
- cmp r3, #0
- bxeq lr @ nothing to do - jump to real handler
- EXPORT_PC()
- mov r0, rPC @ arg0
- mov r1, rFP @ arg1
- mov r2, rSELF @ arg2
- b dvmCheckBefore @ (dPC,dFP,self) tail call
-
-/* ------------------------------ */
- .balign 64
-.L_ALT_OP_UNUSED_3BFF: /* 0x13b */
-/* File: armv5te/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Note that the call to dvmCheckBefore is done as a tail call.
- * rIBASE updates won't be seen until a refresh, and we can tell we have a
- * stale rIBASE if breakFlags==0. Always refresh rIBASE here, and then
- * bail to the real handler if breakFlags==0.
- */
- ldrb r3, [rSELF, #offThread_breakFlags]
- adrl lr, dvmAsmInstructionStart + (315 * 64)
- ldr rIBASE, [rSELF, #offThread_curHandlerTable]
- cmp r3, #0
- bxeq lr @ nothing to do - jump to real handler
- EXPORT_PC()
- mov r0, rPC @ arg0
- mov r1, rFP @ arg1
- mov r2, rSELF @ arg2
- b dvmCheckBefore @ (dPC,dFP,self) tail call
-
-/* ------------------------------ */
- .balign 64
-.L_ALT_OP_UNUSED_3CFF: /* 0x13c */
-/* File: armv5te/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Note that the call to dvmCheckBefore is done as a tail call.
- * rIBASE updates won't be seen until a refresh, and we can tell we have a
- * stale rIBASE if breakFlags==0. Always refresh rIBASE here, and then
- * bail to the real handler if breakFlags==0.
- */
- ldrb r3, [rSELF, #offThread_breakFlags]
- adrl lr, dvmAsmInstructionStart + (316 * 64)
- ldr rIBASE, [rSELF, #offThread_curHandlerTable]
- cmp r3, #0
- bxeq lr @ nothing to do - jump to real handler
- EXPORT_PC()
- mov r0, rPC @ arg0
- mov r1, rFP @ arg1
- mov r2, rSELF @ arg2
- b dvmCheckBefore @ (dPC,dFP,self) tail call
-
-/* ------------------------------ */
- .balign 64
-.L_ALT_OP_UNUSED_3DFF: /* 0x13d */
-/* File: armv5te/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Note that the call to dvmCheckBefore is done as a tail call.
- * rIBASE updates won't be seen until a refresh, and we can tell we have a
- * stale rIBASE if breakFlags==0. Always refresh rIBASE here, and then
- * bail to the real handler if breakFlags==0.
- */
- ldrb r3, [rSELF, #offThread_breakFlags]
- adrl lr, dvmAsmInstructionStart + (317 * 64)
- ldr rIBASE, [rSELF, #offThread_curHandlerTable]
- cmp r3, #0
- bxeq lr @ nothing to do - jump to real handler
- EXPORT_PC()
- mov r0, rPC @ arg0
- mov r1, rFP @ arg1
- mov r2, rSELF @ arg2
- b dvmCheckBefore @ (dPC,dFP,self) tail call
-
-/* ------------------------------ */
- .balign 64
-.L_ALT_OP_UNUSED_3EFF: /* 0x13e */
-/* File: armv5te/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Note that the call to dvmCheckBefore is done as a tail call.
- * rIBASE updates won't be seen until a refresh, and we can tell we have a
- * stale rIBASE if breakFlags==0. Always refresh rIBASE here, and then
- * bail to the real handler if breakFlags==0.
- */
- ldrb r3, [rSELF, #offThread_breakFlags]
- adrl lr, dvmAsmInstructionStart + (318 * 64)
- ldr rIBASE, [rSELF, #offThread_curHandlerTable]
- cmp r3, #0
- bxeq lr @ nothing to do - jump to real handler
- EXPORT_PC()
- mov r0, rPC @ arg0
- mov r1, rFP @ arg1
- mov r2, rSELF @ arg2
- b dvmCheckBefore @ (dPC,dFP,self) tail call
-
-/* ------------------------------ */
- .balign 64
-.L_ALT_OP_UNUSED_3FFF: /* 0x13f */
-/* File: armv5te/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Note that the call to dvmCheckBefore is done as a tail call.
- * rIBASE updates won't be seen until a refresh, and we can tell we have a
- * stale rIBASE if breakFlags==0. Always refresh rIBASE here, and then
- * bail to the real handler if breakFlags==0.
- */
- ldrb r3, [rSELF, #offThread_breakFlags]
- adrl lr, dvmAsmInstructionStart + (319 * 64)
- ldr rIBASE, [rSELF, #offThread_curHandlerTable]
- cmp r3, #0
- bxeq lr @ nothing to do - jump to real handler
- EXPORT_PC()
- mov r0, rPC @ arg0
- mov r1, rFP @ arg1
- mov r2, rSELF @ arg2
- b dvmCheckBefore @ (dPC,dFP,self) tail call
-
-/* ------------------------------ */
- .balign 64
-.L_ALT_OP_UNUSED_40FF: /* 0x140 */
-/* File: armv5te/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Note that the call to dvmCheckBefore is done as a tail call.
- * rIBASE updates won't be seen until a refresh, and we can tell we have a
- * stale rIBASE if breakFlags==0. Always refresh rIBASE here, and then
- * bail to the real handler if breakFlags==0.
- */
- ldrb r3, [rSELF, #offThread_breakFlags]
- adrl lr, dvmAsmInstructionStart + (320 * 64)
- ldr rIBASE, [rSELF, #offThread_curHandlerTable]
- cmp r3, #0
- bxeq lr @ nothing to do - jump to real handler
- EXPORT_PC()
- mov r0, rPC @ arg0
- mov r1, rFP @ arg1
- mov r2, rSELF @ arg2
- b dvmCheckBefore @ (dPC,dFP,self) tail call
-
-/* ------------------------------ */
- .balign 64
-.L_ALT_OP_UNUSED_41FF: /* 0x141 */
-/* File: armv5te/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Note that the call to dvmCheckBefore is done as a tail call.
- * rIBASE updates won't be seen until a refresh, and we can tell we have a
- * stale rIBASE if breakFlags==0. Always refresh rIBASE here, and then
- * bail to the real handler if breakFlags==0.
- */
- ldrb r3, [rSELF, #offThread_breakFlags]
- adrl lr, dvmAsmInstructionStart + (321 * 64)
- ldr rIBASE, [rSELF, #offThread_curHandlerTable]
- cmp r3, #0
- bxeq lr @ nothing to do - jump to real handler
- EXPORT_PC()
- mov r0, rPC @ arg0
- mov r1, rFP @ arg1
- mov r2, rSELF @ arg2
- b dvmCheckBefore @ (dPC,dFP,self) tail call
-
-/* ------------------------------ */
- .balign 64
-.L_ALT_OP_UNUSED_42FF: /* 0x142 */
-/* File: armv5te/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Note that the call to dvmCheckBefore is done as a tail call.
- * rIBASE updates won't be seen until a refresh, and we can tell we have a
- * stale rIBASE if breakFlags==0. Always refresh rIBASE here, and then
- * bail to the real handler if breakFlags==0.
- */
- ldrb r3, [rSELF, #offThread_breakFlags]
- adrl lr, dvmAsmInstructionStart + (322 * 64)
- ldr rIBASE, [rSELF, #offThread_curHandlerTable]
- cmp r3, #0
- bxeq lr @ nothing to do - jump to real handler
- EXPORT_PC()
- mov r0, rPC @ arg0
- mov r1, rFP @ arg1
- mov r2, rSELF @ arg2
- b dvmCheckBefore @ (dPC,dFP,self) tail call
-
-/* ------------------------------ */
- .balign 64
-.L_ALT_OP_UNUSED_43FF: /* 0x143 */
-/* File: armv5te/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Note that the call to dvmCheckBefore is done as a tail call.
- * rIBASE updates won't be seen until a refresh, and we can tell we have a
- * stale rIBASE if breakFlags==0. Always refresh rIBASE here, and then
- * bail to the real handler if breakFlags==0.
- */
- ldrb r3, [rSELF, #offThread_breakFlags]
- adrl lr, dvmAsmInstructionStart + (323 * 64)
- ldr rIBASE, [rSELF, #offThread_curHandlerTable]
- cmp r3, #0
- bxeq lr @ nothing to do - jump to real handler
- EXPORT_PC()
- mov r0, rPC @ arg0
- mov r1, rFP @ arg1
- mov r2, rSELF @ arg2
- b dvmCheckBefore @ (dPC,dFP,self) tail call
-
-/* ------------------------------ */
- .balign 64
-.L_ALT_OP_UNUSED_44FF: /* 0x144 */
-/* File: armv5te/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Note that the call to dvmCheckBefore is done as a tail call.
- * rIBASE updates won't be seen until a refresh, and we can tell we have a
- * stale rIBASE if breakFlags==0. Always refresh rIBASE here, and then
- * bail to the real handler if breakFlags==0.
- */
- ldrb r3, [rSELF, #offThread_breakFlags]
- adrl lr, dvmAsmInstructionStart + (324 * 64)
- ldr rIBASE, [rSELF, #offThread_curHandlerTable]
- cmp r3, #0
- bxeq lr @ nothing to do - jump to real handler
- EXPORT_PC()
- mov r0, rPC @ arg0
- mov r1, rFP @ arg1
- mov r2, rSELF @ arg2
- b dvmCheckBefore @ (dPC,dFP,self) tail call
-
-/* ------------------------------ */
- .balign 64
-.L_ALT_OP_UNUSED_45FF: /* 0x145 */
-/* File: armv5te/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Note that the call to dvmCheckBefore is done as a tail call.
- * rIBASE updates won't be seen until a refresh, and we can tell we have a
- * stale rIBASE if breakFlags==0. Always refresh rIBASE here, and then
- * bail to the real handler if breakFlags==0.
- */
- ldrb r3, [rSELF, #offThread_breakFlags]
- adrl lr, dvmAsmInstructionStart + (325 * 64)
- ldr rIBASE, [rSELF, #offThread_curHandlerTable]
- cmp r3, #0
- bxeq lr @ nothing to do - jump to real handler
- EXPORT_PC()
- mov r0, rPC @ arg0
- mov r1, rFP @ arg1
- mov r2, rSELF @ arg2
- b dvmCheckBefore @ (dPC,dFP,self) tail call
-
-/* ------------------------------ */
- .balign 64
-.L_ALT_OP_UNUSED_46FF: /* 0x146 */
-/* File: armv5te/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Note that the call to dvmCheckBefore is done as a tail call.
- * rIBASE updates won't be seen until a refresh, and we can tell we have a
- * stale rIBASE if breakFlags==0. Always refresh rIBASE here, and then
- * bail to the real handler if breakFlags==0.
- */
- ldrb r3, [rSELF, #offThread_breakFlags]
- adrl lr, dvmAsmInstructionStart + (326 * 64)
- ldr rIBASE, [rSELF, #offThread_curHandlerTable]
- cmp r3, #0
- bxeq lr @ nothing to do - jump to real handler
- EXPORT_PC()
- mov r0, rPC @ arg0
- mov r1, rFP @ arg1
- mov r2, rSELF @ arg2
- b dvmCheckBefore @ (dPC,dFP,self) tail call
-
-/* ------------------------------ */
- .balign 64
-.L_ALT_OP_UNUSED_47FF: /* 0x147 */
-/* File: armv5te/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Note that the call to dvmCheckBefore is done as a tail call.
- * rIBASE updates won't be seen until a refresh, and we can tell we have a
- * stale rIBASE if breakFlags==0. Always refresh rIBASE here, and then
- * bail to the real handler if breakFlags==0.
- */
- ldrb r3, [rSELF, #offThread_breakFlags]
- adrl lr, dvmAsmInstructionStart + (327 * 64)
- ldr rIBASE, [rSELF, #offThread_curHandlerTable]
- cmp r3, #0
- bxeq lr @ nothing to do - jump to real handler
- EXPORT_PC()
- mov r0, rPC @ arg0
- mov r1, rFP @ arg1
- mov r2, rSELF @ arg2
- b dvmCheckBefore @ (dPC,dFP,self) tail call
-
-/* ------------------------------ */
- .balign 64
-.L_ALT_OP_UNUSED_48FF: /* 0x148 */
-/* File: armv5te/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Note that the call to dvmCheckBefore is done as a tail call.
- * rIBASE updates won't be seen until a refresh, and we can tell we have a
- * stale rIBASE if breakFlags==0. Always refresh rIBASE here, and then
- * bail to the real handler if breakFlags==0.
- */
- ldrb r3, [rSELF, #offThread_breakFlags]
- adrl lr, dvmAsmInstructionStart + (328 * 64)
- ldr rIBASE, [rSELF, #offThread_curHandlerTable]
- cmp r3, #0
- bxeq lr @ nothing to do - jump to real handler
- EXPORT_PC()
- mov r0, rPC @ arg0
- mov r1, rFP @ arg1
- mov r2, rSELF @ arg2
- b dvmCheckBefore @ (dPC,dFP,self) tail call
-
-/* ------------------------------ */
- .balign 64
-.L_ALT_OP_UNUSED_49FF: /* 0x149 */
-/* File: armv5te/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Note that the call to dvmCheckBefore is done as a tail call.
- * rIBASE updates won't be seen until a refresh, and we can tell we have a
- * stale rIBASE if breakFlags==0. Always refresh rIBASE here, and then
- * bail to the real handler if breakFlags==0.
- */
- ldrb r3, [rSELF, #offThread_breakFlags]
- adrl lr, dvmAsmInstructionStart + (329 * 64)
- ldr rIBASE, [rSELF, #offThread_curHandlerTable]
- cmp r3, #0
- bxeq lr @ nothing to do - jump to real handler
- EXPORT_PC()
- mov r0, rPC @ arg0
- mov r1, rFP @ arg1
- mov r2, rSELF @ arg2
- b dvmCheckBefore @ (dPC,dFP,self) tail call
-
-/* ------------------------------ */
- .balign 64
-.L_ALT_OP_UNUSED_4AFF: /* 0x14a */
-/* File: armv5te/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Note that the call to dvmCheckBefore is done as a tail call.
- * rIBASE updates won't be seen until a refresh, and we can tell we have a
- * stale rIBASE if breakFlags==0. Always refresh rIBASE here, and then
- * bail to the real handler if breakFlags==0.
- */
- ldrb r3, [rSELF, #offThread_breakFlags]
- adrl lr, dvmAsmInstructionStart + (330 * 64)
- ldr rIBASE, [rSELF, #offThread_curHandlerTable]
- cmp r3, #0
- bxeq lr @ nothing to do - jump to real handler
- EXPORT_PC()
- mov r0, rPC @ arg0
- mov r1, rFP @ arg1
- mov r2, rSELF @ arg2
- b dvmCheckBefore @ (dPC,dFP,self) tail call
-
-/* ------------------------------ */
- .balign 64
-.L_ALT_OP_UNUSED_4BFF: /* 0x14b */
-/* File: armv5te/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Note that the call to dvmCheckBefore is done as a tail call.
- * rIBASE updates won't be seen until a refresh, and we can tell we have a
- * stale rIBASE if breakFlags==0. Always refresh rIBASE here, and then
- * bail to the real handler if breakFlags==0.
- */
- ldrb r3, [rSELF, #offThread_breakFlags]
- adrl lr, dvmAsmInstructionStart + (331 * 64)
- ldr rIBASE, [rSELF, #offThread_curHandlerTable]
- cmp r3, #0
- bxeq lr @ nothing to do - jump to real handler
- EXPORT_PC()
- mov r0, rPC @ arg0
- mov r1, rFP @ arg1
- mov r2, rSELF @ arg2
- b dvmCheckBefore @ (dPC,dFP,self) tail call
-
-/* ------------------------------ */
- .balign 64
-.L_ALT_OP_UNUSED_4CFF: /* 0x14c */
-/* File: armv5te/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Note that the call to dvmCheckBefore is done as a tail call.
- * rIBASE updates won't be seen until a refresh, and we can tell we have a
- * stale rIBASE if breakFlags==0. Always refresh rIBASE here, and then
- * bail to the real handler if breakFlags==0.
- */
- ldrb r3, [rSELF, #offThread_breakFlags]
- adrl lr, dvmAsmInstructionStart + (332 * 64)
- ldr rIBASE, [rSELF, #offThread_curHandlerTable]
- cmp r3, #0
- bxeq lr @ nothing to do - jump to real handler
- EXPORT_PC()
- mov r0, rPC @ arg0
- mov r1, rFP @ arg1
- mov r2, rSELF @ arg2
- b dvmCheckBefore @ (dPC,dFP,self) tail call
-
-/* ------------------------------ */
- .balign 64
-.L_ALT_OP_UNUSED_4DFF: /* 0x14d */
-/* File: armv5te/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Note that the call to dvmCheckBefore is done as a tail call.
- * rIBASE updates won't be seen until a refresh, and we can tell we have a
- * stale rIBASE if breakFlags==0. Always refresh rIBASE here, and then
- * bail to the real handler if breakFlags==0.
- */
- ldrb r3, [rSELF, #offThread_breakFlags]
- adrl lr, dvmAsmInstructionStart + (333 * 64)
- ldr rIBASE, [rSELF, #offThread_curHandlerTable]
- cmp r3, #0
- bxeq lr @ nothing to do - jump to real handler
- EXPORT_PC()
- mov r0, rPC @ arg0
- mov r1, rFP @ arg1
- mov r2, rSELF @ arg2
- b dvmCheckBefore @ (dPC,dFP,self) tail call
-
-/* ------------------------------ */
- .balign 64
-.L_ALT_OP_UNUSED_4EFF: /* 0x14e */
-/* File: armv5te/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Note that the call to dvmCheckBefore is done as a tail call.
- * rIBASE updates won't be seen until a refresh, and we can tell we have a
- * stale rIBASE if breakFlags==0. Always refresh rIBASE here, and then
- * bail to the real handler if breakFlags==0.
- */
- ldrb r3, [rSELF, #offThread_breakFlags]
- adrl lr, dvmAsmInstructionStart + (334 * 64)
- ldr rIBASE, [rSELF, #offThread_curHandlerTable]
- cmp r3, #0
- bxeq lr @ nothing to do - jump to real handler
- EXPORT_PC()
- mov r0, rPC @ arg0
- mov r1, rFP @ arg1
- mov r2, rSELF @ arg2
- b dvmCheckBefore @ (dPC,dFP,self) tail call
-
-/* ------------------------------ */
- .balign 64
-.L_ALT_OP_UNUSED_4FFF: /* 0x14f */
-/* File: armv5te/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Note that the call to dvmCheckBefore is done as a tail call.
- * rIBASE updates won't be seen until a refresh, and we can tell we have a
- * stale rIBASE if breakFlags==0. Always refresh rIBASE here, and then
- * bail to the real handler if breakFlags==0.
- */
- ldrb r3, [rSELF, #offThread_breakFlags]
- adrl lr, dvmAsmInstructionStart + (335 * 64)
- ldr rIBASE, [rSELF, #offThread_curHandlerTable]
- cmp r3, #0
- bxeq lr @ nothing to do - jump to real handler
- EXPORT_PC()
- mov r0, rPC @ arg0
- mov r1, rFP @ arg1
- mov r2, rSELF @ arg2
- b dvmCheckBefore @ (dPC,dFP,self) tail call
-
-/* ------------------------------ */
- .balign 64
-.L_ALT_OP_UNUSED_50FF: /* 0x150 */
-/* File: armv5te/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Note that the call to dvmCheckBefore is done as a tail call.
- * rIBASE updates won't be seen until a refresh, and we can tell we have a
- * stale rIBASE if breakFlags==0. Always refresh rIBASE here, and then
- * bail to the real handler if breakFlags==0.
- */
- ldrb r3, [rSELF, #offThread_breakFlags]
- adrl lr, dvmAsmInstructionStart + (336 * 64)
- ldr rIBASE, [rSELF, #offThread_curHandlerTable]
- cmp r3, #0
- bxeq lr @ nothing to do - jump to real handler
- EXPORT_PC()
- mov r0, rPC @ arg0
- mov r1, rFP @ arg1
- mov r2, rSELF @ arg2
- b dvmCheckBefore @ (dPC,dFP,self) tail call
-
-/* ------------------------------ */
- .balign 64
-.L_ALT_OP_UNUSED_51FF: /* 0x151 */
-/* File: armv5te/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Note that the call to dvmCheckBefore is done as a tail call.
- * rIBASE updates won't be seen until a refresh, and we can tell we have a
- * stale rIBASE if breakFlags==0. Always refresh rIBASE here, and then
- * bail to the real handler if breakFlags==0.
- */
- ldrb r3, [rSELF, #offThread_breakFlags]
- adrl lr, dvmAsmInstructionStart + (337 * 64)
- ldr rIBASE, [rSELF, #offThread_curHandlerTable]
- cmp r3, #0
- bxeq lr @ nothing to do - jump to real handler
- EXPORT_PC()
- mov r0, rPC @ arg0
- mov r1, rFP @ arg1
- mov r2, rSELF @ arg2
- b dvmCheckBefore @ (dPC,dFP,self) tail call
-
-/* ------------------------------ */
- .balign 64
-.L_ALT_OP_UNUSED_52FF: /* 0x152 */
-/* File: armv5te/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Note that the call to dvmCheckBefore is done as a tail call.
- * rIBASE updates won't be seen until a refresh, and we can tell we have a
- * stale rIBASE if breakFlags==0. Always refresh rIBASE here, and then
- * bail to the real handler if breakFlags==0.
- */
- ldrb r3, [rSELF, #offThread_breakFlags]
- adrl lr, dvmAsmInstructionStart + (338 * 64)
- ldr rIBASE, [rSELF, #offThread_curHandlerTable]
- cmp r3, #0
- bxeq lr @ nothing to do - jump to real handler
- EXPORT_PC()
- mov r0, rPC @ arg0
- mov r1, rFP @ arg1
- mov r2, rSELF @ arg2
- b dvmCheckBefore @ (dPC,dFP,self) tail call
-
-/* ------------------------------ */
- .balign 64
-.L_ALT_OP_UNUSED_53FF: /* 0x153 */
-/* File: armv5te/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Note that the call to dvmCheckBefore is done as a tail call.
- * rIBASE updates won't be seen until a refresh, and we can tell we have a
- * stale rIBASE if breakFlags==0. Always refresh rIBASE here, and then
- * bail to the real handler if breakFlags==0.
- */
- ldrb r3, [rSELF, #offThread_breakFlags]
- adrl lr, dvmAsmInstructionStart + (339 * 64)
- ldr rIBASE, [rSELF, #offThread_curHandlerTable]
- cmp r3, #0
- bxeq lr @ nothing to do - jump to real handler
- EXPORT_PC()
- mov r0, rPC @ arg0
- mov r1, rFP @ arg1
- mov r2, rSELF @ arg2
- b dvmCheckBefore @ (dPC,dFP,self) tail call
-
-/* ------------------------------ */
- .balign 64
-.L_ALT_OP_UNUSED_54FF: /* 0x154 */
-/* File: armv5te/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Note that the call to dvmCheckBefore is done as a tail call.
- * rIBASE updates won't be seen until a refresh, and we can tell we have a
- * stale rIBASE if breakFlags==0. Always refresh rIBASE here, and then
- * bail to the real handler if breakFlags==0.
- */
- ldrb r3, [rSELF, #offThread_breakFlags]
- adrl lr, dvmAsmInstructionStart + (340 * 64)
- ldr rIBASE, [rSELF, #offThread_curHandlerTable]
- cmp r3, #0
- bxeq lr @ nothing to do - jump to real handler
- EXPORT_PC()
- mov r0, rPC @ arg0
- mov r1, rFP @ arg1
- mov r2, rSELF @ arg2
- b dvmCheckBefore @ (dPC,dFP,self) tail call
-
-/* ------------------------------ */
- .balign 64
-.L_ALT_OP_UNUSED_55FF: /* 0x155 */
-/* File: armv5te/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Note that the call to dvmCheckBefore is done as a tail call.
- * rIBASE updates won't be seen until a refresh, and we can tell we have a
- * stale rIBASE if breakFlags==0. Always refresh rIBASE here, and then
- * bail to the real handler if breakFlags==0.
- */
- ldrb r3, [rSELF, #offThread_breakFlags]
- adrl lr, dvmAsmInstructionStart + (341 * 64)
- ldr rIBASE, [rSELF, #offThread_curHandlerTable]
- cmp r3, #0
- bxeq lr @ nothing to do - jump to real handler
- EXPORT_PC()
- mov r0, rPC @ arg0
- mov r1, rFP @ arg1
- mov r2, rSELF @ arg2
- b dvmCheckBefore @ (dPC,dFP,self) tail call
-
-/* ------------------------------ */
- .balign 64
-.L_ALT_OP_UNUSED_56FF: /* 0x156 */
-/* File: armv5te/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Note that the call to dvmCheckBefore is done as a tail call.
- * rIBASE updates won't be seen until a refresh, and we can tell we have a
- * stale rIBASE if breakFlags==0. Always refresh rIBASE here, and then
- * bail to the real handler if breakFlags==0.
- */
- ldrb r3, [rSELF, #offThread_breakFlags]
- adrl lr, dvmAsmInstructionStart + (342 * 64)
- ldr rIBASE, [rSELF, #offThread_curHandlerTable]
- cmp r3, #0
- bxeq lr @ nothing to do - jump to real handler
- EXPORT_PC()
- mov r0, rPC @ arg0
- mov r1, rFP @ arg1
- mov r2, rSELF @ arg2
- b dvmCheckBefore @ (dPC,dFP,self) tail call
-
-/* ------------------------------ */
- .balign 64
-.L_ALT_OP_UNUSED_57FF: /* 0x157 */
-/* File: armv5te/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Note that the call to dvmCheckBefore is done as a tail call.
- * rIBASE updates won't be seen until a refresh, and we can tell we have a
- * stale rIBASE if breakFlags==0. Always refresh rIBASE here, and then
- * bail to the real handler if breakFlags==0.
- */
- ldrb r3, [rSELF, #offThread_breakFlags]
- adrl lr, dvmAsmInstructionStart + (343 * 64)
- ldr rIBASE, [rSELF, #offThread_curHandlerTable]
- cmp r3, #0
- bxeq lr @ nothing to do - jump to real handler
- EXPORT_PC()
- mov r0, rPC @ arg0
- mov r1, rFP @ arg1
- mov r2, rSELF @ arg2
- b dvmCheckBefore @ (dPC,dFP,self) tail call
-
-/* ------------------------------ */
- .balign 64
-.L_ALT_OP_UNUSED_58FF: /* 0x158 */
-/* File: armv5te/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Note that the call to dvmCheckBefore is done as a tail call.
- * rIBASE updates won't be seen until a refresh, and we can tell we have a
- * stale rIBASE if breakFlags==0. Always refresh rIBASE here, and then
- * bail to the real handler if breakFlags==0.
- */
- ldrb r3, [rSELF, #offThread_breakFlags]
- adrl lr, dvmAsmInstructionStart + (344 * 64)
- ldr rIBASE, [rSELF, #offThread_curHandlerTable]
- cmp r3, #0
- bxeq lr @ nothing to do - jump to real handler
- EXPORT_PC()
- mov r0, rPC @ arg0
- mov r1, rFP @ arg1
- mov r2, rSELF @ arg2
- b dvmCheckBefore @ (dPC,dFP,self) tail call
-
-/* ------------------------------ */
- .balign 64
-.L_ALT_OP_UNUSED_59FF: /* 0x159 */
-/* File: armv5te/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Note that the call to dvmCheckBefore is done as a tail call.
- * rIBASE updates won't be seen until a refresh, and we can tell we have a
- * stale rIBASE if breakFlags==0. Always refresh rIBASE here, and then
- * bail to the real handler if breakFlags==0.
- */
- ldrb r3, [rSELF, #offThread_breakFlags]
- adrl lr, dvmAsmInstructionStart + (345 * 64)
- ldr rIBASE, [rSELF, #offThread_curHandlerTable]
- cmp r3, #0
- bxeq lr @ nothing to do - jump to real handler
- EXPORT_PC()
- mov r0, rPC @ arg0
- mov r1, rFP @ arg1
- mov r2, rSELF @ arg2
- b dvmCheckBefore @ (dPC,dFP,self) tail call
-
-/* ------------------------------ */
- .balign 64
-.L_ALT_OP_UNUSED_5AFF: /* 0x15a */
-/* File: armv5te/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Note that the call to dvmCheckBefore is done as a tail call.
- * rIBASE updates won't be seen until a refresh, and we can tell we have a
- * stale rIBASE if breakFlags==0. Always refresh rIBASE here, and then
- * bail to the real handler if breakFlags==0.
- */
- ldrb r3, [rSELF, #offThread_breakFlags]
- adrl lr, dvmAsmInstructionStart + (346 * 64)
- ldr rIBASE, [rSELF, #offThread_curHandlerTable]
- cmp r3, #0
- bxeq lr @ nothing to do - jump to real handler
- EXPORT_PC()
- mov r0, rPC @ arg0
- mov r1, rFP @ arg1
- mov r2, rSELF @ arg2
- b dvmCheckBefore @ (dPC,dFP,self) tail call
-
-/* ------------------------------ */
- .balign 64
-.L_ALT_OP_UNUSED_5BFF: /* 0x15b */
-/* File: armv5te/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Note that the call to dvmCheckBefore is done as a tail call.
- * rIBASE updates won't be seen until a refresh, and we can tell we have a
- * stale rIBASE if breakFlags==0. Always refresh rIBASE here, and then
- * bail to the real handler if breakFlags==0.
- */
- ldrb r3, [rSELF, #offThread_breakFlags]
- adrl lr, dvmAsmInstructionStart + (347 * 64)
- ldr rIBASE, [rSELF, #offThread_curHandlerTable]
- cmp r3, #0
- bxeq lr @ nothing to do - jump to real handler
- EXPORT_PC()
- mov r0, rPC @ arg0
- mov r1, rFP @ arg1
- mov r2, rSELF @ arg2
- b dvmCheckBefore @ (dPC,dFP,self) tail call
-
-/* ------------------------------ */
- .balign 64
-.L_ALT_OP_UNUSED_5CFF: /* 0x15c */
-/* File: armv5te/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Note that the call to dvmCheckBefore is done as a tail call.
- * rIBASE updates won't be seen until a refresh, and we can tell we have a
- * stale rIBASE if breakFlags==0. Always refresh rIBASE here, and then
- * bail to the real handler if breakFlags==0.
- */
- ldrb r3, [rSELF, #offThread_breakFlags]
- adrl lr, dvmAsmInstructionStart + (348 * 64)
- ldr rIBASE, [rSELF, #offThread_curHandlerTable]
- cmp r3, #0
- bxeq lr @ nothing to do - jump to real handler
- EXPORT_PC()
- mov r0, rPC @ arg0
- mov r1, rFP @ arg1
- mov r2, rSELF @ arg2
- b dvmCheckBefore @ (dPC,dFP,self) tail call
-
-/* ------------------------------ */
- .balign 64
-.L_ALT_OP_UNUSED_5DFF: /* 0x15d */
-/* File: armv5te/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Note that the call to dvmCheckBefore is done as a tail call.
- * rIBASE updates won't be seen until a refresh, and we can tell we have a
- * stale rIBASE if breakFlags==0. Always refresh rIBASE here, and then
- * bail to the real handler if breakFlags==0.
- */
- ldrb r3, [rSELF, #offThread_breakFlags]
- adrl lr, dvmAsmInstructionStart + (349 * 64)
- ldr rIBASE, [rSELF, #offThread_curHandlerTable]
- cmp r3, #0
- bxeq lr @ nothing to do - jump to real handler
- EXPORT_PC()
- mov r0, rPC @ arg0
- mov r1, rFP @ arg1
- mov r2, rSELF @ arg2
- b dvmCheckBefore @ (dPC,dFP,self) tail call
-
-/* ------------------------------ */
- .balign 64
-.L_ALT_OP_UNUSED_5EFF: /* 0x15e */
-/* File: armv5te/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Note that the call to dvmCheckBefore is done as a tail call.
- * rIBASE updates won't be seen until a refresh, and we can tell we have a
- * stale rIBASE if breakFlags==0. Always refresh rIBASE here, and then
- * bail to the real handler if breakFlags==0.
- */
- ldrb r3, [rSELF, #offThread_breakFlags]
- adrl lr, dvmAsmInstructionStart + (350 * 64)
- ldr rIBASE, [rSELF, #offThread_curHandlerTable]
- cmp r3, #0
- bxeq lr @ nothing to do - jump to real handler
- EXPORT_PC()
- mov r0, rPC @ arg0
- mov r1, rFP @ arg1
- mov r2, rSELF @ arg2
- b dvmCheckBefore @ (dPC,dFP,self) tail call
-
-/* ------------------------------ */
- .balign 64
-.L_ALT_OP_UNUSED_5FFF: /* 0x15f */
-/* File: armv5te/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Note that the call to dvmCheckBefore is done as a tail call.
- * rIBASE updates won't be seen until a refresh, and we can tell we have a
- * stale rIBASE if breakFlags==0. Always refresh rIBASE here, and then
- * bail to the real handler if breakFlags==0.
- */
- ldrb r3, [rSELF, #offThread_breakFlags]
- adrl lr, dvmAsmInstructionStart + (351 * 64)
- ldr rIBASE, [rSELF, #offThread_curHandlerTable]
- cmp r3, #0
- bxeq lr @ nothing to do - jump to real handler
- EXPORT_PC()
- mov r0, rPC @ arg0
- mov r1, rFP @ arg1
- mov r2, rSELF @ arg2
- b dvmCheckBefore @ (dPC,dFP,self) tail call
-
-/* ------------------------------ */
- .balign 64
-.L_ALT_OP_UNUSED_60FF: /* 0x160 */
-/* File: armv5te/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Note that the call to dvmCheckBefore is done as a tail call.
- * rIBASE updates won't be seen until a refresh, and we can tell we have a
- * stale rIBASE if breakFlags==0. Always refresh rIBASE here, and then
- * bail to the real handler if breakFlags==0.
- */
- ldrb r3, [rSELF, #offThread_breakFlags]
- adrl lr, dvmAsmInstructionStart + (352 * 64)
- ldr rIBASE, [rSELF, #offThread_curHandlerTable]
- cmp r3, #0
- bxeq lr @ nothing to do - jump to real handler
- EXPORT_PC()
- mov r0, rPC @ arg0
- mov r1, rFP @ arg1
- mov r2, rSELF @ arg2
- b dvmCheckBefore @ (dPC,dFP,self) tail call
-
-/* ------------------------------ */
- .balign 64
-.L_ALT_OP_UNUSED_61FF: /* 0x161 */
-/* File: armv5te/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Note that the call to dvmCheckBefore is done as a tail call.
- * rIBASE updates won't be seen until a refresh, and we can tell we have a
- * stale rIBASE if breakFlags==0. Always refresh rIBASE here, and then
- * bail to the real handler if breakFlags==0.
- */
- ldrb r3, [rSELF, #offThread_breakFlags]
- adrl lr, dvmAsmInstructionStart + (353 * 64)
- ldr rIBASE, [rSELF, #offThread_curHandlerTable]
- cmp r3, #0
- bxeq lr @ nothing to do - jump to real handler
- EXPORT_PC()
- mov r0, rPC @ arg0
- mov r1, rFP @ arg1
- mov r2, rSELF @ arg2
- b dvmCheckBefore @ (dPC,dFP,self) tail call
-
-/* ------------------------------ */
- .balign 64
-.L_ALT_OP_UNUSED_62FF: /* 0x162 */
-/* File: armv5te/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Note that the call to dvmCheckBefore is done as a tail call.
- * rIBASE updates won't be seen until a refresh, and we can tell we have a
- * stale rIBASE if breakFlags==0. Always refresh rIBASE here, and then
- * bail to the real handler if breakFlags==0.
- */
- ldrb r3, [rSELF, #offThread_breakFlags]
- adrl lr, dvmAsmInstructionStart + (354 * 64)
- ldr rIBASE, [rSELF, #offThread_curHandlerTable]
- cmp r3, #0
- bxeq lr @ nothing to do - jump to real handler
- EXPORT_PC()
- mov r0, rPC @ arg0
- mov r1, rFP @ arg1
- mov r2, rSELF @ arg2
- b dvmCheckBefore @ (dPC,dFP,self) tail call
-
-/* ------------------------------ */
- .balign 64
-.L_ALT_OP_UNUSED_63FF: /* 0x163 */
-/* File: armv5te/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Note that the call to dvmCheckBefore is done as a tail call.
- * rIBASE updates won't be seen until a refresh, and we can tell we have a
- * stale rIBASE if breakFlags==0. Always refresh rIBASE here, and then
- * bail to the real handler if breakFlags==0.
- */
- ldrb r3, [rSELF, #offThread_breakFlags]
- adrl lr, dvmAsmInstructionStart + (355 * 64)
- ldr rIBASE, [rSELF, #offThread_curHandlerTable]
- cmp r3, #0
- bxeq lr @ nothing to do - jump to real handler
- EXPORT_PC()
- mov r0, rPC @ arg0
- mov r1, rFP @ arg1
- mov r2, rSELF @ arg2
- b dvmCheckBefore @ (dPC,dFP,self) tail call
-
-/* ------------------------------ */
- .balign 64
-.L_ALT_OP_UNUSED_64FF: /* 0x164 */
-/* File: armv5te/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Note that the call to dvmCheckBefore is done as a tail call.
- * rIBASE updates won't be seen until a refresh, and we can tell we have a
- * stale rIBASE if breakFlags==0. Always refresh rIBASE here, and then
- * bail to the real handler if breakFlags==0.
- */
- ldrb r3, [rSELF, #offThread_breakFlags]
- adrl lr, dvmAsmInstructionStart + (356 * 64)
- ldr rIBASE, [rSELF, #offThread_curHandlerTable]
- cmp r3, #0
- bxeq lr @ nothing to do - jump to real handler
- EXPORT_PC()
- mov r0, rPC @ arg0
- mov r1, rFP @ arg1
- mov r2, rSELF @ arg2
- b dvmCheckBefore @ (dPC,dFP,self) tail call
-
-/* ------------------------------ */
- .balign 64
-.L_ALT_OP_UNUSED_65FF: /* 0x165 */
-/* File: armv5te/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Note that the call to dvmCheckBefore is done as a tail call.
- * rIBASE updates won't be seen until a refresh, and we can tell we have a
- * stale rIBASE if breakFlags==0. Always refresh rIBASE here, and then
- * bail to the real handler if breakFlags==0.
- */
- ldrb r3, [rSELF, #offThread_breakFlags]
- adrl lr, dvmAsmInstructionStart + (357 * 64)
- ldr rIBASE, [rSELF, #offThread_curHandlerTable]
- cmp r3, #0
- bxeq lr @ nothing to do - jump to real handler
- EXPORT_PC()
- mov r0, rPC @ arg0
- mov r1, rFP @ arg1
- mov r2, rSELF @ arg2
- b dvmCheckBefore @ (dPC,dFP,self) tail call
-
-/* ------------------------------ */
- .balign 64
-.L_ALT_OP_UNUSED_66FF: /* 0x166 */
-/* File: armv5te/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Note that the call to dvmCheckBefore is done as a tail call.
- * rIBASE updates won't be seen until a refresh, and we can tell we have a
- * stale rIBASE if breakFlags==0. Always refresh rIBASE here, and then
- * bail to the real handler if breakFlags==0.
- */
- ldrb r3, [rSELF, #offThread_breakFlags]
- adrl lr, dvmAsmInstructionStart + (358 * 64)
- ldr rIBASE, [rSELF, #offThread_curHandlerTable]
- cmp r3, #0
- bxeq lr @ nothing to do - jump to real handler
- EXPORT_PC()
- mov r0, rPC @ arg0
- mov r1, rFP @ arg1
- mov r2, rSELF @ arg2
- b dvmCheckBefore @ (dPC,dFP,self) tail call
-
-/* ------------------------------ */
- .balign 64
-.L_ALT_OP_UNUSED_67FF: /* 0x167 */
-/* File: armv5te/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Note that the call to dvmCheckBefore is done as a tail call.
- * rIBASE updates won't be seen until a refresh, and we can tell we have a
- * stale rIBASE if breakFlags==0. Always refresh rIBASE here, and then
- * bail to the real handler if breakFlags==0.
- */
- ldrb r3, [rSELF, #offThread_breakFlags]
- adrl lr, dvmAsmInstructionStart + (359 * 64)
- ldr rIBASE, [rSELF, #offThread_curHandlerTable]
- cmp r3, #0
- bxeq lr @ nothing to do - jump to real handler
- EXPORT_PC()
- mov r0, rPC @ arg0
- mov r1, rFP @ arg1
- mov r2, rSELF @ arg2
- b dvmCheckBefore @ (dPC,dFP,self) tail call
-
-/* ------------------------------ */
- .balign 64
-.L_ALT_OP_UNUSED_68FF: /* 0x168 */
-/* File: armv5te/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Note that the call to dvmCheckBefore is done as a tail call.
- * rIBASE updates won't be seen until a refresh, and we can tell we have a
- * stale rIBASE if breakFlags==0. Always refresh rIBASE here, and then
- * bail to the real handler if breakFlags==0.
- */
- ldrb r3, [rSELF, #offThread_breakFlags]
- adrl lr, dvmAsmInstructionStart + (360 * 64)
- ldr rIBASE, [rSELF, #offThread_curHandlerTable]
- cmp r3, #0
- bxeq lr @ nothing to do - jump to real handler
- EXPORT_PC()
- mov r0, rPC @ arg0
- mov r1, rFP @ arg1
- mov r2, rSELF @ arg2
- b dvmCheckBefore @ (dPC,dFP,self) tail call
-
-/* ------------------------------ */
- .balign 64
-.L_ALT_OP_UNUSED_69FF: /* 0x169 */
-/* File: armv5te/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Note that the call to dvmCheckBefore is done as a tail call.
- * rIBASE updates won't be seen until a refresh, and we can tell we have a
- * stale rIBASE if breakFlags==0. Always refresh rIBASE here, and then
- * bail to the real handler if breakFlags==0.
- */
- ldrb r3, [rSELF, #offThread_breakFlags]
- adrl lr, dvmAsmInstructionStart + (361 * 64)
- ldr rIBASE, [rSELF, #offThread_curHandlerTable]
- cmp r3, #0
- bxeq lr @ nothing to do - jump to real handler
- EXPORT_PC()
- mov r0, rPC @ arg0
- mov r1, rFP @ arg1
- mov r2, rSELF @ arg2
- b dvmCheckBefore @ (dPC,dFP,self) tail call
-
-/* ------------------------------ */
- .balign 64
-.L_ALT_OP_UNUSED_6AFF: /* 0x16a */
-/* File: armv5te/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Note that the call to dvmCheckBefore is done as a tail call.
- * rIBASE updates won't be seen until a refresh, and we can tell we have a
- * stale rIBASE if breakFlags==0. Always refresh rIBASE here, and then
- * bail to the real handler if breakFlags==0.
- */
- ldrb r3, [rSELF, #offThread_breakFlags]
- adrl lr, dvmAsmInstructionStart + (362 * 64)
- ldr rIBASE, [rSELF, #offThread_curHandlerTable]
- cmp r3, #0
- bxeq lr @ nothing to do - jump to real handler
- EXPORT_PC()
- mov r0, rPC @ arg0
- mov r1, rFP @ arg1
- mov r2, rSELF @ arg2
- b dvmCheckBefore @ (dPC,dFP,self) tail call
-
-/* ------------------------------ */
- .balign 64
-.L_ALT_OP_UNUSED_6BFF: /* 0x16b */
-/* File: armv5te/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Note that the call to dvmCheckBefore is done as a tail call.
- * rIBASE updates won't be seen until a refresh, and we can tell we have a
- * stale rIBASE if breakFlags==0. Always refresh rIBASE here, and then
- * bail to the real handler if breakFlags==0.
- */
- ldrb r3, [rSELF, #offThread_breakFlags]
- adrl lr, dvmAsmInstructionStart + (363 * 64)
- ldr rIBASE, [rSELF, #offThread_curHandlerTable]
- cmp r3, #0
- bxeq lr @ nothing to do - jump to real handler
- EXPORT_PC()
- mov r0, rPC @ arg0
- mov r1, rFP @ arg1
- mov r2, rSELF @ arg2
- b dvmCheckBefore @ (dPC,dFP,self) tail call
-
-/* ------------------------------ */
- .balign 64
-.L_ALT_OP_UNUSED_6CFF: /* 0x16c */
-/* File: armv5te/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Note that the call to dvmCheckBefore is done as a tail call.
- * rIBASE updates won't be seen until a refresh, and we can tell we have a
- * stale rIBASE if breakFlags==0. Always refresh rIBASE here, and then
- * bail to the real handler if breakFlags==0.
- */
- ldrb r3, [rSELF, #offThread_breakFlags]
- adrl lr, dvmAsmInstructionStart + (364 * 64)
- ldr rIBASE, [rSELF, #offThread_curHandlerTable]
- cmp r3, #0
- bxeq lr @ nothing to do - jump to real handler
- EXPORT_PC()
- mov r0, rPC @ arg0
- mov r1, rFP @ arg1
- mov r2, rSELF @ arg2
- b dvmCheckBefore @ (dPC,dFP,self) tail call
-
-/* ------------------------------ */
- .balign 64
-.L_ALT_OP_UNUSED_6DFF: /* 0x16d */
-/* File: armv5te/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Note that the call to dvmCheckBefore is done as a tail call.
- * rIBASE updates won't be seen until a refresh, and we can tell we have a
- * stale rIBASE if breakFlags==0. Always refresh rIBASE here, and then
- * bail to the real handler if breakFlags==0.
- */
- ldrb r3, [rSELF, #offThread_breakFlags]
- adrl lr, dvmAsmInstructionStart + (365 * 64)
- ldr rIBASE, [rSELF, #offThread_curHandlerTable]
- cmp r3, #0
- bxeq lr @ nothing to do - jump to real handler
- EXPORT_PC()
- mov r0, rPC @ arg0
- mov r1, rFP @ arg1
- mov r2, rSELF @ arg2
- b dvmCheckBefore @ (dPC,dFP,self) tail call
-
-/* ------------------------------ */
- .balign 64
-.L_ALT_OP_UNUSED_6EFF: /* 0x16e */
-/* File: armv5te/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Note that the call to dvmCheckBefore is done as a tail call.
- * rIBASE updates won't be seen until a refresh, and we can tell we have a
- * stale rIBASE if breakFlags==0. Always refresh rIBASE here, and then
- * bail to the real handler if breakFlags==0.
- */
- ldrb r3, [rSELF, #offThread_breakFlags]
- adrl lr, dvmAsmInstructionStart + (366 * 64)
- ldr rIBASE, [rSELF, #offThread_curHandlerTable]
- cmp r3, #0
- bxeq lr @ nothing to do - jump to real handler
- EXPORT_PC()
- mov r0, rPC @ arg0
- mov r1, rFP @ arg1
- mov r2, rSELF @ arg2
- b dvmCheckBefore @ (dPC,dFP,self) tail call
-
-/* ------------------------------ */
- .balign 64
-.L_ALT_OP_UNUSED_6FFF: /* 0x16f */
-/* File: armv5te/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Note that the call to dvmCheckBefore is done as a tail call.
- * rIBASE updates won't be seen until a refresh, and we can tell we have a
- * stale rIBASE if breakFlags==0. Always refresh rIBASE here, and then
- * bail to the real handler if breakFlags==0.
- */
- ldrb r3, [rSELF, #offThread_breakFlags]
- adrl lr, dvmAsmInstructionStart + (367 * 64)
- ldr rIBASE, [rSELF, #offThread_curHandlerTable]
- cmp r3, #0
- bxeq lr @ nothing to do - jump to real handler
- EXPORT_PC()
- mov r0, rPC @ arg0
- mov r1, rFP @ arg1
- mov r2, rSELF @ arg2
- b dvmCheckBefore @ (dPC,dFP,self) tail call
-
-/* ------------------------------ */
- .balign 64
-.L_ALT_OP_UNUSED_70FF: /* 0x170 */
-/* File: armv5te/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Note that the call to dvmCheckBefore is done as a tail call.
- * rIBASE updates won't be seen until a refresh, and we can tell we have a
- * stale rIBASE if breakFlags==0. Always refresh rIBASE here, and then
- * bail to the real handler if breakFlags==0.
- */
- ldrb r3, [rSELF, #offThread_breakFlags]
- adrl lr, dvmAsmInstructionStart + (368 * 64)
- ldr rIBASE, [rSELF, #offThread_curHandlerTable]
- cmp r3, #0
- bxeq lr @ nothing to do - jump to real handler
- EXPORT_PC()
- mov r0, rPC @ arg0
- mov r1, rFP @ arg1
- mov r2, rSELF @ arg2
- b dvmCheckBefore @ (dPC,dFP,self) tail call
-
-/* ------------------------------ */
- .balign 64
-.L_ALT_OP_UNUSED_71FF: /* 0x171 */
-/* File: armv5te/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Note that the call to dvmCheckBefore is done as a tail call.
- * rIBASE updates won't be seen until a refresh, and we can tell we have a
- * stale rIBASE if breakFlags==0. Always refresh rIBASE here, and then
- * bail to the real handler if breakFlags==0.
- */
- ldrb r3, [rSELF, #offThread_breakFlags]
- adrl lr, dvmAsmInstructionStart + (369 * 64)
- ldr rIBASE, [rSELF, #offThread_curHandlerTable]
- cmp r3, #0
- bxeq lr @ nothing to do - jump to real handler
- EXPORT_PC()
- mov r0, rPC @ arg0
- mov r1, rFP @ arg1
- mov r2, rSELF @ arg2
- b dvmCheckBefore @ (dPC,dFP,self) tail call
-
-/* ------------------------------ */
- .balign 64
-.L_ALT_OP_UNUSED_72FF: /* 0x172 */
-/* File: armv5te/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Note that the call to dvmCheckBefore is done as a tail call.
- * rIBASE updates won't be seen until a refresh, and we can tell we have a
- * stale rIBASE if breakFlags==0. Always refresh rIBASE here, and then
- * bail to the real handler if breakFlags==0.
- */
- ldrb r3, [rSELF, #offThread_breakFlags]
- adrl lr, dvmAsmInstructionStart + (370 * 64)
- ldr rIBASE, [rSELF, #offThread_curHandlerTable]
- cmp r3, #0
- bxeq lr @ nothing to do - jump to real handler
- EXPORT_PC()
- mov r0, rPC @ arg0
- mov r1, rFP @ arg1
- mov r2, rSELF @ arg2
- b dvmCheckBefore @ (dPC,dFP,self) tail call
-
-/* ------------------------------ */
- .balign 64
-.L_ALT_OP_UNUSED_73FF: /* 0x173 */
-/* File: armv5te/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Note that the call to dvmCheckBefore is done as a tail call.
- * rIBASE updates won't be seen until a refresh, and we can tell we have a
- * stale rIBASE if breakFlags==0. Always refresh rIBASE here, and then
- * bail to the real handler if breakFlags==0.
- */
- ldrb r3, [rSELF, #offThread_breakFlags]
- adrl lr, dvmAsmInstructionStart + (371 * 64)
- ldr rIBASE, [rSELF, #offThread_curHandlerTable]
- cmp r3, #0
- bxeq lr @ nothing to do - jump to real handler
- EXPORT_PC()
- mov r0, rPC @ arg0
- mov r1, rFP @ arg1
- mov r2, rSELF @ arg2
- b dvmCheckBefore @ (dPC,dFP,self) tail call
-
-/* ------------------------------ */
- .balign 64
-.L_ALT_OP_UNUSED_74FF: /* 0x174 */
-/* File: armv5te/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Note that the call to dvmCheckBefore is done as a tail call.
- * rIBASE updates won't be seen until a refresh, and we can tell we have a
- * stale rIBASE if breakFlags==0. Always refresh rIBASE here, and then
- * bail to the real handler if breakFlags==0.
- */
- ldrb r3, [rSELF, #offThread_breakFlags]
- adrl lr, dvmAsmInstructionStart + (372 * 64)
- ldr rIBASE, [rSELF, #offThread_curHandlerTable]
- cmp r3, #0
- bxeq lr @ nothing to do - jump to real handler
- EXPORT_PC()
- mov r0, rPC @ arg0
- mov r1, rFP @ arg1
- mov r2, rSELF @ arg2
- b dvmCheckBefore @ (dPC,dFP,self) tail call
-
-/* ------------------------------ */
- .balign 64
-.L_ALT_OP_UNUSED_75FF: /* 0x175 */
-/* File: armv5te/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Note that the call to dvmCheckBefore is done as a tail call.
- * rIBASE updates won't be seen until a refresh, and we can tell we have a
- * stale rIBASE if breakFlags==0. Always refresh rIBASE here, and then
- * bail to the real handler if breakFlags==0.
- */
- ldrb r3, [rSELF, #offThread_breakFlags]
- adrl lr, dvmAsmInstructionStart + (373 * 64)
- ldr rIBASE, [rSELF, #offThread_curHandlerTable]
- cmp r3, #0
- bxeq lr @ nothing to do - jump to real handler
- EXPORT_PC()
- mov r0, rPC @ arg0
- mov r1, rFP @ arg1
- mov r2, rSELF @ arg2
- b dvmCheckBefore @ (dPC,dFP,self) tail call
-
-/* ------------------------------ */
- .balign 64
-.L_ALT_OP_UNUSED_76FF: /* 0x176 */
-/* File: armv5te/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Note that the call to dvmCheckBefore is done as a tail call.
- * rIBASE updates won't be seen until a refresh, and we can tell we have a
- * stale rIBASE if breakFlags==0. Always refresh rIBASE here, and then
- * bail to the real handler if breakFlags==0.
- */
- ldrb r3, [rSELF, #offThread_breakFlags]
- adrl lr, dvmAsmInstructionStart + (374 * 64)
- ldr rIBASE, [rSELF, #offThread_curHandlerTable]
- cmp r3, #0
- bxeq lr @ nothing to do - jump to real handler
- EXPORT_PC()
- mov r0, rPC @ arg0
- mov r1, rFP @ arg1
- mov r2, rSELF @ arg2
- b dvmCheckBefore @ (dPC,dFP,self) tail call
-
-/* ------------------------------ */
- .balign 64
-.L_ALT_OP_UNUSED_77FF: /* 0x177 */
-/* File: armv5te/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Note that the call to dvmCheckBefore is done as a tail call.
- * rIBASE updates won't be seen until a refresh, and we can tell we have a
- * stale rIBASE if breakFlags==0. Always refresh rIBASE here, and then
- * bail to the real handler if breakFlags==0.
- */
- ldrb r3, [rSELF, #offThread_breakFlags]
- adrl lr, dvmAsmInstructionStart + (375 * 64)
- ldr rIBASE, [rSELF, #offThread_curHandlerTable]
- cmp r3, #0
- bxeq lr @ nothing to do - jump to real handler
- EXPORT_PC()
- mov r0, rPC @ arg0
- mov r1, rFP @ arg1
- mov r2, rSELF @ arg2
- b dvmCheckBefore @ (dPC,dFP,self) tail call
-
-/* ------------------------------ */
- .balign 64
-.L_ALT_OP_UNUSED_78FF: /* 0x178 */
-/* File: armv5te/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Note that the call to dvmCheckBefore is done as a tail call.
- * rIBASE updates won't be seen until a refresh, and we can tell we have a
- * stale rIBASE if breakFlags==0. Always refresh rIBASE here, and then
- * bail to the real handler if breakFlags==0.
- */
- ldrb r3, [rSELF, #offThread_breakFlags]
- adrl lr, dvmAsmInstructionStart + (376 * 64)
- ldr rIBASE, [rSELF, #offThread_curHandlerTable]
- cmp r3, #0
- bxeq lr @ nothing to do - jump to real handler
- EXPORT_PC()
- mov r0, rPC @ arg0
- mov r1, rFP @ arg1
- mov r2, rSELF @ arg2
- b dvmCheckBefore @ (dPC,dFP,self) tail call
-
-/* ------------------------------ */
- .balign 64
-.L_ALT_OP_UNUSED_79FF: /* 0x179 */
-/* File: armv5te/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Note that the call to dvmCheckBefore is done as a tail call.
- * rIBASE updates won't be seen until a refresh, and we can tell we have a
- * stale rIBASE if breakFlags==0. Always refresh rIBASE here, and then
- * bail to the real handler if breakFlags==0.
- */
- ldrb r3, [rSELF, #offThread_breakFlags]
- adrl lr, dvmAsmInstructionStart + (377 * 64)
- ldr rIBASE, [rSELF, #offThread_curHandlerTable]
- cmp r3, #0
- bxeq lr @ nothing to do - jump to real handler
- EXPORT_PC()
- mov r0, rPC @ arg0
- mov r1, rFP @ arg1
- mov r2, rSELF @ arg2
- b dvmCheckBefore @ (dPC,dFP,self) tail call
-
-/* ------------------------------ */
- .balign 64
-.L_ALT_OP_UNUSED_7AFF: /* 0x17a */
-/* File: armv5te/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Note that the call to dvmCheckBefore is done as a tail call.
- * rIBASE updates won't be seen until a refresh, and we can tell we have a
- * stale rIBASE if breakFlags==0. Always refresh rIBASE here, and then
- * bail to the real handler if breakFlags==0.
- */
- ldrb r3, [rSELF, #offThread_breakFlags]
- adrl lr, dvmAsmInstructionStart + (378 * 64)
- ldr rIBASE, [rSELF, #offThread_curHandlerTable]
- cmp r3, #0
- bxeq lr @ nothing to do - jump to real handler
- EXPORT_PC()
- mov r0, rPC @ arg0
- mov r1, rFP @ arg1
- mov r2, rSELF @ arg2
- b dvmCheckBefore @ (dPC,dFP,self) tail call
-
-/* ------------------------------ */
- .balign 64
-.L_ALT_OP_UNUSED_7BFF: /* 0x17b */
-/* File: armv5te/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Note that the call to dvmCheckBefore is done as a tail call.
- * rIBASE updates won't be seen until a refresh, and we can tell we have a
- * stale rIBASE if breakFlags==0. Always refresh rIBASE here, and then
- * bail to the real handler if breakFlags==0.
- */
- ldrb r3, [rSELF, #offThread_breakFlags]
- adrl lr, dvmAsmInstructionStart + (379 * 64)
- ldr rIBASE, [rSELF, #offThread_curHandlerTable]
- cmp r3, #0
- bxeq lr @ nothing to do - jump to real handler
- EXPORT_PC()
- mov r0, rPC @ arg0
- mov r1, rFP @ arg1
- mov r2, rSELF @ arg2
- b dvmCheckBefore @ (dPC,dFP,self) tail call
-
-/* ------------------------------ */
- .balign 64
-.L_ALT_OP_UNUSED_7CFF: /* 0x17c */
-/* File: armv5te/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Note that the call to dvmCheckBefore is done as a tail call.
- * rIBASE updates won't be seen until a refresh, and we can tell we have a
- * stale rIBASE if breakFlags==0. Always refresh rIBASE here, and then
- * bail to the real handler if breakFlags==0.
- */
- ldrb r3, [rSELF, #offThread_breakFlags]
- adrl lr, dvmAsmInstructionStart + (380 * 64)
- ldr rIBASE, [rSELF, #offThread_curHandlerTable]
- cmp r3, #0
- bxeq lr @ nothing to do - jump to real handler
- EXPORT_PC()
- mov r0, rPC @ arg0
- mov r1, rFP @ arg1
- mov r2, rSELF @ arg2
- b dvmCheckBefore @ (dPC,dFP,self) tail call
-
-/* ------------------------------ */
- .balign 64
-.L_ALT_OP_UNUSED_7DFF: /* 0x17d */
-/* File: armv5te/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Note that the call to dvmCheckBefore is done as a tail call.
- * rIBASE updates won't be seen until a refresh, and we can tell we have a
- * stale rIBASE if breakFlags==0. Always refresh rIBASE here, and then
- * bail to the real handler if breakFlags==0.
- */
- ldrb r3, [rSELF, #offThread_breakFlags]
- adrl lr, dvmAsmInstructionStart + (381 * 64)
- ldr rIBASE, [rSELF, #offThread_curHandlerTable]
- cmp r3, #0
- bxeq lr @ nothing to do - jump to real handler
- EXPORT_PC()
- mov r0, rPC @ arg0
- mov r1, rFP @ arg1
- mov r2, rSELF @ arg2
- b dvmCheckBefore @ (dPC,dFP,self) tail call
-
-/* ------------------------------ */
- .balign 64
-.L_ALT_OP_UNUSED_7EFF: /* 0x17e */
-/* File: armv5te/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Note that the call to dvmCheckBefore is done as a tail call.
- * rIBASE updates won't be seen until a refresh, and we can tell we have a
- * stale rIBASE if breakFlags==0. Always refresh rIBASE here, and then
- * bail to the real handler if breakFlags==0.
- */
- ldrb r3, [rSELF, #offThread_breakFlags]
- adrl lr, dvmAsmInstructionStart + (382 * 64)
- ldr rIBASE, [rSELF, #offThread_curHandlerTable]
- cmp r3, #0
- bxeq lr @ nothing to do - jump to real handler
- EXPORT_PC()
- mov r0, rPC @ arg0
- mov r1, rFP @ arg1
- mov r2, rSELF @ arg2
- b dvmCheckBefore @ (dPC,dFP,self) tail call
-
-/* ------------------------------ */
- .balign 64
-.L_ALT_OP_UNUSED_7FFF: /* 0x17f */
-/* File: armv5te/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Note that the call to dvmCheckBefore is done as a tail call.
- * rIBASE updates won't be seen until a refresh, and we can tell we have a
- * stale rIBASE if breakFlags==0. Always refresh rIBASE here, and then
- * bail to the real handler if breakFlags==0.
- */
- ldrb r3, [rSELF, #offThread_breakFlags]
- adrl lr, dvmAsmInstructionStart + (383 * 64)
- ldr rIBASE, [rSELF, #offThread_curHandlerTable]
- cmp r3, #0
- bxeq lr @ nothing to do - jump to real handler
- EXPORT_PC()
- mov r0, rPC @ arg0
- mov r1, rFP @ arg1
- mov r2, rSELF @ arg2
- b dvmCheckBefore @ (dPC,dFP,self) tail call
-
-/* ------------------------------ */
- .balign 64
-.L_ALT_OP_UNUSED_80FF: /* 0x180 */
-/* File: armv5te/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Note that the call to dvmCheckBefore is done as a tail call.
- * rIBASE updates won't be seen until a refresh, and we can tell we have a
- * stale rIBASE if breakFlags==0. Always refresh rIBASE here, and then
- * bail to the real handler if breakFlags==0.
- */
- ldrb r3, [rSELF, #offThread_breakFlags]
- adrl lr, dvmAsmInstructionStart + (384 * 64)
- ldr rIBASE, [rSELF, #offThread_curHandlerTable]
- cmp r3, #0
- bxeq lr @ nothing to do - jump to real handler
- EXPORT_PC()
- mov r0, rPC @ arg0
- mov r1, rFP @ arg1
- mov r2, rSELF @ arg2
- b dvmCheckBefore @ (dPC,dFP,self) tail call
-
-/* ------------------------------ */
- .balign 64
-.L_ALT_OP_UNUSED_81FF: /* 0x181 */
-/* File: armv5te/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Note that the call to dvmCheckBefore is done as a tail call.
- * rIBASE updates won't be seen until a refresh, and we can tell we have a
- * stale rIBASE if breakFlags==0. Always refresh rIBASE here, and then
- * bail to the real handler if breakFlags==0.
- */
- ldrb r3, [rSELF, #offThread_breakFlags]
- adrl lr, dvmAsmInstructionStart + (385 * 64)
- ldr rIBASE, [rSELF, #offThread_curHandlerTable]
- cmp r3, #0
- bxeq lr @ nothing to do - jump to real handler
- EXPORT_PC()
- mov r0, rPC @ arg0
- mov r1, rFP @ arg1
- mov r2, rSELF @ arg2
- b dvmCheckBefore @ (dPC,dFP,self) tail call
-
-/* ------------------------------ */
- .balign 64
-.L_ALT_OP_UNUSED_82FF: /* 0x182 */
-/* File: armv5te/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Note that the call to dvmCheckBefore is done as a tail call.
- * rIBASE updates won't be seen until a refresh, and we can tell we have a
- * stale rIBASE if breakFlags==0. Always refresh rIBASE here, and then
- * bail to the real handler if breakFlags==0.
- */
- ldrb r3, [rSELF, #offThread_breakFlags]
- adrl lr, dvmAsmInstructionStart + (386 * 64)
- ldr rIBASE, [rSELF, #offThread_curHandlerTable]
- cmp r3, #0
- bxeq lr @ nothing to do - jump to real handler
- EXPORT_PC()
- mov r0, rPC @ arg0
- mov r1, rFP @ arg1
- mov r2, rSELF @ arg2
- b dvmCheckBefore @ (dPC,dFP,self) tail call
-
-/* ------------------------------ */
- .balign 64
-.L_ALT_OP_UNUSED_83FF: /* 0x183 */
-/* File: armv5te/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Note that the call to dvmCheckBefore is done as a tail call.
- * rIBASE updates won't be seen until a refresh, and we can tell we have a
- * stale rIBASE if breakFlags==0. Always refresh rIBASE here, and then
- * bail to the real handler if breakFlags==0.
- */
- ldrb r3, [rSELF, #offThread_breakFlags]
- adrl lr, dvmAsmInstructionStart + (387 * 64)
- ldr rIBASE, [rSELF, #offThread_curHandlerTable]
- cmp r3, #0
- bxeq lr @ nothing to do - jump to real handler
- EXPORT_PC()
- mov r0, rPC @ arg0
- mov r1, rFP @ arg1
- mov r2, rSELF @ arg2
- b dvmCheckBefore @ (dPC,dFP,self) tail call
-
-/* ------------------------------ */
- .balign 64
-.L_ALT_OP_UNUSED_84FF: /* 0x184 */
-/* File: armv5te/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Note that the call to dvmCheckBefore is done as a tail call.
- * rIBASE updates won't be seen until a refresh, and we can tell we have a
- * stale rIBASE if breakFlags==0. Always refresh rIBASE here, and then
- * bail to the real handler if breakFlags==0.
- */
- ldrb r3, [rSELF, #offThread_breakFlags]
- adrl lr, dvmAsmInstructionStart + (388 * 64)
- ldr rIBASE, [rSELF, #offThread_curHandlerTable]
- cmp r3, #0
- bxeq lr @ nothing to do - jump to real handler
- EXPORT_PC()
- mov r0, rPC @ arg0
- mov r1, rFP @ arg1
- mov r2, rSELF @ arg2
- b dvmCheckBefore @ (dPC,dFP,self) tail call
-
-/* ------------------------------ */
- .balign 64
-.L_ALT_OP_UNUSED_85FF: /* 0x185 */
-/* File: armv5te/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Note that the call to dvmCheckBefore is done as a tail call.
- * rIBASE updates won't be seen until a refresh, and we can tell we have a
- * stale rIBASE if breakFlags==0. Always refresh rIBASE here, and then
- * bail to the real handler if breakFlags==0.
- */
- ldrb r3, [rSELF, #offThread_breakFlags]
- adrl lr, dvmAsmInstructionStart + (389 * 64)
- ldr rIBASE, [rSELF, #offThread_curHandlerTable]
- cmp r3, #0
- bxeq lr @ nothing to do - jump to real handler
- EXPORT_PC()
- mov r0, rPC @ arg0
- mov r1, rFP @ arg1
- mov r2, rSELF @ arg2
- b dvmCheckBefore @ (dPC,dFP,self) tail call
-
-/* ------------------------------ */
- .balign 64
-.L_ALT_OP_UNUSED_86FF: /* 0x186 */
-/* File: armv5te/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Note that the call to dvmCheckBefore is done as a tail call.
- * rIBASE updates won't be seen until a refresh, and we can tell we have a
- * stale rIBASE if breakFlags==0. Always refresh rIBASE here, and then
- * bail to the real handler if breakFlags==0.
- */
- ldrb r3, [rSELF, #offThread_breakFlags]
- adrl lr, dvmAsmInstructionStart + (390 * 64)
- ldr rIBASE, [rSELF, #offThread_curHandlerTable]
- cmp r3, #0
- bxeq lr @ nothing to do - jump to real handler
- EXPORT_PC()
- mov r0, rPC @ arg0
- mov r1, rFP @ arg1
- mov r2, rSELF @ arg2
- b dvmCheckBefore @ (dPC,dFP,self) tail call
-
-/* ------------------------------ */
- .balign 64
-.L_ALT_OP_UNUSED_87FF: /* 0x187 */
-/* File: armv5te/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Note that the call to dvmCheckBefore is done as a tail call.
- * rIBASE updates won't be seen until a refresh, and we can tell we have a
- * stale rIBASE if breakFlags==0. Always refresh rIBASE here, and then
- * bail to the real handler if breakFlags==0.
- */
- ldrb r3, [rSELF, #offThread_breakFlags]
- adrl lr, dvmAsmInstructionStart + (391 * 64)
- ldr rIBASE, [rSELF, #offThread_curHandlerTable]
- cmp r3, #0
- bxeq lr @ nothing to do - jump to real handler
- EXPORT_PC()
- mov r0, rPC @ arg0
- mov r1, rFP @ arg1
- mov r2, rSELF @ arg2
- b dvmCheckBefore @ (dPC,dFP,self) tail call
-
-/* ------------------------------ */
- .balign 64
-.L_ALT_OP_UNUSED_88FF: /* 0x188 */
-/* File: armv5te/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Note that the call to dvmCheckBefore is done as a tail call.
- * rIBASE updates won't be seen until a refresh, and we can tell we have a
- * stale rIBASE if breakFlags==0. Always refresh rIBASE here, and then
- * bail to the real handler if breakFlags==0.
- */
- ldrb r3, [rSELF, #offThread_breakFlags]
- adrl lr, dvmAsmInstructionStart + (392 * 64)
- ldr rIBASE, [rSELF, #offThread_curHandlerTable]
- cmp r3, #0
- bxeq lr @ nothing to do - jump to real handler
- EXPORT_PC()
- mov r0, rPC @ arg0
- mov r1, rFP @ arg1
- mov r2, rSELF @ arg2
- b dvmCheckBefore @ (dPC,dFP,self) tail call
-
-/* ------------------------------ */
- .balign 64
-.L_ALT_OP_UNUSED_89FF: /* 0x189 */
-/* File: armv5te/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Note that the call to dvmCheckBefore is done as a tail call.
- * rIBASE updates won't be seen until a refresh, and we can tell we have a
- * stale rIBASE if breakFlags==0. Always refresh rIBASE here, and then
- * bail to the real handler if breakFlags==0.
- */
- ldrb r3, [rSELF, #offThread_breakFlags]
- adrl lr, dvmAsmInstructionStart + (393 * 64)
- ldr rIBASE, [rSELF, #offThread_curHandlerTable]
- cmp r3, #0
- bxeq lr @ nothing to do - jump to real handler
- EXPORT_PC()
- mov r0, rPC @ arg0
- mov r1, rFP @ arg1
- mov r2, rSELF @ arg2
- b dvmCheckBefore @ (dPC,dFP,self) tail call
-
-/* ------------------------------ */
- .balign 64
-.L_ALT_OP_UNUSED_8AFF: /* 0x18a */
-/* File: armv5te/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Note that the call to dvmCheckBefore is done as a tail call.
- * rIBASE updates won't be seen until a refresh, and we can tell we have a
- * stale rIBASE if breakFlags==0. Always refresh rIBASE here, and then
- * bail to the real handler if breakFlags==0.
- */
- ldrb r3, [rSELF, #offThread_breakFlags]
- adrl lr, dvmAsmInstructionStart + (394 * 64)
- ldr rIBASE, [rSELF, #offThread_curHandlerTable]
- cmp r3, #0
- bxeq lr @ nothing to do - jump to real handler
- EXPORT_PC()
- mov r0, rPC @ arg0
- mov r1, rFP @ arg1
- mov r2, rSELF @ arg2
- b dvmCheckBefore @ (dPC,dFP,self) tail call
-
-/* ------------------------------ */
- .balign 64
-.L_ALT_OP_UNUSED_8BFF: /* 0x18b */
-/* File: armv5te/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Note that the call to dvmCheckBefore is done as a tail call.
- * rIBASE updates won't be seen until a refresh, and we can tell we have a
- * stale rIBASE if breakFlags==0. Always refresh rIBASE here, and then
- * bail to the real handler if breakFlags==0.
- */
- ldrb r3, [rSELF, #offThread_breakFlags]
- adrl lr, dvmAsmInstructionStart + (395 * 64)
- ldr rIBASE, [rSELF, #offThread_curHandlerTable]
- cmp r3, #0
- bxeq lr @ nothing to do - jump to real handler
- EXPORT_PC()
- mov r0, rPC @ arg0
- mov r1, rFP @ arg1
- mov r2, rSELF @ arg2
- b dvmCheckBefore @ (dPC,dFP,self) tail call
-
-/* ------------------------------ */
- .balign 64
-.L_ALT_OP_UNUSED_8CFF: /* 0x18c */
-/* File: armv5te/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Note that the call to dvmCheckBefore is done as a tail call.
- * rIBASE updates won't be seen until a refresh, and we can tell we have a
- * stale rIBASE if breakFlags==0. Always refresh rIBASE here, and then
- * bail to the real handler if breakFlags==0.
- */
- ldrb r3, [rSELF, #offThread_breakFlags]
- adrl lr, dvmAsmInstructionStart + (396 * 64)
- ldr rIBASE, [rSELF, #offThread_curHandlerTable]
- cmp r3, #0
- bxeq lr @ nothing to do - jump to real handler
- EXPORT_PC()
- mov r0, rPC @ arg0
- mov r1, rFP @ arg1
- mov r2, rSELF @ arg2
- b dvmCheckBefore @ (dPC,dFP,self) tail call
-
-/* ------------------------------ */
- .balign 64
-.L_ALT_OP_UNUSED_8DFF: /* 0x18d */
-/* File: armv5te/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Note that the call to dvmCheckBefore is done as a tail call.
- * rIBASE updates won't be seen until a refresh, and we can tell we have a
- * stale rIBASE if breakFlags==0. Always refresh rIBASE here, and then
- * bail to the real handler if breakFlags==0.
- */
- ldrb r3, [rSELF, #offThread_breakFlags]
- adrl lr, dvmAsmInstructionStart + (397 * 64)
- ldr rIBASE, [rSELF, #offThread_curHandlerTable]
- cmp r3, #0
- bxeq lr @ nothing to do - jump to real handler
- EXPORT_PC()
- mov r0, rPC @ arg0
- mov r1, rFP @ arg1
- mov r2, rSELF @ arg2
- b dvmCheckBefore @ (dPC,dFP,self) tail call
-
-/* ------------------------------ */
- .balign 64
-.L_ALT_OP_UNUSED_8EFF: /* 0x18e */
-/* File: armv5te/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Note that the call to dvmCheckBefore is done as a tail call.
- * rIBASE updates won't be seen until a refresh, and we can tell we have a
- * stale rIBASE if breakFlags==0. Always refresh rIBASE here, and then
- * bail to the real handler if breakFlags==0.
- */
- ldrb r3, [rSELF, #offThread_breakFlags]
- adrl lr, dvmAsmInstructionStart + (398 * 64)
- ldr rIBASE, [rSELF, #offThread_curHandlerTable]
- cmp r3, #0
- bxeq lr @ nothing to do - jump to real handler
- EXPORT_PC()
- mov r0, rPC @ arg0
- mov r1, rFP @ arg1
- mov r2, rSELF @ arg2
- b dvmCheckBefore @ (dPC,dFP,self) tail call
-
-/* ------------------------------ */
- .balign 64
-.L_ALT_OP_UNUSED_8FFF: /* 0x18f */
-/* File: armv5te/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Note that the call to dvmCheckBefore is done as a tail call.
- * rIBASE updates won't be seen until a refresh, and we can tell we have a
- * stale rIBASE if breakFlags==0. Always refresh rIBASE here, and then
- * bail to the real handler if breakFlags==0.
- */
- ldrb r3, [rSELF, #offThread_breakFlags]
- adrl lr, dvmAsmInstructionStart + (399 * 64)
- ldr rIBASE, [rSELF, #offThread_curHandlerTable]
- cmp r3, #0
- bxeq lr @ nothing to do - jump to real handler
- EXPORT_PC()
- mov r0, rPC @ arg0
- mov r1, rFP @ arg1
- mov r2, rSELF @ arg2
- b dvmCheckBefore @ (dPC,dFP,self) tail call
-
-/* ------------------------------ */
- .balign 64
-.L_ALT_OP_UNUSED_90FF: /* 0x190 */
-/* File: armv5te/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Note that the call to dvmCheckBefore is done as a tail call.
- * rIBASE updates won't be seen until a refresh, and we can tell we have a
- * stale rIBASE if breakFlags==0. Always refresh rIBASE here, and then
- * bail to the real handler if breakFlags==0.
- */
- ldrb r3, [rSELF, #offThread_breakFlags]
- adrl lr, dvmAsmInstructionStart + (400 * 64)
- ldr rIBASE, [rSELF, #offThread_curHandlerTable]
- cmp r3, #0
- bxeq lr @ nothing to do - jump to real handler
- EXPORT_PC()
- mov r0, rPC @ arg0
- mov r1, rFP @ arg1
- mov r2, rSELF @ arg2
- b dvmCheckBefore @ (dPC,dFP,self) tail call
-
-/* ------------------------------ */
- .balign 64
-.L_ALT_OP_UNUSED_91FF: /* 0x191 */
-/* File: armv5te/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Note that the call to dvmCheckBefore is done as a tail call.
- * rIBASE updates won't be seen until a refresh, and we can tell we have a
- * stale rIBASE if breakFlags==0. Always refresh rIBASE here, and then
- * bail to the real handler if breakFlags==0.
- */
- ldrb r3, [rSELF, #offThread_breakFlags]
- adrl lr, dvmAsmInstructionStart + (401 * 64)
- ldr rIBASE, [rSELF, #offThread_curHandlerTable]
- cmp r3, #0
- bxeq lr @ nothing to do - jump to real handler
- EXPORT_PC()
- mov r0, rPC @ arg0
- mov r1, rFP @ arg1
- mov r2, rSELF @ arg2
- b dvmCheckBefore @ (dPC,dFP,self) tail call
-
-/* ------------------------------ */
- .balign 64
-.L_ALT_OP_UNUSED_92FF: /* 0x192 */
-/* File: armv5te/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Note that the call to dvmCheckBefore is done as a tail call.
- * rIBASE updates won't be seen until a refresh, and we can tell we have a
- * stale rIBASE if breakFlags==0. Always refresh rIBASE here, and then
- * bail to the real handler if breakFlags==0.
- */
- ldrb r3, [rSELF, #offThread_breakFlags]
- adrl lr, dvmAsmInstructionStart + (402 * 64)
- ldr rIBASE, [rSELF, #offThread_curHandlerTable]
- cmp r3, #0
- bxeq lr @ nothing to do - jump to real handler
- EXPORT_PC()
- mov r0, rPC @ arg0
- mov r1, rFP @ arg1
- mov r2, rSELF @ arg2
- b dvmCheckBefore @ (dPC,dFP,self) tail call
-
-/* ------------------------------ */
- .balign 64
-.L_ALT_OP_UNUSED_93FF: /* 0x193 */
-/* File: armv5te/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Note that the call to dvmCheckBefore is done as a tail call.
- * rIBASE updates won't be seen until a refresh, and we can tell we have a
- * stale rIBASE if breakFlags==0. Always refresh rIBASE here, and then
- * bail to the real handler if breakFlags==0.
- */
- ldrb r3, [rSELF, #offThread_breakFlags]
- adrl lr, dvmAsmInstructionStart + (403 * 64)
- ldr rIBASE, [rSELF, #offThread_curHandlerTable]
- cmp r3, #0
- bxeq lr @ nothing to do - jump to real handler
- EXPORT_PC()
- mov r0, rPC @ arg0
- mov r1, rFP @ arg1
- mov r2, rSELF @ arg2
- b dvmCheckBefore @ (dPC,dFP,self) tail call
-
-/* ------------------------------ */
- .balign 64
-.L_ALT_OP_UNUSED_94FF: /* 0x194 */
-/* File: armv5te/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Note that the call to dvmCheckBefore is done as a tail call.
- * rIBASE updates won't be seen until a refresh, and we can tell we have a
- * stale rIBASE if breakFlags==0. Always refresh rIBASE here, and then
- * bail to the real handler if breakFlags==0.
- */
- ldrb r3, [rSELF, #offThread_breakFlags]
- adrl lr, dvmAsmInstructionStart + (404 * 64)
- ldr rIBASE, [rSELF, #offThread_curHandlerTable]
- cmp r3, #0
- bxeq lr @ nothing to do - jump to real handler
- EXPORT_PC()
- mov r0, rPC @ arg0
- mov r1, rFP @ arg1
- mov r2, rSELF @ arg2
- b dvmCheckBefore @ (dPC,dFP,self) tail call
-
-/* ------------------------------ */
- .balign 64
-.L_ALT_OP_UNUSED_95FF: /* 0x195 */
-/* File: armv5te/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Note that the call to dvmCheckBefore is done as a tail call.
- * rIBASE updates won't be seen until a refresh, and we can tell we have a
- * stale rIBASE if breakFlags==0. Always refresh rIBASE here, and then
- * bail to the real handler if breakFlags==0.
- */
- ldrb r3, [rSELF, #offThread_breakFlags]
- adrl lr, dvmAsmInstructionStart + (405 * 64)
- ldr rIBASE, [rSELF, #offThread_curHandlerTable]
- cmp r3, #0
- bxeq lr @ nothing to do - jump to real handler
- EXPORT_PC()
- mov r0, rPC @ arg0
- mov r1, rFP @ arg1
- mov r2, rSELF @ arg2
- b dvmCheckBefore @ (dPC,dFP,self) tail call
-
-/* ------------------------------ */
- .balign 64
-.L_ALT_OP_UNUSED_96FF: /* 0x196 */
-/* File: armv5te/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Note that the call to dvmCheckBefore is done as a tail call.
- * rIBASE updates won't be seen until a refresh, and we can tell we have a
- * stale rIBASE if breakFlags==0. Always refresh rIBASE here, and then
- * bail to the real handler if breakFlags==0.
- */
- ldrb r3, [rSELF, #offThread_breakFlags]
- adrl lr, dvmAsmInstructionStart + (406 * 64)
- ldr rIBASE, [rSELF, #offThread_curHandlerTable]
- cmp r3, #0
- bxeq lr @ nothing to do - jump to real handler
- EXPORT_PC()
- mov r0, rPC @ arg0
- mov r1, rFP @ arg1
- mov r2, rSELF @ arg2
- b dvmCheckBefore @ (dPC,dFP,self) tail call
-
-/* ------------------------------ */
- .balign 64
-.L_ALT_OP_UNUSED_97FF: /* 0x197 */
-/* File: armv5te/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Note that the call to dvmCheckBefore is done as a tail call.
- * rIBASE updates won't be seen until a refresh, and we can tell we have a
- * stale rIBASE if breakFlags==0. Always refresh rIBASE here, and then
- * bail to the real handler if breakFlags==0.
- */
- ldrb r3, [rSELF, #offThread_breakFlags]
- adrl lr, dvmAsmInstructionStart + (407 * 64)
- ldr rIBASE, [rSELF, #offThread_curHandlerTable]
- cmp r3, #0
- bxeq lr @ nothing to do - jump to real handler
- EXPORT_PC()
- mov r0, rPC @ arg0
- mov r1, rFP @ arg1
- mov r2, rSELF @ arg2
- b dvmCheckBefore @ (dPC,dFP,self) tail call
-
-/* ------------------------------ */
- .balign 64
-.L_ALT_OP_UNUSED_98FF: /* 0x198 */
-/* File: armv5te/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Note that the call to dvmCheckBefore is done as a tail call.
- * rIBASE updates won't be seen until a refresh, and we can tell we have a
- * stale rIBASE if breakFlags==0. Always refresh rIBASE here, and then
- * bail to the real handler if breakFlags==0.
- */
- ldrb r3, [rSELF, #offThread_breakFlags]
- adrl lr, dvmAsmInstructionStart + (408 * 64)
- ldr rIBASE, [rSELF, #offThread_curHandlerTable]
- cmp r3, #0
- bxeq lr @ nothing to do - jump to real handler
- EXPORT_PC()
- mov r0, rPC @ arg0
- mov r1, rFP @ arg1
- mov r2, rSELF @ arg2
- b dvmCheckBefore @ (dPC,dFP,self) tail call
-
-/* ------------------------------ */
- .balign 64
-.L_ALT_OP_UNUSED_99FF: /* 0x199 */
-/* File: armv5te/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Note that the call to dvmCheckBefore is done as a tail call.
- * rIBASE updates won't be seen until a refresh, and we can tell we have a
- * stale rIBASE if breakFlags==0. Always refresh rIBASE here, and then
- * bail to the real handler if breakFlags==0.
- */
- ldrb r3, [rSELF, #offThread_breakFlags]
- adrl lr, dvmAsmInstructionStart + (409 * 64)
- ldr rIBASE, [rSELF, #offThread_curHandlerTable]
- cmp r3, #0
- bxeq lr @ nothing to do - jump to real handler
- EXPORT_PC()
- mov r0, rPC @ arg0
- mov r1, rFP @ arg1
- mov r2, rSELF @ arg2
- b dvmCheckBefore @ (dPC,dFP,self) tail call
-
-/* ------------------------------ */
- .balign 64
-.L_ALT_OP_UNUSED_9AFF: /* 0x19a */
-/* File: armv5te/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Note that the call to dvmCheckBefore is done as a tail call.
- * rIBASE updates won't be seen until a refresh, and we can tell we have a
- * stale rIBASE if breakFlags==0. Always refresh rIBASE here, and then
- * bail to the real handler if breakFlags==0.
- */
- ldrb r3, [rSELF, #offThread_breakFlags]
- adrl lr, dvmAsmInstructionStart + (410 * 64)
- ldr rIBASE, [rSELF, #offThread_curHandlerTable]
- cmp r3, #0
- bxeq lr @ nothing to do - jump to real handler
- EXPORT_PC()
- mov r0, rPC @ arg0
- mov r1, rFP @ arg1
- mov r2, rSELF @ arg2
- b dvmCheckBefore @ (dPC,dFP,self) tail call
-
-/* ------------------------------ */
- .balign 64
-.L_ALT_OP_UNUSED_9BFF: /* 0x19b */
-/* File: armv5te/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Note that the call to dvmCheckBefore is done as a tail call.
- * rIBASE updates won't be seen until a refresh, and we can tell we have a
- * stale rIBASE if breakFlags==0. Always refresh rIBASE here, and then
- * bail to the real handler if breakFlags==0.
- */
- ldrb r3, [rSELF, #offThread_breakFlags]
- adrl lr, dvmAsmInstructionStart + (411 * 64)
- ldr rIBASE, [rSELF, #offThread_curHandlerTable]
- cmp r3, #0
- bxeq lr @ nothing to do - jump to real handler
- EXPORT_PC()
- mov r0, rPC @ arg0
- mov r1, rFP @ arg1
- mov r2, rSELF @ arg2
- b dvmCheckBefore @ (dPC,dFP,self) tail call
-
-/* ------------------------------ */
- .balign 64
-.L_ALT_OP_UNUSED_9CFF: /* 0x19c */
-/* File: armv5te/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Note that the call to dvmCheckBefore is done as a tail call.
- * rIBASE updates won't be seen until a refresh, and we can tell we have a
- * stale rIBASE if breakFlags==0. Always refresh rIBASE here, and then
- * bail to the real handler if breakFlags==0.
- */
- ldrb r3, [rSELF, #offThread_breakFlags]
- adrl lr, dvmAsmInstructionStart + (412 * 64)
- ldr rIBASE, [rSELF, #offThread_curHandlerTable]
- cmp r3, #0
- bxeq lr @ nothing to do - jump to real handler
- EXPORT_PC()
- mov r0, rPC @ arg0
- mov r1, rFP @ arg1
- mov r2, rSELF @ arg2
- b dvmCheckBefore @ (dPC,dFP,self) tail call
-
-/* ------------------------------ */
- .balign 64
-.L_ALT_OP_UNUSED_9DFF: /* 0x19d */
-/* File: armv5te/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Note that the call to dvmCheckBefore is done as a tail call.
- * rIBASE updates won't be seen until a refresh, and we can tell we have a
- * stale rIBASE if breakFlags==0. Always refresh rIBASE here, and then
- * bail to the real handler if breakFlags==0.
- */
- ldrb r3, [rSELF, #offThread_breakFlags]
- adrl lr, dvmAsmInstructionStart + (413 * 64)
- ldr rIBASE, [rSELF, #offThread_curHandlerTable]
- cmp r3, #0
- bxeq lr @ nothing to do - jump to real handler
- EXPORT_PC()
- mov r0, rPC @ arg0
- mov r1, rFP @ arg1
- mov r2, rSELF @ arg2
- b dvmCheckBefore @ (dPC,dFP,self) tail call
-
-/* ------------------------------ */
- .balign 64
-.L_ALT_OP_UNUSED_9EFF: /* 0x19e */
-/* File: armv5te/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Note that the call to dvmCheckBefore is done as a tail call.
- * rIBASE updates won't be seen until a refresh, and we can tell we have a
- * stale rIBASE if breakFlags==0. Always refresh rIBASE here, and then
- * bail to the real handler if breakFlags==0.
- */
- ldrb r3, [rSELF, #offThread_breakFlags]
- adrl lr, dvmAsmInstructionStart + (414 * 64)
- ldr rIBASE, [rSELF, #offThread_curHandlerTable]
- cmp r3, #0
- bxeq lr @ nothing to do - jump to real handler
- EXPORT_PC()
- mov r0, rPC @ arg0
- mov r1, rFP @ arg1
- mov r2, rSELF @ arg2
- b dvmCheckBefore @ (dPC,dFP,self) tail call
-
-/* ------------------------------ */
- .balign 64
-.L_ALT_OP_UNUSED_9FFF: /* 0x19f */
-/* File: armv5te/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Note that the call to dvmCheckBefore is done as a tail call.
- * rIBASE updates won't be seen until a refresh, and we can tell we have a
- * stale rIBASE if breakFlags==0. Always refresh rIBASE here, and then
- * bail to the real handler if breakFlags==0.
- */
- ldrb r3, [rSELF, #offThread_breakFlags]
- adrl lr, dvmAsmInstructionStart + (415 * 64)
- ldr rIBASE, [rSELF, #offThread_curHandlerTable]
- cmp r3, #0
- bxeq lr @ nothing to do - jump to real handler
- EXPORT_PC()
- mov r0, rPC @ arg0
- mov r1, rFP @ arg1
- mov r2, rSELF @ arg2
- b dvmCheckBefore @ (dPC,dFP,self) tail call
-
-/* ------------------------------ */
- .balign 64
-.L_ALT_OP_UNUSED_A0FF: /* 0x1a0 */
-/* File: armv5te/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Note that the call to dvmCheckBefore is done as a tail call.
- * rIBASE updates won't be seen until a refresh, and we can tell we have a
- * stale rIBASE if breakFlags==0. Always refresh rIBASE here, and then
- * bail to the real handler if breakFlags==0.
- */
- ldrb r3, [rSELF, #offThread_breakFlags]
- adrl lr, dvmAsmInstructionStart + (416 * 64)
- ldr rIBASE, [rSELF, #offThread_curHandlerTable]
- cmp r3, #0
- bxeq lr @ nothing to do - jump to real handler
- EXPORT_PC()
- mov r0, rPC @ arg0
- mov r1, rFP @ arg1
- mov r2, rSELF @ arg2
- b dvmCheckBefore @ (dPC,dFP,self) tail call
-
-/* ------------------------------ */
- .balign 64
-.L_ALT_OP_UNUSED_A1FF: /* 0x1a1 */
-/* File: armv5te/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Note that the call to dvmCheckBefore is done as a tail call.
- * rIBASE updates won't be seen until a refresh, and we can tell we have a
- * stale rIBASE if breakFlags==0. Always refresh rIBASE here, and then
- * bail to the real handler if breakFlags==0.
- */
- ldrb r3, [rSELF, #offThread_breakFlags]
- adrl lr, dvmAsmInstructionStart + (417 * 64)
- ldr rIBASE, [rSELF, #offThread_curHandlerTable]
- cmp r3, #0
- bxeq lr @ nothing to do - jump to real handler
- EXPORT_PC()
- mov r0, rPC @ arg0
- mov r1, rFP @ arg1
- mov r2, rSELF @ arg2
- b dvmCheckBefore @ (dPC,dFP,self) tail call
-
-/* ------------------------------ */
- .balign 64
-.L_ALT_OP_UNUSED_A2FF: /* 0x1a2 */
-/* File: armv5te/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Note that the call to dvmCheckBefore is done as a tail call.
- * rIBASE updates won't be seen until a refresh, and we can tell we have a
- * stale rIBASE if breakFlags==0. Always refresh rIBASE here, and then
- * bail to the real handler if breakFlags==0.
- */
- ldrb r3, [rSELF, #offThread_breakFlags]
- adrl lr, dvmAsmInstructionStart + (418 * 64)
- ldr rIBASE, [rSELF, #offThread_curHandlerTable]
- cmp r3, #0
- bxeq lr @ nothing to do - jump to real handler
- EXPORT_PC()
- mov r0, rPC @ arg0
- mov r1, rFP @ arg1
- mov r2, rSELF @ arg2
- b dvmCheckBefore @ (dPC,dFP,self) tail call
-
-/* ------------------------------ */
- .balign 64
-.L_ALT_OP_UNUSED_A3FF: /* 0x1a3 */
-/* File: armv5te/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Note that the call to dvmCheckBefore is done as a tail call.
- * rIBASE updates won't be seen until a refresh, and we can tell we have a
- * stale rIBASE if breakFlags==0. Always refresh rIBASE here, and then
- * bail to the real handler if breakFlags==0.
- */
- ldrb r3, [rSELF, #offThread_breakFlags]
- adrl lr, dvmAsmInstructionStart + (419 * 64)
- ldr rIBASE, [rSELF, #offThread_curHandlerTable]
- cmp r3, #0
- bxeq lr @ nothing to do - jump to real handler
- EXPORT_PC()
- mov r0, rPC @ arg0
- mov r1, rFP @ arg1
- mov r2, rSELF @ arg2
- b dvmCheckBefore @ (dPC,dFP,self) tail call
-
-/* ------------------------------ */
- .balign 64
-.L_ALT_OP_UNUSED_A4FF: /* 0x1a4 */
-/* File: armv5te/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Note that the call to dvmCheckBefore is done as a tail call.
- * rIBASE updates won't be seen until a refresh, and we can tell we have a
- * stale rIBASE if breakFlags==0. Always refresh rIBASE here, and then
- * bail to the real handler if breakFlags==0.
- */
- ldrb r3, [rSELF, #offThread_breakFlags]
- adrl lr, dvmAsmInstructionStart + (420 * 64)
- ldr rIBASE, [rSELF, #offThread_curHandlerTable]
- cmp r3, #0
- bxeq lr @ nothing to do - jump to real handler
- EXPORT_PC()
- mov r0, rPC @ arg0
- mov r1, rFP @ arg1
- mov r2, rSELF @ arg2
- b dvmCheckBefore @ (dPC,dFP,self) tail call
-
-/* ------------------------------ */
- .balign 64
-.L_ALT_OP_UNUSED_A5FF: /* 0x1a5 */
-/* File: armv5te/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Note that the call to dvmCheckBefore is done as a tail call.
- * rIBASE updates won't be seen until a refresh, and we can tell we have a
- * stale rIBASE if breakFlags==0. Always refresh rIBASE here, and then
- * bail to the real handler if breakFlags==0.
- */
- ldrb r3, [rSELF, #offThread_breakFlags]
- adrl lr, dvmAsmInstructionStart + (421 * 64)
- ldr rIBASE, [rSELF, #offThread_curHandlerTable]
- cmp r3, #0
- bxeq lr @ nothing to do - jump to real handler
- EXPORT_PC()
- mov r0, rPC @ arg0
- mov r1, rFP @ arg1
- mov r2, rSELF @ arg2
- b dvmCheckBefore @ (dPC,dFP,self) tail call
-
-/* ------------------------------ */
- .balign 64
-.L_ALT_OP_UNUSED_A6FF: /* 0x1a6 */
-/* File: armv5te/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Note that the call to dvmCheckBefore is done as a tail call.
- * rIBASE updates won't be seen until a refresh, and we can tell we have a
- * stale rIBASE if breakFlags==0. Always refresh rIBASE here, and then
- * bail to the real handler if breakFlags==0.
- */
- ldrb r3, [rSELF, #offThread_breakFlags]
- adrl lr, dvmAsmInstructionStart + (422 * 64)
- ldr rIBASE, [rSELF, #offThread_curHandlerTable]
- cmp r3, #0
- bxeq lr @ nothing to do - jump to real handler
- EXPORT_PC()
- mov r0, rPC @ arg0
- mov r1, rFP @ arg1
- mov r2, rSELF @ arg2
- b dvmCheckBefore @ (dPC,dFP,self) tail call
-
-/* ------------------------------ */
- .balign 64
-.L_ALT_OP_UNUSED_A7FF: /* 0x1a7 */
-/* File: armv5te/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Note that the call to dvmCheckBefore is done as a tail call.
- * rIBASE updates won't be seen until a refresh, and we can tell we have a
- * stale rIBASE if breakFlags==0. Always refresh rIBASE here, and then
- * bail to the real handler if breakFlags==0.
- */
- ldrb r3, [rSELF, #offThread_breakFlags]
- adrl lr, dvmAsmInstructionStart + (423 * 64)
- ldr rIBASE, [rSELF, #offThread_curHandlerTable]
- cmp r3, #0
- bxeq lr @ nothing to do - jump to real handler
- EXPORT_PC()
- mov r0, rPC @ arg0
- mov r1, rFP @ arg1
- mov r2, rSELF @ arg2
- b dvmCheckBefore @ (dPC,dFP,self) tail call
-
-/* ------------------------------ */
- .balign 64
-.L_ALT_OP_UNUSED_A8FF: /* 0x1a8 */
-/* File: armv5te/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Note that the call to dvmCheckBefore is done as a tail call.
- * rIBASE updates won't be seen until a refresh, and we can tell we have a
- * stale rIBASE if breakFlags==0. Always refresh rIBASE here, and then
- * bail to the real handler if breakFlags==0.
- */
- ldrb r3, [rSELF, #offThread_breakFlags]
- adrl lr, dvmAsmInstructionStart + (424 * 64)
- ldr rIBASE, [rSELF, #offThread_curHandlerTable]
- cmp r3, #0
- bxeq lr @ nothing to do - jump to real handler
- EXPORT_PC()
- mov r0, rPC @ arg0
- mov r1, rFP @ arg1
- mov r2, rSELF @ arg2
- b dvmCheckBefore @ (dPC,dFP,self) tail call
-
-/* ------------------------------ */
- .balign 64
-.L_ALT_OP_UNUSED_A9FF: /* 0x1a9 */
-/* File: armv5te/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Note that the call to dvmCheckBefore is done as a tail call.
- * rIBASE updates won't be seen until a refresh, and we can tell we have a
- * stale rIBASE if breakFlags==0. Always refresh rIBASE here, and then
- * bail to the real handler if breakFlags==0.
- */
- ldrb r3, [rSELF, #offThread_breakFlags]
- adrl lr, dvmAsmInstructionStart + (425 * 64)
- ldr rIBASE, [rSELF, #offThread_curHandlerTable]
- cmp r3, #0
- bxeq lr @ nothing to do - jump to real handler
- EXPORT_PC()
- mov r0, rPC @ arg0
- mov r1, rFP @ arg1
- mov r2, rSELF @ arg2
- b dvmCheckBefore @ (dPC,dFP,self) tail call
-
-/* ------------------------------ */
- .balign 64
-.L_ALT_OP_UNUSED_AAFF: /* 0x1aa */
-/* File: armv5te/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Note that the call to dvmCheckBefore is done as a tail call.
- * rIBASE updates won't be seen until a refresh, and we can tell we have a
- * stale rIBASE if breakFlags==0. Always refresh rIBASE here, and then
- * bail to the real handler if breakFlags==0.
- */
- ldrb r3, [rSELF, #offThread_breakFlags]
- adrl lr, dvmAsmInstructionStart + (426 * 64)
- ldr rIBASE, [rSELF, #offThread_curHandlerTable]
- cmp r3, #0
- bxeq lr @ nothing to do - jump to real handler
- EXPORT_PC()
- mov r0, rPC @ arg0
- mov r1, rFP @ arg1
- mov r2, rSELF @ arg2
- b dvmCheckBefore @ (dPC,dFP,self) tail call
-
-/* ------------------------------ */
- .balign 64
-.L_ALT_OP_UNUSED_ABFF: /* 0x1ab */
-/* File: armv5te/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Note that the call to dvmCheckBefore is done as a tail call.
- * rIBASE updates won't be seen until a refresh, and we can tell we have a
- * stale rIBASE if breakFlags==0. Always refresh rIBASE here, and then
- * bail to the real handler if breakFlags==0.
- */
- ldrb r3, [rSELF, #offThread_breakFlags]
- adrl lr, dvmAsmInstructionStart + (427 * 64)
- ldr rIBASE, [rSELF, #offThread_curHandlerTable]
- cmp r3, #0
- bxeq lr @ nothing to do - jump to real handler
- EXPORT_PC()
- mov r0, rPC @ arg0
- mov r1, rFP @ arg1
- mov r2, rSELF @ arg2
- b dvmCheckBefore @ (dPC,dFP,self) tail call
-
-/* ------------------------------ */
- .balign 64
-.L_ALT_OP_UNUSED_ACFF: /* 0x1ac */
-/* File: armv5te/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Note that the call to dvmCheckBefore is done as a tail call.
- * rIBASE updates won't be seen until a refresh, and we can tell we have a
- * stale rIBASE if breakFlags==0. Always refresh rIBASE here, and then
- * bail to the real handler if breakFlags==0.
- */
- ldrb r3, [rSELF, #offThread_breakFlags]
- adrl lr, dvmAsmInstructionStart + (428 * 64)
- ldr rIBASE, [rSELF, #offThread_curHandlerTable]
- cmp r3, #0
- bxeq lr @ nothing to do - jump to real handler
- EXPORT_PC()
- mov r0, rPC @ arg0
- mov r1, rFP @ arg1
- mov r2, rSELF @ arg2
- b dvmCheckBefore @ (dPC,dFP,self) tail call
-
-/* ------------------------------ */
- .balign 64
-.L_ALT_OP_UNUSED_ADFF: /* 0x1ad */
-/* File: armv5te/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Note that the call to dvmCheckBefore is done as a tail call.
- * rIBASE updates won't be seen until a refresh, and we can tell we have a
- * stale rIBASE if breakFlags==0. Always refresh rIBASE here, and then
- * bail to the real handler if breakFlags==0.
- */
- ldrb r3, [rSELF, #offThread_breakFlags]
- adrl lr, dvmAsmInstructionStart + (429 * 64)
- ldr rIBASE, [rSELF, #offThread_curHandlerTable]
- cmp r3, #0
- bxeq lr @ nothing to do - jump to real handler
- EXPORT_PC()
- mov r0, rPC @ arg0
- mov r1, rFP @ arg1
- mov r2, rSELF @ arg2
- b dvmCheckBefore @ (dPC,dFP,self) tail call
-
-/* ------------------------------ */
- .balign 64
-.L_ALT_OP_UNUSED_AEFF: /* 0x1ae */
-/* File: armv5te/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Note that the call to dvmCheckBefore is done as a tail call.
- * rIBASE updates won't be seen until a refresh, and we can tell we have a
- * stale rIBASE if breakFlags==0. Always refresh rIBASE here, and then
- * bail to the real handler if breakFlags==0.
- */
- ldrb r3, [rSELF, #offThread_breakFlags]
- adrl lr, dvmAsmInstructionStart + (430 * 64)
- ldr rIBASE, [rSELF, #offThread_curHandlerTable]
- cmp r3, #0
- bxeq lr @ nothing to do - jump to real handler
- EXPORT_PC()
- mov r0, rPC @ arg0
- mov r1, rFP @ arg1
- mov r2, rSELF @ arg2
- b dvmCheckBefore @ (dPC,dFP,self) tail call
-
-/* ------------------------------ */
- .balign 64
-.L_ALT_OP_UNUSED_AFFF: /* 0x1af */
-/* File: armv5te/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Note that the call to dvmCheckBefore is done as a tail call.
- * rIBASE updates won't be seen until a refresh, and we can tell we have a
- * stale rIBASE if breakFlags==0. Always refresh rIBASE here, and then
- * bail to the real handler if breakFlags==0.
- */
- ldrb r3, [rSELF, #offThread_breakFlags]
- adrl lr, dvmAsmInstructionStart + (431 * 64)
- ldr rIBASE, [rSELF, #offThread_curHandlerTable]
- cmp r3, #0
- bxeq lr @ nothing to do - jump to real handler
- EXPORT_PC()
- mov r0, rPC @ arg0
- mov r1, rFP @ arg1
- mov r2, rSELF @ arg2
- b dvmCheckBefore @ (dPC,dFP,self) tail call
-
-/* ------------------------------ */
- .balign 64
-.L_ALT_OP_UNUSED_B0FF: /* 0x1b0 */
-/* File: armv5te/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Note that the call to dvmCheckBefore is done as a tail call.
- * rIBASE updates won't be seen until a refresh, and we can tell we have a
- * stale rIBASE if breakFlags==0. Always refresh rIBASE here, and then
- * bail to the real handler if breakFlags==0.
- */
- ldrb r3, [rSELF, #offThread_breakFlags]
- adrl lr, dvmAsmInstructionStart + (432 * 64)
- ldr rIBASE, [rSELF, #offThread_curHandlerTable]
- cmp r3, #0
- bxeq lr @ nothing to do - jump to real handler
- EXPORT_PC()
- mov r0, rPC @ arg0
- mov r1, rFP @ arg1
- mov r2, rSELF @ arg2
- b dvmCheckBefore @ (dPC,dFP,self) tail call
-
-/* ------------------------------ */
- .balign 64
-.L_ALT_OP_UNUSED_B1FF: /* 0x1b1 */
-/* File: armv5te/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Note that the call to dvmCheckBefore is done as a tail call.
- * rIBASE updates won't be seen until a refresh, and we can tell we have a
- * stale rIBASE if breakFlags==0. Always refresh rIBASE here, and then
- * bail to the real handler if breakFlags==0.
- */
- ldrb r3, [rSELF, #offThread_breakFlags]
- adrl lr, dvmAsmInstructionStart + (433 * 64)
- ldr rIBASE, [rSELF, #offThread_curHandlerTable]
- cmp r3, #0
- bxeq lr @ nothing to do - jump to real handler
- EXPORT_PC()
- mov r0, rPC @ arg0
- mov r1, rFP @ arg1
- mov r2, rSELF @ arg2
- b dvmCheckBefore @ (dPC,dFP,self) tail call
-
-/* ------------------------------ */
- .balign 64
-.L_ALT_OP_UNUSED_B2FF: /* 0x1b2 */
-/* File: armv5te/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Note that the call to dvmCheckBefore is done as a tail call.
- * rIBASE updates won't be seen until a refresh, and we can tell we have a
- * stale rIBASE if breakFlags==0. Always refresh rIBASE here, and then
- * bail to the real handler if breakFlags==0.
- */
- ldrb r3, [rSELF, #offThread_breakFlags]
- adrl lr, dvmAsmInstructionStart + (434 * 64)
- ldr rIBASE, [rSELF, #offThread_curHandlerTable]
- cmp r3, #0
- bxeq lr @ nothing to do - jump to real handler
- EXPORT_PC()
- mov r0, rPC @ arg0
- mov r1, rFP @ arg1
- mov r2, rSELF @ arg2
- b dvmCheckBefore @ (dPC,dFP,self) tail call
-
-/* ------------------------------ */
- .balign 64
-.L_ALT_OP_UNUSED_B3FF: /* 0x1b3 */
-/* File: armv5te/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Note that the call to dvmCheckBefore is done as a tail call.
- * rIBASE updates won't be seen until a refresh, and we can tell we have a
- * stale rIBASE if breakFlags==0. Always refresh rIBASE here, and then
- * bail to the real handler if breakFlags==0.
- */
- ldrb r3, [rSELF, #offThread_breakFlags]
- adrl lr, dvmAsmInstructionStart + (435 * 64)
- ldr rIBASE, [rSELF, #offThread_curHandlerTable]
- cmp r3, #0
- bxeq lr @ nothing to do - jump to real handler
- EXPORT_PC()
- mov r0, rPC @ arg0
- mov r1, rFP @ arg1
- mov r2, rSELF @ arg2
- b dvmCheckBefore @ (dPC,dFP,self) tail call
-
-/* ------------------------------ */
- .balign 64
-.L_ALT_OP_UNUSED_B4FF: /* 0x1b4 */
-/* File: armv5te/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Note that the call to dvmCheckBefore is done as a tail call.
- * rIBASE updates won't be seen until a refresh, and we can tell we have a
- * stale rIBASE if breakFlags==0. Always refresh rIBASE here, and then
- * bail to the real handler if breakFlags==0.
- */
- ldrb r3, [rSELF, #offThread_breakFlags]
- adrl lr, dvmAsmInstructionStart + (436 * 64)
- ldr rIBASE, [rSELF, #offThread_curHandlerTable]
- cmp r3, #0
- bxeq lr @ nothing to do - jump to real handler
- EXPORT_PC()
- mov r0, rPC @ arg0
- mov r1, rFP @ arg1
- mov r2, rSELF @ arg2
- b dvmCheckBefore @ (dPC,dFP,self) tail call
-
-/* ------------------------------ */
- .balign 64
-.L_ALT_OP_UNUSED_B5FF: /* 0x1b5 */
-/* File: armv5te/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Note that the call to dvmCheckBefore is done as a tail call.
- * rIBASE updates won't be seen until a refresh, and we can tell we have a
- * stale rIBASE if breakFlags==0. Always refresh rIBASE here, and then
- * bail to the real handler if breakFlags==0.
- */
- ldrb r3, [rSELF, #offThread_breakFlags]
- adrl lr, dvmAsmInstructionStart + (437 * 64)
- ldr rIBASE, [rSELF, #offThread_curHandlerTable]
- cmp r3, #0
- bxeq lr @ nothing to do - jump to real handler
- EXPORT_PC()
- mov r0, rPC @ arg0
- mov r1, rFP @ arg1
- mov r2, rSELF @ arg2
- b dvmCheckBefore @ (dPC,dFP,self) tail call
-
-/* ------------------------------ */
- .balign 64
-.L_ALT_OP_UNUSED_B6FF: /* 0x1b6 */
-/* File: armv5te/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Note that the call to dvmCheckBefore is done as a tail call.
- * rIBASE updates won't be seen until a refresh, and we can tell we have a
- * stale rIBASE if breakFlags==0. Always refresh rIBASE here, and then
- * bail to the real handler if breakFlags==0.
- */
- ldrb r3, [rSELF, #offThread_breakFlags]
- adrl lr, dvmAsmInstructionStart + (438 * 64)
- ldr rIBASE, [rSELF, #offThread_curHandlerTable]
- cmp r3, #0
- bxeq lr @ nothing to do - jump to real handler
- EXPORT_PC()
- mov r0, rPC @ arg0
- mov r1, rFP @ arg1
- mov r2, rSELF @ arg2
- b dvmCheckBefore @ (dPC,dFP,self) tail call
-
-/* ------------------------------ */
- .balign 64
-.L_ALT_OP_UNUSED_B7FF: /* 0x1b7 */
-/* File: armv5te/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Note that the call to dvmCheckBefore is done as a tail call.
- * rIBASE updates won't be seen until a refresh, and we can tell we have a
- * stale rIBASE if breakFlags==0. Always refresh rIBASE here, and then
- * bail to the real handler if breakFlags==0.
- */
- ldrb r3, [rSELF, #offThread_breakFlags]
- adrl lr, dvmAsmInstructionStart + (439 * 64)
- ldr rIBASE, [rSELF, #offThread_curHandlerTable]
- cmp r3, #0
- bxeq lr @ nothing to do - jump to real handler
- EXPORT_PC()
- mov r0, rPC @ arg0
- mov r1, rFP @ arg1
- mov r2, rSELF @ arg2
- b dvmCheckBefore @ (dPC,dFP,self) tail call
-
-/* ------------------------------ */
- .balign 64
-.L_ALT_OP_UNUSED_B8FF: /* 0x1b8 */
-/* File: armv5te/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Note that the call to dvmCheckBefore is done as a tail call.
- * rIBASE updates won't be seen until a refresh, and we can tell we have a
- * stale rIBASE if breakFlags==0. Always refresh rIBASE here, and then
- * bail to the real handler if breakFlags==0.
- */
- ldrb r3, [rSELF, #offThread_breakFlags]
- adrl lr, dvmAsmInstructionStart + (440 * 64)
- ldr rIBASE, [rSELF, #offThread_curHandlerTable]
- cmp r3, #0
- bxeq lr @ nothing to do - jump to real handler
- EXPORT_PC()
- mov r0, rPC @ arg0
- mov r1, rFP @ arg1
- mov r2, rSELF @ arg2
- b dvmCheckBefore @ (dPC,dFP,self) tail call
-
-/* ------------------------------ */
- .balign 64
-.L_ALT_OP_UNUSED_B9FF: /* 0x1b9 */
-/* File: armv5te/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Note that the call to dvmCheckBefore is done as a tail call.
- * rIBASE updates won't be seen until a refresh, and we can tell we have a
- * stale rIBASE if breakFlags==0. Always refresh rIBASE here, and then
- * bail to the real handler if breakFlags==0.
- */
- ldrb r3, [rSELF, #offThread_breakFlags]
- adrl lr, dvmAsmInstructionStart + (441 * 64)
- ldr rIBASE, [rSELF, #offThread_curHandlerTable]
- cmp r3, #0
- bxeq lr @ nothing to do - jump to real handler
- EXPORT_PC()
- mov r0, rPC @ arg0
- mov r1, rFP @ arg1
- mov r2, rSELF @ arg2
- b dvmCheckBefore @ (dPC,dFP,self) tail call
-
-/* ------------------------------ */
- .balign 64
-.L_ALT_OP_UNUSED_BAFF: /* 0x1ba */
-/* File: armv5te/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Note that the call to dvmCheckBefore is done as a tail call.
- * rIBASE updates won't be seen until a refresh, and we can tell we have a
- * stale rIBASE if breakFlags==0. Always refresh rIBASE here, and then
- * bail to the real handler if breakFlags==0.
- */
- ldrb r3, [rSELF, #offThread_breakFlags]
- adrl lr, dvmAsmInstructionStart + (442 * 64)
- ldr rIBASE, [rSELF, #offThread_curHandlerTable]
- cmp r3, #0
- bxeq lr @ nothing to do - jump to real handler
- EXPORT_PC()
- mov r0, rPC @ arg0
- mov r1, rFP @ arg1
- mov r2, rSELF @ arg2
- b dvmCheckBefore @ (dPC,dFP,self) tail call
-
-/* ------------------------------ */
- .balign 64
-.L_ALT_OP_UNUSED_BBFF: /* 0x1bb */
-/* File: armv5te/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Note that the call to dvmCheckBefore is done as a tail call.
- * rIBASE updates won't be seen until a refresh, and we can tell we have a
- * stale rIBASE if breakFlags==0. Always refresh rIBASE here, and then
- * bail to the real handler if breakFlags==0.
- */
- ldrb r3, [rSELF, #offThread_breakFlags]
- adrl lr, dvmAsmInstructionStart + (443 * 64)
- ldr rIBASE, [rSELF, #offThread_curHandlerTable]
- cmp r3, #0
- bxeq lr @ nothing to do - jump to real handler
- EXPORT_PC()
- mov r0, rPC @ arg0
- mov r1, rFP @ arg1
- mov r2, rSELF @ arg2
- b dvmCheckBefore @ (dPC,dFP,self) tail call
-
-/* ------------------------------ */
- .balign 64
-.L_ALT_OP_UNUSED_BCFF: /* 0x1bc */
-/* File: armv5te/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Note that the call to dvmCheckBefore is done as a tail call.
- * rIBASE updates won't be seen until a refresh, and we can tell we have a
- * stale rIBASE if breakFlags==0. Always refresh rIBASE here, and then
- * bail to the real handler if breakFlags==0.
- */
- ldrb r3, [rSELF, #offThread_breakFlags]
- adrl lr, dvmAsmInstructionStart + (444 * 64)
- ldr rIBASE, [rSELF, #offThread_curHandlerTable]
- cmp r3, #0
- bxeq lr @ nothing to do - jump to real handler
- EXPORT_PC()
- mov r0, rPC @ arg0
- mov r1, rFP @ arg1
- mov r2, rSELF @ arg2
- b dvmCheckBefore @ (dPC,dFP,self) tail call
-
-/* ------------------------------ */
- .balign 64
-.L_ALT_OP_UNUSED_BDFF: /* 0x1bd */
-/* File: armv5te/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Note that the call to dvmCheckBefore is done as a tail call.
- * rIBASE updates won't be seen until a refresh, and we can tell we have a
- * stale rIBASE if breakFlags==0. Always refresh rIBASE here, and then
- * bail to the real handler if breakFlags==0.
- */
- ldrb r3, [rSELF, #offThread_breakFlags]
- adrl lr, dvmAsmInstructionStart + (445 * 64)
- ldr rIBASE, [rSELF, #offThread_curHandlerTable]
- cmp r3, #0
- bxeq lr @ nothing to do - jump to real handler
- EXPORT_PC()
- mov r0, rPC @ arg0
- mov r1, rFP @ arg1
- mov r2, rSELF @ arg2
- b dvmCheckBefore @ (dPC,dFP,self) tail call
-
-/* ------------------------------ */
- .balign 64
-.L_ALT_OP_UNUSED_BEFF: /* 0x1be */
-/* File: armv5te/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Note that the call to dvmCheckBefore is done as a tail call.
- * rIBASE updates won't be seen until a refresh, and we can tell we have a
- * stale rIBASE if breakFlags==0. Always refresh rIBASE here, and then
- * bail to the real handler if breakFlags==0.
- */
- ldrb r3, [rSELF, #offThread_breakFlags]
- adrl lr, dvmAsmInstructionStart + (446 * 64)
- ldr rIBASE, [rSELF, #offThread_curHandlerTable]
- cmp r3, #0
- bxeq lr @ nothing to do - jump to real handler
- EXPORT_PC()
- mov r0, rPC @ arg0
- mov r1, rFP @ arg1
- mov r2, rSELF @ arg2
- b dvmCheckBefore @ (dPC,dFP,self) tail call
-
-/* ------------------------------ */
- .balign 64
-.L_ALT_OP_UNUSED_BFFF: /* 0x1bf */
-/* File: armv5te/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Note that the call to dvmCheckBefore is done as a tail call.
- * rIBASE updates won't be seen until a refresh, and we can tell we have a
- * stale rIBASE if breakFlags==0. Always refresh rIBASE here, and then
- * bail to the real handler if breakFlags==0.
- */
- ldrb r3, [rSELF, #offThread_breakFlags]
- adrl lr, dvmAsmInstructionStart + (447 * 64)
- ldr rIBASE, [rSELF, #offThread_curHandlerTable]
- cmp r3, #0
- bxeq lr @ nothing to do - jump to real handler
- EXPORT_PC()
- mov r0, rPC @ arg0
- mov r1, rFP @ arg1
- mov r2, rSELF @ arg2
- b dvmCheckBefore @ (dPC,dFP,self) tail call
-
-/* ------------------------------ */
- .balign 64
-.L_ALT_OP_UNUSED_C0FF: /* 0x1c0 */
-/* File: armv5te/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Note that the call to dvmCheckBefore is done as a tail call.
- * rIBASE updates won't be seen until a refresh, and we can tell we have a
- * stale rIBASE if breakFlags==0. Always refresh rIBASE here, and then
- * bail to the real handler if breakFlags==0.
- */
- ldrb r3, [rSELF, #offThread_breakFlags]
- adrl lr, dvmAsmInstructionStart + (448 * 64)
- ldr rIBASE, [rSELF, #offThread_curHandlerTable]
- cmp r3, #0
- bxeq lr @ nothing to do - jump to real handler
- EXPORT_PC()
- mov r0, rPC @ arg0
- mov r1, rFP @ arg1
- mov r2, rSELF @ arg2
- b dvmCheckBefore @ (dPC,dFP,self) tail call
-
-/* ------------------------------ */
- .balign 64
-.L_ALT_OP_UNUSED_C1FF: /* 0x1c1 */
-/* File: armv5te/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Note that the call to dvmCheckBefore is done as a tail call.
- * rIBASE updates won't be seen until a refresh, and we can tell we have a
- * stale rIBASE if breakFlags==0. Always refresh rIBASE here, and then
- * bail to the real handler if breakFlags==0.
- */
- ldrb r3, [rSELF, #offThread_breakFlags]
- adrl lr, dvmAsmInstructionStart + (449 * 64)
- ldr rIBASE, [rSELF, #offThread_curHandlerTable]
- cmp r3, #0
- bxeq lr @ nothing to do - jump to real handler
- EXPORT_PC()
- mov r0, rPC @ arg0
- mov r1, rFP @ arg1
- mov r2, rSELF @ arg2
- b dvmCheckBefore @ (dPC,dFP,self) tail call
-
-/* ------------------------------ */
- .balign 64
-.L_ALT_OP_UNUSED_C2FF: /* 0x1c2 */
-/* File: armv5te/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Note that the call to dvmCheckBefore is done as a tail call.
- * rIBASE updates won't be seen until a refresh, and we can tell we have a
- * stale rIBASE if breakFlags==0. Always refresh rIBASE here, and then
- * bail to the real handler if breakFlags==0.
- */
- ldrb r3, [rSELF, #offThread_breakFlags]
- adrl lr, dvmAsmInstructionStart + (450 * 64)
- ldr rIBASE, [rSELF, #offThread_curHandlerTable]
- cmp r3, #0
- bxeq lr @ nothing to do - jump to real handler
- EXPORT_PC()
- mov r0, rPC @ arg0
- mov r1, rFP @ arg1
- mov r2, rSELF @ arg2
- b dvmCheckBefore @ (dPC,dFP,self) tail call
-
-/* ------------------------------ */
- .balign 64
-.L_ALT_OP_UNUSED_C3FF: /* 0x1c3 */
-/* File: armv5te/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Note that the call to dvmCheckBefore is done as a tail call.
- * rIBASE updates won't be seen until a refresh, and we can tell we have a
- * stale rIBASE if breakFlags==0. Always refresh rIBASE here, and then
- * bail to the real handler if breakFlags==0.
- */
- ldrb r3, [rSELF, #offThread_breakFlags]
- adrl lr, dvmAsmInstructionStart + (451 * 64)
- ldr rIBASE, [rSELF, #offThread_curHandlerTable]
- cmp r3, #0
- bxeq lr @ nothing to do - jump to real handler
- EXPORT_PC()
- mov r0, rPC @ arg0
- mov r1, rFP @ arg1
- mov r2, rSELF @ arg2
- b dvmCheckBefore @ (dPC,dFP,self) tail call
-
-/* ------------------------------ */
- .balign 64
-.L_ALT_OP_UNUSED_C4FF: /* 0x1c4 */
-/* File: armv5te/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Note that the call to dvmCheckBefore is done as a tail call.
- * rIBASE updates won't be seen until a refresh, and we can tell we have a
- * stale rIBASE if breakFlags==0. Always refresh rIBASE here, and then
- * bail to the real handler if breakFlags==0.
- */
- ldrb r3, [rSELF, #offThread_breakFlags]
- adrl lr, dvmAsmInstructionStart + (452 * 64)
- ldr rIBASE, [rSELF, #offThread_curHandlerTable]
- cmp r3, #0
- bxeq lr @ nothing to do - jump to real handler
- EXPORT_PC()
- mov r0, rPC @ arg0
- mov r1, rFP @ arg1
- mov r2, rSELF @ arg2
- b dvmCheckBefore @ (dPC,dFP,self) tail call
-
-/* ------------------------------ */
- .balign 64
-.L_ALT_OP_UNUSED_C5FF: /* 0x1c5 */
-/* File: armv5te/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Note that the call to dvmCheckBefore is done as a tail call.
- * rIBASE updates won't be seen until a refresh, and we can tell we have a
- * stale rIBASE if breakFlags==0. Always refresh rIBASE here, and then
- * bail to the real handler if breakFlags==0.
- */
- ldrb r3, [rSELF, #offThread_breakFlags]
- adrl lr, dvmAsmInstructionStart + (453 * 64)
- ldr rIBASE, [rSELF, #offThread_curHandlerTable]
- cmp r3, #0
- bxeq lr @ nothing to do - jump to real handler
- EXPORT_PC()
- mov r0, rPC @ arg0
- mov r1, rFP @ arg1
- mov r2, rSELF @ arg2
- b dvmCheckBefore @ (dPC,dFP,self) tail call
-
-/* ------------------------------ */
- .balign 64
-.L_ALT_OP_UNUSED_C6FF: /* 0x1c6 */
-/* File: armv5te/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Note that the call to dvmCheckBefore is done as a tail call.
- * rIBASE updates won't be seen until a refresh, and we can tell we have a
- * stale rIBASE if breakFlags==0. Always refresh rIBASE here, and then
- * bail to the real handler if breakFlags==0.
- */
- ldrb r3, [rSELF, #offThread_breakFlags]
- adrl lr, dvmAsmInstructionStart + (454 * 64)
- ldr rIBASE, [rSELF, #offThread_curHandlerTable]
- cmp r3, #0
- bxeq lr @ nothing to do - jump to real handler
- EXPORT_PC()
- mov r0, rPC @ arg0
- mov r1, rFP @ arg1
- mov r2, rSELF @ arg2
- b dvmCheckBefore @ (dPC,dFP,self) tail call
-
-/* ------------------------------ */
- .balign 64
-.L_ALT_OP_UNUSED_C7FF: /* 0x1c7 */
-/* File: armv5te/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Note that the call to dvmCheckBefore is done as a tail call.
- * rIBASE updates won't be seen until a refresh, and we can tell we have a
- * stale rIBASE if breakFlags==0. Always refresh rIBASE here, and then
- * bail to the real handler if breakFlags==0.
- */
- ldrb r3, [rSELF, #offThread_breakFlags]
- adrl lr, dvmAsmInstructionStart + (455 * 64)
- ldr rIBASE, [rSELF, #offThread_curHandlerTable]
- cmp r3, #0
- bxeq lr @ nothing to do - jump to real handler
- EXPORT_PC()
- mov r0, rPC @ arg0
- mov r1, rFP @ arg1
- mov r2, rSELF @ arg2
- b dvmCheckBefore @ (dPC,dFP,self) tail call
-
-/* ------------------------------ */
- .balign 64
-.L_ALT_OP_UNUSED_C8FF: /* 0x1c8 */
-/* File: armv5te/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Note that the call to dvmCheckBefore is done as a tail call.
- * rIBASE updates won't be seen until a refresh, and we can tell we have a
- * stale rIBASE if breakFlags==0. Always refresh rIBASE here, and then
- * bail to the real handler if breakFlags==0.
- */
- ldrb r3, [rSELF, #offThread_breakFlags]
- adrl lr, dvmAsmInstructionStart + (456 * 64)
- ldr rIBASE, [rSELF, #offThread_curHandlerTable]
- cmp r3, #0
- bxeq lr @ nothing to do - jump to real handler
- EXPORT_PC()
- mov r0, rPC @ arg0
- mov r1, rFP @ arg1
- mov r2, rSELF @ arg2
- b dvmCheckBefore @ (dPC,dFP,self) tail call
-
-/* ------------------------------ */
- .balign 64
-.L_ALT_OP_UNUSED_C9FF: /* 0x1c9 */
-/* File: armv5te/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Note that the call to dvmCheckBefore is done as a tail call.
- * rIBASE updates won't be seen until a refresh, and we can tell we have a
- * stale rIBASE if breakFlags==0. Always refresh rIBASE here, and then
- * bail to the real handler if breakFlags==0.
- */
- ldrb r3, [rSELF, #offThread_breakFlags]
- adrl lr, dvmAsmInstructionStart + (457 * 64)
- ldr rIBASE, [rSELF, #offThread_curHandlerTable]
- cmp r3, #0
- bxeq lr @ nothing to do - jump to real handler
- EXPORT_PC()
- mov r0, rPC @ arg0
- mov r1, rFP @ arg1
- mov r2, rSELF @ arg2
- b dvmCheckBefore @ (dPC,dFP,self) tail call
-
-/* ------------------------------ */
- .balign 64
-.L_ALT_OP_UNUSED_CAFF: /* 0x1ca */
-/* File: armv5te/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Note that the call to dvmCheckBefore is done as a tail call.
- * rIBASE updates won't be seen until a refresh, and we can tell we have a
- * stale rIBASE if breakFlags==0. Always refresh rIBASE here, and then
- * bail to the real handler if breakFlags==0.
- */
- ldrb r3, [rSELF, #offThread_breakFlags]
- adrl lr, dvmAsmInstructionStart + (458 * 64)
- ldr rIBASE, [rSELF, #offThread_curHandlerTable]
- cmp r3, #0
- bxeq lr @ nothing to do - jump to real handler
- EXPORT_PC()
- mov r0, rPC @ arg0
- mov r1, rFP @ arg1
- mov r2, rSELF @ arg2
- b dvmCheckBefore @ (dPC,dFP,self) tail call
-
-/* ------------------------------ */
- .balign 64
-.L_ALT_OP_UNUSED_CBFF: /* 0x1cb */
-/* File: armv5te/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Note that the call to dvmCheckBefore is done as a tail call.
- * rIBASE updates won't be seen until a refresh, and we can tell we have a
- * stale rIBASE if breakFlags==0. Always refresh rIBASE here, and then
- * bail to the real handler if breakFlags==0.
- */
- ldrb r3, [rSELF, #offThread_breakFlags]
- adrl lr, dvmAsmInstructionStart + (459 * 64)
- ldr rIBASE, [rSELF, #offThread_curHandlerTable]
- cmp r3, #0
- bxeq lr @ nothing to do - jump to real handler
- EXPORT_PC()
- mov r0, rPC @ arg0
- mov r1, rFP @ arg1
- mov r2, rSELF @ arg2
- b dvmCheckBefore @ (dPC,dFP,self) tail call
-
-/* ------------------------------ */
- .balign 64
-.L_ALT_OP_UNUSED_CCFF: /* 0x1cc */
-/* File: armv5te/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Note that the call to dvmCheckBefore is done as a tail call.
- * rIBASE updates won't be seen until a refresh, and we can tell we have a
- * stale rIBASE if breakFlags==0. Always refresh rIBASE here, and then
- * bail to the real handler if breakFlags==0.
- */
- ldrb r3, [rSELF, #offThread_breakFlags]
- adrl lr, dvmAsmInstructionStart + (460 * 64)
- ldr rIBASE, [rSELF, #offThread_curHandlerTable]
- cmp r3, #0
- bxeq lr @ nothing to do - jump to real handler
- EXPORT_PC()
- mov r0, rPC @ arg0
- mov r1, rFP @ arg1
- mov r2, rSELF @ arg2
- b dvmCheckBefore @ (dPC,dFP,self) tail call
-
-/* ------------------------------ */
- .balign 64
-.L_ALT_OP_UNUSED_CDFF: /* 0x1cd */
-/* File: armv5te/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Note that the call to dvmCheckBefore is done as a tail call.
- * rIBASE updates won't be seen until a refresh, and we can tell we have a
- * stale rIBASE if breakFlags==0. Always refresh rIBASE here, and then
- * bail to the real handler if breakFlags==0.
- */
- ldrb r3, [rSELF, #offThread_breakFlags]
- adrl lr, dvmAsmInstructionStart + (461 * 64)
- ldr rIBASE, [rSELF, #offThread_curHandlerTable]
- cmp r3, #0
- bxeq lr @ nothing to do - jump to real handler
- EXPORT_PC()
- mov r0, rPC @ arg0
- mov r1, rFP @ arg1
- mov r2, rSELF @ arg2
- b dvmCheckBefore @ (dPC,dFP,self) tail call
-
-/* ------------------------------ */
- .balign 64
-.L_ALT_OP_UNUSED_CEFF: /* 0x1ce */
-/* File: armv5te/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Note that the call to dvmCheckBefore is done as a tail call.
- * rIBASE updates won't be seen until a refresh, and we can tell we have a
- * stale rIBASE if breakFlags==0. Always refresh rIBASE here, and then
- * bail to the real handler if breakFlags==0.
- */
- ldrb r3, [rSELF, #offThread_breakFlags]
- adrl lr, dvmAsmInstructionStart + (462 * 64)
- ldr rIBASE, [rSELF, #offThread_curHandlerTable]
- cmp r3, #0
- bxeq lr @ nothing to do - jump to real handler
- EXPORT_PC()
- mov r0, rPC @ arg0
- mov r1, rFP @ arg1
- mov r2, rSELF @ arg2
- b dvmCheckBefore @ (dPC,dFP,self) tail call
-
-/* ------------------------------ */
- .balign 64
-.L_ALT_OP_UNUSED_CFFF: /* 0x1cf */
-/* File: armv5te/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Note that the call to dvmCheckBefore is done as a tail call.
- * rIBASE updates won't be seen until a refresh, and we can tell we have a
- * stale rIBASE if breakFlags==0. Always refresh rIBASE here, and then
- * bail to the real handler if breakFlags==0.
- */
- ldrb r3, [rSELF, #offThread_breakFlags]
- adrl lr, dvmAsmInstructionStart + (463 * 64)
- ldr rIBASE, [rSELF, #offThread_curHandlerTable]
- cmp r3, #0
- bxeq lr @ nothing to do - jump to real handler
- EXPORT_PC()
- mov r0, rPC @ arg0
- mov r1, rFP @ arg1
- mov r2, rSELF @ arg2
- b dvmCheckBefore @ (dPC,dFP,self) tail call
-
-/* ------------------------------ */
- .balign 64
-.L_ALT_OP_UNUSED_D0FF: /* 0x1d0 */
-/* File: armv5te/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Note that the call to dvmCheckBefore is done as a tail call.
- * rIBASE updates won't be seen until a refresh, and we can tell we have a
- * stale rIBASE if breakFlags==0. Always refresh rIBASE here, and then
- * bail to the real handler if breakFlags==0.
- */
- ldrb r3, [rSELF, #offThread_breakFlags]
- adrl lr, dvmAsmInstructionStart + (464 * 64)
- ldr rIBASE, [rSELF, #offThread_curHandlerTable]
- cmp r3, #0
- bxeq lr @ nothing to do - jump to real handler
- EXPORT_PC()
- mov r0, rPC @ arg0
- mov r1, rFP @ arg1
- mov r2, rSELF @ arg2
- b dvmCheckBefore @ (dPC,dFP,self) tail call
-
-/* ------------------------------ */
- .balign 64
-.L_ALT_OP_UNUSED_D1FF: /* 0x1d1 */
-/* File: armv5te/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Note that the call to dvmCheckBefore is done as a tail call.
- * rIBASE updates won't be seen until a refresh, and we can tell we have a
- * stale rIBASE if breakFlags==0. Always refresh rIBASE here, and then
- * bail to the real handler if breakFlags==0.
- */
- ldrb r3, [rSELF, #offThread_breakFlags]
- adrl lr, dvmAsmInstructionStart + (465 * 64)
- ldr rIBASE, [rSELF, #offThread_curHandlerTable]
- cmp r3, #0
- bxeq lr @ nothing to do - jump to real handler
- EXPORT_PC()
- mov r0, rPC @ arg0
- mov r1, rFP @ arg1
- mov r2, rSELF @ arg2
- b dvmCheckBefore @ (dPC,dFP,self) tail call
-
-/* ------------------------------ */
- .balign 64
-.L_ALT_OP_UNUSED_D2FF: /* 0x1d2 */
-/* File: armv5te/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Note that the call to dvmCheckBefore is done as a tail call.
- * rIBASE updates won't be seen until a refresh, and we can tell we have a
- * stale rIBASE if breakFlags==0. Always refresh rIBASE here, and then
- * bail to the real handler if breakFlags==0.
- */
- ldrb r3, [rSELF, #offThread_breakFlags]
- adrl lr, dvmAsmInstructionStart + (466 * 64)
- ldr rIBASE, [rSELF, #offThread_curHandlerTable]
- cmp r3, #0
- bxeq lr @ nothing to do - jump to real handler
- EXPORT_PC()
- mov r0, rPC @ arg0
- mov r1, rFP @ arg1
- mov r2, rSELF @ arg2
- b dvmCheckBefore @ (dPC,dFP,self) tail call
-
-/* ------------------------------ */
- .balign 64
-.L_ALT_OP_UNUSED_D3FF: /* 0x1d3 */
-/* File: armv5te/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Note that the call to dvmCheckBefore is done as a tail call.
- * rIBASE updates won't be seen until a refresh, and we can tell we have a
- * stale rIBASE if breakFlags==0. Always refresh rIBASE here, and then
- * bail to the real handler if breakFlags==0.
- */
- ldrb r3, [rSELF, #offThread_breakFlags]
- adrl lr, dvmAsmInstructionStart + (467 * 64)
- ldr rIBASE, [rSELF, #offThread_curHandlerTable]
- cmp r3, #0
- bxeq lr @ nothing to do - jump to real handler
- EXPORT_PC()
- mov r0, rPC @ arg0
- mov r1, rFP @ arg1
- mov r2, rSELF @ arg2
- b dvmCheckBefore @ (dPC,dFP,self) tail call
-
-/* ------------------------------ */
- .balign 64
-.L_ALT_OP_UNUSED_D4FF: /* 0x1d4 */
-/* File: armv5te/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Note that the call to dvmCheckBefore is done as a tail call.
- * rIBASE updates won't be seen until a refresh, and we can tell we have a
- * stale rIBASE if breakFlags==0. Always refresh rIBASE here, and then
- * bail to the real handler if breakFlags==0.
- */
- ldrb r3, [rSELF, #offThread_breakFlags]
- adrl lr, dvmAsmInstructionStart + (468 * 64)
- ldr rIBASE, [rSELF, #offThread_curHandlerTable]
- cmp r3, #0
- bxeq lr @ nothing to do - jump to real handler
- EXPORT_PC()
- mov r0, rPC @ arg0
- mov r1, rFP @ arg1
- mov r2, rSELF @ arg2
- b dvmCheckBefore @ (dPC,dFP,self) tail call
-
-/* ------------------------------ */
- .balign 64
-.L_ALT_OP_UNUSED_D5FF: /* 0x1d5 */
-/* File: armv5te/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Note that the call to dvmCheckBefore is done as a tail call.
- * rIBASE updates won't be seen until a refresh, and we can tell we have a
- * stale rIBASE if breakFlags==0. Always refresh rIBASE here, and then
- * bail to the real handler if breakFlags==0.
- */
- ldrb r3, [rSELF, #offThread_breakFlags]
- adrl lr, dvmAsmInstructionStart + (469 * 64)
- ldr rIBASE, [rSELF, #offThread_curHandlerTable]
- cmp r3, #0
- bxeq lr @ nothing to do - jump to real handler
- EXPORT_PC()
- mov r0, rPC @ arg0
- mov r1, rFP @ arg1
- mov r2, rSELF @ arg2
- b dvmCheckBefore @ (dPC,dFP,self) tail call
-
-/* ------------------------------ */
- .balign 64
-.L_ALT_OP_UNUSED_D6FF: /* 0x1d6 */
-/* File: armv5te/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Note that the call to dvmCheckBefore is done as a tail call.
- * rIBASE updates won't be seen until a refresh, and we can tell we have a
- * stale rIBASE if breakFlags==0. Always refresh rIBASE here, and then
- * bail to the real handler if breakFlags==0.
- */
- ldrb r3, [rSELF, #offThread_breakFlags]
- adrl lr, dvmAsmInstructionStart + (470 * 64)
- ldr rIBASE, [rSELF, #offThread_curHandlerTable]
- cmp r3, #0
- bxeq lr @ nothing to do - jump to real handler
- EXPORT_PC()
- mov r0, rPC @ arg0
- mov r1, rFP @ arg1
- mov r2, rSELF @ arg2
- b dvmCheckBefore @ (dPC,dFP,self) tail call
-
-/* ------------------------------ */
- .balign 64
-.L_ALT_OP_UNUSED_D7FF: /* 0x1d7 */
-/* File: armv5te/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Note that the call to dvmCheckBefore is done as a tail call.
- * rIBASE updates won't be seen until a refresh, and we can tell we have a
- * stale rIBASE if breakFlags==0. Always refresh rIBASE here, and then
- * bail to the real handler if breakFlags==0.
- */
- ldrb r3, [rSELF, #offThread_breakFlags]
- adrl lr, dvmAsmInstructionStart + (471 * 64)
- ldr rIBASE, [rSELF, #offThread_curHandlerTable]
- cmp r3, #0
- bxeq lr @ nothing to do - jump to real handler
- EXPORT_PC()
- mov r0, rPC @ arg0
- mov r1, rFP @ arg1
- mov r2, rSELF @ arg2
- b dvmCheckBefore @ (dPC,dFP,self) tail call
-
-/* ------------------------------ */
- .balign 64
-.L_ALT_OP_UNUSED_D8FF: /* 0x1d8 */
-/* File: armv5te/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Note that the call to dvmCheckBefore is done as a tail call.
- * rIBASE updates won't be seen until a refresh, and we can tell we have a
- * stale rIBASE if breakFlags==0. Always refresh rIBASE here, and then
- * bail to the real handler if breakFlags==0.
- */
- ldrb r3, [rSELF, #offThread_breakFlags]
- adrl lr, dvmAsmInstructionStart + (472 * 64)
- ldr rIBASE, [rSELF, #offThread_curHandlerTable]
- cmp r3, #0
- bxeq lr @ nothing to do - jump to real handler
- EXPORT_PC()
- mov r0, rPC @ arg0
- mov r1, rFP @ arg1
- mov r2, rSELF @ arg2
- b dvmCheckBefore @ (dPC,dFP,self) tail call
-
-/* ------------------------------ */
- .balign 64
-.L_ALT_OP_UNUSED_D9FF: /* 0x1d9 */
-/* File: armv5te/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Note that the call to dvmCheckBefore is done as a tail call.
- * rIBASE updates won't be seen until a refresh, and we can tell we have a
- * stale rIBASE if breakFlags==0. Always refresh rIBASE here, and then
- * bail to the real handler if breakFlags==0.
- */
- ldrb r3, [rSELF, #offThread_breakFlags]
- adrl lr, dvmAsmInstructionStart + (473 * 64)
- ldr rIBASE, [rSELF, #offThread_curHandlerTable]
- cmp r3, #0
- bxeq lr @ nothing to do - jump to real handler
- EXPORT_PC()
- mov r0, rPC @ arg0
- mov r1, rFP @ arg1
- mov r2, rSELF @ arg2
- b dvmCheckBefore @ (dPC,dFP,self) tail call
-
-/* ------------------------------ */
- .balign 64
-.L_ALT_OP_UNUSED_DAFF: /* 0x1da */
-/* File: armv5te/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Note that the call to dvmCheckBefore is done as a tail call.
- * rIBASE updates won't be seen until a refresh, and we can tell we have a
- * stale rIBASE if breakFlags==0. Always refresh rIBASE here, and then
- * bail to the real handler if breakFlags==0.
- */
- ldrb r3, [rSELF, #offThread_breakFlags]
- adrl lr, dvmAsmInstructionStart + (474 * 64)
- ldr rIBASE, [rSELF, #offThread_curHandlerTable]
- cmp r3, #0
- bxeq lr @ nothing to do - jump to real handler
- EXPORT_PC()
- mov r0, rPC @ arg0
- mov r1, rFP @ arg1
- mov r2, rSELF @ arg2
- b dvmCheckBefore @ (dPC,dFP,self) tail call
-
-/* ------------------------------ */
- .balign 64
-.L_ALT_OP_UNUSED_DBFF: /* 0x1db */
-/* File: armv5te/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Note that the call to dvmCheckBefore is done as a tail call.
- * rIBASE updates won't be seen until a refresh, and we can tell we have a
- * stale rIBASE if breakFlags==0. Always refresh rIBASE here, and then
- * bail to the real handler if breakFlags==0.
- */
- ldrb r3, [rSELF, #offThread_breakFlags]
- adrl lr, dvmAsmInstructionStart + (475 * 64)
- ldr rIBASE, [rSELF, #offThread_curHandlerTable]
- cmp r3, #0
- bxeq lr @ nothing to do - jump to real handler
- EXPORT_PC()
- mov r0, rPC @ arg0
- mov r1, rFP @ arg1
- mov r2, rSELF @ arg2
- b dvmCheckBefore @ (dPC,dFP,self) tail call
-
-/* ------------------------------ */
- .balign 64
-.L_ALT_OP_UNUSED_DCFF: /* 0x1dc */
-/* File: armv5te/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Note that the call to dvmCheckBefore is done as a tail call.
- * rIBASE updates won't be seen until a refresh, and we can tell we have a
- * stale rIBASE if breakFlags==0. Always refresh rIBASE here, and then
- * bail to the real handler if breakFlags==0.
- */
- ldrb r3, [rSELF, #offThread_breakFlags]
- adrl lr, dvmAsmInstructionStart + (476 * 64)
- ldr rIBASE, [rSELF, #offThread_curHandlerTable]
- cmp r3, #0
- bxeq lr @ nothing to do - jump to real handler
- EXPORT_PC()
- mov r0, rPC @ arg0
- mov r1, rFP @ arg1
- mov r2, rSELF @ arg2
- b dvmCheckBefore @ (dPC,dFP,self) tail call
-
-/* ------------------------------ */
- .balign 64
-.L_ALT_OP_UNUSED_DDFF: /* 0x1dd */
-/* File: armv5te/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Note that the call to dvmCheckBefore is done as a tail call.
- * rIBASE updates won't be seen until a refresh, and we can tell we have a
- * stale rIBASE if breakFlags==0. Always refresh rIBASE here, and then
- * bail to the real handler if breakFlags==0.
- */
- ldrb r3, [rSELF, #offThread_breakFlags]
- adrl lr, dvmAsmInstructionStart + (477 * 64)
- ldr rIBASE, [rSELF, #offThread_curHandlerTable]
- cmp r3, #0
- bxeq lr @ nothing to do - jump to real handler
- EXPORT_PC()
- mov r0, rPC @ arg0
- mov r1, rFP @ arg1
- mov r2, rSELF @ arg2
- b dvmCheckBefore @ (dPC,dFP,self) tail call
-
-/* ------------------------------ */
- .balign 64
-.L_ALT_OP_UNUSED_DEFF: /* 0x1de */
-/* File: armv5te/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Note that the call to dvmCheckBefore is done as a tail call.
- * rIBASE updates won't be seen until a refresh, and we can tell we have a
- * stale rIBASE if breakFlags==0. Always refresh rIBASE here, and then
- * bail to the real handler if breakFlags==0.
- */
- ldrb r3, [rSELF, #offThread_breakFlags]
- adrl lr, dvmAsmInstructionStart + (478 * 64)
- ldr rIBASE, [rSELF, #offThread_curHandlerTable]
- cmp r3, #0
- bxeq lr @ nothing to do - jump to real handler
- EXPORT_PC()
- mov r0, rPC @ arg0
- mov r1, rFP @ arg1
- mov r2, rSELF @ arg2
- b dvmCheckBefore @ (dPC,dFP,self) tail call
-
-/* ------------------------------ */
- .balign 64
-.L_ALT_OP_UNUSED_DFFF: /* 0x1df */
-/* File: armv5te/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Note that the call to dvmCheckBefore is done as a tail call.
- * rIBASE updates won't be seen until a refresh, and we can tell we have a
- * stale rIBASE if breakFlags==0. Always refresh rIBASE here, and then
- * bail to the real handler if breakFlags==0.
- */
- ldrb r3, [rSELF, #offThread_breakFlags]
- adrl lr, dvmAsmInstructionStart + (479 * 64)
- ldr rIBASE, [rSELF, #offThread_curHandlerTable]
- cmp r3, #0
- bxeq lr @ nothing to do - jump to real handler
- EXPORT_PC()
- mov r0, rPC @ arg0
- mov r1, rFP @ arg1
- mov r2, rSELF @ arg2
- b dvmCheckBefore @ (dPC,dFP,self) tail call
-
-/* ------------------------------ */
- .balign 64
-.L_ALT_OP_UNUSED_E0FF: /* 0x1e0 */
-/* File: armv5te/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Note that the call to dvmCheckBefore is done as a tail call.
- * rIBASE updates won't be seen until a refresh, and we can tell we have a
- * stale rIBASE if breakFlags==0. Always refresh rIBASE here, and then
- * bail to the real handler if breakFlags==0.
- */
- ldrb r3, [rSELF, #offThread_breakFlags]
- adrl lr, dvmAsmInstructionStart + (480 * 64)
- ldr rIBASE, [rSELF, #offThread_curHandlerTable]
- cmp r3, #0
- bxeq lr @ nothing to do - jump to real handler
- EXPORT_PC()
- mov r0, rPC @ arg0
- mov r1, rFP @ arg1
- mov r2, rSELF @ arg2
- b dvmCheckBefore @ (dPC,dFP,self) tail call
-
-/* ------------------------------ */
- .balign 64
-.L_ALT_OP_UNUSED_E1FF: /* 0x1e1 */
-/* File: armv5te/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Note that the call to dvmCheckBefore is done as a tail call.
- * rIBASE updates won't be seen until a refresh, and we can tell we have a
- * stale rIBASE if breakFlags==0. Always refresh rIBASE here, and then
- * bail to the real handler if breakFlags==0.
- */
- ldrb r3, [rSELF, #offThread_breakFlags]
- adrl lr, dvmAsmInstructionStart + (481 * 64)
- ldr rIBASE, [rSELF, #offThread_curHandlerTable]
- cmp r3, #0
- bxeq lr @ nothing to do - jump to real handler
- EXPORT_PC()
- mov r0, rPC @ arg0
- mov r1, rFP @ arg1
- mov r2, rSELF @ arg2
- b dvmCheckBefore @ (dPC,dFP,self) tail call
-
-/* ------------------------------ */
- .balign 64
-.L_ALT_OP_UNUSED_E2FF: /* 0x1e2 */
-/* File: armv5te/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Note that the call to dvmCheckBefore is done as a tail call.
- * rIBASE updates won't be seen until a refresh, and we can tell we have a
- * stale rIBASE if breakFlags==0. Always refresh rIBASE here, and then
- * bail to the real handler if breakFlags==0.
- */
- ldrb r3, [rSELF, #offThread_breakFlags]
- adrl lr, dvmAsmInstructionStart + (482 * 64)
- ldr rIBASE, [rSELF, #offThread_curHandlerTable]
- cmp r3, #0
- bxeq lr @ nothing to do - jump to real handler
- EXPORT_PC()
- mov r0, rPC @ arg0
- mov r1, rFP @ arg1
- mov r2, rSELF @ arg2
- b dvmCheckBefore @ (dPC,dFP,self) tail call
-
-/* ------------------------------ */
- .balign 64
-.L_ALT_OP_UNUSED_E3FF: /* 0x1e3 */
-/* File: armv5te/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Note that the call to dvmCheckBefore is done as a tail call.
- * rIBASE updates won't be seen until a refresh, and we can tell we have a
- * stale rIBASE if breakFlags==0. Always refresh rIBASE here, and then
- * bail to the real handler if breakFlags==0.
- */
- ldrb r3, [rSELF, #offThread_breakFlags]
- adrl lr, dvmAsmInstructionStart + (483 * 64)
- ldr rIBASE, [rSELF, #offThread_curHandlerTable]
- cmp r3, #0
- bxeq lr @ nothing to do - jump to real handler
- EXPORT_PC()
- mov r0, rPC @ arg0
- mov r1, rFP @ arg1
- mov r2, rSELF @ arg2
- b dvmCheckBefore @ (dPC,dFP,self) tail call
-
-/* ------------------------------ */
- .balign 64
-.L_ALT_OP_UNUSED_E4FF: /* 0x1e4 */
-/* File: armv5te/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Note that the call to dvmCheckBefore is done as a tail call.
- * rIBASE updates won't be seen until a refresh, and we can tell we have a
- * stale rIBASE if breakFlags==0. Always refresh rIBASE here, and then
- * bail to the real handler if breakFlags==0.
- */
- ldrb r3, [rSELF, #offThread_breakFlags]
- adrl lr, dvmAsmInstructionStart + (484 * 64)
- ldr rIBASE, [rSELF, #offThread_curHandlerTable]
- cmp r3, #0
- bxeq lr @ nothing to do - jump to real handler
- EXPORT_PC()
- mov r0, rPC @ arg0
- mov r1, rFP @ arg1
- mov r2, rSELF @ arg2
- b dvmCheckBefore @ (dPC,dFP,self) tail call
-
-/* ------------------------------ */
- .balign 64
-.L_ALT_OP_UNUSED_E5FF: /* 0x1e5 */
-/* File: armv5te/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Note that the call to dvmCheckBefore is done as a tail call.
- * rIBASE updates won't be seen until a refresh, and we can tell we have a
- * stale rIBASE if breakFlags==0. Always refresh rIBASE here, and then
- * bail to the real handler if breakFlags==0.
- */
- ldrb r3, [rSELF, #offThread_breakFlags]
- adrl lr, dvmAsmInstructionStart + (485 * 64)
- ldr rIBASE, [rSELF, #offThread_curHandlerTable]
- cmp r3, #0
- bxeq lr @ nothing to do - jump to real handler
- EXPORT_PC()
- mov r0, rPC @ arg0
- mov r1, rFP @ arg1
- mov r2, rSELF @ arg2
- b dvmCheckBefore @ (dPC,dFP,self) tail call
-
-/* ------------------------------ */
- .balign 64
-.L_ALT_OP_UNUSED_E6FF: /* 0x1e6 */
-/* File: armv5te/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Note that the call to dvmCheckBefore is done as a tail call.
- * rIBASE updates won't be seen until a refresh, and we can tell we have a
- * stale rIBASE if breakFlags==0. Always refresh rIBASE here, and then
- * bail to the real handler if breakFlags==0.
- */
- ldrb r3, [rSELF, #offThread_breakFlags]
- adrl lr, dvmAsmInstructionStart + (486 * 64)
- ldr rIBASE, [rSELF, #offThread_curHandlerTable]
- cmp r3, #0
- bxeq lr @ nothing to do - jump to real handler
- EXPORT_PC()
- mov r0, rPC @ arg0
- mov r1, rFP @ arg1
- mov r2, rSELF @ arg2
- b dvmCheckBefore @ (dPC,dFP,self) tail call
-
-/* ------------------------------ */
- .balign 64
-.L_ALT_OP_UNUSED_E7FF: /* 0x1e7 */
-/* File: armv5te/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Note that the call to dvmCheckBefore is done as a tail call.
- * rIBASE updates won't be seen until a refresh, and we can tell we have a
- * stale rIBASE if breakFlags==0. Always refresh rIBASE here, and then
- * bail to the real handler if breakFlags==0.
- */
- ldrb r3, [rSELF, #offThread_breakFlags]
- adrl lr, dvmAsmInstructionStart + (487 * 64)
- ldr rIBASE, [rSELF, #offThread_curHandlerTable]
- cmp r3, #0
- bxeq lr @ nothing to do - jump to real handler
- EXPORT_PC()
- mov r0, rPC @ arg0
- mov r1, rFP @ arg1
- mov r2, rSELF @ arg2
- b dvmCheckBefore @ (dPC,dFP,self) tail call
-
-/* ------------------------------ */
- .balign 64
-.L_ALT_OP_UNUSED_E8FF: /* 0x1e8 */
-/* File: armv5te/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Note that the call to dvmCheckBefore is done as a tail call.
- * rIBASE updates won't be seen until a refresh, and we can tell we have a
- * stale rIBASE if breakFlags==0. Always refresh rIBASE here, and then
- * bail to the real handler if breakFlags==0.
- */
- ldrb r3, [rSELF, #offThread_breakFlags]
- adrl lr, dvmAsmInstructionStart + (488 * 64)
- ldr rIBASE, [rSELF, #offThread_curHandlerTable]
- cmp r3, #0
- bxeq lr @ nothing to do - jump to real handler
- EXPORT_PC()
- mov r0, rPC @ arg0
- mov r1, rFP @ arg1
- mov r2, rSELF @ arg2
- b dvmCheckBefore @ (dPC,dFP,self) tail call
-
-/* ------------------------------ */
- .balign 64
-.L_ALT_OP_UNUSED_E9FF: /* 0x1e9 */
-/* File: armv5te/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Note that the call to dvmCheckBefore is done as a tail call.
- * rIBASE updates won't be seen until a refresh, and we can tell we have a
- * stale rIBASE if breakFlags==0. Always refresh rIBASE here, and then
- * bail to the real handler if breakFlags==0.
- */
- ldrb r3, [rSELF, #offThread_breakFlags]
- adrl lr, dvmAsmInstructionStart + (489 * 64)
- ldr rIBASE, [rSELF, #offThread_curHandlerTable]
- cmp r3, #0
- bxeq lr @ nothing to do - jump to real handler
- EXPORT_PC()
- mov r0, rPC @ arg0
- mov r1, rFP @ arg1
- mov r2, rSELF @ arg2
- b dvmCheckBefore @ (dPC,dFP,self) tail call
-
-/* ------------------------------ */
- .balign 64
-.L_ALT_OP_UNUSED_EAFF: /* 0x1ea */
-/* File: armv5te/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Note that the call to dvmCheckBefore is done as a tail call.
- * rIBASE updates won't be seen until a refresh, and we can tell we have a
- * stale rIBASE if breakFlags==0. Always refresh rIBASE here, and then
- * bail to the real handler if breakFlags==0.
- */
- ldrb r3, [rSELF, #offThread_breakFlags]
- adrl lr, dvmAsmInstructionStart + (490 * 64)
- ldr rIBASE, [rSELF, #offThread_curHandlerTable]
- cmp r3, #0
- bxeq lr @ nothing to do - jump to real handler
- EXPORT_PC()
- mov r0, rPC @ arg0
- mov r1, rFP @ arg1
- mov r2, rSELF @ arg2
- b dvmCheckBefore @ (dPC,dFP,self) tail call
-
-/* ------------------------------ */
- .balign 64
-.L_ALT_OP_UNUSED_EBFF: /* 0x1eb */
-/* File: armv5te/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Note that the call to dvmCheckBefore is done as a tail call.
- * rIBASE updates won't be seen until a refresh, and we can tell we have a
- * stale rIBASE if breakFlags==0. Always refresh rIBASE here, and then
- * bail to the real handler if breakFlags==0.
- */
- ldrb r3, [rSELF, #offThread_breakFlags]
- adrl lr, dvmAsmInstructionStart + (491 * 64)
- ldr rIBASE, [rSELF, #offThread_curHandlerTable]
- cmp r3, #0
- bxeq lr @ nothing to do - jump to real handler
- EXPORT_PC()
- mov r0, rPC @ arg0
- mov r1, rFP @ arg1
- mov r2, rSELF @ arg2
- b dvmCheckBefore @ (dPC,dFP,self) tail call
-
-/* ------------------------------ */
- .balign 64
-.L_ALT_OP_UNUSED_ECFF: /* 0x1ec */
+.L_ALT_OP_UNUSED_FF: /* 0xff */
/* File: armv5te/alt_stub.S */
/*
* Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
@@ -25774,444 +15626,7 @@ dvmAsmAltInstructionStart = .L_ALT_OP_NOP
* bail to the real handler if breakFlags==0.
*/
ldrb r3, [rSELF, #offThread_breakFlags]
- adrl lr, dvmAsmInstructionStart + (492 * 64)
- ldr rIBASE, [rSELF, #offThread_curHandlerTable]
- cmp r3, #0
- bxeq lr @ nothing to do - jump to real handler
- EXPORT_PC()
- mov r0, rPC @ arg0
- mov r1, rFP @ arg1
- mov r2, rSELF @ arg2
- b dvmCheckBefore @ (dPC,dFP,self) tail call
-
-/* ------------------------------ */
- .balign 64
-.L_ALT_OP_UNUSED_EDFF: /* 0x1ed */
-/* File: armv5te/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Note that the call to dvmCheckBefore is done as a tail call.
- * rIBASE updates won't be seen until a refresh, and we can tell we have a
- * stale rIBASE if breakFlags==0. Always refresh rIBASE here, and then
- * bail to the real handler if breakFlags==0.
- */
- ldrb r3, [rSELF, #offThread_breakFlags]
- adrl lr, dvmAsmInstructionStart + (493 * 64)
- ldr rIBASE, [rSELF, #offThread_curHandlerTable]
- cmp r3, #0
- bxeq lr @ nothing to do - jump to real handler
- EXPORT_PC()
- mov r0, rPC @ arg0
- mov r1, rFP @ arg1
- mov r2, rSELF @ arg2
- b dvmCheckBefore @ (dPC,dFP,self) tail call
-
-/* ------------------------------ */
- .balign 64
-.L_ALT_OP_UNUSED_EEFF: /* 0x1ee */
-/* File: armv5te/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Note that the call to dvmCheckBefore is done as a tail call.
- * rIBASE updates won't be seen until a refresh, and we can tell we have a
- * stale rIBASE if breakFlags==0. Always refresh rIBASE here, and then
- * bail to the real handler if breakFlags==0.
- */
- ldrb r3, [rSELF, #offThread_breakFlags]
- adrl lr, dvmAsmInstructionStart + (494 * 64)
- ldr rIBASE, [rSELF, #offThread_curHandlerTable]
- cmp r3, #0
- bxeq lr @ nothing to do - jump to real handler
- EXPORT_PC()
- mov r0, rPC @ arg0
- mov r1, rFP @ arg1
- mov r2, rSELF @ arg2
- b dvmCheckBefore @ (dPC,dFP,self) tail call
-
-/* ------------------------------ */
- .balign 64
-.L_ALT_OP_UNUSED_EFFF: /* 0x1ef */
-/* File: armv5te/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Note that the call to dvmCheckBefore is done as a tail call.
- * rIBASE updates won't be seen until a refresh, and we can tell we have a
- * stale rIBASE if breakFlags==0. Always refresh rIBASE here, and then
- * bail to the real handler if breakFlags==0.
- */
- ldrb r3, [rSELF, #offThread_breakFlags]
- adrl lr, dvmAsmInstructionStart + (495 * 64)
- ldr rIBASE, [rSELF, #offThread_curHandlerTable]
- cmp r3, #0
- bxeq lr @ nothing to do - jump to real handler
- EXPORT_PC()
- mov r0, rPC @ arg0
- mov r1, rFP @ arg1
- mov r2, rSELF @ arg2
- b dvmCheckBefore @ (dPC,dFP,self) tail call
-
-/* ------------------------------ */
- .balign 64
-.L_ALT_OP_UNUSED_F0FF: /* 0x1f0 */
-/* File: armv5te/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Note that the call to dvmCheckBefore is done as a tail call.
- * rIBASE updates won't be seen until a refresh, and we can tell we have a
- * stale rIBASE if breakFlags==0. Always refresh rIBASE here, and then
- * bail to the real handler if breakFlags==0.
- */
- ldrb r3, [rSELF, #offThread_breakFlags]
- adrl lr, dvmAsmInstructionStart + (496 * 64)
- ldr rIBASE, [rSELF, #offThread_curHandlerTable]
- cmp r3, #0
- bxeq lr @ nothing to do - jump to real handler
- EXPORT_PC()
- mov r0, rPC @ arg0
- mov r1, rFP @ arg1
- mov r2, rSELF @ arg2
- b dvmCheckBefore @ (dPC,dFP,self) tail call
-
-/* ------------------------------ */
- .balign 64
-.L_ALT_OP_UNUSED_F1FF: /* 0x1f1 */
-/* File: armv5te/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Note that the call to dvmCheckBefore is done as a tail call.
- * rIBASE updates won't be seen until a refresh, and we can tell we have a
- * stale rIBASE if breakFlags==0. Always refresh rIBASE here, and then
- * bail to the real handler if breakFlags==0.
- */
- ldrb r3, [rSELF, #offThread_breakFlags]
- adrl lr, dvmAsmInstructionStart + (497 * 64)
- ldr rIBASE, [rSELF, #offThread_curHandlerTable]
- cmp r3, #0
- bxeq lr @ nothing to do - jump to real handler
- EXPORT_PC()
- mov r0, rPC @ arg0
- mov r1, rFP @ arg1
- mov r2, rSELF @ arg2
- b dvmCheckBefore @ (dPC,dFP,self) tail call
-
-/* ------------------------------ */
- .balign 64
-.L_ALT_OP_INVOKE_OBJECT_INIT_JUMBO: /* 0x1f2 */
-/* File: armv5te/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Note that the call to dvmCheckBefore is done as a tail call.
- * rIBASE updates won't be seen until a refresh, and we can tell we have a
- * stale rIBASE if breakFlags==0. Always refresh rIBASE here, and then
- * bail to the real handler if breakFlags==0.
- */
- ldrb r3, [rSELF, #offThread_breakFlags]
- adrl lr, dvmAsmInstructionStart + (498 * 64)
- ldr rIBASE, [rSELF, #offThread_curHandlerTable]
- cmp r3, #0
- bxeq lr @ nothing to do - jump to real handler
- EXPORT_PC()
- mov r0, rPC @ arg0
- mov r1, rFP @ arg1
- mov r2, rSELF @ arg2
- b dvmCheckBefore @ (dPC,dFP,self) tail call
-
-/* ------------------------------ */
- .balign 64
-.L_ALT_OP_IGET_VOLATILE_JUMBO: /* 0x1f3 */
-/* File: armv5te/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Note that the call to dvmCheckBefore is done as a tail call.
- * rIBASE updates won't be seen until a refresh, and we can tell we have a
- * stale rIBASE if breakFlags==0. Always refresh rIBASE here, and then
- * bail to the real handler if breakFlags==0.
- */
- ldrb r3, [rSELF, #offThread_breakFlags]
- adrl lr, dvmAsmInstructionStart + (499 * 64)
- ldr rIBASE, [rSELF, #offThread_curHandlerTable]
- cmp r3, #0
- bxeq lr @ nothing to do - jump to real handler
- EXPORT_PC()
- mov r0, rPC @ arg0
- mov r1, rFP @ arg1
- mov r2, rSELF @ arg2
- b dvmCheckBefore @ (dPC,dFP,self) tail call
-
-/* ------------------------------ */
- .balign 64
-.L_ALT_OP_IGET_WIDE_VOLATILE_JUMBO: /* 0x1f4 */
-/* File: armv5te/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Note that the call to dvmCheckBefore is done as a tail call.
- * rIBASE updates won't be seen until a refresh, and we can tell we have a
- * stale rIBASE if breakFlags==0. Always refresh rIBASE here, and then
- * bail to the real handler if breakFlags==0.
- */
- ldrb r3, [rSELF, #offThread_breakFlags]
- adrl lr, dvmAsmInstructionStart + (500 * 64)
- ldr rIBASE, [rSELF, #offThread_curHandlerTable]
- cmp r3, #0
- bxeq lr @ nothing to do - jump to real handler
- EXPORT_PC()
- mov r0, rPC @ arg0
- mov r1, rFP @ arg1
- mov r2, rSELF @ arg2
- b dvmCheckBefore @ (dPC,dFP,self) tail call
-
-/* ------------------------------ */
- .balign 64
-.L_ALT_OP_IGET_OBJECT_VOLATILE_JUMBO: /* 0x1f5 */
-/* File: armv5te/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Note that the call to dvmCheckBefore is done as a tail call.
- * rIBASE updates won't be seen until a refresh, and we can tell we have a
- * stale rIBASE if breakFlags==0. Always refresh rIBASE here, and then
- * bail to the real handler if breakFlags==0.
- */
- ldrb r3, [rSELF, #offThread_breakFlags]
- adrl lr, dvmAsmInstructionStart + (501 * 64)
- ldr rIBASE, [rSELF, #offThread_curHandlerTable]
- cmp r3, #0
- bxeq lr @ nothing to do - jump to real handler
- EXPORT_PC()
- mov r0, rPC @ arg0
- mov r1, rFP @ arg1
- mov r2, rSELF @ arg2
- b dvmCheckBefore @ (dPC,dFP,self) tail call
-
-/* ------------------------------ */
- .balign 64
-.L_ALT_OP_IPUT_VOLATILE_JUMBO: /* 0x1f6 */
-/* File: armv5te/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Note that the call to dvmCheckBefore is done as a tail call.
- * rIBASE updates won't be seen until a refresh, and we can tell we have a
- * stale rIBASE if breakFlags==0. Always refresh rIBASE here, and then
- * bail to the real handler if breakFlags==0.
- */
- ldrb r3, [rSELF, #offThread_breakFlags]
- adrl lr, dvmAsmInstructionStart + (502 * 64)
- ldr rIBASE, [rSELF, #offThread_curHandlerTable]
- cmp r3, #0
- bxeq lr @ nothing to do - jump to real handler
- EXPORT_PC()
- mov r0, rPC @ arg0
- mov r1, rFP @ arg1
- mov r2, rSELF @ arg2
- b dvmCheckBefore @ (dPC,dFP,self) tail call
-
-/* ------------------------------ */
- .balign 64
-.L_ALT_OP_IPUT_WIDE_VOLATILE_JUMBO: /* 0x1f7 */
-/* File: armv5te/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Note that the call to dvmCheckBefore is done as a tail call.
- * rIBASE updates won't be seen until a refresh, and we can tell we have a
- * stale rIBASE if breakFlags==0. Always refresh rIBASE here, and then
- * bail to the real handler if breakFlags==0.
- */
- ldrb r3, [rSELF, #offThread_breakFlags]
- adrl lr, dvmAsmInstructionStart + (503 * 64)
- ldr rIBASE, [rSELF, #offThread_curHandlerTable]
- cmp r3, #0
- bxeq lr @ nothing to do - jump to real handler
- EXPORT_PC()
- mov r0, rPC @ arg0
- mov r1, rFP @ arg1
- mov r2, rSELF @ arg2
- b dvmCheckBefore @ (dPC,dFP,self) tail call
-
-/* ------------------------------ */
- .balign 64
-.L_ALT_OP_IPUT_OBJECT_VOLATILE_JUMBO: /* 0x1f8 */
-/* File: armv5te/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Note that the call to dvmCheckBefore is done as a tail call.
- * rIBASE updates won't be seen until a refresh, and we can tell we have a
- * stale rIBASE if breakFlags==0. Always refresh rIBASE here, and then
- * bail to the real handler if breakFlags==0.
- */
- ldrb r3, [rSELF, #offThread_breakFlags]
- adrl lr, dvmAsmInstructionStart + (504 * 64)
- ldr rIBASE, [rSELF, #offThread_curHandlerTable]
- cmp r3, #0
- bxeq lr @ nothing to do - jump to real handler
- EXPORT_PC()
- mov r0, rPC @ arg0
- mov r1, rFP @ arg1
- mov r2, rSELF @ arg2
- b dvmCheckBefore @ (dPC,dFP,self) tail call
-
-/* ------------------------------ */
- .balign 64
-.L_ALT_OP_SGET_VOLATILE_JUMBO: /* 0x1f9 */
-/* File: armv5te/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Note that the call to dvmCheckBefore is done as a tail call.
- * rIBASE updates won't be seen until a refresh, and we can tell we have a
- * stale rIBASE if breakFlags==0. Always refresh rIBASE here, and then
- * bail to the real handler if breakFlags==0.
- */
- ldrb r3, [rSELF, #offThread_breakFlags]
- adrl lr, dvmAsmInstructionStart + (505 * 64)
- ldr rIBASE, [rSELF, #offThread_curHandlerTable]
- cmp r3, #0
- bxeq lr @ nothing to do - jump to real handler
- EXPORT_PC()
- mov r0, rPC @ arg0
- mov r1, rFP @ arg1
- mov r2, rSELF @ arg2
- b dvmCheckBefore @ (dPC,dFP,self) tail call
-
-/* ------------------------------ */
- .balign 64
-.L_ALT_OP_SGET_WIDE_VOLATILE_JUMBO: /* 0x1fa */
-/* File: armv5te/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Note that the call to dvmCheckBefore is done as a tail call.
- * rIBASE updates won't be seen until a refresh, and we can tell we have a
- * stale rIBASE if breakFlags==0. Always refresh rIBASE here, and then
- * bail to the real handler if breakFlags==0.
- */
- ldrb r3, [rSELF, #offThread_breakFlags]
- adrl lr, dvmAsmInstructionStart + (506 * 64)
- ldr rIBASE, [rSELF, #offThread_curHandlerTable]
- cmp r3, #0
- bxeq lr @ nothing to do - jump to real handler
- EXPORT_PC()
- mov r0, rPC @ arg0
- mov r1, rFP @ arg1
- mov r2, rSELF @ arg2
- b dvmCheckBefore @ (dPC,dFP,self) tail call
-
-/* ------------------------------ */
- .balign 64
-.L_ALT_OP_SGET_OBJECT_VOLATILE_JUMBO: /* 0x1fb */
-/* File: armv5te/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Note that the call to dvmCheckBefore is done as a tail call.
- * rIBASE updates won't be seen until a refresh, and we can tell we have a
- * stale rIBASE if breakFlags==0. Always refresh rIBASE here, and then
- * bail to the real handler if breakFlags==0.
- */
- ldrb r3, [rSELF, #offThread_breakFlags]
- adrl lr, dvmAsmInstructionStart + (507 * 64)
- ldr rIBASE, [rSELF, #offThread_curHandlerTable]
- cmp r3, #0
- bxeq lr @ nothing to do - jump to real handler
- EXPORT_PC()
- mov r0, rPC @ arg0
- mov r1, rFP @ arg1
- mov r2, rSELF @ arg2
- b dvmCheckBefore @ (dPC,dFP,self) tail call
-
-/* ------------------------------ */
- .balign 64
-.L_ALT_OP_SPUT_VOLATILE_JUMBO: /* 0x1fc */
-/* File: armv5te/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Note that the call to dvmCheckBefore is done as a tail call.
- * rIBASE updates won't be seen until a refresh, and we can tell we have a
- * stale rIBASE if breakFlags==0. Always refresh rIBASE here, and then
- * bail to the real handler if breakFlags==0.
- */
- ldrb r3, [rSELF, #offThread_breakFlags]
- adrl lr, dvmAsmInstructionStart + (508 * 64)
- ldr rIBASE, [rSELF, #offThread_curHandlerTable]
- cmp r3, #0
- bxeq lr @ nothing to do - jump to real handler
- EXPORT_PC()
- mov r0, rPC @ arg0
- mov r1, rFP @ arg1
- mov r2, rSELF @ arg2
- b dvmCheckBefore @ (dPC,dFP,self) tail call
-
-/* ------------------------------ */
- .balign 64
-.L_ALT_OP_SPUT_WIDE_VOLATILE_JUMBO: /* 0x1fd */
-/* File: armv5te/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Note that the call to dvmCheckBefore is done as a tail call.
- * rIBASE updates won't be seen until a refresh, and we can tell we have a
- * stale rIBASE if breakFlags==0. Always refresh rIBASE here, and then
- * bail to the real handler if breakFlags==0.
- */
- ldrb r3, [rSELF, #offThread_breakFlags]
- adrl lr, dvmAsmInstructionStart + (509 * 64)
- ldr rIBASE, [rSELF, #offThread_curHandlerTable]
- cmp r3, #0
- bxeq lr @ nothing to do - jump to real handler
- EXPORT_PC()
- mov r0, rPC @ arg0
- mov r1, rFP @ arg1
- mov r2, rSELF @ arg2
- b dvmCheckBefore @ (dPC,dFP,self) tail call
-
-/* ------------------------------ */
- .balign 64
-.L_ALT_OP_SPUT_OBJECT_VOLATILE_JUMBO: /* 0x1fe */
-/* File: armv5te/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Note that the call to dvmCheckBefore is done as a tail call.
- * rIBASE updates won't be seen until a refresh, and we can tell we have a
- * stale rIBASE if breakFlags==0. Always refresh rIBASE here, and then
- * bail to the real handler if breakFlags==0.
- */
- ldrb r3, [rSELF, #offThread_breakFlags]
- adrl lr, dvmAsmInstructionStart + (510 * 64)
- ldr rIBASE, [rSELF, #offThread_curHandlerTable]
- cmp r3, #0
- bxeq lr @ nothing to do - jump to real handler
- EXPORT_PC()
- mov r0, rPC @ arg0
- mov r1, rFP @ arg1
- mov r2, rSELF @ arg2
- b dvmCheckBefore @ (dPC,dFP,self) tail call
-
-/* ------------------------------ */
- .balign 64
-.L_ALT_OP_THROW_VERIFICATION_ERROR_JUMBO: /* 0x1ff */
-/* File: armv5te/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Note that the call to dvmCheckBefore is done as a tail call.
- * rIBASE updates won't be seen until a refresh, and we can tell we have a
- * stale rIBASE if breakFlags==0. Always refresh rIBASE here, and then
- * bail to the real handler if breakFlags==0.
- */
- ldrb r3, [rSELF, #offThread_breakFlags]
- adrl lr, dvmAsmInstructionStart + (511 * 64)
+ adrl lr, dvmAsmInstructionStart + (255 * 64)
ldr rIBASE, [rSELF, #offThread_curHandlerTable]
cmp r3, #0
bxeq lr @ nothing to do - jump to real handler
@@ -26694,35 +16109,6 @@ save_callsiteinfo:
#endif
/*
- * Common code for jumbo method invocation.
- * NOTE: this adjusts rPC to account for the difference in instruction width.
- * As a result, the savedPc in the stack frame will not be wholly accurate. So
- * long as that is only used for source file line number calculations, we're
- * okay.
- */
-common_invokeMethodJumboNoThis:
-#if defined(WITH_JIT)
- /* On entry: r0 is "Method* methodToCall */
- mov r9, #0 @ clear "this"
-#endif
-common_invokeMethodJumbo:
- /* On entry: r0 is "Method* methodToCall, r9 is "this" */
-.LinvokeNewJumbo:
-#if defined(WITH_JIT)
- ldrh r1, [rSELF, #offThread_subMode]
- ands r1, #kSubModeJitTraceBuild
- blne save_callsiteinfo
-#endif
- @ prepare to copy args to "outs" area of current frame
- add rPC, rPC, #4 @ adjust pc to make return consistent
- FETCH(r2, 1) @ r2<- BBBB (arg count)
- SAVEAREA_FROM_FP(r10, rFP) @ r10<- stack save area
- cmp r2, #0 @ no args?
- beq .LinvokeArgsDone @ if no args, skip the rest
- FETCH(r1, 2) @ r1<- CCCC
- b .LinvokeRangeArgs @ handle args like invoke range
-
-/*
* Common code for method invocation with range.
*
* On entry:
diff --git a/vm/mterp/out/InterpAsm-armv5te.S b/vm/mterp/out/InterpAsm-armv5te.S
index 5e4ccd416..89c81337d 100644
--- a/vm/mterp/out/InterpAsm-armv5te.S
+++ b/vm/mterp/out/InterpAsm-armv5te.S
@@ -8022,3126 +8022,12 @@ d2i_doconv:
/* ------------------------------ */
.balign 64
-.L_OP_DISPATCH_FF: /* 0xff */
-/* File: armv5te/OP_DISPATCH_FF.S */
- mov ip, rINST, lsr #8 @ ip<- extended opcode
- add ip, ip, #256 @ add offset for extended opcodes
- GOTO_OPCODE(ip) @ go to proper extended handler
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_CONST_CLASS_JUMBO: /* 0x100 */
-/* File: armv5te/OP_CONST_CLASS_JUMBO.S */
- /* const-class/jumbo vBBBB, Class@AAAAAAAA */
- FETCH(r0, 1) @ r0<- aaaa (lo)
- ldr r2, [rSELF, #offThread_methodClassDex] @ r2<-self>methodClassDex
- FETCH(r1, 2) @ r1<- AAAA (hi)
- ldr r2, [r2, #offDvmDex_pResClasses] @ r2<- dvmDex->pResClasses
- orr r1, r0, r1, lsl #16 @ r1<- AAAAaaaa
- FETCH(r9, 3) @ r9<- BBBB
- ldr r0, [r2, r1, lsl #2] @ r0<- pResClasses[AAAAaaaa]
- cmp r0, #0 @ not yet resolved?
- beq .LOP_CONST_CLASS_JUMBO_resolve
- FETCH_ADVANCE_INST(4) @ advance rPC, load rINST
- GET_INST_OPCODE(ip) @ extract opcode from rINST
- SET_VREG(r0, r9) @ vBBBB<- r0
- GOTO_OPCODE(ip) @ jump to next instruction
-
-/* ------------------------------ */
- .balign 64
-.L_OP_CHECK_CAST_JUMBO: /* 0x101 */
-/* File: armv5te/OP_CHECK_CAST_JUMBO.S */
- /*
- * Check to see if a cast from one class to another is allowed.
- */
- /* check-cast/jumbo vBBBB, class@AAAAAAAA */
- FETCH(r0, 1) @ r0<- aaaa (lo)
- FETCH(r2, 2) @ r2<- AAAA (hi)
- FETCH(r3, 3) @ r3<- BBBB
- orr r2, r0, r2, lsl #16 @ r2<- AAAAaaaa
- GET_VREG(r9, r3) @ r9<- object
- ldr r0, [rSELF, #offThread_methodClassDex] @ r0<- pDvmDex
- cmp r9, #0 @ is object null?
- ldr r0, [r0, #offDvmDex_pResClasses] @ r0<- pDvmDex->pResClasses
- beq .LOP_CHECK_CAST_JUMBO_okay @ null obj, cast always succeeds
- ldr r1, [r0, r2, lsl #2] @ r1<- resolved class
- ldr r0, [r9, #offObject_clazz] @ r0<- obj->clazz
- cmp r1, #0 @ have we resolved this before?
- beq .LOP_CHECK_CAST_JUMBO_resolve @ not resolved, do it now
-.LOP_CHECK_CAST_JUMBO_resolved:
- cmp r0, r1 @ same class (trivial success)?
- bne .LOP_CHECK_CAST_JUMBO_fullcheck @ no, do full check
- b .LOP_CHECK_CAST_JUMBO_okay @ yes, finish up
-
-/* ------------------------------ */
- .balign 64
-.L_OP_INSTANCE_OF_JUMBO: /* 0x102 */
-/* File: armv5te/OP_INSTANCE_OF_JUMBO.S */
- /*
- * Check to see if an object reference is an instance of a class.
- *
- * Most common situation is a non-null object, being compared against
- * an already-resolved class.
- *
- * TODO: convert most of this into a common subroutine, shared with
- * OP_INSTANCE_OF.S.
- */
- /* instance-of/jumbo vBBBB, vCCCC, class@AAAAAAAA */
- FETCH(r3, 4) @ r3<- vCCCC
- FETCH(r9, 3) @ r9<- vBBBB
- GET_VREG(r0, r3) @ r0<- vCCCC (object)
- ldr r2, [rSELF, #offThread_methodClassDex] @ r2<- pDvmDex
- cmp r0, #0 @ is object null?
- beq .LOP_INSTANCE_OF_JUMBO_store @ null obj, not an instance, store r0
- FETCH(r1, 1) @ r1<- aaaa (lo)
- FETCH(r3, 2) @ r3<- AAAA (hi)
- ldr r2, [r2, #offDvmDex_pResClasses] @ r2<- pDvmDex->pResClasses
- orr r3, r1, r3, lsl #16 @ r3<- AAAAaaaa
- ldr r1, [r2, r3, lsl #2] @ r1<- resolved class
- ldr r0, [r0, #offObject_clazz] @ r0<- obj->clazz
- cmp r1, #0 @ have we resolved this before?
- beq .LOP_INSTANCE_OF_JUMBO_resolve @ not resolved, do it now
- b .LOP_INSTANCE_OF_JUMBO_resolved @ resolved, continue
-
-/* ------------------------------ */
- .balign 64
-.L_OP_NEW_INSTANCE_JUMBO: /* 0x103 */
-/* File: armv5te/OP_NEW_INSTANCE_JUMBO.S */
- /*
- * Create a new instance of a class.
- */
- /* new-instance/jumbo vBBBB, class@AAAAAAAA */
- FETCH(r0, 1) @ r0<- aaaa (lo)
- FETCH(r1, 2) @ r1<- AAAA (hi)
- ldr r3, [rSELF, #offThread_methodClassDex] @ r3<- pDvmDex
- orr r1, r0, r1, lsl #16 @ r1<- AAAAaaaa
- ldr r3, [r3, #offDvmDex_pResClasses] @ r3<- pDvmDex->pResClasses
- ldr r0, [r3, r1, lsl #2] @ r0<- resolved class
-#if defined(WITH_JIT)
- add r10, r3, r1, lsl #2 @ r10<- &resolved_class
-#endif
- EXPORT_PC() @ req'd for init, resolve, alloc
- cmp r0, #0 @ already resolved?
- beq .LOP_NEW_INSTANCE_JUMBO_resolve @ no, resolve it now
-.LOP_NEW_INSTANCE_JUMBO_resolved: @ r0=class
- ldrb r1, [r0, #offClassObject_status] @ r1<- ClassStatus enum
- cmp r1, #CLASS_INITIALIZED @ has class been initialized?
- bne .LOP_NEW_INSTANCE_JUMBO_needinit @ no, init class now
-.LOP_NEW_INSTANCE_JUMBO_initialized: @ r0=class
- mov r1, #ALLOC_DONT_TRACK @ flags for alloc call
- bl dvmAllocObject @ r0<- new object
- b .LOP_NEW_INSTANCE_JUMBO_finish @ continue
-
-/* ------------------------------ */
- .balign 64
-.L_OP_NEW_ARRAY_JUMBO: /* 0x104 */
-/* File: armv5te/OP_NEW_ARRAY_JUMBO.S */
- /*
- * Allocate an array of objects, specified with the array class
- * and a count.
- *
- * The verifier guarantees that this is an array class, so we don't
- * check for it here.
- */
- /* new-array/jumbo vBBBB, vCCCC, class@AAAAAAAA */
- FETCH(r2, 1) @ r2<- aaaa (lo)
- FETCH(r3, 2) @ r3<- AAAA (hi)
- FETCH(r0, 4) @ r0<- vCCCC
- orr r2, r2, r3, lsl #16 @ r2<- AAAAaaaa
- ldr r3, [rSELF, #offThread_methodClassDex] @ r3<- pDvmDex
- GET_VREG(r1, r0) @ r1<- vCCCC (array length)
- ldr r3, [r3, #offDvmDex_pResClasses] @ r3<- pDvmDex->pResClasses
- cmp r1, #0 @ check length
- ldr r0, [r3, r2, lsl #2] @ r0<- resolved class
- bmi common_errNegativeArraySize @ negative length, bail - len in r1
- cmp r0, #0 @ already resolved?
- EXPORT_PC() @ req'd for resolve, alloc
- bne .LOP_NEW_ARRAY_JUMBO_finish @ resolved, continue
- b .LOP_NEW_ARRAY_JUMBO_resolve @ do resolve now
-
-/* ------------------------------ */
- .balign 64
-.L_OP_FILLED_NEW_ARRAY_JUMBO: /* 0x105 */
-/* File: armv5te/OP_FILLED_NEW_ARRAY_JUMBO.S */
- /*
- * Create a new array with elements filled from registers.
- *
- * TODO: convert most of this into a common subroutine, shared with
- * OP_FILLED_NEW_ARRAY.S.
- */
- /* filled-new-array/jumbo {vCCCC..v(CCCC+BBBB-1)}, type@AAAAAAAA */
- ldr r3, [rSELF, #offThread_methodClassDex] @ r3<- pDvmDex
- FETCH(r0, 1) @ r0<- aaaa (lo)
- FETCH(r1, 2) @ r1<- AAAA (hi)
- ldr r3, [r3, #offDvmDex_pResClasses] @ r3<- pDvmDex->pResClasses
- orr r1, r0, r1, lsl #16 @ r1<- AAAAaaaa
- ldr r0, [r3, r1, lsl #2] @ r0<- resolved class
- EXPORT_PC() @ need for resolve and alloc
- cmp r0, #0 @ already resolved?
- bne .LOP_FILLED_NEW_ARRAY_JUMBO_continue @ yes, continue on
-8: ldr r3, [rSELF, #offThread_method] @ r3<- self->method
- mov r2, #0 @ r2<- false
- ldr r0, [r3, #offMethod_clazz] @ r0<- method->clazz
- bl dvmResolveClass @ r0<- call(clazz, ref)
- cmp r0, #0 @ got null?
- beq common_exceptionThrown @ yes, handle exception
- b .LOP_FILLED_NEW_ARRAY_JUMBO_continue
-
-/* ------------------------------ */
- .balign 64
-.L_OP_IGET_JUMBO: /* 0x106 */
-/* File: armv5te/OP_IGET_JUMBO.S */
- /*
- * Jumbo 32-bit instance field get.
- *
- * for: iget/jumbo, iget-object/jumbo, iget-boolean/jumbo, iget-byte/jumbo,
- * iget-char/jumbo, iget-short/jumbo
- */
- /* exop vBBBB, vCCCC, field@AAAAAAAA */
- FETCH(r1, 1) @ r1<- aaaa (lo)
- FETCH(r2, 2) @ r2<- AAAA (hi)
- FETCH(r0, 4) @ r0<- CCCC
- ldr r3, [rSELF, #offThread_methodClassDex] @ r3<- DvmDex
- orr r1, r1, r2, lsl #16 @ r1<- AAAAaaaa
- ldr r2, [r3, #offDvmDex_pResFields] @ r2<- pDvmDex->pResFields
- GET_VREG(r9, r0) @ r9<- fp[CCCC], the object pointer
- ldr r0, [r2, r1, lsl #2] @ r0<- resolved InstField ptr
- cmp r0, #0 @ is resolved entry null?
- bne .LOP_IGET_JUMBO_finish @ no, already resolved
-8: ldr r2, [rSELF, #offThread_method] @ r2<- current method
- EXPORT_PC() @ resolve() could throw
- ldr r0, [r2, #offMethod_clazz] @ r0<- method->clazz
- bl dvmResolveInstField @ r0<- resolved InstField ptr
- b .LOP_IGET_JUMBO_resolved @ resolved, continue
-
-/* ------------------------------ */
- .balign 64
-.L_OP_IGET_WIDE_JUMBO: /* 0x107 */
-/* File: armv5te/OP_IGET_WIDE_JUMBO.S */
- /*
- * Jumbo 64-bit instance field get.
- */
- /* iget-wide/jumbo vBBBB, vCCCC, field@AAAAAAAA */
- FETCH(r1, 1) @ r1<- aaaa (lo)
- FETCH(r2, 2) @ r2<- AAAA (hi)
- FETCH(r0, 4) @ r0<- CCCC
- ldr r3, [rSELF, #offThread_methodClassDex] @ r3<- DvmDex
- orr r1, r1, r2, lsl #16 @ r1<- AAAAaaaa
- ldr r2, [r3, #offDvmDex_pResFields] @ r2<- pResFields
- GET_VREG(r9, r0) @ r9<- fp[CCCC], the object pointer
- ldr r0, [r2, r1, lsl #2] @ r0<- resolved InstField ptr
- cmp r0, #0 @ is resolved entry null?
- bne .LOP_IGET_WIDE_JUMBO_finish @ no, already resolved
- ldr r2, [rSELF, #offThread_method] @ r2<- current method
- EXPORT_PC() @ resolve() could throw
- ldr r0, [r2, #offMethod_clazz] @ r0<- method->clazz
- bl dvmResolveInstField @ r0<- resolved InstField ptr
- b .LOP_IGET_WIDE_JUMBO_resolved @ resolved, continue
-
-/* ------------------------------ */
- .balign 64
-.L_OP_IGET_OBJECT_JUMBO: /* 0x108 */
-/* File: armv5te/OP_IGET_OBJECT_JUMBO.S */
-/* File: armv5te/OP_IGET_JUMBO.S */
- /*
- * Jumbo 32-bit instance field get.
- *
- * for: iget/jumbo, iget-object/jumbo, iget-boolean/jumbo, iget-byte/jumbo,
- * iget-char/jumbo, iget-short/jumbo
- */
- /* exop vBBBB, vCCCC, field@AAAAAAAA */
- FETCH(r1, 1) @ r1<- aaaa (lo)
- FETCH(r2, 2) @ r2<- AAAA (hi)
- FETCH(r0, 4) @ r0<- CCCC
- ldr r3, [rSELF, #offThread_methodClassDex] @ r3<- DvmDex
- orr r1, r1, r2, lsl #16 @ r1<- AAAAaaaa
- ldr r2, [r3, #offDvmDex_pResFields] @ r2<- pDvmDex->pResFields
- GET_VREG(r9, r0) @ r9<- fp[CCCC], the object pointer
- ldr r0, [r2, r1, lsl #2] @ r0<- resolved InstField ptr
- cmp r0, #0 @ is resolved entry null?
- bne .LOP_IGET_OBJECT_JUMBO_finish @ no, already resolved
-8: ldr r2, [rSELF, #offThread_method] @ r2<- current method
- EXPORT_PC() @ resolve() could throw
- ldr r0, [r2, #offMethod_clazz] @ r0<- method->clazz
- bl dvmResolveInstField @ r0<- resolved InstField ptr
- b .LOP_IGET_OBJECT_JUMBO_resolved @ resolved, continue
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_IGET_BOOLEAN_JUMBO: /* 0x109 */
-/* File: armv5te/OP_IGET_BOOLEAN_JUMBO.S */
-@include "armv5te/OP_IGET_JUMBO.S" { "load":"ldrb", "sqnum":"1" }
-/* File: armv5te/OP_IGET_JUMBO.S */
- /*
- * Jumbo 32-bit instance field get.
- *
- * for: iget/jumbo, iget-object/jumbo, iget-boolean/jumbo, iget-byte/jumbo,
- * iget-char/jumbo, iget-short/jumbo
- */
- /* exop vBBBB, vCCCC, field@AAAAAAAA */
- FETCH(r1, 1) @ r1<- aaaa (lo)
- FETCH(r2, 2) @ r2<- AAAA (hi)
- FETCH(r0, 4) @ r0<- CCCC
- ldr r3, [rSELF, #offThread_methodClassDex] @ r3<- DvmDex
- orr r1, r1, r2, lsl #16 @ r1<- AAAAaaaa
- ldr r2, [r3, #offDvmDex_pResFields] @ r2<- pDvmDex->pResFields
- GET_VREG(r9, r0) @ r9<- fp[CCCC], the object pointer
- ldr r0, [r2, r1, lsl #2] @ r0<- resolved InstField ptr
- cmp r0, #0 @ is resolved entry null?
- bne .LOP_IGET_BOOLEAN_JUMBO_finish @ no, already resolved
-8: ldr r2, [rSELF, #offThread_method] @ r2<- current method
- EXPORT_PC() @ resolve() could throw
- ldr r0, [r2, #offMethod_clazz] @ r0<- method->clazz
- bl dvmResolveInstField @ r0<- resolved InstField ptr
- b .LOP_IGET_BOOLEAN_JUMBO_resolved @ resolved, continue
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_IGET_BYTE_JUMBO: /* 0x10a */
-/* File: armv5te/OP_IGET_BYTE_JUMBO.S */
-@include "armv5te/OP_IGET_JUMBO.S" { "load":"ldrsb", "sqnum":"2" }
-/* File: armv5te/OP_IGET_JUMBO.S */
- /*
- * Jumbo 32-bit instance field get.
- *
- * for: iget/jumbo, iget-object/jumbo, iget-boolean/jumbo, iget-byte/jumbo,
- * iget-char/jumbo, iget-short/jumbo
- */
- /* exop vBBBB, vCCCC, field@AAAAAAAA */
- FETCH(r1, 1) @ r1<- aaaa (lo)
- FETCH(r2, 2) @ r2<- AAAA (hi)
- FETCH(r0, 4) @ r0<- CCCC
- ldr r3, [rSELF, #offThread_methodClassDex] @ r3<- DvmDex
- orr r1, r1, r2, lsl #16 @ r1<- AAAAaaaa
- ldr r2, [r3, #offDvmDex_pResFields] @ r2<- pDvmDex->pResFields
- GET_VREG(r9, r0) @ r9<- fp[CCCC], the object pointer
- ldr r0, [r2, r1, lsl #2] @ r0<- resolved InstField ptr
- cmp r0, #0 @ is resolved entry null?
- bne .LOP_IGET_BYTE_JUMBO_finish @ no, already resolved
-8: ldr r2, [rSELF, #offThread_method] @ r2<- current method
- EXPORT_PC() @ resolve() could throw
- ldr r0, [r2, #offMethod_clazz] @ r0<- method->clazz
- bl dvmResolveInstField @ r0<- resolved InstField ptr
- b .LOP_IGET_BYTE_JUMBO_resolved @ resolved, continue
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_IGET_CHAR_JUMBO: /* 0x10b */
-/* File: armv5te/OP_IGET_CHAR_JUMBO.S */
-@include "armv5te/OP_IGET_JUMBO.S" { "load":"ldrh", "sqnum":"3" }
-/* File: armv5te/OP_IGET_JUMBO.S */
- /*
- * Jumbo 32-bit instance field get.
- *
- * for: iget/jumbo, iget-object/jumbo, iget-boolean/jumbo, iget-byte/jumbo,
- * iget-char/jumbo, iget-short/jumbo
- */
- /* exop vBBBB, vCCCC, field@AAAAAAAA */
- FETCH(r1, 1) @ r1<- aaaa (lo)
- FETCH(r2, 2) @ r2<- AAAA (hi)
- FETCH(r0, 4) @ r0<- CCCC
- ldr r3, [rSELF, #offThread_methodClassDex] @ r3<- DvmDex
- orr r1, r1, r2, lsl #16 @ r1<- AAAAaaaa
- ldr r2, [r3, #offDvmDex_pResFields] @ r2<- pDvmDex->pResFields
- GET_VREG(r9, r0) @ r9<- fp[CCCC], the object pointer
- ldr r0, [r2, r1, lsl #2] @ r0<- resolved InstField ptr
- cmp r0, #0 @ is resolved entry null?
- bne .LOP_IGET_CHAR_JUMBO_finish @ no, already resolved
-8: ldr r2, [rSELF, #offThread_method] @ r2<- current method
- EXPORT_PC() @ resolve() could throw
- ldr r0, [r2, #offMethod_clazz] @ r0<- method->clazz
- bl dvmResolveInstField @ r0<- resolved InstField ptr
- b .LOP_IGET_CHAR_JUMBO_resolved @ resolved, continue
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_IGET_SHORT_JUMBO: /* 0x10c */
-/* File: armv5te/OP_IGET_SHORT_JUMBO.S */
-@include "armv5te/OP_IGET_JUMBO.S" { "load":"ldrsh", "sqnum":"4" }
-/* File: armv5te/OP_IGET_JUMBO.S */
- /*
- * Jumbo 32-bit instance field get.
- *
- * for: iget/jumbo, iget-object/jumbo, iget-boolean/jumbo, iget-byte/jumbo,
- * iget-char/jumbo, iget-short/jumbo
- */
- /* exop vBBBB, vCCCC, field@AAAAAAAA */
- FETCH(r1, 1) @ r1<- aaaa (lo)
- FETCH(r2, 2) @ r2<- AAAA (hi)
- FETCH(r0, 4) @ r0<- CCCC
- ldr r3, [rSELF, #offThread_methodClassDex] @ r3<- DvmDex
- orr r1, r1, r2, lsl #16 @ r1<- AAAAaaaa
- ldr r2, [r3, #offDvmDex_pResFields] @ r2<- pDvmDex->pResFields
- GET_VREG(r9, r0) @ r9<- fp[CCCC], the object pointer
- ldr r0, [r2, r1, lsl #2] @ r0<- resolved InstField ptr
- cmp r0, #0 @ is resolved entry null?
- bne .LOP_IGET_SHORT_JUMBO_finish @ no, already resolved
-8: ldr r2, [rSELF, #offThread_method] @ r2<- current method
- EXPORT_PC() @ resolve() could throw
- ldr r0, [r2, #offMethod_clazz] @ r0<- method->clazz
- bl dvmResolveInstField @ r0<- resolved InstField ptr
- b .LOP_IGET_SHORT_JUMBO_resolved @ resolved, continue
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_IPUT_JUMBO: /* 0x10d */
-/* File: armv5te/OP_IPUT_JUMBO.S */
- /*
- * Jumbo 32-bit instance field put.
- *
- * for: iput/jumbo, iput-boolean/jumbo, iput-byte/jumbo, iput-char/jumbo,
- * iput-short/jumbo
- */
- /* exop vBBBB, vCCCC, field@AAAAAAAA */
- FETCH(r1, 1) @ r1<- aaaa (lo)
- FETCH(r2, 2) @ r2<- AAAA (hi)
- FETCH(r0, 4) @ r0<- CCCC
- ldr r3, [rSELF, #offThread_methodClassDex] @ r3<- DvmDex
- orr r1, r1, r2, lsl #16 @ r1<- AAAAaaaa
- ldr r2, [r3, #offDvmDex_pResFields] @ r2<- pDvmDex->pResFields
- GET_VREG(r9, r0) @ r9<- fp[CCCC], the object pointer
- ldr r0, [r2, r1, lsl #2] @ r0<- resolved InstField ptr
- cmp r0, #0 @ is resolved entry null?
- bne .LOP_IPUT_JUMBO_finish @ no, already resolved
-8: ldr r2, [rSELF, #offThread_method] @ r2<- current method
- EXPORT_PC() @ resolve() could throw
- ldr r0, [r2, #offMethod_clazz] @ r0<- method->clazz
- bl dvmResolveInstField @ r0<- resolved InstField ptr
- b .LOP_IPUT_JUMBO_resolved @ resolved, continue
-
-/* ------------------------------ */
- .balign 64
-.L_OP_IPUT_WIDE_JUMBO: /* 0x10e */
-/* File: armv5te/OP_IPUT_WIDE_JUMBO.S */
- /* iput-wide/jumbo vBBBB, vCCCC, field@AAAAAAAA */
- FETCH(r1, 1) @ r1<- aaaa (lo)
- FETCH(r2, 2) @ r2<- AAAA (hi)
- FETCH(r0, 4) @ r0<- CCCC
- ldr r3, [rSELF, #offThread_methodClassDex] @ r3<- DvmDex
- orr r1, r1, r2, lsl #16 @ r1<- AAAAaaaa
- ldr r2, [r3, #offDvmDex_pResFields] @ r2<- pResFields
- GET_VREG(r9, r0) @ r9<- fp[B], the object pointer
- ldr r0, [r2, r1, lsl #2] @ r0<- resolved InstField ptr
- cmp r0, #0 @ is resolved entry null?
- bne .LOP_IPUT_WIDE_JUMBO_finish @ no, already resolved
-8: ldr r2, [rSELF, #offThread_method] @ r2<- current method
- EXPORT_PC() @ resolve() could throw
- ldr r0, [r2, #offMethod_clazz] @ r0<- method->clazz
- bl dvmResolveInstField @ r0<- resolved InstField ptr
- b .LOP_IPUT_WIDE_JUMBO_resolved @ resolved, continue
-
-/* ------------------------------ */
- .balign 64
-.L_OP_IPUT_OBJECT_JUMBO: /* 0x10f */
-/* File: armv5te/OP_IPUT_OBJECT_JUMBO.S */
- /*
- * Jumbo 32-bit instance field put.
- */
- /* iput-object/jumbo vBBBB, vCCCC, field@AAAAAAAA */
- FETCH(r1, 1) @ r1<- aaaa (lo)
- FETCH(r2, 2) @ r2<- AAAA (hi)
- FETCH(r0, 4) @ r0<- CCCC
- ldr r3, [rSELF, #offThread_methodClassDex] @ r3<- DvmDex
- orr r1, r1, r2, lsl #16 @ r1<- AAAAaaaa
- ldr r2, [r3, #offDvmDex_pResFields] @ r2<- pDvmDex->pResFields
- GET_VREG(r9, r0) @ r9<- fp[CCCC], the object pointer
- ldr r0, [r2, r1, lsl #2] @ r0<- resolved InstField ptr
- cmp r0, #0 @ is resolved entry null?
- bne .LOP_IPUT_OBJECT_JUMBO_finish @ no, already resolved
-8: ldr r2, [rSELF, #offThread_method] @ r2<- current method
- EXPORT_PC() @ resolve() could throw
- ldr r0, [r2, #offMethod_clazz] @ r0<- method->clazz
- bl dvmResolveInstField @ r0<- resolved InstField ptr
- b .LOP_IPUT_OBJECT_JUMBO_resolved @ resolved, continue
-
-/* ------------------------------ */
- .balign 64
-.L_OP_IPUT_BOOLEAN_JUMBO: /* 0x110 */
-/* File: armv5te/OP_IPUT_BOOLEAN_JUMBO.S */
-@include "armv5te/OP_IPUT_JUMBO.S" { "store":"strb", "sqnum":"1" }
-/* File: armv5te/OP_IPUT_JUMBO.S */
- /*
- * Jumbo 32-bit instance field put.
- *
- * for: iput/jumbo, iput-boolean/jumbo, iput-byte/jumbo, iput-char/jumbo,
- * iput-short/jumbo
- */
- /* exop vBBBB, vCCCC, field@AAAAAAAA */
- FETCH(r1, 1) @ r1<- aaaa (lo)
- FETCH(r2, 2) @ r2<- AAAA (hi)
- FETCH(r0, 4) @ r0<- CCCC
- ldr r3, [rSELF, #offThread_methodClassDex] @ r3<- DvmDex
- orr r1, r1, r2, lsl #16 @ r1<- AAAAaaaa
- ldr r2, [r3, #offDvmDex_pResFields] @ r2<- pDvmDex->pResFields
- GET_VREG(r9, r0) @ r9<- fp[CCCC], the object pointer
- ldr r0, [r2, r1, lsl #2] @ r0<- resolved InstField ptr
- cmp r0, #0 @ is resolved entry null?
- bne .LOP_IPUT_BOOLEAN_JUMBO_finish @ no, already resolved
-8: ldr r2, [rSELF, #offThread_method] @ r2<- current method
- EXPORT_PC() @ resolve() could throw
- ldr r0, [r2, #offMethod_clazz] @ r0<- method->clazz
- bl dvmResolveInstField @ r0<- resolved InstField ptr
- b .LOP_IPUT_BOOLEAN_JUMBO_resolved @ resolved, continue
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_IPUT_BYTE_JUMBO: /* 0x111 */
-/* File: armv5te/OP_IPUT_BYTE_JUMBO.S */
-@include "armv5te/OP_IPUT_JUMBO.S" { "store":"strb", "sqnum":"2" }
-/* File: armv5te/OP_IPUT_JUMBO.S */
- /*
- * Jumbo 32-bit instance field put.
- *
- * for: iput/jumbo, iput-boolean/jumbo, iput-byte/jumbo, iput-char/jumbo,
- * iput-short/jumbo
- */
- /* exop vBBBB, vCCCC, field@AAAAAAAA */
- FETCH(r1, 1) @ r1<- aaaa (lo)
- FETCH(r2, 2) @ r2<- AAAA (hi)
- FETCH(r0, 4) @ r0<- CCCC
- ldr r3, [rSELF, #offThread_methodClassDex] @ r3<- DvmDex
- orr r1, r1, r2, lsl #16 @ r1<- AAAAaaaa
- ldr r2, [r3, #offDvmDex_pResFields] @ r2<- pDvmDex->pResFields
- GET_VREG(r9, r0) @ r9<- fp[CCCC], the object pointer
- ldr r0, [r2, r1, lsl #2] @ r0<- resolved InstField ptr
- cmp r0, #0 @ is resolved entry null?
- bne .LOP_IPUT_BYTE_JUMBO_finish @ no, already resolved
-8: ldr r2, [rSELF, #offThread_method] @ r2<- current method
- EXPORT_PC() @ resolve() could throw
- ldr r0, [r2, #offMethod_clazz] @ r0<- method->clazz
- bl dvmResolveInstField @ r0<- resolved InstField ptr
- b .LOP_IPUT_BYTE_JUMBO_resolved @ resolved, continue
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_IPUT_CHAR_JUMBO: /* 0x112 */
-/* File: armv5te/OP_IPUT_CHAR_JUMBO.S */
-@include "armv5te/OP_IPUT_JUMBO.S" { "store":"strh", "sqnum":"3" }
-/* File: armv5te/OP_IPUT_JUMBO.S */
- /*
- * Jumbo 32-bit instance field put.
- *
- * for: iput/jumbo, iput-boolean/jumbo, iput-byte/jumbo, iput-char/jumbo,
- * iput-short/jumbo
- */
- /* exop vBBBB, vCCCC, field@AAAAAAAA */
- FETCH(r1, 1) @ r1<- aaaa (lo)
- FETCH(r2, 2) @ r2<- AAAA (hi)
- FETCH(r0, 4) @ r0<- CCCC
- ldr r3, [rSELF, #offThread_methodClassDex] @ r3<- DvmDex
- orr r1, r1, r2, lsl #16 @ r1<- AAAAaaaa
- ldr r2, [r3, #offDvmDex_pResFields] @ r2<- pDvmDex->pResFields
- GET_VREG(r9, r0) @ r9<- fp[CCCC], the object pointer
- ldr r0, [r2, r1, lsl #2] @ r0<- resolved InstField ptr
- cmp r0, #0 @ is resolved entry null?
- bne .LOP_IPUT_CHAR_JUMBO_finish @ no, already resolved
-8: ldr r2, [rSELF, #offThread_method] @ r2<- current method
- EXPORT_PC() @ resolve() could throw
- ldr r0, [r2, #offMethod_clazz] @ r0<- method->clazz
- bl dvmResolveInstField @ r0<- resolved InstField ptr
- b .LOP_IPUT_CHAR_JUMBO_resolved @ resolved, continue
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_IPUT_SHORT_JUMBO: /* 0x113 */
-/* File: armv5te/OP_IPUT_SHORT_JUMBO.S */
-@include "armv5te/OP_IPUT_JUMBO.S" { "store":"strh", "sqnum":"4" }
-/* File: armv5te/OP_IPUT_JUMBO.S */
- /*
- * Jumbo 32-bit instance field put.
- *
- * for: iput/jumbo, iput-boolean/jumbo, iput-byte/jumbo, iput-char/jumbo,
- * iput-short/jumbo
- */
- /* exop vBBBB, vCCCC, field@AAAAAAAA */
- FETCH(r1, 1) @ r1<- aaaa (lo)
- FETCH(r2, 2) @ r2<- AAAA (hi)
- FETCH(r0, 4) @ r0<- CCCC
- ldr r3, [rSELF, #offThread_methodClassDex] @ r3<- DvmDex
- orr r1, r1, r2, lsl #16 @ r1<- AAAAaaaa
- ldr r2, [r3, #offDvmDex_pResFields] @ r2<- pDvmDex->pResFields
- GET_VREG(r9, r0) @ r9<- fp[CCCC], the object pointer
- ldr r0, [r2, r1, lsl #2] @ r0<- resolved InstField ptr
- cmp r0, #0 @ is resolved entry null?
- bne .LOP_IPUT_SHORT_JUMBO_finish @ no, already resolved
-8: ldr r2, [rSELF, #offThread_method] @ r2<- current method
- EXPORT_PC() @ resolve() could throw
- ldr r0, [r2, #offMethod_clazz] @ r0<- method->clazz
- bl dvmResolveInstField @ r0<- resolved InstField ptr
- b .LOP_IPUT_SHORT_JUMBO_resolved @ resolved, continue
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_SGET_JUMBO: /* 0x114 */
-/* File: armv5te/OP_SGET_JUMBO.S */
- /*
- * Jumbo 32-bit SGET handler.
- *
- * for: sget/jumbo, sget-object/jumbo, sget-boolean/jumbo, sget-byte/jumbo,
- * sget-char/jumbo, sget-short/jumbo
- */
- /* exop vBBBB, field@AAAAAAAA */
- ldr r2, [rSELF, #offThread_methodClassDex] @ r2<- DvmDex
- FETCH(r0, 1) @ r0<- aaaa (lo)
- FETCH(r1, 2) @ r1<- AAAA (hi)
- ldr r10, [r2, #offDvmDex_pResFields] @ r10<- dvmDex->pResFields
- orr r1, r0, r1, lsl #16 @ r1<- AAAAaaaa
- ldr r0, [r10, r1, lsl #2] @ r0<- resolved StaticField ptr
- cmp r0, #0 @ is resolved entry null?
- beq .LOP_SGET_JUMBO_resolve @ yes, do resolve
-.LOP_SGET_JUMBO_finish: @ field ptr in r0
- ldr r1, [r0, #offStaticField_value] @ r1<- field value
- @ no-op @ acquiring load
- FETCH(r2, 3) @ r2<- BBBB
- FETCH_ADVANCE_INST(4) @ advance rPC, load rINST
- SET_VREG(r1, r2) @ fp[BBBB]<- r1
- GET_INST_OPCODE(ip) @ extract opcode from rINST
- GOTO_OPCODE(ip) @ jump to next instruction
-
-/* ------------------------------ */
- .balign 64
-.L_OP_SGET_WIDE_JUMBO: /* 0x115 */
-/* File: armv5te/OP_SGET_WIDE_JUMBO.S */
- /*
- * Jumbo 64-bit SGET handler.
- */
- /* sget-wide/jumbo vBBBB, field@AAAAAAAA */
- ldr r2, [rSELF, #offThread_methodClassDex] @ r2<- DvmDex
- FETCH(r0, 1) @ r0<- aaaa (lo)
- FETCH(r1, 2) @ r1<- AAAA (hi)
- ldr r2, [r2, #offDvmDex_pResFields] @ r2<- dvmDex->pResFields
- orr r1, r0, r1, lsl #16 @ r1<- AAAAaaaa
- ldr r0, [r2, r1, lsl #2] @ r0<- resolved StaticField ptr
- cmp r0, #0 @ is resolved entry null?
- beq .LOP_SGET_WIDE_JUMBO_resolve @ yes, do resolve
-.LOP_SGET_WIDE_JUMBO_finish:
- FETCH(r9, 3) @ r9<- BBBB
- .if 0
- add r0, r0, #offStaticField_value @ r0<- pointer to data
- bl dvmQuasiAtomicRead64 @ r0/r1<- contents of field
- .else
- ldrd r0, [r0, #offStaticField_value] @ r0/r1<- field value (aligned)
- .endif
- add r9, rFP, r9, lsl #2 @ r9<- &fp[BBBB]
- FETCH_ADVANCE_INST(4) @ advance rPC, load rINST
- stmia r9, {r0-r1} @ vBBBB/vBBBB+1<- r0/r1
- GET_INST_OPCODE(ip) @ extract opcode from rINST
- GOTO_OPCODE(ip) @ jump to next instruction
-
-/* ------------------------------ */
- .balign 64
-.L_OP_SGET_OBJECT_JUMBO: /* 0x116 */
-/* File: armv5te/OP_SGET_OBJECT_JUMBO.S */
-/* File: armv5te/OP_SGET_JUMBO.S */
- /*
- * Jumbo 32-bit SGET handler.
- *
- * for: sget/jumbo, sget-object/jumbo, sget-boolean/jumbo, sget-byte/jumbo,
- * sget-char/jumbo, sget-short/jumbo
- */
- /* exop vBBBB, field@AAAAAAAA */
- ldr r2, [rSELF, #offThread_methodClassDex] @ r2<- DvmDex
- FETCH(r0, 1) @ r0<- aaaa (lo)
- FETCH(r1, 2) @ r1<- AAAA (hi)
- ldr r10, [r2, #offDvmDex_pResFields] @ r10<- dvmDex->pResFields
- orr r1, r0, r1, lsl #16 @ r1<- AAAAaaaa
- ldr r0, [r10, r1, lsl #2] @ r0<- resolved StaticField ptr
- cmp r0, #0 @ is resolved entry null?
- beq .LOP_SGET_OBJECT_JUMBO_resolve @ yes, do resolve
-.LOP_SGET_OBJECT_JUMBO_finish: @ field ptr in r0
- ldr r1, [r0, #offStaticField_value] @ r1<- field value
- @ no-op @ acquiring load
- FETCH(r2, 3) @ r2<- BBBB
- FETCH_ADVANCE_INST(4) @ advance rPC, load rINST
- SET_VREG(r1, r2) @ fp[BBBB]<- r1
- GET_INST_OPCODE(ip) @ extract opcode from rINST
- GOTO_OPCODE(ip) @ jump to next instruction
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_SGET_BOOLEAN_JUMBO: /* 0x117 */
-/* File: armv5te/OP_SGET_BOOLEAN_JUMBO.S */
-/* File: armv5te/OP_SGET_JUMBO.S */
- /*
- * Jumbo 32-bit SGET handler.
- *
- * for: sget/jumbo, sget-object/jumbo, sget-boolean/jumbo, sget-byte/jumbo,
- * sget-char/jumbo, sget-short/jumbo
- */
- /* exop vBBBB, field@AAAAAAAA */
- ldr r2, [rSELF, #offThread_methodClassDex] @ r2<- DvmDex
- FETCH(r0, 1) @ r0<- aaaa (lo)
- FETCH(r1, 2) @ r1<- AAAA (hi)
- ldr r10, [r2, #offDvmDex_pResFields] @ r10<- dvmDex->pResFields
- orr r1, r0, r1, lsl #16 @ r1<- AAAAaaaa
- ldr r0, [r10, r1, lsl #2] @ r0<- resolved StaticField ptr
- cmp r0, #0 @ is resolved entry null?
- beq .LOP_SGET_BOOLEAN_JUMBO_resolve @ yes, do resolve
-.LOP_SGET_BOOLEAN_JUMBO_finish: @ field ptr in r0
- ldr r1, [r0, #offStaticField_value] @ r1<- field value
- @ no-op @ acquiring load
- FETCH(r2, 3) @ r2<- BBBB
- FETCH_ADVANCE_INST(4) @ advance rPC, load rINST
- SET_VREG(r1, r2) @ fp[BBBB]<- r1
- GET_INST_OPCODE(ip) @ extract opcode from rINST
- GOTO_OPCODE(ip) @ jump to next instruction
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_SGET_BYTE_JUMBO: /* 0x118 */
-/* File: armv5te/OP_SGET_BYTE_JUMBO.S */
-/* File: armv5te/OP_SGET_JUMBO.S */
- /*
- * Jumbo 32-bit SGET handler.
- *
- * for: sget/jumbo, sget-object/jumbo, sget-boolean/jumbo, sget-byte/jumbo,
- * sget-char/jumbo, sget-short/jumbo
- */
- /* exop vBBBB, field@AAAAAAAA */
- ldr r2, [rSELF, #offThread_methodClassDex] @ r2<- DvmDex
- FETCH(r0, 1) @ r0<- aaaa (lo)
- FETCH(r1, 2) @ r1<- AAAA (hi)
- ldr r10, [r2, #offDvmDex_pResFields] @ r10<- dvmDex->pResFields
- orr r1, r0, r1, lsl #16 @ r1<- AAAAaaaa
- ldr r0, [r10, r1, lsl #2] @ r0<- resolved StaticField ptr
- cmp r0, #0 @ is resolved entry null?
- beq .LOP_SGET_BYTE_JUMBO_resolve @ yes, do resolve
-.LOP_SGET_BYTE_JUMBO_finish: @ field ptr in r0
- ldr r1, [r0, #offStaticField_value] @ r1<- field value
- @ no-op @ acquiring load
- FETCH(r2, 3) @ r2<- BBBB
- FETCH_ADVANCE_INST(4) @ advance rPC, load rINST
- SET_VREG(r1, r2) @ fp[BBBB]<- r1
- GET_INST_OPCODE(ip) @ extract opcode from rINST
- GOTO_OPCODE(ip) @ jump to next instruction
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_SGET_CHAR_JUMBO: /* 0x119 */
-/* File: armv5te/OP_SGET_CHAR_JUMBO.S */
-/* File: armv5te/OP_SGET_JUMBO.S */
- /*
- * Jumbo 32-bit SGET handler.
- *
- * for: sget/jumbo, sget-object/jumbo, sget-boolean/jumbo, sget-byte/jumbo,
- * sget-char/jumbo, sget-short/jumbo
- */
- /* exop vBBBB, field@AAAAAAAA */
- ldr r2, [rSELF, #offThread_methodClassDex] @ r2<- DvmDex
- FETCH(r0, 1) @ r0<- aaaa (lo)
- FETCH(r1, 2) @ r1<- AAAA (hi)
- ldr r10, [r2, #offDvmDex_pResFields] @ r10<- dvmDex->pResFields
- orr r1, r0, r1, lsl #16 @ r1<- AAAAaaaa
- ldr r0, [r10, r1, lsl #2] @ r0<- resolved StaticField ptr
- cmp r0, #0 @ is resolved entry null?
- beq .LOP_SGET_CHAR_JUMBO_resolve @ yes, do resolve
-.LOP_SGET_CHAR_JUMBO_finish: @ field ptr in r0
- ldr r1, [r0, #offStaticField_value] @ r1<- field value
- @ no-op @ acquiring load
- FETCH(r2, 3) @ r2<- BBBB
- FETCH_ADVANCE_INST(4) @ advance rPC, load rINST
- SET_VREG(r1, r2) @ fp[BBBB]<- r1
- GET_INST_OPCODE(ip) @ extract opcode from rINST
- GOTO_OPCODE(ip) @ jump to next instruction
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_SGET_SHORT_JUMBO: /* 0x11a */
-/* File: armv5te/OP_SGET_SHORT_JUMBO.S */
-/* File: armv5te/OP_SGET_JUMBO.S */
- /*
- * Jumbo 32-bit SGET handler.
- *
- * for: sget/jumbo, sget-object/jumbo, sget-boolean/jumbo, sget-byte/jumbo,
- * sget-char/jumbo, sget-short/jumbo
- */
- /* exop vBBBB, field@AAAAAAAA */
- ldr r2, [rSELF, #offThread_methodClassDex] @ r2<- DvmDex
- FETCH(r0, 1) @ r0<- aaaa (lo)
- FETCH(r1, 2) @ r1<- AAAA (hi)
- ldr r10, [r2, #offDvmDex_pResFields] @ r10<- dvmDex->pResFields
- orr r1, r0, r1, lsl #16 @ r1<- AAAAaaaa
- ldr r0, [r10, r1, lsl #2] @ r0<- resolved StaticField ptr
- cmp r0, #0 @ is resolved entry null?
- beq .LOP_SGET_SHORT_JUMBO_resolve @ yes, do resolve
-.LOP_SGET_SHORT_JUMBO_finish: @ field ptr in r0
- ldr r1, [r0, #offStaticField_value] @ r1<- field value
- @ no-op @ acquiring load
- FETCH(r2, 3) @ r2<- BBBB
- FETCH_ADVANCE_INST(4) @ advance rPC, load rINST
- SET_VREG(r1, r2) @ fp[BBBB]<- r1
- GET_INST_OPCODE(ip) @ extract opcode from rINST
- GOTO_OPCODE(ip) @ jump to next instruction
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_SPUT_JUMBO: /* 0x11b */
-/* File: armv5te/OP_SPUT_JUMBO.S */
- /*
- * Jumbo 32-bit SPUT handler.
- *
- * for: sput/jumbo, sput-boolean/jumbo, sput-byte/jumbo, sput-char/jumbo,
- * sput-short/jumbo
- */
- /* exop vBBBB, field@AAAAAAAA */
- ldr r2, [rSELF, #offThread_methodClassDex] @ r2<- DvmDex
- FETCH(r0, 1) @ r0<- aaaa (lo)
- FETCH(r1, 2) @ r1<- AAAA (hi)
- ldr r10, [r2, #offDvmDex_pResFields] @ r10<- dvmDex->pResFields
- orr r1, r0, r1, lsl #16 @ r1<- AAAAaaaa
- ldr r0, [r10, r1, lsl #2] @ r0<- resolved StaticField ptr
- cmp r0, #0 @ is resolved entry null?
- beq .LOP_SPUT_JUMBO_resolve @ yes, do resolve
-.LOP_SPUT_JUMBO_finish: @ field ptr in r0
- FETCH(r2, 3) @ r2<- BBBB
- FETCH_ADVANCE_INST(4) @ advance rPC, load rINST
- GET_VREG(r1, r2) @ r1<- fp[BBBB]
- GET_INST_OPCODE(ip) @ extract opcode from rINST
- @ no-op @ releasing store
- str r1, [r0, #offStaticField_value] @ field<- vBBBB
- @ no-op
- GOTO_OPCODE(ip) @ jump to next instruction
-
-/* ------------------------------ */
- .balign 64
-.L_OP_SPUT_WIDE_JUMBO: /* 0x11c */
-/* File: armv5te/OP_SPUT_WIDE_JUMBO.S */
- /*
- * Jumbo 64-bit SPUT handler.
- */
- /* sput-wide/jumbo vBBBB, field@AAAAAAAA */
- ldr r0, [rSELF, #offThread_methodClassDex] @ r0<- DvmDex
- FETCH(r1, 1) @ r1<- aaaa (lo)
- FETCH(r2, 2) @ r2<- AAAA (hi)
- ldr r10, [r0, #offDvmDex_pResFields] @ r10<- dvmDex->pResFields
- orr r1, r1, r2, lsl #16 @ r1<- AAAAaaaa
- FETCH(r9, 3) @ r9<- BBBB
- ldr r2, [r10, r1, lsl #2] @ r2<- resolved StaticField ptr
- add r9, rFP, r9, lsl #2 @ r9<- &fp[BBBB]
- cmp r2, #0 @ is resolved entry null?
- beq .LOP_SPUT_WIDE_JUMBO_resolve @ yes, do resolve
-.LOP_SPUT_WIDE_JUMBO_finish: @ field ptr in r2, BBBB in r9
- FETCH_ADVANCE_INST(4) @ advance rPC, load rINST
- ldmia r9, {r0-r1} @ r0/r1<- vBBBB/vBBBB+1
- GET_INST_OPCODE(r10) @ extract opcode from rINST
- .if 0
- add r2, r2, #offStaticField_value @ r2<- pointer to data
- bl dvmQuasiAtomicSwap64Sync @ stores r0/r1 into addr r2
- .else
- strd r0, [r2, #offStaticField_value] @ field<- vBBBB/vBBBB+1
- .endif
- GOTO_OPCODE(r10) @ jump to next instruction
-
-/* ------------------------------ */
- .balign 64
-.L_OP_SPUT_OBJECT_JUMBO: /* 0x11d */
-/* File: armv5te/OP_SPUT_OBJECT_JUMBO.S */
- /*
- * Jumbo 32-bit SPUT handler for objects
- */
- /* sput-object/jumbo vBBBB, field@AAAAAAAA */
- ldr r2, [rSELF, #offThread_methodClassDex] @ r2<- DvmDex
- FETCH(r0, 1) @ r0<- aaaa (lo)
- FETCH(r1, 2) @ r1<- AAAA (hi)
- ldr r10, [r2, #offDvmDex_pResFields] @ r10<- dvmDex->pResFields
- orr r1, r0, r1, lsl #16 @ r1<- AAAAaaaa
- ldr r0, [r10, r1, lsl #2] @ r0<- resolved StaticField ptr
- cmp r0, #0 @ is resolved entry null?
- beq .LOP_SPUT_OBJECT_JUMBO_resolve @ yes, do resolve
-.LOP_SPUT_OBJECT_JUMBO_finish: @ field ptr in r0
- FETCH(r2, 3) @ r2<- BBBB
- FETCH_ADVANCE_INST(4) @ advance rPC, load rINST
- GET_VREG(r1, r2) @ r1<- fp[BBBB]
- ldr r2, [rSELF, #offThread_cardTable] @ r2<- card table base
- ldr r9, [r0, #offField_clazz] @ r9<- field->clazz
- GET_INST_OPCODE(ip) @ extract opcode from rINST
- @ no-op @ releasing store
- b .LOP_SPUT_OBJECT_JUMBO_end
-
-/* ------------------------------ */
- .balign 64
-.L_OP_SPUT_BOOLEAN_JUMBO: /* 0x11e */
-/* File: armv5te/OP_SPUT_BOOLEAN_JUMBO.S */
-/* File: armv5te/OP_SPUT_JUMBO.S */
- /*
- * Jumbo 32-bit SPUT handler.
- *
- * for: sput/jumbo, sput-boolean/jumbo, sput-byte/jumbo, sput-char/jumbo,
- * sput-short/jumbo
- */
- /* exop vBBBB, field@AAAAAAAA */
- ldr r2, [rSELF, #offThread_methodClassDex] @ r2<- DvmDex
- FETCH(r0, 1) @ r0<- aaaa (lo)
- FETCH(r1, 2) @ r1<- AAAA (hi)
- ldr r10, [r2, #offDvmDex_pResFields] @ r10<- dvmDex->pResFields
- orr r1, r0, r1, lsl #16 @ r1<- AAAAaaaa
- ldr r0, [r10, r1, lsl #2] @ r0<- resolved StaticField ptr
- cmp r0, #0 @ is resolved entry null?
- beq .LOP_SPUT_BOOLEAN_JUMBO_resolve @ yes, do resolve
-.LOP_SPUT_BOOLEAN_JUMBO_finish: @ field ptr in r0
- FETCH(r2, 3) @ r2<- BBBB
- FETCH_ADVANCE_INST(4) @ advance rPC, load rINST
- GET_VREG(r1, r2) @ r1<- fp[BBBB]
- GET_INST_OPCODE(ip) @ extract opcode from rINST
- @ no-op @ releasing store
- str r1, [r0, #offStaticField_value] @ field<- vBBBB
- @ no-op
- GOTO_OPCODE(ip) @ jump to next instruction
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_SPUT_BYTE_JUMBO: /* 0x11f */
-/* File: armv5te/OP_SPUT_BYTE_JUMBO.S */
-/* File: armv5te/OP_SPUT_JUMBO.S */
- /*
- * Jumbo 32-bit SPUT handler.
- *
- * for: sput/jumbo, sput-boolean/jumbo, sput-byte/jumbo, sput-char/jumbo,
- * sput-short/jumbo
- */
- /* exop vBBBB, field@AAAAAAAA */
- ldr r2, [rSELF, #offThread_methodClassDex] @ r2<- DvmDex
- FETCH(r0, 1) @ r0<- aaaa (lo)
- FETCH(r1, 2) @ r1<- AAAA (hi)
- ldr r10, [r2, #offDvmDex_pResFields] @ r10<- dvmDex->pResFields
- orr r1, r0, r1, lsl #16 @ r1<- AAAAaaaa
- ldr r0, [r10, r1, lsl #2] @ r0<- resolved StaticField ptr
- cmp r0, #0 @ is resolved entry null?
- beq .LOP_SPUT_BYTE_JUMBO_resolve @ yes, do resolve
-.LOP_SPUT_BYTE_JUMBO_finish: @ field ptr in r0
- FETCH(r2, 3) @ r2<- BBBB
- FETCH_ADVANCE_INST(4) @ advance rPC, load rINST
- GET_VREG(r1, r2) @ r1<- fp[BBBB]
- GET_INST_OPCODE(ip) @ extract opcode from rINST
- @ no-op @ releasing store
- str r1, [r0, #offStaticField_value] @ field<- vBBBB
- @ no-op
- GOTO_OPCODE(ip) @ jump to next instruction
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_SPUT_CHAR_JUMBO: /* 0x120 */
-/* File: armv5te/OP_SPUT_CHAR_JUMBO.S */
-/* File: armv5te/OP_SPUT_JUMBO.S */
- /*
- * Jumbo 32-bit SPUT handler.
- *
- * for: sput/jumbo, sput-boolean/jumbo, sput-byte/jumbo, sput-char/jumbo,
- * sput-short/jumbo
- */
- /* exop vBBBB, field@AAAAAAAA */
- ldr r2, [rSELF, #offThread_methodClassDex] @ r2<- DvmDex
- FETCH(r0, 1) @ r0<- aaaa (lo)
- FETCH(r1, 2) @ r1<- AAAA (hi)
- ldr r10, [r2, #offDvmDex_pResFields] @ r10<- dvmDex->pResFields
- orr r1, r0, r1, lsl #16 @ r1<- AAAAaaaa
- ldr r0, [r10, r1, lsl #2] @ r0<- resolved StaticField ptr
- cmp r0, #0 @ is resolved entry null?
- beq .LOP_SPUT_CHAR_JUMBO_resolve @ yes, do resolve
-.LOP_SPUT_CHAR_JUMBO_finish: @ field ptr in r0
- FETCH(r2, 3) @ r2<- BBBB
- FETCH_ADVANCE_INST(4) @ advance rPC, load rINST
- GET_VREG(r1, r2) @ r1<- fp[BBBB]
- GET_INST_OPCODE(ip) @ extract opcode from rINST
- @ no-op @ releasing store
- str r1, [r0, #offStaticField_value] @ field<- vBBBB
- @ no-op
- GOTO_OPCODE(ip) @ jump to next instruction
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_SPUT_SHORT_JUMBO: /* 0x121 */
-/* File: armv5te/OP_SPUT_SHORT_JUMBO.S */
-/* File: armv5te/OP_SPUT_JUMBO.S */
- /*
- * Jumbo 32-bit SPUT handler.
- *
- * for: sput/jumbo, sput-boolean/jumbo, sput-byte/jumbo, sput-char/jumbo,
- * sput-short/jumbo
- */
- /* exop vBBBB, field@AAAAAAAA */
- ldr r2, [rSELF, #offThread_methodClassDex] @ r2<- DvmDex
- FETCH(r0, 1) @ r0<- aaaa (lo)
- FETCH(r1, 2) @ r1<- AAAA (hi)
- ldr r10, [r2, #offDvmDex_pResFields] @ r10<- dvmDex->pResFields
- orr r1, r0, r1, lsl #16 @ r1<- AAAAaaaa
- ldr r0, [r10, r1, lsl #2] @ r0<- resolved StaticField ptr
- cmp r0, #0 @ is resolved entry null?
- beq .LOP_SPUT_SHORT_JUMBO_resolve @ yes, do resolve
-.LOP_SPUT_SHORT_JUMBO_finish: @ field ptr in r0
- FETCH(r2, 3) @ r2<- BBBB
- FETCH_ADVANCE_INST(4) @ advance rPC, load rINST
- GET_VREG(r1, r2) @ r1<- fp[BBBB]
- GET_INST_OPCODE(ip) @ extract opcode from rINST
- @ no-op @ releasing store
- str r1, [r0, #offStaticField_value] @ field<- vBBBB
- @ no-op
- GOTO_OPCODE(ip) @ jump to next instruction
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_INVOKE_VIRTUAL_JUMBO: /* 0x122 */
-/* File: armv5te/OP_INVOKE_VIRTUAL_JUMBO.S */
- /*
- * Handle a virtual method call.
- */
- /* invoke-virtual/jumbo {vCCCC..v(CCCC+BBBB-1)}, meth@AAAAAAAA */
- ldr r3, [rSELF, #offThread_methodClassDex] @ r3<- pDvmDex
- FETCH(r0, 1) @ r1<- aaaa (lo)
- FETCH(r1, 2) @ r1<- AAAA (hi)
- ldr r3, [r3, #offDvmDex_pResMethods] @ r3<- pDvmDex->pResMethods
- orr r1, r0, r1, lsl #16 @ r1<- AAAAaaaa
- ldr r0, [r3, r1, lsl #2] @ r0<- resolved baseMethod
- cmp r0, #0 @ already resolved?
- EXPORT_PC() @ must export for invoke
- bne .LOP_INVOKE_VIRTUAL_JUMBO_continue @ yes, continue on
- ldr r3, [rSELF, #offThread_method] @ r3<- self->method
- ldr r0, [r3, #offMethod_clazz] @ r0<- method->clazz
- mov r2, #METHOD_VIRTUAL @ resolver method type
- bl dvmResolveMethod @ r0<- call(clazz, ref, flags)
- cmp r0, #0 @ got null?
- bne .LOP_INVOKE_VIRTUAL_JUMBO_continue @ no, continue
- b common_exceptionThrown @ yes, handle exception
-
-/* ------------------------------ */
- .balign 64
-.L_OP_INVOKE_SUPER_JUMBO: /* 0x123 */
-/* File: armv5te/OP_INVOKE_SUPER_JUMBO.S */
- /*
- * Handle a "super" method call.
- */
- /* invoke-super/jumbo {vCCCC..v(CCCC+BBBB-1)}, meth@AAAAAAAA */
- FETCH(r10, 4) @ r10<- CCCC
- ldr r3, [rSELF, #offThread_methodClassDex] @ r3<- pDvmDex
- FETCH(r0, 1) @ r1<- aaaa (lo)
- FETCH(r1, 2) @ r1<- AAAA (hi)
- ldr r3, [r3, #offDvmDex_pResMethods] @ r3<- pDvmDex->pResMethods
- orr r1, r0, r1, lsl #16 @ r1<- AAAAaaaa
- GET_VREG(r9, r10) @ r9<- "this" ptr
- ldr r0, [r3, r1, lsl #2] @ r0<- resolved baseMethod
- cmp r9, #0 @ null "this"?
- ldr r10, [rSELF, #offThread_method] @ r10<- current method
- beq common_errNullObject @ null "this", throw exception
- cmp r0, #0 @ already resolved?
- ldr r10, [r10, #offMethod_clazz] @ r10<- method->clazz
- EXPORT_PC() @ must export for invoke
- bne .LOP_INVOKE_SUPER_JUMBO_continue @ resolved, continue on
- b .LOP_INVOKE_SUPER_JUMBO_resolve @ do resolve now
-
-/* ------------------------------ */
- .balign 64
-.L_OP_INVOKE_DIRECT_JUMBO: /* 0x124 */
-/* File: armv5te/OP_INVOKE_DIRECT_JUMBO.S */
- /*
- * Handle a direct method call.
- *
- * (We could defer the "is 'this' pointer null" test to the common
- * method invocation code, and use a flag to indicate that static
- * calls don't count. If we do this as part of copying the arguments
- * out we could avoiding loading the first arg twice.)
- *
- */
- /* invoke-direct/jumbo {vCCCC..v(CCCC+BBBB-1)}, meth@AAAAAAAA */
- ldr r3, [rSELF, #offThread_methodClassDex] @ r3<- pDvmDex
- FETCH(r0, 1) @ r1<- aaaa (lo)
- FETCH(r1, 2) @ r1<- AAAA (hi)
- ldr r3, [r3, #offDvmDex_pResMethods] @ r3<- pDvmDex->pResMethods
- orr r1, r0, r1, lsl #16 @ r1<- AAAAaaaa
- FETCH(r10, 4) @ r10<- CCCC
- ldr r0, [r3, r1, lsl #2] @ r0<- resolved methodToCall
- cmp r0, #0 @ already resolved?
- EXPORT_PC() @ must export for invoke
- GET_VREG(r9, r10) @ r9<- "this" ptr
- beq .LOP_INVOKE_DIRECT_JUMBO_resolve @ not resolved, do it now
-.LOP_INVOKE_DIRECT_JUMBO_finish:
- cmp r9, #0 @ null "this" ref?
- bne common_invokeMethodJumbo @ (r0=method, r9="this")
- b common_errNullObject @ yes, throw exception
-
-/* ------------------------------ */
- .balign 64
-.L_OP_INVOKE_STATIC_JUMBO: /* 0x125 */
-/* File: armv5te/OP_INVOKE_STATIC_JUMBO.S */
- /*
- * Handle a static method call.
- */
- /* invoke-static/jumbo {vCCCC..v(CCCC+BBBB-1)}, meth@AAAAAAAA */
- ldr r3, [rSELF, #offThread_methodClassDex] @ r3<- pDvmDex
- FETCH(r0, 1) @ r1<- aaaa (lo)
- FETCH(r1, 2) @ r1<- AAAA (hi)
- ldr r3, [r3, #offDvmDex_pResMethods] @ r3<- pDvmDex->pResMethods
- orr r1, r0, r1, lsl #16 @ r1<- AAAAaaaa
- ldr r0, [r3, r1, lsl #2] @ r0<- resolved methodToCall
-#if defined(WITH_JIT)
- add r10, r3, r1, lsl #2 @ r10<- &resolved_methodToCall
-#endif
- cmp r0, #0 @ already resolved?
- EXPORT_PC() @ must export for invoke
- bne common_invokeMethodJumboNoThis @ (r0=method)
- b .LOP_INVOKE_STATIC_JUMBO_resolve
-
-/* ------------------------------ */
- .balign 64
-.L_OP_INVOKE_INTERFACE_JUMBO: /* 0x126 */
-/* File: armv5te/OP_INVOKE_INTERFACE_JUMBO.S */
- /*
- * Handle an interface method call.
- */
- /* invoke-interface/jumbo {vCCCC..v(CCCC+BBBB-1)}, meth@AAAAAAAA */
- FETCH(r2, 4) @ r2<- CCCC
- FETCH(r0, 1) @ r0<- aaaa (lo)
- FETCH(r1, 2) @ r1<- AAAA (hi)
- EXPORT_PC() @ must export for invoke
- orr r1, r0, r1, lsl #16 @ r1<- AAAAaaaa
- GET_VREG(r9, r2) @ r9<- first arg ("this")
- ldr r3, [rSELF, #offThread_methodClassDex] @ r3<- methodClassDex
- cmp r9, #0 @ null obj?
- ldr r2, [rSELF, #offThread_method] @ r2<- method
- beq common_errNullObject @ yes, fail
- ldr r0, [r9, #offObject_clazz] @ r0<- thisPtr->clazz
- bl dvmFindInterfaceMethodInCache @ r0<- call(class, ref, method, dex)
- cmp r0, #0 @ failed?
- beq common_exceptionThrown @ yes, handle exception
- b common_invokeMethodJumbo @ (r0=method, r9="this")
-
-/* ------------------------------ */
- .balign 64
-.L_OP_UNUSED_27FF: /* 0x127 */
-/* File: armv5te/OP_UNUSED_27FF.S */
-/* File: armv5te/unused.S */
- bl common_abort
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_UNUSED_28FF: /* 0x128 */
-/* File: armv5te/OP_UNUSED_28FF.S */
-/* File: armv5te/unused.S */
- bl common_abort
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_UNUSED_29FF: /* 0x129 */
-/* File: armv5te/OP_UNUSED_29FF.S */
-/* File: armv5te/unused.S */
- bl common_abort
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_UNUSED_2AFF: /* 0x12a */
-/* File: armv5te/OP_UNUSED_2AFF.S */
-/* File: armv5te/unused.S */
- bl common_abort
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_UNUSED_2BFF: /* 0x12b */
-/* File: armv5te/OP_UNUSED_2BFF.S */
-/* File: armv5te/unused.S */
- bl common_abort
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_UNUSED_2CFF: /* 0x12c */
-/* File: armv5te/OP_UNUSED_2CFF.S */
-/* File: armv5te/unused.S */
- bl common_abort
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_UNUSED_2DFF: /* 0x12d */
-/* File: armv5te/OP_UNUSED_2DFF.S */
-/* File: armv5te/unused.S */
- bl common_abort
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_UNUSED_2EFF: /* 0x12e */
-/* File: armv5te/OP_UNUSED_2EFF.S */
-/* File: armv5te/unused.S */
- bl common_abort
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_UNUSED_2FFF: /* 0x12f */
-/* File: armv5te/OP_UNUSED_2FFF.S */
-/* File: armv5te/unused.S */
- bl common_abort
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_UNUSED_30FF: /* 0x130 */
-/* File: armv5te/OP_UNUSED_30FF.S */
-/* File: armv5te/unused.S */
- bl common_abort
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_UNUSED_31FF: /* 0x131 */
-/* File: armv5te/OP_UNUSED_31FF.S */
-/* File: armv5te/unused.S */
- bl common_abort
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_UNUSED_32FF: /* 0x132 */
-/* File: armv5te/OP_UNUSED_32FF.S */
-/* File: armv5te/unused.S */
- bl common_abort
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_UNUSED_33FF: /* 0x133 */
-/* File: armv5te/OP_UNUSED_33FF.S */
-/* File: armv5te/unused.S */
- bl common_abort
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_UNUSED_34FF: /* 0x134 */
-/* File: armv5te/OP_UNUSED_34FF.S */
-/* File: armv5te/unused.S */
- bl common_abort
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_UNUSED_35FF: /* 0x135 */
-/* File: armv5te/OP_UNUSED_35FF.S */
-/* File: armv5te/unused.S */
- bl common_abort
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_UNUSED_36FF: /* 0x136 */
-/* File: armv5te/OP_UNUSED_36FF.S */
-/* File: armv5te/unused.S */
- bl common_abort
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_UNUSED_37FF: /* 0x137 */
-/* File: armv5te/OP_UNUSED_37FF.S */
-/* File: armv5te/unused.S */
- bl common_abort
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_UNUSED_38FF: /* 0x138 */
-/* File: armv5te/OP_UNUSED_38FF.S */
-/* File: armv5te/unused.S */
- bl common_abort
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_UNUSED_39FF: /* 0x139 */
-/* File: armv5te/OP_UNUSED_39FF.S */
-/* File: armv5te/unused.S */
- bl common_abort
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_UNUSED_3AFF: /* 0x13a */
-/* File: armv5te/OP_UNUSED_3AFF.S */
-/* File: armv5te/unused.S */
- bl common_abort
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_UNUSED_3BFF: /* 0x13b */
-/* File: armv5te/OP_UNUSED_3BFF.S */
-/* File: armv5te/unused.S */
- bl common_abort
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_UNUSED_3CFF: /* 0x13c */
-/* File: armv5te/OP_UNUSED_3CFF.S */
-/* File: armv5te/unused.S */
- bl common_abort
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_UNUSED_3DFF: /* 0x13d */
-/* File: armv5te/OP_UNUSED_3DFF.S */
-/* File: armv5te/unused.S */
- bl common_abort
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_UNUSED_3EFF: /* 0x13e */
-/* File: armv5te/OP_UNUSED_3EFF.S */
-/* File: armv5te/unused.S */
- bl common_abort
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_UNUSED_3FFF: /* 0x13f */
-/* File: armv5te/OP_UNUSED_3FFF.S */
-/* File: armv5te/unused.S */
- bl common_abort
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_UNUSED_40FF: /* 0x140 */
-/* File: armv5te/OP_UNUSED_40FF.S */
-/* File: armv5te/unused.S */
- bl common_abort
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_UNUSED_41FF: /* 0x141 */
-/* File: armv5te/OP_UNUSED_41FF.S */
-/* File: armv5te/unused.S */
- bl common_abort
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_UNUSED_42FF: /* 0x142 */
-/* File: armv5te/OP_UNUSED_42FF.S */
-/* File: armv5te/unused.S */
- bl common_abort
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_UNUSED_43FF: /* 0x143 */
-/* File: armv5te/OP_UNUSED_43FF.S */
-/* File: armv5te/unused.S */
- bl common_abort
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_UNUSED_44FF: /* 0x144 */
-/* File: armv5te/OP_UNUSED_44FF.S */
-/* File: armv5te/unused.S */
- bl common_abort
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_UNUSED_45FF: /* 0x145 */
-/* File: armv5te/OP_UNUSED_45FF.S */
-/* File: armv5te/unused.S */
- bl common_abort
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_UNUSED_46FF: /* 0x146 */
-/* File: armv5te/OP_UNUSED_46FF.S */
-/* File: armv5te/unused.S */
- bl common_abort
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_UNUSED_47FF: /* 0x147 */
-/* File: armv5te/OP_UNUSED_47FF.S */
-/* File: armv5te/unused.S */
- bl common_abort
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_UNUSED_48FF: /* 0x148 */
-/* File: armv5te/OP_UNUSED_48FF.S */
-/* File: armv5te/unused.S */
- bl common_abort
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_UNUSED_49FF: /* 0x149 */
-/* File: armv5te/OP_UNUSED_49FF.S */
-/* File: armv5te/unused.S */
- bl common_abort
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_UNUSED_4AFF: /* 0x14a */
-/* File: armv5te/OP_UNUSED_4AFF.S */
-/* File: armv5te/unused.S */
- bl common_abort
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_UNUSED_4BFF: /* 0x14b */
-/* File: armv5te/OP_UNUSED_4BFF.S */
-/* File: armv5te/unused.S */
- bl common_abort
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_UNUSED_4CFF: /* 0x14c */
-/* File: armv5te/OP_UNUSED_4CFF.S */
-/* File: armv5te/unused.S */
- bl common_abort
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_UNUSED_4DFF: /* 0x14d */
-/* File: armv5te/OP_UNUSED_4DFF.S */
-/* File: armv5te/unused.S */
- bl common_abort
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_UNUSED_4EFF: /* 0x14e */
-/* File: armv5te/OP_UNUSED_4EFF.S */
-/* File: armv5te/unused.S */
- bl common_abort
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_UNUSED_4FFF: /* 0x14f */
-/* File: armv5te/OP_UNUSED_4FFF.S */
-/* File: armv5te/unused.S */
- bl common_abort
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_UNUSED_50FF: /* 0x150 */
-/* File: armv5te/OP_UNUSED_50FF.S */
-/* File: armv5te/unused.S */
- bl common_abort
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_UNUSED_51FF: /* 0x151 */
-/* File: armv5te/OP_UNUSED_51FF.S */
-/* File: armv5te/unused.S */
- bl common_abort
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_UNUSED_52FF: /* 0x152 */
-/* File: armv5te/OP_UNUSED_52FF.S */
-/* File: armv5te/unused.S */
- bl common_abort
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_UNUSED_53FF: /* 0x153 */
-/* File: armv5te/OP_UNUSED_53FF.S */
-/* File: armv5te/unused.S */
- bl common_abort
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_UNUSED_54FF: /* 0x154 */
-/* File: armv5te/OP_UNUSED_54FF.S */
-/* File: armv5te/unused.S */
- bl common_abort
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_UNUSED_55FF: /* 0x155 */
-/* File: armv5te/OP_UNUSED_55FF.S */
-/* File: armv5te/unused.S */
- bl common_abort
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_UNUSED_56FF: /* 0x156 */
-/* File: armv5te/OP_UNUSED_56FF.S */
-/* File: armv5te/unused.S */
- bl common_abort
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_UNUSED_57FF: /* 0x157 */
-/* File: armv5te/OP_UNUSED_57FF.S */
-/* File: armv5te/unused.S */
- bl common_abort
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_UNUSED_58FF: /* 0x158 */
-/* File: armv5te/OP_UNUSED_58FF.S */
-/* File: armv5te/unused.S */
- bl common_abort
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_UNUSED_59FF: /* 0x159 */
-/* File: armv5te/OP_UNUSED_59FF.S */
-/* File: armv5te/unused.S */
- bl common_abort
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_UNUSED_5AFF: /* 0x15a */
-/* File: armv5te/OP_UNUSED_5AFF.S */
-/* File: armv5te/unused.S */
- bl common_abort
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_UNUSED_5BFF: /* 0x15b */
-/* File: armv5te/OP_UNUSED_5BFF.S */
-/* File: armv5te/unused.S */
- bl common_abort
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_UNUSED_5CFF: /* 0x15c */
-/* File: armv5te/OP_UNUSED_5CFF.S */
-/* File: armv5te/unused.S */
- bl common_abort
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_UNUSED_5DFF: /* 0x15d */
-/* File: armv5te/OP_UNUSED_5DFF.S */
-/* File: armv5te/unused.S */
- bl common_abort
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_UNUSED_5EFF: /* 0x15e */
-/* File: armv5te/OP_UNUSED_5EFF.S */
-/* File: armv5te/unused.S */
- bl common_abort
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_UNUSED_5FFF: /* 0x15f */
-/* File: armv5te/OP_UNUSED_5FFF.S */
-/* File: armv5te/unused.S */
- bl common_abort
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_UNUSED_60FF: /* 0x160 */
-/* File: armv5te/OP_UNUSED_60FF.S */
-/* File: armv5te/unused.S */
- bl common_abort
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_UNUSED_61FF: /* 0x161 */
-/* File: armv5te/OP_UNUSED_61FF.S */
-/* File: armv5te/unused.S */
- bl common_abort
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_UNUSED_62FF: /* 0x162 */
-/* File: armv5te/OP_UNUSED_62FF.S */
-/* File: armv5te/unused.S */
- bl common_abort
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_UNUSED_63FF: /* 0x163 */
-/* File: armv5te/OP_UNUSED_63FF.S */
-/* File: armv5te/unused.S */
- bl common_abort
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_UNUSED_64FF: /* 0x164 */
-/* File: armv5te/OP_UNUSED_64FF.S */
-/* File: armv5te/unused.S */
- bl common_abort
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_UNUSED_65FF: /* 0x165 */
-/* File: armv5te/OP_UNUSED_65FF.S */
-/* File: armv5te/unused.S */
- bl common_abort
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_UNUSED_66FF: /* 0x166 */
-/* File: armv5te/OP_UNUSED_66FF.S */
-/* File: armv5te/unused.S */
- bl common_abort
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_UNUSED_67FF: /* 0x167 */
-/* File: armv5te/OP_UNUSED_67FF.S */
-/* File: armv5te/unused.S */
- bl common_abort
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_UNUSED_68FF: /* 0x168 */
-/* File: armv5te/OP_UNUSED_68FF.S */
-/* File: armv5te/unused.S */
- bl common_abort
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_UNUSED_69FF: /* 0x169 */
-/* File: armv5te/OP_UNUSED_69FF.S */
-/* File: armv5te/unused.S */
- bl common_abort
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_UNUSED_6AFF: /* 0x16a */
-/* File: armv5te/OP_UNUSED_6AFF.S */
-/* File: armv5te/unused.S */
- bl common_abort
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_UNUSED_6BFF: /* 0x16b */
-/* File: armv5te/OP_UNUSED_6BFF.S */
-/* File: armv5te/unused.S */
- bl common_abort
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_UNUSED_6CFF: /* 0x16c */
-/* File: armv5te/OP_UNUSED_6CFF.S */
-/* File: armv5te/unused.S */
- bl common_abort
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_UNUSED_6DFF: /* 0x16d */
-/* File: armv5te/OP_UNUSED_6DFF.S */
-/* File: armv5te/unused.S */
- bl common_abort
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_UNUSED_6EFF: /* 0x16e */
-/* File: armv5te/OP_UNUSED_6EFF.S */
-/* File: armv5te/unused.S */
- bl common_abort
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_UNUSED_6FFF: /* 0x16f */
-/* File: armv5te/OP_UNUSED_6FFF.S */
-/* File: armv5te/unused.S */
- bl common_abort
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_UNUSED_70FF: /* 0x170 */
-/* File: armv5te/OP_UNUSED_70FF.S */
-/* File: armv5te/unused.S */
- bl common_abort
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_UNUSED_71FF: /* 0x171 */
-/* File: armv5te/OP_UNUSED_71FF.S */
-/* File: armv5te/unused.S */
- bl common_abort
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_UNUSED_72FF: /* 0x172 */
-/* File: armv5te/OP_UNUSED_72FF.S */
-/* File: armv5te/unused.S */
- bl common_abort
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_UNUSED_73FF: /* 0x173 */
-/* File: armv5te/OP_UNUSED_73FF.S */
-/* File: armv5te/unused.S */
- bl common_abort
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_UNUSED_74FF: /* 0x174 */
-/* File: armv5te/OP_UNUSED_74FF.S */
-/* File: armv5te/unused.S */
- bl common_abort
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_UNUSED_75FF: /* 0x175 */
-/* File: armv5te/OP_UNUSED_75FF.S */
-/* File: armv5te/unused.S */
- bl common_abort
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_UNUSED_76FF: /* 0x176 */
-/* File: armv5te/OP_UNUSED_76FF.S */
-/* File: armv5te/unused.S */
- bl common_abort
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_UNUSED_77FF: /* 0x177 */
-/* File: armv5te/OP_UNUSED_77FF.S */
-/* File: armv5te/unused.S */
- bl common_abort
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_UNUSED_78FF: /* 0x178 */
-/* File: armv5te/OP_UNUSED_78FF.S */
-/* File: armv5te/unused.S */
- bl common_abort
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_UNUSED_79FF: /* 0x179 */
-/* File: armv5te/OP_UNUSED_79FF.S */
-/* File: armv5te/unused.S */
- bl common_abort
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_UNUSED_7AFF: /* 0x17a */
-/* File: armv5te/OP_UNUSED_7AFF.S */
-/* File: armv5te/unused.S */
- bl common_abort
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_UNUSED_7BFF: /* 0x17b */
-/* File: armv5te/OP_UNUSED_7BFF.S */
-/* File: armv5te/unused.S */
- bl common_abort
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_UNUSED_7CFF: /* 0x17c */
-/* File: armv5te/OP_UNUSED_7CFF.S */
-/* File: armv5te/unused.S */
- bl common_abort
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_UNUSED_7DFF: /* 0x17d */
-/* File: armv5te/OP_UNUSED_7DFF.S */
-/* File: armv5te/unused.S */
- bl common_abort
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_UNUSED_7EFF: /* 0x17e */
-/* File: armv5te/OP_UNUSED_7EFF.S */
-/* File: armv5te/unused.S */
- bl common_abort
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_UNUSED_7FFF: /* 0x17f */
-/* File: armv5te/OP_UNUSED_7FFF.S */
-/* File: armv5te/unused.S */
- bl common_abort
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_UNUSED_80FF: /* 0x180 */
-/* File: armv5te/OP_UNUSED_80FF.S */
-/* File: armv5te/unused.S */
- bl common_abort
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_UNUSED_81FF: /* 0x181 */
-/* File: armv5te/OP_UNUSED_81FF.S */
-/* File: armv5te/unused.S */
- bl common_abort
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_UNUSED_82FF: /* 0x182 */
-/* File: armv5te/OP_UNUSED_82FF.S */
-/* File: armv5te/unused.S */
- bl common_abort
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_UNUSED_83FF: /* 0x183 */
-/* File: armv5te/OP_UNUSED_83FF.S */
-/* File: armv5te/unused.S */
- bl common_abort
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_UNUSED_84FF: /* 0x184 */
-/* File: armv5te/OP_UNUSED_84FF.S */
-/* File: armv5te/unused.S */
- bl common_abort
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_UNUSED_85FF: /* 0x185 */
-/* File: armv5te/OP_UNUSED_85FF.S */
-/* File: armv5te/unused.S */
- bl common_abort
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_UNUSED_86FF: /* 0x186 */
-/* File: armv5te/OP_UNUSED_86FF.S */
-/* File: armv5te/unused.S */
- bl common_abort
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_UNUSED_87FF: /* 0x187 */
-/* File: armv5te/OP_UNUSED_87FF.S */
-/* File: armv5te/unused.S */
- bl common_abort
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_UNUSED_88FF: /* 0x188 */
-/* File: armv5te/OP_UNUSED_88FF.S */
-/* File: armv5te/unused.S */
- bl common_abort
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_UNUSED_89FF: /* 0x189 */
-/* File: armv5te/OP_UNUSED_89FF.S */
-/* File: armv5te/unused.S */
- bl common_abort
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_UNUSED_8AFF: /* 0x18a */
-/* File: armv5te/OP_UNUSED_8AFF.S */
-/* File: armv5te/unused.S */
- bl common_abort
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_UNUSED_8BFF: /* 0x18b */
-/* File: armv5te/OP_UNUSED_8BFF.S */
-/* File: armv5te/unused.S */
- bl common_abort
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_UNUSED_8CFF: /* 0x18c */
-/* File: armv5te/OP_UNUSED_8CFF.S */
-/* File: armv5te/unused.S */
- bl common_abort
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_UNUSED_8DFF: /* 0x18d */
-/* File: armv5te/OP_UNUSED_8DFF.S */
-/* File: armv5te/unused.S */
- bl common_abort
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_UNUSED_8EFF: /* 0x18e */
-/* File: armv5te/OP_UNUSED_8EFF.S */
-/* File: armv5te/unused.S */
- bl common_abort
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_UNUSED_8FFF: /* 0x18f */
-/* File: armv5te/OP_UNUSED_8FFF.S */
-/* File: armv5te/unused.S */
- bl common_abort
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_UNUSED_90FF: /* 0x190 */
-/* File: armv5te/OP_UNUSED_90FF.S */
-/* File: armv5te/unused.S */
- bl common_abort
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_UNUSED_91FF: /* 0x191 */
-/* File: armv5te/OP_UNUSED_91FF.S */
-/* File: armv5te/unused.S */
- bl common_abort
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_UNUSED_92FF: /* 0x192 */
-/* File: armv5te/OP_UNUSED_92FF.S */
-/* File: armv5te/unused.S */
- bl common_abort
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_UNUSED_93FF: /* 0x193 */
-/* File: armv5te/OP_UNUSED_93FF.S */
-/* File: armv5te/unused.S */
- bl common_abort
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_UNUSED_94FF: /* 0x194 */
-/* File: armv5te/OP_UNUSED_94FF.S */
-/* File: armv5te/unused.S */
- bl common_abort
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_UNUSED_95FF: /* 0x195 */
-/* File: armv5te/OP_UNUSED_95FF.S */
-/* File: armv5te/unused.S */
- bl common_abort
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_UNUSED_96FF: /* 0x196 */
-/* File: armv5te/OP_UNUSED_96FF.S */
-/* File: armv5te/unused.S */
- bl common_abort
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_UNUSED_97FF: /* 0x197 */
-/* File: armv5te/OP_UNUSED_97FF.S */
-/* File: armv5te/unused.S */
- bl common_abort
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_UNUSED_98FF: /* 0x198 */
-/* File: armv5te/OP_UNUSED_98FF.S */
-/* File: armv5te/unused.S */
- bl common_abort
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_UNUSED_99FF: /* 0x199 */
-/* File: armv5te/OP_UNUSED_99FF.S */
-/* File: armv5te/unused.S */
- bl common_abort
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_UNUSED_9AFF: /* 0x19a */
-/* File: armv5te/OP_UNUSED_9AFF.S */
-/* File: armv5te/unused.S */
- bl common_abort
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_UNUSED_9BFF: /* 0x19b */
-/* File: armv5te/OP_UNUSED_9BFF.S */
-/* File: armv5te/unused.S */
- bl common_abort
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_UNUSED_9CFF: /* 0x19c */
-/* File: armv5te/OP_UNUSED_9CFF.S */
-/* File: armv5te/unused.S */
- bl common_abort
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_UNUSED_9DFF: /* 0x19d */
-/* File: armv5te/OP_UNUSED_9DFF.S */
-/* File: armv5te/unused.S */
- bl common_abort
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_UNUSED_9EFF: /* 0x19e */
-/* File: armv5te/OP_UNUSED_9EFF.S */
-/* File: armv5te/unused.S */
- bl common_abort
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_UNUSED_9FFF: /* 0x19f */
-/* File: armv5te/OP_UNUSED_9FFF.S */
-/* File: armv5te/unused.S */
- bl common_abort
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_UNUSED_A0FF: /* 0x1a0 */
-/* File: armv5te/OP_UNUSED_A0FF.S */
-/* File: armv5te/unused.S */
- bl common_abort
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_UNUSED_A1FF: /* 0x1a1 */
-/* File: armv5te/OP_UNUSED_A1FF.S */
-/* File: armv5te/unused.S */
- bl common_abort
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_UNUSED_A2FF: /* 0x1a2 */
-/* File: armv5te/OP_UNUSED_A2FF.S */
-/* File: armv5te/unused.S */
- bl common_abort
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_UNUSED_A3FF: /* 0x1a3 */
-/* File: armv5te/OP_UNUSED_A3FF.S */
-/* File: armv5te/unused.S */
- bl common_abort
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_UNUSED_A4FF: /* 0x1a4 */
-/* File: armv5te/OP_UNUSED_A4FF.S */
-/* File: armv5te/unused.S */
- bl common_abort
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_UNUSED_A5FF: /* 0x1a5 */
-/* File: armv5te/OP_UNUSED_A5FF.S */
-/* File: armv5te/unused.S */
- bl common_abort
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_UNUSED_A6FF: /* 0x1a6 */
-/* File: armv5te/OP_UNUSED_A6FF.S */
-/* File: armv5te/unused.S */
- bl common_abort
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_UNUSED_A7FF: /* 0x1a7 */
-/* File: armv5te/OP_UNUSED_A7FF.S */
-/* File: armv5te/unused.S */
- bl common_abort
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_UNUSED_A8FF: /* 0x1a8 */
-/* File: armv5te/OP_UNUSED_A8FF.S */
-/* File: armv5te/unused.S */
- bl common_abort
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_UNUSED_A9FF: /* 0x1a9 */
-/* File: armv5te/OP_UNUSED_A9FF.S */
-/* File: armv5te/unused.S */
- bl common_abort
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_UNUSED_AAFF: /* 0x1aa */
-/* File: armv5te/OP_UNUSED_AAFF.S */
-/* File: armv5te/unused.S */
- bl common_abort
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_UNUSED_ABFF: /* 0x1ab */
-/* File: armv5te/OP_UNUSED_ABFF.S */
-/* File: armv5te/unused.S */
- bl common_abort
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_UNUSED_ACFF: /* 0x1ac */
-/* File: armv5te/OP_UNUSED_ACFF.S */
-/* File: armv5te/unused.S */
- bl common_abort
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_UNUSED_ADFF: /* 0x1ad */
-/* File: armv5te/OP_UNUSED_ADFF.S */
-/* File: armv5te/unused.S */
- bl common_abort
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_UNUSED_AEFF: /* 0x1ae */
-/* File: armv5te/OP_UNUSED_AEFF.S */
-/* File: armv5te/unused.S */
- bl common_abort
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_UNUSED_AFFF: /* 0x1af */
-/* File: armv5te/OP_UNUSED_AFFF.S */
-/* File: armv5te/unused.S */
- bl common_abort
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_UNUSED_B0FF: /* 0x1b0 */
-/* File: armv5te/OP_UNUSED_B0FF.S */
-/* File: armv5te/unused.S */
- bl common_abort
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_UNUSED_B1FF: /* 0x1b1 */
-/* File: armv5te/OP_UNUSED_B1FF.S */
-/* File: armv5te/unused.S */
- bl common_abort
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_UNUSED_B2FF: /* 0x1b2 */
-/* File: armv5te/OP_UNUSED_B2FF.S */
-/* File: armv5te/unused.S */
- bl common_abort
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_UNUSED_B3FF: /* 0x1b3 */
-/* File: armv5te/OP_UNUSED_B3FF.S */
-/* File: armv5te/unused.S */
- bl common_abort
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_UNUSED_B4FF: /* 0x1b4 */
-/* File: armv5te/OP_UNUSED_B4FF.S */
-/* File: armv5te/unused.S */
- bl common_abort
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_UNUSED_B5FF: /* 0x1b5 */
-/* File: armv5te/OP_UNUSED_B5FF.S */
-/* File: armv5te/unused.S */
- bl common_abort
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_UNUSED_B6FF: /* 0x1b6 */
-/* File: armv5te/OP_UNUSED_B6FF.S */
-/* File: armv5te/unused.S */
- bl common_abort
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_UNUSED_B7FF: /* 0x1b7 */
-/* File: armv5te/OP_UNUSED_B7FF.S */
-/* File: armv5te/unused.S */
- bl common_abort
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_UNUSED_B8FF: /* 0x1b8 */
-/* File: armv5te/OP_UNUSED_B8FF.S */
-/* File: armv5te/unused.S */
- bl common_abort
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_UNUSED_B9FF: /* 0x1b9 */
-/* File: armv5te/OP_UNUSED_B9FF.S */
-/* File: armv5te/unused.S */
- bl common_abort
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_UNUSED_BAFF: /* 0x1ba */
-/* File: armv5te/OP_UNUSED_BAFF.S */
-/* File: armv5te/unused.S */
- bl common_abort
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_UNUSED_BBFF: /* 0x1bb */
-/* File: armv5te/OP_UNUSED_BBFF.S */
-/* File: armv5te/unused.S */
- bl common_abort
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_UNUSED_BCFF: /* 0x1bc */
-/* File: armv5te/OP_UNUSED_BCFF.S */
-/* File: armv5te/unused.S */
- bl common_abort
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_UNUSED_BDFF: /* 0x1bd */
-/* File: armv5te/OP_UNUSED_BDFF.S */
-/* File: armv5te/unused.S */
- bl common_abort
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_UNUSED_BEFF: /* 0x1be */
-/* File: armv5te/OP_UNUSED_BEFF.S */
-/* File: armv5te/unused.S */
- bl common_abort
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_UNUSED_BFFF: /* 0x1bf */
-/* File: armv5te/OP_UNUSED_BFFF.S */
-/* File: armv5te/unused.S */
- bl common_abort
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_UNUSED_C0FF: /* 0x1c0 */
-/* File: armv5te/OP_UNUSED_C0FF.S */
-/* File: armv5te/unused.S */
- bl common_abort
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_UNUSED_C1FF: /* 0x1c1 */
-/* File: armv5te/OP_UNUSED_C1FF.S */
-/* File: armv5te/unused.S */
- bl common_abort
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_UNUSED_C2FF: /* 0x1c2 */
-/* File: armv5te/OP_UNUSED_C2FF.S */
-/* File: armv5te/unused.S */
- bl common_abort
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_UNUSED_C3FF: /* 0x1c3 */
-/* File: armv5te/OP_UNUSED_C3FF.S */
-/* File: armv5te/unused.S */
- bl common_abort
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_UNUSED_C4FF: /* 0x1c4 */
-/* File: armv5te/OP_UNUSED_C4FF.S */
-/* File: armv5te/unused.S */
- bl common_abort
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_UNUSED_C5FF: /* 0x1c5 */
-/* File: armv5te/OP_UNUSED_C5FF.S */
-/* File: armv5te/unused.S */
- bl common_abort
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_UNUSED_C6FF: /* 0x1c6 */
-/* File: armv5te/OP_UNUSED_C6FF.S */
-/* File: armv5te/unused.S */
- bl common_abort
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_UNUSED_C7FF: /* 0x1c7 */
-/* File: armv5te/OP_UNUSED_C7FF.S */
-/* File: armv5te/unused.S */
- bl common_abort
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_UNUSED_C8FF: /* 0x1c8 */
-/* File: armv5te/OP_UNUSED_C8FF.S */
-/* File: armv5te/unused.S */
- bl common_abort
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_UNUSED_C9FF: /* 0x1c9 */
-/* File: armv5te/OP_UNUSED_C9FF.S */
-/* File: armv5te/unused.S */
- bl common_abort
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_UNUSED_CAFF: /* 0x1ca */
-/* File: armv5te/OP_UNUSED_CAFF.S */
-/* File: armv5te/unused.S */
- bl common_abort
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_UNUSED_CBFF: /* 0x1cb */
-/* File: armv5te/OP_UNUSED_CBFF.S */
-/* File: armv5te/unused.S */
- bl common_abort
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_UNUSED_CCFF: /* 0x1cc */
-/* File: armv5te/OP_UNUSED_CCFF.S */
-/* File: armv5te/unused.S */
- bl common_abort
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_UNUSED_CDFF: /* 0x1cd */
-/* File: armv5te/OP_UNUSED_CDFF.S */
-/* File: armv5te/unused.S */
- bl common_abort
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_UNUSED_CEFF: /* 0x1ce */
-/* File: armv5te/OP_UNUSED_CEFF.S */
-/* File: armv5te/unused.S */
- bl common_abort
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_UNUSED_CFFF: /* 0x1cf */
-/* File: armv5te/OP_UNUSED_CFFF.S */
-/* File: armv5te/unused.S */
- bl common_abort
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_UNUSED_D0FF: /* 0x1d0 */
-/* File: armv5te/OP_UNUSED_D0FF.S */
-/* File: armv5te/unused.S */
- bl common_abort
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_UNUSED_D1FF: /* 0x1d1 */
-/* File: armv5te/OP_UNUSED_D1FF.S */
-/* File: armv5te/unused.S */
- bl common_abort
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_UNUSED_D2FF: /* 0x1d2 */
-/* File: armv5te/OP_UNUSED_D2FF.S */
-/* File: armv5te/unused.S */
- bl common_abort
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_UNUSED_D3FF: /* 0x1d3 */
-/* File: armv5te/OP_UNUSED_D3FF.S */
-/* File: armv5te/unused.S */
- bl common_abort
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_UNUSED_D4FF: /* 0x1d4 */
-/* File: armv5te/OP_UNUSED_D4FF.S */
-/* File: armv5te/unused.S */
- bl common_abort
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_UNUSED_D5FF: /* 0x1d5 */
-/* File: armv5te/OP_UNUSED_D5FF.S */
-/* File: armv5te/unused.S */
- bl common_abort
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_UNUSED_D6FF: /* 0x1d6 */
-/* File: armv5te/OP_UNUSED_D6FF.S */
-/* File: armv5te/unused.S */
- bl common_abort
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_UNUSED_D7FF: /* 0x1d7 */
-/* File: armv5te/OP_UNUSED_D7FF.S */
-/* File: armv5te/unused.S */
- bl common_abort
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_UNUSED_D8FF: /* 0x1d8 */
-/* File: armv5te/OP_UNUSED_D8FF.S */
-/* File: armv5te/unused.S */
- bl common_abort
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_UNUSED_D9FF: /* 0x1d9 */
-/* File: armv5te/OP_UNUSED_D9FF.S */
-/* File: armv5te/unused.S */
- bl common_abort
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_UNUSED_DAFF: /* 0x1da */
-/* File: armv5te/OP_UNUSED_DAFF.S */
-/* File: armv5te/unused.S */
- bl common_abort
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_UNUSED_DBFF: /* 0x1db */
-/* File: armv5te/OP_UNUSED_DBFF.S */
-/* File: armv5te/unused.S */
- bl common_abort
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_UNUSED_DCFF: /* 0x1dc */
-/* File: armv5te/OP_UNUSED_DCFF.S */
-/* File: armv5te/unused.S */
- bl common_abort
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_UNUSED_DDFF: /* 0x1dd */
-/* File: armv5te/OP_UNUSED_DDFF.S */
-/* File: armv5te/unused.S */
- bl common_abort
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_UNUSED_DEFF: /* 0x1de */
-/* File: armv5te/OP_UNUSED_DEFF.S */
-/* File: armv5te/unused.S */
- bl common_abort
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_UNUSED_DFFF: /* 0x1df */
-/* File: armv5te/OP_UNUSED_DFFF.S */
-/* File: armv5te/unused.S */
- bl common_abort
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_UNUSED_E0FF: /* 0x1e0 */
-/* File: armv5te/OP_UNUSED_E0FF.S */
-/* File: armv5te/unused.S */
- bl common_abort
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_UNUSED_E1FF: /* 0x1e1 */
-/* File: armv5te/OP_UNUSED_E1FF.S */
-/* File: armv5te/unused.S */
- bl common_abort
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_UNUSED_E2FF: /* 0x1e2 */
-/* File: armv5te/OP_UNUSED_E2FF.S */
+.L_OP_UNUSED_FF: /* 0xff */
+/* File: armv5te/OP_UNUSED_FF.S */
/* File: armv5te/unused.S */
bl common_abort
-/* ------------------------------ */
- .balign 64
-.L_OP_UNUSED_E3FF: /* 0x1e3 */
-/* File: armv5te/OP_UNUSED_E3FF.S */
-/* File: armv5te/unused.S */
- bl common_abort
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_UNUSED_E4FF: /* 0x1e4 */
-/* File: armv5te/OP_UNUSED_E4FF.S */
-/* File: armv5te/unused.S */
- bl common_abort
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_UNUSED_E5FF: /* 0x1e5 */
-/* File: armv5te/OP_UNUSED_E5FF.S */
-/* File: armv5te/unused.S */
- bl common_abort
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_UNUSED_E6FF: /* 0x1e6 */
-/* File: armv5te/OP_UNUSED_E6FF.S */
-/* File: armv5te/unused.S */
- bl common_abort
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_UNUSED_E7FF: /* 0x1e7 */
-/* File: armv5te/OP_UNUSED_E7FF.S */
-/* File: armv5te/unused.S */
- bl common_abort
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_UNUSED_E8FF: /* 0x1e8 */
-/* File: armv5te/OP_UNUSED_E8FF.S */
-/* File: armv5te/unused.S */
- bl common_abort
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_UNUSED_E9FF: /* 0x1e9 */
-/* File: armv5te/OP_UNUSED_E9FF.S */
-/* File: armv5te/unused.S */
- bl common_abort
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_UNUSED_EAFF: /* 0x1ea */
-/* File: armv5te/OP_UNUSED_EAFF.S */
-/* File: armv5te/unused.S */
- bl common_abort
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_UNUSED_EBFF: /* 0x1eb */
-/* File: armv5te/OP_UNUSED_EBFF.S */
-/* File: armv5te/unused.S */
- bl common_abort
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_UNUSED_ECFF: /* 0x1ec */
-/* File: armv5te/OP_UNUSED_ECFF.S */
-/* File: armv5te/unused.S */
- bl common_abort
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_UNUSED_EDFF: /* 0x1ed */
-/* File: armv5te/OP_UNUSED_EDFF.S */
-/* File: armv5te/unused.S */
- bl common_abort
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_UNUSED_EEFF: /* 0x1ee */
-/* File: armv5te/OP_UNUSED_EEFF.S */
-/* File: armv5te/unused.S */
- bl common_abort
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_UNUSED_EFFF: /* 0x1ef */
-/* File: armv5te/OP_UNUSED_EFFF.S */
-/* File: armv5te/unused.S */
- bl common_abort
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_UNUSED_F0FF: /* 0x1f0 */
-/* File: armv5te/OP_UNUSED_F0FF.S */
-/* File: armv5te/unused.S */
- bl common_abort
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_UNUSED_F1FF: /* 0x1f1 */
-/* File: armv5te/OP_UNUSED_F1FF.S */
-/* File: armv5te/unused.S */
- bl common_abort
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_INVOKE_OBJECT_INIT_JUMBO: /* 0x1f2 */
-/* File: armv5te/OP_INVOKE_OBJECT_INIT_JUMBO.S */
-/* File: armv5te/OP_INVOKE_OBJECT_INIT_RANGE.S */
- /*
- * Invoke Object.<init> on an object. In practice we know that
- * Object's nullary constructor doesn't do anything, so we just
- * skip it unless a debugger is active.
- */
- FETCH(r1, 4) @ r1<- CCCC
- GET_VREG(r0, r1) @ r0<- "this" ptr
- cmp r0, #0 @ check for NULL
- beq common_errNullObject @ export PC and throw NPE
- ldr r1, [r0, #offObject_clazz] @ r1<- obj->clazz
- ldr r2, [r1, #offClassObject_accessFlags] @ r2<- clazz->accessFlags
- tst r2, #CLASS_ISFINALIZABLE @ is this class finalizable?
- bne .LOP_INVOKE_OBJECT_INIT_JUMBO_setFinal @ yes, go
-.LOP_INVOKE_OBJECT_INIT_JUMBO_finish:
- ldrh r1, [rSELF, #offThread_subMode]
- ands r1, #kSubModeDebuggerActive @ debugger active?
- bne .LOP_INVOKE_OBJECT_INIT_JUMBO_debugger @ Yes - skip optimization
- FETCH_ADVANCE_INST(4+1) @ advance to next instr, load rINST
- GET_INST_OPCODE(ip) @ ip<- opcode from rINST
- GOTO_OPCODE(ip) @ execute it
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_IGET_VOLATILE_JUMBO: /* 0x1f3 */
-/* File: armv5te/OP_IGET_VOLATILE_JUMBO.S */
-/* File: armv5te/OP_IGET_JUMBO.S */
- /*
- * Jumbo 32-bit instance field get.
- *
- * for: iget/jumbo, iget-object/jumbo, iget-boolean/jumbo, iget-byte/jumbo,
- * iget-char/jumbo, iget-short/jumbo
- */
- /* exop vBBBB, vCCCC, field@AAAAAAAA */
- FETCH(r1, 1) @ r1<- aaaa (lo)
- FETCH(r2, 2) @ r2<- AAAA (hi)
- FETCH(r0, 4) @ r0<- CCCC
- ldr r3, [rSELF, #offThread_methodClassDex] @ r3<- DvmDex
- orr r1, r1, r2, lsl #16 @ r1<- AAAAaaaa
- ldr r2, [r3, #offDvmDex_pResFields] @ r2<- pDvmDex->pResFields
- GET_VREG(r9, r0) @ r9<- fp[CCCC], the object pointer
- ldr r0, [r2, r1, lsl #2] @ r0<- resolved InstField ptr
- cmp r0, #0 @ is resolved entry null?
- bne .LOP_IGET_VOLATILE_JUMBO_finish @ no, already resolved
-8: ldr r2, [rSELF, #offThread_method] @ r2<- current method
- EXPORT_PC() @ resolve() could throw
- ldr r0, [r2, #offMethod_clazz] @ r0<- method->clazz
- bl dvmResolveInstField @ r0<- resolved InstField ptr
- b .LOP_IGET_VOLATILE_JUMBO_resolved @ resolved, continue
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_IGET_WIDE_VOLATILE_JUMBO: /* 0x1f4 */
-/* File: armv5te/OP_IGET_WIDE_VOLATILE_JUMBO.S */
-/* File: armv5te/OP_IGET_WIDE_JUMBO.S */
- /*
- * Jumbo 64-bit instance field get.
- */
- /* iget-wide/jumbo vBBBB, vCCCC, field@AAAAAAAA */
- FETCH(r1, 1) @ r1<- aaaa (lo)
- FETCH(r2, 2) @ r2<- AAAA (hi)
- FETCH(r0, 4) @ r0<- CCCC
- ldr r3, [rSELF, #offThread_methodClassDex] @ r3<- DvmDex
- orr r1, r1, r2, lsl #16 @ r1<- AAAAaaaa
- ldr r2, [r3, #offDvmDex_pResFields] @ r2<- pResFields
- GET_VREG(r9, r0) @ r9<- fp[CCCC], the object pointer
- ldr r0, [r2, r1, lsl #2] @ r0<- resolved InstField ptr
- cmp r0, #0 @ is resolved entry null?
- bne .LOP_IGET_WIDE_VOLATILE_JUMBO_finish @ no, already resolved
- ldr r2, [rSELF, #offThread_method] @ r2<- current method
- EXPORT_PC() @ resolve() could throw
- ldr r0, [r2, #offMethod_clazz] @ r0<- method->clazz
- bl dvmResolveInstField @ r0<- resolved InstField ptr
- b .LOP_IGET_WIDE_VOLATILE_JUMBO_resolved @ resolved, continue
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_IGET_OBJECT_VOLATILE_JUMBO: /* 0x1f5 */
-/* File: armv5te/OP_IGET_OBJECT_VOLATILE_JUMBO.S */
-/* File: armv5te/OP_IGET_OBJECT_JUMBO.S */
-/* File: armv5te/OP_IGET_JUMBO.S */
- /*
- * Jumbo 32-bit instance field get.
- *
- * for: iget/jumbo, iget-object/jumbo, iget-boolean/jumbo, iget-byte/jumbo,
- * iget-char/jumbo, iget-short/jumbo
- */
- /* exop vBBBB, vCCCC, field@AAAAAAAA */
- FETCH(r1, 1) @ r1<- aaaa (lo)
- FETCH(r2, 2) @ r2<- AAAA (hi)
- FETCH(r0, 4) @ r0<- CCCC
- ldr r3, [rSELF, #offThread_methodClassDex] @ r3<- DvmDex
- orr r1, r1, r2, lsl #16 @ r1<- AAAAaaaa
- ldr r2, [r3, #offDvmDex_pResFields] @ r2<- pDvmDex->pResFields
- GET_VREG(r9, r0) @ r9<- fp[CCCC], the object pointer
- ldr r0, [r2, r1, lsl #2] @ r0<- resolved InstField ptr
- cmp r0, #0 @ is resolved entry null?
- bne .LOP_IGET_OBJECT_VOLATILE_JUMBO_finish @ no, already resolved
-8: ldr r2, [rSELF, #offThread_method] @ r2<- current method
- EXPORT_PC() @ resolve() could throw
- ldr r0, [r2, #offMethod_clazz] @ r0<- method->clazz
- bl dvmResolveInstField @ r0<- resolved InstField ptr
- b .LOP_IGET_OBJECT_VOLATILE_JUMBO_resolved @ resolved, continue
-
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_IPUT_VOLATILE_JUMBO: /* 0x1f6 */
-/* File: armv5te/OP_IPUT_VOLATILE_JUMBO.S */
-/* File: armv5te/OP_IPUT_JUMBO.S */
- /*
- * Jumbo 32-bit instance field put.
- *
- * for: iput/jumbo, iput-boolean/jumbo, iput-byte/jumbo, iput-char/jumbo,
- * iput-short/jumbo
- */
- /* exop vBBBB, vCCCC, field@AAAAAAAA */
- FETCH(r1, 1) @ r1<- aaaa (lo)
- FETCH(r2, 2) @ r2<- AAAA (hi)
- FETCH(r0, 4) @ r0<- CCCC
- ldr r3, [rSELF, #offThread_methodClassDex] @ r3<- DvmDex
- orr r1, r1, r2, lsl #16 @ r1<- AAAAaaaa
- ldr r2, [r3, #offDvmDex_pResFields] @ r2<- pDvmDex->pResFields
- GET_VREG(r9, r0) @ r9<- fp[CCCC], the object pointer
- ldr r0, [r2, r1, lsl #2] @ r0<- resolved InstField ptr
- cmp r0, #0 @ is resolved entry null?
- bne .LOP_IPUT_VOLATILE_JUMBO_finish @ no, already resolved
-8: ldr r2, [rSELF, #offThread_method] @ r2<- current method
- EXPORT_PC() @ resolve() could throw
- ldr r0, [r2, #offMethod_clazz] @ r0<- method->clazz
- bl dvmResolveInstField @ r0<- resolved InstField ptr
- b .LOP_IPUT_VOLATILE_JUMBO_resolved @ resolved, continue
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_IPUT_WIDE_VOLATILE_JUMBO: /* 0x1f7 */
-/* File: armv5te/OP_IPUT_WIDE_VOLATILE_JUMBO.S */
-/* File: armv5te/OP_IPUT_WIDE_JUMBO.S */
- /* iput-wide/jumbo vBBBB, vCCCC, field@AAAAAAAA */
- FETCH(r1, 1) @ r1<- aaaa (lo)
- FETCH(r2, 2) @ r2<- AAAA (hi)
- FETCH(r0, 4) @ r0<- CCCC
- ldr r3, [rSELF, #offThread_methodClassDex] @ r3<- DvmDex
- orr r1, r1, r2, lsl #16 @ r1<- AAAAaaaa
- ldr r2, [r3, #offDvmDex_pResFields] @ r2<- pResFields
- GET_VREG(r9, r0) @ r9<- fp[B], the object pointer
- ldr r0, [r2, r1, lsl #2] @ r0<- resolved InstField ptr
- cmp r0, #0 @ is resolved entry null?
- bne .LOP_IPUT_WIDE_VOLATILE_JUMBO_finish @ no, already resolved
-8: ldr r2, [rSELF, #offThread_method] @ r2<- current method
- EXPORT_PC() @ resolve() could throw
- ldr r0, [r2, #offMethod_clazz] @ r0<- method->clazz
- bl dvmResolveInstField @ r0<- resolved InstField ptr
- b .LOP_IPUT_WIDE_VOLATILE_JUMBO_resolved @ resolved, continue
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_IPUT_OBJECT_VOLATILE_JUMBO: /* 0x1f8 */
-/* File: armv5te/OP_IPUT_OBJECT_VOLATILE_JUMBO.S */
-/* File: armv5te/OP_IPUT_OBJECT_JUMBO.S */
- /*
- * Jumbo 32-bit instance field put.
- */
- /* iput-object/jumbo vBBBB, vCCCC, field@AAAAAAAA */
- FETCH(r1, 1) @ r1<- aaaa (lo)
- FETCH(r2, 2) @ r2<- AAAA (hi)
- FETCH(r0, 4) @ r0<- CCCC
- ldr r3, [rSELF, #offThread_methodClassDex] @ r3<- DvmDex
- orr r1, r1, r2, lsl #16 @ r1<- AAAAaaaa
- ldr r2, [r3, #offDvmDex_pResFields] @ r2<- pDvmDex->pResFields
- GET_VREG(r9, r0) @ r9<- fp[CCCC], the object pointer
- ldr r0, [r2, r1, lsl #2] @ r0<- resolved InstField ptr
- cmp r0, #0 @ is resolved entry null?
- bne .LOP_IPUT_OBJECT_VOLATILE_JUMBO_finish @ no, already resolved
-8: ldr r2, [rSELF, #offThread_method] @ r2<- current method
- EXPORT_PC() @ resolve() could throw
- ldr r0, [r2, #offMethod_clazz] @ r0<- method->clazz
- bl dvmResolveInstField @ r0<- resolved InstField ptr
- b .LOP_IPUT_OBJECT_VOLATILE_JUMBO_resolved @ resolved, continue
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_SGET_VOLATILE_JUMBO: /* 0x1f9 */
-/* File: armv5te/OP_SGET_VOLATILE_JUMBO.S */
-/* File: armv5te/OP_SGET_JUMBO.S */
- /*
- * Jumbo 32-bit SGET handler.
- *
- * for: sget/jumbo, sget-object/jumbo, sget-boolean/jumbo, sget-byte/jumbo,
- * sget-char/jumbo, sget-short/jumbo
- */
- /* exop vBBBB, field@AAAAAAAA */
- ldr r2, [rSELF, #offThread_methodClassDex] @ r2<- DvmDex
- FETCH(r0, 1) @ r0<- aaaa (lo)
- FETCH(r1, 2) @ r1<- AAAA (hi)
- ldr r10, [r2, #offDvmDex_pResFields] @ r10<- dvmDex->pResFields
- orr r1, r0, r1, lsl #16 @ r1<- AAAAaaaa
- ldr r0, [r10, r1, lsl #2] @ r0<- resolved StaticField ptr
- cmp r0, #0 @ is resolved entry null?
- beq .LOP_SGET_VOLATILE_JUMBO_resolve @ yes, do resolve
-.LOP_SGET_VOLATILE_JUMBO_finish: @ field ptr in r0
- ldr r1, [r0, #offStaticField_value] @ r1<- field value
- SMP_DMB @ acquiring load
- FETCH(r2, 3) @ r2<- BBBB
- FETCH_ADVANCE_INST(4) @ advance rPC, load rINST
- SET_VREG(r1, r2) @ fp[BBBB]<- r1
- GET_INST_OPCODE(ip) @ extract opcode from rINST
- GOTO_OPCODE(ip) @ jump to next instruction
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_SGET_WIDE_VOLATILE_JUMBO: /* 0x1fa */
-/* File: armv5te/OP_SGET_WIDE_VOLATILE_JUMBO.S */
-/* File: armv5te/OP_SGET_WIDE_JUMBO.S */
- /*
- * Jumbo 64-bit SGET handler.
- */
- /* sget-wide/jumbo vBBBB, field@AAAAAAAA */
- ldr r2, [rSELF, #offThread_methodClassDex] @ r2<- DvmDex
- FETCH(r0, 1) @ r0<- aaaa (lo)
- FETCH(r1, 2) @ r1<- AAAA (hi)
- ldr r2, [r2, #offDvmDex_pResFields] @ r2<- dvmDex->pResFields
- orr r1, r0, r1, lsl #16 @ r1<- AAAAaaaa
- ldr r0, [r2, r1, lsl #2] @ r0<- resolved StaticField ptr
- cmp r0, #0 @ is resolved entry null?
- beq .LOP_SGET_WIDE_VOLATILE_JUMBO_resolve @ yes, do resolve
-.LOP_SGET_WIDE_VOLATILE_JUMBO_finish:
- FETCH(r9, 3) @ r9<- BBBB
- .if 1
- add r0, r0, #offStaticField_value @ r0<- pointer to data
- bl dvmQuasiAtomicRead64 @ r0/r1<- contents of field
- .else
- ldrd r0, [r0, #offStaticField_value] @ r0/r1<- field value (aligned)
- .endif
- add r9, rFP, r9, lsl #2 @ r9<- &fp[BBBB]
- FETCH_ADVANCE_INST(4) @ advance rPC, load rINST
- stmia r9, {r0-r1} @ vBBBB/vBBBB+1<- r0/r1
- GET_INST_OPCODE(ip) @ extract opcode from rINST
- GOTO_OPCODE(ip) @ jump to next instruction
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_SGET_OBJECT_VOLATILE_JUMBO: /* 0x1fb */
-/* File: armv5te/OP_SGET_OBJECT_VOLATILE_JUMBO.S */
-/* File: armv5te/OP_SGET_OBJECT_JUMBO.S */
-/* File: armv5te/OP_SGET_JUMBO.S */
- /*
- * Jumbo 32-bit SGET handler.
- *
- * for: sget/jumbo, sget-object/jumbo, sget-boolean/jumbo, sget-byte/jumbo,
- * sget-char/jumbo, sget-short/jumbo
- */
- /* exop vBBBB, field@AAAAAAAA */
- ldr r2, [rSELF, #offThread_methodClassDex] @ r2<- DvmDex
- FETCH(r0, 1) @ r0<- aaaa (lo)
- FETCH(r1, 2) @ r1<- AAAA (hi)
- ldr r10, [r2, #offDvmDex_pResFields] @ r10<- dvmDex->pResFields
- orr r1, r0, r1, lsl #16 @ r1<- AAAAaaaa
- ldr r0, [r10, r1, lsl #2] @ r0<- resolved StaticField ptr
- cmp r0, #0 @ is resolved entry null?
- beq .LOP_SGET_OBJECT_VOLATILE_JUMBO_resolve @ yes, do resolve
-.LOP_SGET_OBJECT_VOLATILE_JUMBO_finish: @ field ptr in r0
- ldr r1, [r0, #offStaticField_value] @ r1<- field value
- SMP_DMB @ acquiring load
- FETCH(r2, 3) @ r2<- BBBB
- FETCH_ADVANCE_INST(4) @ advance rPC, load rINST
- SET_VREG(r1, r2) @ fp[BBBB]<- r1
- GET_INST_OPCODE(ip) @ extract opcode from rINST
- GOTO_OPCODE(ip) @ jump to next instruction
-
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_SPUT_VOLATILE_JUMBO: /* 0x1fc */
-/* File: armv5te/OP_SPUT_VOLATILE_JUMBO.S */
-/* File: armv5te/OP_SPUT_JUMBO.S */
- /*
- * Jumbo 32-bit SPUT handler.
- *
- * for: sput/jumbo, sput-boolean/jumbo, sput-byte/jumbo, sput-char/jumbo,
- * sput-short/jumbo
- */
- /* exop vBBBB, field@AAAAAAAA */
- ldr r2, [rSELF, #offThread_methodClassDex] @ r2<- DvmDex
- FETCH(r0, 1) @ r0<- aaaa (lo)
- FETCH(r1, 2) @ r1<- AAAA (hi)
- ldr r10, [r2, #offDvmDex_pResFields] @ r10<- dvmDex->pResFields
- orr r1, r0, r1, lsl #16 @ r1<- AAAAaaaa
- ldr r0, [r10, r1, lsl #2] @ r0<- resolved StaticField ptr
- cmp r0, #0 @ is resolved entry null?
- beq .LOP_SPUT_VOLATILE_JUMBO_resolve @ yes, do resolve
-.LOP_SPUT_VOLATILE_JUMBO_finish: @ field ptr in r0
- FETCH(r2, 3) @ r2<- BBBB
- FETCH_ADVANCE_INST(4) @ advance rPC, load rINST
- GET_VREG(r1, r2) @ r1<- fp[BBBB]
- GET_INST_OPCODE(ip) @ extract opcode from rINST
- SMP_DMB_ST @ releasing store
- str r1, [r0, #offStaticField_value] @ field<- vBBBB
- SMP_DMB
- GOTO_OPCODE(ip) @ jump to next instruction
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_SPUT_WIDE_VOLATILE_JUMBO: /* 0x1fd */
-/* File: armv5te/OP_SPUT_WIDE_VOLATILE_JUMBO.S */
-/* File: armv5te/OP_SPUT_WIDE_JUMBO.S */
- /*
- * Jumbo 64-bit SPUT handler.
- */
- /* sput-wide/jumbo vBBBB, field@AAAAAAAA */
- ldr r0, [rSELF, #offThread_methodClassDex] @ r0<- DvmDex
- FETCH(r1, 1) @ r1<- aaaa (lo)
- FETCH(r2, 2) @ r2<- AAAA (hi)
- ldr r10, [r0, #offDvmDex_pResFields] @ r10<- dvmDex->pResFields
- orr r1, r1, r2, lsl #16 @ r1<- AAAAaaaa
- FETCH(r9, 3) @ r9<- BBBB
- ldr r2, [r10, r1, lsl #2] @ r2<- resolved StaticField ptr
- add r9, rFP, r9, lsl #2 @ r9<- &fp[BBBB]
- cmp r2, #0 @ is resolved entry null?
- beq .LOP_SPUT_WIDE_VOLATILE_JUMBO_resolve @ yes, do resolve
-.LOP_SPUT_WIDE_VOLATILE_JUMBO_finish: @ field ptr in r2, BBBB in r9
- FETCH_ADVANCE_INST(4) @ advance rPC, load rINST
- ldmia r9, {r0-r1} @ r0/r1<- vBBBB/vBBBB+1
- GET_INST_OPCODE(r10) @ extract opcode from rINST
- .if 1
- add r2, r2, #offStaticField_value @ r2<- pointer to data
- bl dvmQuasiAtomicSwap64Sync @ stores r0/r1 into addr r2
- .else
- strd r0, [r2, #offStaticField_value] @ field<- vBBBB/vBBBB+1
- .endif
- GOTO_OPCODE(r10) @ jump to next instruction
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_SPUT_OBJECT_VOLATILE_JUMBO: /* 0x1fe */
-/* File: armv5te/OP_SPUT_OBJECT_VOLATILE_JUMBO.S */
-/* File: armv5te/OP_SPUT_OBJECT_JUMBO.S */
- /*
- * Jumbo 32-bit SPUT handler for objects
- */
- /* sput-object/jumbo vBBBB, field@AAAAAAAA */
- ldr r2, [rSELF, #offThread_methodClassDex] @ r2<- DvmDex
- FETCH(r0, 1) @ r0<- aaaa (lo)
- FETCH(r1, 2) @ r1<- AAAA (hi)
- ldr r10, [r2, #offDvmDex_pResFields] @ r10<- dvmDex->pResFields
- orr r1, r0, r1, lsl #16 @ r1<- AAAAaaaa
- ldr r0, [r10, r1, lsl #2] @ r0<- resolved StaticField ptr
- cmp r0, #0 @ is resolved entry null?
- beq .LOP_SPUT_OBJECT_VOLATILE_JUMBO_resolve @ yes, do resolve
-.LOP_SPUT_OBJECT_VOLATILE_JUMBO_finish: @ field ptr in r0
- FETCH(r2, 3) @ r2<- BBBB
- FETCH_ADVANCE_INST(4) @ advance rPC, load rINST
- GET_VREG(r1, r2) @ r1<- fp[BBBB]
- ldr r2, [rSELF, #offThread_cardTable] @ r2<- card table base
- ldr r9, [r0, #offField_clazz] @ r9<- field->clazz
- GET_INST_OPCODE(ip) @ extract opcode from rINST
- SMP_DMB_ST @ releasing store
- b .LOP_SPUT_OBJECT_VOLATILE_JUMBO_end
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_THROW_VERIFICATION_ERROR_JUMBO: /* 0x1ff */
-/* File: armv5te/OP_THROW_VERIFICATION_ERROR_JUMBO.S */
- /*
- * Handle a jumbo throw-verification-error instruction. This throws an
- * exception for an error discovered during verification. The
- * exception is indicated by BBBB, with some detail provided by AAAAAAAA.
- */
- /* exop BBBB, Class@AAAAAAAA */
- FETCH(r1, 1) @ r1<- aaaa (lo)
- FETCH(r2, 2) @ r2<- AAAA (hi)
- ldr r0, [rSELF, #offThread_method] @ r0<- self->method
- orr r2, r1, r2, lsl #16 @ r2<- AAAAaaaa
- EXPORT_PC() @ export the PC
- FETCH(r1, 3) @ r1<- BBBB
- bl dvmThrowVerificationError @ always throws
- b common_exceptionThrown @ handle exception
-
.balign 64
.size dvmAsmInstructionStart, .-dvmAsmInstructionStart
.global dvmAsmInstructionEnd
@@ -13222,11 +10108,7 @@ d2l_doconv:
*/
.LOP_INVOKE_OBJECT_INIT_RANGE_debugger:
ldr r1, [rSELF, #offThread_mainHandlerTable]
- .if 0
- mov ip, #OP_INVOKE_DIRECT_JUMBO
- .else
mov ip, #OP_INVOKE_DIRECT_RANGE
- .endif
GOTO_OPCODE_BASE(r1,ip) @ execute it
/* continuation for OP_IPUT_OBJECT_VOLATILE */
@@ -13314,1594 +10196,6 @@ d2l_doconv:
b .LOP_SPUT_OBJECT_VOLATILE_finish @ resume
-/* continuation for OP_CONST_CLASS_JUMBO */
-
- /*
- * Continuation if the Class has not yet been resolved.
- * r1: AAAAAAAA (Class ref)
- * r9: target register
- */
-.LOP_CONST_CLASS_JUMBO_resolve:
- EXPORT_PC()
- ldr r0, [rSELF, #offThread_method] @ r0<- self->method
- mov r2, #1 @ r2<- true
- ldr r0, [r0, #offMethod_clazz] @ r0<- method->clazz
- bl dvmResolveClass @ r0<- Class reference
- cmp r0, #0 @ failed?
- beq common_exceptionThrown @ yup, handle the exception
- FETCH_ADVANCE_INST(4) @ advance rPC, load rINST
- GET_INST_OPCODE(ip) @ extract opcode from rINST
- SET_VREG(r0, r9) @ vBBBB<- r0
- GOTO_OPCODE(ip) @ jump to next instruction
-
-/* continuation for OP_CHECK_CAST_JUMBO */
-
- /*
- * Trivial test failed, need to perform full check. This is common.
- * r0 holds obj->clazz
- * r1 holds desired class resolved from AAAAAAAA
- * r9 holds object
- */
-.LOP_CHECK_CAST_JUMBO_fullcheck:
- mov r10, r1 @ avoid ClassObject getting clobbered
- bl dvmInstanceofNonTrivial @ r0<- boolean result
- cmp r0, #0 @ failed?
- bne .LOP_CHECK_CAST_JUMBO_okay @ no, success
-
- @ A cast has failed. We need to throw a ClassCastException.
- EXPORT_PC() @ about to throw
- ldr r0, [r9, #offObject_clazz] @ r0<- obj->clazz (actual class)
- mov r1, r10 @ r1<- desired class
- bl dvmThrowClassCastException
- b common_exceptionThrown
-
- /*
- * Advance PC and get the next opcode.
- */
-.LOP_CHECK_CAST_JUMBO_okay:
- FETCH_ADVANCE_INST(4) @ advance rPC, load rINST
- GET_INST_OPCODE(ip) @ extract opcode from rINST
- GOTO_OPCODE(ip) @ jump to next instruction
-
- /*
- * Resolution required. This is the least-likely path.
- *
- * r2 holds AAAAAAAA
- * r9 holds object
- */
-.LOP_CHECK_CAST_JUMBO_resolve:
- EXPORT_PC() @ resolve() could throw
- ldr r3, [rSELF, #offThread_method] @ r3<- self->method
- mov r1, r2 @ r1<- AAAAAAAA
- mov r2, #0 @ r2<- false
- ldr r0, [r3, #offMethod_clazz] @ r0<- method->clazz
- bl dvmResolveClass @ r0<- resolved ClassObject ptr
- cmp r0, #0 @ got null?
- beq common_exceptionThrown @ yes, handle exception
- mov r1, r0 @ r1<- class resolved from AAAAAAAA
- ldr r0, [r9, #offObject_clazz] @ r0<- obj->clazz
- b .LOP_CHECK_CAST_JUMBO_resolved @ pick up where we left off
-
-/* continuation for OP_INSTANCE_OF_JUMBO */
-
- /*
- * Class resolved, determine type of check necessary. This is common.
- * r0 holds obj->clazz
- * r1 holds class resolved from AAAAAAAA
- * r9 holds BBBB
- */
-.LOP_INSTANCE_OF_JUMBO_resolved:
- cmp r0, r1 @ same class (trivial success)?
- beq .LOP_INSTANCE_OF_JUMBO_trivial @ yes, trivial finish
- @ fall through to OP_INSTANCE_OF_JUMBO_fullcheck
-
- /*
- * Trivial test failed, need to perform full check. This is common.
- * r0 holds obj->clazz
- * r1 holds class resolved from AAAAAAAA
- * r9 holds BBBB
- */
-.LOP_INSTANCE_OF_JUMBO_fullcheck:
- bl dvmInstanceofNonTrivial @ r0<- boolean result
- @ fall through to OP_INSTANCE_OF_JUMBO_store
-
- /*
- * r0 holds boolean result
- * r9 holds BBBB
- */
-.LOP_INSTANCE_OF_JUMBO_store:
- FETCH_ADVANCE_INST(5) @ advance rPC, load rINST
- SET_VREG(r0, r9) @ vBBBB<- r0
- GET_INST_OPCODE(ip) @ extract opcode from rINST
- GOTO_OPCODE(ip) @ jump to next instruction
-
- /*
- * Trivial test succeeded, save and bail.
- * r9 holds BBBB
- */
-.LOP_INSTANCE_OF_JUMBO_trivial:
- mov r0, #1 @ indicate success
- @ could b OP_INSTANCE_OF_JUMBO_store, but copying is faster and cheaper
- FETCH_ADVANCE_INST(5) @ advance rPC, load rINST
- SET_VREG(r0, r9) @ vBBBB<- r0
- GET_INST_OPCODE(ip) @ extract opcode from rINST
- GOTO_OPCODE(ip) @ jump to next instruction
-
- /*
- * Resolution required. This is the least-likely path.
- *
- * r3 holds AAAAAAAA
- * r9 holds BBBB
- */
-
-.LOP_INSTANCE_OF_JUMBO_resolve:
- EXPORT_PC() @ resolve() could throw
- ldr r0, [rSELF, #offThread_method] @ r0<- self->method
- mov r1, r3 @ r1<- AAAAAAAA
- mov r2, #1 @ r2<- true
- ldr r0, [r0, #offMethod_clazz] @ r0<- method->clazz
- bl dvmResolveClass @ r0<- resolved ClassObject ptr
- cmp r0, #0 @ got null?
- beq common_exceptionThrown @ yes, handle exception
- FETCH(r3, 4) @ r3<- vCCCC
- mov r1, r0 @ r1<- class resolved from AAAAAAAA
- GET_VREG(r0, r3) @ r0<- vCCCC (object)
- ldr r0, [r0, #offObject_clazz] @ r0<- obj->clazz
- b .LOP_INSTANCE_OF_JUMBO_resolved @ pick up where we left off
-
-/* continuation for OP_NEW_INSTANCE_JUMBO */
-
- .balign 32 @ minimize cache lines
-.LOP_NEW_INSTANCE_JUMBO_finish: @ r0=new object
- FETCH(r3, 3) @ r3<- BBBB
- cmp r0, #0 @ failed?
-#if defined(WITH_JIT)
- /*
- * The JIT needs the class to be fully resolved before it can
- * include this instruction in a trace.
- */
- ldrh r1, [rSELF, #offThread_subMode]
- beq common_exceptionThrown @ yes, handle the exception
- ands r1, #kSubModeJitTraceBuild @ under construction?
- bne .LOP_NEW_INSTANCE_JUMBO_jitCheck
-#else
- beq common_exceptionThrown @ yes, handle the exception
-#endif
-.LOP_NEW_INSTANCE_JUMBO_end:
- FETCH_ADVANCE_INST(4) @ advance rPC, load rINST
- GET_INST_OPCODE(ip) @ extract opcode from rINST
- SET_VREG(r0, r3) @ vBBBB<- r0
- GOTO_OPCODE(ip) @ jump to next instruction
-
-#if defined(WITH_JIT)
- /*
- * Check to see if we need to stop the trace building early.
- * r0: new object
- * r3: vAA
- */
-.LOP_NEW_INSTANCE_JUMBO_jitCheck:
- ldr r1, [r10] @ reload resolved class
- cmp r1, #0 @ okay?
- bne .LOP_NEW_INSTANCE_JUMBO_end @ yes, finish
- mov r9, r0 @ preserve new object
- mov r10, r3 @ preserve vAA
- mov r0, rSELF
- mov r1, rPC
- bl dvmJitEndTraceSelect @ (self, pc)
- FETCH_ADVANCE_INST(2) @ advance rPC, load rINST
- GET_INST_OPCODE(ip) @ extract opcode from rINST
- SET_VREG(r9, r10) @ vAA<- new object
- GOTO_OPCODE(ip) @ jump to next instruction
-#endif
-
- /*
- * Class initialization required.
- *
- * r0 holds class object
- */
-.LOP_NEW_INSTANCE_JUMBO_needinit:
- mov r9, r0 @ save r0
- bl dvmInitClass @ initialize class
- cmp r0, #0 @ check boolean result
- mov r0, r9 @ restore r0
- bne .LOP_NEW_INSTANCE_JUMBO_initialized @ success, continue
- b common_exceptionThrown @ failed, deal with init exception
-
- /*
- * Resolution required. This is the least-likely path.
- *
- * r1 holds AAAAAAAA
- */
-.LOP_NEW_INSTANCE_JUMBO_resolve:
- ldr r3, [rSELF, #offThread_method] @ r3<- self->method
- mov r2, #0 @ r2<- false
- ldr r0, [r3, #offMethod_clazz] @ r0<- method->clazz
- bl dvmResolveClass @ r0<- resolved ClassObject ptr
- cmp r0, #0 @ got null?
- bne .LOP_NEW_INSTANCE_JUMBO_resolved @ no, continue
- b common_exceptionThrown @ yes, handle exception
-
-/* continuation for OP_NEW_ARRAY_JUMBO */
-
-
- /*
- * Resolve class. (This is an uncommon case.)
- *
- * r1 holds array length
- * r2 holds class ref AAAAAAAA
- */
-.LOP_NEW_ARRAY_JUMBO_resolve:
- ldr r3, [rSELF, #offThread_method] @ r3<- self->method
- mov r9, r1 @ r9<- length (save)
- mov r1, r2 @ r1<- AAAAAAAA
- mov r2, #0 @ r2<- false
- ldr r0, [r3, #offMethod_clazz] @ r0<- method->clazz
- bl dvmResolveClass @ r0<- call(clazz, ref)
- cmp r0, #0 @ got null?
- mov r1, r9 @ r1<- length (restore)
- beq common_exceptionThrown @ yes, handle exception
- @ fall through to OP_NEW_ARRAY_JUMBO_finish
-
- /*
- * Finish allocation.
- *
- * r0 holds class
- * r1 holds array length
- */
-.LOP_NEW_ARRAY_JUMBO_finish:
- mov r2, #ALLOC_DONT_TRACK @ don't track in local refs table
- bl dvmAllocArrayByClass @ r0<- call(clazz, length, flags)
- cmp r0, #0 @ failed?
- FETCH(r2, 3) @ r2<- vBBBB
- beq common_exceptionThrown @ yes, handle the exception
- FETCH_ADVANCE_INST(5) @ advance rPC, load rINST
- GET_INST_OPCODE(ip) @ extract opcode from rINST
- SET_VREG(r0, r2) @ vBBBB<- r0
- GOTO_OPCODE(ip) @ jump to next instruction
-
-/* continuation for OP_FILLED_NEW_ARRAY_JUMBO */
-
- /*
- * On entry:
- * r0 holds array class
- */
-.LOP_FILLED_NEW_ARRAY_JUMBO_continue:
- ldr r3, [r0, #offClassObject_descriptor] @ r3<- arrayClass->descriptor
- mov r2, #ALLOC_DONT_TRACK @ r2<- alloc flags
- ldrb rINST, [r3, #1] @ rINST<- descriptor[1]
- FETCH(r1, 3) @ r1<- BBBB (length)
- cmp rINST, #'I' @ array of ints?
- cmpne rINST, #'L' @ array of objects?
- cmpne rINST, #'[' @ array of arrays?
- mov r9, r1 @ save length in r9
- bne .LOP_FILLED_NEW_ARRAY_JUMBO_notimpl @ no, not handled yet
- bl dvmAllocArrayByClass @ r0<- call(arClass, length, flags)
- cmp r0, #0 @ null return?
- beq common_exceptionThrown @ alloc failed, handle exception
-
- FETCH(r1, 4) @ r1<- CCCC
- str r0, [rSELF, #offThread_retval] @ retval.l <- new array
- str rINST, [rSELF, #offThread_retval+4] @ retval.h <- type
- add r0, r0, #offArrayObject_contents @ r0<- newArray->contents
- subs r9, r9, #1 @ length--, check for neg
- FETCH_ADVANCE_INST(5) @ advance to next instr, load rINST
- bmi 2f @ was zero, bail
-
- @ copy values from registers into the array
- @ r0=array, r1=CCCC, r9=BBBB (length)
- add r2, rFP, r1, lsl #2 @ r2<- &fp[CCCC]
-1: ldr r3, [r2], #4 @ r3<- *r2++
- subs r9, r9, #1 @ count--
- str r3, [r0], #4 @ *contents++ = vX
- bpl 1b
-
-2: ldr r0, [rSELF, #offThread_retval] @ r0<- object
- ldr r1, [rSELF, #offThread_retval+4] @ r1<- type
- ldr r2, [rSELF, #offThread_cardTable] @ r2<- card table base
- GET_INST_OPCODE(ip) @ ip<- opcode from rINST
- cmp r1, #'I' @ Is int array?
- strneb r2, [r2, r0, lsr #GC_CARD_SHIFT] @ Mark card based on object head
- GOTO_OPCODE(ip) @ execute it
-
- /*
- * Throw an exception indicating that we have not implemented this
- * mode of filled-new-array.
- */
-.LOP_FILLED_NEW_ARRAY_JUMBO_notimpl:
- ldr r0, .L_strFilledNewArrayNotImpl_OP_FILLED_NEW_ARRAY_JUMBO
- bl dvmThrowInternalError
- b common_exceptionThrown
-
- /*
- * Ideally we'd only define this once, but depending on layout we can
- * exceed the range of the load above.
- */
-
-.L_strFilledNewArrayNotImpl_OP_FILLED_NEW_ARRAY_JUMBO:
- .word .LstrFilledNewArrayNotImpl
-
-/* continuation for OP_IGET_JUMBO */
-
- /*
- * Currently:
- * r0 holds resolved field
- * r9 holds object
- */
-.LOP_IGET_JUMBO_resolved:
- cmp r0, #0 @ resolution unsuccessful?
- beq common_exceptionThrown @ yes, throw exception
- @ fall through to OP_IGET_JUMBO_finish
-
- /*
- * Currently:
- * r0 holds resolved field
- * r9 holds object
- */
-.LOP_IGET_JUMBO_finish:
- @bl common_squeak0
- cmp r9, #0 @ check object for null
- ldr r3, [r0, #offInstField_byteOffset] @ r3<- byte offset of field
- beq common_errNullObject @ object was null
- ldr r0, [r9, r3] @ r0<- obj.field (8/16/32 bits)
- @ no-op @ acquiring load
- FETCH(r2, 3) @ r2<- BBBB
- FETCH_ADVANCE_INST(5) @ advance rPC, load rINST
- SET_VREG(r0, r2) @ fp[BBBB]<- r0
- GET_INST_OPCODE(ip) @ extract opcode from rINST
- GOTO_OPCODE(ip) @ jump to next instruction
-
-/* continuation for OP_IGET_WIDE_JUMBO */
-
- /*
- * Currently:
- * r0 holds resolved field
- * r9 holds object
- */
-.LOP_IGET_WIDE_JUMBO_resolved:
- cmp r0, #0 @ resolution unsuccessful?
- beq common_exceptionThrown @ yes, throw exception
- @ fall through to OP_IGET_WIDE_JUMBO_finish
-
- /*
- * Currently:
- * r0 holds resolved field
- * r9 holds object
- */
-.LOP_IGET_WIDE_JUMBO_finish:
- cmp r9, #0 @ check object for null
- ldr r3, [r0, #offInstField_byteOffset] @ r3<- byte offset of field
- beq common_errNullObject @ object was null
- .if 0
- add r0, r9, r3 @ r0<- address of field
- bl dvmQuasiAtomicRead64 @ r0/r1<- contents of field
- .else
- ldrd r0, [r9, r3] @ r0/r1<- obj.field (64-bit align ok)
- .endif
- FETCH(r2, 3) @ r2<- BBBB
- FETCH_ADVANCE_INST(5) @ advance rPC, load rINST
- add r3, rFP, r2, lsl #2 @ r3<- &fp[BBBB]
- GET_INST_OPCODE(ip) @ extract opcode from rINST
- stmia r3, {r0-r1} @ fp[BBBB]<- r0/r1
- GOTO_OPCODE(ip) @ jump to next instruction
-
-/* continuation for OP_IGET_OBJECT_JUMBO */
-
- /*
- * Currently:
- * r0 holds resolved field
- * r9 holds object
- */
-.LOP_IGET_OBJECT_JUMBO_resolved:
- cmp r0, #0 @ resolution unsuccessful?
- beq common_exceptionThrown @ yes, throw exception
- @ fall through to OP_IGET_OBJECT_JUMBO_finish
-
- /*
- * Currently:
- * r0 holds resolved field
- * r9 holds object
- */
-.LOP_IGET_OBJECT_JUMBO_finish:
- @bl common_squeak0
- cmp r9, #0 @ check object for null
- ldr r3, [r0, #offInstField_byteOffset] @ r3<- byte offset of field
- beq common_errNullObject @ object was null
- ldr r0, [r9, r3] @ r0<- obj.field (8/16/32 bits)
- @ no-op @ acquiring load
- FETCH(r2, 3) @ r2<- BBBB
- FETCH_ADVANCE_INST(5) @ advance rPC, load rINST
- SET_VREG(r0, r2) @ fp[BBBB]<- r0
- GET_INST_OPCODE(ip) @ extract opcode from rINST
- GOTO_OPCODE(ip) @ jump to next instruction
-
-/* continuation for OP_IGET_BOOLEAN_JUMBO */
-
- /*
- * Currently:
- * r0 holds resolved field
- * r9 holds object
- */
-.LOP_IGET_BOOLEAN_JUMBO_resolved:
- cmp r0, #0 @ resolution unsuccessful?
- beq common_exceptionThrown @ yes, throw exception
- @ fall through to OP_IGET_BOOLEAN_JUMBO_finish
-
- /*
- * Currently:
- * r0 holds resolved field
- * r9 holds object
- */
-.LOP_IGET_BOOLEAN_JUMBO_finish:
- @bl common_squeak1
- cmp r9, #0 @ check object for null
- ldr r3, [r0, #offInstField_byteOffset] @ r3<- byte offset of field
- beq common_errNullObject @ object was null
- ldr r0, [r9, r3] @ r0<- obj.field (8/16/32 bits)
- @ no-op @ acquiring load
- FETCH(r2, 3) @ r2<- BBBB
- FETCH_ADVANCE_INST(5) @ advance rPC, load rINST
- SET_VREG(r0, r2) @ fp[BBBB]<- r0
- GET_INST_OPCODE(ip) @ extract opcode from rINST
- GOTO_OPCODE(ip) @ jump to next instruction
-
-/* continuation for OP_IGET_BYTE_JUMBO */
-
- /*
- * Currently:
- * r0 holds resolved field
- * r9 holds object
- */
-.LOP_IGET_BYTE_JUMBO_resolved:
- cmp r0, #0 @ resolution unsuccessful?
- beq common_exceptionThrown @ yes, throw exception
- @ fall through to OP_IGET_BYTE_JUMBO_finish
-
- /*
- * Currently:
- * r0 holds resolved field
- * r9 holds object
- */
-.LOP_IGET_BYTE_JUMBO_finish:
- @bl common_squeak2
- cmp r9, #0 @ check object for null
- ldr r3, [r0, #offInstField_byteOffset] @ r3<- byte offset of field
- beq common_errNullObject @ object was null
- ldr r0, [r9, r3] @ r0<- obj.field (8/16/32 bits)
- @ no-op @ acquiring load
- FETCH(r2, 3) @ r2<- BBBB
- FETCH_ADVANCE_INST(5) @ advance rPC, load rINST
- SET_VREG(r0, r2) @ fp[BBBB]<- r0
- GET_INST_OPCODE(ip) @ extract opcode from rINST
- GOTO_OPCODE(ip) @ jump to next instruction
-
-/* continuation for OP_IGET_CHAR_JUMBO */
-
- /*
- * Currently:
- * r0 holds resolved field
- * r9 holds object
- */
-.LOP_IGET_CHAR_JUMBO_resolved:
- cmp r0, #0 @ resolution unsuccessful?
- beq common_exceptionThrown @ yes, throw exception
- @ fall through to OP_IGET_CHAR_JUMBO_finish
-
- /*
- * Currently:
- * r0 holds resolved field
- * r9 holds object
- */
-.LOP_IGET_CHAR_JUMBO_finish:
- @bl common_squeak3
- cmp r9, #0 @ check object for null
- ldr r3, [r0, #offInstField_byteOffset] @ r3<- byte offset of field
- beq common_errNullObject @ object was null
- ldr r0, [r9, r3] @ r0<- obj.field (8/16/32 bits)
- @ no-op @ acquiring load
- FETCH(r2, 3) @ r2<- BBBB
- FETCH_ADVANCE_INST(5) @ advance rPC, load rINST
- SET_VREG(r0, r2) @ fp[BBBB]<- r0
- GET_INST_OPCODE(ip) @ extract opcode from rINST
- GOTO_OPCODE(ip) @ jump to next instruction
-
-/* continuation for OP_IGET_SHORT_JUMBO */
-
- /*
- * Currently:
- * r0 holds resolved field
- * r9 holds object
- */
-.LOP_IGET_SHORT_JUMBO_resolved:
- cmp r0, #0 @ resolution unsuccessful?
- beq common_exceptionThrown @ yes, throw exception
- @ fall through to OP_IGET_SHORT_JUMBO_finish
-
- /*
- * Currently:
- * r0 holds resolved field
- * r9 holds object
- */
-.LOP_IGET_SHORT_JUMBO_finish:
- @bl common_squeak4
- cmp r9, #0 @ check object for null
- ldr r3, [r0, #offInstField_byteOffset] @ r3<- byte offset of field
- beq common_errNullObject @ object was null
- ldr r0, [r9, r3] @ r0<- obj.field (8/16/32 bits)
- @ no-op @ acquiring load
- FETCH(r2, 3) @ r2<- BBBB
- FETCH_ADVANCE_INST(5) @ advance rPC, load rINST
- SET_VREG(r0, r2) @ fp[BBBB]<- r0
- GET_INST_OPCODE(ip) @ extract opcode from rINST
- GOTO_OPCODE(ip) @ jump to next instruction
-
-/* continuation for OP_IPUT_JUMBO */
-
- /*
- * Currently:
- * r0 holds resolved field
- * r9 holds object
- */
-.LOP_IPUT_JUMBO_resolved:
- cmp r0, #0 @ resolution unsuccessful?
- beq common_exceptionThrown @ yes, throw exception
- @ fall through to OP_IPUT_JUMBO_finish
-
- /*
- * Currently:
- * r0 holds resolved field
- * r9 holds object
- */
-.LOP_IPUT_JUMBO_finish:
- @bl common_squeak0
- ldr r3, [r0, #offInstField_byteOffset] @ r3<- byte offset of field
- FETCH(r1, 3) @ r1<- BBBB
- cmp r9, #0 @ check object for null
- GET_VREG(r0, r1) @ r0<- fp[BBBB]
- beq common_errNullObject @ object was null
- FETCH_ADVANCE_INST(5) @ advance rPC, load rINST
- GET_INST_OPCODE(ip) @ extract opcode from rINST
- @ no-op @ releasing store
- str r0, [r9, r3] @ obj.field (8/16/32 bits)<- r0
- @ no-op
- GOTO_OPCODE(ip) @ jump to next instruction
-
-/* continuation for OP_IPUT_WIDE_JUMBO */
-
- /*
- * Currently:
- * r0 holds resolved field
- * r9 holds object
- */
-.LOP_IPUT_WIDE_JUMBO_resolved:
- cmp r0, #0 @ resolution unsuccessful?
- beq common_exceptionThrown @ yes, throw exception
- @ fall through to OP_IPUT_WIDE_JUMBO_finish
-
- /*
- * Currently:
- * r0 holds resolved field
- * r9 holds object
- */
-.LOP_IPUT_WIDE_JUMBO_finish:
- cmp r9, #0 @ check object for null
- FETCH(r2, 3) @ r1<- BBBB
- ldr r3, [r0, #offInstField_byteOffset] @ r3<- byte offset of field
- add r2, rFP, r2, lsl #2 @ r3<- &fp[BBBB]
- beq common_errNullObject @ object was null
- FETCH_ADVANCE_INST(5) @ advance rPC, load rINST
- ldmia r2, {r0-r1} @ r0/r1<- fp[BBBB]
- GET_INST_OPCODE(r10) @ extract opcode from rINST
- .if 0
- add r2, r9, r3 @ r2<- target address
- bl dvmQuasiAtomicSwap64Sync @ stores r0/r1 into addr r2
- .else
- strd r0, [r9, r3] @ obj.field (64 bits, aligned)<- r0/r1
- .endif
- GOTO_OPCODE(r10) @ jump to next instruction
-
-/* continuation for OP_IPUT_OBJECT_JUMBO */
-
- /*
- * Currently:
- * r0 holds resolved field
- * r9 holds object
- */
-.LOP_IPUT_OBJECT_JUMBO_resolved:
- cmp r0, #0 @ resolution unsuccessful?
- beq common_exceptionThrown @ yes, throw exception
- @ fall through to OP_IPUT_OBJECT_JUMBO_finish
-
- /*
- * Currently:
- * r0 holds resolved field
- * r9 holds object
- */
-.LOP_IPUT_OBJECT_JUMBO_finish:
- @bl common_squeak0
- ldr r3, [r0, #offInstField_byteOffset] @ r3<- byte offset of field
- FETCH(r1, 3) @ r1<- BBBB
- cmp r9, #0 @ check object for null
- GET_VREG(r0, r1) @ r0<- fp[BBBB]
- ldr r2, [rSELF, #offThread_cardTable] @ r2<- card table base
- beq common_errNullObject @ object was null
- FETCH_ADVANCE_INST(5) @ advance rPC, load rINST
- GET_INST_OPCODE(ip) @ extract opcode from rINST
- @ no-op @ releasing store
- str r0, [r9, r3] @ obj.field (32 bits)<- r0
- @ no-op
- cmp r0, #0 @ stored a null reference?
- strneb r2, [r2, r9, lsr #GC_CARD_SHIFT] @ mark card if not
- GOTO_OPCODE(ip) @ jump to next instruction
-
-/* continuation for OP_IPUT_BOOLEAN_JUMBO */
-
- /*
- * Currently:
- * r0 holds resolved field
- * r9 holds object
- */
-.LOP_IPUT_BOOLEAN_JUMBO_resolved:
- cmp r0, #0 @ resolution unsuccessful?
- beq common_exceptionThrown @ yes, throw exception
- @ fall through to OP_IPUT_BOOLEAN_JUMBO_finish
-
- /*
- * Currently:
- * r0 holds resolved field
- * r9 holds object
- */
-.LOP_IPUT_BOOLEAN_JUMBO_finish:
- @bl common_squeak1
- ldr r3, [r0, #offInstField_byteOffset] @ r3<- byte offset of field
- FETCH(r1, 3) @ r1<- BBBB
- cmp r9, #0 @ check object for null
- GET_VREG(r0, r1) @ r0<- fp[BBBB]
- beq common_errNullObject @ object was null
- FETCH_ADVANCE_INST(5) @ advance rPC, load rINST
- GET_INST_OPCODE(ip) @ extract opcode from rINST
- @ no-op @ releasing store
- str r0, [r9, r3] @ obj.field (8/16/32 bits)<- r0
- @ no-op
- GOTO_OPCODE(ip) @ jump to next instruction
-
-/* continuation for OP_IPUT_BYTE_JUMBO */
-
- /*
- * Currently:
- * r0 holds resolved field
- * r9 holds object
- */
-.LOP_IPUT_BYTE_JUMBO_resolved:
- cmp r0, #0 @ resolution unsuccessful?
- beq common_exceptionThrown @ yes, throw exception
- @ fall through to OP_IPUT_BYTE_JUMBO_finish
-
- /*
- * Currently:
- * r0 holds resolved field
- * r9 holds object
- */
-.LOP_IPUT_BYTE_JUMBO_finish:
- @bl common_squeak2
- ldr r3, [r0, #offInstField_byteOffset] @ r3<- byte offset of field
- FETCH(r1, 3) @ r1<- BBBB
- cmp r9, #0 @ check object for null
- GET_VREG(r0, r1) @ r0<- fp[BBBB]
- beq common_errNullObject @ object was null
- FETCH_ADVANCE_INST(5) @ advance rPC, load rINST
- GET_INST_OPCODE(ip) @ extract opcode from rINST
- @ no-op @ releasing store
- str r0, [r9, r3] @ obj.field (8/16/32 bits)<- r0
- @ no-op
- GOTO_OPCODE(ip) @ jump to next instruction
-
-/* continuation for OP_IPUT_CHAR_JUMBO */
-
- /*
- * Currently:
- * r0 holds resolved field
- * r9 holds object
- */
-.LOP_IPUT_CHAR_JUMBO_resolved:
- cmp r0, #0 @ resolution unsuccessful?
- beq common_exceptionThrown @ yes, throw exception
- @ fall through to OP_IPUT_CHAR_JUMBO_finish
-
- /*
- * Currently:
- * r0 holds resolved field
- * r9 holds object
- */
-.LOP_IPUT_CHAR_JUMBO_finish:
- @bl common_squeak3
- ldr r3, [r0, #offInstField_byteOffset] @ r3<- byte offset of field
- FETCH(r1, 3) @ r1<- BBBB
- cmp r9, #0 @ check object for null
- GET_VREG(r0, r1) @ r0<- fp[BBBB]
- beq common_errNullObject @ object was null
- FETCH_ADVANCE_INST(5) @ advance rPC, load rINST
- GET_INST_OPCODE(ip) @ extract opcode from rINST
- @ no-op @ releasing store
- str r0, [r9, r3] @ obj.field (8/16/32 bits)<- r0
- @ no-op
- GOTO_OPCODE(ip) @ jump to next instruction
-
-/* continuation for OP_IPUT_SHORT_JUMBO */
-
- /*
- * Currently:
- * r0 holds resolved field
- * r9 holds object
- */
-.LOP_IPUT_SHORT_JUMBO_resolved:
- cmp r0, #0 @ resolution unsuccessful?
- beq common_exceptionThrown @ yes, throw exception
- @ fall through to OP_IPUT_SHORT_JUMBO_finish
-
- /*
- * Currently:
- * r0 holds resolved field
- * r9 holds object
- */
-.LOP_IPUT_SHORT_JUMBO_finish:
- @bl common_squeak4
- ldr r3, [r0, #offInstField_byteOffset] @ r3<- byte offset of field
- FETCH(r1, 3) @ r1<- BBBB
- cmp r9, #0 @ check object for null
- GET_VREG(r0, r1) @ r0<- fp[BBBB]
- beq common_errNullObject @ object was null
- FETCH_ADVANCE_INST(5) @ advance rPC, load rINST
- GET_INST_OPCODE(ip) @ extract opcode from rINST
- @ no-op @ releasing store
- str r0, [r9, r3] @ obj.field (8/16/32 bits)<- r0
- @ no-op
- GOTO_OPCODE(ip) @ jump to next instruction
-
-/* continuation for OP_SGET_JUMBO */
-
- /*
- * Continuation if the field has not yet been resolved.
- * r1: AAAAAAAA field ref
- * r10: dvmDex->pResFields
- */
-.LOP_SGET_JUMBO_resolve:
- ldr r2, [rSELF, #offThread_method] @ r2<- current method
-#if defined(WITH_JIT)
- add r10, r10, r1, lsl #2 @ r10<- &dvmDex->pResFields[field]
-#endif
- EXPORT_PC() @ resolve() could throw, so export now
- ldr r0, [r2, #offMethod_clazz] @ r0<- method->clazz
- bl dvmResolveStaticField @ r0<- resolved StaticField ptr
- cmp r0, #0 @ success?
- beq common_exceptionThrown @ no, handle exception
-#if defined(WITH_JIT)
- /*
- * If the JIT is actively building a trace we need to make sure
- * that the field is fully resolved before including this instruction.
- */
- bl common_verifyField
-#endif
- b .LOP_SGET_JUMBO_finish @ resume
-
-/* continuation for OP_SGET_WIDE_JUMBO */
-
- /*
- * Continuation if the field has not yet been resolved.
- * r1: AAAAAAAA field ref
- *
- * Returns StaticField pointer in r0.
- */
-.LOP_SGET_WIDE_JUMBO_resolve:
- ldr r2, [rSELF, #offThread_method] @ r2<- current method
- EXPORT_PC() @ resolve() could throw, so export now
- ldr r0, [r2, #offMethod_clazz] @ r0<- method->clazz
- bl dvmResolveStaticField @ r0<- resolved StaticField ptr
- cmp r0, #0 @ success?
- bne .LOP_SGET_WIDE_JUMBO_finish @ yes, finish
- b common_exceptionThrown @ no, handle exception
-
-/* continuation for OP_SGET_OBJECT_JUMBO */
-
- /*
- * Continuation if the field has not yet been resolved.
- * r1: AAAAAAAA field ref
- * r10: dvmDex->pResFields
- */
-.LOP_SGET_OBJECT_JUMBO_resolve:
- ldr r2, [rSELF, #offThread_method] @ r2<- current method
-#if defined(WITH_JIT)
- add r10, r10, r1, lsl #2 @ r10<- &dvmDex->pResFields[field]
-#endif
- EXPORT_PC() @ resolve() could throw, so export now
- ldr r0, [r2, #offMethod_clazz] @ r0<- method->clazz
- bl dvmResolveStaticField @ r0<- resolved StaticField ptr
- cmp r0, #0 @ success?
- beq common_exceptionThrown @ no, handle exception
-#if defined(WITH_JIT)
- /*
- * If the JIT is actively building a trace we need to make sure
- * that the field is fully resolved before including this instruction.
- */
- bl common_verifyField
-#endif
- b .LOP_SGET_OBJECT_JUMBO_finish @ resume
-
-/* continuation for OP_SGET_BOOLEAN_JUMBO */
-
- /*
- * Continuation if the field has not yet been resolved.
- * r1: AAAAAAAA field ref
- * r10: dvmDex->pResFields
- */
-.LOP_SGET_BOOLEAN_JUMBO_resolve:
- ldr r2, [rSELF, #offThread_method] @ r2<- current method
-#if defined(WITH_JIT)
- add r10, r10, r1, lsl #2 @ r10<- &dvmDex->pResFields[field]
-#endif
- EXPORT_PC() @ resolve() could throw, so export now
- ldr r0, [r2, #offMethod_clazz] @ r0<- method->clazz
- bl dvmResolveStaticField @ r0<- resolved StaticField ptr
- cmp r0, #0 @ success?
- beq common_exceptionThrown @ no, handle exception
-#if defined(WITH_JIT)
- /*
- * If the JIT is actively building a trace we need to make sure
- * that the field is fully resolved before including this instruction.
- */
- bl common_verifyField
-#endif
- b .LOP_SGET_BOOLEAN_JUMBO_finish @ resume
-
-/* continuation for OP_SGET_BYTE_JUMBO */
-
- /*
- * Continuation if the field has not yet been resolved.
- * r1: AAAAAAAA field ref
- * r10: dvmDex->pResFields
- */
-.LOP_SGET_BYTE_JUMBO_resolve:
- ldr r2, [rSELF, #offThread_method] @ r2<- current method
-#if defined(WITH_JIT)
- add r10, r10, r1, lsl #2 @ r10<- &dvmDex->pResFields[field]
-#endif
- EXPORT_PC() @ resolve() could throw, so export now
- ldr r0, [r2, #offMethod_clazz] @ r0<- method->clazz
- bl dvmResolveStaticField @ r0<- resolved StaticField ptr
- cmp r0, #0 @ success?
- beq common_exceptionThrown @ no, handle exception
-#if defined(WITH_JIT)
- /*
- * If the JIT is actively building a trace we need to make sure
- * that the field is fully resolved before including this instruction.
- */
- bl common_verifyField
-#endif
- b .LOP_SGET_BYTE_JUMBO_finish @ resume
-
-/* continuation for OP_SGET_CHAR_JUMBO */
-
- /*
- * Continuation if the field has not yet been resolved.
- * r1: AAAAAAAA field ref
- * r10: dvmDex->pResFields
- */
-.LOP_SGET_CHAR_JUMBO_resolve:
- ldr r2, [rSELF, #offThread_method] @ r2<- current method
-#if defined(WITH_JIT)
- add r10, r10, r1, lsl #2 @ r10<- &dvmDex->pResFields[field]
-#endif
- EXPORT_PC() @ resolve() could throw, so export now
- ldr r0, [r2, #offMethod_clazz] @ r0<- method->clazz
- bl dvmResolveStaticField @ r0<- resolved StaticField ptr
- cmp r0, #0 @ success?
- beq common_exceptionThrown @ no, handle exception
-#if defined(WITH_JIT)
- /*
- * If the JIT is actively building a trace we need to make sure
- * that the field is fully resolved before including this instruction.
- */
- bl common_verifyField
-#endif
- b .LOP_SGET_CHAR_JUMBO_finish @ resume
-
-/* continuation for OP_SGET_SHORT_JUMBO */
-
- /*
- * Continuation if the field has not yet been resolved.
- * r1: AAAAAAAA field ref
- * r10: dvmDex->pResFields
- */
-.LOP_SGET_SHORT_JUMBO_resolve:
- ldr r2, [rSELF, #offThread_method] @ r2<- current method
-#if defined(WITH_JIT)
- add r10, r10, r1, lsl #2 @ r10<- &dvmDex->pResFields[field]
-#endif
- EXPORT_PC() @ resolve() could throw, so export now
- ldr r0, [r2, #offMethod_clazz] @ r0<- method->clazz
- bl dvmResolveStaticField @ r0<- resolved StaticField ptr
- cmp r0, #0 @ success?
- beq common_exceptionThrown @ no, handle exception
-#if defined(WITH_JIT)
- /*
- * If the JIT is actively building a trace we need to make sure
- * that the field is fully resolved before including this instruction.
- */
- bl common_verifyField
-#endif
- b .LOP_SGET_SHORT_JUMBO_finish @ resume
-
-/* continuation for OP_SPUT_JUMBO */
-
- /*
- * Continuation if the field has not yet been resolved.
- * r1: AAAAAAAA field ref
- * r10: dvmDex->pResFields
- */
-.LOP_SPUT_JUMBO_resolve:
- ldr r2, [rSELF, #offThread_method] @ r2<- current method
-#if defined(WITH_JIT)
- add r10, r10, r1, lsl #2 @ r10<- &dvmDex->pResFields[field]
-#endif
- EXPORT_PC() @ resolve() could throw, so export now
- ldr r0, [r2, #offMethod_clazz] @ r0<- method->clazz
- bl dvmResolveStaticField @ r0<- resolved StaticField ptr
- cmp r0, #0 @ success?
- beq common_exceptionThrown @ no, handle exception
-#if defined(WITH_JIT)
- /*
- * If the JIT is actively building a trace we need to make sure
- * that the field is fully resolved before including this instruction.
- */
- bl common_verifyField
-#endif
- b .LOP_SPUT_JUMBO_finish @ resume
-
-/* continuation for OP_SPUT_WIDE_JUMBO */
-
- /*
- * Continuation if the field has not yet been resolved.
- * r1: AAAAAAAA field ref
- * r9: &fp[BBBB]
- * r10: dvmDex->pResFields
- *
- * Returns StaticField pointer in r2.
- */
-.LOP_SPUT_WIDE_JUMBO_resolve:
- ldr r2, [rSELF, #offThread_method] @ r2<- current method
-#if defined(WITH_JIT)
- add r10, r10, r1, lsl #2 @ r10<- &dvmDex->pResFields[field]
-#endif
- EXPORT_PC() @ resolve() could throw, so export now
- ldr r0, [r2, #offMethod_clazz] @ r0<- method->clazz
- bl dvmResolveStaticField @ r0<- resolved StaticField ptr
- cmp r0, #0 @ success?
- mov r2, r0 @ copy to r2
- beq common_exceptionThrown @ no, handle exception
-#if defined(WITH_JIT)
- /*
- * If the JIT is actively building a trace we need to make sure
- * that the field is fully resolved before including this instruction.
- */
- bl common_verifyField
-#endif
- b .LOP_SPUT_WIDE_JUMBO_finish @ resume
-
-/* continuation for OP_SPUT_OBJECT_JUMBO */
-
-
-.LOP_SPUT_OBJECT_JUMBO_end:
- str r1, [r0, #offStaticField_value] @ field<- vBBBB
- @ no-op
- cmp r1, #0 @ stored a null object?
- strneb r2, [r2, r9, lsr #GC_CARD_SHIFT] @ mark card based on obj head
- GOTO_OPCODE(ip) @ jump to next instruction
-
- /* Continuation if the field has not yet been resolved.
- * r1: AAAAaaaa field ref
- * r10: dvmDex->pResFields
- */
-.LOP_SPUT_OBJECT_JUMBO_resolve:
- ldr r2, [rSELF, #offThread_method] @ r9<- current method
-#if defined(WITH_JIT)
- add r10, r10, r1, lsl #2 @ r10<- &dvmDex->pResFields[field]
-#endif
- EXPORT_PC() @ resolve() could throw, so export now
- ldr r0, [r2, #offMethod_clazz] @ r0<- method->clazz
- bl dvmResolveStaticField @ r0<- resolved StaticField ptr
- cmp r0, #0 @ success?
- beq common_exceptionThrown @ no, handle exception
-#if defined(WITH_JIT)
- /*
- * If the JIT is actively building a trace we need to make sure
- * that the field is fully resolved before including this instruction.
- */
- bl common_verifyField
-#endif
- b .LOP_SPUT_OBJECT_JUMBO_finish @ resume
-
-
-/* continuation for OP_SPUT_BOOLEAN_JUMBO */
-
- /*
- * Continuation if the field has not yet been resolved.
- * r1: AAAAAAAA field ref
- * r10: dvmDex->pResFields
- */
-.LOP_SPUT_BOOLEAN_JUMBO_resolve:
- ldr r2, [rSELF, #offThread_method] @ r2<- current method
-#if defined(WITH_JIT)
- add r10, r10, r1, lsl #2 @ r10<- &dvmDex->pResFields[field]
-#endif
- EXPORT_PC() @ resolve() could throw, so export now
- ldr r0, [r2, #offMethod_clazz] @ r0<- method->clazz
- bl dvmResolveStaticField @ r0<- resolved StaticField ptr
- cmp r0, #0 @ success?
- beq common_exceptionThrown @ no, handle exception
-#if defined(WITH_JIT)
- /*
- * If the JIT is actively building a trace we need to make sure
- * that the field is fully resolved before including this instruction.
- */
- bl common_verifyField
-#endif
- b .LOP_SPUT_BOOLEAN_JUMBO_finish @ resume
-
-/* continuation for OP_SPUT_BYTE_JUMBO */
-
- /*
- * Continuation if the field has not yet been resolved.
- * r1: AAAAAAAA field ref
- * r10: dvmDex->pResFields
- */
-.LOP_SPUT_BYTE_JUMBO_resolve:
- ldr r2, [rSELF, #offThread_method] @ r2<- current method
-#if defined(WITH_JIT)
- add r10, r10, r1, lsl #2 @ r10<- &dvmDex->pResFields[field]
-#endif
- EXPORT_PC() @ resolve() could throw, so export now
- ldr r0, [r2, #offMethod_clazz] @ r0<- method->clazz
- bl dvmResolveStaticField @ r0<- resolved StaticField ptr
- cmp r0, #0 @ success?
- beq common_exceptionThrown @ no, handle exception
-#if defined(WITH_JIT)
- /*
- * If the JIT is actively building a trace we need to make sure
- * that the field is fully resolved before including this instruction.
- */
- bl common_verifyField
-#endif
- b .LOP_SPUT_BYTE_JUMBO_finish @ resume
-
-/* continuation for OP_SPUT_CHAR_JUMBO */
-
- /*
- * Continuation if the field has not yet been resolved.
- * r1: AAAAAAAA field ref
- * r10: dvmDex->pResFields
- */
-.LOP_SPUT_CHAR_JUMBO_resolve:
- ldr r2, [rSELF, #offThread_method] @ r2<- current method
-#if defined(WITH_JIT)
- add r10, r10, r1, lsl #2 @ r10<- &dvmDex->pResFields[field]
-#endif
- EXPORT_PC() @ resolve() could throw, so export now
- ldr r0, [r2, #offMethod_clazz] @ r0<- method->clazz
- bl dvmResolveStaticField @ r0<- resolved StaticField ptr
- cmp r0, #0 @ success?
- beq common_exceptionThrown @ no, handle exception
-#if defined(WITH_JIT)
- /*
- * If the JIT is actively building a trace we need to make sure
- * that the field is fully resolved before including this instruction.
- */
- bl common_verifyField
-#endif
- b .LOP_SPUT_CHAR_JUMBO_finish @ resume
-
-/* continuation for OP_SPUT_SHORT_JUMBO */
-
- /*
- * Continuation if the field has not yet been resolved.
- * r1: AAAAAAAA field ref
- * r10: dvmDex->pResFields
- */
-.LOP_SPUT_SHORT_JUMBO_resolve:
- ldr r2, [rSELF, #offThread_method] @ r2<- current method
-#if defined(WITH_JIT)
- add r10, r10, r1, lsl #2 @ r10<- &dvmDex->pResFields[field]
-#endif
- EXPORT_PC() @ resolve() could throw, so export now
- ldr r0, [r2, #offMethod_clazz] @ r0<- method->clazz
- bl dvmResolveStaticField @ r0<- resolved StaticField ptr
- cmp r0, #0 @ success?
- beq common_exceptionThrown @ no, handle exception
-#if defined(WITH_JIT)
- /*
- * If the JIT is actively building a trace we need to make sure
- * that the field is fully resolved before including this instruction.
- */
- bl common_verifyField
-#endif
- b .LOP_SPUT_SHORT_JUMBO_finish @ resume
-
-/* continuation for OP_INVOKE_VIRTUAL_JUMBO */
-
- /*
- * At this point:
- * r0 = resolved base method
- */
-.LOP_INVOKE_VIRTUAL_JUMBO_continue:
- FETCH(r10, 4) @ r10<- CCCC
- GET_VREG(r9, r10) @ r9<- "this" ptr
- ldrh r2, [r0, #offMethod_methodIndex] @ r2<- baseMethod->methodIndex
- cmp r9, #0 @ is "this" null?
- beq common_errNullObject @ null "this", throw exception
- ldr r3, [r9, #offObject_clazz] @ r3<- thisPtr->clazz
- ldr r3, [r3, #offClassObject_vtable] @ r3<- thisPtr->clazz->vtable
- ldr r0, [r3, r2, lsl #2] @ r3<- vtable[methodIndex]
- bl common_invokeMethodJumbo @ (r0=method, r9="this")
-
-/* continuation for OP_INVOKE_SUPER_JUMBO */
-
- /*
- * At this point:
- * r0 = resolved base method
- * r10 = method->clazz
- */
-.LOP_INVOKE_SUPER_JUMBO_continue:
- ldr r1, [r10, #offClassObject_super] @ r1<- method->clazz->super
- ldrh r2, [r0, #offMethod_methodIndex] @ r2<- baseMethod->methodIndex
- ldr r3, [r1, #offClassObject_vtableCount] @ r3<- super->vtableCount
- EXPORT_PC() @ must export for invoke
- cmp r2, r3 @ compare (methodIndex, vtableCount)
- bcs .LOP_INVOKE_SUPER_JUMBO_nsm @ method not present in superclass
- ldr r1, [r1, #offClassObject_vtable] @ r1<- ...clazz->super->vtable
- ldr r0, [r1, r2, lsl #2] @ r3<- vtable[methodIndex]
- bl common_invokeMethodJumbo @ (r0=method, r9="this")
-
-.LOP_INVOKE_SUPER_JUMBO_resolve:
- mov r0, r10 @ r0<- method->clazz
- mov r2, #METHOD_VIRTUAL @ resolver method type
- bl dvmResolveMethod @ r0<- call(clazz, ref, flags)
- cmp r0, #0 @ got null?
- bne .LOP_INVOKE_SUPER_JUMBO_continue @ no, continue
- b common_exceptionThrown @ yes, handle exception
-
- /*
- * Throw a NoSuchMethodError with the method name as the message.
- * r0 = resolved base method
- */
-.LOP_INVOKE_SUPER_JUMBO_nsm:
- ldr r1, [r0, #offMethod_name] @ r1<- method name
- b common_errNoSuchMethod
-
-/* continuation for OP_INVOKE_DIRECT_JUMBO */
-
- /*
- * On entry:
- * r1 = reference (CCCC)
- * r10 = "this" register
- */
-.LOP_INVOKE_DIRECT_JUMBO_resolve:
- ldr r3, [rSELF, #offThread_method] @ r3<- self->method
- ldr r0, [r3, #offMethod_clazz] @ r0<- method->clazz
- mov r2, #METHOD_DIRECT @ resolver method type
- bl dvmResolveMethod @ r0<- call(clazz, ref, flags)
- cmp r0, #0 @ got null?
- bne .LOP_INVOKE_DIRECT_JUMBO_finish @ no, continue
- b common_exceptionThrown @ yes, handle exception
-
-/* continuation for OP_INVOKE_STATIC_JUMBO */
-
-
-.LOP_INVOKE_STATIC_JUMBO_resolve:
- ldr r3, [rSELF, #offThread_method] @ r3<- self->method
- ldr r0, [r3, #offMethod_clazz] @ r0<- method->clazz
- mov r2, #METHOD_STATIC @ resolver method type
- bl dvmResolveMethod @ r0<- call(clazz, ref, flags)
- cmp r0, #0 @ got null?
-#if defined(WITH_JIT)
- /*
- * Check to see if we're actively building a trace. If so,
- * we need to keep this instruction out of it.
- * r10: &resolved_methodToCall
- */
- ldrh r2, [rSELF, #offThread_subMode]
- beq common_exceptionThrown @ null, handle exception
- ands r2, #kSubModeJitTraceBuild @ trace under construction?
- beq common_invokeMethodJumboNoThis @ no (r0=method, r9="this")
- ldr r1, [r10] @ reload resolved method
- cmp r1, #0 @ finished resolving?
- bne common_invokeMethodJumboNoThis @ yes (r0=method, r9="this")
- mov r10, r0 @ preserve method
- mov r0, rSELF
- mov r1, rPC
- bl dvmJitEndTraceSelect @ (self, pc)
- mov r0, r10
- b common_invokeMethodJumboNoThis @ whew, finally!
-#else
- bne common_invokeMethodJumboNoThis @ (r0=method, r9="this")
- b common_exceptionThrown @ yes, handle exception
-#endif
-
-/* continuation for OP_INVOKE_OBJECT_INIT_JUMBO */
-
-.LOP_INVOKE_OBJECT_INIT_JUMBO_setFinal:
- EXPORT_PC() @ can throw
- bl dvmSetFinalizable @ call dvmSetFinalizable(obj)
- ldr r0, [rSELF, #offThread_exception] @ r0<- self->exception
- cmp r0, #0 @ exception pending?
- bne common_exceptionThrown @ yes, handle it
- b .LOP_INVOKE_OBJECT_INIT_JUMBO_finish
-
- /*
- * A debugger is attached, so we need to go ahead and do
- * this. For simplicity, we'll just jump directly to the
- * corresponding handler. Note that we can't use
- * rIBASE here because it may be in single-step mode.
- * Load the primary table base directly.
- */
-.LOP_INVOKE_OBJECT_INIT_JUMBO_debugger:
- ldr r1, [rSELF, #offThread_mainHandlerTable]
- .if 1
- mov ip, #OP_INVOKE_DIRECT_JUMBO
- .else
- mov ip, #OP_INVOKE_DIRECT_RANGE
- .endif
- GOTO_OPCODE_BASE(r1,ip) @ execute it
-
-/* continuation for OP_IGET_VOLATILE_JUMBO */
-
- /*
- * Currently:
- * r0 holds resolved field
- * r9 holds object
- */
-.LOP_IGET_VOLATILE_JUMBO_resolved:
- cmp r0, #0 @ resolution unsuccessful?
- beq common_exceptionThrown @ yes, throw exception
- @ fall through to OP_IGET_VOLATILE_JUMBO_finish
-
- /*
- * Currently:
- * r0 holds resolved field
- * r9 holds object
- */
-.LOP_IGET_VOLATILE_JUMBO_finish:
- @bl common_squeak0
- cmp r9, #0 @ check object for null
- ldr r3, [r0, #offInstField_byteOffset] @ r3<- byte offset of field
- beq common_errNullObject @ object was null
- ldr r0, [r9, r3] @ r0<- obj.field (8/16/32 bits)
- SMP_DMB @ acquiring load
- FETCH(r2, 3) @ r2<- BBBB
- FETCH_ADVANCE_INST(5) @ advance rPC, load rINST
- SET_VREG(r0, r2) @ fp[BBBB]<- r0
- GET_INST_OPCODE(ip) @ extract opcode from rINST
- GOTO_OPCODE(ip) @ jump to next instruction
-
-/* continuation for OP_IGET_WIDE_VOLATILE_JUMBO */
-
- /*
- * Currently:
- * r0 holds resolved field
- * r9 holds object
- */
-.LOP_IGET_WIDE_VOLATILE_JUMBO_resolved:
- cmp r0, #0 @ resolution unsuccessful?
- beq common_exceptionThrown @ yes, throw exception
- @ fall through to OP_IGET_WIDE_VOLATILE_JUMBO_finish
-
- /*
- * Currently:
- * r0 holds resolved field
- * r9 holds object
- */
-.LOP_IGET_WIDE_VOLATILE_JUMBO_finish:
- cmp r9, #0 @ check object for null
- ldr r3, [r0, #offInstField_byteOffset] @ r3<- byte offset of field
- beq common_errNullObject @ object was null
- .if 1
- add r0, r9, r3 @ r0<- address of field
- bl dvmQuasiAtomicRead64 @ r0/r1<- contents of field
- .else
- ldrd r0, [r9, r3] @ r0/r1<- obj.field (64-bit align ok)
- .endif
- FETCH(r2, 3) @ r2<- BBBB
- FETCH_ADVANCE_INST(5) @ advance rPC, load rINST
- add r3, rFP, r2, lsl #2 @ r3<- &fp[BBBB]
- GET_INST_OPCODE(ip) @ extract opcode from rINST
- stmia r3, {r0-r1} @ fp[BBBB]<- r0/r1
- GOTO_OPCODE(ip) @ jump to next instruction
-
-/* continuation for OP_IGET_OBJECT_VOLATILE_JUMBO */
-
- /*
- * Currently:
- * r0 holds resolved field
- * r9 holds object
- */
-.LOP_IGET_OBJECT_VOLATILE_JUMBO_resolved:
- cmp r0, #0 @ resolution unsuccessful?
- beq common_exceptionThrown @ yes, throw exception
- @ fall through to OP_IGET_OBJECT_VOLATILE_JUMBO_finish
-
- /*
- * Currently:
- * r0 holds resolved field
- * r9 holds object
- */
-.LOP_IGET_OBJECT_VOLATILE_JUMBO_finish:
- @bl common_squeak0
- cmp r9, #0 @ check object for null
- ldr r3, [r0, #offInstField_byteOffset] @ r3<- byte offset of field
- beq common_errNullObject @ object was null
- ldr r0, [r9, r3] @ r0<- obj.field (8/16/32 bits)
- SMP_DMB @ acquiring load
- FETCH(r2, 3) @ r2<- BBBB
- FETCH_ADVANCE_INST(5) @ advance rPC, load rINST
- SET_VREG(r0, r2) @ fp[BBBB]<- r0
- GET_INST_OPCODE(ip) @ extract opcode from rINST
- GOTO_OPCODE(ip) @ jump to next instruction
-
-/* continuation for OP_IPUT_VOLATILE_JUMBO */
-
- /*
- * Currently:
- * r0 holds resolved field
- * r9 holds object
- */
-.LOP_IPUT_VOLATILE_JUMBO_resolved:
- cmp r0, #0 @ resolution unsuccessful?
- beq common_exceptionThrown @ yes, throw exception
- @ fall through to OP_IPUT_VOLATILE_JUMBO_finish
-
- /*
- * Currently:
- * r0 holds resolved field
- * r9 holds object
- */
-.LOP_IPUT_VOLATILE_JUMBO_finish:
- @bl common_squeak0
- ldr r3, [r0, #offInstField_byteOffset] @ r3<- byte offset of field
- FETCH(r1, 3) @ r1<- BBBB
- cmp r9, #0 @ check object for null
- GET_VREG(r0, r1) @ r0<- fp[BBBB]
- beq common_errNullObject @ object was null
- FETCH_ADVANCE_INST(5) @ advance rPC, load rINST
- GET_INST_OPCODE(ip) @ extract opcode from rINST
- SMP_DMB_ST @ releasing store
- str r0, [r9, r3] @ obj.field (8/16/32 bits)<- r0
- SMP_DMB
- GOTO_OPCODE(ip) @ jump to next instruction
-
-/* continuation for OP_IPUT_WIDE_VOLATILE_JUMBO */
-
- /*
- * Currently:
- * r0 holds resolved field
- * r9 holds object
- */
-.LOP_IPUT_WIDE_VOLATILE_JUMBO_resolved:
- cmp r0, #0 @ resolution unsuccessful?
- beq common_exceptionThrown @ yes, throw exception
- @ fall through to OP_IPUT_WIDE_VOLATILE_JUMBO_finish
-
- /*
- * Currently:
- * r0 holds resolved field
- * r9 holds object
- */
-.LOP_IPUT_WIDE_VOLATILE_JUMBO_finish:
- cmp r9, #0 @ check object for null
- FETCH(r2, 3) @ r1<- BBBB
- ldr r3, [r0, #offInstField_byteOffset] @ r3<- byte offset of field
- add r2, rFP, r2, lsl #2 @ r3<- &fp[BBBB]
- beq common_errNullObject @ object was null
- FETCH_ADVANCE_INST(5) @ advance rPC, load rINST
- ldmia r2, {r0-r1} @ r0/r1<- fp[BBBB]
- GET_INST_OPCODE(r10) @ extract opcode from rINST
- .if 1
- add r2, r9, r3 @ r2<- target address
- bl dvmQuasiAtomicSwap64Sync @ stores r0/r1 into addr r2
- .else
- strd r0, [r9, r3] @ obj.field (64 bits, aligned)<- r0/r1
- .endif
- GOTO_OPCODE(r10) @ jump to next instruction
-
-/* continuation for OP_IPUT_OBJECT_VOLATILE_JUMBO */
-
- /*
- * Currently:
- * r0 holds resolved field
- * r9 holds object
- */
-.LOP_IPUT_OBJECT_VOLATILE_JUMBO_resolved:
- cmp r0, #0 @ resolution unsuccessful?
- beq common_exceptionThrown @ yes, throw exception
- @ fall through to OP_IPUT_OBJECT_VOLATILE_JUMBO_finish
-
- /*
- * Currently:
- * r0 holds resolved field
- * r9 holds object
- */
-.LOP_IPUT_OBJECT_VOLATILE_JUMBO_finish:
- @bl common_squeak0
- ldr r3, [r0, #offInstField_byteOffset] @ r3<- byte offset of field
- FETCH(r1, 3) @ r1<- BBBB
- cmp r9, #0 @ check object for null
- GET_VREG(r0, r1) @ r0<- fp[BBBB]
- ldr r2, [rSELF, #offThread_cardTable] @ r2<- card table base
- beq common_errNullObject @ object was null
- FETCH_ADVANCE_INST(5) @ advance rPC, load rINST
- GET_INST_OPCODE(ip) @ extract opcode from rINST
- SMP_DMB_ST @ releasing store
- str r0, [r9, r3] @ obj.field (32 bits)<- r0
- SMP_DMB
- cmp r0, #0 @ stored a null reference?
- strneb r2, [r2, r9, lsr #GC_CARD_SHIFT] @ mark card if not
- GOTO_OPCODE(ip) @ jump to next instruction
-
-/* continuation for OP_SGET_VOLATILE_JUMBO */
-
- /*
- * Continuation if the field has not yet been resolved.
- * r1: AAAAAAAA field ref
- * r10: dvmDex->pResFields
- */
-.LOP_SGET_VOLATILE_JUMBO_resolve:
- ldr r2, [rSELF, #offThread_method] @ r2<- current method
-#if defined(WITH_JIT)
- add r10, r10, r1, lsl #2 @ r10<- &dvmDex->pResFields[field]
-#endif
- EXPORT_PC() @ resolve() could throw, so export now
- ldr r0, [r2, #offMethod_clazz] @ r0<- method->clazz
- bl dvmResolveStaticField @ r0<- resolved StaticField ptr
- cmp r0, #0 @ success?
- beq common_exceptionThrown @ no, handle exception
-#if defined(WITH_JIT)
- /*
- * If the JIT is actively building a trace we need to make sure
- * that the field is fully resolved before including this instruction.
- */
- bl common_verifyField
-#endif
- b .LOP_SGET_VOLATILE_JUMBO_finish @ resume
-
-/* continuation for OP_SGET_WIDE_VOLATILE_JUMBO */
-
- /*
- * Continuation if the field has not yet been resolved.
- * r1: AAAAAAAA field ref
- *
- * Returns StaticField pointer in r0.
- */
-.LOP_SGET_WIDE_VOLATILE_JUMBO_resolve:
- ldr r2, [rSELF, #offThread_method] @ r2<- current method
- EXPORT_PC() @ resolve() could throw, so export now
- ldr r0, [r2, #offMethod_clazz] @ r0<- method->clazz
- bl dvmResolveStaticField @ r0<- resolved StaticField ptr
- cmp r0, #0 @ success?
- bne .LOP_SGET_WIDE_VOLATILE_JUMBO_finish @ yes, finish
- b common_exceptionThrown @ no, handle exception
-
-/* continuation for OP_SGET_OBJECT_VOLATILE_JUMBO */
-
- /*
- * Continuation if the field has not yet been resolved.
- * r1: AAAAAAAA field ref
- * r10: dvmDex->pResFields
- */
-.LOP_SGET_OBJECT_VOLATILE_JUMBO_resolve:
- ldr r2, [rSELF, #offThread_method] @ r2<- current method
-#if defined(WITH_JIT)
- add r10, r10, r1, lsl #2 @ r10<- &dvmDex->pResFields[field]
-#endif
- EXPORT_PC() @ resolve() could throw, so export now
- ldr r0, [r2, #offMethod_clazz] @ r0<- method->clazz
- bl dvmResolveStaticField @ r0<- resolved StaticField ptr
- cmp r0, #0 @ success?
- beq common_exceptionThrown @ no, handle exception
-#if defined(WITH_JIT)
- /*
- * If the JIT is actively building a trace we need to make sure
- * that the field is fully resolved before including this instruction.
- */
- bl common_verifyField
-#endif
- b .LOP_SGET_OBJECT_VOLATILE_JUMBO_finish @ resume
-
-/* continuation for OP_SPUT_VOLATILE_JUMBO */
-
- /*
- * Continuation if the field has not yet been resolved.
- * r1: AAAAAAAA field ref
- * r10: dvmDex->pResFields
- */
-.LOP_SPUT_VOLATILE_JUMBO_resolve:
- ldr r2, [rSELF, #offThread_method] @ r2<- current method
-#if defined(WITH_JIT)
- add r10, r10, r1, lsl #2 @ r10<- &dvmDex->pResFields[field]
-#endif
- EXPORT_PC() @ resolve() could throw, so export now
- ldr r0, [r2, #offMethod_clazz] @ r0<- method->clazz
- bl dvmResolveStaticField @ r0<- resolved StaticField ptr
- cmp r0, #0 @ success?
- beq common_exceptionThrown @ no, handle exception
-#if defined(WITH_JIT)
- /*
- * If the JIT is actively building a trace we need to make sure
- * that the field is fully resolved before including this instruction.
- */
- bl common_verifyField
-#endif
- b .LOP_SPUT_VOLATILE_JUMBO_finish @ resume
-
-/* continuation for OP_SPUT_WIDE_VOLATILE_JUMBO */
-
- /*
- * Continuation if the field has not yet been resolved.
- * r1: AAAAAAAA field ref
- * r9: &fp[BBBB]
- * r10: dvmDex->pResFields
- *
- * Returns StaticField pointer in r2.
- */
-.LOP_SPUT_WIDE_VOLATILE_JUMBO_resolve:
- ldr r2, [rSELF, #offThread_method] @ r2<- current method
-#if defined(WITH_JIT)
- add r10, r10, r1, lsl #2 @ r10<- &dvmDex->pResFields[field]
-#endif
- EXPORT_PC() @ resolve() could throw, so export now
- ldr r0, [r2, #offMethod_clazz] @ r0<- method->clazz
- bl dvmResolveStaticField @ r0<- resolved StaticField ptr
- cmp r0, #0 @ success?
- mov r2, r0 @ copy to r2
- beq common_exceptionThrown @ no, handle exception
-#if defined(WITH_JIT)
- /*
- * If the JIT is actively building a trace we need to make sure
- * that the field is fully resolved before including this instruction.
- */
- bl common_verifyField
-#endif
- b .LOP_SPUT_WIDE_VOLATILE_JUMBO_finish @ resume
-
-/* continuation for OP_SPUT_OBJECT_VOLATILE_JUMBO */
-
-
-.LOP_SPUT_OBJECT_VOLATILE_JUMBO_end:
- str r1, [r0, #offStaticField_value] @ field<- vBBBB
- SMP_DMB
- cmp r1, #0 @ stored a null object?
- strneb r2, [r2, r9, lsr #GC_CARD_SHIFT] @ mark card based on obj head
- GOTO_OPCODE(ip) @ jump to next instruction
-
- /* Continuation if the field has not yet been resolved.
- * r1: AAAAaaaa field ref
- * r10: dvmDex->pResFields
- */
-.LOP_SPUT_OBJECT_VOLATILE_JUMBO_resolve:
- ldr r2, [rSELF, #offThread_method] @ r9<- current method
-#if defined(WITH_JIT)
- add r10, r10, r1, lsl #2 @ r10<- &dvmDex->pResFields[field]
-#endif
- EXPORT_PC() @ resolve() could throw, so export now
- ldr r0, [r2, #offMethod_clazz] @ r0<- method->clazz
- bl dvmResolveStaticField @ r0<- resolved StaticField ptr
- cmp r0, #0 @ success?
- beq common_exceptionThrown @ no, handle exception
-#if defined(WITH_JIT)
- /*
- * If the JIT is actively building a trace we need to make sure
- * that the field is fully resolved before including this instruction.
- */
- bl common_verifyField
-#endif
- b .LOP_SPUT_OBJECT_VOLATILE_JUMBO_finish @ resume
-
-
.size dvmAsmSisterStart, .-dvmAsmSisterStart
.global dvmAsmSisterEnd
dvmAsmSisterEnd:
@@ -20779,5449 +16073,7 @@ dvmAsmAltInstructionStart = .L_ALT_OP_NOP
/* ------------------------------ */
.balign 64
-.L_ALT_OP_DISPATCH_FF: /* 0xff */
-/* File: armv5te/ALT_OP_DISPATCH_FF.S */
-/*
- * Unlike other alt stubs, we don't want to call dvmCheckBefore() here.
- * Instead, just treat this as a trampoline to reach the real alt
- * handler (which will do the dvmCheckBefore() call.
- */
- mov ip, rINST, lsr #8 @ ip<- extended opcode
- add ip, ip, #256 @ add offset for extended opcodes
- GOTO_OPCODE(ip) @ go to proper extended handler
-
-
-/* ------------------------------ */
- .balign 64
-.L_ALT_OP_CONST_CLASS_JUMBO: /* 0x100 */
-/* File: armv5te/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Note that the call to dvmCheckBefore is done as a tail call.
- * rIBASE updates won't be seen until a refresh, and we can tell we have a
- * stale rIBASE if breakFlags==0. Always refresh rIBASE here, and then
- * bail to the real handler if breakFlags==0.
- */
- ldrb r3, [rSELF, #offThread_breakFlags]
- adrl lr, dvmAsmInstructionStart + (256 * 64)
- ldr rIBASE, [rSELF, #offThread_curHandlerTable]
- cmp r3, #0
- bxeq lr @ nothing to do - jump to real handler
- EXPORT_PC()
- mov r0, rPC @ arg0
- mov r1, rFP @ arg1
- mov r2, rSELF @ arg2
- b dvmCheckBefore @ (dPC,dFP,self) tail call
-
-/* ------------------------------ */
- .balign 64
-.L_ALT_OP_CHECK_CAST_JUMBO: /* 0x101 */
-/* File: armv5te/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Note that the call to dvmCheckBefore is done as a tail call.
- * rIBASE updates won't be seen until a refresh, and we can tell we have a
- * stale rIBASE if breakFlags==0. Always refresh rIBASE here, and then
- * bail to the real handler if breakFlags==0.
- */
- ldrb r3, [rSELF, #offThread_breakFlags]
- adrl lr, dvmAsmInstructionStart + (257 * 64)
- ldr rIBASE, [rSELF, #offThread_curHandlerTable]
- cmp r3, #0
- bxeq lr @ nothing to do - jump to real handler
- EXPORT_PC()
- mov r0, rPC @ arg0
- mov r1, rFP @ arg1
- mov r2, rSELF @ arg2
- b dvmCheckBefore @ (dPC,dFP,self) tail call
-
-/* ------------------------------ */
- .balign 64
-.L_ALT_OP_INSTANCE_OF_JUMBO: /* 0x102 */
-/* File: armv5te/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Note that the call to dvmCheckBefore is done as a tail call.
- * rIBASE updates won't be seen until a refresh, and we can tell we have a
- * stale rIBASE if breakFlags==0. Always refresh rIBASE here, and then
- * bail to the real handler if breakFlags==0.
- */
- ldrb r3, [rSELF, #offThread_breakFlags]
- adrl lr, dvmAsmInstructionStart + (258 * 64)
- ldr rIBASE, [rSELF, #offThread_curHandlerTable]
- cmp r3, #0
- bxeq lr @ nothing to do - jump to real handler
- EXPORT_PC()
- mov r0, rPC @ arg0
- mov r1, rFP @ arg1
- mov r2, rSELF @ arg2
- b dvmCheckBefore @ (dPC,dFP,self) tail call
-
-/* ------------------------------ */
- .balign 64
-.L_ALT_OP_NEW_INSTANCE_JUMBO: /* 0x103 */
-/* File: armv5te/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Note that the call to dvmCheckBefore is done as a tail call.
- * rIBASE updates won't be seen until a refresh, and we can tell we have a
- * stale rIBASE if breakFlags==0. Always refresh rIBASE here, and then
- * bail to the real handler if breakFlags==0.
- */
- ldrb r3, [rSELF, #offThread_breakFlags]
- adrl lr, dvmAsmInstructionStart + (259 * 64)
- ldr rIBASE, [rSELF, #offThread_curHandlerTable]
- cmp r3, #0
- bxeq lr @ nothing to do - jump to real handler
- EXPORT_PC()
- mov r0, rPC @ arg0
- mov r1, rFP @ arg1
- mov r2, rSELF @ arg2
- b dvmCheckBefore @ (dPC,dFP,self) tail call
-
-/* ------------------------------ */
- .balign 64
-.L_ALT_OP_NEW_ARRAY_JUMBO: /* 0x104 */
-/* File: armv5te/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Note that the call to dvmCheckBefore is done as a tail call.
- * rIBASE updates won't be seen until a refresh, and we can tell we have a
- * stale rIBASE if breakFlags==0. Always refresh rIBASE here, and then
- * bail to the real handler if breakFlags==0.
- */
- ldrb r3, [rSELF, #offThread_breakFlags]
- adrl lr, dvmAsmInstructionStart + (260 * 64)
- ldr rIBASE, [rSELF, #offThread_curHandlerTable]
- cmp r3, #0
- bxeq lr @ nothing to do - jump to real handler
- EXPORT_PC()
- mov r0, rPC @ arg0
- mov r1, rFP @ arg1
- mov r2, rSELF @ arg2
- b dvmCheckBefore @ (dPC,dFP,self) tail call
-
-/* ------------------------------ */
- .balign 64
-.L_ALT_OP_FILLED_NEW_ARRAY_JUMBO: /* 0x105 */
-/* File: armv5te/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Note that the call to dvmCheckBefore is done as a tail call.
- * rIBASE updates won't be seen until a refresh, and we can tell we have a
- * stale rIBASE if breakFlags==0. Always refresh rIBASE here, and then
- * bail to the real handler if breakFlags==0.
- */
- ldrb r3, [rSELF, #offThread_breakFlags]
- adrl lr, dvmAsmInstructionStart + (261 * 64)
- ldr rIBASE, [rSELF, #offThread_curHandlerTable]
- cmp r3, #0
- bxeq lr @ nothing to do - jump to real handler
- EXPORT_PC()
- mov r0, rPC @ arg0
- mov r1, rFP @ arg1
- mov r2, rSELF @ arg2
- b dvmCheckBefore @ (dPC,dFP,self) tail call
-
-/* ------------------------------ */
- .balign 64
-.L_ALT_OP_IGET_JUMBO: /* 0x106 */
-/* File: armv5te/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Note that the call to dvmCheckBefore is done as a tail call.
- * rIBASE updates won't be seen until a refresh, and we can tell we have a
- * stale rIBASE if breakFlags==0. Always refresh rIBASE here, and then
- * bail to the real handler if breakFlags==0.
- */
- ldrb r3, [rSELF, #offThread_breakFlags]
- adrl lr, dvmAsmInstructionStart + (262 * 64)
- ldr rIBASE, [rSELF, #offThread_curHandlerTable]
- cmp r3, #0
- bxeq lr @ nothing to do - jump to real handler
- EXPORT_PC()
- mov r0, rPC @ arg0
- mov r1, rFP @ arg1
- mov r2, rSELF @ arg2
- b dvmCheckBefore @ (dPC,dFP,self) tail call
-
-/* ------------------------------ */
- .balign 64
-.L_ALT_OP_IGET_WIDE_JUMBO: /* 0x107 */
-/* File: armv5te/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Note that the call to dvmCheckBefore is done as a tail call.
- * rIBASE updates won't be seen until a refresh, and we can tell we have a
- * stale rIBASE if breakFlags==0. Always refresh rIBASE here, and then
- * bail to the real handler if breakFlags==0.
- */
- ldrb r3, [rSELF, #offThread_breakFlags]
- adrl lr, dvmAsmInstructionStart + (263 * 64)
- ldr rIBASE, [rSELF, #offThread_curHandlerTable]
- cmp r3, #0
- bxeq lr @ nothing to do - jump to real handler
- EXPORT_PC()
- mov r0, rPC @ arg0
- mov r1, rFP @ arg1
- mov r2, rSELF @ arg2
- b dvmCheckBefore @ (dPC,dFP,self) tail call
-
-/* ------------------------------ */
- .balign 64
-.L_ALT_OP_IGET_OBJECT_JUMBO: /* 0x108 */
-/* File: armv5te/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Note that the call to dvmCheckBefore is done as a tail call.
- * rIBASE updates won't be seen until a refresh, and we can tell we have a
- * stale rIBASE if breakFlags==0. Always refresh rIBASE here, and then
- * bail to the real handler if breakFlags==0.
- */
- ldrb r3, [rSELF, #offThread_breakFlags]
- adrl lr, dvmAsmInstructionStart + (264 * 64)
- ldr rIBASE, [rSELF, #offThread_curHandlerTable]
- cmp r3, #0
- bxeq lr @ nothing to do - jump to real handler
- EXPORT_PC()
- mov r0, rPC @ arg0
- mov r1, rFP @ arg1
- mov r2, rSELF @ arg2
- b dvmCheckBefore @ (dPC,dFP,self) tail call
-
-/* ------------------------------ */
- .balign 64
-.L_ALT_OP_IGET_BOOLEAN_JUMBO: /* 0x109 */
-/* File: armv5te/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Note that the call to dvmCheckBefore is done as a tail call.
- * rIBASE updates won't be seen until a refresh, and we can tell we have a
- * stale rIBASE if breakFlags==0. Always refresh rIBASE here, and then
- * bail to the real handler if breakFlags==0.
- */
- ldrb r3, [rSELF, #offThread_breakFlags]
- adrl lr, dvmAsmInstructionStart + (265 * 64)
- ldr rIBASE, [rSELF, #offThread_curHandlerTable]
- cmp r3, #0
- bxeq lr @ nothing to do - jump to real handler
- EXPORT_PC()
- mov r0, rPC @ arg0
- mov r1, rFP @ arg1
- mov r2, rSELF @ arg2
- b dvmCheckBefore @ (dPC,dFP,self) tail call
-
-/* ------------------------------ */
- .balign 64
-.L_ALT_OP_IGET_BYTE_JUMBO: /* 0x10a */
-/* File: armv5te/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Note that the call to dvmCheckBefore is done as a tail call.
- * rIBASE updates won't be seen until a refresh, and we can tell we have a
- * stale rIBASE if breakFlags==0. Always refresh rIBASE here, and then
- * bail to the real handler if breakFlags==0.
- */
- ldrb r3, [rSELF, #offThread_breakFlags]
- adrl lr, dvmAsmInstructionStart + (266 * 64)
- ldr rIBASE, [rSELF, #offThread_curHandlerTable]
- cmp r3, #0
- bxeq lr @ nothing to do - jump to real handler
- EXPORT_PC()
- mov r0, rPC @ arg0
- mov r1, rFP @ arg1
- mov r2, rSELF @ arg2
- b dvmCheckBefore @ (dPC,dFP,self) tail call
-
-/* ------------------------------ */
- .balign 64
-.L_ALT_OP_IGET_CHAR_JUMBO: /* 0x10b */
-/* File: armv5te/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Note that the call to dvmCheckBefore is done as a tail call.
- * rIBASE updates won't be seen until a refresh, and we can tell we have a
- * stale rIBASE if breakFlags==0. Always refresh rIBASE here, and then
- * bail to the real handler if breakFlags==0.
- */
- ldrb r3, [rSELF, #offThread_breakFlags]
- adrl lr, dvmAsmInstructionStart + (267 * 64)
- ldr rIBASE, [rSELF, #offThread_curHandlerTable]
- cmp r3, #0
- bxeq lr @ nothing to do - jump to real handler
- EXPORT_PC()
- mov r0, rPC @ arg0
- mov r1, rFP @ arg1
- mov r2, rSELF @ arg2
- b dvmCheckBefore @ (dPC,dFP,self) tail call
-
-/* ------------------------------ */
- .balign 64
-.L_ALT_OP_IGET_SHORT_JUMBO: /* 0x10c */
-/* File: armv5te/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Note that the call to dvmCheckBefore is done as a tail call.
- * rIBASE updates won't be seen until a refresh, and we can tell we have a
- * stale rIBASE if breakFlags==0. Always refresh rIBASE here, and then
- * bail to the real handler if breakFlags==0.
- */
- ldrb r3, [rSELF, #offThread_breakFlags]
- adrl lr, dvmAsmInstructionStart + (268 * 64)
- ldr rIBASE, [rSELF, #offThread_curHandlerTable]
- cmp r3, #0
- bxeq lr @ nothing to do - jump to real handler
- EXPORT_PC()
- mov r0, rPC @ arg0
- mov r1, rFP @ arg1
- mov r2, rSELF @ arg2
- b dvmCheckBefore @ (dPC,dFP,self) tail call
-
-/* ------------------------------ */
- .balign 64
-.L_ALT_OP_IPUT_JUMBO: /* 0x10d */
-/* File: armv5te/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Note that the call to dvmCheckBefore is done as a tail call.
- * rIBASE updates won't be seen until a refresh, and we can tell we have a
- * stale rIBASE if breakFlags==0. Always refresh rIBASE here, and then
- * bail to the real handler if breakFlags==0.
- */
- ldrb r3, [rSELF, #offThread_breakFlags]
- adrl lr, dvmAsmInstructionStart + (269 * 64)
- ldr rIBASE, [rSELF, #offThread_curHandlerTable]
- cmp r3, #0
- bxeq lr @ nothing to do - jump to real handler
- EXPORT_PC()
- mov r0, rPC @ arg0
- mov r1, rFP @ arg1
- mov r2, rSELF @ arg2
- b dvmCheckBefore @ (dPC,dFP,self) tail call
-
-/* ------------------------------ */
- .balign 64
-.L_ALT_OP_IPUT_WIDE_JUMBO: /* 0x10e */
-/* File: armv5te/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Note that the call to dvmCheckBefore is done as a tail call.
- * rIBASE updates won't be seen until a refresh, and we can tell we have a
- * stale rIBASE if breakFlags==0. Always refresh rIBASE here, and then
- * bail to the real handler if breakFlags==0.
- */
- ldrb r3, [rSELF, #offThread_breakFlags]
- adrl lr, dvmAsmInstructionStart + (270 * 64)
- ldr rIBASE, [rSELF, #offThread_curHandlerTable]
- cmp r3, #0
- bxeq lr @ nothing to do - jump to real handler
- EXPORT_PC()
- mov r0, rPC @ arg0
- mov r1, rFP @ arg1
- mov r2, rSELF @ arg2
- b dvmCheckBefore @ (dPC,dFP,self) tail call
-
-/* ------------------------------ */
- .balign 64
-.L_ALT_OP_IPUT_OBJECT_JUMBO: /* 0x10f */
-/* File: armv5te/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Note that the call to dvmCheckBefore is done as a tail call.
- * rIBASE updates won't be seen until a refresh, and we can tell we have a
- * stale rIBASE if breakFlags==0. Always refresh rIBASE here, and then
- * bail to the real handler if breakFlags==0.
- */
- ldrb r3, [rSELF, #offThread_breakFlags]
- adrl lr, dvmAsmInstructionStart + (271 * 64)
- ldr rIBASE, [rSELF, #offThread_curHandlerTable]
- cmp r3, #0
- bxeq lr @ nothing to do - jump to real handler
- EXPORT_PC()
- mov r0, rPC @ arg0
- mov r1, rFP @ arg1
- mov r2, rSELF @ arg2
- b dvmCheckBefore @ (dPC,dFP,self) tail call
-
-/* ------------------------------ */
- .balign 64
-.L_ALT_OP_IPUT_BOOLEAN_JUMBO: /* 0x110 */
-/* File: armv5te/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Note that the call to dvmCheckBefore is done as a tail call.
- * rIBASE updates won't be seen until a refresh, and we can tell we have a
- * stale rIBASE if breakFlags==0. Always refresh rIBASE here, and then
- * bail to the real handler if breakFlags==0.
- */
- ldrb r3, [rSELF, #offThread_breakFlags]
- adrl lr, dvmAsmInstructionStart + (272 * 64)
- ldr rIBASE, [rSELF, #offThread_curHandlerTable]
- cmp r3, #0
- bxeq lr @ nothing to do - jump to real handler
- EXPORT_PC()
- mov r0, rPC @ arg0
- mov r1, rFP @ arg1
- mov r2, rSELF @ arg2
- b dvmCheckBefore @ (dPC,dFP,self) tail call
-
-/* ------------------------------ */
- .balign 64
-.L_ALT_OP_IPUT_BYTE_JUMBO: /* 0x111 */
-/* File: armv5te/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Note that the call to dvmCheckBefore is done as a tail call.
- * rIBASE updates won't be seen until a refresh, and we can tell we have a
- * stale rIBASE if breakFlags==0. Always refresh rIBASE here, and then
- * bail to the real handler if breakFlags==0.
- */
- ldrb r3, [rSELF, #offThread_breakFlags]
- adrl lr, dvmAsmInstructionStart + (273 * 64)
- ldr rIBASE, [rSELF, #offThread_curHandlerTable]
- cmp r3, #0
- bxeq lr @ nothing to do - jump to real handler
- EXPORT_PC()
- mov r0, rPC @ arg0
- mov r1, rFP @ arg1
- mov r2, rSELF @ arg2
- b dvmCheckBefore @ (dPC,dFP,self) tail call
-
-/* ------------------------------ */
- .balign 64
-.L_ALT_OP_IPUT_CHAR_JUMBO: /* 0x112 */
-/* File: armv5te/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Note that the call to dvmCheckBefore is done as a tail call.
- * rIBASE updates won't be seen until a refresh, and we can tell we have a
- * stale rIBASE if breakFlags==0. Always refresh rIBASE here, and then
- * bail to the real handler if breakFlags==0.
- */
- ldrb r3, [rSELF, #offThread_breakFlags]
- adrl lr, dvmAsmInstructionStart + (274 * 64)
- ldr rIBASE, [rSELF, #offThread_curHandlerTable]
- cmp r3, #0
- bxeq lr @ nothing to do - jump to real handler
- EXPORT_PC()
- mov r0, rPC @ arg0
- mov r1, rFP @ arg1
- mov r2, rSELF @ arg2
- b dvmCheckBefore @ (dPC,dFP,self) tail call
-
-/* ------------------------------ */
- .balign 64
-.L_ALT_OP_IPUT_SHORT_JUMBO: /* 0x113 */
-/* File: armv5te/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Note that the call to dvmCheckBefore is done as a tail call.
- * rIBASE updates won't be seen until a refresh, and we can tell we have a
- * stale rIBASE if breakFlags==0. Always refresh rIBASE here, and then
- * bail to the real handler if breakFlags==0.
- */
- ldrb r3, [rSELF, #offThread_breakFlags]
- adrl lr, dvmAsmInstructionStart + (275 * 64)
- ldr rIBASE, [rSELF, #offThread_curHandlerTable]
- cmp r3, #0
- bxeq lr @ nothing to do - jump to real handler
- EXPORT_PC()
- mov r0, rPC @ arg0
- mov r1, rFP @ arg1
- mov r2, rSELF @ arg2
- b dvmCheckBefore @ (dPC,dFP,self) tail call
-
-/* ------------------------------ */
- .balign 64
-.L_ALT_OP_SGET_JUMBO: /* 0x114 */
-/* File: armv5te/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Note that the call to dvmCheckBefore is done as a tail call.
- * rIBASE updates won't be seen until a refresh, and we can tell we have a
- * stale rIBASE if breakFlags==0. Always refresh rIBASE here, and then
- * bail to the real handler if breakFlags==0.
- */
- ldrb r3, [rSELF, #offThread_breakFlags]
- adrl lr, dvmAsmInstructionStart + (276 * 64)
- ldr rIBASE, [rSELF, #offThread_curHandlerTable]
- cmp r3, #0
- bxeq lr @ nothing to do - jump to real handler
- EXPORT_PC()
- mov r0, rPC @ arg0
- mov r1, rFP @ arg1
- mov r2, rSELF @ arg2
- b dvmCheckBefore @ (dPC,dFP,self) tail call
-
-/* ------------------------------ */
- .balign 64
-.L_ALT_OP_SGET_WIDE_JUMBO: /* 0x115 */
-/* File: armv5te/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Note that the call to dvmCheckBefore is done as a tail call.
- * rIBASE updates won't be seen until a refresh, and we can tell we have a
- * stale rIBASE if breakFlags==0. Always refresh rIBASE here, and then
- * bail to the real handler if breakFlags==0.
- */
- ldrb r3, [rSELF, #offThread_breakFlags]
- adrl lr, dvmAsmInstructionStart + (277 * 64)
- ldr rIBASE, [rSELF, #offThread_curHandlerTable]
- cmp r3, #0
- bxeq lr @ nothing to do - jump to real handler
- EXPORT_PC()
- mov r0, rPC @ arg0
- mov r1, rFP @ arg1
- mov r2, rSELF @ arg2
- b dvmCheckBefore @ (dPC,dFP,self) tail call
-
-/* ------------------------------ */
- .balign 64
-.L_ALT_OP_SGET_OBJECT_JUMBO: /* 0x116 */
-/* File: armv5te/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Note that the call to dvmCheckBefore is done as a tail call.
- * rIBASE updates won't be seen until a refresh, and we can tell we have a
- * stale rIBASE if breakFlags==0. Always refresh rIBASE here, and then
- * bail to the real handler if breakFlags==0.
- */
- ldrb r3, [rSELF, #offThread_breakFlags]
- adrl lr, dvmAsmInstructionStart + (278 * 64)
- ldr rIBASE, [rSELF, #offThread_curHandlerTable]
- cmp r3, #0
- bxeq lr @ nothing to do - jump to real handler
- EXPORT_PC()
- mov r0, rPC @ arg0
- mov r1, rFP @ arg1
- mov r2, rSELF @ arg2
- b dvmCheckBefore @ (dPC,dFP,self) tail call
-
-/* ------------------------------ */
- .balign 64
-.L_ALT_OP_SGET_BOOLEAN_JUMBO: /* 0x117 */
-/* File: armv5te/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Note that the call to dvmCheckBefore is done as a tail call.
- * rIBASE updates won't be seen until a refresh, and we can tell we have a
- * stale rIBASE if breakFlags==0. Always refresh rIBASE here, and then
- * bail to the real handler if breakFlags==0.
- */
- ldrb r3, [rSELF, #offThread_breakFlags]
- adrl lr, dvmAsmInstructionStart + (279 * 64)
- ldr rIBASE, [rSELF, #offThread_curHandlerTable]
- cmp r3, #0
- bxeq lr @ nothing to do - jump to real handler
- EXPORT_PC()
- mov r0, rPC @ arg0
- mov r1, rFP @ arg1
- mov r2, rSELF @ arg2
- b dvmCheckBefore @ (dPC,dFP,self) tail call
-
-/* ------------------------------ */
- .balign 64
-.L_ALT_OP_SGET_BYTE_JUMBO: /* 0x118 */
-/* File: armv5te/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Note that the call to dvmCheckBefore is done as a tail call.
- * rIBASE updates won't be seen until a refresh, and we can tell we have a
- * stale rIBASE if breakFlags==0. Always refresh rIBASE here, and then
- * bail to the real handler if breakFlags==0.
- */
- ldrb r3, [rSELF, #offThread_breakFlags]
- adrl lr, dvmAsmInstructionStart + (280 * 64)
- ldr rIBASE, [rSELF, #offThread_curHandlerTable]
- cmp r3, #0
- bxeq lr @ nothing to do - jump to real handler
- EXPORT_PC()
- mov r0, rPC @ arg0
- mov r1, rFP @ arg1
- mov r2, rSELF @ arg2
- b dvmCheckBefore @ (dPC,dFP,self) tail call
-
-/* ------------------------------ */
- .balign 64
-.L_ALT_OP_SGET_CHAR_JUMBO: /* 0x119 */
-/* File: armv5te/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Note that the call to dvmCheckBefore is done as a tail call.
- * rIBASE updates won't be seen until a refresh, and we can tell we have a
- * stale rIBASE if breakFlags==0. Always refresh rIBASE here, and then
- * bail to the real handler if breakFlags==0.
- */
- ldrb r3, [rSELF, #offThread_breakFlags]
- adrl lr, dvmAsmInstructionStart + (281 * 64)
- ldr rIBASE, [rSELF, #offThread_curHandlerTable]
- cmp r3, #0
- bxeq lr @ nothing to do - jump to real handler
- EXPORT_PC()
- mov r0, rPC @ arg0
- mov r1, rFP @ arg1
- mov r2, rSELF @ arg2
- b dvmCheckBefore @ (dPC,dFP,self) tail call
-
-/* ------------------------------ */
- .balign 64
-.L_ALT_OP_SGET_SHORT_JUMBO: /* 0x11a */
-/* File: armv5te/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Note that the call to dvmCheckBefore is done as a tail call.
- * rIBASE updates won't be seen until a refresh, and we can tell we have a
- * stale rIBASE if breakFlags==0. Always refresh rIBASE here, and then
- * bail to the real handler if breakFlags==0.
- */
- ldrb r3, [rSELF, #offThread_breakFlags]
- adrl lr, dvmAsmInstructionStart + (282 * 64)
- ldr rIBASE, [rSELF, #offThread_curHandlerTable]
- cmp r3, #0
- bxeq lr @ nothing to do - jump to real handler
- EXPORT_PC()
- mov r0, rPC @ arg0
- mov r1, rFP @ arg1
- mov r2, rSELF @ arg2
- b dvmCheckBefore @ (dPC,dFP,self) tail call
-
-/* ------------------------------ */
- .balign 64
-.L_ALT_OP_SPUT_JUMBO: /* 0x11b */
-/* File: armv5te/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Note that the call to dvmCheckBefore is done as a tail call.
- * rIBASE updates won't be seen until a refresh, and we can tell we have a
- * stale rIBASE if breakFlags==0. Always refresh rIBASE here, and then
- * bail to the real handler if breakFlags==0.
- */
- ldrb r3, [rSELF, #offThread_breakFlags]
- adrl lr, dvmAsmInstructionStart + (283 * 64)
- ldr rIBASE, [rSELF, #offThread_curHandlerTable]
- cmp r3, #0
- bxeq lr @ nothing to do - jump to real handler
- EXPORT_PC()
- mov r0, rPC @ arg0
- mov r1, rFP @ arg1
- mov r2, rSELF @ arg2
- b dvmCheckBefore @ (dPC,dFP,self) tail call
-
-/* ------------------------------ */
- .balign 64
-.L_ALT_OP_SPUT_WIDE_JUMBO: /* 0x11c */
-/* File: armv5te/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Note that the call to dvmCheckBefore is done as a tail call.
- * rIBASE updates won't be seen until a refresh, and we can tell we have a
- * stale rIBASE if breakFlags==0. Always refresh rIBASE here, and then
- * bail to the real handler if breakFlags==0.
- */
- ldrb r3, [rSELF, #offThread_breakFlags]
- adrl lr, dvmAsmInstructionStart + (284 * 64)
- ldr rIBASE, [rSELF, #offThread_curHandlerTable]
- cmp r3, #0
- bxeq lr @ nothing to do - jump to real handler
- EXPORT_PC()
- mov r0, rPC @ arg0
- mov r1, rFP @ arg1
- mov r2, rSELF @ arg2
- b dvmCheckBefore @ (dPC,dFP,self) tail call
-
-/* ------------------------------ */
- .balign 64
-.L_ALT_OP_SPUT_OBJECT_JUMBO: /* 0x11d */
-/* File: armv5te/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Note that the call to dvmCheckBefore is done as a tail call.
- * rIBASE updates won't be seen until a refresh, and we can tell we have a
- * stale rIBASE if breakFlags==0. Always refresh rIBASE here, and then
- * bail to the real handler if breakFlags==0.
- */
- ldrb r3, [rSELF, #offThread_breakFlags]
- adrl lr, dvmAsmInstructionStart + (285 * 64)
- ldr rIBASE, [rSELF, #offThread_curHandlerTable]
- cmp r3, #0
- bxeq lr @ nothing to do - jump to real handler
- EXPORT_PC()
- mov r0, rPC @ arg0
- mov r1, rFP @ arg1
- mov r2, rSELF @ arg2
- b dvmCheckBefore @ (dPC,dFP,self) tail call
-
-/* ------------------------------ */
- .balign 64
-.L_ALT_OP_SPUT_BOOLEAN_JUMBO: /* 0x11e */
-/* File: armv5te/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Note that the call to dvmCheckBefore is done as a tail call.
- * rIBASE updates won't be seen until a refresh, and we can tell we have a
- * stale rIBASE if breakFlags==0. Always refresh rIBASE here, and then
- * bail to the real handler if breakFlags==0.
- */
- ldrb r3, [rSELF, #offThread_breakFlags]
- adrl lr, dvmAsmInstructionStart + (286 * 64)
- ldr rIBASE, [rSELF, #offThread_curHandlerTable]
- cmp r3, #0
- bxeq lr @ nothing to do - jump to real handler
- EXPORT_PC()
- mov r0, rPC @ arg0
- mov r1, rFP @ arg1
- mov r2, rSELF @ arg2
- b dvmCheckBefore @ (dPC,dFP,self) tail call
-
-/* ------------------------------ */
- .balign 64
-.L_ALT_OP_SPUT_BYTE_JUMBO: /* 0x11f */
-/* File: armv5te/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Note that the call to dvmCheckBefore is done as a tail call.
- * rIBASE updates won't be seen until a refresh, and we can tell we have a
- * stale rIBASE if breakFlags==0. Always refresh rIBASE here, and then
- * bail to the real handler if breakFlags==0.
- */
- ldrb r3, [rSELF, #offThread_breakFlags]
- adrl lr, dvmAsmInstructionStart + (287 * 64)
- ldr rIBASE, [rSELF, #offThread_curHandlerTable]
- cmp r3, #0
- bxeq lr @ nothing to do - jump to real handler
- EXPORT_PC()
- mov r0, rPC @ arg0
- mov r1, rFP @ arg1
- mov r2, rSELF @ arg2
- b dvmCheckBefore @ (dPC,dFP,self) tail call
-
-/* ------------------------------ */
- .balign 64
-.L_ALT_OP_SPUT_CHAR_JUMBO: /* 0x120 */
-/* File: armv5te/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Note that the call to dvmCheckBefore is done as a tail call.
- * rIBASE updates won't be seen until a refresh, and we can tell we have a
- * stale rIBASE if breakFlags==0. Always refresh rIBASE here, and then
- * bail to the real handler if breakFlags==0.
- */
- ldrb r3, [rSELF, #offThread_breakFlags]
- adrl lr, dvmAsmInstructionStart + (288 * 64)
- ldr rIBASE, [rSELF, #offThread_curHandlerTable]
- cmp r3, #0
- bxeq lr @ nothing to do - jump to real handler
- EXPORT_PC()
- mov r0, rPC @ arg0
- mov r1, rFP @ arg1
- mov r2, rSELF @ arg2
- b dvmCheckBefore @ (dPC,dFP,self) tail call
-
-/* ------------------------------ */
- .balign 64
-.L_ALT_OP_SPUT_SHORT_JUMBO: /* 0x121 */
-/* File: armv5te/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Note that the call to dvmCheckBefore is done as a tail call.
- * rIBASE updates won't be seen until a refresh, and we can tell we have a
- * stale rIBASE if breakFlags==0. Always refresh rIBASE here, and then
- * bail to the real handler if breakFlags==0.
- */
- ldrb r3, [rSELF, #offThread_breakFlags]
- adrl lr, dvmAsmInstructionStart + (289 * 64)
- ldr rIBASE, [rSELF, #offThread_curHandlerTable]
- cmp r3, #0
- bxeq lr @ nothing to do - jump to real handler
- EXPORT_PC()
- mov r0, rPC @ arg0
- mov r1, rFP @ arg1
- mov r2, rSELF @ arg2
- b dvmCheckBefore @ (dPC,dFP,self) tail call
-
-/* ------------------------------ */
- .balign 64
-.L_ALT_OP_INVOKE_VIRTUAL_JUMBO: /* 0x122 */
-/* File: armv5te/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Note that the call to dvmCheckBefore is done as a tail call.
- * rIBASE updates won't be seen until a refresh, and we can tell we have a
- * stale rIBASE if breakFlags==0. Always refresh rIBASE here, and then
- * bail to the real handler if breakFlags==0.
- */
- ldrb r3, [rSELF, #offThread_breakFlags]
- adrl lr, dvmAsmInstructionStart + (290 * 64)
- ldr rIBASE, [rSELF, #offThread_curHandlerTable]
- cmp r3, #0
- bxeq lr @ nothing to do - jump to real handler
- EXPORT_PC()
- mov r0, rPC @ arg0
- mov r1, rFP @ arg1
- mov r2, rSELF @ arg2
- b dvmCheckBefore @ (dPC,dFP,self) tail call
-
-/* ------------------------------ */
- .balign 64
-.L_ALT_OP_INVOKE_SUPER_JUMBO: /* 0x123 */
-/* File: armv5te/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Note that the call to dvmCheckBefore is done as a tail call.
- * rIBASE updates won't be seen until a refresh, and we can tell we have a
- * stale rIBASE if breakFlags==0. Always refresh rIBASE here, and then
- * bail to the real handler if breakFlags==0.
- */
- ldrb r3, [rSELF, #offThread_breakFlags]
- adrl lr, dvmAsmInstructionStart + (291 * 64)
- ldr rIBASE, [rSELF, #offThread_curHandlerTable]
- cmp r3, #0
- bxeq lr @ nothing to do - jump to real handler
- EXPORT_PC()
- mov r0, rPC @ arg0
- mov r1, rFP @ arg1
- mov r2, rSELF @ arg2
- b dvmCheckBefore @ (dPC,dFP,self) tail call
-
-/* ------------------------------ */
- .balign 64
-.L_ALT_OP_INVOKE_DIRECT_JUMBO: /* 0x124 */
-/* File: armv5te/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Note that the call to dvmCheckBefore is done as a tail call.
- * rIBASE updates won't be seen until a refresh, and we can tell we have a
- * stale rIBASE if breakFlags==0. Always refresh rIBASE here, and then
- * bail to the real handler if breakFlags==0.
- */
- ldrb r3, [rSELF, #offThread_breakFlags]
- adrl lr, dvmAsmInstructionStart + (292 * 64)
- ldr rIBASE, [rSELF, #offThread_curHandlerTable]
- cmp r3, #0
- bxeq lr @ nothing to do - jump to real handler
- EXPORT_PC()
- mov r0, rPC @ arg0
- mov r1, rFP @ arg1
- mov r2, rSELF @ arg2
- b dvmCheckBefore @ (dPC,dFP,self) tail call
-
-/* ------------------------------ */
- .balign 64
-.L_ALT_OP_INVOKE_STATIC_JUMBO: /* 0x125 */
-/* File: armv5te/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Note that the call to dvmCheckBefore is done as a tail call.
- * rIBASE updates won't be seen until a refresh, and we can tell we have a
- * stale rIBASE if breakFlags==0. Always refresh rIBASE here, and then
- * bail to the real handler if breakFlags==0.
- */
- ldrb r3, [rSELF, #offThread_breakFlags]
- adrl lr, dvmAsmInstructionStart + (293 * 64)
- ldr rIBASE, [rSELF, #offThread_curHandlerTable]
- cmp r3, #0
- bxeq lr @ nothing to do - jump to real handler
- EXPORT_PC()
- mov r0, rPC @ arg0
- mov r1, rFP @ arg1
- mov r2, rSELF @ arg2
- b dvmCheckBefore @ (dPC,dFP,self) tail call
-
-/* ------------------------------ */
- .balign 64
-.L_ALT_OP_INVOKE_INTERFACE_JUMBO: /* 0x126 */
-/* File: armv5te/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Note that the call to dvmCheckBefore is done as a tail call.
- * rIBASE updates won't be seen until a refresh, and we can tell we have a
- * stale rIBASE if breakFlags==0. Always refresh rIBASE here, and then
- * bail to the real handler if breakFlags==0.
- */
- ldrb r3, [rSELF, #offThread_breakFlags]
- adrl lr, dvmAsmInstructionStart + (294 * 64)
- ldr rIBASE, [rSELF, #offThread_curHandlerTable]
- cmp r3, #0
- bxeq lr @ nothing to do - jump to real handler
- EXPORT_PC()
- mov r0, rPC @ arg0
- mov r1, rFP @ arg1
- mov r2, rSELF @ arg2
- b dvmCheckBefore @ (dPC,dFP,self) tail call
-
-/* ------------------------------ */
- .balign 64
-.L_ALT_OP_UNUSED_27FF: /* 0x127 */
-/* File: armv5te/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Note that the call to dvmCheckBefore is done as a tail call.
- * rIBASE updates won't be seen until a refresh, and we can tell we have a
- * stale rIBASE if breakFlags==0. Always refresh rIBASE here, and then
- * bail to the real handler if breakFlags==0.
- */
- ldrb r3, [rSELF, #offThread_breakFlags]
- adrl lr, dvmAsmInstructionStart + (295 * 64)
- ldr rIBASE, [rSELF, #offThread_curHandlerTable]
- cmp r3, #0
- bxeq lr @ nothing to do - jump to real handler
- EXPORT_PC()
- mov r0, rPC @ arg0
- mov r1, rFP @ arg1
- mov r2, rSELF @ arg2
- b dvmCheckBefore @ (dPC,dFP,self) tail call
-
-/* ------------------------------ */
- .balign 64
-.L_ALT_OP_UNUSED_28FF: /* 0x128 */
-/* File: armv5te/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Note that the call to dvmCheckBefore is done as a tail call.
- * rIBASE updates won't be seen until a refresh, and we can tell we have a
- * stale rIBASE if breakFlags==0. Always refresh rIBASE here, and then
- * bail to the real handler if breakFlags==0.
- */
- ldrb r3, [rSELF, #offThread_breakFlags]
- adrl lr, dvmAsmInstructionStart + (296 * 64)
- ldr rIBASE, [rSELF, #offThread_curHandlerTable]
- cmp r3, #0
- bxeq lr @ nothing to do - jump to real handler
- EXPORT_PC()
- mov r0, rPC @ arg0
- mov r1, rFP @ arg1
- mov r2, rSELF @ arg2
- b dvmCheckBefore @ (dPC,dFP,self) tail call
-
-/* ------------------------------ */
- .balign 64
-.L_ALT_OP_UNUSED_29FF: /* 0x129 */
-/* File: armv5te/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Note that the call to dvmCheckBefore is done as a tail call.
- * rIBASE updates won't be seen until a refresh, and we can tell we have a
- * stale rIBASE if breakFlags==0. Always refresh rIBASE here, and then
- * bail to the real handler if breakFlags==0.
- */
- ldrb r3, [rSELF, #offThread_breakFlags]
- adrl lr, dvmAsmInstructionStart + (297 * 64)
- ldr rIBASE, [rSELF, #offThread_curHandlerTable]
- cmp r3, #0
- bxeq lr @ nothing to do - jump to real handler
- EXPORT_PC()
- mov r0, rPC @ arg0
- mov r1, rFP @ arg1
- mov r2, rSELF @ arg2
- b dvmCheckBefore @ (dPC,dFP,self) tail call
-
-/* ------------------------------ */
- .balign 64
-.L_ALT_OP_UNUSED_2AFF: /* 0x12a */
-/* File: armv5te/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Note that the call to dvmCheckBefore is done as a tail call.
- * rIBASE updates won't be seen until a refresh, and we can tell we have a
- * stale rIBASE if breakFlags==0. Always refresh rIBASE here, and then
- * bail to the real handler if breakFlags==0.
- */
- ldrb r3, [rSELF, #offThread_breakFlags]
- adrl lr, dvmAsmInstructionStart + (298 * 64)
- ldr rIBASE, [rSELF, #offThread_curHandlerTable]
- cmp r3, #0
- bxeq lr @ nothing to do - jump to real handler
- EXPORT_PC()
- mov r0, rPC @ arg0
- mov r1, rFP @ arg1
- mov r2, rSELF @ arg2
- b dvmCheckBefore @ (dPC,dFP,self) tail call
-
-/* ------------------------------ */
- .balign 64
-.L_ALT_OP_UNUSED_2BFF: /* 0x12b */
-/* File: armv5te/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Note that the call to dvmCheckBefore is done as a tail call.
- * rIBASE updates won't be seen until a refresh, and we can tell we have a
- * stale rIBASE if breakFlags==0. Always refresh rIBASE here, and then
- * bail to the real handler if breakFlags==0.
- */
- ldrb r3, [rSELF, #offThread_breakFlags]
- adrl lr, dvmAsmInstructionStart + (299 * 64)
- ldr rIBASE, [rSELF, #offThread_curHandlerTable]
- cmp r3, #0
- bxeq lr @ nothing to do - jump to real handler
- EXPORT_PC()
- mov r0, rPC @ arg0
- mov r1, rFP @ arg1
- mov r2, rSELF @ arg2
- b dvmCheckBefore @ (dPC,dFP,self) tail call
-
-/* ------------------------------ */
- .balign 64
-.L_ALT_OP_UNUSED_2CFF: /* 0x12c */
-/* File: armv5te/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Note that the call to dvmCheckBefore is done as a tail call.
- * rIBASE updates won't be seen until a refresh, and we can tell we have a
- * stale rIBASE if breakFlags==0. Always refresh rIBASE here, and then
- * bail to the real handler if breakFlags==0.
- */
- ldrb r3, [rSELF, #offThread_breakFlags]
- adrl lr, dvmAsmInstructionStart + (300 * 64)
- ldr rIBASE, [rSELF, #offThread_curHandlerTable]
- cmp r3, #0
- bxeq lr @ nothing to do - jump to real handler
- EXPORT_PC()
- mov r0, rPC @ arg0
- mov r1, rFP @ arg1
- mov r2, rSELF @ arg2
- b dvmCheckBefore @ (dPC,dFP,self) tail call
-
-/* ------------------------------ */
- .balign 64
-.L_ALT_OP_UNUSED_2DFF: /* 0x12d */
-/* File: armv5te/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Note that the call to dvmCheckBefore is done as a tail call.
- * rIBASE updates won't be seen until a refresh, and we can tell we have a
- * stale rIBASE if breakFlags==0. Always refresh rIBASE here, and then
- * bail to the real handler if breakFlags==0.
- */
- ldrb r3, [rSELF, #offThread_breakFlags]
- adrl lr, dvmAsmInstructionStart + (301 * 64)
- ldr rIBASE, [rSELF, #offThread_curHandlerTable]
- cmp r3, #0
- bxeq lr @ nothing to do - jump to real handler
- EXPORT_PC()
- mov r0, rPC @ arg0
- mov r1, rFP @ arg1
- mov r2, rSELF @ arg2
- b dvmCheckBefore @ (dPC,dFP,self) tail call
-
-/* ------------------------------ */
- .balign 64
-.L_ALT_OP_UNUSED_2EFF: /* 0x12e */
-/* File: armv5te/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Note that the call to dvmCheckBefore is done as a tail call.
- * rIBASE updates won't be seen until a refresh, and we can tell we have a
- * stale rIBASE if breakFlags==0. Always refresh rIBASE here, and then
- * bail to the real handler if breakFlags==0.
- */
- ldrb r3, [rSELF, #offThread_breakFlags]
- adrl lr, dvmAsmInstructionStart + (302 * 64)
- ldr rIBASE, [rSELF, #offThread_curHandlerTable]
- cmp r3, #0
- bxeq lr @ nothing to do - jump to real handler
- EXPORT_PC()
- mov r0, rPC @ arg0
- mov r1, rFP @ arg1
- mov r2, rSELF @ arg2
- b dvmCheckBefore @ (dPC,dFP,self) tail call
-
-/* ------------------------------ */
- .balign 64
-.L_ALT_OP_UNUSED_2FFF: /* 0x12f */
-/* File: armv5te/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Note that the call to dvmCheckBefore is done as a tail call.
- * rIBASE updates won't be seen until a refresh, and we can tell we have a
- * stale rIBASE if breakFlags==0. Always refresh rIBASE here, and then
- * bail to the real handler if breakFlags==0.
- */
- ldrb r3, [rSELF, #offThread_breakFlags]
- adrl lr, dvmAsmInstructionStart + (303 * 64)
- ldr rIBASE, [rSELF, #offThread_curHandlerTable]
- cmp r3, #0
- bxeq lr @ nothing to do - jump to real handler
- EXPORT_PC()
- mov r0, rPC @ arg0
- mov r1, rFP @ arg1
- mov r2, rSELF @ arg2
- b dvmCheckBefore @ (dPC,dFP,self) tail call
-
-/* ------------------------------ */
- .balign 64
-.L_ALT_OP_UNUSED_30FF: /* 0x130 */
-/* File: armv5te/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Note that the call to dvmCheckBefore is done as a tail call.
- * rIBASE updates won't be seen until a refresh, and we can tell we have a
- * stale rIBASE if breakFlags==0. Always refresh rIBASE here, and then
- * bail to the real handler if breakFlags==0.
- */
- ldrb r3, [rSELF, #offThread_breakFlags]
- adrl lr, dvmAsmInstructionStart + (304 * 64)
- ldr rIBASE, [rSELF, #offThread_curHandlerTable]
- cmp r3, #0
- bxeq lr @ nothing to do - jump to real handler
- EXPORT_PC()
- mov r0, rPC @ arg0
- mov r1, rFP @ arg1
- mov r2, rSELF @ arg2
- b dvmCheckBefore @ (dPC,dFP,self) tail call
-
-/* ------------------------------ */
- .balign 64
-.L_ALT_OP_UNUSED_31FF: /* 0x131 */
-/* File: armv5te/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Note that the call to dvmCheckBefore is done as a tail call.
- * rIBASE updates won't be seen until a refresh, and we can tell we have a
- * stale rIBASE if breakFlags==0. Always refresh rIBASE here, and then
- * bail to the real handler if breakFlags==0.
- */
- ldrb r3, [rSELF, #offThread_breakFlags]
- adrl lr, dvmAsmInstructionStart + (305 * 64)
- ldr rIBASE, [rSELF, #offThread_curHandlerTable]
- cmp r3, #0
- bxeq lr @ nothing to do - jump to real handler
- EXPORT_PC()
- mov r0, rPC @ arg0
- mov r1, rFP @ arg1
- mov r2, rSELF @ arg2
- b dvmCheckBefore @ (dPC,dFP,self) tail call
-
-/* ------------------------------ */
- .balign 64
-.L_ALT_OP_UNUSED_32FF: /* 0x132 */
-/* File: armv5te/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Note that the call to dvmCheckBefore is done as a tail call.
- * rIBASE updates won't be seen until a refresh, and we can tell we have a
- * stale rIBASE if breakFlags==0. Always refresh rIBASE here, and then
- * bail to the real handler if breakFlags==0.
- */
- ldrb r3, [rSELF, #offThread_breakFlags]
- adrl lr, dvmAsmInstructionStart + (306 * 64)
- ldr rIBASE, [rSELF, #offThread_curHandlerTable]
- cmp r3, #0
- bxeq lr @ nothing to do - jump to real handler
- EXPORT_PC()
- mov r0, rPC @ arg0
- mov r1, rFP @ arg1
- mov r2, rSELF @ arg2
- b dvmCheckBefore @ (dPC,dFP,self) tail call
-
-/* ------------------------------ */
- .balign 64
-.L_ALT_OP_UNUSED_33FF: /* 0x133 */
-/* File: armv5te/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Note that the call to dvmCheckBefore is done as a tail call.
- * rIBASE updates won't be seen until a refresh, and we can tell we have a
- * stale rIBASE if breakFlags==0. Always refresh rIBASE here, and then
- * bail to the real handler if breakFlags==0.
- */
- ldrb r3, [rSELF, #offThread_breakFlags]
- adrl lr, dvmAsmInstructionStart + (307 * 64)
- ldr rIBASE, [rSELF, #offThread_curHandlerTable]
- cmp r3, #0
- bxeq lr @ nothing to do - jump to real handler
- EXPORT_PC()
- mov r0, rPC @ arg0
- mov r1, rFP @ arg1
- mov r2, rSELF @ arg2
- b dvmCheckBefore @ (dPC,dFP,self) tail call
-
-/* ------------------------------ */
- .balign 64
-.L_ALT_OP_UNUSED_34FF: /* 0x134 */
-/* File: armv5te/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Note that the call to dvmCheckBefore is done as a tail call.
- * rIBASE updates won't be seen until a refresh, and we can tell we have a
- * stale rIBASE if breakFlags==0. Always refresh rIBASE here, and then
- * bail to the real handler if breakFlags==0.
- */
- ldrb r3, [rSELF, #offThread_breakFlags]
- adrl lr, dvmAsmInstructionStart + (308 * 64)
- ldr rIBASE, [rSELF, #offThread_curHandlerTable]
- cmp r3, #0
- bxeq lr @ nothing to do - jump to real handler
- EXPORT_PC()
- mov r0, rPC @ arg0
- mov r1, rFP @ arg1
- mov r2, rSELF @ arg2
- b dvmCheckBefore @ (dPC,dFP,self) tail call
-
-/* ------------------------------ */
- .balign 64
-.L_ALT_OP_UNUSED_35FF: /* 0x135 */
-/* File: armv5te/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Note that the call to dvmCheckBefore is done as a tail call.
- * rIBASE updates won't be seen until a refresh, and we can tell we have a
- * stale rIBASE if breakFlags==0. Always refresh rIBASE here, and then
- * bail to the real handler if breakFlags==0.
- */
- ldrb r3, [rSELF, #offThread_breakFlags]
- adrl lr, dvmAsmInstructionStart + (309 * 64)
- ldr rIBASE, [rSELF, #offThread_curHandlerTable]
- cmp r3, #0
- bxeq lr @ nothing to do - jump to real handler
- EXPORT_PC()
- mov r0, rPC @ arg0
- mov r1, rFP @ arg1
- mov r2, rSELF @ arg2
- b dvmCheckBefore @ (dPC,dFP,self) tail call
-
-/* ------------------------------ */
- .balign 64
-.L_ALT_OP_UNUSED_36FF: /* 0x136 */
-/* File: armv5te/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Note that the call to dvmCheckBefore is done as a tail call.
- * rIBASE updates won't be seen until a refresh, and we can tell we have a
- * stale rIBASE if breakFlags==0. Always refresh rIBASE here, and then
- * bail to the real handler if breakFlags==0.
- */
- ldrb r3, [rSELF, #offThread_breakFlags]
- adrl lr, dvmAsmInstructionStart + (310 * 64)
- ldr rIBASE, [rSELF, #offThread_curHandlerTable]
- cmp r3, #0
- bxeq lr @ nothing to do - jump to real handler
- EXPORT_PC()
- mov r0, rPC @ arg0
- mov r1, rFP @ arg1
- mov r2, rSELF @ arg2
- b dvmCheckBefore @ (dPC,dFP,self) tail call
-
-/* ------------------------------ */
- .balign 64
-.L_ALT_OP_UNUSED_37FF: /* 0x137 */
-/* File: armv5te/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Note that the call to dvmCheckBefore is done as a tail call.
- * rIBASE updates won't be seen until a refresh, and we can tell we have a
- * stale rIBASE if breakFlags==0. Always refresh rIBASE here, and then
- * bail to the real handler if breakFlags==0.
- */
- ldrb r3, [rSELF, #offThread_breakFlags]
- adrl lr, dvmAsmInstructionStart + (311 * 64)
- ldr rIBASE, [rSELF, #offThread_curHandlerTable]
- cmp r3, #0
- bxeq lr @ nothing to do - jump to real handler
- EXPORT_PC()
- mov r0, rPC @ arg0
- mov r1, rFP @ arg1
- mov r2, rSELF @ arg2
- b dvmCheckBefore @ (dPC,dFP,self) tail call
-
-/* ------------------------------ */
- .balign 64
-.L_ALT_OP_UNUSED_38FF: /* 0x138 */
-/* File: armv5te/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Note that the call to dvmCheckBefore is done as a tail call.
- * rIBASE updates won't be seen until a refresh, and we can tell we have a
- * stale rIBASE if breakFlags==0. Always refresh rIBASE here, and then
- * bail to the real handler if breakFlags==0.
- */
- ldrb r3, [rSELF, #offThread_breakFlags]
- adrl lr, dvmAsmInstructionStart + (312 * 64)
- ldr rIBASE, [rSELF, #offThread_curHandlerTable]
- cmp r3, #0
- bxeq lr @ nothing to do - jump to real handler
- EXPORT_PC()
- mov r0, rPC @ arg0
- mov r1, rFP @ arg1
- mov r2, rSELF @ arg2
- b dvmCheckBefore @ (dPC,dFP,self) tail call
-
-/* ------------------------------ */
- .balign 64
-.L_ALT_OP_UNUSED_39FF: /* 0x139 */
-/* File: armv5te/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Note that the call to dvmCheckBefore is done as a tail call.
- * rIBASE updates won't be seen until a refresh, and we can tell we have a
- * stale rIBASE if breakFlags==0. Always refresh rIBASE here, and then
- * bail to the real handler if breakFlags==0.
- */
- ldrb r3, [rSELF, #offThread_breakFlags]
- adrl lr, dvmAsmInstructionStart + (313 * 64)
- ldr rIBASE, [rSELF, #offThread_curHandlerTable]
- cmp r3, #0
- bxeq lr @ nothing to do - jump to real handler
- EXPORT_PC()
- mov r0, rPC @ arg0
- mov r1, rFP @ arg1
- mov r2, rSELF @ arg2
- b dvmCheckBefore @ (dPC,dFP,self) tail call
-
-/* ------------------------------ */
- .balign 64
-.L_ALT_OP_UNUSED_3AFF: /* 0x13a */
-/* File: armv5te/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Note that the call to dvmCheckBefore is done as a tail call.
- * rIBASE updates won't be seen until a refresh, and we can tell we have a
- * stale rIBASE if breakFlags==0. Always refresh rIBASE here, and then
- * bail to the real handler if breakFlags==0.
- */
- ldrb r3, [rSELF, #offThread_breakFlags]
- adrl lr, dvmAsmInstructionStart + (314 * 64)
- ldr rIBASE, [rSELF, #offThread_curHandlerTable]
- cmp r3, #0
- bxeq lr @ nothing to do - jump to real handler
- EXPORT_PC()
- mov r0, rPC @ arg0
- mov r1, rFP @ arg1
- mov r2, rSELF @ arg2
- b dvmCheckBefore @ (dPC,dFP,self) tail call
-
-/* ------------------------------ */
- .balign 64
-.L_ALT_OP_UNUSED_3BFF: /* 0x13b */
-/* File: armv5te/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Note that the call to dvmCheckBefore is done as a tail call.
- * rIBASE updates won't be seen until a refresh, and we can tell we have a
- * stale rIBASE if breakFlags==0. Always refresh rIBASE here, and then
- * bail to the real handler if breakFlags==0.
- */
- ldrb r3, [rSELF, #offThread_breakFlags]
- adrl lr, dvmAsmInstructionStart + (315 * 64)
- ldr rIBASE, [rSELF, #offThread_curHandlerTable]
- cmp r3, #0
- bxeq lr @ nothing to do - jump to real handler
- EXPORT_PC()
- mov r0, rPC @ arg0
- mov r1, rFP @ arg1
- mov r2, rSELF @ arg2
- b dvmCheckBefore @ (dPC,dFP,self) tail call
-
-/* ------------------------------ */
- .balign 64
-.L_ALT_OP_UNUSED_3CFF: /* 0x13c */
-/* File: armv5te/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Note that the call to dvmCheckBefore is done as a tail call.
- * rIBASE updates won't be seen until a refresh, and we can tell we have a
- * stale rIBASE if breakFlags==0. Always refresh rIBASE here, and then
- * bail to the real handler if breakFlags==0.
- */
- ldrb r3, [rSELF, #offThread_breakFlags]
- adrl lr, dvmAsmInstructionStart + (316 * 64)
- ldr rIBASE, [rSELF, #offThread_curHandlerTable]
- cmp r3, #0
- bxeq lr @ nothing to do - jump to real handler
- EXPORT_PC()
- mov r0, rPC @ arg0
- mov r1, rFP @ arg1
- mov r2, rSELF @ arg2
- b dvmCheckBefore @ (dPC,dFP,self) tail call
-
-/* ------------------------------ */
- .balign 64
-.L_ALT_OP_UNUSED_3DFF: /* 0x13d */
-/* File: armv5te/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Note that the call to dvmCheckBefore is done as a tail call.
- * rIBASE updates won't be seen until a refresh, and we can tell we have a
- * stale rIBASE if breakFlags==0. Always refresh rIBASE here, and then
- * bail to the real handler if breakFlags==0.
- */
- ldrb r3, [rSELF, #offThread_breakFlags]
- adrl lr, dvmAsmInstructionStart + (317 * 64)
- ldr rIBASE, [rSELF, #offThread_curHandlerTable]
- cmp r3, #0
- bxeq lr @ nothing to do - jump to real handler
- EXPORT_PC()
- mov r0, rPC @ arg0
- mov r1, rFP @ arg1
- mov r2, rSELF @ arg2
- b dvmCheckBefore @ (dPC,dFP,self) tail call
-
-/* ------------------------------ */
- .balign 64
-.L_ALT_OP_UNUSED_3EFF: /* 0x13e */
-/* File: armv5te/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Note that the call to dvmCheckBefore is done as a tail call.
- * rIBASE updates won't be seen until a refresh, and we can tell we have a
- * stale rIBASE if breakFlags==0. Always refresh rIBASE here, and then
- * bail to the real handler if breakFlags==0.
- */
- ldrb r3, [rSELF, #offThread_breakFlags]
- adrl lr, dvmAsmInstructionStart + (318 * 64)
- ldr rIBASE, [rSELF, #offThread_curHandlerTable]
- cmp r3, #0
- bxeq lr @ nothing to do - jump to real handler
- EXPORT_PC()
- mov r0, rPC @ arg0
- mov r1, rFP @ arg1
- mov r2, rSELF @ arg2
- b dvmCheckBefore @ (dPC,dFP,self) tail call
-
-/* ------------------------------ */
- .balign 64
-.L_ALT_OP_UNUSED_3FFF: /* 0x13f */
-/* File: armv5te/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Note that the call to dvmCheckBefore is done as a tail call.
- * rIBASE updates won't be seen until a refresh, and we can tell we have a
- * stale rIBASE if breakFlags==0. Always refresh rIBASE here, and then
- * bail to the real handler if breakFlags==0.
- */
- ldrb r3, [rSELF, #offThread_breakFlags]
- adrl lr, dvmAsmInstructionStart + (319 * 64)
- ldr rIBASE, [rSELF, #offThread_curHandlerTable]
- cmp r3, #0
- bxeq lr @ nothing to do - jump to real handler
- EXPORT_PC()
- mov r0, rPC @ arg0
- mov r1, rFP @ arg1
- mov r2, rSELF @ arg2
- b dvmCheckBefore @ (dPC,dFP,self) tail call
-
-/* ------------------------------ */
- .balign 64
-.L_ALT_OP_UNUSED_40FF: /* 0x140 */
-/* File: armv5te/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Note that the call to dvmCheckBefore is done as a tail call.
- * rIBASE updates won't be seen until a refresh, and we can tell we have a
- * stale rIBASE if breakFlags==0. Always refresh rIBASE here, and then
- * bail to the real handler if breakFlags==0.
- */
- ldrb r3, [rSELF, #offThread_breakFlags]
- adrl lr, dvmAsmInstructionStart + (320 * 64)
- ldr rIBASE, [rSELF, #offThread_curHandlerTable]
- cmp r3, #0
- bxeq lr @ nothing to do - jump to real handler
- EXPORT_PC()
- mov r0, rPC @ arg0
- mov r1, rFP @ arg1
- mov r2, rSELF @ arg2
- b dvmCheckBefore @ (dPC,dFP,self) tail call
-
-/* ------------------------------ */
- .balign 64
-.L_ALT_OP_UNUSED_41FF: /* 0x141 */
-/* File: armv5te/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Note that the call to dvmCheckBefore is done as a tail call.
- * rIBASE updates won't be seen until a refresh, and we can tell we have a
- * stale rIBASE if breakFlags==0. Always refresh rIBASE here, and then
- * bail to the real handler if breakFlags==0.
- */
- ldrb r3, [rSELF, #offThread_breakFlags]
- adrl lr, dvmAsmInstructionStart + (321 * 64)
- ldr rIBASE, [rSELF, #offThread_curHandlerTable]
- cmp r3, #0
- bxeq lr @ nothing to do - jump to real handler
- EXPORT_PC()
- mov r0, rPC @ arg0
- mov r1, rFP @ arg1
- mov r2, rSELF @ arg2
- b dvmCheckBefore @ (dPC,dFP,self) tail call
-
-/* ------------------------------ */
- .balign 64
-.L_ALT_OP_UNUSED_42FF: /* 0x142 */
-/* File: armv5te/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Note that the call to dvmCheckBefore is done as a tail call.
- * rIBASE updates won't be seen until a refresh, and we can tell we have a
- * stale rIBASE if breakFlags==0. Always refresh rIBASE here, and then
- * bail to the real handler if breakFlags==0.
- */
- ldrb r3, [rSELF, #offThread_breakFlags]
- adrl lr, dvmAsmInstructionStart + (322 * 64)
- ldr rIBASE, [rSELF, #offThread_curHandlerTable]
- cmp r3, #0
- bxeq lr @ nothing to do - jump to real handler
- EXPORT_PC()
- mov r0, rPC @ arg0
- mov r1, rFP @ arg1
- mov r2, rSELF @ arg2
- b dvmCheckBefore @ (dPC,dFP,self) tail call
-
-/* ------------------------------ */
- .balign 64
-.L_ALT_OP_UNUSED_43FF: /* 0x143 */
-/* File: armv5te/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Note that the call to dvmCheckBefore is done as a tail call.
- * rIBASE updates won't be seen until a refresh, and we can tell we have a
- * stale rIBASE if breakFlags==0. Always refresh rIBASE here, and then
- * bail to the real handler if breakFlags==0.
- */
- ldrb r3, [rSELF, #offThread_breakFlags]
- adrl lr, dvmAsmInstructionStart + (323 * 64)
- ldr rIBASE, [rSELF, #offThread_curHandlerTable]
- cmp r3, #0
- bxeq lr @ nothing to do - jump to real handler
- EXPORT_PC()
- mov r0, rPC @ arg0
- mov r1, rFP @ arg1
- mov r2, rSELF @ arg2
- b dvmCheckBefore @ (dPC,dFP,self) tail call
-
-/* ------------------------------ */
- .balign 64
-.L_ALT_OP_UNUSED_44FF: /* 0x144 */
-/* File: armv5te/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Note that the call to dvmCheckBefore is done as a tail call.
- * rIBASE updates won't be seen until a refresh, and we can tell we have a
- * stale rIBASE if breakFlags==0. Always refresh rIBASE here, and then
- * bail to the real handler if breakFlags==0.
- */
- ldrb r3, [rSELF, #offThread_breakFlags]
- adrl lr, dvmAsmInstructionStart + (324 * 64)
- ldr rIBASE, [rSELF, #offThread_curHandlerTable]
- cmp r3, #0
- bxeq lr @ nothing to do - jump to real handler
- EXPORT_PC()
- mov r0, rPC @ arg0
- mov r1, rFP @ arg1
- mov r2, rSELF @ arg2
- b dvmCheckBefore @ (dPC,dFP,self) tail call
-
-/* ------------------------------ */
- .balign 64
-.L_ALT_OP_UNUSED_45FF: /* 0x145 */
-/* File: armv5te/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Note that the call to dvmCheckBefore is done as a tail call.
- * rIBASE updates won't be seen until a refresh, and we can tell we have a
- * stale rIBASE if breakFlags==0. Always refresh rIBASE here, and then
- * bail to the real handler if breakFlags==0.
- */
- ldrb r3, [rSELF, #offThread_breakFlags]
- adrl lr, dvmAsmInstructionStart + (325 * 64)
- ldr rIBASE, [rSELF, #offThread_curHandlerTable]
- cmp r3, #0
- bxeq lr @ nothing to do - jump to real handler
- EXPORT_PC()
- mov r0, rPC @ arg0
- mov r1, rFP @ arg1
- mov r2, rSELF @ arg2
- b dvmCheckBefore @ (dPC,dFP,self) tail call
-
-/* ------------------------------ */
- .balign 64
-.L_ALT_OP_UNUSED_46FF: /* 0x146 */
-/* File: armv5te/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Note that the call to dvmCheckBefore is done as a tail call.
- * rIBASE updates won't be seen until a refresh, and we can tell we have a
- * stale rIBASE if breakFlags==0. Always refresh rIBASE here, and then
- * bail to the real handler if breakFlags==0.
- */
- ldrb r3, [rSELF, #offThread_breakFlags]
- adrl lr, dvmAsmInstructionStart + (326 * 64)
- ldr rIBASE, [rSELF, #offThread_curHandlerTable]
- cmp r3, #0
- bxeq lr @ nothing to do - jump to real handler
- EXPORT_PC()
- mov r0, rPC @ arg0
- mov r1, rFP @ arg1
- mov r2, rSELF @ arg2
- b dvmCheckBefore @ (dPC,dFP,self) tail call
-
-/* ------------------------------ */
- .balign 64
-.L_ALT_OP_UNUSED_47FF: /* 0x147 */
-/* File: armv5te/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Note that the call to dvmCheckBefore is done as a tail call.
- * rIBASE updates won't be seen until a refresh, and we can tell we have a
- * stale rIBASE if breakFlags==0. Always refresh rIBASE here, and then
- * bail to the real handler if breakFlags==0.
- */
- ldrb r3, [rSELF, #offThread_breakFlags]
- adrl lr, dvmAsmInstructionStart + (327 * 64)
- ldr rIBASE, [rSELF, #offThread_curHandlerTable]
- cmp r3, #0
- bxeq lr @ nothing to do - jump to real handler
- EXPORT_PC()
- mov r0, rPC @ arg0
- mov r1, rFP @ arg1
- mov r2, rSELF @ arg2
- b dvmCheckBefore @ (dPC,dFP,self) tail call
-
-/* ------------------------------ */
- .balign 64
-.L_ALT_OP_UNUSED_48FF: /* 0x148 */
-/* File: armv5te/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Note that the call to dvmCheckBefore is done as a tail call.
- * rIBASE updates won't be seen until a refresh, and we can tell we have a
- * stale rIBASE if breakFlags==0. Always refresh rIBASE here, and then
- * bail to the real handler if breakFlags==0.
- */
- ldrb r3, [rSELF, #offThread_breakFlags]
- adrl lr, dvmAsmInstructionStart + (328 * 64)
- ldr rIBASE, [rSELF, #offThread_curHandlerTable]
- cmp r3, #0
- bxeq lr @ nothing to do - jump to real handler
- EXPORT_PC()
- mov r0, rPC @ arg0
- mov r1, rFP @ arg1
- mov r2, rSELF @ arg2
- b dvmCheckBefore @ (dPC,dFP,self) tail call
-
-/* ------------------------------ */
- .balign 64
-.L_ALT_OP_UNUSED_49FF: /* 0x149 */
-/* File: armv5te/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Note that the call to dvmCheckBefore is done as a tail call.
- * rIBASE updates won't be seen until a refresh, and we can tell we have a
- * stale rIBASE if breakFlags==0. Always refresh rIBASE here, and then
- * bail to the real handler if breakFlags==0.
- */
- ldrb r3, [rSELF, #offThread_breakFlags]
- adrl lr, dvmAsmInstructionStart + (329 * 64)
- ldr rIBASE, [rSELF, #offThread_curHandlerTable]
- cmp r3, #0
- bxeq lr @ nothing to do - jump to real handler
- EXPORT_PC()
- mov r0, rPC @ arg0
- mov r1, rFP @ arg1
- mov r2, rSELF @ arg2
- b dvmCheckBefore @ (dPC,dFP,self) tail call
-
-/* ------------------------------ */
- .balign 64
-.L_ALT_OP_UNUSED_4AFF: /* 0x14a */
-/* File: armv5te/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Note that the call to dvmCheckBefore is done as a tail call.
- * rIBASE updates won't be seen until a refresh, and we can tell we have a
- * stale rIBASE if breakFlags==0. Always refresh rIBASE here, and then
- * bail to the real handler if breakFlags==0.
- */
- ldrb r3, [rSELF, #offThread_breakFlags]
- adrl lr, dvmAsmInstructionStart + (330 * 64)
- ldr rIBASE, [rSELF, #offThread_curHandlerTable]
- cmp r3, #0
- bxeq lr @ nothing to do - jump to real handler
- EXPORT_PC()
- mov r0, rPC @ arg0
- mov r1, rFP @ arg1
- mov r2, rSELF @ arg2
- b dvmCheckBefore @ (dPC,dFP,self) tail call
-
-/* ------------------------------ */
- .balign 64
-.L_ALT_OP_UNUSED_4BFF: /* 0x14b */
-/* File: armv5te/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Note that the call to dvmCheckBefore is done as a tail call.
- * rIBASE updates won't be seen until a refresh, and we can tell we have a
- * stale rIBASE if breakFlags==0. Always refresh rIBASE here, and then
- * bail to the real handler if breakFlags==0.
- */
- ldrb r3, [rSELF, #offThread_breakFlags]
- adrl lr, dvmAsmInstructionStart + (331 * 64)
- ldr rIBASE, [rSELF, #offThread_curHandlerTable]
- cmp r3, #0
- bxeq lr @ nothing to do - jump to real handler
- EXPORT_PC()
- mov r0, rPC @ arg0
- mov r1, rFP @ arg1
- mov r2, rSELF @ arg2
- b dvmCheckBefore @ (dPC,dFP,self) tail call
-
-/* ------------------------------ */
- .balign 64
-.L_ALT_OP_UNUSED_4CFF: /* 0x14c */
-/* File: armv5te/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Note that the call to dvmCheckBefore is done as a tail call.
- * rIBASE updates won't be seen until a refresh, and we can tell we have a
- * stale rIBASE if breakFlags==0. Always refresh rIBASE here, and then
- * bail to the real handler if breakFlags==0.
- */
- ldrb r3, [rSELF, #offThread_breakFlags]
- adrl lr, dvmAsmInstructionStart + (332 * 64)
- ldr rIBASE, [rSELF, #offThread_curHandlerTable]
- cmp r3, #0
- bxeq lr @ nothing to do - jump to real handler
- EXPORT_PC()
- mov r0, rPC @ arg0
- mov r1, rFP @ arg1
- mov r2, rSELF @ arg2
- b dvmCheckBefore @ (dPC,dFP,self) tail call
-
-/* ------------------------------ */
- .balign 64
-.L_ALT_OP_UNUSED_4DFF: /* 0x14d */
-/* File: armv5te/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Note that the call to dvmCheckBefore is done as a tail call.
- * rIBASE updates won't be seen until a refresh, and we can tell we have a
- * stale rIBASE if breakFlags==0. Always refresh rIBASE here, and then
- * bail to the real handler if breakFlags==0.
- */
- ldrb r3, [rSELF, #offThread_breakFlags]
- adrl lr, dvmAsmInstructionStart + (333 * 64)
- ldr rIBASE, [rSELF, #offThread_curHandlerTable]
- cmp r3, #0
- bxeq lr @ nothing to do - jump to real handler
- EXPORT_PC()
- mov r0, rPC @ arg0
- mov r1, rFP @ arg1
- mov r2, rSELF @ arg2
- b dvmCheckBefore @ (dPC,dFP,self) tail call
-
-/* ------------------------------ */
- .balign 64
-.L_ALT_OP_UNUSED_4EFF: /* 0x14e */
-/* File: armv5te/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Note that the call to dvmCheckBefore is done as a tail call.
- * rIBASE updates won't be seen until a refresh, and we can tell we have a
- * stale rIBASE if breakFlags==0. Always refresh rIBASE here, and then
- * bail to the real handler if breakFlags==0.
- */
- ldrb r3, [rSELF, #offThread_breakFlags]
- adrl lr, dvmAsmInstructionStart + (334 * 64)
- ldr rIBASE, [rSELF, #offThread_curHandlerTable]
- cmp r3, #0
- bxeq lr @ nothing to do - jump to real handler
- EXPORT_PC()
- mov r0, rPC @ arg0
- mov r1, rFP @ arg1
- mov r2, rSELF @ arg2
- b dvmCheckBefore @ (dPC,dFP,self) tail call
-
-/* ------------------------------ */
- .balign 64
-.L_ALT_OP_UNUSED_4FFF: /* 0x14f */
-/* File: armv5te/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Note that the call to dvmCheckBefore is done as a tail call.
- * rIBASE updates won't be seen until a refresh, and we can tell we have a
- * stale rIBASE if breakFlags==0. Always refresh rIBASE here, and then
- * bail to the real handler if breakFlags==0.
- */
- ldrb r3, [rSELF, #offThread_breakFlags]
- adrl lr, dvmAsmInstructionStart + (335 * 64)
- ldr rIBASE, [rSELF, #offThread_curHandlerTable]
- cmp r3, #0
- bxeq lr @ nothing to do - jump to real handler
- EXPORT_PC()
- mov r0, rPC @ arg0
- mov r1, rFP @ arg1
- mov r2, rSELF @ arg2
- b dvmCheckBefore @ (dPC,dFP,self) tail call
-
-/* ------------------------------ */
- .balign 64
-.L_ALT_OP_UNUSED_50FF: /* 0x150 */
-/* File: armv5te/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Note that the call to dvmCheckBefore is done as a tail call.
- * rIBASE updates won't be seen until a refresh, and we can tell we have a
- * stale rIBASE if breakFlags==0. Always refresh rIBASE here, and then
- * bail to the real handler if breakFlags==0.
- */
- ldrb r3, [rSELF, #offThread_breakFlags]
- adrl lr, dvmAsmInstructionStart + (336 * 64)
- ldr rIBASE, [rSELF, #offThread_curHandlerTable]
- cmp r3, #0
- bxeq lr @ nothing to do - jump to real handler
- EXPORT_PC()
- mov r0, rPC @ arg0
- mov r1, rFP @ arg1
- mov r2, rSELF @ arg2
- b dvmCheckBefore @ (dPC,dFP,self) tail call
-
-/* ------------------------------ */
- .balign 64
-.L_ALT_OP_UNUSED_51FF: /* 0x151 */
-/* File: armv5te/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Note that the call to dvmCheckBefore is done as a tail call.
- * rIBASE updates won't be seen until a refresh, and we can tell we have a
- * stale rIBASE if breakFlags==0. Always refresh rIBASE here, and then
- * bail to the real handler if breakFlags==0.
- */
- ldrb r3, [rSELF, #offThread_breakFlags]
- adrl lr, dvmAsmInstructionStart + (337 * 64)
- ldr rIBASE, [rSELF, #offThread_curHandlerTable]
- cmp r3, #0
- bxeq lr @ nothing to do - jump to real handler
- EXPORT_PC()
- mov r0, rPC @ arg0
- mov r1, rFP @ arg1
- mov r2, rSELF @ arg2
- b dvmCheckBefore @ (dPC,dFP,self) tail call
-
-/* ------------------------------ */
- .balign 64
-.L_ALT_OP_UNUSED_52FF: /* 0x152 */
-/* File: armv5te/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Note that the call to dvmCheckBefore is done as a tail call.
- * rIBASE updates won't be seen until a refresh, and we can tell we have a
- * stale rIBASE if breakFlags==0. Always refresh rIBASE here, and then
- * bail to the real handler if breakFlags==0.
- */
- ldrb r3, [rSELF, #offThread_breakFlags]
- adrl lr, dvmAsmInstructionStart + (338 * 64)
- ldr rIBASE, [rSELF, #offThread_curHandlerTable]
- cmp r3, #0
- bxeq lr @ nothing to do - jump to real handler
- EXPORT_PC()
- mov r0, rPC @ arg0
- mov r1, rFP @ arg1
- mov r2, rSELF @ arg2
- b dvmCheckBefore @ (dPC,dFP,self) tail call
-
-/* ------------------------------ */
- .balign 64
-.L_ALT_OP_UNUSED_53FF: /* 0x153 */
-/* File: armv5te/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Note that the call to dvmCheckBefore is done as a tail call.
- * rIBASE updates won't be seen until a refresh, and we can tell we have a
- * stale rIBASE if breakFlags==0. Always refresh rIBASE here, and then
- * bail to the real handler if breakFlags==0.
- */
- ldrb r3, [rSELF, #offThread_breakFlags]
- adrl lr, dvmAsmInstructionStart + (339 * 64)
- ldr rIBASE, [rSELF, #offThread_curHandlerTable]
- cmp r3, #0
- bxeq lr @ nothing to do - jump to real handler
- EXPORT_PC()
- mov r0, rPC @ arg0
- mov r1, rFP @ arg1
- mov r2, rSELF @ arg2
- b dvmCheckBefore @ (dPC,dFP,self) tail call
-
-/* ------------------------------ */
- .balign 64
-.L_ALT_OP_UNUSED_54FF: /* 0x154 */
-/* File: armv5te/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Note that the call to dvmCheckBefore is done as a tail call.
- * rIBASE updates won't be seen until a refresh, and we can tell we have a
- * stale rIBASE if breakFlags==0. Always refresh rIBASE here, and then
- * bail to the real handler if breakFlags==0.
- */
- ldrb r3, [rSELF, #offThread_breakFlags]
- adrl lr, dvmAsmInstructionStart + (340 * 64)
- ldr rIBASE, [rSELF, #offThread_curHandlerTable]
- cmp r3, #0
- bxeq lr @ nothing to do - jump to real handler
- EXPORT_PC()
- mov r0, rPC @ arg0
- mov r1, rFP @ arg1
- mov r2, rSELF @ arg2
- b dvmCheckBefore @ (dPC,dFP,self) tail call
-
-/* ------------------------------ */
- .balign 64
-.L_ALT_OP_UNUSED_55FF: /* 0x155 */
-/* File: armv5te/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Note that the call to dvmCheckBefore is done as a tail call.
- * rIBASE updates won't be seen until a refresh, and we can tell we have a
- * stale rIBASE if breakFlags==0. Always refresh rIBASE here, and then
- * bail to the real handler if breakFlags==0.
- */
- ldrb r3, [rSELF, #offThread_breakFlags]
- adrl lr, dvmAsmInstructionStart + (341 * 64)
- ldr rIBASE, [rSELF, #offThread_curHandlerTable]
- cmp r3, #0
- bxeq lr @ nothing to do - jump to real handler
- EXPORT_PC()
- mov r0, rPC @ arg0
- mov r1, rFP @ arg1
- mov r2, rSELF @ arg2
- b dvmCheckBefore @ (dPC,dFP,self) tail call
-
-/* ------------------------------ */
- .balign 64
-.L_ALT_OP_UNUSED_56FF: /* 0x156 */
-/* File: armv5te/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Note that the call to dvmCheckBefore is done as a tail call.
- * rIBASE updates won't be seen until a refresh, and we can tell we have a
- * stale rIBASE if breakFlags==0. Always refresh rIBASE here, and then
- * bail to the real handler if breakFlags==0.
- */
- ldrb r3, [rSELF, #offThread_breakFlags]
- adrl lr, dvmAsmInstructionStart + (342 * 64)
- ldr rIBASE, [rSELF, #offThread_curHandlerTable]
- cmp r3, #0
- bxeq lr @ nothing to do - jump to real handler
- EXPORT_PC()
- mov r0, rPC @ arg0
- mov r1, rFP @ arg1
- mov r2, rSELF @ arg2
- b dvmCheckBefore @ (dPC,dFP,self) tail call
-
-/* ------------------------------ */
- .balign 64
-.L_ALT_OP_UNUSED_57FF: /* 0x157 */
-/* File: armv5te/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Note that the call to dvmCheckBefore is done as a tail call.
- * rIBASE updates won't be seen until a refresh, and we can tell we have a
- * stale rIBASE if breakFlags==0. Always refresh rIBASE here, and then
- * bail to the real handler if breakFlags==0.
- */
- ldrb r3, [rSELF, #offThread_breakFlags]
- adrl lr, dvmAsmInstructionStart + (343 * 64)
- ldr rIBASE, [rSELF, #offThread_curHandlerTable]
- cmp r3, #0
- bxeq lr @ nothing to do - jump to real handler
- EXPORT_PC()
- mov r0, rPC @ arg0
- mov r1, rFP @ arg1
- mov r2, rSELF @ arg2
- b dvmCheckBefore @ (dPC,dFP,self) tail call
-
-/* ------------------------------ */
- .balign 64
-.L_ALT_OP_UNUSED_58FF: /* 0x158 */
-/* File: armv5te/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Note that the call to dvmCheckBefore is done as a tail call.
- * rIBASE updates won't be seen until a refresh, and we can tell we have a
- * stale rIBASE if breakFlags==0. Always refresh rIBASE here, and then
- * bail to the real handler if breakFlags==0.
- */
- ldrb r3, [rSELF, #offThread_breakFlags]
- adrl lr, dvmAsmInstructionStart + (344 * 64)
- ldr rIBASE, [rSELF, #offThread_curHandlerTable]
- cmp r3, #0
- bxeq lr @ nothing to do - jump to real handler
- EXPORT_PC()
- mov r0, rPC @ arg0
- mov r1, rFP @ arg1
- mov r2, rSELF @ arg2
- b dvmCheckBefore @ (dPC,dFP,self) tail call
-
-/* ------------------------------ */
- .balign 64
-.L_ALT_OP_UNUSED_59FF: /* 0x159 */
-/* File: armv5te/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Note that the call to dvmCheckBefore is done as a tail call.
- * rIBASE updates won't be seen until a refresh, and we can tell we have a
- * stale rIBASE if breakFlags==0. Always refresh rIBASE here, and then
- * bail to the real handler if breakFlags==0.
- */
- ldrb r3, [rSELF, #offThread_breakFlags]
- adrl lr, dvmAsmInstructionStart + (345 * 64)
- ldr rIBASE, [rSELF, #offThread_curHandlerTable]
- cmp r3, #0
- bxeq lr @ nothing to do - jump to real handler
- EXPORT_PC()
- mov r0, rPC @ arg0
- mov r1, rFP @ arg1
- mov r2, rSELF @ arg2
- b dvmCheckBefore @ (dPC,dFP,self) tail call
-
-/* ------------------------------ */
- .balign 64
-.L_ALT_OP_UNUSED_5AFF: /* 0x15a */
-/* File: armv5te/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Note that the call to dvmCheckBefore is done as a tail call.
- * rIBASE updates won't be seen until a refresh, and we can tell we have a
- * stale rIBASE if breakFlags==0. Always refresh rIBASE here, and then
- * bail to the real handler if breakFlags==0.
- */
- ldrb r3, [rSELF, #offThread_breakFlags]
- adrl lr, dvmAsmInstructionStart + (346 * 64)
- ldr rIBASE, [rSELF, #offThread_curHandlerTable]
- cmp r3, #0
- bxeq lr @ nothing to do - jump to real handler
- EXPORT_PC()
- mov r0, rPC @ arg0
- mov r1, rFP @ arg1
- mov r2, rSELF @ arg2
- b dvmCheckBefore @ (dPC,dFP,self) tail call
-
-/* ------------------------------ */
- .balign 64
-.L_ALT_OP_UNUSED_5BFF: /* 0x15b */
-/* File: armv5te/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Note that the call to dvmCheckBefore is done as a tail call.
- * rIBASE updates won't be seen until a refresh, and we can tell we have a
- * stale rIBASE if breakFlags==0. Always refresh rIBASE here, and then
- * bail to the real handler if breakFlags==0.
- */
- ldrb r3, [rSELF, #offThread_breakFlags]
- adrl lr, dvmAsmInstructionStart + (347 * 64)
- ldr rIBASE, [rSELF, #offThread_curHandlerTable]
- cmp r3, #0
- bxeq lr @ nothing to do - jump to real handler
- EXPORT_PC()
- mov r0, rPC @ arg0
- mov r1, rFP @ arg1
- mov r2, rSELF @ arg2
- b dvmCheckBefore @ (dPC,dFP,self) tail call
-
-/* ------------------------------ */
- .balign 64
-.L_ALT_OP_UNUSED_5CFF: /* 0x15c */
-/* File: armv5te/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Note that the call to dvmCheckBefore is done as a tail call.
- * rIBASE updates won't be seen until a refresh, and we can tell we have a
- * stale rIBASE if breakFlags==0. Always refresh rIBASE here, and then
- * bail to the real handler if breakFlags==0.
- */
- ldrb r3, [rSELF, #offThread_breakFlags]
- adrl lr, dvmAsmInstructionStart + (348 * 64)
- ldr rIBASE, [rSELF, #offThread_curHandlerTable]
- cmp r3, #0
- bxeq lr @ nothing to do - jump to real handler
- EXPORT_PC()
- mov r0, rPC @ arg0
- mov r1, rFP @ arg1
- mov r2, rSELF @ arg2
- b dvmCheckBefore @ (dPC,dFP,self) tail call
-
-/* ------------------------------ */
- .balign 64
-.L_ALT_OP_UNUSED_5DFF: /* 0x15d */
-/* File: armv5te/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Note that the call to dvmCheckBefore is done as a tail call.
- * rIBASE updates won't be seen until a refresh, and we can tell we have a
- * stale rIBASE if breakFlags==0. Always refresh rIBASE here, and then
- * bail to the real handler if breakFlags==0.
- */
- ldrb r3, [rSELF, #offThread_breakFlags]
- adrl lr, dvmAsmInstructionStart + (349 * 64)
- ldr rIBASE, [rSELF, #offThread_curHandlerTable]
- cmp r3, #0
- bxeq lr @ nothing to do - jump to real handler
- EXPORT_PC()
- mov r0, rPC @ arg0
- mov r1, rFP @ arg1
- mov r2, rSELF @ arg2
- b dvmCheckBefore @ (dPC,dFP,self) tail call
-
-/* ------------------------------ */
- .balign 64
-.L_ALT_OP_UNUSED_5EFF: /* 0x15e */
-/* File: armv5te/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Note that the call to dvmCheckBefore is done as a tail call.
- * rIBASE updates won't be seen until a refresh, and we can tell we have a
- * stale rIBASE if breakFlags==0. Always refresh rIBASE here, and then
- * bail to the real handler if breakFlags==0.
- */
- ldrb r3, [rSELF, #offThread_breakFlags]
- adrl lr, dvmAsmInstructionStart + (350 * 64)
- ldr rIBASE, [rSELF, #offThread_curHandlerTable]
- cmp r3, #0
- bxeq lr @ nothing to do - jump to real handler
- EXPORT_PC()
- mov r0, rPC @ arg0
- mov r1, rFP @ arg1
- mov r2, rSELF @ arg2
- b dvmCheckBefore @ (dPC,dFP,self) tail call
-
-/* ------------------------------ */
- .balign 64
-.L_ALT_OP_UNUSED_5FFF: /* 0x15f */
-/* File: armv5te/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Note that the call to dvmCheckBefore is done as a tail call.
- * rIBASE updates won't be seen until a refresh, and we can tell we have a
- * stale rIBASE if breakFlags==0. Always refresh rIBASE here, and then
- * bail to the real handler if breakFlags==0.
- */
- ldrb r3, [rSELF, #offThread_breakFlags]
- adrl lr, dvmAsmInstructionStart + (351 * 64)
- ldr rIBASE, [rSELF, #offThread_curHandlerTable]
- cmp r3, #0
- bxeq lr @ nothing to do - jump to real handler
- EXPORT_PC()
- mov r0, rPC @ arg0
- mov r1, rFP @ arg1
- mov r2, rSELF @ arg2
- b dvmCheckBefore @ (dPC,dFP,self) tail call
-
-/* ------------------------------ */
- .balign 64
-.L_ALT_OP_UNUSED_60FF: /* 0x160 */
-/* File: armv5te/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Note that the call to dvmCheckBefore is done as a tail call.
- * rIBASE updates won't be seen until a refresh, and we can tell we have a
- * stale rIBASE if breakFlags==0. Always refresh rIBASE here, and then
- * bail to the real handler if breakFlags==0.
- */
- ldrb r3, [rSELF, #offThread_breakFlags]
- adrl lr, dvmAsmInstructionStart + (352 * 64)
- ldr rIBASE, [rSELF, #offThread_curHandlerTable]
- cmp r3, #0
- bxeq lr @ nothing to do - jump to real handler
- EXPORT_PC()
- mov r0, rPC @ arg0
- mov r1, rFP @ arg1
- mov r2, rSELF @ arg2
- b dvmCheckBefore @ (dPC,dFP,self) tail call
-
-/* ------------------------------ */
- .balign 64
-.L_ALT_OP_UNUSED_61FF: /* 0x161 */
-/* File: armv5te/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Note that the call to dvmCheckBefore is done as a tail call.
- * rIBASE updates won't be seen until a refresh, and we can tell we have a
- * stale rIBASE if breakFlags==0. Always refresh rIBASE here, and then
- * bail to the real handler if breakFlags==0.
- */
- ldrb r3, [rSELF, #offThread_breakFlags]
- adrl lr, dvmAsmInstructionStart + (353 * 64)
- ldr rIBASE, [rSELF, #offThread_curHandlerTable]
- cmp r3, #0
- bxeq lr @ nothing to do - jump to real handler
- EXPORT_PC()
- mov r0, rPC @ arg0
- mov r1, rFP @ arg1
- mov r2, rSELF @ arg2
- b dvmCheckBefore @ (dPC,dFP,self) tail call
-
-/* ------------------------------ */
- .balign 64
-.L_ALT_OP_UNUSED_62FF: /* 0x162 */
-/* File: armv5te/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Note that the call to dvmCheckBefore is done as a tail call.
- * rIBASE updates won't be seen until a refresh, and we can tell we have a
- * stale rIBASE if breakFlags==0. Always refresh rIBASE here, and then
- * bail to the real handler if breakFlags==0.
- */
- ldrb r3, [rSELF, #offThread_breakFlags]
- adrl lr, dvmAsmInstructionStart + (354 * 64)
- ldr rIBASE, [rSELF, #offThread_curHandlerTable]
- cmp r3, #0
- bxeq lr @ nothing to do - jump to real handler
- EXPORT_PC()
- mov r0, rPC @ arg0
- mov r1, rFP @ arg1
- mov r2, rSELF @ arg2
- b dvmCheckBefore @ (dPC,dFP,self) tail call
-
-/* ------------------------------ */
- .balign 64
-.L_ALT_OP_UNUSED_63FF: /* 0x163 */
-/* File: armv5te/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Note that the call to dvmCheckBefore is done as a tail call.
- * rIBASE updates won't be seen until a refresh, and we can tell we have a
- * stale rIBASE if breakFlags==0. Always refresh rIBASE here, and then
- * bail to the real handler if breakFlags==0.
- */
- ldrb r3, [rSELF, #offThread_breakFlags]
- adrl lr, dvmAsmInstructionStart + (355 * 64)
- ldr rIBASE, [rSELF, #offThread_curHandlerTable]
- cmp r3, #0
- bxeq lr @ nothing to do - jump to real handler
- EXPORT_PC()
- mov r0, rPC @ arg0
- mov r1, rFP @ arg1
- mov r2, rSELF @ arg2
- b dvmCheckBefore @ (dPC,dFP,self) tail call
-
-/* ------------------------------ */
- .balign 64
-.L_ALT_OP_UNUSED_64FF: /* 0x164 */
-/* File: armv5te/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Note that the call to dvmCheckBefore is done as a tail call.
- * rIBASE updates won't be seen until a refresh, and we can tell we have a
- * stale rIBASE if breakFlags==0. Always refresh rIBASE here, and then
- * bail to the real handler if breakFlags==0.
- */
- ldrb r3, [rSELF, #offThread_breakFlags]
- adrl lr, dvmAsmInstructionStart + (356 * 64)
- ldr rIBASE, [rSELF, #offThread_curHandlerTable]
- cmp r3, #0
- bxeq lr @ nothing to do - jump to real handler
- EXPORT_PC()
- mov r0, rPC @ arg0
- mov r1, rFP @ arg1
- mov r2, rSELF @ arg2
- b dvmCheckBefore @ (dPC,dFP,self) tail call
-
-/* ------------------------------ */
- .balign 64
-.L_ALT_OP_UNUSED_65FF: /* 0x165 */
-/* File: armv5te/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Note that the call to dvmCheckBefore is done as a tail call.
- * rIBASE updates won't be seen until a refresh, and we can tell we have a
- * stale rIBASE if breakFlags==0. Always refresh rIBASE here, and then
- * bail to the real handler if breakFlags==0.
- */
- ldrb r3, [rSELF, #offThread_breakFlags]
- adrl lr, dvmAsmInstructionStart + (357 * 64)
- ldr rIBASE, [rSELF, #offThread_curHandlerTable]
- cmp r3, #0
- bxeq lr @ nothing to do - jump to real handler
- EXPORT_PC()
- mov r0, rPC @ arg0
- mov r1, rFP @ arg1
- mov r2, rSELF @ arg2
- b dvmCheckBefore @ (dPC,dFP,self) tail call
-
-/* ------------------------------ */
- .balign 64
-.L_ALT_OP_UNUSED_66FF: /* 0x166 */
-/* File: armv5te/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Note that the call to dvmCheckBefore is done as a tail call.
- * rIBASE updates won't be seen until a refresh, and we can tell we have a
- * stale rIBASE if breakFlags==0. Always refresh rIBASE here, and then
- * bail to the real handler if breakFlags==0.
- */
- ldrb r3, [rSELF, #offThread_breakFlags]
- adrl lr, dvmAsmInstructionStart + (358 * 64)
- ldr rIBASE, [rSELF, #offThread_curHandlerTable]
- cmp r3, #0
- bxeq lr @ nothing to do - jump to real handler
- EXPORT_PC()
- mov r0, rPC @ arg0
- mov r1, rFP @ arg1
- mov r2, rSELF @ arg2
- b dvmCheckBefore @ (dPC,dFP,self) tail call
-
-/* ------------------------------ */
- .balign 64
-.L_ALT_OP_UNUSED_67FF: /* 0x167 */
-/* File: armv5te/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Note that the call to dvmCheckBefore is done as a tail call.
- * rIBASE updates won't be seen until a refresh, and we can tell we have a
- * stale rIBASE if breakFlags==0. Always refresh rIBASE here, and then
- * bail to the real handler if breakFlags==0.
- */
- ldrb r3, [rSELF, #offThread_breakFlags]
- adrl lr, dvmAsmInstructionStart + (359 * 64)
- ldr rIBASE, [rSELF, #offThread_curHandlerTable]
- cmp r3, #0
- bxeq lr @ nothing to do - jump to real handler
- EXPORT_PC()
- mov r0, rPC @ arg0
- mov r1, rFP @ arg1
- mov r2, rSELF @ arg2
- b dvmCheckBefore @ (dPC,dFP,self) tail call
-
-/* ------------------------------ */
- .balign 64
-.L_ALT_OP_UNUSED_68FF: /* 0x168 */
-/* File: armv5te/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Note that the call to dvmCheckBefore is done as a tail call.
- * rIBASE updates won't be seen until a refresh, and we can tell we have a
- * stale rIBASE if breakFlags==0. Always refresh rIBASE here, and then
- * bail to the real handler if breakFlags==0.
- */
- ldrb r3, [rSELF, #offThread_breakFlags]
- adrl lr, dvmAsmInstructionStart + (360 * 64)
- ldr rIBASE, [rSELF, #offThread_curHandlerTable]
- cmp r3, #0
- bxeq lr @ nothing to do - jump to real handler
- EXPORT_PC()
- mov r0, rPC @ arg0
- mov r1, rFP @ arg1
- mov r2, rSELF @ arg2
- b dvmCheckBefore @ (dPC,dFP,self) tail call
-
-/* ------------------------------ */
- .balign 64
-.L_ALT_OP_UNUSED_69FF: /* 0x169 */
-/* File: armv5te/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Note that the call to dvmCheckBefore is done as a tail call.
- * rIBASE updates won't be seen until a refresh, and we can tell we have a
- * stale rIBASE if breakFlags==0. Always refresh rIBASE here, and then
- * bail to the real handler if breakFlags==0.
- */
- ldrb r3, [rSELF, #offThread_breakFlags]
- adrl lr, dvmAsmInstructionStart + (361 * 64)
- ldr rIBASE, [rSELF, #offThread_curHandlerTable]
- cmp r3, #0
- bxeq lr @ nothing to do - jump to real handler
- EXPORT_PC()
- mov r0, rPC @ arg0
- mov r1, rFP @ arg1
- mov r2, rSELF @ arg2
- b dvmCheckBefore @ (dPC,dFP,self) tail call
-
-/* ------------------------------ */
- .balign 64
-.L_ALT_OP_UNUSED_6AFF: /* 0x16a */
-/* File: armv5te/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Note that the call to dvmCheckBefore is done as a tail call.
- * rIBASE updates won't be seen until a refresh, and we can tell we have a
- * stale rIBASE if breakFlags==0. Always refresh rIBASE here, and then
- * bail to the real handler if breakFlags==0.
- */
- ldrb r3, [rSELF, #offThread_breakFlags]
- adrl lr, dvmAsmInstructionStart + (362 * 64)
- ldr rIBASE, [rSELF, #offThread_curHandlerTable]
- cmp r3, #0
- bxeq lr @ nothing to do - jump to real handler
- EXPORT_PC()
- mov r0, rPC @ arg0
- mov r1, rFP @ arg1
- mov r2, rSELF @ arg2
- b dvmCheckBefore @ (dPC,dFP,self) tail call
-
-/* ------------------------------ */
- .balign 64
-.L_ALT_OP_UNUSED_6BFF: /* 0x16b */
-/* File: armv5te/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Note that the call to dvmCheckBefore is done as a tail call.
- * rIBASE updates won't be seen until a refresh, and we can tell we have a
- * stale rIBASE if breakFlags==0. Always refresh rIBASE here, and then
- * bail to the real handler if breakFlags==0.
- */
- ldrb r3, [rSELF, #offThread_breakFlags]
- adrl lr, dvmAsmInstructionStart + (363 * 64)
- ldr rIBASE, [rSELF, #offThread_curHandlerTable]
- cmp r3, #0
- bxeq lr @ nothing to do - jump to real handler
- EXPORT_PC()
- mov r0, rPC @ arg0
- mov r1, rFP @ arg1
- mov r2, rSELF @ arg2
- b dvmCheckBefore @ (dPC,dFP,self) tail call
-
-/* ------------------------------ */
- .balign 64
-.L_ALT_OP_UNUSED_6CFF: /* 0x16c */
-/* File: armv5te/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Note that the call to dvmCheckBefore is done as a tail call.
- * rIBASE updates won't be seen until a refresh, and we can tell we have a
- * stale rIBASE if breakFlags==0. Always refresh rIBASE here, and then
- * bail to the real handler if breakFlags==0.
- */
- ldrb r3, [rSELF, #offThread_breakFlags]
- adrl lr, dvmAsmInstructionStart + (364 * 64)
- ldr rIBASE, [rSELF, #offThread_curHandlerTable]
- cmp r3, #0
- bxeq lr @ nothing to do - jump to real handler
- EXPORT_PC()
- mov r0, rPC @ arg0
- mov r1, rFP @ arg1
- mov r2, rSELF @ arg2
- b dvmCheckBefore @ (dPC,dFP,self) tail call
-
-/* ------------------------------ */
- .balign 64
-.L_ALT_OP_UNUSED_6DFF: /* 0x16d */
-/* File: armv5te/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Note that the call to dvmCheckBefore is done as a tail call.
- * rIBASE updates won't be seen until a refresh, and we can tell we have a
- * stale rIBASE if breakFlags==0. Always refresh rIBASE here, and then
- * bail to the real handler if breakFlags==0.
- */
- ldrb r3, [rSELF, #offThread_breakFlags]
- adrl lr, dvmAsmInstructionStart + (365 * 64)
- ldr rIBASE, [rSELF, #offThread_curHandlerTable]
- cmp r3, #0
- bxeq lr @ nothing to do - jump to real handler
- EXPORT_PC()
- mov r0, rPC @ arg0
- mov r1, rFP @ arg1
- mov r2, rSELF @ arg2
- b dvmCheckBefore @ (dPC,dFP,self) tail call
-
-/* ------------------------------ */
- .balign 64
-.L_ALT_OP_UNUSED_6EFF: /* 0x16e */
-/* File: armv5te/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Note that the call to dvmCheckBefore is done as a tail call.
- * rIBASE updates won't be seen until a refresh, and we can tell we have a
- * stale rIBASE if breakFlags==0. Always refresh rIBASE here, and then
- * bail to the real handler if breakFlags==0.
- */
- ldrb r3, [rSELF, #offThread_breakFlags]
- adrl lr, dvmAsmInstructionStart + (366 * 64)
- ldr rIBASE, [rSELF, #offThread_curHandlerTable]
- cmp r3, #0
- bxeq lr @ nothing to do - jump to real handler
- EXPORT_PC()
- mov r0, rPC @ arg0
- mov r1, rFP @ arg1
- mov r2, rSELF @ arg2
- b dvmCheckBefore @ (dPC,dFP,self) tail call
-
-/* ------------------------------ */
- .balign 64
-.L_ALT_OP_UNUSED_6FFF: /* 0x16f */
-/* File: armv5te/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Note that the call to dvmCheckBefore is done as a tail call.
- * rIBASE updates won't be seen until a refresh, and we can tell we have a
- * stale rIBASE if breakFlags==0. Always refresh rIBASE here, and then
- * bail to the real handler if breakFlags==0.
- */
- ldrb r3, [rSELF, #offThread_breakFlags]
- adrl lr, dvmAsmInstructionStart + (367 * 64)
- ldr rIBASE, [rSELF, #offThread_curHandlerTable]
- cmp r3, #0
- bxeq lr @ nothing to do - jump to real handler
- EXPORT_PC()
- mov r0, rPC @ arg0
- mov r1, rFP @ arg1
- mov r2, rSELF @ arg2
- b dvmCheckBefore @ (dPC,dFP,self) tail call
-
-/* ------------------------------ */
- .balign 64
-.L_ALT_OP_UNUSED_70FF: /* 0x170 */
-/* File: armv5te/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Note that the call to dvmCheckBefore is done as a tail call.
- * rIBASE updates won't be seen until a refresh, and we can tell we have a
- * stale rIBASE if breakFlags==0. Always refresh rIBASE here, and then
- * bail to the real handler if breakFlags==0.
- */
- ldrb r3, [rSELF, #offThread_breakFlags]
- adrl lr, dvmAsmInstructionStart + (368 * 64)
- ldr rIBASE, [rSELF, #offThread_curHandlerTable]
- cmp r3, #0
- bxeq lr @ nothing to do - jump to real handler
- EXPORT_PC()
- mov r0, rPC @ arg0
- mov r1, rFP @ arg1
- mov r2, rSELF @ arg2
- b dvmCheckBefore @ (dPC,dFP,self) tail call
-
-/* ------------------------------ */
- .balign 64
-.L_ALT_OP_UNUSED_71FF: /* 0x171 */
-/* File: armv5te/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Note that the call to dvmCheckBefore is done as a tail call.
- * rIBASE updates won't be seen until a refresh, and we can tell we have a
- * stale rIBASE if breakFlags==0. Always refresh rIBASE here, and then
- * bail to the real handler if breakFlags==0.
- */
- ldrb r3, [rSELF, #offThread_breakFlags]
- adrl lr, dvmAsmInstructionStart + (369 * 64)
- ldr rIBASE, [rSELF, #offThread_curHandlerTable]
- cmp r3, #0
- bxeq lr @ nothing to do - jump to real handler
- EXPORT_PC()
- mov r0, rPC @ arg0
- mov r1, rFP @ arg1
- mov r2, rSELF @ arg2
- b dvmCheckBefore @ (dPC,dFP,self) tail call
-
-/* ------------------------------ */
- .balign 64
-.L_ALT_OP_UNUSED_72FF: /* 0x172 */
-/* File: armv5te/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Note that the call to dvmCheckBefore is done as a tail call.
- * rIBASE updates won't be seen until a refresh, and we can tell we have a
- * stale rIBASE if breakFlags==0. Always refresh rIBASE here, and then
- * bail to the real handler if breakFlags==0.
- */
- ldrb r3, [rSELF, #offThread_breakFlags]
- adrl lr, dvmAsmInstructionStart + (370 * 64)
- ldr rIBASE, [rSELF, #offThread_curHandlerTable]
- cmp r3, #0
- bxeq lr @ nothing to do - jump to real handler
- EXPORT_PC()
- mov r0, rPC @ arg0
- mov r1, rFP @ arg1
- mov r2, rSELF @ arg2
- b dvmCheckBefore @ (dPC,dFP,self) tail call
-
-/* ------------------------------ */
- .balign 64
-.L_ALT_OP_UNUSED_73FF: /* 0x173 */
-/* File: armv5te/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Note that the call to dvmCheckBefore is done as a tail call.
- * rIBASE updates won't be seen until a refresh, and we can tell we have a
- * stale rIBASE if breakFlags==0. Always refresh rIBASE here, and then
- * bail to the real handler if breakFlags==0.
- */
- ldrb r3, [rSELF, #offThread_breakFlags]
- adrl lr, dvmAsmInstructionStart + (371 * 64)
- ldr rIBASE, [rSELF, #offThread_curHandlerTable]
- cmp r3, #0
- bxeq lr @ nothing to do - jump to real handler
- EXPORT_PC()
- mov r0, rPC @ arg0
- mov r1, rFP @ arg1
- mov r2, rSELF @ arg2
- b dvmCheckBefore @ (dPC,dFP,self) tail call
-
-/* ------------------------------ */
- .balign 64
-.L_ALT_OP_UNUSED_74FF: /* 0x174 */
-/* File: armv5te/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Note that the call to dvmCheckBefore is done as a tail call.
- * rIBASE updates won't be seen until a refresh, and we can tell we have a
- * stale rIBASE if breakFlags==0. Always refresh rIBASE here, and then
- * bail to the real handler if breakFlags==0.
- */
- ldrb r3, [rSELF, #offThread_breakFlags]
- adrl lr, dvmAsmInstructionStart + (372 * 64)
- ldr rIBASE, [rSELF, #offThread_curHandlerTable]
- cmp r3, #0
- bxeq lr @ nothing to do - jump to real handler
- EXPORT_PC()
- mov r0, rPC @ arg0
- mov r1, rFP @ arg1
- mov r2, rSELF @ arg2
- b dvmCheckBefore @ (dPC,dFP,self) tail call
-
-/* ------------------------------ */
- .balign 64
-.L_ALT_OP_UNUSED_75FF: /* 0x175 */
-/* File: armv5te/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Note that the call to dvmCheckBefore is done as a tail call.
- * rIBASE updates won't be seen until a refresh, and we can tell we have a
- * stale rIBASE if breakFlags==0. Always refresh rIBASE here, and then
- * bail to the real handler if breakFlags==0.
- */
- ldrb r3, [rSELF, #offThread_breakFlags]
- adrl lr, dvmAsmInstructionStart + (373 * 64)
- ldr rIBASE, [rSELF, #offThread_curHandlerTable]
- cmp r3, #0
- bxeq lr @ nothing to do - jump to real handler
- EXPORT_PC()
- mov r0, rPC @ arg0
- mov r1, rFP @ arg1
- mov r2, rSELF @ arg2
- b dvmCheckBefore @ (dPC,dFP,self) tail call
-
-/* ------------------------------ */
- .balign 64
-.L_ALT_OP_UNUSED_76FF: /* 0x176 */
-/* File: armv5te/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Note that the call to dvmCheckBefore is done as a tail call.
- * rIBASE updates won't be seen until a refresh, and we can tell we have a
- * stale rIBASE if breakFlags==0. Always refresh rIBASE here, and then
- * bail to the real handler if breakFlags==0.
- */
- ldrb r3, [rSELF, #offThread_breakFlags]
- adrl lr, dvmAsmInstructionStart + (374 * 64)
- ldr rIBASE, [rSELF, #offThread_curHandlerTable]
- cmp r3, #0
- bxeq lr @ nothing to do - jump to real handler
- EXPORT_PC()
- mov r0, rPC @ arg0
- mov r1, rFP @ arg1
- mov r2, rSELF @ arg2
- b dvmCheckBefore @ (dPC,dFP,self) tail call
-
-/* ------------------------------ */
- .balign 64
-.L_ALT_OP_UNUSED_77FF: /* 0x177 */
-/* File: armv5te/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Note that the call to dvmCheckBefore is done as a tail call.
- * rIBASE updates won't be seen until a refresh, and we can tell we have a
- * stale rIBASE if breakFlags==0. Always refresh rIBASE here, and then
- * bail to the real handler if breakFlags==0.
- */
- ldrb r3, [rSELF, #offThread_breakFlags]
- adrl lr, dvmAsmInstructionStart + (375 * 64)
- ldr rIBASE, [rSELF, #offThread_curHandlerTable]
- cmp r3, #0
- bxeq lr @ nothing to do - jump to real handler
- EXPORT_PC()
- mov r0, rPC @ arg0
- mov r1, rFP @ arg1
- mov r2, rSELF @ arg2
- b dvmCheckBefore @ (dPC,dFP,self) tail call
-
-/* ------------------------------ */
- .balign 64
-.L_ALT_OP_UNUSED_78FF: /* 0x178 */
-/* File: armv5te/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Note that the call to dvmCheckBefore is done as a tail call.
- * rIBASE updates won't be seen until a refresh, and we can tell we have a
- * stale rIBASE if breakFlags==0. Always refresh rIBASE here, and then
- * bail to the real handler if breakFlags==0.
- */
- ldrb r3, [rSELF, #offThread_breakFlags]
- adrl lr, dvmAsmInstructionStart + (376 * 64)
- ldr rIBASE, [rSELF, #offThread_curHandlerTable]
- cmp r3, #0
- bxeq lr @ nothing to do - jump to real handler
- EXPORT_PC()
- mov r0, rPC @ arg0
- mov r1, rFP @ arg1
- mov r2, rSELF @ arg2
- b dvmCheckBefore @ (dPC,dFP,self) tail call
-
-/* ------------------------------ */
- .balign 64
-.L_ALT_OP_UNUSED_79FF: /* 0x179 */
-/* File: armv5te/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Note that the call to dvmCheckBefore is done as a tail call.
- * rIBASE updates won't be seen until a refresh, and we can tell we have a
- * stale rIBASE if breakFlags==0. Always refresh rIBASE here, and then
- * bail to the real handler if breakFlags==0.
- */
- ldrb r3, [rSELF, #offThread_breakFlags]
- adrl lr, dvmAsmInstructionStart + (377 * 64)
- ldr rIBASE, [rSELF, #offThread_curHandlerTable]
- cmp r3, #0
- bxeq lr @ nothing to do - jump to real handler
- EXPORT_PC()
- mov r0, rPC @ arg0
- mov r1, rFP @ arg1
- mov r2, rSELF @ arg2
- b dvmCheckBefore @ (dPC,dFP,self) tail call
-
-/* ------------------------------ */
- .balign 64
-.L_ALT_OP_UNUSED_7AFF: /* 0x17a */
-/* File: armv5te/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Note that the call to dvmCheckBefore is done as a tail call.
- * rIBASE updates won't be seen until a refresh, and we can tell we have a
- * stale rIBASE if breakFlags==0. Always refresh rIBASE here, and then
- * bail to the real handler if breakFlags==0.
- */
- ldrb r3, [rSELF, #offThread_breakFlags]
- adrl lr, dvmAsmInstructionStart + (378 * 64)
- ldr rIBASE, [rSELF, #offThread_curHandlerTable]
- cmp r3, #0
- bxeq lr @ nothing to do - jump to real handler
- EXPORT_PC()
- mov r0, rPC @ arg0
- mov r1, rFP @ arg1
- mov r2, rSELF @ arg2
- b dvmCheckBefore @ (dPC,dFP,self) tail call
-
-/* ------------------------------ */
- .balign 64
-.L_ALT_OP_UNUSED_7BFF: /* 0x17b */
-/* File: armv5te/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Note that the call to dvmCheckBefore is done as a tail call.
- * rIBASE updates won't be seen until a refresh, and we can tell we have a
- * stale rIBASE if breakFlags==0. Always refresh rIBASE here, and then
- * bail to the real handler if breakFlags==0.
- */
- ldrb r3, [rSELF, #offThread_breakFlags]
- adrl lr, dvmAsmInstructionStart + (379 * 64)
- ldr rIBASE, [rSELF, #offThread_curHandlerTable]
- cmp r3, #0
- bxeq lr @ nothing to do - jump to real handler
- EXPORT_PC()
- mov r0, rPC @ arg0
- mov r1, rFP @ arg1
- mov r2, rSELF @ arg2
- b dvmCheckBefore @ (dPC,dFP,self) tail call
-
-/* ------------------------------ */
- .balign 64
-.L_ALT_OP_UNUSED_7CFF: /* 0x17c */
-/* File: armv5te/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Note that the call to dvmCheckBefore is done as a tail call.
- * rIBASE updates won't be seen until a refresh, and we can tell we have a
- * stale rIBASE if breakFlags==0. Always refresh rIBASE here, and then
- * bail to the real handler if breakFlags==0.
- */
- ldrb r3, [rSELF, #offThread_breakFlags]
- adrl lr, dvmAsmInstructionStart + (380 * 64)
- ldr rIBASE, [rSELF, #offThread_curHandlerTable]
- cmp r3, #0
- bxeq lr @ nothing to do - jump to real handler
- EXPORT_PC()
- mov r0, rPC @ arg0
- mov r1, rFP @ arg1
- mov r2, rSELF @ arg2
- b dvmCheckBefore @ (dPC,dFP,self) tail call
-
-/* ------------------------------ */
- .balign 64
-.L_ALT_OP_UNUSED_7DFF: /* 0x17d */
-/* File: armv5te/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Note that the call to dvmCheckBefore is done as a tail call.
- * rIBASE updates won't be seen until a refresh, and we can tell we have a
- * stale rIBASE if breakFlags==0. Always refresh rIBASE here, and then
- * bail to the real handler if breakFlags==0.
- */
- ldrb r3, [rSELF, #offThread_breakFlags]
- adrl lr, dvmAsmInstructionStart + (381 * 64)
- ldr rIBASE, [rSELF, #offThread_curHandlerTable]
- cmp r3, #0
- bxeq lr @ nothing to do - jump to real handler
- EXPORT_PC()
- mov r0, rPC @ arg0
- mov r1, rFP @ arg1
- mov r2, rSELF @ arg2
- b dvmCheckBefore @ (dPC,dFP,self) tail call
-
-/* ------------------------------ */
- .balign 64
-.L_ALT_OP_UNUSED_7EFF: /* 0x17e */
-/* File: armv5te/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Note that the call to dvmCheckBefore is done as a tail call.
- * rIBASE updates won't be seen until a refresh, and we can tell we have a
- * stale rIBASE if breakFlags==0. Always refresh rIBASE here, and then
- * bail to the real handler if breakFlags==0.
- */
- ldrb r3, [rSELF, #offThread_breakFlags]
- adrl lr, dvmAsmInstructionStart + (382 * 64)
- ldr rIBASE, [rSELF, #offThread_curHandlerTable]
- cmp r3, #0
- bxeq lr @ nothing to do - jump to real handler
- EXPORT_PC()
- mov r0, rPC @ arg0
- mov r1, rFP @ arg1
- mov r2, rSELF @ arg2
- b dvmCheckBefore @ (dPC,dFP,self) tail call
-
-/* ------------------------------ */
- .balign 64
-.L_ALT_OP_UNUSED_7FFF: /* 0x17f */
-/* File: armv5te/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Note that the call to dvmCheckBefore is done as a tail call.
- * rIBASE updates won't be seen until a refresh, and we can tell we have a
- * stale rIBASE if breakFlags==0. Always refresh rIBASE here, and then
- * bail to the real handler if breakFlags==0.
- */
- ldrb r3, [rSELF, #offThread_breakFlags]
- adrl lr, dvmAsmInstructionStart + (383 * 64)
- ldr rIBASE, [rSELF, #offThread_curHandlerTable]
- cmp r3, #0
- bxeq lr @ nothing to do - jump to real handler
- EXPORT_PC()
- mov r0, rPC @ arg0
- mov r1, rFP @ arg1
- mov r2, rSELF @ arg2
- b dvmCheckBefore @ (dPC,dFP,self) tail call
-
-/* ------------------------------ */
- .balign 64
-.L_ALT_OP_UNUSED_80FF: /* 0x180 */
-/* File: armv5te/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Note that the call to dvmCheckBefore is done as a tail call.
- * rIBASE updates won't be seen until a refresh, and we can tell we have a
- * stale rIBASE if breakFlags==0. Always refresh rIBASE here, and then
- * bail to the real handler if breakFlags==0.
- */
- ldrb r3, [rSELF, #offThread_breakFlags]
- adrl lr, dvmAsmInstructionStart + (384 * 64)
- ldr rIBASE, [rSELF, #offThread_curHandlerTable]
- cmp r3, #0
- bxeq lr @ nothing to do - jump to real handler
- EXPORT_PC()
- mov r0, rPC @ arg0
- mov r1, rFP @ arg1
- mov r2, rSELF @ arg2
- b dvmCheckBefore @ (dPC,dFP,self) tail call
-
-/* ------------------------------ */
- .balign 64
-.L_ALT_OP_UNUSED_81FF: /* 0x181 */
-/* File: armv5te/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Note that the call to dvmCheckBefore is done as a tail call.
- * rIBASE updates won't be seen until a refresh, and we can tell we have a
- * stale rIBASE if breakFlags==0. Always refresh rIBASE here, and then
- * bail to the real handler if breakFlags==0.
- */
- ldrb r3, [rSELF, #offThread_breakFlags]
- adrl lr, dvmAsmInstructionStart + (385 * 64)
- ldr rIBASE, [rSELF, #offThread_curHandlerTable]
- cmp r3, #0
- bxeq lr @ nothing to do - jump to real handler
- EXPORT_PC()
- mov r0, rPC @ arg0
- mov r1, rFP @ arg1
- mov r2, rSELF @ arg2
- b dvmCheckBefore @ (dPC,dFP,self) tail call
-
-/* ------------------------------ */
- .balign 64
-.L_ALT_OP_UNUSED_82FF: /* 0x182 */
-/* File: armv5te/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Note that the call to dvmCheckBefore is done as a tail call.
- * rIBASE updates won't be seen until a refresh, and we can tell we have a
- * stale rIBASE if breakFlags==0. Always refresh rIBASE here, and then
- * bail to the real handler if breakFlags==0.
- */
- ldrb r3, [rSELF, #offThread_breakFlags]
- adrl lr, dvmAsmInstructionStart + (386 * 64)
- ldr rIBASE, [rSELF, #offThread_curHandlerTable]
- cmp r3, #0
- bxeq lr @ nothing to do - jump to real handler
- EXPORT_PC()
- mov r0, rPC @ arg0
- mov r1, rFP @ arg1
- mov r2, rSELF @ arg2
- b dvmCheckBefore @ (dPC,dFP,self) tail call
-
-/* ------------------------------ */
- .balign 64
-.L_ALT_OP_UNUSED_83FF: /* 0x183 */
-/* File: armv5te/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Note that the call to dvmCheckBefore is done as a tail call.
- * rIBASE updates won't be seen until a refresh, and we can tell we have a
- * stale rIBASE if breakFlags==0. Always refresh rIBASE here, and then
- * bail to the real handler if breakFlags==0.
- */
- ldrb r3, [rSELF, #offThread_breakFlags]
- adrl lr, dvmAsmInstructionStart + (387 * 64)
- ldr rIBASE, [rSELF, #offThread_curHandlerTable]
- cmp r3, #0
- bxeq lr @ nothing to do - jump to real handler
- EXPORT_PC()
- mov r0, rPC @ arg0
- mov r1, rFP @ arg1
- mov r2, rSELF @ arg2
- b dvmCheckBefore @ (dPC,dFP,self) tail call
-
-/* ------------------------------ */
- .balign 64
-.L_ALT_OP_UNUSED_84FF: /* 0x184 */
-/* File: armv5te/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Note that the call to dvmCheckBefore is done as a tail call.
- * rIBASE updates won't be seen until a refresh, and we can tell we have a
- * stale rIBASE if breakFlags==0. Always refresh rIBASE here, and then
- * bail to the real handler if breakFlags==0.
- */
- ldrb r3, [rSELF, #offThread_breakFlags]
- adrl lr, dvmAsmInstructionStart + (388 * 64)
- ldr rIBASE, [rSELF, #offThread_curHandlerTable]
- cmp r3, #0
- bxeq lr @ nothing to do - jump to real handler
- EXPORT_PC()
- mov r0, rPC @ arg0
- mov r1, rFP @ arg1
- mov r2, rSELF @ arg2
- b dvmCheckBefore @ (dPC,dFP,self) tail call
-
-/* ------------------------------ */
- .balign 64
-.L_ALT_OP_UNUSED_85FF: /* 0x185 */
-/* File: armv5te/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Note that the call to dvmCheckBefore is done as a tail call.
- * rIBASE updates won't be seen until a refresh, and we can tell we have a
- * stale rIBASE if breakFlags==0. Always refresh rIBASE here, and then
- * bail to the real handler if breakFlags==0.
- */
- ldrb r3, [rSELF, #offThread_breakFlags]
- adrl lr, dvmAsmInstructionStart + (389 * 64)
- ldr rIBASE, [rSELF, #offThread_curHandlerTable]
- cmp r3, #0
- bxeq lr @ nothing to do - jump to real handler
- EXPORT_PC()
- mov r0, rPC @ arg0
- mov r1, rFP @ arg1
- mov r2, rSELF @ arg2
- b dvmCheckBefore @ (dPC,dFP,self) tail call
-
-/* ------------------------------ */
- .balign 64
-.L_ALT_OP_UNUSED_86FF: /* 0x186 */
-/* File: armv5te/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Note that the call to dvmCheckBefore is done as a tail call.
- * rIBASE updates won't be seen until a refresh, and we can tell we have a
- * stale rIBASE if breakFlags==0. Always refresh rIBASE here, and then
- * bail to the real handler if breakFlags==0.
- */
- ldrb r3, [rSELF, #offThread_breakFlags]
- adrl lr, dvmAsmInstructionStart + (390 * 64)
- ldr rIBASE, [rSELF, #offThread_curHandlerTable]
- cmp r3, #0
- bxeq lr @ nothing to do - jump to real handler
- EXPORT_PC()
- mov r0, rPC @ arg0
- mov r1, rFP @ arg1
- mov r2, rSELF @ arg2
- b dvmCheckBefore @ (dPC,dFP,self) tail call
-
-/* ------------------------------ */
- .balign 64
-.L_ALT_OP_UNUSED_87FF: /* 0x187 */
-/* File: armv5te/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Note that the call to dvmCheckBefore is done as a tail call.
- * rIBASE updates won't be seen until a refresh, and we can tell we have a
- * stale rIBASE if breakFlags==0. Always refresh rIBASE here, and then
- * bail to the real handler if breakFlags==0.
- */
- ldrb r3, [rSELF, #offThread_breakFlags]
- adrl lr, dvmAsmInstructionStart + (391 * 64)
- ldr rIBASE, [rSELF, #offThread_curHandlerTable]
- cmp r3, #0
- bxeq lr @ nothing to do - jump to real handler
- EXPORT_PC()
- mov r0, rPC @ arg0
- mov r1, rFP @ arg1
- mov r2, rSELF @ arg2
- b dvmCheckBefore @ (dPC,dFP,self) tail call
-
-/* ------------------------------ */
- .balign 64
-.L_ALT_OP_UNUSED_88FF: /* 0x188 */
-/* File: armv5te/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Note that the call to dvmCheckBefore is done as a tail call.
- * rIBASE updates won't be seen until a refresh, and we can tell we have a
- * stale rIBASE if breakFlags==0. Always refresh rIBASE here, and then
- * bail to the real handler if breakFlags==0.
- */
- ldrb r3, [rSELF, #offThread_breakFlags]
- adrl lr, dvmAsmInstructionStart + (392 * 64)
- ldr rIBASE, [rSELF, #offThread_curHandlerTable]
- cmp r3, #0
- bxeq lr @ nothing to do - jump to real handler
- EXPORT_PC()
- mov r0, rPC @ arg0
- mov r1, rFP @ arg1
- mov r2, rSELF @ arg2
- b dvmCheckBefore @ (dPC,dFP,self) tail call
-
-/* ------------------------------ */
- .balign 64
-.L_ALT_OP_UNUSED_89FF: /* 0x189 */
-/* File: armv5te/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Note that the call to dvmCheckBefore is done as a tail call.
- * rIBASE updates won't be seen until a refresh, and we can tell we have a
- * stale rIBASE if breakFlags==0. Always refresh rIBASE here, and then
- * bail to the real handler if breakFlags==0.
- */
- ldrb r3, [rSELF, #offThread_breakFlags]
- adrl lr, dvmAsmInstructionStart + (393 * 64)
- ldr rIBASE, [rSELF, #offThread_curHandlerTable]
- cmp r3, #0
- bxeq lr @ nothing to do - jump to real handler
- EXPORT_PC()
- mov r0, rPC @ arg0
- mov r1, rFP @ arg1
- mov r2, rSELF @ arg2
- b dvmCheckBefore @ (dPC,dFP,self) tail call
-
-/* ------------------------------ */
- .balign 64
-.L_ALT_OP_UNUSED_8AFF: /* 0x18a */
-/* File: armv5te/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Note that the call to dvmCheckBefore is done as a tail call.
- * rIBASE updates won't be seen until a refresh, and we can tell we have a
- * stale rIBASE if breakFlags==0. Always refresh rIBASE here, and then
- * bail to the real handler if breakFlags==0.
- */
- ldrb r3, [rSELF, #offThread_breakFlags]
- adrl lr, dvmAsmInstructionStart + (394 * 64)
- ldr rIBASE, [rSELF, #offThread_curHandlerTable]
- cmp r3, #0
- bxeq lr @ nothing to do - jump to real handler
- EXPORT_PC()
- mov r0, rPC @ arg0
- mov r1, rFP @ arg1
- mov r2, rSELF @ arg2
- b dvmCheckBefore @ (dPC,dFP,self) tail call
-
-/* ------------------------------ */
- .balign 64
-.L_ALT_OP_UNUSED_8BFF: /* 0x18b */
-/* File: armv5te/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Note that the call to dvmCheckBefore is done as a tail call.
- * rIBASE updates won't be seen until a refresh, and we can tell we have a
- * stale rIBASE if breakFlags==0. Always refresh rIBASE here, and then
- * bail to the real handler if breakFlags==0.
- */
- ldrb r3, [rSELF, #offThread_breakFlags]
- adrl lr, dvmAsmInstructionStart + (395 * 64)
- ldr rIBASE, [rSELF, #offThread_curHandlerTable]
- cmp r3, #0
- bxeq lr @ nothing to do - jump to real handler
- EXPORT_PC()
- mov r0, rPC @ arg0
- mov r1, rFP @ arg1
- mov r2, rSELF @ arg2
- b dvmCheckBefore @ (dPC,dFP,self) tail call
-
-/* ------------------------------ */
- .balign 64
-.L_ALT_OP_UNUSED_8CFF: /* 0x18c */
-/* File: armv5te/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Note that the call to dvmCheckBefore is done as a tail call.
- * rIBASE updates won't be seen until a refresh, and we can tell we have a
- * stale rIBASE if breakFlags==0. Always refresh rIBASE here, and then
- * bail to the real handler if breakFlags==0.
- */
- ldrb r3, [rSELF, #offThread_breakFlags]
- adrl lr, dvmAsmInstructionStart + (396 * 64)
- ldr rIBASE, [rSELF, #offThread_curHandlerTable]
- cmp r3, #0
- bxeq lr @ nothing to do - jump to real handler
- EXPORT_PC()
- mov r0, rPC @ arg0
- mov r1, rFP @ arg1
- mov r2, rSELF @ arg2
- b dvmCheckBefore @ (dPC,dFP,self) tail call
-
-/* ------------------------------ */
- .balign 64
-.L_ALT_OP_UNUSED_8DFF: /* 0x18d */
-/* File: armv5te/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Note that the call to dvmCheckBefore is done as a tail call.
- * rIBASE updates won't be seen until a refresh, and we can tell we have a
- * stale rIBASE if breakFlags==0. Always refresh rIBASE here, and then
- * bail to the real handler if breakFlags==0.
- */
- ldrb r3, [rSELF, #offThread_breakFlags]
- adrl lr, dvmAsmInstructionStart + (397 * 64)
- ldr rIBASE, [rSELF, #offThread_curHandlerTable]
- cmp r3, #0
- bxeq lr @ nothing to do - jump to real handler
- EXPORT_PC()
- mov r0, rPC @ arg0
- mov r1, rFP @ arg1
- mov r2, rSELF @ arg2
- b dvmCheckBefore @ (dPC,dFP,self) tail call
-
-/* ------------------------------ */
- .balign 64
-.L_ALT_OP_UNUSED_8EFF: /* 0x18e */
-/* File: armv5te/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Note that the call to dvmCheckBefore is done as a tail call.
- * rIBASE updates won't be seen until a refresh, and we can tell we have a
- * stale rIBASE if breakFlags==0. Always refresh rIBASE here, and then
- * bail to the real handler if breakFlags==0.
- */
- ldrb r3, [rSELF, #offThread_breakFlags]
- adrl lr, dvmAsmInstructionStart + (398 * 64)
- ldr rIBASE, [rSELF, #offThread_curHandlerTable]
- cmp r3, #0
- bxeq lr @ nothing to do - jump to real handler
- EXPORT_PC()
- mov r0, rPC @ arg0
- mov r1, rFP @ arg1
- mov r2, rSELF @ arg2
- b dvmCheckBefore @ (dPC,dFP,self) tail call
-
-/* ------------------------------ */
- .balign 64
-.L_ALT_OP_UNUSED_8FFF: /* 0x18f */
-/* File: armv5te/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Note that the call to dvmCheckBefore is done as a tail call.
- * rIBASE updates won't be seen until a refresh, and we can tell we have a
- * stale rIBASE if breakFlags==0. Always refresh rIBASE here, and then
- * bail to the real handler if breakFlags==0.
- */
- ldrb r3, [rSELF, #offThread_breakFlags]
- adrl lr, dvmAsmInstructionStart + (399 * 64)
- ldr rIBASE, [rSELF, #offThread_curHandlerTable]
- cmp r3, #0
- bxeq lr @ nothing to do - jump to real handler
- EXPORT_PC()
- mov r0, rPC @ arg0
- mov r1, rFP @ arg1
- mov r2, rSELF @ arg2
- b dvmCheckBefore @ (dPC,dFP,self) tail call
-
-/* ------------------------------ */
- .balign 64
-.L_ALT_OP_UNUSED_90FF: /* 0x190 */
-/* File: armv5te/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Note that the call to dvmCheckBefore is done as a tail call.
- * rIBASE updates won't be seen until a refresh, and we can tell we have a
- * stale rIBASE if breakFlags==0. Always refresh rIBASE here, and then
- * bail to the real handler if breakFlags==0.
- */
- ldrb r3, [rSELF, #offThread_breakFlags]
- adrl lr, dvmAsmInstructionStart + (400 * 64)
- ldr rIBASE, [rSELF, #offThread_curHandlerTable]
- cmp r3, #0
- bxeq lr @ nothing to do - jump to real handler
- EXPORT_PC()
- mov r0, rPC @ arg0
- mov r1, rFP @ arg1
- mov r2, rSELF @ arg2
- b dvmCheckBefore @ (dPC,dFP,self) tail call
-
-/* ------------------------------ */
- .balign 64
-.L_ALT_OP_UNUSED_91FF: /* 0x191 */
-/* File: armv5te/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Note that the call to dvmCheckBefore is done as a tail call.
- * rIBASE updates won't be seen until a refresh, and we can tell we have a
- * stale rIBASE if breakFlags==0. Always refresh rIBASE here, and then
- * bail to the real handler if breakFlags==0.
- */
- ldrb r3, [rSELF, #offThread_breakFlags]
- adrl lr, dvmAsmInstructionStart + (401 * 64)
- ldr rIBASE, [rSELF, #offThread_curHandlerTable]
- cmp r3, #0
- bxeq lr @ nothing to do - jump to real handler
- EXPORT_PC()
- mov r0, rPC @ arg0
- mov r1, rFP @ arg1
- mov r2, rSELF @ arg2
- b dvmCheckBefore @ (dPC,dFP,self) tail call
-
-/* ------------------------------ */
- .balign 64
-.L_ALT_OP_UNUSED_92FF: /* 0x192 */
-/* File: armv5te/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Note that the call to dvmCheckBefore is done as a tail call.
- * rIBASE updates won't be seen until a refresh, and we can tell we have a
- * stale rIBASE if breakFlags==0. Always refresh rIBASE here, and then
- * bail to the real handler if breakFlags==0.
- */
- ldrb r3, [rSELF, #offThread_breakFlags]
- adrl lr, dvmAsmInstructionStart + (402 * 64)
- ldr rIBASE, [rSELF, #offThread_curHandlerTable]
- cmp r3, #0
- bxeq lr @ nothing to do - jump to real handler
- EXPORT_PC()
- mov r0, rPC @ arg0
- mov r1, rFP @ arg1
- mov r2, rSELF @ arg2
- b dvmCheckBefore @ (dPC,dFP,self) tail call
-
-/* ------------------------------ */
- .balign 64
-.L_ALT_OP_UNUSED_93FF: /* 0x193 */
-/* File: armv5te/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Note that the call to dvmCheckBefore is done as a tail call.
- * rIBASE updates won't be seen until a refresh, and we can tell we have a
- * stale rIBASE if breakFlags==0. Always refresh rIBASE here, and then
- * bail to the real handler if breakFlags==0.
- */
- ldrb r3, [rSELF, #offThread_breakFlags]
- adrl lr, dvmAsmInstructionStart + (403 * 64)
- ldr rIBASE, [rSELF, #offThread_curHandlerTable]
- cmp r3, #0
- bxeq lr @ nothing to do - jump to real handler
- EXPORT_PC()
- mov r0, rPC @ arg0
- mov r1, rFP @ arg1
- mov r2, rSELF @ arg2
- b dvmCheckBefore @ (dPC,dFP,self) tail call
-
-/* ------------------------------ */
- .balign 64
-.L_ALT_OP_UNUSED_94FF: /* 0x194 */
-/* File: armv5te/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Note that the call to dvmCheckBefore is done as a tail call.
- * rIBASE updates won't be seen until a refresh, and we can tell we have a
- * stale rIBASE if breakFlags==0. Always refresh rIBASE here, and then
- * bail to the real handler if breakFlags==0.
- */
- ldrb r3, [rSELF, #offThread_breakFlags]
- adrl lr, dvmAsmInstructionStart + (404 * 64)
- ldr rIBASE, [rSELF, #offThread_curHandlerTable]
- cmp r3, #0
- bxeq lr @ nothing to do - jump to real handler
- EXPORT_PC()
- mov r0, rPC @ arg0
- mov r1, rFP @ arg1
- mov r2, rSELF @ arg2
- b dvmCheckBefore @ (dPC,dFP,self) tail call
-
-/* ------------------------------ */
- .balign 64
-.L_ALT_OP_UNUSED_95FF: /* 0x195 */
-/* File: armv5te/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Note that the call to dvmCheckBefore is done as a tail call.
- * rIBASE updates won't be seen until a refresh, and we can tell we have a
- * stale rIBASE if breakFlags==0. Always refresh rIBASE here, and then
- * bail to the real handler if breakFlags==0.
- */
- ldrb r3, [rSELF, #offThread_breakFlags]
- adrl lr, dvmAsmInstructionStart + (405 * 64)
- ldr rIBASE, [rSELF, #offThread_curHandlerTable]
- cmp r3, #0
- bxeq lr @ nothing to do - jump to real handler
- EXPORT_PC()
- mov r0, rPC @ arg0
- mov r1, rFP @ arg1
- mov r2, rSELF @ arg2
- b dvmCheckBefore @ (dPC,dFP,self) tail call
-
-/* ------------------------------ */
- .balign 64
-.L_ALT_OP_UNUSED_96FF: /* 0x196 */
-/* File: armv5te/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Note that the call to dvmCheckBefore is done as a tail call.
- * rIBASE updates won't be seen until a refresh, and we can tell we have a
- * stale rIBASE if breakFlags==0. Always refresh rIBASE here, and then
- * bail to the real handler if breakFlags==0.
- */
- ldrb r3, [rSELF, #offThread_breakFlags]
- adrl lr, dvmAsmInstructionStart + (406 * 64)
- ldr rIBASE, [rSELF, #offThread_curHandlerTable]
- cmp r3, #0
- bxeq lr @ nothing to do - jump to real handler
- EXPORT_PC()
- mov r0, rPC @ arg0
- mov r1, rFP @ arg1
- mov r2, rSELF @ arg2
- b dvmCheckBefore @ (dPC,dFP,self) tail call
-
-/* ------------------------------ */
- .balign 64
-.L_ALT_OP_UNUSED_97FF: /* 0x197 */
-/* File: armv5te/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Note that the call to dvmCheckBefore is done as a tail call.
- * rIBASE updates won't be seen until a refresh, and we can tell we have a
- * stale rIBASE if breakFlags==0. Always refresh rIBASE here, and then
- * bail to the real handler if breakFlags==0.
- */
- ldrb r3, [rSELF, #offThread_breakFlags]
- adrl lr, dvmAsmInstructionStart + (407 * 64)
- ldr rIBASE, [rSELF, #offThread_curHandlerTable]
- cmp r3, #0
- bxeq lr @ nothing to do - jump to real handler
- EXPORT_PC()
- mov r0, rPC @ arg0
- mov r1, rFP @ arg1
- mov r2, rSELF @ arg2
- b dvmCheckBefore @ (dPC,dFP,self) tail call
-
-/* ------------------------------ */
- .balign 64
-.L_ALT_OP_UNUSED_98FF: /* 0x198 */
-/* File: armv5te/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Note that the call to dvmCheckBefore is done as a tail call.
- * rIBASE updates won't be seen until a refresh, and we can tell we have a
- * stale rIBASE if breakFlags==0. Always refresh rIBASE here, and then
- * bail to the real handler if breakFlags==0.
- */
- ldrb r3, [rSELF, #offThread_breakFlags]
- adrl lr, dvmAsmInstructionStart + (408 * 64)
- ldr rIBASE, [rSELF, #offThread_curHandlerTable]
- cmp r3, #0
- bxeq lr @ nothing to do - jump to real handler
- EXPORT_PC()
- mov r0, rPC @ arg0
- mov r1, rFP @ arg1
- mov r2, rSELF @ arg2
- b dvmCheckBefore @ (dPC,dFP,self) tail call
-
-/* ------------------------------ */
- .balign 64
-.L_ALT_OP_UNUSED_99FF: /* 0x199 */
-/* File: armv5te/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Note that the call to dvmCheckBefore is done as a tail call.
- * rIBASE updates won't be seen until a refresh, and we can tell we have a
- * stale rIBASE if breakFlags==0. Always refresh rIBASE here, and then
- * bail to the real handler if breakFlags==0.
- */
- ldrb r3, [rSELF, #offThread_breakFlags]
- adrl lr, dvmAsmInstructionStart + (409 * 64)
- ldr rIBASE, [rSELF, #offThread_curHandlerTable]
- cmp r3, #0
- bxeq lr @ nothing to do - jump to real handler
- EXPORT_PC()
- mov r0, rPC @ arg0
- mov r1, rFP @ arg1
- mov r2, rSELF @ arg2
- b dvmCheckBefore @ (dPC,dFP,self) tail call
-
-/* ------------------------------ */
- .balign 64
-.L_ALT_OP_UNUSED_9AFF: /* 0x19a */
-/* File: armv5te/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Note that the call to dvmCheckBefore is done as a tail call.
- * rIBASE updates won't be seen until a refresh, and we can tell we have a
- * stale rIBASE if breakFlags==0. Always refresh rIBASE here, and then
- * bail to the real handler if breakFlags==0.
- */
- ldrb r3, [rSELF, #offThread_breakFlags]
- adrl lr, dvmAsmInstructionStart + (410 * 64)
- ldr rIBASE, [rSELF, #offThread_curHandlerTable]
- cmp r3, #0
- bxeq lr @ nothing to do - jump to real handler
- EXPORT_PC()
- mov r0, rPC @ arg0
- mov r1, rFP @ arg1
- mov r2, rSELF @ arg2
- b dvmCheckBefore @ (dPC,dFP,self) tail call
-
-/* ------------------------------ */
- .balign 64
-.L_ALT_OP_UNUSED_9BFF: /* 0x19b */
-/* File: armv5te/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Note that the call to dvmCheckBefore is done as a tail call.
- * rIBASE updates won't be seen until a refresh, and we can tell we have a
- * stale rIBASE if breakFlags==0. Always refresh rIBASE here, and then
- * bail to the real handler if breakFlags==0.
- */
- ldrb r3, [rSELF, #offThread_breakFlags]
- adrl lr, dvmAsmInstructionStart + (411 * 64)
- ldr rIBASE, [rSELF, #offThread_curHandlerTable]
- cmp r3, #0
- bxeq lr @ nothing to do - jump to real handler
- EXPORT_PC()
- mov r0, rPC @ arg0
- mov r1, rFP @ arg1
- mov r2, rSELF @ arg2
- b dvmCheckBefore @ (dPC,dFP,self) tail call
-
-/* ------------------------------ */
- .balign 64
-.L_ALT_OP_UNUSED_9CFF: /* 0x19c */
-/* File: armv5te/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Note that the call to dvmCheckBefore is done as a tail call.
- * rIBASE updates won't be seen until a refresh, and we can tell we have a
- * stale rIBASE if breakFlags==0. Always refresh rIBASE here, and then
- * bail to the real handler if breakFlags==0.
- */
- ldrb r3, [rSELF, #offThread_breakFlags]
- adrl lr, dvmAsmInstructionStart + (412 * 64)
- ldr rIBASE, [rSELF, #offThread_curHandlerTable]
- cmp r3, #0
- bxeq lr @ nothing to do - jump to real handler
- EXPORT_PC()
- mov r0, rPC @ arg0
- mov r1, rFP @ arg1
- mov r2, rSELF @ arg2
- b dvmCheckBefore @ (dPC,dFP,self) tail call
-
-/* ------------------------------ */
- .balign 64
-.L_ALT_OP_UNUSED_9DFF: /* 0x19d */
-/* File: armv5te/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Note that the call to dvmCheckBefore is done as a tail call.
- * rIBASE updates won't be seen until a refresh, and we can tell we have a
- * stale rIBASE if breakFlags==0. Always refresh rIBASE here, and then
- * bail to the real handler if breakFlags==0.
- */
- ldrb r3, [rSELF, #offThread_breakFlags]
- adrl lr, dvmAsmInstructionStart + (413 * 64)
- ldr rIBASE, [rSELF, #offThread_curHandlerTable]
- cmp r3, #0
- bxeq lr @ nothing to do - jump to real handler
- EXPORT_PC()
- mov r0, rPC @ arg0
- mov r1, rFP @ arg1
- mov r2, rSELF @ arg2
- b dvmCheckBefore @ (dPC,dFP,self) tail call
-
-/* ------------------------------ */
- .balign 64
-.L_ALT_OP_UNUSED_9EFF: /* 0x19e */
-/* File: armv5te/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Note that the call to dvmCheckBefore is done as a tail call.
- * rIBASE updates won't be seen until a refresh, and we can tell we have a
- * stale rIBASE if breakFlags==0. Always refresh rIBASE here, and then
- * bail to the real handler if breakFlags==0.
- */
- ldrb r3, [rSELF, #offThread_breakFlags]
- adrl lr, dvmAsmInstructionStart + (414 * 64)
- ldr rIBASE, [rSELF, #offThread_curHandlerTable]
- cmp r3, #0
- bxeq lr @ nothing to do - jump to real handler
- EXPORT_PC()
- mov r0, rPC @ arg0
- mov r1, rFP @ arg1
- mov r2, rSELF @ arg2
- b dvmCheckBefore @ (dPC,dFP,self) tail call
-
-/* ------------------------------ */
- .balign 64
-.L_ALT_OP_UNUSED_9FFF: /* 0x19f */
-/* File: armv5te/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Note that the call to dvmCheckBefore is done as a tail call.
- * rIBASE updates won't be seen until a refresh, and we can tell we have a
- * stale rIBASE if breakFlags==0. Always refresh rIBASE here, and then
- * bail to the real handler if breakFlags==0.
- */
- ldrb r3, [rSELF, #offThread_breakFlags]
- adrl lr, dvmAsmInstructionStart + (415 * 64)
- ldr rIBASE, [rSELF, #offThread_curHandlerTable]
- cmp r3, #0
- bxeq lr @ nothing to do - jump to real handler
- EXPORT_PC()
- mov r0, rPC @ arg0
- mov r1, rFP @ arg1
- mov r2, rSELF @ arg2
- b dvmCheckBefore @ (dPC,dFP,self) tail call
-
-/* ------------------------------ */
- .balign 64
-.L_ALT_OP_UNUSED_A0FF: /* 0x1a0 */
-/* File: armv5te/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Note that the call to dvmCheckBefore is done as a tail call.
- * rIBASE updates won't be seen until a refresh, and we can tell we have a
- * stale rIBASE if breakFlags==0. Always refresh rIBASE here, and then
- * bail to the real handler if breakFlags==0.
- */
- ldrb r3, [rSELF, #offThread_breakFlags]
- adrl lr, dvmAsmInstructionStart + (416 * 64)
- ldr rIBASE, [rSELF, #offThread_curHandlerTable]
- cmp r3, #0
- bxeq lr @ nothing to do - jump to real handler
- EXPORT_PC()
- mov r0, rPC @ arg0
- mov r1, rFP @ arg1
- mov r2, rSELF @ arg2
- b dvmCheckBefore @ (dPC,dFP,self) tail call
-
-/* ------------------------------ */
- .balign 64
-.L_ALT_OP_UNUSED_A1FF: /* 0x1a1 */
-/* File: armv5te/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Note that the call to dvmCheckBefore is done as a tail call.
- * rIBASE updates won't be seen until a refresh, and we can tell we have a
- * stale rIBASE if breakFlags==0. Always refresh rIBASE here, and then
- * bail to the real handler if breakFlags==0.
- */
- ldrb r3, [rSELF, #offThread_breakFlags]
- adrl lr, dvmAsmInstructionStart + (417 * 64)
- ldr rIBASE, [rSELF, #offThread_curHandlerTable]
- cmp r3, #0
- bxeq lr @ nothing to do - jump to real handler
- EXPORT_PC()
- mov r0, rPC @ arg0
- mov r1, rFP @ arg1
- mov r2, rSELF @ arg2
- b dvmCheckBefore @ (dPC,dFP,self) tail call
-
-/* ------------------------------ */
- .balign 64
-.L_ALT_OP_UNUSED_A2FF: /* 0x1a2 */
-/* File: armv5te/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Note that the call to dvmCheckBefore is done as a tail call.
- * rIBASE updates won't be seen until a refresh, and we can tell we have a
- * stale rIBASE if breakFlags==0. Always refresh rIBASE here, and then
- * bail to the real handler if breakFlags==0.
- */
- ldrb r3, [rSELF, #offThread_breakFlags]
- adrl lr, dvmAsmInstructionStart + (418 * 64)
- ldr rIBASE, [rSELF, #offThread_curHandlerTable]
- cmp r3, #0
- bxeq lr @ nothing to do - jump to real handler
- EXPORT_PC()
- mov r0, rPC @ arg0
- mov r1, rFP @ arg1
- mov r2, rSELF @ arg2
- b dvmCheckBefore @ (dPC,dFP,self) tail call
-
-/* ------------------------------ */
- .balign 64
-.L_ALT_OP_UNUSED_A3FF: /* 0x1a3 */
-/* File: armv5te/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Note that the call to dvmCheckBefore is done as a tail call.
- * rIBASE updates won't be seen until a refresh, and we can tell we have a
- * stale rIBASE if breakFlags==0. Always refresh rIBASE here, and then
- * bail to the real handler if breakFlags==0.
- */
- ldrb r3, [rSELF, #offThread_breakFlags]
- adrl lr, dvmAsmInstructionStart + (419 * 64)
- ldr rIBASE, [rSELF, #offThread_curHandlerTable]
- cmp r3, #0
- bxeq lr @ nothing to do - jump to real handler
- EXPORT_PC()
- mov r0, rPC @ arg0
- mov r1, rFP @ arg1
- mov r2, rSELF @ arg2
- b dvmCheckBefore @ (dPC,dFP,self) tail call
-
-/* ------------------------------ */
- .balign 64
-.L_ALT_OP_UNUSED_A4FF: /* 0x1a4 */
-/* File: armv5te/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Note that the call to dvmCheckBefore is done as a tail call.
- * rIBASE updates won't be seen until a refresh, and we can tell we have a
- * stale rIBASE if breakFlags==0. Always refresh rIBASE here, and then
- * bail to the real handler if breakFlags==0.
- */
- ldrb r3, [rSELF, #offThread_breakFlags]
- adrl lr, dvmAsmInstructionStart + (420 * 64)
- ldr rIBASE, [rSELF, #offThread_curHandlerTable]
- cmp r3, #0
- bxeq lr @ nothing to do - jump to real handler
- EXPORT_PC()
- mov r0, rPC @ arg0
- mov r1, rFP @ arg1
- mov r2, rSELF @ arg2
- b dvmCheckBefore @ (dPC,dFP,self) tail call
-
-/* ------------------------------ */
- .balign 64
-.L_ALT_OP_UNUSED_A5FF: /* 0x1a5 */
-/* File: armv5te/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Note that the call to dvmCheckBefore is done as a tail call.
- * rIBASE updates won't be seen until a refresh, and we can tell we have a
- * stale rIBASE if breakFlags==0. Always refresh rIBASE here, and then
- * bail to the real handler if breakFlags==0.
- */
- ldrb r3, [rSELF, #offThread_breakFlags]
- adrl lr, dvmAsmInstructionStart + (421 * 64)
- ldr rIBASE, [rSELF, #offThread_curHandlerTable]
- cmp r3, #0
- bxeq lr @ nothing to do - jump to real handler
- EXPORT_PC()
- mov r0, rPC @ arg0
- mov r1, rFP @ arg1
- mov r2, rSELF @ arg2
- b dvmCheckBefore @ (dPC,dFP,self) tail call
-
-/* ------------------------------ */
- .balign 64
-.L_ALT_OP_UNUSED_A6FF: /* 0x1a6 */
-/* File: armv5te/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Note that the call to dvmCheckBefore is done as a tail call.
- * rIBASE updates won't be seen until a refresh, and we can tell we have a
- * stale rIBASE if breakFlags==0. Always refresh rIBASE here, and then
- * bail to the real handler if breakFlags==0.
- */
- ldrb r3, [rSELF, #offThread_breakFlags]
- adrl lr, dvmAsmInstructionStart + (422 * 64)
- ldr rIBASE, [rSELF, #offThread_curHandlerTable]
- cmp r3, #0
- bxeq lr @ nothing to do - jump to real handler
- EXPORT_PC()
- mov r0, rPC @ arg0
- mov r1, rFP @ arg1
- mov r2, rSELF @ arg2
- b dvmCheckBefore @ (dPC,dFP,self) tail call
-
-/* ------------------------------ */
- .balign 64
-.L_ALT_OP_UNUSED_A7FF: /* 0x1a7 */
-/* File: armv5te/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Note that the call to dvmCheckBefore is done as a tail call.
- * rIBASE updates won't be seen until a refresh, and we can tell we have a
- * stale rIBASE if breakFlags==0. Always refresh rIBASE here, and then
- * bail to the real handler if breakFlags==0.
- */
- ldrb r3, [rSELF, #offThread_breakFlags]
- adrl lr, dvmAsmInstructionStart + (423 * 64)
- ldr rIBASE, [rSELF, #offThread_curHandlerTable]
- cmp r3, #0
- bxeq lr @ nothing to do - jump to real handler
- EXPORT_PC()
- mov r0, rPC @ arg0
- mov r1, rFP @ arg1
- mov r2, rSELF @ arg2
- b dvmCheckBefore @ (dPC,dFP,self) tail call
-
-/* ------------------------------ */
- .balign 64
-.L_ALT_OP_UNUSED_A8FF: /* 0x1a8 */
-/* File: armv5te/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Note that the call to dvmCheckBefore is done as a tail call.
- * rIBASE updates won't be seen until a refresh, and we can tell we have a
- * stale rIBASE if breakFlags==0. Always refresh rIBASE here, and then
- * bail to the real handler if breakFlags==0.
- */
- ldrb r3, [rSELF, #offThread_breakFlags]
- adrl lr, dvmAsmInstructionStart + (424 * 64)
- ldr rIBASE, [rSELF, #offThread_curHandlerTable]
- cmp r3, #0
- bxeq lr @ nothing to do - jump to real handler
- EXPORT_PC()
- mov r0, rPC @ arg0
- mov r1, rFP @ arg1
- mov r2, rSELF @ arg2
- b dvmCheckBefore @ (dPC,dFP,self) tail call
-
-/* ------------------------------ */
- .balign 64
-.L_ALT_OP_UNUSED_A9FF: /* 0x1a9 */
-/* File: armv5te/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Note that the call to dvmCheckBefore is done as a tail call.
- * rIBASE updates won't be seen until a refresh, and we can tell we have a
- * stale rIBASE if breakFlags==0. Always refresh rIBASE here, and then
- * bail to the real handler if breakFlags==0.
- */
- ldrb r3, [rSELF, #offThread_breakFlags]
- adrl lr, dvmAsmInstructionStart + (425 * 64)
- ldr rIBASE, [rSELF, #offThread_curHandlerTable]
- cmp r3, #0
- bxeq lr @ nothing to do - jump to real handler
- EXPORT_PC()
- mov r0, rPC @ arg0
- mov r1, rFP @ arg1
- mov r2, rSELF @ arg2
- b dvmCheckBefore @ (dPC,dFP,self) tail call
-
-/* ------------------------------ */
- .balign 64
-.L_ALT_OP_UNUSED_AAFF: /* 0x1aa */
-/* File: armv5te/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Note that the call to dvmCheckBefore is done as a tail call.
- * rIBASE updates won't be seen until a refresh, and we can tell we have a
- * stale rIBASE if breakFlags==0. Always refresh rIBASE here, and then
- * bail to the real handler if breakFlags==0.
- */
- ldrb r3, [rSELF, #offThread_breakFlags]
- adrl lr, dvmAsmInstructionStart + (426 * 64)
- ldr rIBASE, [rSELF, #offThread_curHandlerTable]
- cmp r3, #0
- bxeq lr @ nothing to do - jump to real handler
- EXPORT_PC()
- mov r0, rPC @ arg0
- mov r1, rFP @ arg1
- mov r2, rSELF @ arg2
- b dvmCheckBefore @ (dPC,dFP,self) tail call
-
-/* ------------------------------ */
- .balign 64
-.L_ALT_OP_UNUSED_ABFF: /* 0x1ab */
-/* File: armv5te/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Note that the call to dvmCheckBefore is done as a tail call.
- * rIBASE updates won't be seen until a refresh, and we can tell we have a
- * stale rIBASE if breakFlags==0. Always refresh rIBASE here, and then
- * bail to the real handler if breakFlags==0.
- */
- ldrb r3, [rSELF, #offThread_breakFlags]
- adrl lr, dvmAsmInstructionStart + (427 * 64)
- ldr rIBASE, [rSELF, #offThread_curHandlerTable]
- cmp r3, #0
- bxeq lr @ nothing to do - jump to real handler
- EXPORT_PC()
- mov r0, rPC @ arg0
- mov r1, rFP @ arg1
- mov r2, rSELF @ arg2
- b dvmCheckBefore @ (dPC,dFP,self) tail call
-
-/* ------------------------------ */
- .balign 64
-.L_ALT_OP_UNUSED_ACFF: /* 0x1ac */
-/* File: armv5te/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Note that the call to dvmCheckBefore is done as a tail call.
- * rIBASE updates won't be seen until a refresh, and we can tell we have a
- * stale rIBASE if breakFlags==0. Always refresh rIBASE here, and then
- * bail to the real handler if breakFlags==0.
- */
- ldrb r3, [rSELF, #offThread_breakFlags]
- adrl lr, dvmAsmInstructionStart + (428 * 64)
- ldr rIBASE, [rSELF, #offThread_curHandlerTable]
- cmp r3, #0
- bxeq lr @ nothing to do - jump to real handler
- EXPORT_PC()
- mov r0, rPC @ arg0
- mov r1, rFP @ arg1
- mov r2, rSELF @ arg2
- b dvmCheckBefore @ (dPC,dFP,self) tail call
-
-/* ------------------------------ */
- .balign 64
-.L_ALT_OP_UNUSED_ADFF: /* 0x1ad */
-/* File: armv5te/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Note that the call to dvmCheckBefore is done as a tail call.
- * rIBASE updates won't be seen until a refresh, and we can tell we have a
- * stale rIBASE if breakFlags==0. Always refresh rIBASE here, and then
- * bail to the real handler if breakFlags==0.
- */
- ldrb r3, [rSELF, #offThread_breakFlags]
- adrl lr, dvmAsmInstructionStart + (429 * 64)
- ldr rIBASE, [rSELF, #offThread_curHandlerTable]
- cmp r3, #0
- bxeq lr @ nothing to do - jump to real handler
- EXPORT_PC()
- mov r0, rPC @ arg0
- mov r1, rFP @ arg1
- mov r2, rSELF @ arg2
- b dvmCheckBefore @ (dPC,dFP,self) tail call
-
-/* ------------------------------ */
- .balign 64
-.L_ALT_OP_UNUSED_AEFF: /* 0x1ae */
-/* File: armv5te/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Note that the call to dvmCheckBefore is done as a tail call.
- * rIBASE updates won't be seen until a refresh, and we can tell we have a
- * stale rIBASE if breakFlags==0. Always refresh rIBASE here, and then
- * bail to the real handler if breakFlags==0.
- */
- ldrb r3, [rSELF, #offThread_breakFlags]
- adrl lr, dvmAsmInstructionStart + (430 * 64)
- ldr rIBASE, [rSELF, #offThread_curHandlerTable]
- cmp r3, #0
- bxeq lr @ nothing to do - jump to real handler
- EXPORT_PC()
- mov r0, rPC @ arg0
- mov r1, rFP @ arg1
- mov r2, rSELF @ arg2
- b dvmCheckBefore @ (dPC,dFP,self) tail call
-
-/* ------------------------------ */
- .balign 64
-.L_ALT_OP_UNUSED_AFFF: /* 0x1af */
-/* File: armv5te/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Note that the call to dvmCheckBefore is done as a tail call.
- * rIBASE updates won't be seen until a refresh, and we can tell we have a
- * stale rIBASE if breakFlags==0. Always refresh rIBASE here, and then
- * bail to the real handler if breakFlags==0.
- */
- ldrb r3, [rSELF, #offThread_breakFlags]
- adrl lr, dvmAsmInstructionStart + (431 * 64)
- ldr rIBASE, [rSELF, #offThread_curHandlerTable]
- cmp r3, #0
- bxeq lr @ nothing to do - jump to real handler
- EXPORT_PC()
- mov r0, rPC @ arg0
- mov r1, rFP @ arg1
- mov r2, rSELF @ arg2
- b dvmCheckBefore @ (dPC,dFP,self) tail call
-
-/* ------------------------------ */
- .balign 64
-.L_ALT_OP_UNUSED_B0FF: /* 0x1b0 */
-/* File: armv5te/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Note that the call to dvmCheckBefore is done as a tail call.
- * rIBASE updates won't be seen until a refresh, and we can tell we have a
- * stale rIBASE if breakFlags==0. Always refresh rIBASE here, and then
- * bail to the real handler if breakFlags==0.
- */
- ldrb r3, [rSELF, #offThread_breakFlags]
- adrl lr, dvmAsmInstructionStart + (432 * 64)
- ldr rIBASE, [rSELF, #offThread_curHandlerTable]
- cmp r3, #0
- bxeq lr @ nothing to do - jump to real handler
- EXPORT_PC()
- mov r0, rPC @ arg0
- mov r1, rFP @ arg1
- mov r2, rSELF @ arg2
- b dvmCheckBefore @ (dPC,dFP,self) tail call
-
-/* ------------------------------ */
- .balign 64
-.L_ALT_OP_UNUSED_B1FF: /* 0x1b1 */
-/* File: armv5te/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Note that the call to dvmCheckBefore is done as a tail call.
- * rIBASE updates won't be seen until a refresh, and we can tell we have a
- * stale rIBASE if breakFlags==0. Always refresh rIBASE here, and then
- * bail to the real handler if breakFlags==0.
- */
- ldrb r3, [rSELF, #offThread_breakFlags]
- adrl lr, dvmAsmInstructionStart + (433 * 64)
- ldr rIBASE, [rSELF, #offThread_curHandlerTable]
- cmp r3, #0
- bxeq lr @ nothing to do - jump to real handler
- EXPORT_PC()
- mov r0, rPC @ arg0
- mov r1, rFP @ arg1
- mov r2, rSELF @ arg2
- b dvmCheckBefore @ (dPC,dFP,self) tail call
-
-/* ------------------------------ */
- .balign 64
-.L_ALT_OP_UNUSED_B2FF: /* 0x1b2 */
-/* File: armv5te/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Note that the call to dvmCheckBefore is done as a tail call.
- * rIBASE updates won't be seen until a refresh, and we can tell we have a
- * stale rIBASE if breakFlags==0. Always refresh rIBASE here, and then
- * bail to the real handler if breakFlags==0.
- */
- ldrb r3, [rSELF, #offThread_breakFlags]
- adrl lr, dvmAsmInstructionStart + (434 * 64)
- ldr rIBASE, [rSELF, #offThread_curHandlerTable]
- cmp r3, #0
- bxeq lr @ nothing to do - jump to real handler
- EXPORT_PC()
- mov r0, rPC @ arg0
- mov r1, rFP @ arg1
- mov r2, rSELF @ arg2
- b dvmCheckBefore @ (dPC,dFP,self) tail call
-
-/* ------------------------------ */
- .balign 64
-.L_ALT_OP_UNUSED_B3FF: /* 0x1b3 */
-/* File: armv5te/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Note that the call to dvmCheckBefore is done as a tail call.
- * rIBASE updates won't be seen until a refresh, and we can tell we have a
- * stale rIBASE if breakFlags==0. Always refresh rIBASE here, and then
- * bail to the real handler if breakFlags==0.
- */
- ldrb r3, [rSELF, #offThread_breakFlags]
- adrl lr, dvmAsmInstructionStart + (435 * 64)
- ldr rIBASE, [rSELF, #offThread_curHandlerTable]
- cmp r3, #0
- bxeq lr @ nothing to do - jump to real handler
- EXPORT_PC()
- mov r0, rPC @ arg0
- mov r1, rFP @ arg1
- mov r2, rSELF @ arg2
- b dvmCheckBefore @ (dPC,dFP,self) tail call
-
-/* ------------------------------ */
- .balign 64
-.L_ALT_OP_UNUSED_B4FF: /* 0x1b4 */
-/* File: armv5te/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Note that the call to dvmCheckBefore is done as a tail call.
- * rIBASE updates won't be seen until a refresh, and we can tell we have a
- * stale rIBASE if breakFlags==0. Always refresh rIBASE here, and then
- * bail to the real handler if breakFlags==0.
- */
- ldrb r3, [rSELF, #offThread_breakFlags]
- adrl lr, dvmAsmInstructionStart + (436 * 64)
- ldr rIBASE, [rSELF, #offThread_curHandlerTable]
- cmp r3, #0
- bxeq lr @ nothing to do - jump to real handler
- EXPORT_PC()
- mov r0, rPC @ arg0
- mov r1, rFP @ arg1
- mov r2, rSELF @ arg2
- b dvmCheckBefore @ (dPC,dFP,self) tail call
-
-/* ------------------------------ */
- .balign 64
-.L_ALT_OP_UNUSED_B5FF: /* 0x1b5 */
-/* File: armv5te/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Note that the call to dvmCheckBefore is done as a tail call.
- * rIBASE updates won't be seen until a refresh, and we can tell we have a
- * stale rIBASE if breakFlags==0. Always refresh rIBASE here, and then
- * bail to the real handler if breakFlags==0.
- */
- ldrb r3, [rSELF, #offThread_breakFlags]
- adrl lr, dvmAsmInstructionStart + (437 * 64)
- ldr rIBASE, [rSELF, #offThread_curHandlerTable]
- cmp r3, #0
- bxeq lr @ nothing to do - jump to real handler
- EXPORT_PC()
- mov r0, rPC @ arg0
- mov r1, rFP @ arg1
- mov r2, rSELF @ arg2
- b dvmCheckBefore @ (dPC,dFP,self) tail call
-
-/* ------------------------------ */
- .balign 64
-.L_ALT_OP_UNUSED_B6FF: /* 0x1b6 */
-/* File: armv5te/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Note that the call to dvmCheckBefore is done as a tail call.
- * rIBASE updates won't be seen until a refresh, and we can tell we have a
- * stale rIBASE if breakFlags==0. Always refresh rIBASE here, and then
- * bail to the real handler if breakFlags==0.
- */
- ldrb r3, [rSELF, #offThread_breakFlags]
- adrl lr, dvmAsmInstructionStart + (438 * 64)
- ldr rIBASE, [rSELF, #offThread_curHandlerTable]
- cmp r3, #0
- bxeq lr @ nothing to do - jump to real handler
- EXPORT_PC()
- mov r0, rPC @ arg0
- mov r1, rFP @ arg1
- mov r2, rSELF @ arg2
- b dvmCheckBefore @ (dPC,dFP,self) tail call
-
-/* ------------------------------ */
- .balign 64
-.L_ALT_OP_UNUSED_B7FF: /* 0x1b7 */
-/* File: armv5te/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Note that the call to dvmCheckBefore is done as a tail call.
- * rIBASE updates won't be seen until a refresh, and we can tell we have a
- * stale rIBASE if breakFlags==0. Always refresh rIBASE here, and then
- * bail to the real handler if breakFlags==0.
- */
- ldrb r3, [rSELF, #offThread_breakFlags]
- adrl lr, dvmAsmInstructionStart + (439 * 64)
- ldr rIBASE, [rSELF, #offThread_curHandlerTable]
- cmp r3, #0
- bxeq lr @ nothing to do - jump to real handler
- EXPORT_PC()
- mov r0, rPC @ arg0
- mov r1, rFP @ arg1
- mov r2, rSELF @ arg2
- b dvmCheckBefore @ (dPC,dFP,self) tail call
-
-/* ------------------------------ */
- .balign 64
-.L_ALT_OP_UNUSED_B8FF: /* 0x1b8 */
-/* File: armv5te/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Note that the call to dvmCheckBefore is done as a tail call.
- * rIBASE updates won't be seen until a refresh, and we can tell we have a
- * stale rIBASE if breakFlags==0. Always refresh rIBASE here, and then
- * bail to the real handler if breakFlags==0.
- */
- ldrb r3, [rSELF, #offThread_breakFlags]
- adrl lr, dvmAsmInstructionStart + (440 * 64)
- ldr rIBASE, [rSELF, #offThread_curHandlerTable]
- cmp r3, #0
- bxeq lr @ nothing to do - jump to real handler
- EXPORT_PC()
- mov r0, rPC @ arg0
- mov r1, rFP @ arg1
- mov r2, rSELF @ arg2
- b dvmCheckBefore @ (dPC,dFP,self) tail call
-
-/* ------------------------------ */
- .balign 64
-.L_ALT_OP_UNUSED_B9FF: /* 0x1b9 */
-/* File: armv5te/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Note that the call to dvmCheckBefore is done as a tail call.
- * rIBASE updates won't be seen until a refresh, and we can tell we have a
- * stale rIBASE if breakFlags==0. Always refresh rIBASE here, and then
- * bail to the real handler if breakFlags==0.
- */
- ldrb r3, [rSELF, #offThread_breakFlags]
- adrl lr, dvmAsmInstructionStart + (441 * 64)
- ldr rIBASE, [rSELF, #offThread_curHandlerTable]
- cmp r3, #0
- bxeq lr @ nothing to do - jump to real handler
- EXPORT_PC()
- mov r0, rPC @ arg0
- mov r1, rFP @ arg1
- mov r2, rSELF @ arg2
- b dvmCheckBefore @ (dPC,dFP,self) tail call
-
-/* ------------------------------ */
- .balign 64
-.L_ALT_OP_UNUSED_BAFF: /* 0x1ba */
-/* File: armv5te/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Note that the call to dvmCheckBefore is done as a tail call.
- * rIBASE updates won't be seen until a refresh, and we can tell we have a
- * stale rIBASE if breakFlags==0. Always refresh rIBASE here, and then
- * bail to the real handler if breakFlags==0.
- */
- ldrb r3, [rSELF, #offThread_breakFlags]
- adrl lr, dvmAsmInstructionStart + (442 * 64)
- ldr rIBASE, [rSELF, #offThread_curHandlerTable]
- cmp r3, #0
- bxeq lr @ nothing to do - jump to real handler
- EXPORT_PC()
- mov r0, rPC @ arg0
- mov r1, rFP @ arg1
- mov r2, rSELF @ arg2
- b dvmCheckBefore @ (dPC,dFP,self) tail call
-
-/* ------------------------------ */
- .balign 64
-.L_ALT_OP_UNUSED_BBFF: /* 0x1bb */
-/* File: armv5te/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Note that the call to dvmCheckBefore is done as a tail call.
- * rIBASE updates won't be seen until a refresh, and we can tell we have a
- * stale rIBASE if breakFlags==0. Always refresh rIBASE here, and then
- * bail to the real handler if breakFlags==0.
- */
- ldrb r3, [rSELF, #offThread_breakFlags]
- adrl lr, dvmAsmInstructionStart + (443 * 64)
- ldr rIBASE, [rSELF, #offThread_curHandlerTable]
- cmp r3, #0
- bxeq lr @ nothing to do - jump to real handler
- EXPORT_PC()
- mov r0, rPC @ arg0
- mov r1, rFP @ arg1
- mov r2, rSELF @ arg2
- b dvmCheckBefore @ (dPC,dFP,self) tail call
-
-/* ------------------------------ */
- .balign 64
-.L_ALT_OP_UNUSED_BCFF: /* 0x1bc */
-/* File: armv5te/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Note that the call to dvmCheckBefore is done as a tail call.
- * rIBASE updates won't be seen until a refresh, and we can tell we have a
- * stale rIBASE if breakFlags==0. Always refresh rIBASE here, and then
- * bail to the real handler if breakFlags==0.
- */
- ldrb r3, [rSELF, #offThread_breakFlags]
- adrl lr, dvmAsmInstructionStart + (444 * 64)
- ldr rIBASE, [rSELF, #offThread_curHandlerTable]
- cmp r3, #0
- bxeq lr @ nothing to do - jump to real handler
- EXPORT_PC()
- mov r0, rPC @ arg0
- mov r1, rFP @ arg1
- mov r2, rSELF @ arg2
- b dvmCheckBefore @ (dPC,dFP,self) tail call
-
-/* ------------------------------ */
- .balign 64
-.L_ALT_OP_UNUSED_BDFF: /* 0x1bd */
-/* File: armv5te/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Note that the call to dvmCheckBefore is done as a tail call.
- * rIBASE updates won't be seen until a refresh, and we can tell we have a
- * stale rIBASE if breakFlags==0. Always refresh rIBASE here, and then
- * bail to the real handler if breakFlags==0.
- */
- ldrb r3, [rSELF, #offThread_breakFlags]
- adrl lr, dvmAsmInstructionStart + (445 * 64)
- ldr rIBASE, [rSELF, #offThread_curHandlerTable]
- cmp r3, #0
- bxeq lr @ nothing to do - jump to real handler
- EXPORT_PC()
- mov r0, rPC @ arg0
- mov r1, rFP @ arg1
- mov r2, rSELF @ arg2
- b dvmCheckBefore @ (dPC,dFP,self) tail call
-
-/* ------------------------------ */
- .balign 64
-.L_ALT_OP_UNUSED_BEFF: /* 0x1be */
-/* File: armv5te/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Note that the call to dvmCheckBefore is done as a tail call.
- * rIBASE updates won't be seen until a refresh, and we can tell we have a
- * stale rIBASE if breakFlags==0. Always refresh rIBASE here, and then
- * bail to the real handler if breakFlags==0.
- */
- ldrb r3, [rSELF, #offThread_breakFlags]
- adrl lr, dvmAsmInstructionStart + (446 * 64)
- ldr rIBASE, [rSELF, #offThread_curHandlerTable]
- cmp r3, #0
- bxeq lr @ nothing to do - jump to real handler
- EXPORT_PC()
- mov r0, rPC @ arg0
- mov r1, rFP @ arg1
- mov r2, rSELF @ arg2
- b dvmCheckBefore @ (dPC,dFP,self) tail call
-
-/* ------------------------------ */
- .balign 64
-.L_ALT_OP_UNUSED_BFFF: /* 0x1bf */
-/* File: armv5te/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Note that the call to dvmCheckBefore is done as a tail call.
- * rIBASE updates won't be seen until a refresh, and we can tell we have a
- * stale rIBASE if breakFlags==0. Always refresh rIBASE here, and then
- * bail to the real handler if breakFlags==0.
- */
- ldrb r3, [rSELF, #offThread_breakFlags]
- adrl lr, dvmAsmInstructionStart + (447 * 64)
- ldr rIBASE, [rSELF, #offThread_curHandlerTable]
- cmp r3, #0
- bxeq lr @ nothing to do - jump to real handler
- EXPORT_PC()
- mov r0, rPC @ arg0
- mov r1, rFP @ arg1
- mov r2, rSELF @ arg2
- b dvmCheckBefore @ (dPC,dFP,self) tail call
-
-/* ------------------------------ */
- .balign 64
-.L_ALT_OP_UNUSED_C0FF: /* 0x1c0 */
-/* File: armv5te/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Note that the call to dvmCheckBefore is done as a tail call.
- * rIBASE updates won't be seen until a refresh, and we can tell we have a
- * stale rIBASE if breakFlags==0. Always refresh rIBASE here, and then
- * bail to the real handler if breakFlags==0.
- */
- ldrb r3, [rSELF, #offThread_breakFlags]
- adrl lr, dvmAsmInstructionStart + (448 * 64)
- ldr rIBASE, [rSELF, #offThread_curHandlerTable]
- cmp r3, #0
- bxeq lr @ nothing to do - jump to real handler
- EXPORT_PC()
- mov r0, rPC @ arg0
- mov r1, rFP @ arg1
- mov r2, rSELF @ arg2
- b dvmCheckBefore @ (dPC,dFP,self) tail call
-
-/* ------------------------------ */
- .balign 64
-.L_ALT_OP_UNUSED_C1FF: /* 0x1c1 */
-/* File: armv5te/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Note that the call to dvmCheckBefore is done as a tail call.
- * rIBASE updates won't be seen until a refresh, and we can tell we have a
- * stale rIBASE if breakFlags==0. Always refresh rIBASE here, and then
- * bail to the real handler if breakFlags==0.
- */
- ldrb r3, [rSELF, #offThread_breakFlags]
- adrl lr, dvmAsmInstructionStart + (449 * 64)
- ldr rIBASE, [rSELF, #offThread_curHandlerTable]
- cmp r3, #0
- bxeq lr @ nothing to do - jump to real handler
- EXPORT_PC()
- mov r0, rPC @ arg0
- mov r1, rFP @ arg1
- mov r2, rSELF @ arg2
- b dvmCheckBefore @ (dPC,dFP,self) tail call
-
-/* ------------------------------ */
- .balign 64
-.L_ALT_OP_UNUSED_C2FF: /* 0x1c2 */
-/* File: armv5te/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Note that the call to dvmCheckBefore is done as a tail call.
- * rIBASE updates won't be seen until a refresh, and we can tell we have a
- * stale rIBASE if breakFlags==0. Always refresh rIBASE here, and then
- * bail to the real handler if breakFlags==0.
- */
- ldrb r3, [rSELF, #offThread_breakFlags]
- adrl lr, dvmAsmInstructionStart + (450 * 64)
- ldr rIBASE, [rSELF, #offThread_curHandlerTable]
- cmp r3, #0
- bxeq lr @ nothing to do - jump to real handler
- EXPORT_PC()
- mov r0, rPC @ arg0
- mov r1, rFP @ arg1
- mov r2, rSELF @ arg2
- b dvmCheckBefore @ (dPC,dFP,self) tail call
-
-/* ------------------------------ */
- .balign 64
-.L_ALT_OP_UNUSED_C3FF: /* 0x1c3 */
-/* File: armv5te/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Note that the call to dvmCheckBefore is done as a tail call.
- * rIBASE updates won't be seen until a refresh, and we can tell we have a
- * stale rIBASE if breakFlags==0. Always refresh rIBASE here, and then
- * bail to the real handler if breakFlags==0.
- */
- ldrb r3, [rSELF, #offThread_breakFlags]
- adrl lr, dvmAsmInstructionStart + (451 * 64)
- ldr rIBASE, [rSELF, #offThread_curHandlerTable]
- cmp r3, #0
- bxeq lr @ nothing to do - jump to real handler
- EXPORT_PC()
- mov r0, rPC @ arg0
- mov r1, rFP @ arg1
- mov r2, rSELF @ arg2
- b dvmCheckBefore @ (dPC,dFP,self) tail call
-
-/* ------------------------------ */
- .balign 64
-.L_ALT_OP_UNUSED_C4FF: /* 0x1c4 */
-/* File: armv5te/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Note that the call to dvmCheckBefore is done as a tail call.
- * rIBASE updates won't be seen until a refresh, and we can tell we have a
- * stale rIBASE if breakFlags==0. Always refresh rIBASE here, and then
- * bail to the real handler if breakFlags==0.
- */
- ldrb r3, [rSELF, #offThread_breakFlags]
- adrl lr, dvmAsmInstructionStart + (452 * 64)
- ldr rIBASE, [rSELF, #offThread_curHandlerTable]
- cmp r3, #0
- bxeq lr @ nothing to do - jump to real handler
- EXPORT_PC()
- mov r0, rPC @ arg0
- mov r1, rFP @ arg1
- mov r2, rSELF @ arg2
- b dvmCheckBefore @ (dPC,dFP,self) tail call
-
-/* ------------------------------ */
- .balign 64
-.L_ALT_OP_UNUSED_C5FF: /* 0x1c5 */
-/* File: armv5te/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Note that the call to dvmCheckBefore is done as a tail call.
- * rIBASE updates won't be seen until a refresh, and we can tell we have a
- * stale rIBASE if breakFlags==0. Always refresh rIBASE here, and then
- * bail to the real handler if breakFlags==0.
- */
- ldrb r3, [rSELF, #offThread_breakFlags]
- adrl lr, dvmAsmInstructionStart + (453 * 64)
- ldr rIBASE, [rSELF, #offThread_curHandlerTable]
- cmp r3, #0
- bxeq lr @ nothing to do - jump to real handler
- EXPORT_PC()
- mov r0, rPC @ arg0
- mov r1, rFP @ arg1
- mov r2, rSELF @ arg2
- b dvmCheckBefore @ (dPC,dFP,self) tail call
-
-/* ------------------------------ */
- .balign 64
-.L_ALT_OP_UNUSED_C6FF: /* 0x1c6 */
-/* File: armv5te/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Note that the call to dvmCheckBefore is done as a tail call.
- * rIBASE updates won't be seen until a refresh, and we can tell we have a
- * stale rIBASE if breakFlags==0. Always refresh rIBASE here, and then
- * bail to the real handler if breakFlags==0.
- */
- ldrb r3, [rSELF, #offThread_breakFlags]
- adrl lr, dvmAsmInstructionStart + (454 * 64)
- ldr rIBASE, [rSELF, #offThread_curHandlerTable]
- cmp r3, #0
- bxeq lr @ nothing to do - jump to real handler
- EXPORT_PC()
- mov r0, rPC @ arg0
- mov r1, rFP @ arg1
- mov r2, rSELF @ arg2
- b dvmCheckBefore @ (dPC,dFP,self) tail call
-
-/* ------------------------------ */
- .balign 64
-.L_ALT_OP_UNUSED_C7FF: /* 0x1c7 */
-/* File: armv5te/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Note that the call to dvmCheckBefore is done as a tail call.
- * rIBASE updates won't be seen until a refresh, and we can tell we have a
- * stale rIBASE if breakFlags==0. Always refresh rIBASE here, and then
- * bail to the real handler if breakFlags==0.
- */
- ldrb r3, [rSELF, #offThread_breakFlags]
- adrl lr, dvmAsmInstructionStart + (455 * 64)
- ldr rIBASE, [rSELF, #offThread_curHandlerTable]
- cmp r3, #0
- bxeq lr @ nothing to do - jump to real handler
- EXPORT_PC()
- mov r0, rPC @ arg0
- mov r1, rFP @ arg1
- mov r2, rSELF @ arg2
- b dvmCheckBefore @ (dPC,dFP,self) tail call
-
-/* ------------------------------ */
- .balign 64
-.L_ALT_OP_UNUSED_C8FF: /* 0x1c8 */
-/* File: armv5te/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Note that the call to dvmCheckBefore is done as a tail call.
- * rIBASE updates won't be seen until a refresh, and we can tell we have a
- * stale rIBASE if breakFlags==0. Always refresh rIBASE here, and then
- * bail to the real handler if breakFlags==0.
- */
- ldrb r3, [rSELF, #offThread_breakFlags]
- adrl lr, dvmAsmInstructionStart + (456 * 64)
- ldr rIBASE, [rSELF, #offThread_curHandlerTable]
- cmp r3, #0
- bxeq lr @ nothing to do - jump to real handler
- EXPORT_PC()
- mov r0, rPC @ arg0
- mov r1, rFP @ arg1
- mov r2, rSELF @ arg2
- b dvmCheckBefore @ (dPC,dFP,self) tail call
-
-/* ------------------------------ */
- .balign 64
-.L_ALT_OP_UNUSED_C9FF: /* 0x1c9 */
-/* File: armv5te/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Note that the call to dvmCheckBefore is done as a tail call.
- * rIBASE updates won't be seen until a refresh, and we can tell we have a
- * stale rIBASE if breakFlags==0. Always refresh rIBASE here, and then
- * bail to the real handler if breakFlags==0.
- */
- ldrb r3, [rSELF, #offThread_breakFlags]
- adrl lr, dvmAsmInstructionStart + (457 * 64)
- ldr rIBASE, [rSELF, #offThread_curHandlerTable]
- cmp r3, #0
- bxeq lr @ nothing to do - jump to real handler
- EXPORT_PC()
- mov r0, rPC @ arg0
- mov r1, rFP @ arg1
- mov r2, rSELF @ arg2
- b dvmCheckBefore @ (dPC,dFP,self) tail call
-
-/* ------------------------------ */
- .balign 64
-.L_ALT_OP_UNUSED_CAFF: /* 0x1ca */
-/* File: armv5te/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Note that the call to dvmCheckBefore is done as a tail call.
- * rIBASE updates won't be seen until a refresh, and we can tell we have a
- * stale rIBASE if breakFlags==0. Always refresh rIBASE here, and then
- * bail to the real handler if breakFlags==0.
- */
- ldrb r3, [rSELF, #offThread_breakFlags]
- adrl lr, dvmAsmInstructionStart + (458 * 64)
- ldr rIBASE, [rSELF, #offThread_curHandlerTable]
- cmp r3, #0
- bxeq lr @ nothing to do - jump to real handler
- EXPORT_PC()
- mov r0, rPC @ arg0
- mov r1, rFP @ arg1
- mov r2, rSELF @ arg2
- b dvmCheckBefore @ (dPC,dFP,self) tail call
-
-/* ------------------------------ */
- .balign 64
-.L_ALT_OP_UNUSED_CBFF: /* 0x1cb */
-/* File: armv5te/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Note that the call to dvmCheckBefore is done as a tail call.
- * rIBASE updates won't be seen until a refresh, and we can tell we have a
- * stale rIBASE if breakFlags==0. Always refresh rIBASE here, and then
- * bail to the real handler if breakFlags==0.
- */
- ldrb r3, [rSELF, #offThread_breakFlags]
- adrl lr, dvmAsmInstructionStart + (459 * 64)
- ldr rIBASE, [rSELF, #offThread_curHandlerTable]
- cmp r3, #0
- bxeq lr @ nothing to do - jump to real handler
- EXPORT_PC()
- mov r0, rPC @ arg0
- mov r1, rFP @ arg1
- mov r2, rSELF @ arg2
- b dvmCheckBefore @ (dPC,dFP,self) tail call
-
-/* ------------------------------ */
- .balign 64
-.L_ALT_OP_UNUSED_CCFF: /* 0x1cc */
-/* File: armv5te/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Note that the call to dvmCheckBefore is done as a tail call.
- * rIBASE updates won't be seen until a refresh, and we can tell we have a
- * stale rIBASE if breakFlags==0. Always refresh rIBASE here, and then
- * bail to the real handler if breakFlags==0.
- */
- ldrb r3, [rSELF, #offThread_breakFlags]
- adrl lr, dvmAsmInstructionStart + (460 * 64)
- ldr rIBASE, [rSELF, #offThread_curHandlerTable]
- cmp r3, #0
- bxeq lr @ nothing to do - jump to real handler
- EXPORT_PC()
- mov r0, rPC @ arg0
- mov r1, rFP @ arg1
- mov r2, rSELF @ arg2
- b dvmCheckBefore @ (dPC,dFP,self) tail call
-
-/* ------------------------------ */
- .balign 64
-.L_ALT_OP_UNUSED_CDFF: /* 0x1cd */
-/* File: armv5te/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Note that the call to dvmCheckBefore is done as a tail call.
- * rIBASE updates won't be seen until a refresh, and we can tell we have a
- * stale rIBASE if breakFlags==0. Always refresh rIBASE here, and then
- * bail to the real handler if breakFlags==0.
- */
- ldrb r3, [rSELF, #offThread_breakFlags]
- adrl lr, dvmAsmInstructionStart + (461 * 64)
- ldr rIBASE, [rSELF, #offThread_curHandlerTable]
- cmp r3, #0
- bxeq lr @ nothing to do - jump to real handler
- EXPORT_PC()
- mov r0, rPC @ arg0
- mov r1, rFP @ arg1
- mov r2, rSELF @ arg2
- b dvmCheckBefore @ (dPC,dFP,self) tail call
-
-/* ------------------------------ */
- .balign 64
-.L_ALT_OP_UNUSED_CEFF: /* 0x1ce */
-/* File: armv5te/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Note that the call to dvmCheckBefore is done as a tail call.
- * rIBASE updates won't be seen until a refresh, and we can tell we have a
- * stale rIBASE if breakFlags==0. Always refresh rIBASE here, and then
- * bail to the real handler if breakFlags==0.
- */
- ldrb r3, [rSELF, #offThread_breakFlags]
- adrl lr, dvmAsmInstructionStart + (462 * 64)
- ldr rIBASE, [rSELF, #offThread_curHandlerTable]
- cmp r3, #0
- bxeq lr @ nothing to do - jump to real handler
- EXPORT_PC()
- mov r0, rPC @ arg0
- mov r1, rFP @ arg1
- mov r2, rSELF @ arg2
- b dvmCheckBefore @ (dPC,dFP,self) tail call
-
-/* ------------------------------ */
- .balign 64
-.L_ALT_OP_UNUSED_CFFF: /* 0x1cf */
-/* File: armv5te/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Note that the call to dvmCheckBefore is done as a tail call.
- * rIBASE updates won't be seen until a refresh, and we can tell we have a
- * stale rIBASE if breakFlags==0. Always refresh rIBASE here, and then
- * bail to the real handler if breakFlags==0.
- */
- ldrb r3, [rSELF, #offThread_breakFlags]
- adrl lr, dvmAsmInstructionStart + (463 * 64)
- ldr rIBASE, [rSELF, #offThread_curHandlerTable]
- cmp r3, #0
- bxeq lr @ nothing to do - jump to real handler
- EXPORT_PC()
- mov r0, rPC @ arg0
- mov r1, rFP @ arg1
- mov r2, rSELF @ arg2
- b dvmCheckBefore @ (dPC,dFP,self) tail call
-
-/* ------------------------------ */
- .balign 64
-.L_ALT_OP_UNUSED_D0FF: /* 0x1d0 */
-/* File: armv5te/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Note that the call to dvmCheckBefore is done as a tail call.
- * rIBASE updates won't be seen until a refresh, and we can tell we have a
- * stale rIBASE if breakFlags==0. Always refresh rIBASE here, and then
- * bail to the real handler if breakFlags==0.
- */
- ldrb r3, [rSELF, #offThread_breakFlags]
- adrl lr, dvmAsmInstructionStart + (464 * 64)
- ldr rIBASE, [rSELF, #offThread_curHandlerTable]
- cmp r3, #0
- bxeq lr @ nothing to do - jump to real handler
- EXPORT_PC()
- mov r0, rPC @ arg0
- mov r1, rFP @ arg1
- mov r2, rSELF @ arg2
- b dvmCheckBefore @ (dPC,dFP,self) tail call
-
-/* ------------------------------ */
- .balign 64
-.L_ALT_OP_UNUSED_D1FF: /* 0x1d1 */
-/* File: armv5te/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Note that the call to dvmCheckBefore is done as a tail call.
- * rIBASE updates won't be seen until a refresh, and we can tell we have a
- * stale rIBASE if breakFlags==0. Always refresh rIBASE here, and then
- * bail to the real handler if breakFlags==0.
- */
- ldrb r3, [rSELF, #offThread_breakFlags]
- adrl lr, dvmAsmInstructionStart + (465 * 64)
- ldr rIBASE, [rSELF, #offThread_curHandlerTable]
- cmp r3, #0
- bxeq lr @ nothing to do - jump to real handler
- EXPORT_PC()
- mov r0, rPC @ arg0
- mov r1, rFP @ arg1
- mov r2, rSELF @ arg2
- b dvmCheckBefore @ (dPC,dFP,self) tail call
-
-/* ------------------------------ */
- .balign 64
-.L_ALT_OP_UNUSED_D2FF: /* 0x1d2 */
-/* File: armv5te/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Note that the call to dvmCheckBefore is done as a tail call.
- * rIBASE updates won't be seen until a refresh, and we can tell we have a
- * stale rIBASE if breakFlags==0. Always refresh rIBASE here, and then
- * bail to the real handler if breakFlags==0.
- */
- ldrb r3, [rSELF, #offThread_breakFlags]
- adrl lr, dvmAsmInstructionStart + (466 * 64)
- ldr rIBASE, [rSELF, #offThread_curHandlerTable]
- cmp r3, #0
- bxeq lr @ nothing to do - jump to real handler
- EXPORT_PC()
- mov r0, rPC @ arg0
- mov r1, rFP @ arg1
- mov r2, rSELF @ arg2
- b dvmCheckBefore @ (dPC,dFP,self) tail call
-
-/* ------------------------------ */
- .balign 64
-.L_ALT_OP_UNUSED_D3FF: /* 0x1d3 */
-/* File: armv5te/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Note that the call to dvmCheckBefore is done as a tail call.
- * rIBASE updates won't be seen until a refresh, and we can tell we have a
- * stale rIBASE if breakFlags==0. Always refresh rIBASE here, and then
- * bail to the real handler if breakFlags==0.
- */
- ldrb r3, [rSELF, #offThread_breakFlags]
- adrl lr, dvmAsmInstructionStart + (467 * 64)
- ldr rIBASE, [rSELF, #offThread_curHandlerTable]
- cmp r3, #0
- bxeq lr @ nothing to do - jump to real handler
- EXPORT_PC()
- mov r0, rPC @ arg0
- mov r1, rFP @ arg1
- mov r2, rSELF @ arg2
- b dvmCheckBefore @ (dPC,dFP,self) tail call
-
-/* ------------------------------ */
- .balign 64
-.L_ALT_OP_UNUSED_D4FF: /* 0x1d4 */
-/* File: armv5te/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Note that the call to dvmCheckBefore is done as a tail call.
- * rIBASE updates won't be seen until a refresh, and we can tell we have a
- * stale rIBASE if breakFlags==0. Always refresh rIBASE here, and then
- * bail to the real handler if breakFlags==0.
- */
- ldrb r3, [rSELF, #offThread_breakFlags]
- adrl lr, dvmAsmInstructionStart + (468 * 64)
- ldr rIBASE, [rSELF, #offThread_curHandlerTable]
- cmp r3, #0
- bxeq lr @ nothing to do - jump to real handler
- EXPORT_PC()
- mov r0, rPC @ arg0
- mov r1, rFP @ arg1
- mov r2, rSELF @ arg2
- b dvmCheckBefore @ (dPC,dFP,self) tail call
-
-/* ------------------------------ */
- .balign 64
-.L_ALT_OP_UNUSED_D5FF: /* 0x1d5 */
-/* File: armv5te/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Note that the call to dvmCheckBefore is done as a tail call.
- * rIBASE updates won't be seen until a refresh, and we can tell we have a
- * stale rIBASE if breakFlags==0. Always refresh rIBASE here, and then
- * bail to the real handler if breakFlags==0.
- */
- ldrb r3, [rSELF, #offThread_breakFlags]
- adrl lr, dvmAsmInstructionStart + (469 * 64)
- ldr rIBASE, [rSELF, #offThread_curHandlerTable]
- cmp r3, #0
- bxeq lr @ nothing to do - jump to real handler
- EXPORT_PC()
- mov r0, rPC @ arg0
- mov r1, rFP @ arg1
- mov r2, rSELF @ arg2
- b dvmCheckBefore @ (dPC,dFP,self) tail call
-
-/* ------------------------------ */
- .balign 64
-.L_ALT_OP_UNUSED_D6FF: /* 0x1d6 */
-/* File: armv5te/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Note that the call to dvmCheckBefore is done as a tail call.
- * rIBASE updates won't be seen until a refresh, and we can tell we have a
- * stale rIBASE if breakFlags==0. Always refresh rIBASE here, and then
- * bail to the real handler if breakFlags==0.
- */
- ldrb r3, [rSELF, #offThread_breakFlags]
- adrl lr, dvmAsmInstructionStart + (470 * 64)
- ldr rIBASE, [rSELF, #offThread_curHandlerTable]
- cmp r3, #0
- bxeq lr @ nothing to do - jump to real handler
- EXPORT_PC()
- mov r0, rPC @ arg0
- mov r1, rFP @ arg1
- mov r2, rSELF @ arg2
- b dvmCheckBefore @ (dPC,dFP,self) tail call
-
-/* ------------------------------ */
- .balign 64
-.L_ALT_OP_UNUSED_D7FF: /* 0x1d7 */
-/* File: armv5te/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Note that the call to dvmCheckBefore is done as a tail call.
- * rIBASE updates won't be seen until a refresh, and we can tell we have a
- * stale rIBASE if breakFlags==0. Always refresh rIBASE here, and then
- * bail to the real handler if breakFlags==0.
- */
- ldrb r3, [rSELF, #offThread_breakFlags]
- adrl lr, dvmAsmInstructionStart + (471 * 64)
- ldr rIBASE, [rSELF, #offThread_curHandlerTable]
- cmp r3, #0
- bxeq lr @ nothing to do - jump to real handler
- EXPORT_PC()
- mov r0, rPC @ arg0
- mov r1, rFP @ arg1
- mov r2, rSELF @ arg2
- b dvmCheckBefore @ (dPC,dFP,self) tail call
-
-/* ------------------------------ */
- .balign 64
-.L_ALT_OP_UNUSED_D8FF: /* 0x1d8 */
-/* File: armv5te/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Note that the call to dvmCheckBefore is done as a tail call.
- * rIBASE updates won't be seen until a refresh, and we can tell we have a
- * stale rIBASE if breakFlags==0. Always refresh rIBASE here, and then
- * bail to the real handler if breakFlags==0.
- */
- ldrb r3, [rSELF, #offThread_breakFlags]
- adrl lr, dvmAsmInstructionStart + (472 * 64)
- ldr rIBASE, [rSELF, #offThread_curHandlerTable]
- cmp r3, #0
- bxeq lr @ nothing to do - jump to real handler
- EXPORT_PC()
- mov r0, rPC @ arg0
- mov r1, rFP @ arg1
- mov r2, rSELF @ arg2
- b dvmCheckBefore @ (dPC,dFP,self) tail call
-
-/* ------------------------------ */
- .balign 64
-.L_ALT_OP_UNUSED_D9FF: /* 0x1d9 */
-/* File: armv5te/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Note that the call to dvmCheckBefore is done as a tail call.
- * rIBASE updates won't be seen until a refresh, and we can tell we have a
- * stale rIBASE if breakFlags==0. Always refresh rIBASE here, and then
- * bail to the real handler if breakFlags==0.
- */
- ldrb r3, [rSELF, #offThread_breakFlags]
- adrl lr, dvmAsmInstructionStart + (473 * 64)
- ldr rIBASE, [rSELF, #offThread_curHandlerTable]
- cmp r3, #0
- bxeq lr @ nothing to do - jump to real handler
- EXPORT_PC()
- mov r0, rPC @ arg0
- mov r1, rFP @ arg1
- mov r2, rSELF @ arg2
- b dvmCheckBefore @ (dPC,dFP,self) tail call
-
-/* ------------------------------ */
- .balign 64
-.L_ALT_OP_UNUSED_DAFF: /* 0x1da */
-/* File: armv5te/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Note that the call to dvmCheckBefore is done as a tail call.
- * rIBASE updates won't be seen until a refresh, and we can tell we have a
- * stale rIBASE if breakFlags==0. Always refresh rIBASE here, and then
- * bail to the real handler if breakFlags==0.
- */
- ldrb r3, [rSELF, #offThread_breakFlags]
- adrl lr, dvmAsmInstructionStart + (474 * 64)
- ldr rIBASE, [rSELF, #offThread_curHandlerTable]
- cmp r3, #0
- bxeq lr @ nothing to do - jump to real handler
- EXPORT_PC()
- mov r0, rPC @ arg0
- mov r1, rFP @ arg1
- mov r2, rSELF @ arg2
- b dvmCheckBefore @ (dPC,dFP,self) tail call
-
-/* ------------------------------ */
- .balign 64
-.L_ALT_OP_UNUSED_DBFF: /* 0x1db */
-/* File: armv5te/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Note that the call to dvmCheckBefore is done as a tail call.
- * rIBASE updates won't be seen until a refresh, and we can tell we have a
- * stale rIBASE if breakFlags==0. Always refresh rIBASE here, and then
- * bail to the real handler if breakFlags==0.
- */
- ldrb r3, [rSELF, #offThread_breakFlags]
- adrl lr, dvmAsmInstructionStart + (475 * 64)
- ldr rIBASE, [rSELF, #offThread_curHandlerTable]
- cmp r3, #0
- bxeq lr @ nothing to do - jump to real handler
- EXPORT_PC()
- mov r0, rPC @ arg0
- mov r1, rFP @ arg1
- mov r2, rSELF @ arg2
- b dvmCheckBefore @ (dPC,dFP,self) tail call
-
-/* ------------------------------ */
- .balign 64
-.L_ALT_OP_UNUSED_DCFF: /* 0x1dc */
-/* File: armv5te/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Note that the call to dvmCheckBefore is done as a tail call.
- * rIBASE updates won't be seen until a refresh, and we can tell we have a
- * stale rIBASE if breakFlags==0. Always refresh rIBASE here, and then
- * bail to the real handler if breakFlags==0.
- */
- ldrb r3, [rSELF, #offThread_breakFlags]
- adrl lr, dvmAsmInstructionStart + (476 * 64)
- ldr rIBASE, [rSELF, #offThread_curHandlerTable]
- cmp r3, #0
- bxeq lr @ nothing to do - jump to real handler
- EXPORT_PC()
- mov r0, rPC @ arg0
- mov r1, rFP @ arg1
- mov r2, rSELF @ arg2
- b dvmCheckBefore @ (dPC,dFP,self) tail call
-
-/* ------------------------------ */
- .balign 64
-.L_ALT_OP_UNUSED_DDFF: /* 0x1dd */
-/* File: armv5te/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Note that the call to dvmCheckBefore is done as a tail call.
- * rIBASE updates won't be seen until a refresh, and we can tell we have a
- * stale rIBASE if breakFlags==0. Always refresh rIBASE here, and then
- * bail to the real handler if breakFlags==0.
- */
- ldrb r3, [rSELF, #offThread_breakFlags]
- adrl lr, dvmAsmInstructionStart + (477 * 64)
- ldr rIBASE, [rSELF, #offThread_curHandlerTable]
- cmp r3, #0
- bxeq lr @ nothing to do - jump to real handler
- EXPORT_PC()
- mov r0, rPC @ arg0
- mov r1, rFP @ arg1
- mov r2, rSELF @ arg2
- b dvmCheckBefore @ (dPC,dFP,self) tail call
-
-/* ------------------------------ */
- .balign 64
-.L_ALT_OP_UNUSED_DEFF: /* 0x1de */
-/* File: armv5te/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Note that the call to dvmCheckBefore is done as a tail call.
- * rIBASE updates won't be seen until a refresh, and we can tell we have a
- * stale rIBASE if breakFlags==0. Always refresh rIBASE here, and then
- * bail to the real handler if breakFlags==0.
- */
- ldrb r3, [rSELF, #offThread_breakFlags]
- adrl lr, dvmAsmInstructionStart + (478 * 64)
- ldr rIBASE, [rSELF, #offThread_curHandlerTable]
- cmp r3, #0
- bxeq lr @ nothing to do - jump to real handler
- EXPORT_PC()
- mov r0, rPC @ arg0
- mov r1, rFP @ arg1
- mov r2, rSELF @ arg2
- b dvmCheckBefore @ (dPC,dFP,self) tail call
-
-/* ------------------------------ */
- .balign 64
-.L_ALT_OP_UNUSED_DFFF: /* 0x1df */
-/* File: armv5te/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Note that the call to dvmCheckBefore is done as a tail call.
- * rIBASE updates won't be seen until a refresh, and we can tell we have a
- * stale rIBASE if breakFlags==0. Always refresh rIBASE here, and then
- * bail to the real handler if breakFlags==0.
- */
- ldrb r3, [rSELF, #offThread_breakFlags]
- adrl lr, dvmAsmInstructionStart + (479 * 64)
- ldr rIBASE, [rSELF, #offThread_curHandlerTable]
- cmp r3, #0
- bxeq lr @ nothing to do - jump to real handler
- EXPORT_PC()
- mov r0, rPC @ arg0
- mov r1, rFP @ arg1
- mov r2, rSELF @ arg2
- b dvmCheckBefore @ (dPC,dFP,self) tail call
-
-/* ------------------------------ */
- .balign 64
-.L_ALT_OP_UNUSED_E0FF: /* 0x1e0 */
-/* File: armv5te/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Note that the call to dvmCheckBefore is done as a tail call.
- * rIBASE updates won't be seen until a refresh, and we can tell we have a
- * stale rIBASE if breakFlags==0. Always refresh rIBASE here, and then
- * bail to the real handler if breakFlags==0.
- */
- ldrb r3, [rSELF, #offThread_breakFlags]
- adrl lr, dvmAsmInstructionStart + (480 * 64)
- ldr rIBASE, [rSELF, #offThread_curHandlerTable]
- cmp r3, #0
- bxeq lr @ nothing to do - jump to real handler
- EXPORT_PC()
- mov r0, rPC @ arg0
- mov r1, rFP @ arg1
- mov r2, rSELF @ arg2
- b dvmCheckBefore @ (dPC,dFP,self) tail call
-
-/* ------------------------------ */
- .balign 64
-.L_ALT_OP_UNUSED_E1FF: /* 0x1e1 */
-/* File: armv5te/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Note that the call to dvmCheckBefore is done as a tail call.
- * rIBASE updates won't be seen until a refresh, and we can tell we have a
- * stale rIBASE if breakFlags==0. Always refresh rIBASE here, and then
- * bail to the real handler if breakFlags==0.
- */
- ldrb r3, [rSELF, #offThread_breakFlags]
- adrl lr, dvmAsmInstructionStart + (481 * 64)
- ldr rIBASE, [rSELF, #offThread_curHandlerTable]
- cmp r3, #0
- bxeq lr @ nothing to do - jump to real handler
- EXPORT_PC()
- mov r0, rPC @ arg0
- mov r1, rFP @ arg1
- mov r2, rSELF @ arg2
- b dvmCheckBefore @ (dPC,dFP,self) tail call
-
-/* ------------------------------ */
- .balign 64
-.L_ALT_OP_UNUSED_E2FF: /* 0x1e2 */
-/* File: armv5te/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Note that the call to dvmCheckBefore is done as a tail call.
- * rIBASE updates won't be seen until a refresh, and we can tell we have a
- * stale rIBASE if breakFlags==0. Always refresh rIBASE here, and then
- * bail to the real handler if breakFlags==0.
- */
- ldrb r3, [rSELF, #offThread_breakFlags]
- adrl lr, dvmAsmInstructionStart + (482 * 64)
- ldr rIBASE, [rSELF, #offThread_curHandlerTable]
- cmp r3, #0
- bxeq lr @ nothing to do - jump to real handler
- EXPORT_PC()
- mov r0, rPC @ arg0
- mov r1, rFP @ arg1
- mov r2, rSELF @ arg2
- b dvmCheckBefore @ (dPC,dFP,self) tail call
-
-/* ------------------------------ */
- .balign 64
-.L_ALT_OP_UNUSED_E3FF: /* 0x1e3 */
-/* File: armv5te/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Note that the call to dvmCheckBefore is done as a tail call.
- * rIBASE updates won't be seen until a refresh, and we can tell we have a
- * stale rIBASE if breakFlags==0. Always refresh rIBASE here, and then
- * bail to the real handler if breakFlags==0.
- */
- ldrb r3, [rSELF, #offThread_breakFlags]
- adrl lr, dvmAsmInstructionStart + (483 * 64)
- ldr rIBASE, [rSELF, #offThread_curHandlerTable]
- cmp r3, #0
- bxeq lr @ nothing to do - jump to real handler
- EXPORT_PC()
- mov r0, rPC @ arg0
- mov r1, rFP @ arg1
- mov r2, rSELF @ arg2
- b dvmCheckBefore @ (dPC,dFP,self) tail call
-
-/* ------------------------------ */
- .balign 64
-.L_ALT_OP_UNUSED_E4FF: /* 0x1e4 */
-/* File: armv5te/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Note that the call to dvmCheckBefore is done as a tail call.
- * rIBASE updates won't be seen until a refresh, and we can tell we have a
- * stale rIBASE if breakFlags==0. Always refresh rIBASE here, and then
- * bail to the real handler if breakFlags==0.
- */
- ldrb r3, [rSELF, #offThread_breakFlags]
- adrl lr, dvmAsmInstructionStart + (484 * 64)
- ldr rIBASE, [rSELF, #offThread_curHandlerTable]
- cmp r3, #0
- bxeq lr @ nothing to do - jump to real handler
- EXPORT_PC()
- mov r0, rPC @ arg0
- mov r1, rFP @ arg1
- mov r2, rSELF @ arg2
- b dvmCheckBefore @ (dPC,dFP,self) tail call
-
-/* ------------------------------ */
- .balign 64
-.L_ALT_OP_UNUSED_E5FF: /* 0x1e5 */
-/* File: armv5te/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Note that the call to dvmCheckBefore is done as a tail call.
- * rIBASE updates won't be seen until a refresh, and we can tell we have a
- * stale rIBASE if breakFlags==0. Always refresh rIBASE here, and then
- * bail to the real handler if breakFlags==0.
- */
- ldrb r3, [rSELF, #offThread_breakFlags]
- adrl lr, dvmAsmInstructionStart + (485 * 64)
- ldr rIBASE, [rSELF, #offThread_curHandlerTable]
- cmp r3, #0
- bxeq lr @ nothing to do - jump to real handler
- EXPORT_PC()
- mov r0, rPC @ arg0
- mov r1, rFP @ arg1
- mov r2, rSELF @ arg2
- b dvmCheckBefore @ (dPC,dFP,self) tail call
-
-/* ------------------------------ */
- .balign 64
-.L_ALT_OP_UNUSED_E6FF: /* 0x1e6 */
-/* File: armv5te/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Note that the call to dvmCheckBefore is done as a tail call.
- * rIBASE updates won't be seen until a refresh, and we can tell we have a
- * stale rIBASE if breakFlags==0. Always refresh rIBASE here, and then
- * bail to the real handler if breakFlags==0.
- */
- ldrb r3, [rSELF, #offThread_breakFlags]
- adrl lr, dvmAsmInstructionStart + (486 * 64)
- ldr rIBASE, [rSELF, #offThread_curHandlerTable]
- cmp r3, #0
- bxeq lr @ nothing to do - jump to real handler
- EXPORT_PC()
- mov r0, rPC @ arg0
- mov r1, rFP @ arg1
- mov r2, rSELF @ arg2
- b dvmCheckBefore @ (dPC,dFP,self) tail call
-
-/* ------------------------------ */
- .balign 64
-.L_ALT_OP_UNUSED_E7FF: /* 0x1e7 */
-/* File: armv5te/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Note that the call to dvmCheckBefore is done as a tail call.
- * rIBASE updates won't be seen until a refresh, and we can tell we have a
- * stale rIBASE if breakFlags==0. Always refresh rIBASE here, and then
- * bail to the real handler if breakFlags==0.
- */
- ldrb r3, [rSELF, #offThread_breakFlags]
- adrl lr, dvmAsmInstructionStart + (487 * 64)
- ldr rIBASE, [rSELF, #offThread_curHandlerTable]
- cmp r3, #0
- bxeq lr @ nothing to do - jump to real handler
- EXPORT_PC()
- mov r0, rPC @ arg0
- mov r1, rFP @ arg1
- mov r2, rSELF @ arg2
- b dvmCheckBefore @ (dPC,dFP,self) tail call
-
-/* ------------------------------ */
- .balign 64
-.L_ALT_OP_UNUSED_E8FF: /* 0x1e8 */
-/* File: armv5te/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Note that the call to dvmCheckBefore is done as a tail call.
- * rIBASE updates won't be seen until a refresh, and we can tell we have a
- * stale rIBASE if breakFlags==0. Always refresh rIBASE here, and then
- * bail to the real handler if breakFlags==0.
- */
- ldrb r3, [rSELF, #offThread_breakFlags]
- adrl lr, dvmAsmInstructionStart + (488 * 64)
- ldr rIBASE, [rSELF, #offThread_curHandlerTable]
- cmp r3, #0
- bxeq lr @ nothing to do - jump to real handler
- EXPORT_PC()
- mov r0, rPC @ arg0
- mov r1, rFP @ arg1
- mov r2, rSELF @ arg2
- b dvmCheckBefore @ (dPC,dFP,self) tail call
-
-/* ------------------------------ */
- .balign 64
-.L_ALT_OP_UNUSED_E9FF: /* 0x1e9 */
-/* File: armv5te/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Note that the call to dvmCheckBefore is done as a tail call.
- * rIBASE updates won't be seen until a refresh, and we can tell we have a
- * stale rIBASE if breakFlags==0. Always refresh rIBASE here, and then
- * bail to the real handler if breakFlags==0.
- */
- ldrb r3, [rSELF, #offThread_breakFlags]
- adrl lr, dvmAsmInstructionStart + (489 * 64)
- ldr rIBASE, [rSELF, #offThread_curHandlerTable]
- cmp r3, #0
- bxeq lr @ nothing to do - jump to real handler
- EXPORT_PC()
- mov r0, rPC @ arg0
- mov r1, rFP @ arg1
- mov r2, rSELF @ arg2
- b dvmCheckBefore @ (dPC,dFP,self) tail call
-
-/* ------------------------------ */
- .balign 64
-.L_ALT_OP_UNUSED_EAFF: /* 0x1ea */
-/* File: armv5te/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Note that the call to dvmCheckBefore is done as a tail call.
- * rIBASE updates won't be seen until a refresh, and we can tell we have a
- * stale rIBASE if breakFlags==0. Always refresh rIBASE here, and then
- * bail to the real handler if breakFlags==0.
- */
- ldrb r3, [rSELF, #offThread_breakFlags]
- adrl lr, dvmAsmInstructionStart + (490 * 64)
- ldr rIBASE, [rSELF, #offThread_curHandlerTable]
- cmp r3, #0
- bxeq lr @ nothing to do - jump to real handler
- EXPORT_PC()
- mov r0, rPC @ arg0
- mov r1, rFP @ arg1
- mov r2, rSELF @ arg2
- b dvmCheckBefore @ (dPC,dFP,self) tail call
-
-/* ------------------------------ */
- .balign 64
-.L_ALT_OP_UNUSED_EBFF: /* 0x1eb */
-/* File: armv5te/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Note that the call to dvmCheckBefore is done as a tail call.
- * rIBASE updates won't be seen until a refresh, and we can tell we have a
- * stale rIBASE if breakFlags==0. Always refresh rIBASE here, and then
- * bail to the real handler if breakFlags==0.
- */
- ldrb r3, [rSELF, #offThread_breakFlags]
- adrl lr, dvmAsmInstructionStart + (491 * 64)
- ldr rIBASE, [rSELF, #offThread_curHandlerTable]
- cmp r3, #0
- bxeq lr @ nothing to do - jump to real handler
- EXPORT_PC()
- mov r0, rPC @ arg0
- mov r1, rFP @ arg1
- mov r2, rSELF @ arg2
- b dvmCheckBefore @ (dPC,dFP,self) tail call
-
-/* ------------------------------ */
- .balign 64
-.L_ALT_OP_UNUSED_ECFF: /* 0x1ec */
+.L_ALT_OP_UNUSED_FF: /* 0xff */
/* File: armv5te/alt_stub.S */
/*
* Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
@@ -26232,444 +16084,7 @@ dvmAsmAltInstructionStart = .L_ALT_OP_NOP
* bail to the real handler if breakFlags==0.
*/
ldrb r3, [rSELF, #offThread_breakFlags]
- adrl lr, dvmAsmInstructionStart + (492 * 64)
- ldr rIBASE, [rSELF, #offThread_curHandlerTable]
- cmp r3, #0
- bxeq lr @ nothing to do - jump to real handler
- EXPORT_PC()
- mov r0, rPC @ arg0
- mov r1, rFP @ arg1
- mov r2, rSELF @ arg2
- b dvmCheckBefore @ (dPC,dFP,self) tail call
-
-/* ------------------------------ */
- .balign 64
-.L_ALT_OP_UNUSED_EDFF: /* 0x1ed */
-/* File: armv5te/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Note that the call to dvmCheckBefore is done as a tail call.
- * rIBASE updates won't be seen until a refresh, and we can tell we have a
- * stale rIBASE if breakFlags==0. Always refresh rIBASE here, and then
- * bail to the real handler if breakFlags==0.
- */
- ldrb r3, [rSELF, #offThread_breakFlags]
- adrl lr, dvmAsmInstructionStart + (493 * 64)
- ldr rIBASE, [rSELF, #offThread_curHandlerTable]
- cmp r3, #0
- bxeq lr @ nothing to do - jump to real handler
- EXPORT_PC()
- mov r0, rPC @ arg0
- mov r1, rFP @ arg1
- mov r2, rSELF @ arg2
- b dvmCheckBefore @ (dPC,dFP,self) tail call
-
-/* ------------------------------ */
- .balign 64
-.L_ALT_OP_UNUSED_EEFF: /* 0x1ee */
-/* File: armv5te/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Note that the call to dvmCheckBefore is done as a tail call.
- * rIBASE updates won't be seen until a refresh, and we can tell we have a
- * stale rIBASE if breakFlags==0. Always refresh rIBASE here, and then
- * bail to the real handler if breakFlags==0.
- */
- ldrb r3, [rSELF, #offThread_breakFlags]
- adrl lr, dvmAsmInstructionStart + (494 * 64)
- ldr rIBASE, [rSELF, #offThread_curHandlerTable]
- cmp r3, #0
- bxeq lr @ nothing to do - jump to real handler
- EXPORT_PC()
- mov r0, rPC @ arg0
- mov r1, rFP @ arg1
- mov r2, rSELF @ arg2
- b dvmCheckBefore @ (dPC,dFP,self) tail call
-
-/* ------------------------------ */
- .balign 64
-.L_ALT_OP_UNUSED_EFFF: /* 0x1ef */
-/* File: armv5te/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Note that the call to dvmCheckBefore is done as a tail call.
- * rIBASE updates won't be seen until a refresh, and we can tell we have a
- * stale rIBASE if breakFlags==0. Always refresh rIBASE here, and then
- * bail to the real handler if breakFlags==0.
- */
- ldrb r3, [rSELF, #offThread_breakFlags]
- adrl lr, dvmAsmInstructionStart + (495 * 64)
- ldr rIBASE, [rSELF, #offThread_curHandlerTable]
- cmp r3, #0
- bxeq lr @ nothing to do - jump to real handler
- EXPORT_PC()
- mov r0, rPC @ arg0
- mov r1, rFP @ arg1
- mov r2, rSELF @ arg2
- b dvmCheckBefore @ (dPC,dFP,self) tail call
-
-/* ------------------------------ */
- .balign 64
-.L_ALT_OP_UNUSED_F0FF: /* 0x1f0 */
-/* File: armv5te/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Note that the call to dvmCheckBefore is done as a tail call.
- * rIBASE updates won't be seen until a refresh, and we can tell we have a
- * stale rIBASE if breakFlags==0. Always refresh rIBASE here, and then
- * bail to the real handler if breakFlags==0.
- */
- ldrb r3, [rSELF, #offThread_breakFlags]
- adrl lr, dvmAsmInstructionStart + (496 * 64)
- ldr rIBASE, [rSELF, #offThread_curHandlerTable]
- cmp r3, #0
- bxeq lr @ nothing to do - jump to real handler
- EXPORT_PC()
- mov r0, rPC @ arg0
- mov r1, rFP @ arg1
- mov r2, rSELF @ arg2
- b dvmCheckBefore @ (dPC,dFP,self) tail call
-
-/* ------------------------------ */
- .balign 64
-.L_ALT_OP_UNUSED_F1FF: /* 0x1f1 */
-/* File: armv5te/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Note that the call to dvmCheckBefore is done as a tail call.
- * rIBASE updates won't be seen until a refresh, and we can tell we have a
- * stale rIBASE if breakFlags==0. Always refresh rIBASE here, and then
- * bail to the real handler if breakFlags==0.
- */
- ldrb r3, [rSELF, #offThread_breakFlags]
- adrl lr, dvmAsmInstructionStart + (497 * 64)
- ldr rIBASE, [rSELF, #offThread_curHandlerTable]
- cmp r3, #0
- bxeq lr @ nothing to do - jump to real handler
- EXPORT_PC()
- mov r0, rPC @ arg0
- mov r1, rFP @ arg1
- mov r2, rSELF @ arg2
- b dvmCheckBefore @ (dPC,dFP,self) tail call
-
-/* ------------------------------ */
- .balign 64
-.L_ALT_OP_INVOKE_OBJECT_INIT_JUMBO: /* 0x1f2 */
-/* File: armv5te/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Note that the call to dvmCheckBefore is done as a tail call.
- * rIBASE updates won't be seen until a refresh, and we can tell we have a
- * stale rIBASE if breakFlags==0. Always refresh rIBASE here, and then
- * bail to the real handler if breakFlags==0.
- */
- ldrb r3, [rSELF, #offThread_breakFlags]
- adrl lr, dvmAsmInstructionStart + (498 * 64)
- ldr rIBASE, [rSELF, #offThread_curHandlerTable]
- cmp r3, #0
- bxeq lr @ nothing to do - jump to real handler
- EXPORT_PC()
- mov r0, rPC @ arg0
- mov r1, rFP @ arg1
- mov r2, rSELF @ arg2
- b dvmCheckBefore @ (dPC,dFP,self) tail call
-
-/* ------------------------------ */
- .balign 64
-.L_ALT_OP_IGET_VOLATILE_JUMBO: /* 0x1f3 */
-/* File: armv5te/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Note that the call to dvmCheckBefore is done as a tail call.
- * rIBASE updates won't be seen until a refresh, and we can tell we have a
- * stale rIBASE if breakFlags==0. Always refresh rIBASE here, and then
- * bail to the real handler if breakFlags==0.
- */
- ldrb r3, [rSELF, #offThread_breakFlags]
- adrl lr, dvmAsmInstructionStart + (499 * 64)
- ldr rIBASE, [rSELF, #offThread_curHandlerTable]
- cmp r3, #0
- bxeq lr @ nothing to do - jump to real handler
- EXPORT_PC()
- mov r0, rPC @ arg0
- mov r1, rFP @ arg1
- mov r2, rSELF @ arg2
- b dvmCheckBefore @ (dPC,dFP,self) tail call
-
-/* ------------------------------ */
- .balign 64
-.L_ALT_OP_IGET_WIDE_VOLATILE_JUMBO: /* 0x1f4 */
-/* File: armv5te/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Note that the call to dvmCheckBefore is done as a tail call.
- * rIBASE updates won't be seen until a refresh, and we can tell we have a
- * stale rIBASE if breakFlags==0. Always refresh rIBASE here, and then
- * bail to the real handler if breakFlags==0.
- */
- ldrb r3, [rSELF, #offThread_breakFlags]
- adrl lr, dvmAsmInstructionStart + (500 * 64)
- ldr rIBASE, [rSELF, #offThread_curHandlerTable]
- cmp r3, #0
- bxeq lr @ nothing to do - jump to real handler
- EXPORT_PC()
- mov r0, rPC @ arg0
- mov r1, rFP @ arg1
- mov r2, rSELF @ arg2
- b dvmCheckBefore @ (dPC,dFP,self) tail call
-
-/* ------------------------------ */
- .balign 64
-.L_ALT_OP_IGET_OBJECT_VOLATILE_JUMBO: /* 0x1f5 */
-/* File: armv5te/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Note that the call to dvmCheckBefore is done as a tail call.
- * rIBASE updates won't be seen until a refresh, and we can tell we have a
- * stale rIBASE if breakFlags==0. Always refresh rIBASE here, and then
- * bail to the real handler if breakFlags==0.
- */
- ldrb r3, [rSELF, #offThread_breakFlags]
- adrl lr, dvmAsmInstructionStart + (501 * 64)
- ldr rIBASE, [rSELF, #offThread_curHandlerTable]
- cmp r3, #0
- bxeq lr @ nothing to do - jump to real handler
- EXPORT_PC()
- mov r0, rPC @ arg0
- mov r1, rFP @ arg1
- mov r2, rSELF @ arg2
- b dvmCheckBefore @ (dPC,dFP,self) tail call
-
-/* ------------------------------ */
- .balign 64
-.L_ALT_OP_IPUT_VOLATILE_JUMBO: /* 0x1f6 */
-/* File: armv5te/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Note that the call to dvmCheckBefore is done as a tail call.
- * rIBASE updates won't be seen until a refresh, and we can tell we have a
- * stale rIBASE if breakFlags==0. Always refresh rIBASE here, and then
- * bail to the real handler if breakFlags==0.
- */
- ldrb r3, [rSELF, #offThread_breakFlags]
- adrl lr, dvmAsmInstructionStart + (502 * 64)
- ldr rIBASE, [rSELF, #offThread_curHandlerTable]
- cmp r3, #0
- bxeq lr @ nothing to do - jump to real handler
- EXPORT_PC()
- mov r0, rPC @ arg0
- mov r1, rFP @ arg1
- mov r2, rSELF @ arg2
- b dvmCheckBefore @ (dPC,dFP,self) tail call
-
-/* ------------------------------ */
- .balign 64
-.L_ALT_OP_IPUT_WIDE_VOLATILE_JUMBO: /* 0x1f7 */
-/* File: armv5te/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Note that the call to dvmCheckBefore is done as a tail call.
- * rIBASE updates won't be seen until a refresh, and we can tell we have a
- * stale rIBASE if breakFlags==0. Always refresh rIBASE here, and then
- * bail to the real handler if breakFlags==0.
- */
- ldrb r3, [rSELF, #offThread_breakFlags]
- adrl lr, dvmAsmInstructionStart + (503 * 64)
- ldr rIBASE, [rSELF, #offThread_curHandlerTable]
- cmp r3, #0
- bxeq lr @ nothing to do - jump to real handler
- EXPORT_PC()
- mov r0, rPC @ arg0
- mov r1, rFP @ arg1
- mov r2, rSELF @ arg2
- b dvmCheckBefore @ (dPC,dFP,self) tail call
-
-/* ------------------------------ */
- .balign 64
-.L_ALT_OP_IPUT_OBJECT_VOLATILE_JUMBO: /* 0x1f8 */
-/* File: armv5te/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Note that the call to dvmCheckBefore is done as a tail call.
- * rIBASE updates won't be seen until a refresh, and we can tell we have a
- * stale rIBASE if breakFlags==0. Always refresh rIBASE here, and then
- * bail to the real handler if breakFlags==0.
- */
- ldrb r3, [rSELF, #offThread_breakFlags]
- adrl lr, dvmAsmInstructionStart + (504 * 64)
- ldr rIBASE, [rSELF, #offThread_curHandlerTable]
- cmp r3, #0
- bxeq lr @ nothing to do - jump to real handler
- EXPORT_PC()
- mov r0, rPC @ arg0
- mov r1, rFP @ arg1
- mov r2, rSELF @ arg2
- b dvmCheckBefore @ (dPC,dFP,self) tail call
-
-/* ------------------------------ */
- .balign 64
-.L_ALT_OP_SGET_VOLATILE_JUMBO: /* 0x1f9 */
-/* File: armv5te/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Note that the call to dvmCheckBefore is done as a tail call.
- * rIBASE updates won't be seen until a refresh, and we can tell we have a
- * stale rIBASE if breakFlags==0. Always refresh rIBASE here, and then
- * bail to the real handler if breakFlags==0.
- */
- ldrb r3, [rSELF, #offThread_breakFlags]
- adrl lr, dvmAsmInstructionStart + (505 * 64)
- ldr rIBASE, [rSELF, #offThread_curHandlerTable]
- cmp r3, #0
- bxeq lr @ nothing to do - jump to real handler
- EXPORT_PC()
- mov r0, rPC @ arg0
- mov r1, rFP @ arg1
- mov r2, rSELF @ arg2
- b dvmCheckBefore @ (dPC,dFP,self) tail call
-
-/* ------------------------------ */
- .balign 64
-.L_ALT_OP_SGET_WIDE_VOLATILE_JUMBO: /* 0x1fa */
-/* File: armv5te/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Note that the call to dvmCheckBefore is done as a tail call.
- * rIBASE updates won't be seen until a refresh, and we can tell we have a
- * stale rIBASE if breakFlags==0. Always refresh rIBASE here, and then
- * bail to the real handler if breakFlags==0.
- */
- ldrb r3, [rSELF, #offThread_breakFlags]
- adrl lr, dvmAsmInstructionStart + (506 * 64)
- ldr rIBASE, [rSELF, #offThread_curHandlerTable]
- cmp r3, #0
- bxeq lr @ nothing to do - jump to real handler
- EXPORT_PC()
- mov r0, rPC @ arg0
- mov r1, rFP @ arg1
- mov r2, rSELF @ arg2
- b dvmCheckBefore @ (dPC,dFP,self) tail call
-
-/* ------------------------------ */
- .balign 64
-.L_ALT_OP_SGET_OBJECT_VOLATILE_JUMBO: /* 0x1fb */
-/* File: armv5te/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Note that the call to dvmCheckBefore is done as a tail call.
- * rIBASE updates won't be seen until a refresh, and we can tell we have a
- * stale rIBASE if breakFlags==0. Always refresh rIBASE here, and then
- * bail to the real handler if breakFlags==0.
- */
- ldrb r3, [rSELF, #offThread_breakFlags]
- adrl lr, dvmAsmInstructionStart + (507 * 64)
- ldr rIBASE, [rSELF, #offThread_curHandlerTable]
- cmp r3, #0
- bxeq lr @ nothing to do - jump to real handler
- EXPORT_PC()
- mov r0, rPC @ arg0
- mov r1, rFP @ arg1
- mov r2, rSELF @ arg2
- b dvmCheckBefore @ (dPC,dFP,self) tail call
-
-/* ------------------------------ */
- .balign 64
-.L_ALT_OP_SPUT_VOLATILE_JUMBO: /* 0x1fc */
-/* File: armv5te/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Note that the call to dvmCheckBefore is done as a tail call.
- * rIBASE updates won't be seen until a refresh, and we can tell we have a
- * stale rIBASE if breakFlags==0. Always refresh rIBASE here, and then
- * bail to the real handler if breakFlags==0.
- */
- ldrb r3, [rSELF, #offThread_breakFlags]
- adrl lr, dvmAsmInstructionStart + (508 * 64)
- ldr rIBASE, [rSELF, #offThread_curHandlerTable]
- cmp r3, #0
- bxeq lr @ nothing to do - jump to real handler
- EXPORT_PC()
- mov r0, rPC @ arg0
- mov r1, rFP @ arg1
- mov r2, rSELF @ arg2
- b dvmCheckBefore @ (dPC,dFP,self) tail call
-
-/* ------------------------------ */
- .balign 64
-.L_ALT_OP_SPUT_WIDE_VOLATILE_JUMBO: /* 0x1fd */
-/* File: armv5te/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Note that the call to dvmCheckBefore is done as a tail call.
- * rIBASE updates won't be seen until a refresh, and we can tell we have a
- * stale rIBASE if breakFlags==0. Always refresh rIBASE here, and then
- * bail to the real handler if breakFlags==0.
- */
- ldrb r3, [rSELF, #offThread_breakFlags]
- adrl lr, dvmAsmInstructionStart + (509 * 64)
- ldr rIBASE, [rSELF, #offThread_curHandlerTable]
- cmp r3, #0
- bxeq lr @ nothing to do - jump to real handler
- EXPORT_PC()
- mov r0, rPC @ arg0
- mov r1, rFP @ arg1
- mov r2, rSELF @ arg2
- b dvmCheckBefore @ (dPC,dFP,self) tail call
-
-/* ------------------------------ */
- .balign 64
-.L_ALT_OP_SPUT_OBJECT_VOLATILE_JUMBO: /* 0x1fe */
-/* File: armv5te/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Note that the call to dvmCheckBefore is done as a tail call.
- * rIBASE updates won't be seen until a refresh, and we can tell we have a
- * stale rIBASE if breakFlags==0. Always refresh rIBASE here, and then
- * bail to the real handler if breakFlags==0.
- */
- ldrb r3, [rSELF, #offThread_breakFlags]
- adrl lr, dvmAsmInstructionStart + (510 * 64)
- ldr rIBASE, [rSELF, #offThread_curHandlerTable]
- cmp r3, #0
- bxeq lr @ nothing to do - jump to real handler
- EXPORT_PC()
- mov r0, rPC @ arg0
- mov r1, rFP @ arg1
- mov r2, rSELF @ arg2
- b dvmCheckBefore @ (dPC,dFP,self) tail call
-
-/* ------------------------------ */
- .balign 64
-.L_ALT_OP_THROW_VERIFICATION_ERROR_JUMBO: /* 0x1ff */
-/* File: armv5te/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Note that the call to dvmCheckBefore is done as a tail call.
- * rIBASE updates won't be seen until a refresh, and we can tell we have a
- * stale rIBASE if breakFlags==0. Always refresh rIBASE here, and then
- * bail to the real handler if breakFlags==0.
- */
- ldrb r3, [rSELF, #offThread_breakFlags]
- adrl lr, dvmAsmInstructionStart + (511 * 64)
+ adrl lr, dvmAsmInstructionStart + (255 * 64)
ldr rIBASE, [rSELF, #offThread_curHandlerTable]
cmp r3, #0
bxeq lr @ nothing to do - jump to real handler
@@ -27152,35 +16567,6 @@ save_callsiteinfo:
#endif
/*
- * Common code for jumbo method invocation.
- * NOTE: this adjusts rPC to account for the difference in instruction width.
- * As a result, the savedPc in the stack frame will not be wholly accurate. So
- * long as that is only used for source file line number calculations, we're
- * okay.
- */
-common_invokeMethodJumboNoThis:
-#if defined(WITH_JIT)
- /* On entry: r0 is "Method* methodToCall */
- mov r9, #0 @ clear "this"
-#endif
-common_invokeMethodJumbo:
- /* On entry: r0 is "Method* methodToCall, r9 is "this" */
-.LinvokeNewJumbo:
-#if defined(WITH_JIT)
- ldrh r1, [rSELF, #offThread_subMode]
- ands r1, #kSubModeJitTraceBuild
- blne save_callsiteinfo
-#endif
- @ prepare to copy args to "outs" area of current frame
- add rPC, rPC, #4 @ adjust pc to make return consistent
- FETCH(r2, 1) @ r2<- BBBB (arg count)
- SAVEAREA_FROM_FP(r10, rFP) @ r10<- stack save area
- cmp r2, #0 @ no args?
- beq .LinvokeArgsDone @ if no args, skip the rest
- FETCH(r1, 2) @ r1<- CCCC
- b .LinvokeRangeArgs @ handle args like invoke range
-
-/*
* Common code for method invocation with range.
*
* On entry:
diff --git a/vm/mterp/out/InterpAsm-armv7-a-neon.S b/vm/mterp/out/InterpAsm-armv7-a-neon.S
index 3a01a832c..2bed3ef39 100644
--- a/vm/mterp/out/InterpAsm-armv7-a-neon.S
+++ b/vm/mterp/out/InterpAsm-armv7-a-neon.S
@@ -7654,3126 +7654,12 @@ dalvik_inst:
/* ------------------------------ */
.balign 64
-.L_OP_DISPATCH_FF: /* 0xff */
-/* File: armv5te/OP_DISPATCH_FF.S */
- mov ip, rINST, lsr #8 @ ip<- extended opcode
- add ip, ip, #256 @ add offset for extended opcodes
- GOTO_OPCODE(ip) @ go to proper extended handler
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_CONST_CLASS_JUMBO: /* 0x100 */
-/* File: armv5te/OP_CONST_CLASS_JUMBO.S */
- /* const-class/jumbo vBBBB, Class@AAAAAAAA */
- FETCH(r0, 1) @ r0<- aaaa (lo)
- ldr r2, [rSELF, #offThread_methodClassDex] @ r2<-self>methodClassDex
- FETCH(r1, 2) @ r1<- AAAA (hi)
- ldr r2, [r2, #offDvmDex_pResClasses] @ r2<- dvmDex->pResClasses
- orr r1, r0, r1, lsl #16 @ r1<- AAAAaaaa
- FETCH(r9, 3) @ r9<- BBBB
- ldr r0, [r2, r1, lsl #2] @ r0<- pResClasses[AAAAaaaa]
- cmp r0, #0 @ not yet resolved?
- beq .LOP_CONST_CLASS_JUMBO_resolve
- FETCH_ADVANCE_INST(4) @ advance rPC, load rINST
- GET_INST_OPCODE(ip) @ extract opcode from rINST
- SET_VREG(r0, r9) @ vBBBB<- r0
- GOTO_OPCODE(ip) @ jump to next instruction
-
-/* ------------------------------ */
- .balign 64
-.L_OP_CHECK_CAST_JUMBO: /* 0x101 */
-/* File: armv5te/OP_CHECK_CAST_JUMBO.S */
- /*
- * Check to see if a cast from one class to another is allowed.
- */
- /* check-cast/jumbo vBBBB, class@AAAAAAAA */
- FETCH(r0, 1) @ r0<- aaaa (lo)
- FETCH(r2, 2) @ r2<- AAAA (hi)
- FETCH(r3, 3) @ r3<- BBBB
- orr r2, r0, r2, lsl #16 @ r2<- AAAAaaaa
- GET_VREG(r9, r3) @ r9<- object
- ldr r0, [rSELF, #offThread_methodClassDex] @ r0<- pDvmDex
- cmp r9, #0 @ is object null?
- ldr r0, [r0, #offDvmDex_pResClasses] @ r0<- pDvmDex->pResClasses
- beq .LOP_CHECK_CAST_JUMBO_okay @ null obj, cast always succeeds
- ldr r1, [r0, r2, lsl #2] @ r1<- resolved class
- ldr r0, [r9, #offObject_clazz] @ r0<- obj->clazz
- cmp r1, #0 @ have we resolved this before?
- beq .LOP_CHECK_CAST_JUMBO_resolve @ not resolved, do it now
-.LOP_CHECK_CAST_JUMBO_resolved:
- cmp r0, r1 @ same class (trivial success)?
- bne .LOP_CHECK_CAST_JUMBO_fullcheck @ no, do full check
- b .LOP_CHECK_CAST_JUMBO_okay @ yes, finish up
-
-/* ------------------------------ */
- .balign 64
-.L_OP_INSTANCE_OF_JUMBO: /* 0x102 */
-/* File: armv5te/OP_INSTANCE_OF_JUMBO.S */
- /*
- * Check to see if an object reference is an instance of a class.
- *
- * Most common situation is a non-null object, being compared against
- * an already-resolved class.
- *
- * TODO: convert most of this into a common subroutine, shared with
- * OP_INSTANCE_OF.S.
- */
- /* instance-of/jumbo vBBBB, vCCCC, class@AAAAAAAA */
- FETCH(r3, 4) @ r3<- vCCCC
- FETCH(r9, 3) @ r9<- vBBBB
- GET_VREG(r0, r3) @ r0<- vCCCC (object)
- ldr r2, [rSELF, #offThread_methodClassDex] @ r2<- pDvmDex
- cmp r0, #0 @ is object null?
- beq .LOP_INSTANCE_OF_JUMBO_store @ null obj, not an instance, store r0
- FETCH(r1, 1) @ r1<- aaaa (lo)
- FETCH(r3, 2) @ r3<- AAAA (hi)
- ldr r2, [r2, #offDvmDex_pResClasses] @ r2<- pDvmDex->pResClasses
- orr r3, r1, r3, lsl #16 @ r3<- AAAAaaaa
- ldr r1, [r2, r3, lsl #2] @ r1<- resolved class
- ldr r0, [r0, #offObject_clazz] @ r0<- obj->clazz
- cmp r1, #0 @ have we resolved this before?
- beq .LOP_INSTANCE_OF_JUMBO_resolve @ not resolved, do it now
- b .LOP_INSTANCE_OF_JUMBO_resolved @ resolved, continue
-
-/* ------------------------------ */
- .balign 64
-.L_OP_NEW_INSTANCE_JUMBO: /* 0x103 */
-/* File: armv5te/OP_NEW_INSTANCE_JUMBO.S */
- /*
- * Create a new instance of a class.
- */
- /* new-instance/jumbo vBBBB, class@AAAAAAAA */
- FETCH(r0, 1) @ r0<- aaaa (lo)
- FETCH(r1, 2) @ r1<- AAAA (hi)
- ldr r3, [rSELF, #offThread_methodClassDex] @ r3<- pDvmDex
- orr r1, r0, r1, lsl #16 @ r1<- AAAAaaaa
- ldr r3, [r3, #offDvmDex_pResClasses] @ r3<- pDvmDex->pResClasses
- ldr r0, [r3, r1, lsl #2] @ r0<- resolved class
-#if defined(WITH_JIT)
- add r10, r3, r1, lsl #2 @ r10<- &resolved_class
-#endif
- EXPORT_PC() @ req'd for init, resolve, alloc
- cmp r0, #0 @ already resolved?
- beq .LOP_NEW_INSTANCE_JUMBO_resolve @ no, resolve it now
-.LOP_NEW_INSTANCE_JUMBO_resolved: @ r0=class
- ldrb r1, [r0, #offClassObject_status] @ r1<- ClassStatus enum
- cmp r1, #CLASS_INITIALIZED @ has class been initialized?
- bne .LOP_NEW_INSTANCE_JUMBO_needinit @ no, init class now
-.LOP_NEW_INSTANCE_JUMBO_initialized: @ r0=class
- mov r1, #ALLOC_DONT_TRACK @ flags for alloc call
- bl dvmAllocObject @ r0<- new object
- b .LOP_NEW_INSTANCE_JUMBO_finish @ continue
-
-/* ------------------------------ */
- .balign 64
-.L_OP_NEW_ARRAY_JUMBO: /* 0x104 */
-/* File: armv5te/OP_NEW_ARRAY_JUMBO.S */
- /*
- * Allocate an array of objects, specified with the array class
- * and a count.
- *
- * The verifier guarantees that this is an array class, so we don't
- * check for it here.
- */
- /* new-array/jumbo vBBBB, vCCCC, class@AAAAAAAA */
- FETCH(r2, 1) @ r2<- aaaa (lo)
- FETCH(r3, 2) @ r3<- AAAA (hi)
- FETCH(r0, 4) @ r0<- vCCCC
- orr r2, r2, r3, lsl #16 @ r2<- AAAAaaaa
- ldr r3, [rSELF, #offThread_methodClassDex] @ r3<- pDvmDex
- GET_VREG(r1, r0) @ r1<- vCCCC (array length)
- ldr r3, [r3, #offDvmDex_pResClasses] @ r3<- pDvmDex->pResClasses
- cmp r1, #0 @ check length
- ldr r0, [r3, r2, lsl #2] @ r0<- resolved class
- bmi common_errNegativeArraySize @ negative length, bail - len in r1
- cmp r0, #0 @ already resolved?
- EXPORT_PC() @ req'd for resolve, alloc
- bne .LOP_NEW_ARRAY_JUMBO_finish @ resolved, continue
- b .LOP_NEW_ARRAY_JUMBO_resolve @ do resolve now
-
-/* ------------------------------ */
- .balign 64
-.L_OP_FILLED_NEW_ARRAY_JUMBO: /* 0x105 */
-/* File: armv5te/OP_FILLED_NEW_ARRAY_JUMBO.S */
- /*
- * Create a new array with elements filled from registers.
- *
- * TODO: convert most of this into a common subroutine, shared with
- * OP_FILLED_NEW_ARRAY.S.
- */
- /* filled-new-array/jumbo {vCCCC..v(CCCC+BBBB-1)}, type@AAAAAAAA */
- ldr r3, [rSELF, #offThread_methodClassDex] @ r3<- pDvmDex
- FETCH(r0, 1) @ r0<- aaaa (lo)
- FETCH(r1, 2) @ r1<- AAAA (hi)
- ldr r3, [r3, #offDvmDex_pResClasses] @ r3<- pDvmDex->pResClasses
- orr r1, r0, r1, lsl #16 @ r1<- AAAAaaaa
- ldr r0, [r3, r1, lsl #2] @ r0<- resolved class
- EXPORT_PC() @ need for resolve and alloc
- cmp r0, #0 @ already resolved?
- bne .LOP_FILLED_NEW_ARRAY_JUMBO_continue @ yes, continue on
-8: ldr r3, [rSELF, #offThread_method] @ r3<- self->method
- mov r2, #0 @ r2<- false
- ldr r0, [r3, #offMethod_clazz] @ r0<- method->clazz
- bl dvmResolveClass @ r0<- call(clazz, ref)
- cmp r0, #0 @ got null?
- beq common_exceptionThrown @ yes, handle exception
- b .LOP_FILLED_NEW_ARRAY_JUMBO_continue
-
-/* ------------------------------ */
- .balign 64
-.L_OP_IGET_JUMBO: /* 0x106 */
-/* File: armv5te/OP_IGET_JUMBO.S */
- /*
- * Jumbo 32-bit instance field get.
- *
- * for: iget/jumbo, iget-object/jumbo, iget-boolean/jumbo, iget-byte/jumbo,
- * iget-char/jumbo, iget-short/jumbo
- */
- /* exop vBBBB, vCCCC, field@AAAAAAAA */
- FETCH(r1, 1) @ r1<- aaaa (lo)
- FETCH(r2, 2) @ r2<- AAAA (hi)
- FETCH(r0, 4) @ r0<- CCCC
- ldr r3, [rSELF, #offThread_methodClassDex] @ r3<- DvmDex
- orr r1, r1, r2, lsl #16 @ r1<- AAAAaaaa
- ldr r2, [r3, #offDvmDex_pResFields] @ r2<- pDvmDex->pResFields
- GET_VREG(r9, r0) @ r9<- fp[CCCC], the object pointer
- ldr r0, [r2, r1, lsl #2] @ r0<- resolved InstField ptr
- cmp r0, #0 @ is resolved entry null?
- bne .LOP_IGET_JUMBO_finish @ no, already resolved
-8: ldr r2, [rSELF, #offThread_method] @ r2<- current method
- EXPORT_PC() @ resolve() could throw
- ldr r0, [r2, #offMethod_clazz] @ r0<- method->clazz
- bl dvmResolveInstField @ r0<- resolved InstField ptr
- b .LOP_IGET_JUMBO_resolved @ resolved, continue
-
-/* ------------------------------ */
- .balign 64
-.L_OP_IGET_WIDE_JUMBO: /* 0x107 */
-/* File: armv5te/OP_IGET_WIDE_JUMBO.S */
- /*
- * Jumbo 64-bit instance field get.
- */
- /* iget-wide/jumbo vBBBB, vCCCC, field@AAAAAAAA */
- FETCH(r1, 1) @ r1<- aaaa (lo)
- FETCH(r2, 2) @ r2<- AAAA (hi)
- FETCH(r0, 4) @ r0<- CCCC
- ldr r3, [rSELF, #offThread_methodClassDex] @ r3<- DvmDex
- orr r1, r1, r2, lsl #16 @ r1<- AAAAaaaa
- ldr r2, [r3, #offDvmDex_pResFields] @ r2<- pResFields
- GET_VREG(r9, r0) @ r9<- fp[CCCC], the object pointer
- ldr r0, [r2, r1, lsl #2] @ r0<- resolved InstField ptr
- cmp r0, #0 @ is resolved entry null?
- bne .LOP_IGET_WIDE_JUMBO_finish @ no, already resolved
- ldr r2, [rSELF, #offThread_method] @ r2<- current method
- EXPORT_PC() @ resolve() could throw
- ldr r0, [r2, #offMethod_clazz] @ r0<- method->clazz
- bl dvmResolveInstField @ r0<- resolved InstField ptr
- b .LOP_IGET_WIDE_JUMBO_resolved @ resolved, continue
-
-/* ------------------------------ */
- .balign 64
-.L_OP_IGET_OBJECT_JUMBO: /* 0x108 */
-/* File: armv5te/OP_IGET_OBJECT_JUMBO.S */
-/* File: armv5te/OP_IGET_JUMBO.S */
- /*
- * Jumbo 32-bit instance field get.
- *
- * for: iget/jumbo, iget-object/jumbo, iget-boolean/jumbo, iget-byte/jumbo,
- * iget-char/jumbo, iget-short/jumbo
- */
- /* exop vBBBB, vCCCC, field@AAAAAAAA */
- FETCH(r1, 1) @ r1<- aaaa (lo)
- FETCH(r2, 2) @ r2<- AAAA (hi)
- FETCH(r0, 4) @ r0<- CCCC
- ldr r3, [rSELF, #offThread_methodClassDex] @ r3<- DvmDex
- orr r1, r1, r2, lsl #16 @ r1<- AAAAaaaa
- ldr r2, [r3, #offDvmDex_pResFields] @ r2<- pDvmDex->pResFields
- GET_VREG(r9, r0) @ r9<- fp[CCCC], the object pointer
- ldr r0, [r2, r1, lsl #2] @ r0<- resolved InstField ptr
- cmp r0, #0 @ is resolved entry null?
- bne .LOP_IGET_OBJECT_JUMBO_finish @ no, already resolved
-8: ldr r2, [rSELF, #offThread_method] @ r2<- current method
- EXPORT_PC() @ resolve() could throw
- ldr r0, [r2, #offMethod_clazz] @ r0<- method->clazz
- bl dvmResolveInstField @ r0<- resolved InstField ptr
- b .LOP_IGET_OBJECT_JUMBO_resolved @ resolved, continue
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_IGET_BOOLEAN_JUMBO: /* 0x109 */
-/* File: armv5te/OP_IGET_BOOLEAN_JUMBO.S */
-@include "armv5te/OP_IGET_JUMBO.S" { "load":"ldrb", "sqnum":"1" }
-/* File: armv5te/OP_IGET_JUMBO.S */
- /*
- * Jumbo 32-bit instance field get.
- *
- * for: iget/jumbo, iget-object/jumbo, iget-boolean/jumbo, iget-byte/jumbo,
- * iget-char/jumbo, iget-short/jumbo
- */
- /* exop vBBBB, vCCCC, field@AAAAAAAA */
- FETCH(r1, 1) @ r1<- aaaa (lo)
- FETCH(r2, 2) @ r2<- AAAA (hi)
- FETCH(r0, 4) @ r0<- CCCC
- ldr r3, [rSELF, #offThread_methodClassDex] @ r3<- DvmDex
- orr r1, r1, r2, lsl #16 @ r1<- AAAAaaaa
- ldr r2, [r3, #offDvmDex_pResFields] @ r2<- pDvmDex->pResFields
- GET_VREG(r9, r0) @ r9<- fp[CCCC], the object pointer
- ldr r0, [r2, r1, lsl #2] @ r0<- resolved InstField ptr
- cmp r0, #0 @ is resolved entry null?
- bne .LOP_IGET_BOOLEAN_JUMBO_finish @ no, already resolved
-8: ldr r2, [rSELF, #offThread_method] @ r2<- current method
- EXPORT_PC() @ resolve() could throw
- ldr r0, [r2, #offMethod_clazz] @ r0<- method->clazz
- bl dvmResolveInstField @ r0<- resolved InstField ptr
- b .LOP_IGET_BOOLEAN_JUMBO_resolved @ resolved, continue
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_IGET_BYTE_JUMBO: /* 0x10a */
-/* File: armv5te/OP_IGET_BYTE_JUMBO.S */
-@include "armv5te/OP_IGET_JUMBO.S" { "load":"ldrsb", "sqnum":"2" }
-/* File: armv5te/OP_IGET_JUMBO.S */
- /*
- * Jumbo 32-bit instance field get.
- *
- * for: iget/jumbo, iget-object/jumbo, iget-boolean/jumbo, iget-byte/jumbo,
- * iget-char/jumbo, iget-short/jumbo
- */
- /* exop vBBBB, vCCCC, field@AAAAAAAA */
- FETCH(r1, 1) @ r1<- aaaa (lo)
- FETCH(r2, 2) @ r2<- AAAA (hi)
- FETCH(r0, 4) @ r0<- CCCC
- ldr r3, [rSELF, #offThread_methodClassDex] @ r3<- DvmDex
- orr r1, r1, r2, lsl #16 @ r1<- AAAAaaaa
- ldr r2, [r3, #offDvmDex_pResFields] @ r2<- pDvmDex->pResFields
- GET_VREG(r9, r0) @ r9<- fp[CCCC], the object pointer
- ldr r0, [r2, r1, lsl #2] @ r0<- resolved InstField ptr
- cmp r0, #0 @ is resolved entry null?
- bne .LOP_IGET_BYTE_JUMBO_finish @ no, already resolved
-8: ldr r2, [rSELF, #offThread_method] @ r2<- current method
- EXPORT_PC() @ resolve() could throw
- ldr r0, [r2, #offMethod_clazz] @ r0<- method->clazz
- bl dvmResolveInstField @ r0<- resolved InstField ptr
- b .LOP_IGET_BYTE_JUMBO_resolved @ resolved, continue
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_IGET_CHAR_JUMBO: /* 0x10b */
-/* File: armv5te/OP_IGET_CHAR_JUMBO.S */
-@include "armv5te/OP_IGET_JUMBO.S" { "load":"ldrh", "sqnum":"3" }
-/* File: armv5te/OP_IGET_JUMBO.S */
- /*
- * Jumbo 32-bit instance field get.
- *
- * for: iget/jumbo, iget-object/jumbo, iget-boolean/jumbo, iget-byte/jumbo,
- * iget-char/jumbo, iget-short/jumbo
- */
- /* exop vBBBB, vCCCC, field@AAAAAAAA */
- FETCH(r1, 1) @ r1<- aaaa (lo)
- FETCH(r2, 2) @ r2<- AAAA (hi)
- FETCH(r0, 4) @ r0<- CCCC
- ldr r3, [rSELF, #offThread_methodClassDex] @ r3<- DvmDex
- orr r1, r1, r2, lsl #16 @ r1<- AAAAaaaa
- ldr r2, [r3, #offDvmDex_pResFields] @ r2<- pDvmDex->pResFields
- GET_VREG(r9, r0) @ r9<- fp[CCCC], the object pointer
- ldr r0, [r2, r1, lsl #2] @ r0<- resolved InstField ptr
- cmp r0, #0 @ is resolved entry null?
- bne .LOP_IGET_CHAR_JUMBO_finish @ no, already resolved
-8: ldr r2, [rSELF, #offThread_method] @ r2<- current method
- EXPORT_PC() @ resolve() could throw
- ldr r0, [r2, #offMethod_clazz] @ r0<- method->clazz
- bl dvmResolveInstField @ r0<- resolved InstField ptr
- b .LOP_IGET_CHAR_JUMBO_resolved @ resolved, continue
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_IGET_SHORT_JUMBO: /* 0x10c */
-/* File: armv5te/OP_IGET_SHORT_JUMBO.S */
-@include "armv5te/OP_IGET_JUMBO.S" { "load":"ldrsh", "sqnum":"4" }
-/* File: armv5te/OP_IGET_JUMBO.S */
- /*
- * Jumbo 32-bit instance field get.
- *
- * for: iget/jumbo, iget-object/jumbo, iget-boolean/jumbo, iget-byte/jumbo,
- * iget-char/jumbo, iget-short/jumbo
- */
- /* exop vBBBB, vCCCC, field@AAAAAAAA */
- FETCH(r1, 1) @ r1<- aaaa (lo)
- FETCH(r2, 2) @ r2<- AAAA (hi)
- FETCH(r0, 4) @ r0<- CCCC
- ldr r3, [rSELF, #offThread_methodClassDex] @ r3<- DvmDex
- orr r1, r1, r2, lsl #16 @ r1<- AAAAaaaa
- ldr r2, [r3, #offDvmDex_pResFields] @ r2<- pDvmDex->pResFields
- GET_VREG(r9, r0) @ r9<- fp[CCCC], the object pointer
- ldr r0, [r2, r1, lsl #2] @ r0<- resolved InstField ptr
- cmp r0, #0 @ is resolved entry null?
- bne .LOP_IGET_SHORT_JUMBO_finish @ no, already resolved
-8: ldr r2, [rSELF, #offThread_method] @ r2<- current method
- EXPORT_PC() @ resolve() could throw
- ldr r0, [r2, #offMethod_clazz] @ r0<- method->clazz
- bl dvmResolveInstField @ r0<- resolved InstField ptr
- b .LOP_IGET_SHORT_JUMBO_resolved @ resolved, continue
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_IPUT_JUMBO: /* 0x10d */
-/* File: armv5te/OP_IPUT_JUMBO.S */
- /*
- * Jumbo 32-bit instance field put.
- *
- * for: iput/jumbo, iput-boolean/jumbo, iput-byte/jumbo, iput-char/jumbo,
- * iput-short/jumbo
- */
- /* exop vBBBB, vCCCC, field@AAAAAAAA */
- FETCH(r1, 1) @ r1<- aaaa (lo)
- FETCH(r2, 2) @ r2<- AAAA (hi)
- FETCH(r0, 4) @ r0<- CCCC
- ldr r3, [rSELF, #offThread_methodClassDex] @ r3<- DvmDex
- orr r1, r1, r2, lsl #16 @ r1<- AAAAaaaa
- ldr r2, [r3, #offDvmDex_pResFields] @ r2<- pDvmDex->pResFields
- GET_VREG(r9, r0) @ r9<- fp[CCCC], the object pointer
- ldr r0, [r2, r1, lsl #2] @ r0<- resolved InstField ptr
- cmp r0, #0 @ is resolved entry null?
- bne .LOP_IPUT_JUMBO_finish @ no, already resolved
-8: ldr r2, [rSELF, #offThread_method] @ r2<- current method
- EXPORT_PC() @ resolve() could throw
- ldr r0, [r2, #offMethod_clazz] @ r0<- method->clazz
- bl dvmResolveInstField @ r0<- resolved InstField ptr
- b .LOP_IPUT_JUMBO_resolved @ resolved, continue
-
-/* ------------------------------ */
- .balign 64
-.L_OP_IPUT_WIDE_JUMBO: /* 0x10e */
-/* File: armv5te/OP_IPUT_WIDE_JUMBO.S */
- /* iput-wide/jumbo vBBBB, vCCCC, field@AAAAAAAA */
- FETCH(r1, 1) @ r1<- aaaa (lo)
- FETCH(r2, 2) @ r2<- AAAA (hi)
- FETCH(r0, 4) @ r0<- CCCC
- ldr r3, [rSELF, #offThread_methodClassDex] @ r3<- DvmDex
- orr r1, r1, r2, lsl #16 @ r1<- AAAAaaaa
- ldr r2, [r3, #offDvmDex_pResFields] @ r2<- pResFields
- GET_VREG(r9, r0) @ r9<- fp[B], the object pointer
- ldr r0, [r2, r1, lsl #2] @ r0<- resolved InstField ptr
- cmp r0, #0 @ is resolved entry null?
- bne .LOP_IPUT_WIDE_JUMBO_finish @ no, already resolved
-8: ldr r2, [rSELF, #offThread_method] @ r2<- current method
- EXPORT_PC() @ resolve() could throw
- ldr r0, [r2, #offMethod_clazz] @ r0<- method->clazz
- bl dvmResolveInstField @ r0<- resolved InstField ptr
- b .LOP_IPUT_WIDE_JUMBO_resolved @ resolved, continue
-
-/* ------------------------------ */
- .balign 64
-.L_OP_IPUT_OBJECT_JUMBO: /* 0x10f */
-/* File: armv5te/OP_IPUT_OBJECT_JUMBO.S */
- /*
- * Jumbo 32-bit instance field put.
- */
- /* iput-object/jumbo vBBBB, vCCCC, field@AAAAAAAA */
- FETCH(r1, 1) @ r1<- aaaa (lo)
- FETCH(r2, 2) @ r2<- AAAA (hi)
- FETCH(r0, 4) @ r0<- CCCC
- ldr r3, [rSELF, #offThread_methodClassDex] @ r3<- DvmDex
- orr r1, r1, r2, lsl #16 @ r1<- AAAAaaaa
- ldr r2, [r3, #offDvmDex_pResFields] @ r2<- pDvmDex->pResFields
- GET_VREG(r9, r0) @ r9<- fp[CCCC], the object pointer
- ldr r0, [r2, r1, lsl #2] @ r0<- resolved InstField ptr
- cmp r0, #0 @ is resolved entry null?
- bne .LOP_IPUT_OBJECT_JUMBO_finish @ no, already resolved
-8: ldr r2, [rSELF, #offThread_method] @ r2<- current method
- EXPORT_PC() @ resolve() could throw
- ldr r0, [r2, #offMethod_clazz] @ r0<- method->clazz
- bl dvmResolveInstField @ r0<- resolved InstField ptr
- b .LOP_IPUT_OBJECT_JUMBO_resolved @ resolved, continue
-
-/* ------------------------------ */
- .balign 64
-.L_OP_IPUT_BOOLEAN_JUMBO: /* 0x110 */
-/* File: armv5te/OP_IPUT_BOOLEAN_JUMBO.S */
-@include "armv5te/OP_IPUT_JUMBO.S" { "store":"strb", "sqnum":"1" }
-/* File: armv5te/OP_IPUT_JUMBO.S */
- /*
- * Jumbo 32-bit instance field put.
- *
- * for: iput/jumbo, iput-boolean/jumbo, iput-byte/jumbo, iput-char/jumbo,
- * iput-short/jumbo
- */
- /* exop vBBBB, vCCCC, field@AAAAAAAA */
- FETCH(r1, 1) @ r1<- aaaa (lo)
- FETCH(r2, 2) @ r2<- AAAA (hi)
- FETCH(r0, 4) @ r0<- CCCC
- ldr r3, [rSELF, #offThread_methodClassDex] @ r3<- DvmDex
- orr r1, r1, r2, lsl #16 @ r1<- AAAAaaaa
- ldr r2, [r3, #offDvmDex_pResFields] @ r2<- pDvmDex->pResFields
- GET_VREG(r9, r0) @ r9<- fp[CCCC], the object pointer
- ldr r0, [r2, r1, lsl #2] @ r0<- resolved InstField ptr
- cmp r0, #0 @ is resolved entry null?
- bne .LOP_IPUT_BOOLEAN_JUMBO_finish @ no, already resolved
-8: ldr r2, [rSELF, #offThread_method] @ r2<- current method
- EXPORT_PC() @ resolve() could throw
- ldr r0, [r2, #offMethod_clazz] @ r0<- method->clazz
- bl dvmResolveInstField @ r0<- resolved InstField ptr
- b .LOP_IPUT_BOOLEAN_JUMBO_resolved @ resolved, continue
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_IPUT_BYTE_JUMBO: /* 0x111 */
-/* File: armv5te/OP_IPUT_BYTE_JUMBO.S */
-@include "armv5te/OP_IPUT_JUMBO.S" { "store":"strb", "sqnum":"2" }
-/* File: armv5te/OP_IPUT_JUMBO.S */
- /*
- * Jumbo 32-bit instance field put.
- *
- * for: iput/jumbo, iput-boolean/jumbo, iput-byte/jumbo, iput-char/jumbo,
- * iput-short/jumbo
- */
- /* exop vBBBB, vCCCC, field@AAAAAAAA */
- FETCH(r1, 1) @ r1<- aaaa (lo)
- FETCH(r2, 2) @ r2<- AAAA (hi)
- FETCH(r0, 4) @ r0<- CCCC
- ldr r3, [rSELF, #offThread_methodClassDex] @ r3<- DvmDex
- orr r1, r1, r2, lsl #16 @ r1<- AAAAaaaa
- ldr r2, [r3, #offDvmDex_pResFields] @ r2<- pDvmDex->pResFields
- GET_VREG(r9, r0) @ r9<- fp[CCCC], the object pointer
- ldr r0, [r2, r1, lsl #2] @ r0<- resolved InstField ptr
- cmp r0, #0 @ is resolved entry null?
- bne .LOP_IPUT_BYTE_JUMBO_finish @ no, already resolved
-8: ldr r2, [rSELF, #offThread_method] @ r2<- current method
- EXPORT_PC() @ resolve() could throw
- ldr r0, [r2, #offMethod_clazz] @ r0<- method->clazz
- bl dvmResolveInstField @ r0<- resolved InstField ptr
- b .LOP_IPUT_BYTE_JUMBO_resolved @ resolved, continue
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_IPUT_CHAR_JUMBO: /* 0x112 */
-/* File: armv5te/OP_IPUT_CHAR_JUMBO.S */
-@include "armv5te/OP_IPUT_JUMBO.S" { "store":"strh", "sqnum":"3" }
-/* File: armv5te/OP_IPUT_JUMBO.S */
- /*
- * Jumbo 32-bit instance field put.
- *
- * for: iput/jumbo, iput-boolean/jumbo, iput-byte/jumbo, iput-char/jumbo,
- * iput-short/jumbo
- */
- /* exop vBBBB, vCCCC, field@AAAAAAAA */
- FETCH(r1, 1) @ r1<- aaaa (lo)
- FETCH(r2, 2) @ r2<- AAAA (hi)
- FETCH(r0, 4) @ r0<- CCCC
- ldr r3, [rSELF, #offThread_methodClassDex] @ r3<- DvmDex
- orr r1, r1, r2, lsl #16 @ r1<- AAAAaaaa
- ldr r2, [r3, #offDvmDex_pResFields] @ r2<- pDvmDex->pResFields
- GET_VREG(r9, r0) @ r9<- fp[CCCC], the object pointer
- ldr r0, [r2, r1, lsl #2] @ r0<- resolved InstField ptr
- cmp r0, #0 @ is resolved entry null?
- bne .LOP_IPUT_CHAR_JUMBO_finish @ no, already resolved
-8: ldr r2, [rSELF, #offThread_method] @ r2<- current method
- EXPORT_PC() @ resolve() could throw
- ldr r0, [r2, #offMethod_clazz] @ r0<- method->clazz
- bl dvmResolveInstField @ r0<- resolved InstField ptr
- b .LOP_IPUT_CHAR_JUMBO_resolved @ resolved, continue
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_IPUT_SHORT_JUMBO: /* 0x113 */
-/* File: armv5te/OP_IPUT_SHORT_JUMBO.S */
-@include "armv5te/OP_IPUT_JUMBO.S" { "store":"strh", "sqnum":"4" }
-/* File: armv5te/OP_IPUT_JUMBO.S */
- /*
- * Jumbo 32-bit instance field put.
- *
- * for: iput/jumbo, iput-boolean/jumbo, iput-byte/jumbo, iput-char/jumbo,
- * iput-short/jumbo
- */
- /* exop vBBBB, vCCCC, field@AAAAAAAA */
- FETCH(r1, 1) @ r1<- aaaa (lo)
- FETCH(r2, 2) @ r2<- AAAA (hi)
- FETCH(r0, 4) @ r0<- CCCC
- ldr r3, [rSELF, #offThread_methodClassDex] @ r3<- DvmDex
- orr r1, r1, r2, lsl #16 @ r1<- AAAAaaaa
- ldr r2, [r3, #offDvmDex_pResFields] @ r2<- pDvmDex->pResFields
- GET_VREG(r9, r0) @ r9<- fp[CCCC], the object pointer
- ldr r0, [r2, r1, lsl #2] @ r0<- resolved InstField ptr
- cmp r0, #0 @ is resolved entry null?
- bne .LOP_IPUT_SHORT_JUMBO_finish @ no, already resolved
-8: ldr r2, [rSELF, #offThread_method] @ r2<- current method
- EXPORT_PC() @ resolve() could throw
- ldr r0, [r2, #offMethod_clazz] @ r0<- method->clazz
- bl dvmResolveInstField @ r0<- resolved InstField ptr
- b .LOP_IPUT_SHORT_JUMBO_resolved @ resolved, continue
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_SGET_JUMBO: /* 0x114 */
-/* File: armv5te/OP_SGET_JUMBO.S */
- /*
- * Jumbo 32-bit SGET handler.
- *
- * for: sget/jumbo, sget-object/jumbo, sget-boolean/jumbo, sget-byte/jumbo,
- * sget-char/jumbo, sget-short/jumbo
- */
- /* exop vBBBB, field@AAAAAAAA */
- ldr r2, [rSELF, #offThread_methodClassDex] @ r2<- DvmDex
- FETCH(r0, 1) @ r0<- aaaa (lo)
- FETCH(r1, 2) @ r1<- AAAA (hi)
- ldr r10, [r2, #offDvmDex_pResFields] @ r10<- dvmDex->pResFields
- orr r1, r0, r1, lsl #16 @ r1<- AAAAaaaa
- ldr r0, [r10, r1, lsl #2] @ r0<- resolved StaticField ptr
- cmp r0, #0 @ is resolved entry null?
- beq .LOP_SGET_JUMBO_resolve @ yes, do resolve
-.LOP_SGET_JUMBO_finish: @ field ptr in r0
- ldr r1, [r0, #offStaticField_value] @ r1<- field value
- @ no-op @ acquiring load
- FETCH(r2, 3) @ r2<- BBBB
- FETCH_ADVANCE_INST(4) @ advance rPC, load rINST
- SET_VREG(r1, r2) @ fp[BBBB]<- r1
- GET_INST_OPCODE(ip) @ extract opcode from rINST
- GOTO_OPCODE(ip) @ jump to next instruction
-
-/* ------------------------------ */
- .balign 64
-.L_OP_SGET_WIDE_JUMBO: /* 0x115 */
-/* File: armv5te/OP_SGET_WIDE_JUMBO.S */
- /*
- * Jumbo 64-bit SGET handler.
- */
- /* sget-wide/jumbo vBBBB, field@AAAAAAAA */
- ldr r2, [rSELF, #offThread_methodClassDex] @ r2<- DvmDex
- FETCH(r0, 1) @ r0<- aaaa (lo)
- FETCH(r1, 2) @ r1<- AAAA (hi)
- ldr r2, [r2, #offDvmDex_pResFields] @ r2<- dvmDex->pResFields
- orr r1, r0, r1, lsl #16 @ r1<- AAAAaaaa
- ldr r0, [r2, r1, lsl #2] @ r0<- resolved StaticField ptr
- cmp r0, #0 @ is resolved entry null?
- beq .LOP_SGET_WIDE_JUMBO_resolve @ yes, do resolve
-.LOP_SGET_WIDE_JUMBO_finish:
- FETCH(r9, 3) @ r9<- BBBB
- .if 0
- add r0, r0, #offStaticField_value @ r0<- pointer to data
- bl dvmQuasiAtomicRead64 @ r0/r1<- contents of field
- .else
- ldrd r0, [r0, #offStaticField_value] @ r0/r1<- field value (aligned)
- .endif
- add r9, rFP, r9, lsl #2 @ r9<- &fp[BBBB]
- FETCH_ADVANCE_INST(4) @ advance rPC, load rINST
- stmia r9, {r0-r1} @ vBBBB/vBBBB+1<- r0/r1
- GET_INST_OPCODE(ip) @ extract opcode from rINST
- GOTO_OPCODE(ip) @ jump to next instruction
-
-/* ------------------------------ */
- .balign 64
-.L_OP_SGET_OBJECT_JUMBO: /* 0x116 */
-/* File: armv5te/OP_SGET_OBJECT_JUMBO.S */
-/* File: armv5te/OP_SGET_JUMBO.S */
- /*
- * Jumbo 32-bit SGET handler.
- *
- * for: sget/jumbo, sget-object/jumbo, sget-boolean/jumbo, sget-byte/jumbo,
- * sget-char/jumbo, sget-short/jumbo
- */
- /* exop vBBBB, field@AAAAAAAA */
- ldr r2, [rSELF, #offThread_methodClassDex] @ r2<- DvmDex
- FETCH(r0, 1) @ r0<- aaaa (lo)
- FETCH(r1, 2) @ r1<- AAAA (hi)
- ldr r10, [r2, #offDvmDex_pResFields] @ r10<- dvmDex->pResFields
- orr r1, r0, r1, lsl #16 @ r1<- AAAAaaaa
- ldr r0, [r10, r1, lsl #2] @ r0<- resolved StaticField ptr
- cmp r0, #0 @ is resolved entry null?
- beq .LOP_SGET_OBJECT_JUMBO_resolve @ yes, do resolve
-.LOP_SGET_OBJECT_JUMBO_finish: @ field ptr in r0
- ldr r1, [r0, #offStaticField_value] @ r1<- field value
- @ no-op @ acquiring load
- FETCH(r2, 3) @ r2<- BBBB
- FETCH_ADVANCE_INST(4) @ advance rPC, load rINST
- SET_VREG(r1, r2) @ fp[BBBB]<- r1
- GET_INST_OPCODE(ip) @ extract opcode from rINST
- GOTO_OPCODE(ip) @ jump to next instruction
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_SGET_BOOLEAN_JUMBO: /* 0x117 */
-/* File: armv5te/OP_SGET_BOOLEAN_JUMBO.S */
-/* File: armv5te/OP_SGET_JUMBO.S */
- /*
- * Jumbo 32-bit SGET handler.
- *
- * for: sget/jumbo, sget-object/jumbo, sget-boolean/jumbo, sget-byte/jumbo,
- * sget-char/jumbo, sget-short/jumbo
- */
- /* exop vBBBB, field@AAAAAAAA */
- ldr r2, [rSELF, #offThread_methodClassDex] @ r2<- DvmDex
- FETCH(r0, 1) @ r0<- aaaa (lo)
- FETCH(r1, 2) @ r1<- AAAA (hi)
- ldr r10, [r2, #offDvmDex_pResFields] @ r10<- dvmDex->pResFields
- orr r1, r0, r1, lsl #16 @ r1<- AAAAaaaa
- ldr r0, [r10, r1, lsl #2] @ r0<- resolved StaticField ptr
- cmp r0, #0 @ is resolved entry null?
- beq .LOP_SGET_BOOLEAN_JUMBO_resolve @ yes, do resolve
-.LOP_SGET_BOOLEAN_JUMBO_finish: @ field ptr in r0
- ldr r1, [r0, #offStaticField_value] @ r1<- field value
- @ no-op @ acquiring load
- FETCH(r2, 3) @ r2<- BBBB
- FETCH_ADVANCE_INST(4) @ advance rPC, load rINST
- SET_VREG(r1, r2) @ fp[BBBB]<- r1
- GET_INST_OPCODE(ip) @ extract opcode from rINST
- GOTO_OPCODE(ip) @ jump to next instruction
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_SGET_BYTE_JUMBO: /* 0x118 */
-/* File: armv5te/OP_SGET_BYTE_JUMBO.S */
-/* File: armv5te/OP_SGET_JUMBO.S */
- /*
- * Jumbo 32-bit SGET handler.
- *
- * for: sget/jumbo, sget-object/jumbo, sget-boolean/jumbo, sget-byte/jumbo,
- * sget-char/jumbo, sget-short/jumbo
- */
- /* exop vBBBB, field@AAAAAAAA */
- ldr r2, [rSELF, #offThread_methodClassDex] @ r2<- DvmDex
- FETCH(r0, 1) @ r0<- aaaa (lo)
- FETCH(r1, 2) @ r1<- AAAA (hi)
- ldr r10, [r2, #offDvmDex_pResFields] @ r10<- dvmDex->pResFields
- orr r1, r0, r1, lsl #16 @ r1<- AAAAaaaa
- ldr r0, [r10, r1, lsl #2] @ r0<- resolved StaticField ptr
- cmp r0, #0 @ is resolved entry null?
- beq .LOP_SGET_BYTE_JUMBO_resolve @ yes, do resolve
-.LOP_SGET_BYTE_JUMBO_finish: @ field ptr in r0
- ldr r1, [r0, #offStaticField_value] @ r1<- field value
- @ no-op @ acquiring load
- FETCH(r2, 3) @ r2<- BBBB
- FETCH_ADVANCE_INST(4) @ advance rPC, load rINST
- SET_VREG(r1, r2) @ fp[BBBB]<- r1
- GET_INST_OPCODE(ip) @ extract opcode from rINST
- GOTO_OPCODE(ip) @ jump to next instruction
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_SGET_CHAR_JUMBO: /* 0x119 */
-/* File: armv5te/OP_SGET_CHAR_JUMBO.S */
-/* File: armv5te/OP_SGET_JUMBO.S */
- /*
- * Jumbo 32-bit SGET handler.
- *
- * for: sget/jumbo, sget-object/jumbo, sget-boolean/jumbo, sget-byte/jumbo,
- * sget-char/jumbo, sget-short/jumbo
- */
- /* exop vBBBB, field@AAAAAAAA */
- ldr r2, [rSELF, #offThread_methodClassDex] @ r2<- DvmDex
- FETCH(r0, 1) @ r0<- aaaa (lo)
- FETCH(r1, 2) @ r1<- AAAA (hi)
- ldr r10, [r2, #offDvmDex_pResFields] @ r10<- dvmDex->pResFields
- orr r1, r0, r1, lsl #16 @ r1<- AAAAaaaa
- ldr r0, [r10, r1, lsl #2] @ r0<- resolved StaticField ptr
- cmp r0, #0 @ is resolved entry null?
- beq .LOP_SGET_CHAR_JUMBO_resolve @ yes, do resolve
-.LOP_SGET_CHAR_JUMBO_finish: @ field ptr in r0
- ldr r1, [r0, #offStaticField_value] @ r1<- field value
- @ no-op @ acquiring load
- FETCH(r2, 3) @ r2<- BBBB
- FETCH_ADVANCE_INST(4) @ advance rPC, load rINST
- SET_VREG(r1, r2) @ fp[BBBB]<- r1
- GET_INST_OPCODE(ip) @ extract opcode from rINST
- GOTO_OPCODE(ip) @ jump to next instruction
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_SGET_SHORT_JUMBO: /* 0x11a */
-/* File: armv5te/OP_SGET_SHORT_JUMBO.S */
-/* File: armv5te/OP_SGET_JUMBO.S */
- /*
- * Jumbo 32-bit SGET handler.
- *
- * for: sget/jumbo, sget-object/jumbo, sget-boolean/jumbo, sget-byte/jumbo,
- * sget-char/jumbo, sget-short/jumbo
- */
- /* exop vBBBB, field@AAAAAAAA */
- ldr r2, [rSELF, #offThread_methodClassDex] @ r2<- DvmDex
- FETCH(r0, 1) @ r0<- aaaa (lo)
- FETCH(r1, 2) @ r1<- AAAA (hi)
- ldr r10, [r2, #offDvmDex_pResFields] @ r10<- dvmDex->pResFields
- orr r1, r0, r1, lsl #16 @ r1<- AAAAaaaa
- ldr r0, [r10, r1, lsl #2] @ r0<- resolved StaticField ptr
- cmp r0, #0 @ is resolved entry null?
- beq .LOP_SGET_SHORT_JUMBO_resolve @ yes, do resolve
-.LOP_SGET_SHORT_JUMBO_finish: @ field ptr in r0
- ldr r1, [r0, #offStaticField_value] @ r1<- field value
- @ no-op @ acquiring load
- FETCH(r2, 3) @ r2<- BBBB
- FETCH_ADVANCE_INST(4) @ advance rPC, load rINST
- SET_VREG(r1, r2) @ fp[BBBB]<- r1
- GET_INST_OPCODE(ip) @ extract opcode from rINST
- GOTO_OPCODE(ip) @ jump to next instruction
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_SPUT_JUMBO: /* 0x11b */
-/* File: armv5te/OP_SPUT_JUMBO.S */
- /*
- * Jumbo 32-bit SPUT handler.
- *
- * for: sput/jumbo, sput-boolean/jumbo, sput-byte/jumbo, sput-char/jumbo,
- * sput-short/jumbo
- */
- /* exop vBBBB, field@AAAAAAAA */
- ldr r2, [rSELF, #offThread_methodClassDex] @ r2<- DvmDex
- FETCH(r0, 1) @ r0<- aaaa (lo)
- FETCH(r1, 2) @ r1<- AAAA (hi)
- ldr r10, [r2, #offDvmDex_pResFields] @ r10<- dvmDex->pResFields
- orr r1, r0, r1, lsl #16 @ r1<- AAAAaaaa
- ldr r0, [r10, r1, lsl #2] @ r0<- resolved StaticField ptr
- cmp r0, #0 @ is resolved entry null?
- beq .LOP_SPUT_JUMBO_resolve @ yes, do resolve
-.LOP_SPUT_JUMBO_finish: @ field ptr in r0
- FETCH(r2, 3) @ r2<- BBBB
- FETCH_ADVANCE_INST(4) @ advance rPC, load rINST
- GET_VREG(r1, r2) @ r1<- fp[BBBB]
- GET_INST_OPCODE(ip) @ extract opcode from rINST
- @ no-op @ releasing store
- str r1, [r0, #offStaticField_value] @ field<- vBBBB
- @ no-op
- GOTO_OPCODE(ip) @ jump to next instruction
-
-/* ------------------------------ */
- .balign 64
-.L_OP_SPUT_WIDE_JUMBO: /* 0x11c */
-/* File: armv5te/OP_SPUT_WIDE_JUMBO.S */
- /*
- * Jumbo 64-bit SPUT handler.
- */
- /* sput-wide/jumbo vBBBB, field@AAAAAAAA */
- ldr r0, [rSELF, #offThread_methodClassDex] @ r0<- DvmDex
- FETCH(r1, 1) @ r1<- aaaa (lo)
- FETCH(r2, 2) @ r2<- AAAA (hi)
- ldr r10, [r0, #offDvmDex_pResFields] @ r10<- dvmDex->pResFields
- orr r1, r1, r2, lsl #16 @ r1<- AAAAaaaa
- FETCH(r9, 3) @ r9<- BBBB
- ldr r2, [r10, r1, lsl #2] @ r2<- resolved StaticField ptr
- add r9, rFP, r9, lsl #2 @ r9<- &fp[BBBB]
- cmp r2, #0 @ is resolved entry null?
- beq .LOP_SPUT_WIDE_JUMBO_resolve @ yes, do resolve
-.LOP_SPUT_WIDE_JUMBO_finish: @ field ptr in r2, BBBB in r9
- FETCH_ADVANCE_INST(4) @ advance rPC, load rINST
- ldmia r9, {r0-r1} @ r0/r1<- vBBBB/vBBBB+1
- GET_INST_OPCODE(r10) @ extract opcode from rINST
- .if 0
- add r2, r2, #offStaticField_value @ r2<- pointer to data
- bl dvmQuasiAtomicSwap64Sync @ stores r0/r1 into addr r2
- .else
- strd r0, [r2, #offStaticField_value] @ field<- vBBBB/vBBBB+1
- .endif
- GOTO_OPCODE(r10) @ jump to next instruction
-
-/* ------------------------------ */
- .balign 64
-.L_OP_SPUT_OBJECT_JUMBO: /* 0x11d */
-/* File: armv5te/OP_SPUT_OBJECT_JUMBO.S */
- /*
- * Jumbo 32-bit SPUT handler for objects
- */
- /* sput-object/jumbo vBBBB, field@AAAAAAAA */
- ldr r2, [rSELF, #offThread_methodClassDex] @ r2<- DvmDex
- FETCH(r0, 1) @ r0<- aaaa (lo)
- FETCH(r1, 2) @ r1<- AAAA (hi)
- ldr r10, [r2, #offDvmDex_pResFields] @ r10<- dvmDex->pResFields
- orr r1, r0, r1, lsl #16 @ r1<- AAAAaaaa
- ldr r0, [r10, r1, lsl #2] @ r0<- resolved StaticField ptr
- cmp r0, #0 @ is resolved entry null?
- beq .LOP_SPUT_OBJECT_JUMBO_resolve @ yes, do resolve
-.LOP_SPUT_OBJECT_JUMBO_finish: @ field ptr in r0
- FETCH(r2, 3) @ r2<- BBBB
- FETCH_ADVANCE_INST(4) @ advance rPC, load rINST
- GET_VREG(r1, r2) @ r1<- fp[BBBB]
- ldr r2, [rSELF, #offThread_cardTable] @ r2<- card table base
- ldr r9, [r0, #offField_clazz] @ r9<- field->clazz
- GET_INST_OPCODE(ip) @ extract opcode from rINST
- @ no-op @ releasing store
- b .LOP_SPUT_OBJECT_JUMBO_end
-
-/* ------------------------------ */
- .balign 64
-.L_OP_SPUT_BOOLEAN_JUMBO: /* 0x11e */
-/* File: armv5te/OP_SPUT_BOOLEAN_JUMBO.S */
-/* File: armv5te/OP_SPUT_JUMBO.S */
- /*
- * Jumbo 32-bit SPUT handler.
- *
- * for: sput/jumbo, sput-boolean/jumbo, sput-byte/jumbo, sput-char/jumbo,
- * sput-short/jumbo
- */
- /* exop vBBBB, field@AAAAAAAA */
- ldr r2, [rSELF, #offThread_methodClassDex] @ r2<- DvmDex
- FETCH(r0, 1) @ r0<- aaaa (lo)
- FETCH(r1, 2) @ r1<- AAAA (hi)
- ldr r10, [r2, #offDvmDex_pResFields] @ r10<- dvmDex->pResFields
- orr r1, r0, r1, lsl #16 @ r1<- AAAAaaaa
- ldr r0, [r10, r1, lsl #2] @ r0<- resolved StaticField ptr
- cmp r0, #0 @ is resolved entry null?
- beq .LOP_SPUT_BOOLEAN_JUMBO_resolve @ yes, do resolve
-.LOP_SPUT_BOOLEAN_JUMBO_finish: @ field ptr in r0
- FETCH(r2, 3) @ r2<- BBBB
- FETCH_ADVANCE_INST(4) @ advance rPC, load rINST
- GET_VREG(r1, r2) @ r1<- fp[BBBB]
- GET_INST_OPCODE(ip) @ extract opcode from rINST
- @ no-op @ releasing store
- str r1, [r0, #offStaticField_value] @ field<- vBBBB
- @ no-op
- GOTO_OPCODE(ip) @ jump to next instruction
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_SPUT_BYTE_JUMBO: /* 0x11f */
-/* File: armv5te/OP_SPUT_BYTE_JUMBO.S */
-/* File: armv5te/OP_SPUT_JUMBO.S */
- /*
- * Jumbo 32-bit SPUT handler.
- *
- * for: sput/jumbo, sput-boolean/jumbo, sput-byte/jumbo, sput-char/jumbo,
- * sput-short/jumbo
- */
- /* exop vBBBB, field@AAAAAAAA */
- ldr r2, [rSELF, #offThread_methodClassDex] @ r2<- DvmDex
- FETCH(r0, 1) @ r0<- aaaa (lo)
- FETCH(r1, 2) @ r1<- AAAA (hi)
- ldr r10, [r2, #offDvmDex_pResFields] @ r10<- dvmDex->pResFields
- orr r1, r0, r1, lsl #16 @ r1<- AAAAaaaa
- ldr r0, [r10, r1, lsl #2] @ r0<- resolved StaticField ptr
- cmp r0, #0 @ is resolved entry null?
- beq .LOP_SPUT_BYTE_JUMBO_resolve @ yes, do resolve
-.LOP_SPUT_BYTE_JUMBO_finish: @ field ptr in r0
- FETCH(r2, 3) @ r2<- BBBB
- FETCH_ADVANCE_INST(4) @ advance rPC, load rINST
- GET_VREG(r1, r2) @ r1<- fp[BBBB]
- GET_INST_OPCODE(ip) @ extract opcode from rINST
- @ no-op @ releasing store
- str r1, [r0, #offStaticField_value] @ field<- vBBBB
- @ no-op
- GOTO_OPCODE(ip) @ jump to next instruction
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_SPUT_CHAR_JUMBO: /* 0x120 */
-/* File: armv5te/OP_SPUT_CHAR_JUMBO.S */
-/* File: armv5te/OP_SPUT_JUMBO.S */
- /*
- * Jumbo 32-bit SPUT handler.
- *
- * for: sput/jumbo, sput-boolean/jumbo, sput-byte/jumbo, sput-char/jumbo,
- * sput-short/jumbo
- */
- /* exop vBBBB, field@AAAAAAAA */
- ldr r2, [rSELF, #offThread_methodClassDex] @ r2<- DvmDex
- FETCH(r0, 1) @ r0<- aaaa (lo)
- FETCH(r1, 2) @ r1<- AAAA (hi)
- ldr r10, [r2, #offDvmDex_pResFields] @ r10<- dvmDex->pResFields
- orr r1, r0, r1, lsl #16 @ r1<- AAAAaaaa
- ldr r0, [r10, r1, lsl #2] @ r0<- resolved StaticField ptr
- cmp r0, #0 @ is resolved entry null?
- beq .LOP_SPUT_CHAR_JUMBO_resolve @ yes, do resolve
-.LOP_SPUT_CHAR_JUMBO_finish: @ field ptr in r0
- FETCH(r2, 3) @ r2<- BBBB
- FETCH_ADVANCE_INST(4) @ advance rPC, load rINST
- GET_VREG(r1, r2) @ r1<- fp[BBBB]
- GET_INST_OPCODE(ip) @ extract opcode from rINST
- @ no-op @ releasing store
- str r1, [r0, #offStaticField_value] @ field<- vBBBB
- @ no-op
- GOTO_OPCODE(ip) @ jump to next instruction
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_SPUT_SHORT_JUMBO: /* 0x121 */
-/* File: armv5te/OP_SPUT_SHORT_JUMBO.S */
-/* File: armv5te/OP_SPUT_JUMBO.S */
- /*
- * Jumbo 32-bit SPUT handler.
- *
- * for: sput/jumbo, sput-boolean/jumbo, sput-byte/jumbo, sput-char/jumbo,
- * sput-short/jumbo
- */
- /* exop vBBBB, field@AAAAAAAA */
- ldr r2, [rSELF, #offThread_methodClassDex] @ r2<- DvmDex
- FETCH(r0, 1) @ r0<- aaaa (lo)
- FETCH(r1, 2) @ r1<- AAAA (hi)
- ldr r10, [r2, #offDvmDex_pResFields] @ r10<- dvmDex->pResFields
- orr r1, r0, r1, lsl #16 @ r1<- AAAAaaaa
- ldr r0, [r10, r1, lsl #2] @ r0<- resolved StaticField ptr
- cmp r0, #0 @ is resolved entry null?
- beq .LOP_SPUT_SHORT_JUMBO_resolve @ yes, do resolve
-.LOP_SPUT_SHORT_JUMBO_finish: @ field ptr in r0
- FETCH(r2, 3) @ r2<- BBBB
- FETCH_ADVANCE_INST(4) @ advance rPC, load rINST
- GET_VREG(r1, r2) @ r1<- fp[BBBB]
- GET_INST_OPCODE(ip) @ extract opcode from rINST
- @ no-op @ releasing store
- str r1, [r0, #offStaticField_value] @ field<- vBBBB
- @ no-op
- GOTO_OPCODE(ip) @ jump to next instruction
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_INVOKE_VIRTUAL_JUMBO: /* 0x122 */
-/* File: armv5te/OP_INVOKE_VIRTUAL_JUMBO.S */
- /*
- * Handle a virtual method call.
- */
- /* invoke-virtual/jumbo {vCCCC..v(CCCC+BBBB-1)}, meth@AAAAAAAA */
- ldr r3, [rSELF, #offThread_methodClassDex] @ r3<- pDvmDex
- FETCH(r0, 1) @ r1<- aaaa (lo)
- FETCH(r1, 2) @ r1<- AAAA (hi)
- ldr r3, [r3, #offDvmDex_pResMethods] @ r3<- pDvmDex->pResMethods
- orr r1, r0, r1, lsl #16 @ r1<- AAAAaaaa
- ldr r0, [r3, r1, lsl #2] @ r0<- resolved baseMethod
- cmp r0, #0 @ already resolved?
- EXPORT_PC() @ must export for invoke
- bne .LOP_INVOKE_VIRTUAL_JUMBO_continue @ yes, continue on
- ldr r3, [rSELF, #offThread_method] @ r3<- self->method
- ldr r0, [r3, #offMethod_clazz] @ r0<- method->clazz
- mov r2, #METHOD_VIRTUAL @ resolver method type
- bl dvmResolveMethod @ r0<- call(clazz, ref, flags)
- cmp r0, #0 @ got null?
- bne .LOP_INVOKE_VIRTUAL_JUMBO_continue @ no, continue
- b common_exceptionThrown @ yes, handle exception
-
-/* ------------------------------ */
- .balign 64
-.L_OP_INVOKE_SUPER_JUMBO: /* 0x123 */
-/* File: armv5te/OP_INVOKE_SUPER_JUMBO.S */
- /*
- * Handle a "super" method call.
- */
- /* invoke-super/jumbo {vCCCC..v(CCCC+BBBB-1)}, meth@AAAAAAAA */
- FETCH(r10, 4) @ r10<- CCCC
- ldr r3, [rSELF, #offThread_methodClassDex] @ r3<- pDvmDex
- FETCH(r0, 1) @ r1<- aaaa (lo)
- FETCH(r1, 2) @ r1<- AAAA (hi)
- ldr r3, [r3, #offDvmDex_pResMethods] @ r3<- pDvmDex->pResMethods
- orr r1, r0, r1, lsl #16 @ r1<- AAAAaaaa
- GET_VREG(r9, r10) @ r9<- "this" ptr
- ldr r0, [r3, r1, lsl #2] @ r0<- resolved baseMethod
- cmp r9, #0 @ null "this"?
- ldr r10, [rSELF, #offThread_method] @ r10<- current method
- beq common_errNullObject @ null "this", throw exception
- cmp r0, #0 @ already resolved?
- ldr r10, [r10, #offMethod_clazz] @ r10<- method->clazz
- EXPORT_PC() @ must export for invoke
- bne .LOP_INVOKE_SUPER_JUMBO_continue @ resolved, continue on
- b .LOP_INVOKE_SUPER_JUMBO_resolve @ do resolve now
-
-/* ------------------------------ */
- .balign 64
-.L_OP_INVOKE_DIRECT_JUMBO: /* 0x124 */
-/* File: armv5te/OP_INVOKE_DIRECT_JUMBO.S */
- /*
- * Handle a direct method call.
- *
- * (We could defer the "is 'this' pointer null" test to the common
- * method invocation code, and use a flag to indicate that static
- * calls don't count. If we do this as part of copying the arguments
- * out we could avoiding loading the first arg twice.)
- *
- */
- /* invoke-direct/jumbo {vCCCC..v(CCCC+BBBB-1)}, meth@AAAAAAAA */
- ldr r3, [rSELF, #offThread_methodClassDex] @ r3<- pDvmDex
- FETCH(r0, 1) @ r1<- aaaa (lo)
- FETCH(r1, 2) @ r1<- AAAA (hi)
- ldr r3, [r3, #offDvmDex_pResMethods] @ r3<- pDvmDex->pResMethods
- orr r1, r0, r1, lsl #16 @ r1<- AAAAaaaa
- FETCH(r10, 4) @ r10<- CCCC
- ldr r0, [r3, r1, lsl #2] @ r0<- resolved methodToCall
- cmp r0, #0 @ already resolved?
- EXPORT_PC() @ must export for invoke
- GET_VREG(r9, r10) @ r9<- "this" ptr
- beq .LOP_INVOKE_DIRECT_JUMBO_resolve @ not resolved, do it now
-.LOP_INVOKE_DIRECT_JUMBO_finish:
- cmp r9, #0 @ null "this" ref?
- bne common_invokeMethodJumbo @ (r0=method, r9="this")
- b common_errNullObject @ yes, throw exception
-
-/* ------------------------------ */
- .balign 64
-.L_OP_INVOKE_STATIC_JUMBO: /* 0x125 */
-/* File: armv5te/OP_INVOKE_STATIC_JUMBO.S */
- /*
- * Handle a static method call.
- */
- /* invoke-static/jumbo {vCCCC..v(CCCC+BBBB-1)}, meth@AAAAAAAA */
- ldr r3, [rSELF, #offThread_methodClassDex] @ r3<- pDvmDex
- FETCH(r0, 1) @ r1<- aaaa (lo)
- FETCH(r1, 2) @ r1<- AAAA (hi)
- ldr r3, [r3, #offDvmDex_pResMethods] @ r3<- pDvmDex->pResMethods
- orr r1, r0, r1, lsl #16 @ r1<- AAAAaaaa
- ldr r0, [r3, r1, lsl #2] @ r0<- resolved methodToCall
-#if defined(WITH_JIT)
- add r10, r3, r1, lsl #2 @ r10<- &resolved_methodToCall
-#endif
- cmp r0, #0 @ already resolved?
- EXPORT_PC() @ must export for invoke
- bne common_invokeMethodJumboNoThis @ (r0=method)
- b .LOP_INVOKE_STATIC_JUMBO_resolve
-
-/* ------------------------------ */
- .balign 64
-.L_OP_INVOKE_INTERFACE_JUMBO: /* 0x126 */
-/* File: armv5te/OP_INVOKE_INTERFACE_JUMBO.S */
- /*
- * Handle an interface method call.
- */
- /* invoke-interface/jumbo {vCCCC..v(CCCC+BBBB-1)}, meth@AAAAAAAA */
- FETCH(r2, 4) @ r2<- CCCC
- FETCH(r0, 1) @ r0<- aaaa (lo)
- FETCH(r1, 2) @ r1<- AAAA (hi)
- EXPORT_PC() @ must export for invoke
- orr r1, r0, r1, lsl #16 @ r1<- AAAAaaaa
- GET_VREG(r9, r2) @ r9<- first arg ("this")
- ldr r3, [rSELF, #offThread_methodClassDex] @ r3<- methodClassDex
- cmp r9, #0 @ null obj?
- ldr r2, [rSELF, #offThread_method] @ r2<- method
- beq common_errNullObject @ yes, fail
- ldr r0, [r9, #offObject_clazz] @ r0<- thisPtr->clazz
- bl dvmFindInterfaceMethodInCache @ r0<- call(class, ref, method, dex)
- cmp r0, #0 @ failed?
- beq common_exceptionThrown @ yes, handle exception
- b common_invokeMethodJumbo @ (r0=method, r9="this")
-
-/* ------------------------------ */
- .balign 64
-.L_OP_UNUSED_27FF: /* 0x127 */
-/* File: armv5te/OP_UNUSED_27FF.S */
-/* File: armv5te/unused.S */
- bl common_abort
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_UNUSED_28FF: /* 0x128 */
-/* File: armv5te/OP_UNUSED_28FF.S */
-/* File: armv5te/unused.S */
- bl common_abort
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_UNUSED_29FF: /* 0x129 */
-/* File: armv5te/OP_UNUSED_29FF.S */
-/* File: armv5te/unused.S */
- bl common_abort
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_UNUSED_2AFF: /* 0x12a */
-/* File: armv5te/OP_UNUSED_2AFF.S */
-/* File: armv5te/unused.S */
- bl common_abort
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_UNUSED_2BFF: /* 0x12b */
-/* File: armv5te/OP_UNUSED_2BFF.S */
-/* File: armv5te/unused.S */
- bl common_abort
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_UNUSED_2CFF: /* 0x12c */
-/* File: armv5te/OP_UNUSED_2CFF.S */
-/* File: armv5te/unused.S */
- bl common_abort
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_UNUSED_2DFF: /* 0x12d */
-/* File: armv5te/OP_UNUSED_2DFF.S */
-/* File: armv5te/unused.S */
- bl common_abort
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_UNUSED_2EFF: /* 0x12e */
-/* File: armv5te/OP_UNUSED_2EFF.S */
-/* File: armv5te/unused.S */
- bl common_abort
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_UNUSED_2FFF: /* 0x12f */
-/* File: armv5te/OP_UNUSED_2FFF.S */
-/* File: armv5te/unused.S */
- bl common_abort
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_UNUSED_30FF: /* 0x130 */
-/* File: armv5te/OP_UNUSED_30FF.S */
-/* File: armv5te/unused.S */
- bl common_abort
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_UNUSED_31FF: /* 0x131 */
-/* File: armv5te/OP_UNUSED_31FF.S */
-/* File: armv5te/unused.S */
- bl common_abort
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_UNUSED_32FF: /* 0x132 */
-/* File: armv5te/OP_UNUSED_32FF.S */
-/* File: armv5te/unused.S */
- bl common_abort
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_UNUSED_33FF: /* 0x133 */
-/* File: armv5te/OP_UNUSED_33FF.S */
-/* File: armv5te/unused.S */
- bl common_abort
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_UNUSED_34FF: /* 0x134 */
-/* File: armv5te/OP_UNUSED_34FF.S */
-/* File: armv5te/unused.S */
- bl common_abort
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_UNUSED_35FF: /* 0x135 */
-/* File: armv5te/OP_UNUSED_35FF.S */
-/* File: armv5te/unused.S */
- bl common_abort
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_UNUSED_36FF: /* 0x136 */
-/* File: armv5te/OP_UNUSED_36FF.S */
-/* File: armv5te/unused.S */
- bl common_abort
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_UNUSED_37FF: /* 0x137 */
-/* File: armv5te/OP_UNUSED_37FF.S */
-/* File: armv5te/unused.S */
- bl common_abort
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_UNUSED_38FF: /* 0x138 */
-/* File: armv5te/OP_UNUSED_38FF.S */
-/* File: armv5te/unused.S */
- bl common_abort
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_UNUSED_39FF: /* 0x139 */
-/* File: armv5te/OP_UNUSED_39FF.S */
-/* File: armv5te/unused.S */
- bl common_abort
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_UNUSED_3AFF: /* 0x13a */
-/* File: armv5te/OP_UNUSED_3AFF.S */
-/* File: armv5te/unused.S */
- bl common_abort
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_UNUSED_3BFF: /* 0x13b */
-/* File: armv5te/OP_UNUSED_3BFF.S */
-/* File: armv5te/unused.S */
- bl common_abort
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_UNUSED_3CFF: /* 0x13c */
-/* File: armv5te/OP_UNUSED_3CFF.S */
-/* File: armv5te/unused.S */
- bl common_abort
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_UNUSED_3DFF: /* 0x13d */
-/* File: armv5te/OP_UNUSED_3DFF.S */
-/* File: armv5te/unused.S */
- bl common_abort
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_UNUSED_3EFF: /* 0x13e */
-/* File: armv5te/OP_UNUSED_3EFF.S */
-/* File: armv5te/unused.S */
- bl common_abort
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_UNUSED_3FFF: /* 0x13f */
-/* File: armv5te/OP_UNUSED_3FFF.S */
-/* File: armv5te/unused.S */
- bl common_abort
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_UNUSED_40FF: /* 0x140 */
-/* File: armv5te/OP_UNUSED_40FF.S */
-/* File: armv5te/unused.S */
- bl common_abort
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_UNUSED_41FF: /* 0x141 */
-/* File: armv5te/OP_UNUSED_41FF.S */
-/* File: armv5te/unused.S */
- bl common_abort
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_UNUSED_42FF: /* 0x142 */
-/* File: armv5te/OP_UNUSED_42FF.S */
-/* File: armv5te/unused.S */
- bl common_abort
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_UNUSED_43FF: /* 0x143 */
-/* File: armv5te/OP_UNUSED_43FF.S */
-/* File: armv5te/unused.S */
- bl common_abort
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_UNUSED_44FF: /* 0x144 */
-/* File: armv5te/OP_UNUSED_44FF.S */
-/* File: armv5te/unused.S */
- bl common_abort
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_UNUSED_45FF: /* 0x145 */
-/* File: armv5te/OP_UNUSED_45FF.S */
-/* File: armv5te/unused.S */
- bl common_abort
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_UNUSED_46FF: /* 0x146 */
-/* File: armv5te/OP_UNUSED_46FF.S */
-/* File: armv5te/unused.S */
- bl common_abort
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_UNUSED_47FF: /* 0x147 */
-/* File: armv5te/OP_UNUSED_47FF.S */
-/* File: armv5te/unused.S */
- bl common_abort
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_UNUSED_48FF: /* 0x148 */
-/* File: armv5te/OP_UNUSED_48FF.S */
-/* File: armv5te/unused.S */
- bl common_abort
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_UNUSED_49FF: /* 0x149 */
-/* File: armv5te/OP_UNUSED_49FF.S */
-/* File: armv5te/unused.S */
- bl common_abort
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_UNUSED_4AFF: /* 0x14a */
-/* File: armv5te/OP_UNUSED_4AFF.S */
-/* File: armv5te/unused.S */
- bl common_abort
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_UNUSED_4BFF: /* 0x14b */
-/* File: armv5te/OP_UNUSED_4BFF.S */
-/* File: armv5te/unused.S */
- bl common_abort
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_UNUSED_4CFF: /* 0x14c */
-/* File: armv5te/OP_UNUSED_4CFF.S */
-/* File: armv5te/unused.S */
- bl common_abort
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_UNUSED_4DFF: /* 0x14d */
-/* File: armv5te/OP_UNUSED_4DFF.S */
-/* File: armv5te/unused.S */
- bl common_abort
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_UNUSED_4EFF: /* 0x14e */
-/* File: armv5te/OP_UNUSED_4EFF.S */
-/* File: armv5te/unused.S */
- bl common_abort
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_UNUSED_4FFF: /* 0x14f */
-/* File: armv5te/OP_UNUSED_4FFF.S */
-/* File: armv5te/unused.S */
- bl common_abort
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_UNUSED_50FF: /* 0x150 */
-/* File: armv5te/OP_UNUSED_50FF.S */
-/* File: armv5te/unused.S */
- bl common_abort
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_UNUSED_51FF: /* 0x151 */
-/* File: armv5te/OP_UNUSED_51FF.S */
-/* File: armv5te/unused.S */
- bl common_abort
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_UNUSED_52FF: /* 0x152 */
-/* File: armv5te/OP_UNUSED_52FF.S */
-/* File: armv5te/unused.S */
- bl common_abort
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_UNUSED_53FF: /* 0x153 */
-/* File: armv5te/OP_UNUSED_53FF.S */
-/* File: armv5te/unused.S */
- bl common_abort
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_UNUSED_54FF: /* 0x154 */
-/* File: armv5te/OP_UNUSED_54FF.S */
-/* File: armv5te/unused.S */
- bl common_abort
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_UNUSED_55FF: /* 0x155 */
-/* File: armv5te/OP_UNUSED_55FF.S */
-/* File: armv5te/unused.S */
- bl common_abort
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_UNUSED_56FF: /* 0x156 */
-/* File: armv5te/OP_UNUSED_56FF.S */
-/* File: armv5te/unused.S */
- bl common_abort
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_UNUSED_57FF: /* 0x157 */
-/* File: armv5te/OP_UNUSED_57FF.S */
-/* File: armv5te/unused.S */
- bl common_abort
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_UNUSED_58FF: /* 0x158 */
-/* File: armv5te/OP_UNUSED_58FF.S */
-/* File: armv5te/unused.S */
- bl common_abort
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_UNUSED_59FF: /* 0x159 */
-/* File: armv5te/OP_UNUSED_59FF.S */
-/* File: armv5te/unused.S */
- bl common_abort
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_UNUSED_5AFF: /* 0x15a */
-/* File: armv5te/OP_UNUSED_5AFF.S */
-/* File: armv5te/unused.S */
- bl common_abort
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_UNUSED_5BFF: /* 0x15b */
-/* File: armv5te/OP_UNUSED_5BFF.S */
-/* File: armv5te/unused.S */
- bl common_abort
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_UNUSED_5CFF: /* 0x15c */
-/* File: armv5te/OP_UNUSED_5CFF.S */
-/* File: armv5te/unused.S */
- bl common_abort
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_UNUSED_5DFF: /* 0x15d */
-/* File: armv5te/OP_UNUSED_5DFF.S */
-/* File: armv5te/unused.S */
- bl common_abort
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_UNUSED_5EFF: /* 0x15e */
-/* File: armv5te/OP_UNUSED_5EFF.S */
-/* File: armv5te/unused.S */
- bl common_abort
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_UNUSED_5FFF: /* 0x15f */
-/* File: armv5te/OP_UNUSED_5FFF.S */
-/* File: armv5te/unused.S */
- bl common_abort
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_UNUSED_60FF: /* 0x160 */
-/* File: armv5te/OP_UNUSED_60FF.S */
-/* File: armv5te/unused.S */
- bl common_abort
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_UNUSED_61FF: /* 0x161 */
-/* File: armv5te/OP_UNUSED_61FF.S */
-/* File: armv5te/unused.S */
- bl common_abort
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_UNUSED_62FF: /* 0x162 */
-/* File: armv5te/OP_UNUSED_62FF.S */
-/* File: armv5te/unused.S */
- bl common_abort
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_UNUSED_63FF: /* 0x163 */
-/* File: armv5te/OP_UNUSED_63FF.S */
-/* File: armv5te/unused.S */
- bl common_abort
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_UNUSED_64FF: /* 0x164 */
-/* File: armv5te/OP_UNUSED_64FF.S */
-/* File: armv5te/unused.S */
- bl common_abort
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_UNUSED_65FF: /* 0x165 */
-/* File: armv5te/OP_UNUSED_65FF.S */
-/* File: armv5te/unused.S */
- bl common_abort
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_UNUSED_66FF: /* 0x166 */
-/* File: armv5te/OP_UNUSED_66FF.S */
-/* File: armv5te/unused.S */
- bl common_abort
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_UNUSED_67FF: /* 0x167 */
-/* File: armv5te/OP_UNUSED_67FF.S */
-/* File: armv5te/unused.S */
- bl common_abort
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_UNUSED_68FF: /* 0x168 */
-/* File: armv5te/OP_UNUSED_68FF.S */
-/* File: armv5te/unused.S */
- bl common_abort
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_UNUSED_69FF: /* 0x169 */
-/* File: armv5te/OP_UNUSED_69FF.S */
-/* File: armv5te/unused.S */
- bl common_abort
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_UNUSED_6AFF: /* 0x16a */
-/* File: armv5te/OP_UNUSED_6AFF.S */
-/* File: armv5te/unused.S */
- bl common_abort
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_UNUSED_6BFF: /* 0x16b */
-/* File: armv5te/OP_UNUSED_6BFF.S */
-/* File: armv5te/unused.S */
- bl common_abort
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_UNUSED_6CFF: /* 0x16c */
-/* File: armv5te/OP_UNUSED_6CFF.S */
-/* File: armv5te/unused.S */
- bl common_abort
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_UNUSED_6DFF: /* 0x16d */
-/* File: armv5te/OP_UNUSED_6DFF.S */
-/* File: armv5te/unused.S */
- bl common_abort
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_UNUSED_6EFF: /* 0x16e */
-/* File: armv5te/OP_UNUSED_6EFF.S */
-/* File: armv5te/unused.S */
- bl common_abort
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_UNUSED_6FFF: /* 0x16f */
-/* File: armv5te/OP_UNUSED_6FFF.S */
-/* File: armv5te/unused.S */
- bl common_abort
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_UNUSED_70FF: /* 0x170 */
-/* File: armv5te/OP_UNUSED_70FF.S */
-/* File: armv5te/unused.S */
- bl common_abort
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_UNUSED_71FF: /* 0x171 */
-/* File: armv5te/OP_UNUSED_71FF.S */
-/* File: armv5te/unused.S */
- bl common_abort
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_UNUSED_72FF: /* 0x172 */
-/* File: armv5te/OP_UNUSED_72FF.S */
-/* File: armv5te/unused.S */
- bl common_abort
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_UNUSED_73FF: /* 0x173 */
-/* File: armv5te/OP_UNUSED_73FF.S */
-/* File: armv5te/unused.S */
- bl common_abort
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_UNUSED_74FF: /* 0x174 */
-/* File: armv5te/OP_UNUSED_74FF.S */
-/* File: armv5te/unused.S */
- bl common_abort
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_UNUSED_75FF: /* 0x175 */
-/* File: armv5te/OP_UNUSED_75FF.S */
-/* File: armv5te/unused.S */
- bl common_abort
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_UNUSED_76FF: /* 0x176 */
-/* File: armv5te/OP_UNUSED_76FF.S */
-/* File: armv5te/unused.S */
- bl common_abort
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_UNUSED_77FF: /* 0x177 */
-/* File: armv5te/OP_UNUSED_77FF.S */
-/* File: armv5te/unused.S */
- bl common_abort
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_UNUSED_78FF: /* 0x178 */
-/* File: armv5te/OP_UNUSED_78FF.S */
-/* File: armv5te/unused.S */
- bl common_abort
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_UNUSED_79FF: /* 0x179 */
-/* File: armv5te/OP_UNUSED_79FF.S */
-/* File: armv5te/unused.S */
- bl common_abort
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_UNUSED_7AFF: /* 0x17a */
-/* File: armv5te/OP_UNUSED_7AFF.S */
-/* File: armv5te/unused.S */
- bl common_abort
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_UNUSED_7BFF: /* 0x17b */
-/* File: armv5te/OP_UNUSED_7BFF.S */
-/* File: armv5te/unused.S */
- bl common_abort
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_UNUSED_7CFF: /* 0x17c */
-/* File: armv5te/OP_UNUSED_7CFF.S */
-/* File: armv5te/unused.S */
- bl common_abort
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_UNUSED_7DFF: /* 0x17d */
-/* File: armv5te/OP_UNUSED_7DFF.S */
-/* File: armv5te/unused.S */
- bl common_abort
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_UNUSED_7EFF: /* 0x17e */
-/* File: armv5te/OP_UNUSED_7EFF.S */
-/* File: armv5te/unused.S */
- bl common_abort
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_UNUSED_7FFF: /* 0x17f */
-/* File: armv5te/OP_UNUSED_7FFF.S */
-/* File: armv5te/unused.S */
- bl common_abort
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_UNUSED_80FF: /* 0x180 */
-/* File: armv5te/OP_UNUSED_80FF.S */
-/* File: armv5te/unused.S */
- bl common_abort
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_UNUSED_81FF: /* 0x181 */
-/* File: armv5te/OP_UNUSED_81FF.S */
-/* File: armv5te/unused.S */
- bl common_abort
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_UNUSED_82FF: /* 0x182 */
-/* File: armv5te/OP_UNUSED_82FF.S */
-/* File: armv5te/unused.S */
- bl common_abort
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_UNUSED_83FF: /* 0x183 */
-/* File: armv5te/OP_UNUSED_83FF.S */
-/* File: armv5te/unused.S */
- bl common_abort
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_UNUSED_84FF: /* 0x184 */
-/* File: armv5te/OP_UNUSED_84FF.S */
-/* File: armv5te/unused.S */
- bl common_abort
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_UNUSED_85FF: /* 0x185 */
-/* File: armv5te/OP_UNUSED_85FF.S */
-/* File: armv5te/unused.S */
- bl common_abort
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_UNUSED_86FF: /* 0x186 */
-/* File: armv5te/OP_UNUSED_86FF.S */
-/* File: armv5te/unused.S */
- bl common_abort
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_UNUSED_87FF: /* 0x187 */
-/* File: armv5te/OP_UNUSED_87FF.S */
-/* File: armv5te/unused.S */
- bl common_abort
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_UNUSED_88FF: /* 0x188 */
-/* File: armv5te/OP_UNUSED_88FF.S */
-/* File: armv5te/unused.S */
- bl common_abort
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_UNUSED_89FF: /* 0x189 */
-/* File: armv5te/OP_UNUSED_89FF.S */
-/* File: armv5te/unused.S */
- bl common_abort
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_UNUSED_8AFF: /* 0x18a */
-/* File: armv5te/OP_UNUSED_8AFF.S */
-/* File: armv5te/unused.S */
- bl common_abort
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_UNUSED_8BFF: /* 0x18b */
-/* File: armv5te/OP_UNUSED_8BFF.S */
-/* File: armv5te/unused.S */
- bl common_abort
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_UNUSED_8CFF: /* 0x18c */
-/* File: armv5te/OP_UNUSED_8CFF.S */
-/* File: armv5te/unused.S */
- bl common_abort
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_UNUSED_8DFF: /* 0x18d */
-/* File: armv5te/OP_UNUSED_8DFF.S */
-/* File: armv5te/unused.S */
- bl common_abort
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_UNUSED_8EFF: /* 0x18e */
-/* File: armv5te/OP_UNUSED_8EFF.S */
-/* File: armv5te/unused.S */
- bl common_abort
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_UNUSED_8FFF: /* 0x18f */
-/* File: armv5te/OP_UNUSED_8FFF.S */
-/* File: armv5te/unused.S */
- bl common_abort
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_UNUSED_90FF: /* 0x190 */
-/* File: armv5te/OP_UNUSED_90FF.S */
-/* File: armv5te/unused.S */
- bl common_abort
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_UNUSED_91FF: /* 0x191 */
-/* File: armv5te/OP_UNUSED_91FF.S */
-/* File: armv5te/unused.S */
- bl common_abort
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_UNUSED_92FF: /* 0x192 */
-/* File: armv5te/OP_UNUSED_92FF.S */
-/* File: armv5te/unused.S */
- bl common_abort
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_UNUSED_93FF: /* 0x193 */
-/* File: armv5te/OP_UNUSED_93FF.S */
-/* File: armv5te/unused.S */
- bl common_abort
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_UNUSED_94FF: /* 0x194 */
-/* File: armv5te/OP_UNUSED_94FF.S */
-/* File: armv5te/unused.S */
- bl common_abort
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_UNUSED_95FF: /* 0x195 */
-/* File: armv5te/OP_UNUSED_95FF.S */
-/* File: armv5te/unused.S */
- bl common_abort
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_UNUSED_96FF: /* 0x196 */
-/* File: armv5te/OP_UNUSED_96FF.S */
-/* File: armv5te/unused.S */
- bl common_abort
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_UNUSED_97FF: /* 0x197 */
-/* File: armv5te/OP_UNUSED_97FF.S */
-/* File: armv5te/unused.S */
- bl common_abort
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_UNUSED_98FF: /* 0x198 */
-/* File: armv5te/OP_UNUSED_98FF.S */
-/* File: armv5te/unused.S */
- bl common_abort
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_UNUSED_99FF: /* 0x199 */
-/* File: armv5te/OP_UNUSED_99FF.S */
-/* File: armv5te/unused.S */
- bl common_abort
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_UNUSED_9AFF: /* 0x19a */
-/* File: armv5te/OP_UNUSED_9AFF.S */
-/* File: armv5te/unused.S */
- bl common_abort
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_UNUSED_9BFF: /* 0x19b */
-/* File: armv5te/OP_UNUSED_9BFF.S */
-/* File: armv5te/unused.S */
- bl common_abort
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_UNUSED_9CFF: /* 0x19c */
-/* File: armv5te/OP_UNUSED_9CFF.S */
-/* File: armv5te/unused.S */
- bl common_abort
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_UNUSED_9DFF: /* 0x19d */
-/* File: armv5te/OP_UNUSED_9DFF.S */
-/* File: armv5te/unused.S */
- bl common_abort
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_UNUSED_9EFF: /* 0x19e */
-/* File: armv5te/OP_UNUSED_9EFF.S */
-/* File: armv5te/unused.S */
- bl common_abort
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_UNUSED_9FFF: /* 0x19f */
-/* File: armv5te/OP_UNUSED_9FFF.S */
-/* File: armv5te/unused.S */
- bl common_abort
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_UNUSED_A0FF: /* 0x1a0 */
-/* File: armv5te/OP_UNUSED_A0FF.S */
-/* File: armv5te/unused.S */
- bl common_abort
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_UNUSED_A1FF: /* 0x1a1 */
-/* File: armv5te/OP_UNUSED_A1FF.S */
-/* File: armv5te/unused.S */
- bl common_abort
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_UNUSED_A2FF: /* 0x1a2 */
-/* File: armv5te/OP_UNUSED_A2FF.S */
-/* File: armv5te/unused.S */
- bl common_abort
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_UNUSED_A3FF: /* 0x1a3 */
-/* File: armv5te/OP_UNUSED_A3FF.S */
-/* File: armv5te/unused.S */
- bl common_abort
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_UNUSED_A4FF: /* 0x1a4 */
-/* File: armv5te/OP_UNUSED_A4FF.S */
-/* File: armv5te/unused.S */
- bl common_abort
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_UNUSED_A5FF: /* 0x1a5 */
-/* File: armv5te/OP_UNUSED_A5FF.S */
-/* File: armv5te/unused.S */
- bl common_abort
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_UNUSED_A6FF: /* 0x1a6 */
-/* File: armv5te/OP_UNUSED_A6FF.S */
-/* File: armv5te/unused.S */
- bl common_abort
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_UNUSED_A7FF: /* 0x1a7 */
-/* File: armv5te/OP_UNUSED_A7FF.S */
-/* File: armv5te/unused.S */
- bl common_abort
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_UNUSED_A8FF: /* 0x1a8 */
-/* File: armv5te/OP_UNUSED_A8FF.S */
-/* File: armv5te/unused.S */
- bl common_abort
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_UNUSED_A9FF: /* 0x1a9 */
-/* File: armv5te/OP_UNUSED_A9FF.S */
-/* File: armv5te/unused.S */
- bl common_abort
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_UNUSED_AAFF: /* 0x1aa */
-/* File: armv5te/OP_UNUSED_AAFF.S */
-/* File: armv5te/unused.S */
- bl common_abort
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_UNUSED_ABFF: /* 0x1ab */
-/* File: armv5te/OP_UNUSED_ABFF.S */
-/* File: armv5te/unused.S */
- bl common_abort
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_UNUSED_ACFF: /* 0x1ac */
-/* File: armv5te/OP_UNUSED_ACFF.S */
-/* File: armv5te/unused.S */
- bl common_abort
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_UNUSED_ADFF: /* 0x1ad */
-/* File: armv5te/OP_UNUSED_ADFF.S */
-/* File: armv5te/unused.S */
- bl common_abort
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_UNUSED_AEFF: /* 0x1ae */
-/* File: armv5te/OP_UNUSED_AEFF.S */
-/* File: armv5te/unused.S */
- bl common_abort
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_UNUSED_AFFF: /* 0x1af */
-/* File: armv5te/OP_UNUSED_AFFF.S */
-/* File: armv5te/unused.S */
- bl common_abort
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_UNUSED_B0FF: /* 0x1b0 */
-/* File: armv5te/OP_UNUSED_B0FF.S */
-/* File: armv5te/unused.S */
- bl common_abort
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_UNUSED_B1FF: /* 0x1b1 */
-/* File: armv5te/OP_UNUSED_B1FF.S */
-/* File: armv5te/unused.S */
- bl common_abort
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_UNUSED_B2FF: /* 0x1b2 */
-/* File: armv5te/OP_UNUSED_B2FF.S */
-/* File: armv5te/unused.S */
- bl common_abort
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_UNUSED_B3FF: /* 0x1b3 */
-/* File: armv5te/OP_UNUSED_B3FF.S */
-/* File: armv5te/unused.S */
- bl common_abort
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_UNUSED_B4FF: /* 0x1b4 */
-/* File: armv5te/OP_UNUSED_B4FF.S */
-/* File: armv5te/unused.S */
- bl common_abort
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_UNUSED_B5FF: /* 0x1b5 */
-/* File: armv5te/OP_UNUSED_B5FF.S */
-/* File: armv5te/unused.S */
- bl common_abort
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_UNUSED_B6FF: /* 0x1b6 */
-/* File: armv5te/OP_UNUSED_B6FF.S */
-/* File: armv5te/unused.S */
- bl common_abort
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_UNUSED_B7FF: /* 0x1b7 */
-/* File: armv5te/OP_UNUSED_B7FF.S */
-/* File: armv5te/unused.S */
- bl common_abort
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_UNUSED_B8FF: /* 0x1b8 */
-/* File: armv5te/OP_UNUSED_B8FF.S */
-/* File: armv5te/unused.S */
- bl common_abort
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_UNUSED_B9FF: /* 0x1b9 */
-/* File: armv5te/OP_UNUSED_B9FF.S */
-/* File: armv5te/unused.S */
- bl common_abort
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_UNUSED_BAFF: /* 0x1ba */
-/* File: armv5te/OP_UNUSED_BAFF.S */
-/* File: armv5te/unused.S */
- bl common_abort
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_UNUSED_BBFF: /* 0x1bb */
-/* File: armv5te/OP_UNUSED_BBFF.S */
-/* File: armv5te/unused.S */
- bl common_abort
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_UNUSED_BCFF: /* 0x1bc */
-/* File: armv5te/OP_UNUSED_BCFF.S */
-/* File: armv5te/unused.S */
- bl common_abort
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_UNUSED_BDFF: /* 0x1bd */
-/* File: armv5te/OP_UNUSED_BDFF.S */
-/* File: armv5te/unused.S */
- bl common_abort
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_UNUSED_BEFF: /* 0x1be */
-/* File: armv5te/OP_UNUSED_BEFF.S */
-/* File: armv5te/unused.S */
- bl common_abort
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_UNUSED_BFFF: /* 0x1bf */
-/* File: armv5te/OP_UNUSED_BFFF.S */
-/* File: armv5te/unused.S */
- bl common_abort
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_UNUSED_C0FF: /* 0x1c0 */
-/* File: armv5te/OP_UNUSED_C0FF.S */
-/* File: armv5te/unused.S */
- bl common_abort
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_UNUSED_C1FF: /* 0x1c1 */
-/* File: armv5te/OP_UNUSED_C1FF.S */
-/* File: armv5te/unused.S */
- bl common_abort
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_UNUSED_C2FF: /* 0x1c2 */
-/* File: armv5te/OP_UNUSED_C2FF.S */
-/* File: armv5te/unused.S */
- bl common_abort
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_UNUSED_C3FF: /* 0x1c3 */
-/* File: armv5te/OP_UNUSED_C3FF.S */
-/* File: armv5te/unused.S */
- bl common_abort
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_UNUSED_C4FF: /* 0x1c4 */
-/* File: armv5te/OP_UNUSED_C4FF.S */
-/* File: armv5te/unused.S */
- bl common_abort
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_UNUSED_C5FF: /* 0x1c5 */
-/* File: armv5te/OP_UNUSED_C5FF.S */
-/* File: armv5te/unused.S */
- bl common_abort
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_UNUSED_C6FF: /* 0x1c6 */
-/* File: armv5te/OP_UNUSED_C6FF.S */
-/* File: armv5te/unused.S */
- bl common_abort
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_UNUSED_C7FF: /* 0x1c7 */
-/* File: armv5te/OP_UNUSED_C7FF.S */
-/* File: armv5te/unused.S */
- bl common_abort
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_UNUSED_C8FF: /* 0x1c8 */
-/* File: armv5te/OP_UNUSED_C8FF.S */
-/* File: armv5te/unused.S */
- bl common_abort
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_UNUSED_C9FF: /* 0x1c9 */
-/* File: armv5te/OP_UNUSED_C9FF.S */
-/* File: armv5te/unused.S */
- bl common_abort
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_UNUSED_CAFF: /* 0x1ca */
-/* File: armv5te/OP_UNUSED_CAFF.S */
-/* File: armv5te/unused.S */
- bl common_abort
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_UNUSED_CBFF: /* 0x1cb */
-/* File: armv5te/OP_UNUSED_CBFF.S */
-/* File: armv5te/unused.S */
- bl common_abort
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_UNUSED_CCFF: /* 0x1cc */
-/* File: armv5te/OP_UNUSED_CCFF.S */
-/* File: armv5te/unused.S */
- bl common_abort
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_UNUSED_CDFF: /* 0x1cd */
-/* File: armv5te/OP_UNUSED_CDFF.S */
-/* File: armv5te/unused.S */
- bl common_abort
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_UNUSED_CEFF: /* 0x1ce */
-/* File: armv5te/OP_UNUSED_CEFF.S */
-/* File: armv5te/unused.S */
- bl common_abort
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_UNUSED_CFFF: /* 0x1cf */
-/* File: armv5te/OP_UNUSED_CFFF.S */
-/* File: armv5te/unused.S */
- bl common_abort
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_UNUSED_D0FF: /* 0x1d0 */
-/* File: armv5te/OP_UNUSED_D0FF.S */
-/* File: armv5te/unused.S */
- bl common_abort
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_UNUSED_D1FF: /* 0x1d1 */
-/* File: armv5te/OP_UNUSED_D1FF.S */
-/* File: armv5te/unused.S */
- bl common_abort
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_UNUSED_D2FF: /* 0x1d2 */
-/* File: armv5te/OP_UNUSED_D2FF.S */
-/* File: armv5te/unused.S */
- bl common_abort
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_UNUSED_D3FF: /* 0x1d3 */
-/* File: armv5te/OP_UNUSED_D3FF.S */
-/* File: armv5te/unused.S */
- bl common_abort
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_UNUSED_D4FF: /* 0x1d4 */
-/* File: armv5te/OP_UNUSED_D4FF.S */
-/* File: armv5te/unused.S */
- bl common_abort
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_UNUSED_D5FF: /* 0x1d5 */
-/* File: armv5te/OP_UNUSED_D5FF.S */
-/* File: armv5te/unused.S */
- bl common_abort
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_UNUSED_D6FF: /* 0x1d6 */
-/* File: armv5te/OP_UNUSED_D6FF.S */
-/* File: armv5te/unused.S */
- bl common_abort
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_UNUSED_D7FF: /* 0x1d7 */
-/* File: armv5te/OP_UNUSED_D7FF.S */
-/* File: armv5te/unused.S */
- bl common_abort
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_UNUSED_D8FF: /* 0x1d8 */
-/* File: armv5te/OP_UNUSED_D8FF.S */
-/* File: armv5te/unused.S */
- bl common_abort
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_UNUSED_D9FF: /* 0x1d9 */
-/* File: armv5te/OP_UNUSED_D9FF.S */
-/* File: armv5te/unused.S */
- bl common_abort
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_UNUSED_DAFF: /* 0x1da */
-/* File: armv5te/OP_UNUSED_DAFF.S */
-/* File: armv5te/unused.S */
- bl common_abort
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_UNUSED_DBFF: /* 0x1db */
-/* File: armv5te/OP_UNUSED_DBFF.S */
-/* File: armv5te/unused.S */
- bl common_abort
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_UNUSED_DCFF: /* 0x1dc */
-/* File: armv5te/OP_UNUSED_DCFF.S */
-/* File: armv5te/unused.S */
- bl common_abort
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_UNUSED_DDFF: /* 0x1dd */
-/* File: armv5te/OP_UNUSED_DDFF.S */
-/* File: armv5te/unused.S */
- bl common_abort
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_UNUSED_DEFF: /* 0x1de */
-/* File: armv5te/OP_UNUSED_DEFF.S */
-/* File: armv5te/unused.S */
- bl common_abort
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_UNUSED_DFFF: /* 0x1df */
-/* File: armv5te/OP_UNUSED_DFFF.S */
-/* File: armv5te/unused.S */
- bl common_abort
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_UNUSED_E0FF: /* 0x1e0 */
-/* File: armv5te/OP_UNUSED_E0FF.S */
-/* File: armv5te/unused.S */
- bl common_abort
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_UNUSED_E1FF: /* 0x1e1 */
-/* File: armv5te/OP_UNUSED_E1FF.S */
-/* File: armv5te/unused.S */
- bl common_abort
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_UNUSED_E2FF: /* 0x1e2 */
-/* File: armv5te/OP_UNUSED_E2FF.S */
+.L_OP_UNUSED_FF: /* 0xff */
+/* File: armv5te/OP_UNUSED_FF.S */
/* File: armv5te/unused.S */
bl common_abort
-/* ------------------------------ */
- .balign 64
-.L_OP_UNUSED_E3FF: /* 0x1e3 */
-/* File: armv5te/OP_UNUSED_E3FF.S */
-/* File: armv5te/unused.S */
- bl common_abort
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_UNUSED_E4FF: /* 0x1e4 */
-/* File: armv5te/OP_UNUSED_E4FF.S */
-/* File: armv5te/unused.S */
- bl common_abort
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_UNUSED_E5FF: /* 0x1e5 */
-/* File: armv5te/OP_UNUSED_E5FF.S */
-/* File: armv5te/unused.S */
- bl common_abort
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_UNUSED_E6FF: /* 0x1e6 */
-/* File: armv5te/OP_UNUSED_E6FF.S */
-/* File: armv5te/unused.S */
- bl common_abort
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_UNUSED_E7FF: /* 0x1e7 */
-/* File: armv5te/OP_UNUSED_E7FF.S */
-/* File: armv5te/unused.S */
- bl common_abort
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_UNUSED_E8FF: /* 0x1e8 */
-/* File: armv5te/OP_UNUSED_E8FF.S */
-/* File: armv5te/unused.S */
- bl common_abort
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_UNUSED_E9FF: /* 0x1e9 */
-/* File: armv5te/OP_UNUSED_E9FF.S */
-/* File: armv5te/unused.S */
- bl common_abort
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_UNUSED_EAFF: /* 0x1ea */
-/* File: armv5te/OP_UNUSED_EAFF.S */
-/* File: armv5te/unused.S */
- bl common_abort
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_UNUSED_EBFF: /* 0x1eb */
-/* File: armv5te/OP_UNUSED_EBFF.S */
-/* File: armv5te/unused.S */
- bl common_abort
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_UNUSED_ECFF: /* 0x1ec */
-/* File: armv5te/OP_UNUSED_ECFF.S */
-/* File: armv5te/unused.S */
- bl common_abort
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_UNUSED_EDFF: /* 0x1ed */
-/* File: armv5te/OP_UNUSED_EDFF.S */
-/* File: armv5te/unused.S */
- bl common_abort
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_UNUSED_EEFF: /* 0x1ee */
-/* File: armv5te/OP_UNUSED_EEFF.S */
-/* File: armv5te/unused.S */
- bl common_abort
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_UNUSED_EFFF: /* 0x1ef */
-/* File: armv5te/OP_UNUSED_EFFF.S */
-/* File: armv5te/unused.S */
- bl common_abort
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_UNUSED_F0FF: /* 0x1f0 */
-/* File: armv5te/OP_UNUSED_F0FF.S */
-/* File: armv5te/unused.S */
- bl common_abort
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_UNUSED_F1FF: /* 0x1f1 */
-/* File: armv5te/OP_UNUSED_F1FF.S */
-/* File: armv5te/unused.S */
- bl common_abort
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_INVOKE_OBJECT_INIT_JUMBO: /* 0x1f2 */
-/* File: armv5te/OP_INVOKE_OBJECT_INIT_JUMBO.S */
-/* File: armv5te/OP_INVOKE_OBJECT_INIT_RANGE.S */
- /*
- * Invoke Object.<init> on an object. In practice we know that
- * Object's nullary constructor doesn't do anything, so we just
- * skip it unless a debugger is active.
- */
- FETCH(r1, 4) @ r1<- CCCC
- GET_VREG(r0, r1) @ r0<- "this" ptr
- cmp r0, #0 @ check for NULL
- beq common_errNullObject @ export PC and throw NPE
- ldr r1, [r0, #offObject_clazz] @ r1<- obj->clazz
- ldr r2, [r1, #offClassObject_accessFlags] @ r2<- clazz->accessFlags
- tst r2, #CLASS_ISFINALIZABLE @ is this class finalizable?
- bne .LOP_INVOKE_OBJECT_INIT_JUMBO_setFinal @ yes, go
-.LOP_INVOKE_OBJECT_INIT_JUMBO_finish:
- ldrh r1, [rSELF, #offThread_subMode]
- ands r1, #kSubModeDebuggerActive @ debugger active?
- bne .LOP_INVOKE_OBJECT_INIT_JUMBO_debugger @ Yes - skip optimization
- FETCH_ADVANCE_INST(4+1) @ advance to next instr, load rINST
- GET_INST_OPCODE(ip) @ ip<- opcode from rINST
- GOTO_OPCODE(ip) @ execute it
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_IGET_VOLATILE_JUMBO: /* 0x1f3 */
-/* File: armv5te/OP_IGET_VOLATILE_JUMBO.S */
-/* File: armv5te/OP_IGET_JUMBO.S */
- /*
- * Jumbo 32-bit instance field get.
- *
- * for: iget/jumbo, iget-object/jumbo, iget-boolean/jumbo, iget-byte/jumbo,
- * iget-char/jumbo, iget-short/jumbo
- */
- /* exop vBBBB, vCCCC, field@AAAAAAAA */
- FETCH(r1, 1) @ r1<- aaaa (lo)
- FETCH(r2, 2) @ r2<- AAAA (hi)
- FETCH(r0, 4) @ r0<- CCCC
- ldr r3, [rSELF, #offThread_methodClassDex] @ r3<- DvmDex
- orr r1, r1, r2, lsl #16 @ r1<- AAAAaaaa
- ldr r2, [r3, #offDvmDex_pResFields] @ r2<- pDvmDex->pResFields
- GET_VREG(r9, r0) @ r9<- fp[CCCC], the object pointer
- ldr r0, [r2, r1, lsl #2] @ r0<- resolved InstField ptr
- cmp r0, #0 @ is resolved entry null?
- bne .LOP_IGET_VOLATILE_JUMBO_finish @ no, already resolved
-8: ldr r2, [rSELF, #offThread_method] @ r2<- current method
- EXPORT_PC() @ resolve() could throw
- ldr r0, [r2, #offMethod_clazz] @ r0<- method->clazz
- bl dvmResolveInstField @ r0<- resolved InstField ptr
- b .LOP_IGET_VOLATILE_JUMBO_resolved @ resolved, continue
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_IGET_WIDE_VOLATILE_JUMBO: /* 0x1f4 */
-/* File: armv5te/OP_IGET_WIDE_VOLATILE_JUMBO.S */
-/* File: armv5te/OP_IGET_WIDE_JUMBO.S */
- /*
- * Jumbo 64-bit instance field get.
- */
- /* iget-wide/jumbo vBBBB, vCCCC, field@AAAAAAAA */
- FETCH(r1, 1) @ r1<- aaaa (lo)
- FETCH(r2, 2) @ r2<- AAAA (hi)
- FETCH(r0, 4) @ r0<- CCCC
- ldr r3, [rSELF, #offThread_methodClassDex] @ r3<- DvmDex
- orr r1, r1, r2, lsl #16 @ r1<- AAAAaaaa
- ldr r2, [r3, #offDvmDex_pResFields] @ r2<- pResFields
- GET_VREG(r9, r0) @ r9<- fp[CCCC], the object pointer
- ldr r0, [r2, r1, lsl #2] @ r0<- resolved InstField ptr
- cmp r0, #0 @ is resolved entry null?
- bne .LOP_IGET_WIDE_VOLATILE_JUMBO_finish @ no, already resolved
- ldr r2, [rSELF, #offThread_method] @ r2<- current method
- EXPORT_PC() @ resolve() could throw
- ldr r0, [r2, #offMethod_clazz] @ r0<- method->clazz
- bl dvmResolveInstField @ r0<- resolved InstField ptr
- b .LOP_IGET_WIDE_VOLATILE_JUMBO_resolved @ resolved, continue
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_IGET_OBJECT_VOLATILE_JUMBO: /* 0x1f5 */
-/* File: armv5te/OP_IGET_OBJECT_VOLATILE_JUMBO.S */
-/* File: armv5te/OP_IGET_OBJECT_JUMBO.S */
-/* File: armv5te/OP_IGET_JUMBO.S */
- /*
- * Jumbo 32-bit instance field get.
- *
- * for: iget/jumbo, iget-object/jumbo, iget-boolean/jumbo, iget-byte/jumbo,
- * iget-char/jumbo, iget-short/jumbo
- */
- /* exop vBBBB, vCCCC, field@AAAAAAAA */
- FETCH(r1, 1) @ r1<- aaaa (lo)
- FETCH(r2, 2) @ r2<- AAAA (hi)
- FETCH(r0, 4) @ r0<- CCCC
- ldr r3, [rSELF, #offThread_methodClassDex] @ r3<- DvmDex
- orr r1, r1, r2, lsl #16 @ r1<- AAAAaaaa
- ldr r2, [r3, #offDvmDex_pResFields] @ r2<- pDvmDex->pResFields
- GET_VREG(r9, r0) @ r9<- fp[CCCC], the object pointer
- ldr r0, [r2, r1, lsl #2] @ r0<- resolved InstField ptr
- cmp r0, #0 @ is resolved entry null?
- bne .LOP_IGET_OBJECT_VOLATILE_JUMBO_finish @ no, already resolved
-8: ldr r2, [rSELF, #offThread_method] @ r2<- current method
- EXPORT_PC() @ resolve() could throw
- ldr r0, [r2, #offMethod_clazz] @ r0<- method->clazz
- bl dvmResolveInstField @ r0<- resolved InstField ptr
- b .LOP_IGET_OBJECT_VOLATILE_JUMBO_resolved @ resolved, continue
-
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_IPUT_VOLATILE_JUMBO: /* 0x1f6 */
-/* File: armv5te/OP_IPUT_VOLATILE_JUMBO.S */
-/* File: armv5te/OP_IPUT_JUMBO.S */
- /*
- * Jumbo 32-bit instance field put.
- *
- * for: iput/jumbo, iput-boolean/jumbo, iput-byte/jumbo, iput-char/jumbo,
- * iput-short/jumbo
- */
- /* exop vBBBB, vCCCC, field@AAAAAAAA */
- FETCH(r1, 1) @ r1<- aaaa (lo)
- FETCH(r2, 2) @ r2<- AAAA (hi)
- FETCH(r0, 4) @ r0<- CCCC
- ldr r3, [rSELF, #offThread_methodClassDex] @ r3<- DvmDex
- orr r1, r1, r2, lsl #16 @ r1<- AAAAaaaa
- ldr r2, [r3, #offDvmDex_pResFields] @ r2<- pDvmDex->pResFields
- GET_VREG(r9, r0) @ r9<- fp[CCCC], the object pointer
- ldr r0, [r2, r1, lsl #2] @ r0<- resolved InstField ptr
- cmp r0, #0 @ is resolved entry null?
- bne .LOP_IPUT_VOLATILE_JUMBO_finish @ no, already resolved
-8: ldr r2, [rSELF, #offThread_method] @ r2<- current method
- EXPORT_PC() @ resolve() could throw
- ldr r0, [r2, #offMethod_clazz] @ r0<- method->clazz
- bl dvmResolveInstField @ r0<- resolved InstField ptr
- b .LOP_IPUT_VOLATILE_JUMBO_resolved @ resolved, continue
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_IPUT_WIDE_VOLATILE_JUMBO: /* 0x1f7 */
-/* File: armv5te/OP_IPUT_WIDE_VOLATILE_JUMBO.S */
-/* File: armv5te/OP_IPUT_WIDE_JUMBO.S */
- /* iput-wide/jumbo vBBBB, vCCCC, field@AAAAAAAA */
- FETCH(r1, 1) @ r1<- aaaa (lo)
- FETCH(r2, 2) @ r2<- AAAA (hi)
- FETCH(r0, 4) @ r0<- CCCC
- ldr r3, [rSELF, #offThread_methodClassDex] @ r3<- DvmDex
- orr r1, r1, r2, lsl #16 @ r1<- AAAAaaaa
- ldr r2, [r3, #offDvmDex_pResFields] @ r2<- pResFields
- GET_VREG(r9, r0) @ r9<- fp[B], the object pointer
- ldr r0, [r2, r1, lsl #2] @ r0<- resolved InstField ptr
- cmp r0, #0 @ is resolved entry null?
- bne .LOP_IPUT_WIDE_VOLATILE_JUMBO_finish @ no, already resolved
-8: ldr r2, [rSELF, #offThread_method] @ r2<- current method
- EXPORT_PC() @ resolve() could throw
- ldr r0, [r2, #offMethod_clazz] @ r0<- method->clazz
- bl dvmResolveInstField @ r0<- resolved InstField ptr
- b .LOP_IPUT_WIDE_VOLATILE_JUMBO_resolved @ resolved, continue
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_IPUT_OBJECT_VOLATILE_JUMBO: /* 0x1f8 */
-/* File: armv5te/OP_IPUT_OBJECT_VOLATILE_JUMBO.S */
-/* File: armv5te/OP_IPUT_OBJECT_JUMBO.S */
- /*
- * Jumbo 32-bit instance field put.
- */
- /* iput-object/jumbo vBBBB, vCCCC, field@AAAAAAAA */
- FETCH(r1, 1) @ r1<- aaaa (lo)
- FETCH(r2, 2) @ r2<- AAAA (hi)
- FETCH(r0, 4) @ r0<- CCCC
- ldr r3, [rSELF, #offThread_methodClassDex] @ r3<- DvmDex
- orr r1, r1, r2, lsl #16 @ r1<- AAAAaaaa
- ldr r2, [r3, #offDvmDex_pResFields] @ r2<- pDvmDex->pResFields
- GET_VREG(r9, r0) @ r9<- fp[CCCC], the object pointer
- ldr r0, [r2, r1, lsl #2] @ r0<- resolved InstField ptr
- cmp r0, #0 @ is resolved entry null?
- bne .LOP_IPUT_OBJECT_VOLATILE_JUMBO_finish @ no, already resolved
-8: ldr r2, [rSELF, #offThread_method] @ r2<- current method
- EXPORT_PC() @ resolve() could throw
- ldr r0, [r2, #offMethod_clazz] @ r0<- method->clazz
- bl dvmResolveInstField @ r0<- resolved InstField ptr
- b .LOP_IPUT_OBJECT_VOLATILE_JUMBO_resolved @ resolved, continue
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_SGET_VOLATILE_JUMBO: /* 0x1f9 */
-/* File: armv5te/OP_SGET_VOLATILE_JUMBO.S */
-/* File: armv5te/OP_SGET_JUMBO.S */
- /*
- * Jumbo 32-bit SGET handler.
- *
- * for: sget/jumbo, sget-object/jumbo, sget-boolean/jumbo, sget-byte/jumbo,
- * sget-char/jumbo, sget-short/jumbo
- */
- /* exop vBBBB, field@AAAAAAAA */
- ldr r2, [rSELF, #offThread_methodClassDex] @ r2<- DvmDex
- FETCH(r0, 1) @ r0<- aaaa (lo)
- FETCH(r1, 2) @ r1<- AAAA (hi)
- ldr r10, [r2, #offDvmDex_pResFields] @ r10<- dvmDex->pResFields
- orr r1, r0, r1, lsl #16 @ r1<- AAAAaaaa
- ldr r0, [r10, r1, lsl #2] @ r0<- resolved StaticField ptr
- cmp r0, #0 @ is resolved entry null?
- beq .LOP_SGET_VOLATILE_JUMBO_resolve @ yes, do resolve
-.LOP_SGET_VOLATILE_JUMBO_finish: @ field ptr in r0
- ldr r1, [r0, #offStaticField_value] @ r1<- field value
- SMP_DMB @ acquiring load
- FETCH(r2, 3) @ r2<- BBBB
- FETCH_ADVANCE_INST(4) @ advance rPC, load rINST
- SET_VREG(r1, r2) @ fp[BBBB]<- r1
- GET_INST_OPCODE(ip) @ extract opcode from rINST
- GOTO_OPCODE(ip) @ jump to next instruction
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_SGET_WIDE_VOLATILE_JUMBO: /* 0x1fa */
-/* File: armv5te/OP_SGET_WIDE_VOLATILE_JUMBO.S */
-/* File: armv5te/OP_SGET_WIDE_JUMBO.S */
- /*
- * Jumbo 64-bit SGET handler.
- */
- /* sget-wide/jumbo vBBBB, field@AAAAAAAA */
- ldr r2, [rSELF, #offThread_methodClassDex] @ r2<- DvmDex
- FETCH(r0, 1) @ r0<- aaaa (lo)
- FETCH(r1, 2) @ r1<- AAAA (hi)
- ldr r2, [r2, #offDvmDex_pResFields] @ r2<- dvmDex->pResFields
- orr r1, r0, r1, lsl #16 @ r1<- AAAAaaaa
- ldr r0, [r2, r1, lsl #2] @ r0<- resolved StaticField ptr
- cmp r0, #0 @ is resolved entry null?
- beq .LOP_SGET_WIDE_VOLATILE_JUMBO_resolve @ yes, do resolve
-.LOP_SGET_WIDE_VOLATILE_JUMBO_finish:
- FETCH(r9, 3) @ r9<- BBBB
- .if 1
- add r0, r0, #offStaticField_value @ r0<- pointer to data
- bl dvmQuasiAtomicRead64 @ r0/r1<- contents of field
- .else
- ldrd r0, [r0, #offStaticField_value] @ r0/r1<- field value (aligned)
- .endif
- add r9, rFP, r9, lsl #2 @ r9<- &fp[BBBB]
- FETCH_ADVANCE_INST(4) @ advance rPC, load rINST
- stmia r9, {r0-r1} @ vBBBB/vBBBB+1<- r0/r1
- GET_INST_OPCODE(ip) @ extract opcode from rINST
- GOTO_OPCODE(ip) @ jump to next instruction
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_SGET_OBJECT_VOLATILE_JUMBO: /* 0x1fb */
-/* File: armv5te/OP_SGET_OBJECT_VOLATILE_JUMBO.S */
-/* File: armv5te/OP_SGET_OBJECT_JUMBO.S */
-/* File: armv5te/OP_SGET_JUMBO.S */
- /*
- * Jumbo 32-bit SGET handler.
- *
- * for: sget/jumbo, sget-object/jumbo, sget-boolean/jumbo, sget-byte/jumbo,
- * sget-char/jumbo, sget-short/jumbo
- */
- /* exop vBBBB, field@AAAAAAAA */
- ldr r2, [rSELF, #offThread_methodClassDex] @ r2<- DvmDex
- FETCH(r0, 1) @ r0<- aaaa (lo)
- FETCH(r1, 2) @ r1<- AAAA (hi)
- ldr r10, [r2, #offDvmDex_pResFields] @ r10<- dvmDex->pResFields
- orr r1, r0, r1, lsl #16 @ r1<- AAAAaaaa
- ldr r0, [r10, r1, lsl #2] @ r0<- resolved StaticField ptr
- cmp r0, #0 @ is resolved entry null?
- beq .LOP_SGET_OBJECT_VOLATILE_JUMBO_resolve @ yes, do resolve
-.LOP_SGET_OBJECT_VOLATILE_JUMBO_finish: @ field ptr in r0
- ldr r1, [r0, #offStaticField_value] @ r1<- field value
- SMP_DMB @ acquiring load
- FETCH(r2, 3) @ r2<- BBBB
- FETCH_ADVANCE_INST(4) @ advance rPC, load rINST
- SET_VREG(r1, r2) @ fp[BBBB]<- r1
- GET_INST_OPCODE(ip) @ extract opcode from rINST
- GOTO_OPCODE(ip) @ jump to next instruction
-
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_SPUT_VOLATILE_JUMBO: /* 0x1fc */
-/* File: armv5te/OP_SPUT_VOLATILE_JUMBO.S */
-/* File: armv5te/OP_SPUT_JUMBO.S */
- /*
- * Jumbo 32-bit SPUT handler.
- *
- * for: sput/jumbo, sput-boolean/jumbo, sput-byte/jumbo, sput-char/jumbo,
- * sput-short/jumbo
- */
- /* exop vBBBB, field@AAAAAAAA */
- ldr r2, [rSELF, #offThread_methodClassDex] @ r2<- DvmDex
- FETCH(r0, 1) @ r0<- aaaa (lo)
- FETCH(r1, 2) @ r1<- AAAA (hi)
- ldr r10, [r2, #offDvmDex_pResFields] @ r10<- dvmDex->pResFields
- orr r1, r0, r1, lsl #16 @ r1<- AAAAaaaa
- ldr r0, [r10, r1, lsl #2] @ r0<- resolved StaticField ptr
- cmp r0, #0 @ is resolved entry null?
- beq .LOP_SPUT_VOLATILE_JUMBO_resolve @ yes, do resolve
-.LOP_SPUT_VOLATILE_JUMBO_finish: @ field ptr in r0
- FETCH(r2, 3) @ r2<- BBBB
- FETCH_ADVANCE_INST(4) @ advance rPC, load rINST
- GET_VREG(r1, r2) @ r1<- fp[BBBB]
- GET_INST_OPCODE(ip) @ extract opcode from rINST
- SMP_DMB_ST @ releasing store
- str r1, [r0, #offStaticField_value] @ field<- vBBBB
- SMP_DMB
- GOTO_OPCODE(ip) @ jump to next instruction
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_SPUT_WIDE_VOLATILE_JUMBO: /* 0x1fd */
-/* File: armv5te/OP_SPUT_WIDE_VOLATILE_JUMBO.S */
-/* File: armv5te/OP_SPUT_WIDE_JUMBO.S */
- /*
- * Jumbo 64-bit SPUT handler.
- */
- /* sput-wide/jumbo vBBBB, field@AAAAAAAA */
- ldr r0, [rSELF, #offThread_methodClassDex] @ r0<- DvmDex
- FETCH(r1, 1) @ r1<- aaaa (lo)
- FETCH(r2, 2) @ r2<- AAAA (hi)
- ldr r10, [r0, #offDvmDex_pResFields] @ r10<- dvmDex->pResFields
- orr r1, r1, r2, lsl #16 @ r1<- AAAAaaaa
- FETCH(r9, 3) @ r9<- BBBB
- ldr r2, [r10, r1, lsl #2] @ r2<- resolved StaticField ptr
- add r9, rFP, r9, lsl #2 @ r9<- &fp[BBBB]
- cmp r2, #0 @ is resolved entry null?
- beq .LOP_SPUT_WIDE_VOLATILE_JUMBO_resolve @ yes, do resolve
-.LOP_SPUT_WIDE_VOLATILE_JUMBO_finish: @ field ptr in r2, BBBB in r9
- FETCH_ADVANCE_INST(4) @ advance rPC, load rINST
- ldmia r9, {r0-r1} @ r0/r1<- vBBBB/vBBBB+1
- GET_INST_OPCODE(r10) @ extract opcode from rINST
- .if 1
- add r2, r2, #offStaticField_value @ r2<- pointer to data
- bl dvmQuasiAtomicSwap64Sync @ stores r0/r1 into addr r2
- .else
- strd r0, [r2, #offStaticField_value] @ field<- vBBBB/vBBBB+1
- .endif
- GOTO_OPCODE(r10) @ jump to next instruction
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_SPUT_OBJECT_VOLATILE_JUMBO: /* 0x1fe */
-/* File: armv5te/OP_SPUT_OBJECT_VOLATILE_JUMBO.S */
-/* File: armv5te/OP_SPUT_OBJECT_JUMBO.S */
- /*
- * Jumbo 32-bit SPUT handler for objects
- */
- /* sput-object/jumbo vBBBB, field@AAAAAAAA */
- ldr r2, [rSELF, #offThread_methodClassDex] @ r2<- DvmDex
- FETCH(r0, 1) @ r0<- aaaa (lo)
- FETCH(r1, 2) @ r1<- AAAA (hi)
- ldr r10, [r2, #offDvmDex_pResFields] @ r10<- dvmDex->pResFields
- orr r1, r0, r1, lsl #16 @ r1<- AAAAaaaa
- ldr r0, [r10, r1, lsl #2] @ r0<- resolved StaticField ptr
- cmp r0, #0 @ is resolved entry null?
- beq .LOP_SPUT_OBJECT_VOLATILE_JUMBO_resolve @ yes, do resolve
-.LOP_SPUT_OBJECT_VOLATILE_JUMBO_finish: @ field ptr in r0
- FETCH(r2, 3) @ r2<- BBBB
- FETCH_ADVANCE_INST(4) @ advance rPC, load rINST
- GET_VREG(r1, r2) @ r1<- fp[BBBB]
- ldr r2, [rSELF, #offThread_cardTable] @ r2<- card table base
- ldr r9, [r0, #offField_clazz] @ r9<- field->clazz
- GET_INST_OPCODE(ip) @ extract opcode from rINST
- SMP_DMB_ST @ releasing store
- b .LOP_SPUT_OBJECT_VOLATILE_JUMBO_end
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_THROW_VERIFICATION_ERROR_JUMBO: /* 0x1ff */
-/* File: armv5te/OP_THROW_VERIFICATION_ERROR_JUMBO.S */
- /*
- * Handle a jumbo throw-verification-error instruction. This throws an
- * exception for an error discovered during verification. The
- * exception is indicated by BBBB, with some detail provided by AAAAAAAA.
- */
- /* exop BBBB, Class@AAAAAAAA */
- FETCH(r1, 1) @ r1<- aaaa (lo)
- FETCH(r2, 2) @ r2<- AAAA (hi)
- ldr r0, [rSELF, #offThread_method] @ r0<- self->method
- orr r2, r1, r2, lsl #16 @ r2<- AAAAaaaa
- EXPORT_PC() @ export the PC
- FETCH(r1, 3) @ r1<- BBBB
- bl dvmThrowVerificationError @ always throws
- b common_exceptionThrown @ handle exception
-
.balign 64
.size dvmAsmInstructionStart, .-dvmAsmInstructionStart
.global dvmAsmInstructionEnd
@@ -12701,11 +9587,7 @@ d2l_doconv:
*/
.LOP_INVOKE_OBJECT_INIT_RANGE_debugger:
ldr r1, [rSELF, #offThread_mainHandlerTable]
- .if 0
- mov ip, #OP_INVOKE_DIRECT_JUMBO
- .else
mov ip, #OP_INVOKE_DIRECT_RANGE
- .endif
GOTO_OPCODE_BASE(r1,ip) @ execute it
/* continuation for OP_IPUT_OBJECT_VOLATILE */
@@ -12793,1594 +9675,6 @@ d2l_doconv:
b .LOP_SPUT_OBJECT_VOLATILE_finish @ resume
-/* continuation for OP_CONST_CLASS_JUMBO */
-
- /*
- * Continuation if the Class has not yet been resolved.
- * r1: AAAAAAAA (Class ref)
- * r9: target register
- */
-.LOP_CONST_CLASS_JUMBO_resolve:
- EXPORT_PC()
- ldr r0, [rSELF, #offThread_method] @ r0<- self->method
- mov r2, #1 @ r2<- true
- ldr r0, [r0, #offMethod_clazz] @ r0<- method->clazz
- bl dvmResolveClass @ r0<- Class reference
- cmp r0, #0 @ failed?
- beq common_exceptionThrown @ yup, handle the exception
- FETCH_ADVANCE_INST(4) @ advance rPC, load rINST
- GET_INST_OPCODE(ip) @ extract opcode from rINST
- SET_VREG(r0, r9) @ vBBBB<- r0
- GOTO_OPCODE(ip) @ jump to next instruction
-
-/* continuation for OP_CHECK_CAST_JUMBO */
-
- /*
- * Trivial test failed, need to perform full check. This is common.
- * r0 holds obj->clazz
- * r1 holds desired class resolved from AAAAAAAA
- * r9 holds object
- */
-.LOP_CHECK_CAST_JUMBO_fullcheck:
- mov r10, r1 @ avoid ClassObject getting clobbered
- bl dvmInstanceofNonTrivial @ r0<- boolean result
- cmp r0, #0 @ failed?
- bne .LOP_CHECK_CAST_JUMBO_okay @ no, success
-
- @ A cast has failed. We need to throw a ClassCastException.
- EXPORT_PC() @ about to throw
- ldr r0, [r9, #offObject_clazz] @ r0<- obj->clazz (actual class)
- mov r1, r10 @ r1<- desired class
- bl dvmThrowClassCastException
- b common_exceptionThrown
-
- /*
- * Advance PC and get the next opcode.
- */
-.LOP_CHECK_CAST_JUMBO_okay:
- FETCH_ADVANCE_INST(4) @ advance rPC, load rINST
- GET_INST_OPCODE(ip) @ extract opcode from rINST
- GOTO_OPCODE(ip) @ jump to next instruction
-
- /*
- * Resolution required. This is the least-likely path.
- *
- * r2 holds AAAAAAAA
- * r9 holds object
- */
-.LOP_CHECK_CAST_JUMBO_resolve:
- EXPORT_PC() @ resolve() could throw
- ldr r3, [rSELF, #offThread_method] @ r3<- self->method
- mov r1, r2 @ r1<- AAAAAAAA
- mov r2, #0 @ r2<- false
- ldr r0, [r3, #offMethod_clazz] @ r0<- method->clazz
- bl dvmResolveClass @ r0<- resolved ClassObject ptr
- cmp r0, #0 @ got null?
- beq common_exceptionThrown @ yes, handle exception
- mov r1, r0 @ r1<- class resolved from AAAAAAAA
- ldr r0, [r9, #offObject_clazz] @ r0<- obj->clazz
- b .LOP_CHECK_CAST_JUMBO_resolved @ pick up where we left off
-
-/* continuation for OP_INSTANCE_OF_JUMBO */
-
- /*
- * Class resolved, determine type of check necessary. This is common.
- * r0 holds obj->clazz
- * r1 holds class resolved from AAAAAAAA
- * r9 holds BBBB
- */
-.LOP_INSTANCE_OF_JUMBO_resolved:
- cmp r0, r1 @ same class (trivial success)?
- beq .LOP_INSTANCE_OF_JUMBO_trivial @ yes, trivial finish
- @ fall through to OP_INSTANCE_OF_JUMBO_fullcheck
-
- /*
- * Trivial test failed, need to perform full check. This is common.
- * r0 holds obj->clazz
- * r1 holds class resolved from AAAAAAAA
- * r9 holds BBBB
- */
-.LOP_INSTANCE_OF_JUMBO_fullcheck:
- bl dvmInstanceofNonTrivial @ r0<- boolean result
- @ fall through to OP_INSTANCE_OF_JUMBO_store
-
- /*
- * r0 holds boolean result
- * r9 holds BBBB
- */
-.LOP_INSTANCE_OF_JUMBO_store:
- FETCH_ADVANCE_INST(5) @ advance rPC, load rINST
- SET_VREG(r0, r9) @ vBBBB<- r0
- GET_INST_OPCODE(ip) @ extract opcode from rINST
- GOTO_OPCODE(ip) @ jump to next instruction
-
- /*
- * Trivial test succeeded, save and bail.
- * r9 holds BBBB
- */
-.LOP_INSTANCE_OF_JUMBO_trivial:
- mov r0, #1 @ indicate success
- @ could b OP_INSTANCE_OF_JUMBO_store, but copying is faster and cheaper
- FETCH_ADVANCE_INST(5) @ advance rPC, load rINST
- SET_VREG(r0, r9) @ vBBBB<- r0
- GET_INST_OPCODE(ip) @ extract opcode from rINST
- GOTO_OPCODE(ip) @ jump to next instruction
-
- /*
- * Resolution required. This is the least-likely path.
- *
- * r3 holds AAAAAAAA
- * r9 holds BBBB
- */
-
-.LOP_INSTANCE_OF_JUMBO_resolve:
- EXPORT_PC() @ resolve() could throw
- ldr r0, [rSELF, #offThread_method] @ r0<- self->method
- mov r1, r3 @ r1<- AAAAAAAA
- mov r2, #1 @ r2<- true
- ldr r0, [r0, #offMethod_clazz] @ r0<- method->clazz
- bl dvmResolveClass @ r0<- resolved ClassObject ptr
- cmp r0, #0 @ got null?
- beq common_exceptionThrown @ yes, handle exception
- FETCH(r3, 4) @ r3<- vCCCC
- mov r1, r0 @ r1<- class resolved from AAAAAAAA
- GET_VREG(r0, r3) @ r0<- vCCCC (object)
- ldr r0, [r0, #offObject_clazz] @ r0<- obj->clazz
- b .LOP_INSTANCE_OF_JUMBO_resolved @ pick up where we left off
-
-/* continuation for OP_NEW_INSTANCE_JUMBO */
-
- .balign 32 @ minimize cache lines
-.LOP_NEW_INSTANCE_JUMBO_finish: @ r0=new object
- FETCH(r3, 3) @ r3<- BBBB
- cmp r0, #0 @ failed?
-#if defined(WITH_JIT)
- /*
- * The JIT needs the class to be fully resolved before it can
- * include this instruction in a trace.
- */
- ldrh r1, [rSELF, #offThread_subMode]
- beq common_exceptionThrown @ yes, handle the exception
- ands r1, #kSubModeJitTraceBuild @ under construction?
- bne .LOP_NEW_INSTANCE_JUMBO_jitCheck
-#else
- beq common_exceptionThrown @ yes, handle the exception
-#endif
-.LOP_NEW_INSTANCE_JUMBO_end:
- FETCH_ADVANCE_INST(4) @ advance rPC, load rINST
- GET_INST_OPCODE(ip) @ extract opcode from rINST
- SET_VREG(r0, r3) @ vBBBB<- r0
- GOTO_OPCODE(ip) @ jump to next instruction
-
-#if defined(WITH_JIT)
- /*
- * Check to see if we need to stop the trace building early.
- * r0: new object
- * r3: vAA
- */
-.LOP_NEW_INSTANCE_JUMBO_jitCheck:
- ldr r1, [r10] @ reload resolved class
- cmp r1, #0 @ okay?
- bne .LOP_NEW_INSTANCE_JUMBO_end @ yes, finish
- mov r9, r0 @ preserve new object
- mov r10, r3 @ preserve vAA
- mov r0, rSELF
- mov r1, rPC
- bl dvmJitEndTraceSelect @ (self, pc)
- FETCH_ADVANCE_INST(2) @ advance rPC, load rINST
- GET_INST_OPCODE(ip) @ extract opcode from rINST
- SET_VREG(r9, r10) @ vAA<- new object
- GOTO_OPCODE(ip) @ jump to next instruction
-#endif
-
- /*
- * Class initialization required.
- *
- * r0 holds class object
- */
-.LOP_NEW_INSTANCE_JUMBO_needinit:
- mov r9, r0 @ save r0
- bl dvmInitClass @ initialize class
- cmp r0, #0 @ check boolean result
- mov r0, r9 @ restore r0
- bne .LOP_NEW_INSTANCE_JUMBO_initialized @ success, continue
- b common_exceptionThrown @ failed, deal with init exception
-
- /*
- * Resolution required. This is the least-likely path.
- *
- * r1 holds AAAAAAAA
- */
-.LOP_NEW_INSTANCE_JUMBO_resolve:
- ldr r3, [rSELF, #offThread_method] @ r3<- self->method
- mov r2, #0 @ r2<- false
- ldr r0, [r3, #offMethod_clazz] @ r0<- method->clazz
- bl dvmResolveClass @ r0<- resolved ClassObject ptr
- cmp r0, #0 @ got null?
- bne .LOP_NEW_INSTANCE_JUMBO_resolved @ no, continue
- b common_exceptionThrown @ yes, handle exception
-
-/* continuation for OP_NEW_ARRAY_JUMBO */
-
-
- /*
- * Resolve class. (This is an uncommon case.)
- *
- * r1 holds array length
- * r2 holds class ref AAAAAAAA
- */
-.LOP_NEW_ARRAY_JUMBO_resolve:
- ldr r3, [rSELF, #offThread_method] @ r3<- self->method
- mov r9, r1 @ r9<- length (save)
- mov r1, r2 @ r1<- AAAAAAAA
- mov r2, #0 @ r2<- false
- ldr r0, [r3, #offMethod_clazz] @ r0<- method->clazz
- bl dvmResolveClass @ r0<- call(clazz, ref)
- cmp r0, #0 @ got null?
- mov r1, r9 @ r1<- length (restore)
- beq common_exceptionThrown @ yes, handle exception
- @ fall through to OP_NEW_ARRAY_JUMBO_finish
-
- /*
- * Finish allocation.
- *
- * r0 holds class
- * r1 holds array length
- */
-.LOP_NEW_ARRAY_JUMBO_finish:
- mov r2, #ALLOC_DONT_TRACK @ don't track in local refs table
- bl dvmAllocArrayByClass @ r0<- call(clazz, length, flags)
- cmp r0, #0 @ failed?
- FETCH(r2, 3) @ r2<- vBBBB
- beq common_exceptionThrown @ yes, handle the exception
- FETCH_ADVANCE_INST(5) @ advance rPC, load rINST
- GET_INST_OPCODE(ip) @ extract opcode from rINST
- SET_VREG(r0, r2) @ vBBBB<- r0
- GOTO_OPCODE(ip) @ jump to next instruction
-
-/* continuation for OP_FILLED_NEW_ARRAY_JUMBO */
-
- /*
- * On entry:
- * r0 holds array class
- */
-.LOP_FILLED_NEW_ARRAY_JUMBO_continue:
- ldr r3, [r0, #offClassObject_descriptor] @ r3<- arrayClass->descriptor
- mov r2, #ALLOC_DONT_TRACK @ r2<- alloc flags
- ldrb rINST, [r3, #1] @ rINST<- descriptor[1]
- FETCH(r1, 3) @ r1<- BBBB (length)
- cmp rINST, #'I' @ array of ints?
- cmpne rINST, #'L' @ array of objects?
- cmpne rINST, #'[' @ array of arrays?
- mov r9, r1 @ save length in r9
- bne .LOP_FILLED_NEW_ARRAY_JUMBO_notimpl @ no, not handled yet
- bl dvmAllocArrayByClass @ r0<- call(arClass, length, flags)
- cmp r0, #0 @ null return?
- beq common_exceptionThrown @ alloc failed, handle exception
-
- FETCH(r1, 4) @ r1<- CCCC
- str r0, [rSELF, #offThread_retval] @ retval.l <- new array
- str rINST, [rSELF, #offThread_retval+4] @ retval.h <- type
- add r0, r0, #offArrayObject_contents @ r0<- newArray->contents
- subs r9, r9, #1 @ length--, check for neg
- FETCH_ADVANCE_INST(5) @ advance to next instr, load rINST
- bmi 2f @ was zero, bail
-
- @ copy values from registers into the array
- @ r0=array, r1=CCCC, r9=BBBB (length)
- add r2, rFP, r1, lsl #2 @ r2<- &fp[CCCC]
-1: ldr r3, [r2], #4 @ r3<- *r2++
- subs r9, r9, #1 @ count--
- str r3, [r0], #4 @ *contents++ = vX
- bpl 1b
-
-2: ldr r0, [rSELF, #offThread_retval] @ r0<- object
- ldr r1, [rSELF, #offThread_retval+4] @ r1<- type
- ldr r2, [rSELF, #offThread_cardTable] @ r2<- card table base
- GET_INST_OPCODE(ip) @ ip<- opcode from rINST
- cmp r1, #'I' @ Is int array?
- strneb r2, [r2, r0, lsr #GC_CARD_SHIFT] @ Mark card based on object head
- GOTO_OPCODE(ip) @ execute it
-
- /*
- * Throw an exception indicating that we have not implemented this
- * mode of filled-new-array.
- */
-.LOP_FILLED_NEW_ARRAY_JUMBO_notimpl:
- ldr r0, .L_strFilledNewArrayNotImpl_OP_FILLED_NEW_ARRAY_JUMBO
- bl dvmThrowInternalError
- b common_exceptionThrown
-
- /*
- * Ideally we'd only define this once, but depending on layout we can
- * exceed the range of the load above.
- */
-
-.L_strFilledNewArrayNotImpl_OP_FILLED_NEW_ARRAY_JUMBO:
- .word .LstrFilledNewArrayNotImpl
-
-/* continuation for OP_IGET_JUMBO */
-
- /*
- * Currently:
- * r0 holds resolved field
- * r9 holds object
- */
-.LOP_IGET_JUMBO_resolved:
- cmp r0, #0 @ resolution unsuccessful?
- beq common_exceptionThrown @ yes, throw exception
- @ fall through to OP_IGET_JUMBO_finish
-
- /*
- * Currently:
- * r0 holds resolved field
- * r9 holds object
- */
-.LOP_IGET_JUMBO_finish:
- @bl common_squeak0
- cmp r9, #0 @ check object for null
- ldr r3, [r0, #offInstField_byteOffset] @ r3<- byte offset of field
- beq common_errNullObject @ object was null
- ldr r0, [r9, r3] @ r0<- obj.field (8/16/32 bits)
- @ no-op @ acquiring load
- FETCH(r2, 3) @ r2<- BBBB
- FETCH_ADVANCE_INST(5) @ advance rPC, load rINST
- SET_VREG(r0, r2) @ fp[BBBB]<- r0
- GET_INST_OPCODE(ip) @ extract opcode from rINST
- GOTO_OPCODE(ip) @ jump to next instruction
-
-/* continuation for OP_IGET_WIDE_JUMBO */
-
- /*
- * Currently:
- * r0 holds resolved field
- * r9 holds object
- */
-.LOP_IGET_WIDE_JUMBO_resolved:
- cmp r0, #0 @ resolution unsuccessful?
- beq common_exceptionThrown @ yes, throw exception
- @ fall through to OP_IGET_WIDE_JUMBO_finish
-
- /*
- * Currently:
- * r0 holds resolved field
- * r9 holds object
- */
-.LOP_IGET_WIDE_JUMBO_finish:
- cmp r9, #0 @ check object for null
- ldr r3, [r0, #offInstField_byteOffset] @ r3<- byte offset of field
- beq common_errNullObject @ object was null
- .if 0
- add r0, r9, r3 @ r0<- address of field
- bl dvmQuasiAtomicRead64 @ r0/r1<- contents of field
- .else
- ldrd r0, [r9, r3] @ r0/r1<- obj.field (64-bit align ok)
- .endif
- FETCH(r2, 3) @ r2<- BBBB
- FETCH_ADVANCE_INST(5) @ advance rPC, load rINST
- add r3, rFP, r2, lsl #2 @ r3<- &fp[BBBB]
- GET_INST_OPCODE(ip) @ extract opcode from rINST
- stmia r3, {r0-r1} @ fp[BBBB]<- r0/r1
- GOTO_OPCODE(ip) @ jump to next instruction
-
-/* continuation for OP_IGET_OBJECT_JUMBO */
-
- /*
- * Currently:
- * r0 holds resolved field
- * r9 holds object
- */
-.LOP_IGET_OBJECT_JUMBO_resolved:
- cmp r0, #0 @ resolution unsuccessful?
- beq common_exceptionThrown @ yes, throw exception
- @ fall through to OP_IGET_OBJECT_JUMBO_finish
-
- /*
- * Currently:
- * r0 holds resolved field
- * r9 holds object
- */
-.LOP_IGET_OBJECT_JUMBO_finish:
- @bl common_squeak0
- cmp r9, #0 @ check object for null
- ldr r3, [r0, #offInstField_byteOffset] @ r3<- byte offset of field
- beq common_errNullObject @ object was null
- ldr r0, [r9, r3] @ r0<- obj.field (8/16/32 bits)
- @ no-op @ acquiring load
- FETCH(r2, 3) @ r2<- BBBB
- FETCH_ADVANCE_INST(5) @ advance rPC, load rINST
- SET_VREG(r0, r2) @ fp[BBBB]<- r0
- GET_INST_OPCODE(ip) @ extract opcode from rINST
- GOTO_OPCODE(ip) @ jump to next instruction
-
-/* continuation for OP_IGET_BOOLEAN_JUMBO */
-
- /*
- * Currently:
- * r0 holds resolved field
- * r9 holds object
- */
-.LOP_IGET_BOOLEAN_JUMBO_resolved:
- cmp r0, #0 @ resolution unsuccessful?
- beq common_exceptionThrown @ yes, throw exception
- @ fall through to OP_IGET_BOOLEAN_JUMBO_finish
-
- /*
- * Currently:
- * r0 holds resolved field
- * r9 holds object
- */
-.LOP_IGET_BOOLEAN_JUMBO_finish:
- @bl common_squeak1
- cmp r9, #0 @ check object for null
- ldr r3, [r0, #offInstField_byteOffset] @ r3<- byte offset of field
- beq common_errNullObject @ object was null
- ldr r0, [r9, r3] @ r0<- obj.field (8/16/32 bits)
- @ no-op @ acquiring load
- FETCH(r2, 3) @ r2<- BBBB
- FETCH_ADVANCE_INST(5) @ advance rPC, load rINST
- SET_VREG(r0, r2) @ fp[BBBB]<- r0
- GET_INST_OPCODE(ip) @ extract opcode from rINST
- GOTO_OPCODE(ip) @ jump to next instruction
-
-/* continuation for OP_IGET_BYTE_JUMBO */
-
- /*
- * Currently:
- * r0 holds resolved field
- * r9 holds object
- */
-.LOP_IGET_BYTE_JUMBO_resolved:
- cmp r0, #0 @ resolution unsuccessful?
- beq common_exceptionThrown @ yes, throw exception
- @ fall through to OP_IGET_BYTE_JUMBO_finish
-
- /*
- * Currently:
- * r0 holds resolved field
- * r9 holds object
- */
-.LOP_IGET_BYTE_JUMBO_finish:
- @bl common_squeak2
- cmp r9, #0 @ check object for null
- ldr r3, [r0, #offInstField_byteOffset] @ r3<- byte offset of field
- beq common_errNullObject @ object was null
- ldr r0, [r9, r3] @ r0<- obj.field (8/16/32 bits)
- @ no-op @ acquiring load
- FETCH(r2, 3) @ r2<- BBBB
- FETCH_ADVANCE_INST(5) @ advance rPC, load rINST
- SET_VREG(r0, r2) @ fp[BBBB]<- r0
- GET_INST_OPCODE(ip) @ extract opcode from rINST
- GOTO_OPCODE(ip) @ jump to next instruction
-
-/* continuation for OP_IGET_CHAR_JUMBO */
-
- /*
- * Currently:
- * r0 holds resolved field
- * r9 holds object
- */
-.LOP_IGET_CHAR_JUMBO_resolved:
- cmp r0, #0 @ resolution unsuccessful?
- beq common_exceptionThrown @ yes, throw exception
- @ fall through to OP_IGET_CHAR_JUMBO_finish
-
- /*
- * Currently:
- * r0 holds resolved field
- * r9 holds object
- */
-.LOP_IGET_CHAR_JUMBO_finish:
- @bl common_squeak3
- cmp r9, #0 @ check object for null
- ldr r3, [r0, #offInstField_byteOffset] @ r3<- byte offset of field
- beq common_errNullObject @ object was null
- ldr r0, [r9, r3] @ r0<- obj.field (8/16/32 bits)
- @ no-op @ acquiring load
- FETCH(r2, 3) @ r2<- BBBB
- FETCH_ADVANCE_INST(5) @ advance rPC, load rINST
- SET_VREG(r0, r2) @ fp[BBBB]<- r0
- GET_INST_OPCODE(ip) @ extract opcode from rINST
- GOTO_OPCODE(ip) @ jump to next instruction
-
-/* continuation for OP_IGET_SHORT_JUMBO */
-
- /*
- * Currently:
- * r0 holds resolved field
- * r9 holds object
- */
-.LOP_IGET_SHORT_JUMBO_resolved:
- cmp r0, #0 @ resolution unsuccessful?
- beq common_exceptionThrown @ yes, throw exception
- @ fall through to OP_IGET_SHORT_JUMBO_finish
-
- /*
- * Currently:
- * r0 holds resolved field
- * r9 holds object
- */
-.LOP_IGET_SHORT_JUMBO_finish:
- @bl common_squeak4
- cmp r9, #0 @ check object for null
- ldr r3, [r0, #offInstField_byteOffset] @ r3<- byte offset of field
- beq common_errNullObject @ object was null
- ldr r0, [r9, r3] @ r0<- obj.field (8/16/32 bits)
- @ no-op @ acquiring load
- FETCH(r2, 3) @ r2<- BBBB
- FETCH_ADVANCE_INST(5) @ advance rPC, load rINST
- SET_VREG(r0, r2) @ fp[BBBB]<- r0
- GET_INST_OPCODE(ip) @ extract opcode from rINST
- GOTO_OPCODE(ip) @ jump to next instruction
-
-/* continuation for OP_IPUT_JUMBO */
-
- /*
- * Currently:
- * r0 holds resolved field
- * r9 holds object
- */
-.LOP_IPUT_JUMBO_resolved:
- cmp r0, #0 @ resolution unsuccessful?
- beq common_exceptionThrown @ yes, throw exception
- @ fall through to OP_IPUT_JUMBO_finish
-
- /*
- * Currently:
- * r0 holds resolved field
- * r9 holds object
- */
-.LOP_IPUT_JUMBO_finish:
- @bl common_squeak0
- ldr r3, [r0, #offInstField_byteOffset] @ r3<- byte offset of field
- FETCH(r1, 3) @ r1<- BBBB
- cmp r9, #0 @ check object for null
- GET_VREG(r0, r1) @ r0<- fp[BBBB]
- beq common_errNullObject @ object was null
- FETCH_ADVANCE_INST(5) @ advance rPC, load rINST
- GET_INST_OPCODE(ip) @ extract opcode from rINST
- @ no-op @ releasing store
- str r0, [r9, r3] @ obj.field (8/16/32 bits)<- r0
- @ no-op
- GOTO_OPCODE(ip) @ jump to next instruction
-
-/* continuation for OP_IPUT_WIDE_JUMBO */
-
- /*
- * Currently:
- * r0 holds resolved field
- * r9 holds object
- */
-.LOP_IPUT_WIDE_JUMBO_resolved:
- cmp r0, #0 @ resolution unsuccessful?
- beq common_exceptionThrown @ yes, throw exception
- @ fall through to OP_IPUT_WIDE_JUMBO_finish
-
- /*
- * Currently:
- * r0 holds resolved field
- * r9 holds object
- */
-.LOP_IPUT_WIDE_JUMBO_finish:
- cmp r9, #0 @ check object for null
- FETCH(r2, 3) @ r1<- BBBB
- ldr r3, [r0, #offInstField_byteOffset] @ r3<- byte offset of field
- add r2, rFP, r2, lsl #2 @ r3<- &fp[BBBB]
- beq common_errNullObject @ object was null
- FETCH_ADVANCE_INST(5) @ advance rPC, load rINST
- ldmia r2, {r0-r1} @ r0/r1<- fp[BBBB]
- GET_INST_OPCODE(r10) @ extract opcode from rINST
- .if 0
- add r2, r9, r3 @ r2<- target address
- bl dvmQuasiAtomicSwap64Sync @ stores r0/r1 into addr r2
- .else
- strd r0, [r9, r3] @ obj.field (64 bits, aligned)<- r0/r1
- .endif
- GOTO_OPCODE(r10) @ jump to next instruction
-
-/* continuation for OP_IPUT_OBJECT_JUMBO */
-
- /*
- * Currently:
- * r0 holds resolved field
- * r9 holds object
- */
-.LOP_IPUT_OBJECT_JUMBO_resolved:
- cmp r0, #0 @ resolution unsuccessful?
- beq common_exceptionThrown @ yes, throw exception
- @ fall through to OP_IPUT_OBJECT_JUMBO_finish
-
- /*
- * Currently:
- * r0 holds resolved field
- * r9 holds object
- */
-.LOP_IPUT_OBJECT_JUMBO_finish:
- @bl common_squeak0
- ldr r3, [r0, #offInstField_byteOffset] @ r3<- byte offset of field
- FETCH(r1, 3) @ r1<- BBBB
- cmp r9, #0 @ check object for null
- GET_VREG(r0, r1) @ r0<- fp[BBBB]
- ldr r2, [rSELF, #offThread_cardTable] @ r2<- card table base
- beq common_errNullObject @ object was null
- FETCH_ADVANCE_INST(5) @ advance rPC, load rINST
- GET_INST_OPCODE(ip) @ extract opcode from rINST
- @ no-op @ releasing store
- str r0, [r9, r3] @ obj.field (32 bits)<- r0
- @ no-op
- cmp r0, #0 @ stored a null reference?
- strneb r2, [r2, r9, lsr #GC_CARD_SHIFT] @ mark card if not
- GOTO_OPCODE(ip) @ jump to next instruction
-
-/* continuation for OP_IPUT_BOOLEAN_JUMBO */
-
- /*
- * Currently:
- * r0 holds resolved field
- * r9 holds object
- */
-.LOP_IPUT_BOOLEAN_JUMBO_resolved:
- cmp r0, #0 @ resolution unsuccessful?
- beq common_exceptionThrown @ yes, throw exception
- @ fall through to OP_IPUT_BOOLEAN_JUMBO_finish
-
- /*
- * Currently:
- * r0 holds resolved field
- * r9 holds object
- */
-.LOP_IPUT_BOOLEAN_JUMBO_finish:
- @bl common_squeak1
- ldr r3, [r0, #offInstField_byteOffset] @ r3<- byte offset of field
- FETCH(r1, 3) @ r1<- BBBB
- cmp r9, #0 @ check object for null
- GET_VREG(r0, r1) @ r0<- fp[BBBB]
- beq common_errNullObject @ object was null
- FETCH_ADVANCE_INST(5) @ advance rPC, load rINST
- GET_INST_OPCODE(ip) @ extract opcode from rINST
- @ no-op @ releasing store
- str r0, [r9, r3] @ obj.field (8/16/32 bits)<- r0
- @ no-op
- GOTO_OPCODE(ip) @ jump to next instruction
-
-/* continuation for OP_IPUT_BYTE_JUMBO */
-
- /*
- * Currently:
- * r0 holds resolved field
- * r9 holds object
- */
-.LOP_IPUT_BYTE_JUMBO_resolved:
- cmp r0, #0 @ resolution unsuccessful?
- beq common_exceptionThrown @ yes, throw exception
- @ fall through to OP_IPUT_BYTE_JUMBO_finish
-
- /*
- * Currently:
- * r0 holds resolved field
- * r9 holds object
- */
-.LOP_IPUT_BYTE_JUMBO_finish:
- @bl common_squeak2
- ldr r3, [r0, #offInstField_byteOffset] @ r3<- byte offset of field
- FETCH(r1, 3) @ r1<- BBBB
- cmp r9, #0 @ check object for null
- GET_VREG(r0, r1) @ r0<- fp[BBBB]
- beq common_errNullObject @ object was null
- FETCH_ADVANCE_INST(5) @ advance rPC, load rINST
- GET_INST_OPCODE(ip) @ extract opcode from rINST
- @ no-op @ releasing store
- str r0, [r9, r3] @ obj.field (8/16/32 bits)<- r0
- @ no-op
- GOTO_OPCODE(ip) @ jump to next instruction
-
-/* continuation for OP_IPUT_CHAR_JUMBO */
-
- /*
- * Currently:
- * r0 holds resolved field
- * r9 holds object
- */
-.LOP_IPUT_CHAR_JUMBO_resolved:
- cmp r0, #0 @ resolution unsuccessful?
- beq common_exceptionThrown @ yes, throw exception
- @ fall through to OP_IPUT_CHAR_JUMBO_finish
-
- /*
- * Currently:
- * r0 holds resolved field
- * r9 holds object
- */
-.LOP_IPUT_CHAR_JUMBO_finish:
- @bl common_squeak3
- ldr r3, [r0, #offInstField_byteOffset] @ r3<- byte offset of field
- FETCH(r1, 3) @ r1<- BBBB
- cmp r9, #0 @ check object for null
- GET_VREG(r0, r1) @ r0<- fp[BBBB]
- beq common_errNullObject @ object was null
- FETCH_ADVANCE_INST(5) @ advance rPC, load rINST
- GET_INST_OPCODE(ip) @ extract opcode from rINST
- @ no-op @ releasing store
- str r0, [r9, r3] @ obj.field (8/16/32 bits)<- r0
- @ no-op
- GOTO_OPCODE(ip) @ jump to next instruction
-
-/* continuation for OP_IPUT_SHORT_JUMBO */
-
- /*
- * Currently:
- * r0 holds resolved field
- * r9 holds object
- */
-.LOP_IPUT_SHORT_JUMBO_resolved:
- cmp r0, #0 @ resolution unsuccessful?
- beq common_exceptionThrown @ yes, throw exception
- @ fall through to OP_IPUT_SHORT_JUMBO_finish
-
- /*
- * Currently:
- * r0 holds resolved field
- * r9 holds object
- */
-.LOP_IPUT_SHORT_JUMBO_finish:
- @bl common_squeak4
- ldr r3, [r0, #offInstField_byteOffset] @ r3<- byte offset of field
- FETCH(r1, 3) @ r1<- BBBB
- cmp r9, #0 @ check object for null
- GET_VREG(r0, r1) @ r0<- fp[BBBB]
- beq common_errNullObject @ object was null
- FETCH_ADVANCE_INST(5) @ advance rPC, load rINST
- GET_INST_OPCODE(ip) @ extract opcode from rINST
- @ no-op @ releasing store
- str r0, [r9, r3] @ obj.field (8/16/32 bits)<- r0
- @ no-op
- GOTO_OPCODE(ip) @ jump to next instruction
-
-/* continuation for OP_SGET_JUMBO */
-
- /*
- * Continuation if the field has not yet been resolved.
- * r1: AAAAAAAA field ref
- * r10: dvmDex->pResFields
- */
-.LOP_SGET_JUMBO_resolve:
- ldr r2, [rSELF, #offThread_method] @ r2<- current method
-#if defined(WITH_JIT)
- add r10, r10, r1, lsl #2 @ r10<- &dvmDex->pResFields[field]
-#endif
- EXPORT_PC() @ resolve() could throw, so export now
- ldr r0, [r2, #offMethod_clazz] @ r0<- method->clazz
- bl dvmResolveStaticField @ r0<- resolved StaticField ptr
- cmp r0, #0 @ success?
- beq common_exceptionThrown @ no, handle exception
-#if defined(WITH_JIT)
- /*
- * If the JIT is actively building a trace we need to make sure
- * that the field is fully resolved before including this instruction.
- */
- bl common_verifyField
-#endif
- b .LOP_SGET_JUMBO_finish @ resume
-
-/* continuation for OP_SGET_WIDE_JUMBO */
-
- /*
- * Continuation if the field has not yet been resolved.
- * r1: AAAAAAAA field ref
- *
- * Returns StaticField pointer in r0.
- */
-.LOP_SGET_WIDE_JUMBO_resolve:
- ldr r2, [rSELF, #offThread_method] @ r2<- current method
- EXPORT_PC() @ resolve() could throw, so export now
- ldr r0, [r2, #offMethod_clazz] @ r0<- method->clazz
- bl dvmResolveStaticField @ r0<- resolved StaticField ptr
- cmp r0, #0 @ success?
- bne .LOP_SGET_WIDE_JUMBO_finish @ yes, finish
- b common_exceptionThrown @ no, handle exception
-
-/* continuation for OP_SGET_OBJECT_JUMBO */
-
- /*
- * Continuation if the field has not yet been resolved.
- * r1: AAAAAAAA field ref
- * r10: dvmDex->pResFields
- */
-.LOP_SGET_OBJECT_JUMBO_resolve:
- ldr r2, [rSELF, #offThread_method] @ r2<- current method
-#if defined(WITH_JIT)
- add r10, r10, r1, lsl #2 @ r10<- &dvmDex->pResFields[field]
-#endif
- EXPORT_PC() @ resolve() could throw, so export now
- ldr r0, [r2, #offMethod_clazz] @ r0<- method->clazz
- bl dvmResolveStaticField @ r0<- resolved StaticField ptr
- cmp r0, #0 @ success?
- beq common_exceptionThrown @ no, handle exception
-#if defined(WITH_JIT)
- /*
- * If the JIT is actively building a trace we need to make sure
- * that the field is fully resolved before including this instruction.
- */
- bl common_verifyField
-#endif
- b .LOP_SGET_OBJECT_JUMBO_finish @ resume
-
-/* continuation for OP_SGET_BOOLEAN_JUMBO */
-
- /*
- * Continuation if the field has not yet been resolved.
- * r1: AAAAAAAA field ref
- * r10: dvmDex->pResFields
- */
-.LOP_SGET_BOOLEAN_JUMBO_resolve:
- ldr r2, [rSELF, #offThread_method] @ r2<- current method
-#if defined(WITH_JIT)
- add r10, r10, r1, lsl #2 @ r10<- &dvmDex->pResFields[field]
-#endif
- EXPORT_PC() @ resolve() could throw, so export now
- ldr r0, [r2, #offMethod_clazz] @ r0<- method->clazz
- bl dvmResolveStaticField @ r0<- resolved StaticField ptr
- cmp r0, #0 @ success?
- beq common_exceptionThrown @ no, handle exception
-#if defined(WITH_JIT)
- /*
- * If the JIT is actively building a trace we need to make sure
- * that the field is fully resolved before including this instruction.
- */
- bl common_verifyField
-#endif
- b .LOP_SGET_BOOLEAN_JUMBO_finish @ resume
-
-/* continuation for OP_SGET_BYTE_JUMBO */
-
- /*
- * Continuation if the field has not yet been resolved.
- * r1: AAAAAAAA field ref
- * r10: dvmDex->pResFields
- */
-.LOP_SGET_BYTE_JUMBO_resolve:
- ldr r2, [rSELF, #offThread_method] @ r2<- current method
-#if defined(WITH_JIT)
- add r10, r10, r1, lsl #2 @ r10<- &dvmDex->pResFields[field]
-#endif
- EXPORT_PC() @ resolve() could throw, so export now
- ldr r0, [r2, #offMethod_clazz] @ r0<- method->clazz
- bl dvmResolveStaticField @ r0<- resolved StaticField ptr
- cmp r0, #0 @ success?
- beq common_exceptionThrown @ no, handle exception
-#if defined(WITH_JIT)
- /*
- * If the JIT is actively building a trace we need to make sure
- * that the field is fully resolved before including this instruction.
- */
- bl common_verifyField
-#endif
- b .LOP_SGET_BYTE_JUMBO_finish @ resume
-
-/* continuation for OP_SGET_CHAR_JUMBO */
-
- /*
- * Continuation if the field has not yet been resolved.
- * r1: AAAAAAAA field ref
- * r10: dvmDex->pResFields
- */
-.LOP_SGET_CHAR_JUMBO_resolve:
- ldr r2, [rSELF, #offThread_method] @ r2<- current method
-#if defined(WITH_JIT)
- add r10, r10, r1, lsl #2 @ r10<- &dvmDex->pResFields[field]
-#endif
- EXPORT_PC() @ resolve() could throw, so export now
- ldr r0, [r2, #offMethod_clazz] @ r0<- method->clazz
- bl dvmResolveStaticField @ r0<- resolved StaticField ptr
- cmp r0, #0 @ success?
- beq common_exceptionThrown @ no, handle exception
-#if defined(WITH_JIT)
- /*
- * If the JIT is actively building a trace we need to make sure
- * that the field is fully resolved before including this instruction.
- */
- bl common_verifyField
-#endif
- b .LOP_SGET_CHAR_JUMBO_finish @ resume
-
-/* continuation for OP_SGET_SHORT_JUMBO */
-
- /*
- * Continuation if the field has not yet been resolved.
- * r1: AAAAAAAA field ref
- * r10: dvmDex->pResFields
- */
-.LOP_SGET_SHORT_JUMBO_resolve:
- ldr r2, [rSELF, #offThread_method] @ r2<- current method
-#if defined(WITH_JIT)
- add r10, r10, r1, lsl #2 @ r10<- &dvmDex->pResFields[field]
-#endif
- EXPORT_PC() @ resolve() could throw, so export now
- ldr r0, [r2, #offMethod_clazz] @ r0<- method->clazz
- bl dvmResolveStaticField @ r0<- resolved StaticField ptr
- cmp r0, #0 @ success?
- beq common_exceptionThrown @ no, handle exception
-#if defined(WITH_JIT)
- /*
- * If the JIT is actively building a trace we need to make sure
- * that the field is fully resolved before including this instruction.
- */
- bl common_verifyField
-#endif
- b .LOP_SGET_SHORT_JUMBO_finish @ resume
-
-/* continuation for OP_SPUT_JUMBO */
-
- /*
- * Continuation if the field has not yet been resolved.
- * r1: AAAAAAAA field ref
- * r10: dvmDex->pResFields
- */
-.LOP_SPUT_JUMBO_resolve:
- ldr r2, [rSELF, #offThread_method] @ r2<- current method
-#if defined(WITH_JIT)
- add r10, r10, r1, lsl #2 @ r10<- &dvmDex->pResFields[field]
-#endif
- EXPORT_PC() @ resolve() could throw, so export now
- ldr r0, [r2, #offMethod_clazz] @ r0<- method->clazz
- bl dvmResolveStaticField @ r0<- resolved StaticField ptr
- cmp r0, #0 @ success?
- beq common_exceptionThrown @ no, handle exception
-#if defined(WITH_JIT)
- /*
- * If the JIT is actively building a trace we need to make sure
- * that the field is fully resolved before including this instruction.
- */
- bl common_verifyField
-#endif
- b .LOP_SPUT_JUMBO_finish @ resume
-
-/* continuation for OP_SPUT_WIDE_JUMBO */
-
- /*
- * Continuation if the field has not yet been resolved.
- * r1: AAAAAAAA field ref
- * r9: &fp[BBBB]
- * r10: dvmDex->pResFields
- *
- * Returns StaticField pointer in r2.
- */
-.LOP_SPUT_WIDE_JUMBO_resolve:
- ldr r2, [rSELF, #offThread_method] @ r2<- current method
-#if defined(WITH_JIT)
- add r10, r10, r1, lsl #2 @ r10<- &dvmDex->pResFields[field]
-#endif
- EXPORT_PC() @ resolve() could throw, so export now
- ldr r0, [r2, #offMethod_clazz] @ r0<- method->clazz
- bl dvmResolveStaticField @ r0<- resolved StaticField ptr
- cmp r0, #0 @ success?
- mov r2, r0 @ copy to r2
- beq common_exceptionThrown @ no, handle exception
-#if defined(WITH_JIT)
- /*
- * If the JIT is actively building a trace we need to make sure
- * that the field is fully resolved before including this instruction.
- */
- bl common_verifyField
-#endif
- b .LOP_SPUT_WIDE_JUMBO_finish @ resume
-
-/* continuation for OP_SPUT_OBJECT_JUMBO */
-
-
-.LOP_SPUT_OBJECT_JUMBO_end:
- str r1, [r0, #offStaticField_value] @ field<- vBBBB
- @ no-op
- cmp r1, #0 @ stored a null object?
- strneb r2, [r2, r9, lsr #GC_CARD_SHIFT] @ mark card based on obj head
- GOTO_OPCODE(ip) @ jump to next instruction
-
- /* Continuation if the field has not yet been resolved.
- * r1: AAAAaaaa field ref
- * r10: dvmDex->pResFields
- */
-.LOP_SPUT_OBJECT_JUMBO_resolve:
- ldr r2, [rSELF, #offThread_method] @ r9<- current method
-#if defined(WITH_JIT)
- add r10, r10, r1, lsl #2 @ r10<- &dvmDex->pResFields[field]
-#endif
- EXPORT_PC() @ resolve() could throw, so export now
- ldr r0, [r2, #offMethod_clazz] @ r0<- method->clazz
- bl dvmResolveStaticField @ r0<- resolved StaticField ptr
- cmp r0, #0 @ success?
- beq common_exceptionThrown @ no, handle exception
-#if defined(WITH_JIT)
- /*
- * If the JIT is actively building a trace we need to make sure
- * that the field is fully resolved before including this instruction.
- */
- bl common_verifyField
-#endif
- b .LOP_SPUT_OBJECT_JUMBO_finish @ resume
-
-
-/* continuation for OP_SPUT_BOOLEAN_JUMBO */
-
- /*
- * Continuation if the field has not yet been resolved.
- * r1: AAAAAAAA field ref
- * r10: dvmDex->pResFields
- */
-.LOP_SPUT_BOOLEAN_JUMBO_resolve:
- ldr r2, [rSELF, #offThread_method] @ r2<- current method
-#if defined(WITH_JIT)
- add r10, r10, r1, lsl #2 @ r10<- &dvmDex->pResFields[field]
-#endif
- EXPORT_PC() @ resolve() could throw, so export now
- ldr r0, [r2, #offMethod_clazz] @ r0<- method->clazz
- bl dvmResolveStaticField @ r0<- resolved StaticField ptr
- cmp r0, #0 @ success?
- beq common_exceptionThrown @ no, handle exception
-#if defined(WITH_JIT)
- /*
- * If the JIT is actively building a trace we need to make sure
- * that the field is fully resolved before including this instruction.
- */
- bl common_verifyField
-#endif
- b .LOP_SPUT_BOOLEAN_JUMBO_finish @ resume
-
-/* continuation for OP_SPUT_BYTE_JUMBO */
-
- /*
- * Continuation if the field has not yet been resolved.
- * r1: AAAAAAAA field ref
- * r10: dvmDex->pResFields
- */
-.LOP_SPUT_BYTE_JUMBO_resolve:
- ldr r2, [rSELF, #offThread_method] @ r2<- current method
-#if defined(WITH_JIT)
- add r10, r10, r1, lsl #2 @ r10<- &dvmDex->pResFields[field]
-#endif
- EXPORT_PC() @ resolve() could throw, so export now
- ldr r0, [r2, #offMethod_clazz] @ r0<- method->clazz
- bl dvmResolveStaticField @ r0<- resolved StaticField ptr
- cmp r0, #0 @ success?
- beq common_exceptionThrown @ no, handle exception
-#if defined(WITH_JIT)
- /*
- * If the JIT is actively building a trace we need to make sure
- * that the field is fully resolved before including this instruction.
- */
- bl common_verifyField
-#endif
- b .LOP_SPUT_BYTE_JUMBO_finish @ resume
-
-/* continuation for OP_SPUT_CHAR_JUMBO */
-
- /*
- * Continuation if the field has not yet been resolved.
- * r1: AAAAAAAA field ref
- * r10: dvmDex->pResFields
- */
-.LOP_SPUT_CHAR_JUMBO_resolve:
- ldr r2, [rSELF, #offThread_method] @ r2<- current method
-#if defined(WITH_JIT)
- add r10, r10, r1, lsl #2 @ r10<- &dvmDex->pResFields[field]
-#endif
- EXPORT_PC() @ resolve() could throw, so export now
- ldr r0, [r2, #offMethod_clazz] @ r0<- method->clazz
- bl dvmResolveStaticField @ r0<- resolved StaticField ptr
- cmp r0, #0 @ success?
- beq common_exceptionThrown @ no, handle exception
-#if defined(WITH_JIT)
- /*
- * If the JIT is actively building a trace we need to make sure
- * that the field is fully resolved before including this instruction.
- */
- bl common_verifyField
-#endif
- b .LOP_SPUT_CHAR_JUMBO_finish @ resume
-
-/* continuation for OP_SPUT_SHORT_JUMBO */
-
- /*
- * Continuation if the field has not yet been resolved.
- * r1: AAAAAAAA field ref
- * r10: dvmDex->pResFields
- */
-.LOP_SPUT_SHORT_JUMBO_resolve:
- ldr r2, [rSELF, #offThread_method] @ r2<- current method
-#if defined(WITH_JIT)
- add r10, r10, r1, lsl #2 @ r10<- &dvmDex->pResFields[field]
-#endif
- EXPORT_PC() @ resolve() could throw, so export now
- ldr r0, [r2, #offMethod_clazz] @ r0<- method->clazz
- bl dvmResolveStaticField @ r0<- resolved StaticField ptr
- cmp r0, #0 @ success?
- beq common_exceptionThrown @ no, handle exception
-#if defined(WITH_JIT)
- /*
- * If the JIT is actively building a trace we need to make sure
- * that the field is fully resolved before including this instruction.
- */
- bl common_verifyField
-#endif
- b .LOP_SPUT_SHORT_JUMBO_finish @ resume
-
-/* continuation for OP_INVOKE_VIRTUAL_JUMBO */
-
- /*
- * At this point:
- * r0 = resolved base method
- */
-.LOP_INVOKE_VIRTUAL_JUMBO_continue:
- FETCH(r10, 4) @ r10<- CCCC
- GET_VREG(r9, r10) @ r9<- "this" ptr
- ldrh r2, [r0, #offMethod_methodIndex] @ r2<- baseMethod->methodIndex
- cmp r9, #0 @ is "this" null?
- beq common_errNullObject @ null "this", throw exception
- ldr r3, [r9, #offObject_clazz] @ r3<- thisPtr->clazz
- ldr r3, [r3, #offClassObject_vtable] @ r3<- thisPtr->clazz->vtable
- ldr r0, [r3, r2, lsl #2] @ r3<- vtable[methodIndex]
- bl common_invokeMethodJumbo @ (r0=method, r9="this")
-
-/* continuation for OP_INVOKE_SUPER_JUMBO */
-
- /*
- * At this point:
- * r0 = resolved base method
- * r10 = method->clazz
- */
-.LOP_INVOKE_SUPER_JUMBO_continue:
- ldr r1, [r10, #offClassObject_super] @ r1<- method->clazz->super
- ldrh r2, [r0, #offMethod_methodIndex] @ r2<- baseMethod->methodIndex
- ldr r3, [r1, #offClassObject_vtableCount] @ r3<- super->vtableCount
- EXPORT_PC() @ must export for invoke
- cmp r2, r3 @ compare (methodIndex, vtableCount)
- bcs .LOP_INVOKE_SUPER_JUMBO_nsm @ method not present in superclass
- ldr r1, [r1, #offClassObject_vtable] @ r1<- ...clazz->super->vtable
- ldr r0, [r1, r2, lsl #2] @ r3<- vtable[methodIndex]
- bl common_invokeMethodJumbo @ (r0=method, r9="this")
-
-.LOP_INVOKE_SUPER_JUMBO_resolve:
- mov r0, r10 @ r0<- method->clazz
- mov r2, #METHOD_VIRTUAL @ resolver method type
- bl dvmResolveMethod @ r0<- call(clazz, ref, flags)
- cmp r0, #0 @ got null?
- bne .LOP_INVOKE_SUPER_JUMBO_continue @ no, continue
- b common_exceptionThrown @ yes, handle exception
-
- /*
- * Throw a NoSuchMethodError with the method name as the message.
- * r0 = resolved base method
- */
-.LOP_INVOKE_SUPER_JUMBO_nsm:
- ldr r1, [r0, #offMethod_name] @ r1<- method name
- b common_errNoSuchMethod
-
-/* continuation for OP_INVOKE_DIRECT_JUMBO */
-
- /*
- * On entry:
- * r1 = reference (CCCC)
- * r10 = "this" register
- */
-.LOP_INVOKE_DIRECT_JUMBO_resolve:
- ldr r3, [rSELF, #offThread_method] @ r3<- self->method
- ldr r0, [r3, #offMethod_clazz] @ r0<- method->clazz
- mov r2, #METHOD_DIRECT @ resolver method type
- bl dvmResolveMethod @ r0<- call(clazz, ref, flags)
- cmp r0, #0 @ got null?
- bne .LOP_INVOKE_DIRECT_JUMBO_finish @ no, continue
- b common_exceptionThrown @ yes, handle exception
-
-/* continuation for OP_INVOKE_STATIC_JUMBO */
-
-
-.LOP_INVOKE_STATIC_JUMBO_resolve:
- ldr r3, [rSELF, #offThread_method] @ r3<- self->method
- ldr r0, [r3, #offMethod_clazz] @ r0<- method->clazz
- mov r2, #METHOD_STATIC @ resolver method type
- bl dvmResolveMethod @ r0<- call(clazz, ref, flags)
- cmp r0, #0 @ got null?
-#if defined(WITH_JIT)
- /*
- * Check to see if we're actively building a trace. If so,
- * we need to keep this instruction out of it.
- * r10: &resolved_methodToCall
- */
- ldrh r2, [rSELF, #offThread_subMode]
- beq common_exceptionThrown @ null, handle exception
- ands r2, #kSubModeJitTraceBuild @ trace under construction?
- beq common_invokeMethodJumboNoThis @ no (r0=method, r9="this")
- ldr r1, [r10] @ reload resolved method
- cmp r1, #0 @ finished resolving?
- bne common_invokeMethodJumboNoThis @ yes (r0=method, r9="this")
- mov r10, r0 @ preserve method
- mov r0, rSELF
- mov r1, rPC
- bl dvmJitEndTraceSelect @ (self, pc)
- mov r0, r10
- b common_invokeMethodJumboNoThis @ whew, finally!
-#else
- bne common_invokeMethodJumboNoThis @ (r0=method, r9="this")
- b common_exceptionThrown @ yes, handle exception
-#endif
-
-/* continuation for OP_INVOKE_OBJECT_INIT_JUMBO */
-
-.LOP_INVOKE_OBJECT_INIT_JUMBO_setFinal:
- EXPORT_PC() @ can throw
- bl dvmSetFinalizable @ call dvmSetFinalizable(obj)
- ldr r0, [rSELF, #offThread_exception] @ r0<- self->exception
- cmp r0, #0 @ exception pending?
- bne common_exceptionThrown @ yes, handle it
- b .LOP_INVOKE_OBJECT_INIT_JUMBO_finish
-
- /*
- * A debugger is attached, so we need to go ahead and do
- * this. For simplicity, we'll just jump directly to the
- * corresponding handler. Note that we can't use
- * rIBASE here because it may be in single-step mode.
- * Load the primary table base directly.
- */
-.LOP_INVOKE_OBJECT_INIT_JUMBO_debugger:
- ldr r1, [rSELF, #offThread_mainHandlerTable]
- .if 1
- mov ip, #OP_INVOKE_DIRECT_JUMBO
- .else
- mov ip, #OP_INVOKE_DIRECT_RANGE
- .endif
- GOTO_OPCODE_BASE(r1,ip) @ execute it
-
-/* continuation for OP_IGET_VOLATILE_JUMBO */
-
- /*
- * Currently:
- * r0 holds resolved field
- * r9 holds object
- */
-.LOP_IGET_VOLATILE_JUMBO_resolved:
- cmp r0, #0 @ resolution unsuccessful?
- beq common_exceptionThrown @ yes, throw exception
- @ fall through to OP_IGET_VOLATILE_JUMBO_finish
-
- /*
- * Currently:
- * r0 holds resolved field
- * r9 holds object
- */
-.LOP_IGET_VOLATILE_JUMBO_finish:
- @bl common_squeak0
- cmp r9, #0 @ check object for null
- ldr r3, [r0, #offInstField_byteOffset] @ r3<- byte offset of field
- beq common_errNullObject @ object was null
- ldr r0, [r9, r3] @ r0<- obj.field (8/16/32 bits)
- SMP_DMB @ acquiring load
- FETCH(r2, 3) @ r2<- BBBB
- FETCH_ADVANCE_INST(5) @ advance rPC, load rINST
- SET_VREG(r0, r2) @ fp[BBBB]<- r0
- GET_INST_OPCODE(ip) @ extract opcode from rINST
- GOTO_OPCODE(ip) @ jump to next instruction
-
-/* continuation for OP_IGET_WIDE_VOLATILE_JUMBO */
-
- /*
- * Currently:
- * r0 holds resolved field
- * r9 holds object
- */
-.LOP_IGET_WIDE_VOLATILE_JUMBO_resolved:
- cmp r0, #0 @ resolution unsuccessful?
- beq common_exceptionThrown @ yes, throw exception
- @ fall through to OP_IGET_WIDE_VOLATILE_JUMBO_finish
-
- /*
- * Currently:
- * r0 holds resolved field
- * r9 holds object
- */
-.LOP_IGET_WIDE_VOLATILE_JUMBO_finish:
- cmp r9, #0 @ check object for null
- ldr r3, [r0, #offInstField_byteOffset] @ r3<- byte offset of field
- beq common_errNullObject @ object was null
- .if 1
- add r0, r9, r3 @ r0<- address of field
- bl dvmQuasiAtomicRead64 @ r0/r1<- contents of field
- .else
- ldrd r0, [r9, r3] @ r0/r1<- obj.field (64-bit align ok)
- .endif
- FETCH(r2, 3) @ r2<- BBBB
- FETCH_ADVANCE_INST(5) @ advance rPC, load rINST
- add r3, rFP, r2, lsl #2 @ r3<- &fp[BBBB]
- GET_INST_OPCODE(ip) @ extract opcode from rINST
- stmia r3, {r0-r1} @ fp[BBBB]<- r0/r1
- GOTO_OPCODE(ip) @ jump to next instruction
-
-/* continuation for OP_IGET_OBJECT_VOLATILE_JUMBO */
-
- /*
- * Currently:
- * r0 holds resolved field
- * r9 holds object
- */
-.LOP_IGET_OBJECT_VOLATILE_JUMBO_resolved:
- cmp r0, #0 @ resolution unsuccessful?
- beq common_exceptionThrown @ yes, throw exception
- @ fall through to OP_IGET_OBJECT_VOLATILE_JUMBO_finish
-
- /*
- * Currently:
- * r0 holds resolved field
- * r9 holds object
- */
-.LOP_IGET_OBJECT_VOLATILE_JUMBO_finish:
- @bl common_squeak0
- cmp r9, #0 @ check object for null
- ldr r3, [r0, #offInstField_byteOffset] @ r3<- byte offset of field
- beq common_errNullObject @ object was null
- ldr r0, [r9, r3] @ r0<- obj.field (8/16/32 bits)
- SMP_DMB @ acquiring load
- FETCH(r2, 3) @ r2<- BBBB
- FETCH_ADVANCE_INST(5) @ advance rPC, load rINST
- SET_VREG(r0, r2) @ fp[BBBB]<- r0
- GET_INST_OPCODE(ip) @ extract opcode from rINST
- GOTO_OPCODE(ip) @ jump to next instruction
-
-/* continuation for OP_IPUT_VOLATILE_JUMBO */
-
- /*
- * Currently:
- * r0 holds resolved field
- * r9 holds object
- */
-.LOP_IPUT_VOLATILE_JUMBO_resolved:
- cmp r0, #0 @ resolution unsuccessful?
- beq common_exceptionThrown @ yes, throw exception
- @ fall through to OP_IPUT_VOLATILE_JUMBO_finish
-
- /*
- * Currently:
- * r0 holds resolved field
- * r9 holds object
- */
-.LOP_IPUT_VOLATILE_JUMBO_finish:
- @bl common_squeak0
- ldr r3, [r0, #offInstField_byteOffset] @ r3<- byte offset of field
- FETCH(r1, 3) @ r1<- BBBB
- cmp r9, #0 @ check object for null
- GET_VREG(r0, r1) @ r0<- fp[BBBB]
- beq common_errNullObject @ object was null
- FETCH_ADVANCE_INST(5) @ advance rPC, load rINST
- GET_INST_OPCODE(ip) @ extract opcode from rINST
- SMP_DMB_ST @ releasing store
- str r0, [r9, r3] @ obj.field (8/16/32 bits)<- r0
- SMP_DMB
- GOTO_OPCODE(ip) @ jump to next instruction
-
-/* continuation for OP_IPUT_WIDE_VOLATILE_JUMBO */
-
- /*
- * Currently:
- * r0 holds resolved field
- * r9 holds object
- */
-.LOP_IPUT_WIDE_VOLATILE_JUMBO_resolved:
- cmp r0, #0 @ resolution unsuccessful?
- beq common_exceptionThrown @ yes, throw exception
- @ fall through to OP_IPUT_WIDE_VOLATILE_JUMBO_finish
-
- /*
- * Currently:
- * r0 holds resolved field
- * r9 holds object
- */
-.LOP_IPUT_WIDE_VOLATILE_JUMBO_finish:
- cmp r9, #0 @ check object for null
- FETCH(r2, 3) @ r1<- BBBB
- ldr r3, [r0, #offInstField_byteOffset] @ r3<- byte offset of field
- add r2, rFP, r2, lsl #2 @ r3<- &fp[BBBB]
- beq common_errNullObject @ object was null
- FETCH_ADVANCE_INST(5) @ advance rPC, load rINST
- ldmia r2, {r0-r1} @ r0/r1<- fp[BBBB]
- GET_INST_OPCODE(r10) @ extract opcode from rINST
- .if 1
- add r2, r9, r3 @ r2<- target address
- bl dvmQuasiAtomicSwap64Sync @ stores r0/r1 into addr r2
- .else
- strd r0, [r9, r3] @ obj.field (64 bits, aligned)<- r0/r1
- .endif
- GOTO_OPCODE(r10) @ jump to next instruction
-
-/* continuation for OP_IPUT_OBJECT_VOLATILE_JUMBO */
-
- /*
- * Currently:
- * r0 holds resolved field
- * r9 holds object
- */
-.LOP_IPUT_OBJECT_VOLATILE_JUMBO_resolved:
- cmp r0, #0 @ resolution unsuccessful?
- beq common_exceptionThrown @ yes, throw exception
- @ fall through to OP_IPUT_OBJECT_VOLATILE_JUMBO_finish
-
- /*
- * Currently:
- * r0 holds resolved field
- * r9 holds object
- */
-.LOP_IPUT_OBJECT_VOLATILE_JUMBO_finish:
- @bl common_squeak0
- ldr r3, [r0, #offInstField_byteOffset] @ r3<- byte offset of field
- FETCH(r1, 3) @ r1<- BBBB
- cmp r9, #0 @ check object for null
- GET_VREG(r0, r1) @ r0<- fp[BBBB]
- ldr r2, [rSELF, #offThread_cardTable] @ r2<- card table base
- beq common_errNullObject @ object was null
- FETCH_ADVANCE_INST(5) @ advance rPC, load rINST
- GET_INST_OPCODE(ip) @ extract opcode from rINST
- SMP_DMB_ST @ releasing store
- str r0, [r9, r3] @ obj.field (32 bits)<- r0
- SMP_DMB
- cmp r0, #0 @ stored a null reference?
- strneb r2, [r2, r9, lsr #GC_CARD_SHIFT] @ mark card if not
- GOTO_OPCODE(ip) @ jump to next instruction
-
-/* continuation for OP_SGET_VOLATILE_JUMBO */
-
- /*
- * Continuation if the field has not yet been resolved.
- * r1: AAAAAAAA field ref
- * r10: dvmDex->pResFields
- */
-.LOP_SGET_VOLATILE_JUMBO_resolve:
- ldr r2, [rSELF, #offThread_method] @ r2<- current method
-#if defined(WITH_JIT)
- add r10, r10, r1, lsl #2 @ r10<- &dvmDex->pResFields[field]
-#endif
- EXPORT_PC() @ resolve() could throw, so export now
- ldr r0, [r2, #offMethod_clazz] @ r0<- method->clazz
- bl dvmResolveStaticField @ r0<- resolved StaticField ptr
- cmp r0, #0 @ success?
- beq common_exceptionThrown @ no, handle exception
-#if defined(WITH_JIT)
- /*
- * If the JIT is actively building a trace we need to make sure
- * that the field is fully resolved before including this instruction.
- */
- bl common_verifyField
-#endif
- b .LOP_SGET_VOLATILE_JUMBO_finish @ resume
-
-/* continuation for OP_SGET_WIDE_VOLATILE_JUMBO */
-
- /*
- * Continuation if the field has not yet been resolved.
- * r1: AAAAAAAA field ref
- *
- * Returns StaticField pointer in r0.
- */
-.LOP_SGET_WIDE_VOLATILE_JUMBO_resolve:
- ldr r2, [rSELF, #offThread_method] @ r2<- current method
- EXPORT_PC() @ resolve() could throw, so export now
- ldr r0, [r2, #offMethod_clazz] @ r0<- method->clazz
- bl dvmResolveStaticField @ r0<- resolved StaticField ptr
- cmp r0, #0 @ success?
- bne .LOP_SGET_WIDE_VOLATILE_JUMBO_finish @ yes, finish
- b common_exceptionThrown @ no, handle exception
-
-/* continuation for OP_SGET_OBJECT_VOLATILE_JUMBO */
-
- /*
- * Continuation if the field has not yet been resolved.
- * r1: AAAAAAAA field ref
- * r10: dvmDex->pResFields
- */
-.LOP_SGET_OBJECT_VOLATILE_JUMBO_resolve:
- ldr r2, [rSELF, #offThread_method] @ r2<- current method
-#if defined(WITH_JIT)
- add r10, r10, r1, lsl #2 @ r10<- &dvmDex->pResFields[field]
-#endif
- EXPORT_PC() @ resolve() could throw, so export now
- ldr r0, [r2, #offMethod_clazz] @ r0<- method->clazz
- bl dvmResolveStaticField @ r0<- resolved StaticField ptr
- cmp r0, #0 @ success?
- beq common_exceptionThrown @ no, handle exception
-#if defined(WITH_JIT)
- /*
- * If the JIT is actively building a trace we need to make sure
- * that the field is fully resolved before including this instruction.
- */
- bl common_verifyField
-#endif
- b .LOP_SGET_OBJECT_VOLATILE_JUMBO_finish @ resume
-
-/* continuation for OP_SPUT_VOLATILE_JUMBO */
-
- /*
- * Continuation if the field has not yet been resolved.
- * r1: AAAAAAAA field ref
- * r10: dvmDex->pResFields
- */
-.LOP_SPUT_VOLATILE_JUMBO_resolve:
- ldr r2, [rSELF, #offThread_method] @ r2<- current method
-#if defined(WITH_JIT)
- add r10, r10, r1, lsl #2 @ r10<- &dvmDex->pResFields[field]
-#endif
- EXPORT_PC() @ resolve() could throw, so export now
- ldr r0, [r2, #offMethod_clazz] @ r0<- method->clazz
- bl dvmResolveStaticField @ r0<- resolved StaticField ptr
- cmp r0, #0 @ success?
- beq common_exceptionThrown @ no, handle exception
-#if defined(WITH_JIT)
- /*
- * If the JIT is actively building a trace we need to make sure
- * that the field is fully resolved before including this instruction.
- */
- bl common_verifyField
-#endif
- b .LOP_SPUT_VOLATILE_JUMBO_finish @ resume
-
-/* continuation for OP_SPUT_WIDE_VOLATILE_JUMBO */
-
- /*
- * Continuation if the field has not yet been resolved.
- * r1: AAAAAAAA field ref
- * r9: &fp[BBBB]
- * r10: dvmDex->pResFields
- *
- * Returns StaticField pointer in r2.
- */
-.LOP_SPUT_WIDE_VOLATILE_JUMBO_resolve:
- ldr r2, [rSELF, #offThread_method] @ r2<- current method
-#if defined(WITH_JIT)
- add r10, r10, r1, lsl #2 @ r10<- &dvmDex->pResFields[field]
-#endif
- EXPORT_PC() @ resolve() could throw, so export now
- ldr r0, [r2, #offMethod_clazz] @ r0<- method->clazz
- bl dvmResolveStaticField @ r0<- resolved StaticField ptr
- cmp r0, #0 @ success?
- mov r2, r0 @ copy to r2
- beq common_exceptionThrown @ no, handle exception
-#if defined(WITH_JIT)
- /*
- * If the JIT is actively building a trace we need to make sure
- * that the field is fully resolved before including this instruction.
- */
- bl common_verifyField
-#endif
- b .LOP_SPUT_WIDE_VOLATILE_JUMBO_finish @ resume
-
-/* continuation for OP_SPUT_OBJECT_VOLATILE_JUMBO */
-
-
-.LOP_SPUT_OBJECT_VOLATILE_JUMBO_end:
- str r1, [r0, #offStaticField_value] @ field<- vBBBB
- SMP_DMB
- cmp r1, #0 @ stored a null object?
- strneb r2, [r2, r9, lsr #GC_CARD_SHIFT] @ mark card based on obj head
- GOTO_OPCODE(ip) @ jump to next instruction
-
- /* Continuation if the field has not yet been resolved.
- * r1: AAAAaaaa field ref
- * r10: dvmDex->pResFields
- */
-.LOP_SPUT_OBJECT_VOLATILE_JUMBO_resolve:
- ldr r2, [rSELF, #offThread_method] @ r9<- current method
-#if defined(WITH_JIT)
- add r10, r10, r1, lsl #2 @ r10<- &dvmDex->pResFields[field]
-#endif
- EXPORT_PC() @ resolve() could throw, so export now
- ldr r0, [r2, #offMethod_clazz] @ r0<- method->clazz
- bl dvmResolveStaticField @ r0<- resolved StaticField ptr
- cmp r0, #0 @ success?
- beq common_exceptionThrown @ no, handle exception
-#if defined(WITH_JIT)
- /*
- * If the JIT is actively building a trace we need to make sure
- * that the field is fully resolved before including this instruction.
- */
- bl common_verifyField
-#endif
- b .LOP_SPUT_OBJECT_VOLATILE_JUMBO_finish @ resume
-
-
.size dvmAsmSisterStart, .-dvmAsmSisterStart
.global dvmAsmSisterEnd
dvmAsmSisterEnd:
@@ -20258,5449 +15552,7 @@ dvmAsmAltInstructionStart = .L_ALT_OP_NOP
/* ------------------------------ */
.balign 64
-.L_ALT_OP_DISPATCH_FF: /* 0xff */
-/* File: armv5te/ALT_OP_DISPATCH_FF.S */
-/*
- * Unlike other alt stubs, we don't want to call dvmCheckBefore() here.
- * Instead, just treat this as a trampoline to reach the real alt
- * handler (which will do the dvmCheckBefore() call.
- */
- mov ip, rINST, lsr #8 @ ip<- extended opcode
- add ip, ip, #256 @ add offset for extended opcodes
- GOTO_OPCODE(ip) @ go to proper extended handler
-
-
-/* ------------------------------ */
- .balign 64
-.L_ALT_OP_CONST_CLASS_JUMBO: /* 0x100 */
-/* File: armv5te/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Note that the call to dvmCheckBefore is done as a tail call.
- * rIBASE updates won't be seen until a refresh, and we can tell we have a
- * stale rIBASE if breakFlags==0. Always refresh rIBASE here, and then
- * bail to the real handler if breakFlags==0.
- */
- ldrb r3, [rSELF, #offThread_breakFlags]
- adrl lr, dvmAsmInstructionStart + (256 * 64)
- ldr rIBASE, [rSELF, #offThread_curHandlerTable]
- cmp r3, #0
- bxeq lr @ nothing to do - jump to real handler
- EXPORT_PC()
- mov r0, rPC @ arg0
- mov r1, rFP @ arg1
- mov r2, rSELF @ arg2
- b dvmCheckBefore @ (dPC,dFP,self) tail call
-
-/* ------------------------------ */
- .balign 64
-.L_ALT_OP_CHECK_CAST_JUMBO: /* 0x101 */
-/* File: armv5te/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Note that the call to dvmCheckBefore is done as a tail call.
- * rIBASE updates won't be seen until a refresh, and we can tell we have a
- * stale rIBASE if breakFlags==0. Always refresh rIBASE here, and then
- * bail to the real handler if breakFlags==0.
- */
- ldrb r3, [rSELF, #offThread_breakFlags]
- adrl lr, dvmAsmInstructionStart + (257 * 64)
- ldr rIBASE, [rSELF, #offThread_curHandlerTable]
- cmp r3, #0
- bxeq lr @ nothing to do - jump to real handler
- EXPORT_PC()
- mov r0, rPC @ arg0
- mov r1, rFP @ arg1
- mov r2, rSELF @ arg2
- b dvmCheckBefore @ (dPC,dFP,self) tail call
-
-/* ------------------------------ */
- .balign 64
-.L_ALT_OP_INSTANCE_OF_JUMBO: /* 0x102 */
-/* File: armv5te/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Note that the call to dvmCheckBefore is done as a tail call.
- * rIBASE updates won't be seen until a refresh, and we can tell we have a
- * stale rIBASE if breakFlags==0. Always refresh rIBASE here, and then
- * bail to the real handler if breakFlags==0.
- */
- ldrb r3, [rSELF, #offThread_breakFlags]
- adrl lr, dvmAsmInstructionStart + (258 * 64)
- ldr rIBASE, [rSELF, #offThread_curHandlerTable]
- cmp r3, #0
- bxeq lr @ nothing to do - jump to real handler
- EXPORT_PC()
- mov r0, rPC @ arg0
- mov r1, rFP @ arg1
- mov r2, rSELF @ arg2
- b dvmCheckBefore @ (dPC,dFP,self) tail call
-
-/* ------------------------------ */
- .balign 64
-.L_ALT_OP_NEW_INSTANCE_JUMBO: /* 0x103 */
-/* File: armv5te/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Note that the call to dvmCheckBefore is done as a tail call.
- * rIBASE updates won't be seen until a refresh, and we can tell we have a
- * stale rIBASE if breakFlags==0. Always refresh rIBASE here, and then
- * bail to the real handler if breakFlags==0.
- */
- ldrb r3, [rSELF, #offThread_breakFlags]
- adrl lr, dvmAsmInstructionStart + (259 * 64)
- ldr rIBASE, [rSELF, #offThread_curHandlerTable]
- cmp r3, #0
- bxeq lr @ nothing to do - jump to real handler
- EXPORT_PC()
- mov r0, rPC @ arg0
- mov r1, rFP @ arg1
- mov r2, rSELF @ arg2
- b dvmCheckBefore @ (dPC,dFP,self) tail call
-
-/* ------------------------------ */
- .balign 64
-.L_ALT_OP_NEW_ARRAY_JUMBO: /* 0x104 */
-/* File: armv5te/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Note that the call to dvmCheckBefore is done as a tail call.
- * rIBASE updates won't be seen until a refresh, and we can tell we have a
- * stale rIBASE if breakFlags==0. Always refresh rIBASE here, and then
- * bail to the real handler if breakFlags==0.
- */
- ldrb r3, [rSELF, #offThread_breakFlags]
- adrl lr, dvmAsmInstructionStart + (260 * 64)
- ldr rIBASE, [rSELF, #offThread_curHandlerTable]
- cmp r3, #0
- bxeq lr @ nothing to do - jump to real handler
- EXPORT_PC()
- mov r0, rPC @ arg0
- mov r1, rFP @ arg1
- mov r2, rSELF @ arg2
- b dvmCheckBefore @ (dPC,dFP,self) tail call
-
-/* ------------------------------ */
- .balign 64
-.L_ALT_OP_FILLED_NEW_ARRAY_JUMBO: /* 0x105 */
-/* File: armv5te/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Note that the call to dvmCheckBefore is done as a tail call.
- * rIBASE updates won't be seen until a refresh, and we can tell we have a
- * stale rIBASE if breakFlags==0. Always refresh rIBASE here, and then
- * bail to the real handler if breakFlags==0.
- */
- ldrb r3, [rSELF, #offThread_breakFlags]
- adrl lr, dvmAsmInstructionStart + (261 * 64)
- ldr rIBASE, [rSELF, #offThread_curHandlerTable]
- cmp r3, #0
- bxeq lr @ nothing to do - jump to real handler
- EXPORT_PC()
- mov r0, rPC @ arg0
- mov r1, rFP @ arg1
- mov r2, rSELF @ arg2
- b dvmCheckBefore @ (dPC,dFP,self) tail call
-
-/* ------------------------------ */
- .balign 64
-.L_ALT_OP_IGET_JUMBO: /* 0x106 */
-/* File: armv5te/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Note that the call to dvmCheckBefore is done as a tail call.
- * rIBASE updates won't be seen until a refresh, and we can tell we have a
- * stale rIBASE if breakFlags==0. Always refresh rIBASE here, and then
- * bail to the real handler if breakFlags==0.
- */
- ldrb r3, [rSELF, #offThread_breakFlags]
- adrl lr, dvmAsmInstructionStart + (262 * 64)
- ldr rIBASE, [rSELF, #offThread_curHandlerTable]
- cmp r3, #0
- bxeq lr @ nothing to do - jump to real handler
- EXPORT_PC()
- mov r0, rPC @ arg0
- mov r1, rFP @ arg1
- mov r2, rSELF @ arg2
- b dvmCheckBefore @ (dPC,dFP,self) tail call
-
-/* ------------------------------ */
- .balign 64
-.L_ALT_OP_IGET_WIDE_JUMBO: /* 0x107 */
-/* File: armv5te/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Note that the call to dvmCheckBefore is done as a tail call.
- * rIBASE updates won't be seen until a refresh, and we can tell we have a
- * stale rIBASE if breakFlags==0. Always refresh rIBASE here, and then
- * bail to the real handler if breakFlags==0.
- */
- ldrb r3, [rSELF, #offThread_breakFlags]
- adrl lr, dvmAsmInstructionStart + (263 * 64)
- ldr rIBASE, [rSELF, #offThread_curHandlerTable]
- cmp r3, #0
- bxeq lr @ nothing to do - jump to real handler
- EXPORT_PC()
- mov r0, rPC @ arg0
- mov r1, rFP @ arg1
- mov r2, rSELF @ arg2
- b dvmCheckBefore @ (dPC,dFP,self) tail call
-
-/* ------------------------------ */
- .balign 64
-.L_ALT_OP_IGET_OBJECT_JUMBO: /* 0x108 */
-/* File: armv5te/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Note that the call to dvmCheckBefore is done as a tail call.
- * rIBASE updates won't be seen until a refresh, and we can tell we have a
- * stale rIBASE if breakFlags==0. Always refresh rIBASE here, and then
- * bail to the real handler if breakFlags==0.
- */
- ldrb r3, [rSELF, #offThread_breakFlags]
- adrl lr, dvmAsmInstructionStart + (264 * 64)
- ldr rIBASE, [rSELF, #offThread_curHandlerTable]
- cmp r3, #0
- bxeq lr @ nothing to do - jump to real handler
- EXPORT_PC()
- mov r0, rPC @ arg0
- mov r1, rFP @ arg1
- mov r2, rSELF @ arg2
- b dvmCheckBefore @ (dPC,dFP,self) tail call
-
-/* ------------------------------ */
- .balign 64
-.L_ALT_OP_IGET_BOOLEAN_JUMBO: /* 0x109 */
-/* File: armv5te/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Note that the call to dvmCheckBefore is done as a tail call.
- * rIBASE updates won't be seen until a refresh, and we can tell we have a
- * stale rIBASE if breakFlags==0. Always refresh rIBASE here, and then
- * bail to the real handler if breakFlags==0.
- */
- ldrb r3, [rSELF, #offThread_breakFlags]
- adrl lr, dvmAsmInstructionStart + (265 * 64)
- ldr rIBASE, [rSELF, #offThread_curHandlerTable]
- cmp r3, #0
- bxeq lr @ nothing to do - jump to real handler
- EXPORT_PC()
- mov r0, rPC @ arg0
- mov r1, rFP @ arg1
- mov r2, rSELF @ arg2
- b dvmCheckBefore @ (dPC,dFP,self) tail call
-
-/* ------------------------------ */
- .balign 64
-.L_ALT_OP_IGET_BYTE_JUMBO: /* 0x10a */
-/* File: armv5te/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Note that the call to dvmCheckBefore is done as a tail call.
- * rIBASE updates won't be seen until a refresh, and we can tell we have a
- * stale rIBASE if breakFlags==0. Always refresh rIBASE here, and then
- * bail to the real handler if breakFlags==0.
- */
- ldrb r3, [rSELF, #offThread_breakFlags]
- adrl lr, dvmAsmInstructionStart + (266 * 64)
- ldr rIBASE, [rSELF, #offThread_curHandlerTable]
- cmp r3, #0
- bxeq lr @ nothing to do - jump to real handler
- EXPORT_PC()
- mov r0, rPC @ arg0
- mov r1, rFP @ arg1
- mov r2, rSELF @ arg2
- b dvmCheckBefore @ (dPC,dFP,self) tail call
-
-/* ------------------------------ */
- .balign 64
-.L_ALT_OP_IGET_CHAR_JUMBO: /* 0x10b */
-/* File: armv5te/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Note that the call to dvmCheckBefore is done as a tail call.
- * rIBASE updates won't be seen until a refresh, and we can tell we have a
- * stale rIBASE if breakFlags==0. Always refresh rIBASE here, and then
- * bail to the real handler if breakFlags==0.
- */
- ldrb r3, [rSELF, #offThread_breakFlags]
- adrl lr, dvmAsmInstructionStart + (267 * 64)
- ldr rIBASE, [rSELF, #offThread_curHandlerTable]
- cmp r3, #0
- bxeq lr @ nothing to do - jump to real handler
- EXPORT_PC()
- mov r0, rPC @ arg0
- mov r1, rFP @ arg1
- mov r2, rSELF @ arg2
- b dvmCheckBefore @ (dPC,dFP,self) tail call
-
-/* ------------------------------ */
- .balign 64
-.L_ALT_OP_IGET_SHORT_JUMBO: /* 0x10c */
-/* File: armv5te/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Note that the call to dvmCheckBefore is done as a tail call.
- * rIBASE updates won't be seen until a refresh, and we can tell we have a
- * stale rIBASE if breakFlags==0. Always refresh rIBASE here, and then
- * bail to the real handler if breakFlags==0.
- */
- ldrb r3, [rSELF, #offThread_breakFlags]
- adrl lr, dvmAsmInstructionStart + (268 * 64)
- ldr rIBASE, [rSELF, #offThread_curHandlerTable]
- cmp r3, #0
- bxeq lr @ nothing to do - jump to real handler
- EXPORT_PC()
- mov r0, rPC @ arg0
- mov r1, rFP @ arg1
- mov r2, rSELF @ arg2
- b dvmCheckBefore @ (dPC,dFP,self) tail call
-
-/* ------------------------------ */
- .balign 64
-.L_ALT_OP_IPUT_JUMBO: /* 0x10d */
-/* File: armv5te/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Note that the call to dvmCheckBefore is done as a tail call.
- * rIBASE updates won't be seen until a refresh, and we can tell we have a
- * stale rIBASE if breakFlags==0. Always refresh rIBASE here, and then
- * bail to the real handler if breakFlags==0.
- */
- ldrb r3, [rSELF, #offThread_breakFlags]
- adrl lr, dvmAsmInstructionStart + (269 * 64)
- ldr rIBASE, [rSELF, #offThread_curHandlerTable]
- cmp r3, #0
- bxeq lr @ nothing to do - jump to real handler
- EXPORT_PC()
- mov r0, rPC @ arg0
- mov r1, rFP @ arg1
- mov r2, rSELF @ arg2
- b dvmCheckBefore @ (dPC,dFP,self) tail call
-
-/* ------------------------------ */
- .balign 64
-.L_ALT_OP_IPUT_WIDE_JUMBO: /* 0x10e */
-/* File: armv5te/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Note that the call to dvmCheckBefore is done as a tail call.
- * rIBASE updates won't be seen until a refresh, and we can tell we have a
- * stale rIBASE if breakFlags==0. Always refresh rIBASE here, and then
- * bail to the real handler if breakFlags==0.
- */
- ldrb r3, [rSELF, #offThread_breakFlags]
- adrl lr, dvmAsmInstructionStart + (270 * 64)
- ldr rIBASE, [rSELF, #offThread_curHandlerTable]
- cmp r3, #0
- bxeq lr @ nothing to do - jump to real handler
- EXPORT_PC()
- mov r0, rPC @ arg0
- mov r1, rFP @ arg1
- mov r2, rSELF @ arg2
- b dvmCheckBefore @ (dPC,dFP,self) tail call
-
-/* ------------------------------ */
- .balign 64
-.L_ALT_OP_IPUT_OBJECT_JUMBO: /* 0x10f */
-/* File: armv5te/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Note that the call to dvmCheckBefore is done as a tail call.
- * rIBASE updates won't be seen until a refresh, and we can tell we have a
- * stale rIBASE if breakFlags==0. Always refresh rIBASE here, and then
- * bail to the real handler if breakFlags==0.
- */
- ldrb r3, [rSELF, #offThread_breakFlags]
- adrl lr, dvmAsmInstructionStart + (271 * 64)
- ldr rIBASE, [rSELF, #offThread_curHandlerTable]
- cmp r3, #0
- bxeq lr @ nothing to do - jump to real handler
- EXPORT_PC()
- mov r0, rPC @ arg0
- mov r1, rFP @ arg1
- mov r2, rSELF @ arg2
- b dvmCheckBefore @ (dPC,dFP,self) tail call
-
-/* ------------------------------ */
- .balign 64
-.L_ALT_OP_IPUT_BOOLEAN_JUMBO: /* 0x110 */
-/* File: armv5te/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Note that the call to dvmCheckBefore is done as a tail call.
- * rIBASE updates won't be seen until a refresh, and we can tell we have a
- * stale rIBASE if breakFlags==0. Always refresh rIBASE here, and then
- * bail to the real handler if breakFlags==0.
- */
- ldrb r3, [rSELF, #offThread_breakFlags]
- adrl lr, dvmAsmInstructionStart + (272 * 64)
- ldr rIBASE, [rSELF, #offThread_curHandlerTable]
- cmp r3, #0
- bxeq lr @ nothing to do - jump to real handler
- EXPORT_PC()
- mov r0, rPC @ arg0
- mov r1, rFP @ arg1
- mov r2, rSELF @ arg2
- b dvmCheckBefore @ (dPC,dFP,self) tail call
-
-/* ------------------------------ */
- .balign 64
-.L_ALT_OP_IPUT_BYTE_JUMBO: /* 0x111 */
-/* File: armv5te/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Note that the call to dvmCheckBefore is done as a tail call.
- * rIBASE updates won't be seen until a refresh, and we can tell we have a
- * stale rIBASE if breakFlags==0. Always refresh rIBASE here, and then
- * bail to the real handler if breakFlags==0.
- */
- ldrb r3, [rSELF, #offThread_breakFlags]
- adrl lr, dvmAsmInstructionStart + (273 * 64)
- ldr rIBASE, [rSELF, #offThread_curHandlerTable]
- cmp r3, #0
- bxeq lr @ nothing to do - jump to real handler
- EXPORT_PC()
- mov r0, rPC @ arg0
- mov r1, rFP @ arg1
- mov r2, rSELF @ arg2
- b dvmCheckBefore @ (dPC,dFP,self) tail call
-
-/* ------------------------------ */
- .balign 64
-.L_ALT_OP_IPUT_CHAR_JUMBO: /* 0x112 */
-/* File: armv5te/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Note that the call to dvmCheckBefore is done as a tail call.
- * rIBASE updates won't be seen until a refresh, and we can tell we have a
- * stale rIBASE if breakFlags==0. Always refresh rIBASE here, and then
- * bail to the real handler if breakFlags==0.
- */
- ldrb r3, [rSELF, #offThread_breakFlags]
- adrl lr, dvmAsmInstructionStart + (274 * 64)
- ldr rIBASE, [rSELF, #offThread_curHandlerTable]
- cmp r3, #0
- bxeq lr @ nothing to do - jump to real handler
- EXPORT_PC()
- mov r0, rPC @ arg0
- mov r1, rFP @ arg1
- mov r2, rSELF @ arg2
- b dvmCheckBefore @ (dPC,dFP,self) tail call
-
-/* ------------------------------ */
- .balign 64
-.L_ALT_OP_IPUT_SHORT_JUMBO: /* 0x113 */
-/* File: armv5te/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Note that the call to dvmCheckBefore is done as a tail call.
- * rIBASE updates won't be seen until a refresh, and we can tell we have a
- * stale rIBASE if breakFlags==0. Always refresh rIBASE here, and then
- * bail to the real handler if breakFlags==0.
- */
- ldrb r3, [rSELF, #offThread_breakFlags]
- adrl lr, dvmAsmInstructionStart + (275 * 64)
- ldr rIBASE, [rSELF, #offThread_curHandlerTable]
- cmp r3, #0
- bxeq lr @ nothing to do - jump to real handler
- EXPORT_PC()
- mov r0, rPC @ arg0
- mov r1, rFP @ arg1
- mov r2, rSELF @ arg2
- b dvmCheckBefore @ (dPC,dFP,self) tail call
-
-/* ------------------------------ */
- .balign 64
-.L_ALT_OP_SGET_JUMBO: /* 0x114 */
-/* File: armv5te/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Note that the call to dvmCheckBefore is done as a tail call.
- * rIBASE updates won't be seen until a refresh, and we can tell we have a
- * stale rIBASE if breakFlags==0. Always refresh rIBASE here, and then
- * bail to the real handler if breakFlags==0.
- */
- ldrb r3, [rSELF, #offThread_breakFlags]
- adrl lr, dvmAsmInstructionStart + (276 * 64)
- ldr rIBASE, [rSELF, #offThread_curHandlerTable]
- cmp r3, #0
- bxeq lr @ nothing to do - jump to real handler
- EXPORT_PC()
- mov r0, rPC @ arg0
- mov r1, rFP @ arg1
- mov r2, rSELF @ arg2
- b dvmCheckBefore @ (dPC,dFP,self) tail call
-
-/* ------------------------------ */
- .balign 64
-.L_ALT_OP_SGET_WIDE_JUMBO: /* 0x115 */
-/* File: armv5te/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Note that the call to dvmCheckBefore is done as a tail call.
- * rIBASE updates won't be seen until a refresh, and we can tell we have a
- * stale rIBASE if breakFlags==0. Always refresh rIBASE here, and then
- * bail to the real handler if breakFlags==0.
- */
- ldrb r3, [rSELF, #offThread_breakFlags]
- adrl lr, dvmAsmInstructionStart + (277 * 64)
- ldr rIBASE, [rSELF, #offThread_curHandlerTable]
- cmp r3, #0
- bxeq lr @ nothing to do - jump to real handler
- EXPORT_PC()
- mov r0, rPC @ arg0
- mov r1, rFP @ arg1
- mov r2, rSELF @ arg2
- b dvmCheckBefore @ (dPC,dFP,self) tail call
-
-/* ------------------------------ */
- .balign 64
-.L_ALT_OP_SGET_OBJECT_JUMBO: /* 0x116 */
-/* File: armv5te/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Note that the call to dvmCheckBefore is done as a tail call.
- * rIBASE updates won't be seen until a refresh, and we can tell we have a
- * stale rIBASE if breakFlags==0. Always refresh rIBASE here, and then
- * bail to the real handler if breakFlags==0.
- */
- ldrb r3, [rSELF, #offThread_breakFlags]
- adrl lr, dvmAsmInstructionStart + (278 * 64)
- ldr rIBASE, [rSELF, #offThread_curHandlerTable]
- cmp r3, #0
- bxeq lr @ nothing to do - jump to real handler
- EXPORT_PC()
- mov r0, rPC @ arg0
- mov r1, rFP @ arg1
- mov r2, rSELF @ arg2
- b dvmCheckBefore @ (dPC,dFP,self) tail call
-
-/* ------------------------------ */
- .balign 64
-.L_ALT_OP_SGET_BOOLEAN_JUMBO: /* 0x117 */
-/* File: armv5te/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Note that the call to dvmCheckBefore is done as a tail call.
- * rIBASE updates won't be seen until a refresh, and we can tell we have a
- * stale rIBASE if breakFlags==0. Always refresh rIBASE here, and then
- * bail to the real handler if breakFlags==0.
- */
- ldrb r3, [rSELF, #offThread_breakFlags]
- adrl lr, dvmAsmInstructionStart + (279 * 64)
- ldr rIBASE, [rSELF, #offThread_curHandlerTable]
- cmp r3, #0
- bxeq lr @ nothing to do - jump to real handler
- EXPORT_PC()
- mov r0, rPC @ arg0
- mov r1, rFP @ arg1
- mov r2, rSELF @ arg2
- b dvmCheckBefore @ (dPC,dFP,self) tail call
-
-/* ------------------------------ */
- .balign 64
-.L_ALT_OP_SGET_BYTE_JUMBO: /* 0x118 */
-/* File: armv5te/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Note that the call to dvmCheckBefore is done as a tail call.
- * rIBASE updates won't be seen until a refresh, and we can tell we have a
- * stale rIBASE if breakFlags==0. Always refresh rIBASE here, and then
- * bail to the real handler if breakFlags==0.
- */
- ldrb r3, [rSELF, #offThread_breakFlags]
- adrl lr, dvmAsmInstructionStart + (280 * 64)
- ldr rIBASE, [rSELF, #offThread_curHandlerTable]
- cmp r3, #0
- bxeq lr @ nothing to do - jump to real handler
- EXPORT_PC()
- mov r0, rPC @ arg0
- mov r1, rFP @ arg1
- mov r2, rSELF @ arg2
- b dvmCheckBefore @ (dPC,dFP,self) tail call
-
-/* ------------------------------ */
- .balign 64
-.L_ALT_OP_SGET_CHAR_JUMBO: /* 0x119 */
-/* File: armv5te/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Note that the call to dvmCheckBefore is done as a tail call.
- * rIBASE updates won't be seen until a refresh, and we can tell we have a
- * stale rIBASE if breakFlags==0. Always refresh rIBASE here, and then
- * bail to the real handler if breakFlags==0.
- */
- ldrb r3, [rSELF, #offThread_breakFlags]
- adrl lr, dvmAsmInstructionStart + (281 * 64)
- ldr rIBASE, [rSELF, #offThread_curHandlerTable]
- cmp r3, #0
- bxeq lr @ nothing to do - jump to real handler
- EXPORT_PC()
- mov r0, rPC @ arg0
- mov r1, rFP @ arg1
- mov r2, rSELF @ arg2
- b dvmCheckBefore @ (dPC,dFP,self) tail call
-
-/* ------------------------------ */
- .balign 64
-.L_ALT_OP_SGET_SHORT_JUMBO: /* 0x11a */
-/* File: armv5te/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Note that the call to dvmCheckBefore is done as a tail call.
- * rIBASE updates won't be seen until a refresh, and we can tell we have a
- * stale rIBASE if breakFlags==0. Always refresh rIBASE here, and then
- * bail to the real handler if breakFlags==0.
- */
- ldrb r3, [rSELF, #offThread_breakFlags]
- adrl lr, dvmAsmInstructionStart + (282 * 64)
- ldr rIBASE, [rSELF, #offThread_curHandlerTable]
- cmp r3, #0
- bxeq lr @ nothing to do - jump to real handler
- EXPORT_PC()
- mov r0, rPC @ arg0
- mov r1, rFP @ arg1
- mov r2, rSELF @ arg2
- b dvmCheckBefore @ (dPC,dFP,self) tail call
-
-/* ------------------------------ */
- .balign 64
-.L_ALT_OP_SPUT_JUMBO: /* 0x11b */
-/* File: armv5te/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Note that the call to dvmCheckBefore is done as a tail call.
- * rIBASE updates won't be seen until a refresh, and we can tell we have a
- * stale rIBASE if breakFlags==0. Always refresh rIBASE here, and then
- * bail to the real handler if breakFlags==0.
- */
- ldrb r3, [rSELF, #offThread_breakFlags]
- adrl lr, dvmAsmInstructionStart + (283 * 64)
- ldr rIBASE, [rSELF, #offThread_curHandlerTable]
- cmp r3, #0
- bxeq lr @ nothing to do - jump to real handler
- EXPORT_PC()
- mov r0, rPC @ arg0
- mov r1, rFP @ arg1
- mov r2, rSELF @ arg2
- b dvmCheckBefore @ (dPC,dFP,self) tail call
-
-/* ------------------------------ */
- .balign 64
-.L_ALT_OP_SPUT_WIDE_JUMBO: /* 0x11c */
-/* File: armv5te/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Note that the call to dvmCheckBefore is done as a tail call.
- * rIBASE updates won't be seen until a refresh, and we can tell we have a
- * stale rIBASE if breakFlags==0. Always refresh rIBASE here, and then
- * bail to the real handler if breakFlags==0.
- */
- ldrb r3, [rSELF, #offThread_breakFlags]
- adrl lr, dvmAsmInstructionStart + (284 * 64)
- ldr rIBASE, [rSELF, #offThread_curHandlerTable]
- cmp r3, #0
- bxeq lr @ nothing to do - jump to real handler
- EXPORT_PC()
- mov r0, rPC @ arg0
- mov r1, rFP @ arg1
- mov r2, rSELF @ arg2
- b dvmCheckBefore @ (dPC,dFP,self) tail call
-
-/* ------------------------------ */
- .balign 64
-.L_ALT_OP_SPUT_OBJECT_JUMBO: /* 0x11d */
-/* File: armv5te/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Note that the call to dvmCheckBefore is done as a tail call.
- * rIBASE updates won't be seen until a refresh, and we can tell we have a
- * stale rIBASE if breakFlags==0. Always refresh rIBASE here, and then
- * bail to the real handler if breakFlags==0.
- */
- ldrb r3, [rSELF, #offThread_breakFlags]
- adrl lr, dvmAsmInstructionStart + (285 * 64)
- ldr rIBASE, [rSELF, #offThread_curHandlerTable]
- cmp r3, #0
- bxeq lr @ nothing to do - jump to real handler
- EXPORT_PC()
- mov r0, rPC @ arg0
- mov r1, rFP @ arg1
- mov r2, rSELF @ arg2
- b dvmCheckBefore @ (dPC,dFP,self) tail call
-
-/* ------------------------------ */
- .balign 64
-.L_ALT_OP_SPUT_BOOLEAN_JUMBO: /* 0x11e */
-/* File: armv5te/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Note that the call to dvmCheckBefore is done as a tail call.
- * rIBASE updates won't be seen until a refresh, and we can tell we have a
- * stale rIBASE if breakFlags==0. Always refresh rIBASE here, and then
- * bail to the real handler if breakFlags==0.
- */
- ldrb r3, [rSELF, #offThread_breakFlags]
- adrl lr, dvmAsmInstructionStart + (286 * 64)
- ldr rIBASE, [rSELF, #offThread_curHandlerTable]
- cmp r3, #0
- bxeq lr @ nothing to do - jump to real handler
- EXPORT_PC()
- mov r0, rPC @ arg0
- mov r1, rFP @ arg1
- mov r2, rSELF @ arg2
- b dvmCheckBefore @ (dPC,dFP,self) tail call
-
-/* ------------------------------ */
- .balign 64
-.L_ALT_OP_SPUT_BYTE_JUMBO: /* 0x11f */
-/* File: armv5te/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Note that the call to dvmCheckBefore is done as a tail call.
- * rIBASE updates won't be seen until a refresh, and we can tell we have a
- * stale rIBASE if breakFlags==0. Always refresh rIBASE here, and then
- * bail to the real handler if breakFlags==0.
- */
- ldrb r3, [rSELF, #offThread_breakFlags]
- adrl lr, dvmAsmInstructionStart + (287 * 64)
- ldr rIBASE, [rSELF, #offThread_curHandlerTable]
- cmp r3, #0
- bxeq lr @ nothing to do - jump to real handler
- EXPORT_PC()
- mov r0, rPC @ arg0
- mov r1, rFP @ arg1
- mov r2, rSELF @ arg2
- b dvmCheckBefore @ (dPC,dFP,self) tail call
-
-/* ------------------------------ */
- .balign 64
-.L_ALT_OP_SPUT_CHAR_JUMBO: /* 0x120 */
-/* File: armv5te/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Note that the call to dvmCheckBefore is done as a tail call.
- * rIBASE updates won't be seen until a refresh, and we can tell we have a
- * stale rIBASE if breakFlags==0. Always refresh rIBASE here, and then
- * bail to the real handler if breakFlags==0.
- */
- ldrb r3, [rSELF, #offThread_breakFlags]
- adrl lr, dvmAsmInstructionStart + (288 * 64)
- ldr rIBASE, [rSELF, #offThread_curHandlerTable]
- cmp r3, #0
- bxeq lr @ nothing to do - jump to real handler
- EXPORT_PC()
- mov r0, rPC @ arg0
- mov r1, rFP @ arg1
- mov r2, rSELF @ arg2
- b dvmCheckBefore @ (dPC,dFP,self) tail call
-
-/* ------------------------------ */
- .balign 64
-.L_ALT_OP_SPUT_SHORT_JUMBO: /* 0x121 */
-/* File: armv5te/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Note that the call to dvmCheckBefore is done as a tail call.
- * rIBASE updates won't be seen until a refresh, and we can tell we have a
- * stale rIBASE if breakFlags==0. Always refresh rIBASE here, and then
- * bail to the real handler if breakFlags==0.
- */
- ldrb r3, [rSELF, #offThread_breakFlags]
- adrl lr, dvmAsmInstructionStart + (289 * 64)
- ldr rIBASE, [rSELF, #offThread_curHandlerTable]
- cmp r3, #0
- bxeq lr @ nothing to do - jump to real handler
- EXPORT_PC()
- mov r0, rPC @ arg0
- mov r1, rFP @ arg1
- mov r2, rSELF @ arg2
- b dvmCheckBefore @ (dPC,dFP,self) tail call
-
-/* ------------------------------ */
- .balign 64
-.L_ALT_OP_INVOKE_VIRTUAL_JUMBO: /* 0x122 */
-/* File: armv5te/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Note that the call to dvmCheckBefore is done as a tail call.
- * rIBASE updates won't be seen until a refresh, and we can tell we have a
- * stale rIBASE if breakFlags==0. Always refresh rIBASE here, and then
- * bail to the real handler if breakFlags==0.
- */
- ldrb r3, [rSELF, #offThread_breakFlags]
- adrl lr, dvmAsmInstructionStart + (290 * 64)
- ldr rIBASE, [rSELF, #offThread_curHandlerTable]
- cmp r3, #0
- bxeq lr @ nothing to do - jump to real handler
- EXPORT_PC()
- mov r0, rPC @ arg0
- mov r1, rFP @ arg1
- mov r2, rSELF @ arg2
- b dvmCheckBefore @ (dPC,dFP,self) tail call
-
-/* ------------------------------ */
- .balign 64
-.L_ALT_OP_INVOKE_SUPER_JUMBO: /* 0x123 */
-/* File: armv5te/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Note that the call to dvmCheckBefore is done as a tail call.
- * rIBASE updates won't be seen until a refresh, and we can tell we have a
- * stale rIBASE if breakFlags==0. Always refresh rIBASE here, and then
- * bail to the real handler if breakFlags==0.
- */
- ldrb r3, [rSELF, #offThread_breakFlags]
- adrl lr, dvmAsmInstructionStart + (291 * 64)
- ldr rIBASE, [rSELF, #offThread_curHandlerTable]
- cmp r3, #0
- bxeq lr @ nothing to do - jump to real handler
- EXPORT_PC()
- mov r0, rPC @ arg0
- mov r1, rFP @ arg1
- mov r2, rSELF @ arg2
- b dvmCheckBefore @ (dPC,dFP,self) tail call
-
-/* ------------------------------ */
- .balign 64
-.L_ALT_OP_INVOKE_DIRECT_JUMBO: /* 0x124 */
-/* File: armv5te/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Note that the call to dvmCheckBefore is done as a tail call.
- * rIBASE updates won't be seen until a refresh, and we can tell we have a
- * stale rIBASE if breakFlags==0. Always refresh rIBASE here, and then
- * bail to the real handler if breakFlags==0.
- */
- ldrb r3, [rSELF, #offThread_breakFlags]
- adrl lr, dvmAsmInstructionStart + (292 * 64)
- ldr rIBASE, [rSELF, #offThread_curHandlerTable]
- cmp r3, #0
- bxeq lr @ nothing to do - jump to real handler
- EXPORT_PC()
- mov r0, rPC @ arg0
- mov r1, rFP @ arg1
- mov r2, rSELF @ arg2
- b dvmCheckBefore @ (dPC,dFP,self) tail call
-
-/* ------------------------------ */
- .balign 64
-.L_ALT_OP_INVOKE_STATIC_JUMBO: /* 0x125 */
-/* File: armv5te/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Note that the call to dvmCheckBefore is done as a tail call.
- * rIBASE updates won't be seen until a refresh, and we can tell we have a
- * stale rIBASE if breakFlags==0. Always refresh rIBASE here, and then
- * bail to the real handler if breakFlags==0.
- */
- ldrb r3, [rSELF, #offThread_breakFlags]
- adrl lr, dvmAsmInstructionStart + (293 * 64)
- ldr rIBASE, [rSELF, #offThread_curHandlerTable]
- cmp r3, #0
- bxeq lr @ nothing to do - jump to real handler
- EXPORT_PC()
- mov r0, rPC @ arg0
- mov r1, rFP @ arg1
- mov r2, rSELF @ arg2
- b dvmCheckBefore @ (dPC,dFP,self) tail call
-
-/* ------------------------------ */
- .balign 64
-.L_ALT_OP_INVOKE_INTERFACE_JUMBO: /* 0x126 */
-/* File: armv5te/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Note that the call to dvmCheckBefore is done as a tail call.
- * rIBASE updates won't be seen until a refresh, and we can tell we have a
- * stale rIBASE if breakFlags==0. Always refresh rIBASE here, and then
- * bail to the real handler if breakFlags==0.
- */
- ldrb r3, [rSELF, #offThread_breakFlags]
- adrl lr, dvmAsmInstructionStart + (294 * 64)
- ldr rIBASE, [rSELF, #offThread_curHandlerTable]
- cmp r3, #0
- bxeq lr @ nothing to do - jump to real handler
- EXPORT_PC()
- mov r0, rPC @ arg0
- mov r1, rFP @ arg1
- mov r2, rSELF @ arg2
- b dvmCheckBefore @ (dPC,dFP,self) tail call
-
-/* ------------------------------ */
- .balign 64
-.L_ALT_OP_UNUSED_27FF: /* 0x127 */
-/* File: armv5te/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Note that the call to dvmCheckBefore is done as a tail call.
- * rIBASE updates won't be seen until a refresh, and we can tell we have a
- * stale rIBASE if breakFlags==0. Always refresh rIBASE here, and then
- * bail to the real handler if breakFlags==0.
- */
- ldrb r3, [rSELF, #offThread_breakFlags]
- adrl lr, dvmAsmInstructionStart + (295 * 64)
- ldr rIBASE, [rSELF, #offThread_curHandlerTable]
- cmp r3, #0
- bxeq lr @ nothing to do - jump to real handler
- EXPORT_PC()
- mov r0, rPC @ arg0
- mov r1, rFP @ arg1
- mov r2, rSELF @ arg2
- b dvmCheckBefore @ (dPC,dFP,self) tail call
-
-/* ------------------------------ */
- .balign 64
-.L_ALT_OP_UNUSED_28FF: /* 0x128 */
-/* File: armv5te/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Note that the call to dvmCheckBefore is done as a tail call.
- * rIBASE updates won't be seen until a refresh, and we can tell we have a
- * stale rIBASE if breakFlags==0. Always refresh rIBASE here, and then
- * bail to the real handler if breakFlags==0.
- */
- ldrb r3, [rSELF, #offThread_breakFlags]
- adrl lr, dvmAsmInstructionStart + (296 * 64)
- ldr rIBASE, [rSELF, #offThread_curHandlerTable]
- cmp r3, #0
- bxeq lr @ nothing to do - jump to real handler
- EXPORT_PC()
- mov r0, rPC @ arg0
- mov r1, rFP @ arg1
- mov r2, rSELF @ arg2
- b dvmCheckBefore @ (dPC,dFP,self) tail call
-
-/* ------------------------------ */
- .balign 64
-.L_ALT_OP_UNUSED_29FF: /* 0x129 */
-/* File: armv5te/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Note that the call to dvmCheckBefore is done as a tail call.
- * rIBASE updates won't be seen until a refresh, and we can tell we have a
- * stale rIBASE if breakFlags==0. Always refresh rIBASE here, and then
- * bail to the real handler if breakFlags==0.
- */
- ldrb r3, [rSELF, #offThread_breakFlags]
- adrl lr, dvmAsmInstructionStart + (297 * 64)
- ldr rIBASE, [rSELF, #offThread_curHandlerTable]
- cmp r3, #0
- bxeq lr @ nothing to do - jump to real handler
- EXPORT_PC()
- mov r0, rPC @ arg0
- mov r1, rFP @ arg1
- mov r2, rSELF @ arg2
- b dvmCheckBefore @ (dPC,dFP,self) tail call
-
-/* ------------------------------ */
- .balign 64
-.L_ALT_OP_UNUSED_2AFF: /* 0x12a */
-/* File: armv5te/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Note that the call to dvmCheckBefore is done as a tail call.
- * rIBASE updates won't be seen until a refresh, and we can tell we have a
- * stale rIBASE if breakFlags==0. Always refresh rIBASE here, and then
- * bail to the real handler if breakFlags==0.
- */
- ldrb r3, [rSELF, #offThread_breakFlags]
- adrl lr, dvmAsmInstructionStart + (298 * 64)
- ldr rIBASE, [rSELF, #offThread_curHandlerTable]
- cmp r3, #0
- bxeq lr @ nothing to do - jump to real handler
- EXPORT_PC()
- mov r0, rPC @ arg0
- mov r1, rFP @ arg1
- mov r2, rSELF @ arg2
- b dvmCheckBefore @ (dPC,dFP,self) tail call
-
-/* ------------------------------ */
- .balign 64
-.L_ALT_OP_UNUSED_2BFF: /* 0x12b */
-/* File: armv5te/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Note that the call to dvmCheckBefore is done as a tail call.
- * rIBASE updates won't be seen until a refresh, and we can tell we have a
- * stale rIBASE if breakFlags==0. Always refresh rIBASE here, and then
- * bail to the real handler if breakFlags==0.
- */
- ldrb r3, [rSELF, #offThread_breakFlags]
- adrl lr, dvmAsmInstructionStart + (299 * 64)
- ldr rIBASE, [rSELF, #offThread_curHandlerTable]
- cmp r3, #0
- bxeq lr @ nothing to do - jump to real handler
- EXPORT_PC()
- mov r0, rPC @ arg0
- mov r1, rFP @ arg1
- mov r2, rSELF @ arg2
- b dvmCheckBefore @ (dPC,dFP,self) tail call
-
-/* ------------------------------ */
- .balign 64
-.L_ALT_OP_UNUSED_2CFF: /* 0x12c */
-/* File: armv5te/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Note that the call to dvmCheckBefore is done as a tail call.
- * rIBASE updates won't be seen until a refresh, and we can tell we have a
- * stale rIBASE if breakFlags==0. Always refresh rIBASE here, and then
- * bail to the real handler if breakFlags==0.
- */
- ldrb r3, [rSELF, #offThread_breakFlags]
- adrl lr, dvmAsmInstructionStart + (300 * 64)
- ldr rIBASE, [rSELF, #offThread_curHandlerTable]
- cmp r3, #0
- bxeq lr @ nothing to do - jump to real handler
- EXPORT_PC()
- mov r0, rPC @ arg0
- mov r1, rFP @ arg1
- mov r2, rSELF @ arg2
- b dvmCheckBefore @ (dPC,dFP,self) tail call
-
-/* ------------------------------ */
- .balign 64
-.L_ALT_OP_UNUSED_2DFF: /* 0x12d */
-/* File: armv5te/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Note that the call to dvmCheckBefore is done as a tail call.
- * rIBASE updates won't be seen until a refresh, and we can tell we have a
- * stale rIBASE if breakFlags==0. Always refresh rIBASE here, and then
- * bail to the real handler if breakFlags==0.
- */
- ldrb r3, [rSELF, #offThread_breakFlags]
- adrl lr, dvmAsmInstructionStart + (301 * 64)
- ldr rIBASE, [rSELF, #offThread_curHandlerTable]
- cmp r3, #0
- bxeq lr @ nothing to do - jump to real handler
- EXPORT_PC()
- mov r0, rPC @ arg0
- mov r1, rFP @ arg1
- mov r2, rSELF @ arg2
- b dvmCheckBefore @ (dPC,dFP,self) tail call
-
-/* ------------------------------ */
- .balign 64
-.L_ALT_OP_UNUSED_2EFF: /* 0x12e */
-/* File: armv5te/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Note that the call to dvmCheckBefore is done as a tail call.
- * rIBASE updates won't be seen until a refresh, and we can tell we have a
- * stale rIBASE if breakFlags==0. Always refresh rIBASE here, and then
- * bail to the real handler if breakFlags==0.
- */
- ldrb r3, [rSELF, #offThread_breakFlags]
- adrl lr, dvmAsmInstructionStart + (302 * 64)
- ldr rIBASE, [rSELF, #offThread_curHandlerTable]
- cmp r3, #0
- bxeq lr @ nothing to do - jump to real handler
- EXPORT_PC()
- mov r0, rPC @ arg0
- mov r1, rFP @ arg1
- mov r2, rSELF @ arg2
- b dvmCheckBefore @ (dPC,dFP,self) tail call
-
-/* ------------------------------ */
- .balign 64
-.L_ALT_OP_UNUSED_2FFF: /* 0x12f */
-/* File: armv5te/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Note that the call to dvmCheckBefore is done as a tail call.
- * rIBASE updates won't be seen until a refresh, and we can tell we have a
- * stale rIBASE if breakFlags==0. Always refresh rIBASE here, and then
- * bail to the real handler if breakFlags==0.
- */
- ldrb r3, [rSELF, #offThread_breakFlags]
- adrl lr, dvmAsmInstructionStart + (303 * 64)
- ldr rIBASE, [rSELF, #offThread_curHandlerTable]
- cmp r3, #0
- bxeq lr @ nothing to do - jump to real handler
- EXPORT_PC()
- mov r0, rPC @ arg0
- mov r1, rFP @ arg1
- mov r2, rSELF @ arg2
- b dvmCheckBefore @ (dPC,dFP,self) tail call
-
-/* ------------------------------ */
- .balign 64
-.L_ALT_OP_UNUSED_30FF: /* 0x130 */
-/* File: armv5te/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Note that the call to dvmCheckBefore is done as a tail call.
- * rIBASE updates won't be seen until a refresh, and we can tell we have a
- * stale rIBASE if breakFlags==0. Always refresh rIBASE here, and then
- * bail to the real handler if breakFlags==0.
- */
- ldrb r3, [rSELF, #offThread_breakFlags]
- adrl lr, dvmAsmInstructionStart + (304 * 64)
- ldr rIBASE, [rSELF, #offThread_curHandlerTable]
- cmp r3, #0
- bxeq lr @ nothing to do - jump to real handler
- EXPORT_PC()
- mov r0, rPC @ arg0
- mov r1, rFP @ arg1
- mov r2, rSELF @ arg2
- b dvmCheckBefore @ (dPC,dFP,self) tail call
-
-/* ------------------------------ */
- .balign 64
-.L_ALT_OP_UNUSED_31FF: /* 0x131 */
-/* File: armv5te/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Note that the call to dvmCheckBefore is done as a tail call.
- * rIBASE updates won't be seen until a refresh, and we can tell we have a
- * stale rIBASE if breakFlags==0. Always refresh rIBASE here, and then
- * bail to the real handler if breakFlags==0.
- */
- ldrb r3, [rSELF, #offThread_breakFlags]
- adrl lr, dvmAsmInstructionStart + (305 * 64)
- ldr rIBASE, [rSELF, #offThread_curHandlerTable]
- cmp r3, #0
- bxeq lr @ nothing to do - jump to real handler
- EXPORT_PC()
- mov r0, rPC @ arg0
- mov r1, rFP @ arg1
- mov r2, rSELF @ arg2
- b dvmCheckBefore @ (dPC,dFP,self) tail call
-
-/* ------------------------------ */
- .balign 64
-.L_ALT_OP_UNUSED_32FF: /* 0x132 */
-/* File: armv5te/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Note that the call to dvmCheckBefore is done as a tail call.
- * rIBASE updates won't be seen until a refresh, and we can tell we have a
- * stale rIBASE if breakFlags==0. Always refresh rIBASE here, and then
- * bail to the real handler if breakFlags==0.
- */
- ldrb r3, [rSELF, #offThread_breakFlags]
- adrl lr, dvmAsmInstructionStart + (306 * 64)
- ldr rIBASE, [rSELF, #offThread_curHandlerTable]
- cmp r3, #0
- bxeq lr @ nothing to do - jump to real handler
- EXPORT_PC()
- mov r0, rPC @ arg0
- mov r1, rFP @ arg1
- mov r2, rSELF @ arg2
- b dvmCheckBefore @ (dPC,dFP,self) tail call
-
-/* ------------------------------ */
- .balign 64
-.L_ALT_OP_UNUSED_33FF: /* 0x133 */
-/* File: armv5te/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Note that the call to dvmCheckBefore is done as a tail call.
- * rIBASE updates won't be seen until a refresh, and we can tell we have a
- * stale rIBASE if breakFlags==0. Always refresh rIBASE here, and then
- * bail to the real handler if breakFlags==0.
- */
- ldrb r3, [rSELF, #offThread_breakFlags]
- adrl lr, dvmAsmInstructionStart + (307 * 64)
- ldr rIBASE, [rSELF, #offThread_curHandlerTable]
- cmp r3, #0
- bxeq lr @ nothing to do - jump to real handler
- EXPORT_PC()
- mov r0, rPC @ arg0
- mov r1, rFP @ arg1
- mov r2, rSELF @ arg2
- b dvmCheckBefore @ (dPC,dFP,self) tail call
-
-/* ------------------------------ */
- .balign 64
-.L_ALT_OP_UNUSED_34FF: /* 0x134 */
-/* File: armv5te/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Note that the call to dvmCheckBefore is done as a tail call.
- * rIBASE updates won't be seen until a refresh, and we can tell we have a
- * stale rIBASE if breakFlags==0. Always refresh rIBASE here, and then
- * bail to the real handler if breakFlags==0.
- */
- ldrb r3, [rSELF, #offThread_breakFlags]
- adrl lr, dvmAsmInstructionStart + (308 * 64)
- ldr rIBASE, [rSELF, #offThread_curHandlerTable]
- cmp r3, #0
- bxeq lr @ nothing to do - jump to real handler
- EXPORT_PC()
- mov r0, rPC @ arg0
- mov r1, rFP @ arg1
- mov r2, rSELF @ arg2
- b dvmCheckBefore @ (dPC,dFP,self) tail call
-
-/* ------------------------------ */
- .balign 64
-.L_ALT_OP_UNUSED_35FF: /* 0x135 */
-/* File: armv5te/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Note that the call to dvmCheckBefore is done as a tail call.
- * rIBASE updates won't be seen until a refresh, and we can tell we have a
- * stale rIBASE if breakFlags==0. Always refresh rIBASE here, and then
- * bail to the real handler if breakFlags==0.
- */
- ldrb r3, [rSELF, #offThread_breakFlags]
- adrl lr, dvmAsmInstructionStart + (309 * 64)
- ldr rIBASE, [rSELF, #offThread_curHandlerTable]
- cmp r3, #0
- bxeq lr @ nothing to do - jump to real handler
- EXPORT_PC()
- mov r0, rPC @ arg0
- mov r1, rFP @ arg1
- mov r2, rSELF @ arg2
- b dvmCheckBefore @ (dPC,dFP,self) tail call
-
-/* ------------------------------ */
- .balign 64
-.L_ALT_OP_UNUSED_36FF: /* 0x136 */
-/* File: armv5te/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Note that the call to dvmCheckBefore is done as a tail call.
- * rIBASE updates won't be seen until a refresh, and we can tell we have a
- * stale rIBASE if breakFlags==0. Always refresh rIBASE here, and then
- * bail to the real handler if breakFlags==0.
- */
- ldrb r3, [rSELF, #offThread_breakFlags]
- adrl lr, dvmAsmInstructionStart + (310 * 64)
- ldr rIBASE, [rSELF, #offThread_curHandlerTable]
- cmp r3, #0
- bxeq lr @ nothing to do - jump to real handler
- EXPORT_PC()
- mov r0, rPC @ arg0
- mov r1, rFP @ arg1
- mov r2, rSELF @ arg2
- b dvmCheckBefore @ (dPC,dFP,self) tail call
-
-/* ------------------------------ */
- .balign 64
-.L_ALT_OP_UNUSED_37FF: /* 0x137 */
-/* File: armv5te/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Note that the call to dvmCheckBefore is done as a tail call.
- * rIBASE updates won't be seen until a refresh, and we can tell we have a
- * stale rIBASE if breakFlags==0. Always refresh rIBASE here, and then
- * bail to the real handler if breakFlags==0.
- */
- ldrb r3, [rSELF, #offThread_breakFlags]
- adrl lr, dvmAsmInstructionStart + (311 * 64)
- ldr rIBASE, [rSELF, #offThread_curHandlerTable]
- cmp r3, #0
- bxeq lr @ nothing to do - jump to real handler
- EXPORT_PC()
- mov r0, rPC @ arg0
- mov r1, rFP @ arg1
- mov r2, rSELF @ arg2
- b dvmCheckBefore @ (dPC,dFP,self) tail call
-
-/* ------------------------------ */
- .balign 64
-.L_ALT_OP_UNUSED_38FF: /* 0x138 */
-/* File: armv5te/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Note that the call to dvmCheckBefore is done as a tail call.
- * rIBASE updates won't be seen until a refresh, and we can tell we have a
- * stale rIBASE if breakFlags==0. Always refresh rIBASE here, and then
- * bail to the real handler if breakFlags==0.
- */
- ldrb r3, [rSELF, #offThread_breakFlags]
- adrl lr, dvmAsmInstructionStart + (312 * 64)
- ldr rIBASE, [rSELF, #offThread_curHandlerTable]
- cmp r3, #0
- bxeq lr @ nothing to do - jump to real handler
- EXPORT_PC()
- mov r0, rPC @ arg0
- mov r1, rFP @ arg1
- mov r2, rSELF @ arg2
- b dvmCheckBefore @ (dPC,dFP,self) tail call
-
-/* ------------------------------ */
- .balign 64
-.L_ALT_OP_UNUSED_39FF: /* 0x139 */
-/* File: armv5te/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Note that the call to dvmCheckBefore is done as a tail call.
- * rIBASE updates won't be seen until a refresh, and we can tell we have a
- * stale rIBASE if breakFlags==0. Always refresh rIBASE here, and then
- * bail to the real handler if breakFlags==0.
- */
- ldrb r3, [rSELF, #offThread_breakFlags]
- adrl lr, dvmAsmInstructionStart + (313 * 64)
- ldr rIBASE, [rSELF, #offThread_curHandlerTable]
- cmp r3, #0
- bxeq lr @ nothing to do - jump to real handler
- EXPORT_PC()
- mov r0, rPC @ arg0
- mov r1, rFP @ arg1
- mov r2, rSELF @ arg2
- b dvmCheckBefore @ (dPC,dFP,self) tail call
-
-/* ------------------------------ */
- .balign 64
-.L_ALT_OP_UNUSED_3AFF: /* 0x13a */
-/* File: armv5te/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Note that the call to dvmCheckBefore is done as a tail call.
- * rIBASE updates won't be seen until a refresh, and we can tell we have a
- * stale rIBASE if breakFlags==0. Always refresh rIBASE here, and then
- * bail to the real handler if breakFlags==0.
- */
- ldrb r3, [rSELF, #offThread_breakFlags]
- adrl lr, dvmAsmInstructionStart + (314 * 64)
- ldr rIBASE, [rSELF, #offThread_curHandlerTable]
- cmp r3, #0
- bxeq lr @ nothing to do - jump to real handler
- EXPORT_PC()
- mov r0, rPC @ arg0
- mov r1, rFP @ arg1
- mov r2, rSELF @ arg2
- b dvmCheckBefore @ (dPC,dFP,self) tail call
-
-/* ------------------------------ */
- .balign 64
-.L_ALT_OP_UNUSED_3BFF: /* 0x13b */
-/* File: armv5te/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Note that the call to dvmCheckBefore is done as a tail call.
- * rIBASE updates won't be seen until a refresh, and we can tell we have a
- * stale rIBASE if breakFlags==0. Always refresh rIBASE here, and then
- * bail to the real handler if breakFlags==0.
- */
- ldrb r3, [rSELF, #offThread_breakFlags]
- adrl lr, dvmAsmInstructionStart + (315 * 64)
- ldr rIBASE, [rSELF, #offThread_curHandlerTable]
- cmp r3, #0
- bxeq lr @ nothing to do - jump to real handler
- EXPORT_PC()
- mov r0, rPC @ arg0
- mov r1, rFP @ arg1
- mov r2, rSELF @ arg2
- b dvmCheckBefore @ (dPC,dFP,self) tail call
-
-/* ------------------------------ */
- .balign 64
-.L_ALT_OP_UNUSED_3CFF: /* 0x13c */
-/* File: armv5te/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Note that the call to dvmCheckBefore is done as a tail call.
- * rIBASE updates won't be seen until a refresh, and we can tell we have a
- * stale rIBASE if breakFlags==0. Always refresh rIBASE here, and then
- * bail to the real handler if breakFlags==0.
- */
- ldrb r3, [rSELF, #offThread_breakFlags]
- adrl lr, dvmAsmInstructionStart + (316 * 64)
- ldr rIBASE, [rSELF, #offThread_curHandlerTable]
- cmp r3, #0
- bxeq lr @ nothing to do - jump to real handler
- EXPORT_PC()
- mov r0, rPC @ arg0
- mov r1, rFP @ arg1
- mov r2, rSELF @ arg2
- b dvmCheckBefore @ (dPC,dFP,self) tail call
-
-/* ------------------------------ */
- .balign 64
-.L_ALT_OP_UNUSED_3DFF: /* 0x13d */
-/* File: armv5te/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Note that the call to dvmCheckBefore is done as a tail call.
- * rIBASE updates won't be seen until a refresh, and we can tell we have a
- * stale rIBASE if breakFlags==0. Always refresh rIBASE here, and then
- * bail to the real handler if breakFlags==0.
- */
- ldrb r3, [rSELF, #offThread_breakFlags]
- adrl lr, dvmAsmInstructionStart + (317 * 64)
- ldr rIBASE, [rSELF, #offThread_curHandlerTable]
- cmp r3, #0
- bxeq lr @ nothing to do - jump to real handler
- EXPORT_PC()
- mov r0, rPC @ arg0
- mov r1, rFP @ arg1
- mov r2, rSELF @ arg2
- b dvmCheckBefore @ (dPC,dFP,self) tail call
-
-/* ------------------------------ */
- .balign 64
-.L_ALT_OP_UNUSED_3EFF: /* 0x13e */
-/* File: armv5te/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Note that the call to dvmCheckBefore is done as a tail call.
- * rIBASE updates won't be seen until a refresh, and we can tell we have a
- * stale rIBASE if breakFlags==0. Always refresh rIBASE here, and then
- * bail to the real handler if breakFlags==0.
- */
- ldrb r3, [rSELF, #offThread_breakFlags]
- adrl lr, dvmAsmInstructionStart + (318 * 64)
- ldr rIBASE, [rSELF, #offThread_curHandlerTable]
- cmp r3, #0
- bxeq lr @ nothing to do - jump to real handler
- EXPORT_PC()
- mov r0, rPC @ arg0
- mov r1, rFP @ arg1
- mov r2, rSELF @ arg2
- b dvmCheckBefore @ (dPC,dFP,self) tail call
-
-/* ------------------------------ */
- .balign 64
-.L_ALT_OP_UNUSED_3FFF: /* 0x13f */
-/* File: armv5te/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Note that the call to dvmCheckBefore is done as a tail call.
- * rIBASE updates won't be seen until a refresh, and we can tell we have a
- * stale rIBASE if breakFlags==0. Always refresh rIBASE here, and then
- * bail to the real handler if breakFlags==0.
- */
- ldrb r3, [rSELF, #offThread_breakFlags]
- adrl lr, dvmAsmInstructionStart + (319 * 64)
- ldr rIBASE, [rSELF, #offThread_curHandlerTable]
- cmp r3, #0
- bxeq lr @ nothing to do - jump to real handler
- EXPORT_PC()
- mov r0, rPC @ arg0
- mov r1, rFP @ arg1
- mov r2, rSELF @ arg2
- b dvmCheckBefore @ (dPC,dFP,self) tail call
-
-/* ------------------------------ */
- .balign 64
-.L_ALT_OP_UNUSED_40FF: /* 0x140 */
-/* File: armv5te/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Note that the call to dvmCheckBefore is done as a tail call.
- * rIBASE updates won't be seen until a refresh, and we can tell we have a
- * stale rIBASE if breakFlags==0. Always refresh rIBASE here, and then
- * bail to the real handler if breakFlags==0.
- */
- ldrb r3, [rSELF, #offThread_breakFlags]
- adrl lr, dvmAsmInstructionStart + (320 * 64)
- ldr rIBASE, [rSELF, #offThread_curHandlerTable]
- cmp r3, #0
- bxeq lr @ nothing to do - jump to real handler
- EXPORT_PC()
- mov r0, rPC @ arg0
- mov r1, rFP @ arg1
- mov r2, rSELF @ arg2
- b dvmCheckBefore @ (dPC,dFP,self) tail call
-
-/* ------------------------------ */
- .balign 64
-.L_ALT_OP_UNUSED_41FF: /* 0x141 */
-/* File: armv5te/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Note that the call to dvmCheckBefore is done as a tail call.
- * rIBASE updates won't be seen until a refresh, and we can tell we have a
- * stale rIBASE if breakFlags==0. Always refresh rIBASE here, and then
- * bail to the real handler if breakFlags==0.
- */
- ldrb r3, [rSELF, #offThread_breakFlags]
- adrl lr, dvmAsmInstructionStart + (321 * 64)
- ldr rIBASE, [rSELF, #offThread_curHandlerTable]
- cmp r3, #0
- bxeq lr @ nothing to do - jump to real handler
- EXPORT_PC()
- mov r0, rPC @ arg0
- mov r1, rFP @ arg1
- mov r2, rSELF @ arg2
- b dvmCheckBefore @ (dPC,dFP,self) tail call
-
-/* ------------------------------ */
- .balign 64
-.L_ALT_OP_UNUSED_42FF: /* 0x142 */
-/* File: armv5te/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Note that the call to dvmCheckBefore is done as a tail call.
- * rIBASE updates won't be seen until a refresh, and we can tell we have a
- * stale rIBASE if breakFlags==0. Always refresh rIBASE here, and then
- * bail to the real handler if breakFlags==0.
- */
- ldrb r3, [rSELF, #offThread_breakFlags]
- adrl lr, dvmAsmInstructionStart + (322 * 64)
- ldr rIBASE, [rSELF, #offThread_curHandlerTable]
- cmp r3, #0
- bxeq lr @ nothing to do - jump to real handler
- EXPORT_PC()
- mov r0, rPC @ arg0
- mov r1, rFP @ arg1
- mov r2, rSELF @ arg2
- b dvmCheckBefore @ (dPC,dFP,self) tail call
-
-/* ------------------------------ */
- .balign 64
-.L_ALT_OP_UNUSED_43FF: /* 0x143 */
-/* File: armv5te/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Note that the call to dvmCheckBefore is done as a tail call.
- * rIBASE updates won't be seen until a refresh, and we can tell we have a
- * stale rIBASE if breakFlags==0. Always refresh rIBASE here, and then
- * bail to the real handler if breakFlags==0.
- */
- ldrb r3, [rSELF, #offThread_breakFlags]
- adrl lr, dvmAsmInstructionStart + (323 * 64)
- ldr rIBASE, [rSELF, #offThread_curHandlerTable]
- cmp r3, #0
- bxeq lr @ nothing to do - jump to real handler
- EXPORT_PC()
- mov r0, rPC @ arg0
- mov r1, rFP @ arg1
- mov r2, rSELF @ arg2
- b dvmCheckBefore @ (dPC,dFP,self) tail call
-
-/* ------------------------------ */
- .balign 64
-.L_ALT_OP_UNUSED_44FF: /* 0x144 */
-/* File: armv5te/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Note that the call to dvmCheckBefore is done as a tail call.
- * rIBASE updates won't be seen until a refresh, and we can tell we have a
- * stale rIBASE if breakFlags==0. Always refresh rIBASE here, and then
- * bail to the real handler if breakFlags==0.
- */
- ldrb r3, [rSELF, #offThread_breakFlags]
- adrl lr, dvmAsmInstructionStart + (324 * 64)
- ldr rIBASE, [rSELF, #offThread_curHandlerTable]
- cmp r3, #0
- bxeq lr @ nothing to do - jump to real handler
- EXPORT_PC()
- mov r0, rPC @ arg0
- mov r1, rFP @ arg1
- mov r2, rSELF @ arg2
- b dvmCheckBefore @ (dPC,dFP,self) tail call
-
-/* ------------------------------ */
- .balign 64
-.L_ALT_OP_UNUSED_45FF: /* 0x145 */
-/* File: armv5te/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Note that the call to dvmCheckBefore is done as a tail call.
- * rIBASE updates won't be seen until a refresh, and we can tell we have a
- * stale rIBASE if breakFlags==0. Always refresh rIBASE here, and then
- * bail to the real handler if breakFlags==0.
- */
- ldrb r3, [rSELF, #offThread_breakFlags]
- adrl lr, dvmAsmInstructionStart + (325 * 64)
- ldr rIBASE, [rSELF, #offThread_curHandlerTable]
- cmp r3, #0
- bxeq lr @ nothing to do - jump to real handler
- EXPORT_PC()
- mov r0, rPC @ arg0
- mov r1, rFP @ arg1
- mov r2, rSELF @ arg2
- b dvmCheckBefore @ (dPC,dFP,self) tail call
-
-/* ------------------------------ */
- .balign 64
-.L_ALT_OP_UNUSED_46FF: /* 0x146 */
-/* File: armv5te/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Note that the call to dvmCheckBefore is done as a tail call.
- * rIBASE updates won't be seen until a refresh, and we can tell we have a
- * stale rIBASE if breakFlags==0. Always refresh rIBASE here, and then
- * bail to the real handler if breakFlags==0.
- */
- ldrb r3, [rSELF, #offThread_breakFlags]
- adrl lr, dvmAsmInstructionStart + (326 * 64)
- ldr rIBASE, [rSELF, #offThread_curHandlerTable]
- cmp r3, #0
- bxeq lr @ nothing to do - jump to real handler
- EXPORT_PC()
- mov r0, rPC @ arg0
- mov r1, rFP @ arg1
- mov r2, rSELF @ arg2
- b dvmCheckBefore @ (dPC,dFP,self) tail call
-
-/* ------------------------------ */
- .balign 64
-.L_ALT_OP_UNUSED_47FF: /* 0x147 */
-/* File: armv5te/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Note that the call to dvmCheckBefore is done as a tail call.
- * rIBASE updates won't be seen until a refresh, and we can tell we have a
- * stale rIBASE if breakFlags==0. Always refresh rIBASE here, and then
- * bail to the real handler if breakFlags==0.
- */
- ldrb r3, [rSELF, #offThread_breakFlags]
- adrl lr, dvmAsmInstructionStart + (327 * 64)
- ldr rIBASE, [rSELF, #offThread_curHandlerTable]
- cmp r3, #0
- bxeq lr @ nothing to do - jump to real handler
- EXPORT_PC()
- mov r0, rPC @ arg0
- mov r1, rFP @ arg1
- mov r2, rSELF @ arg2
- b dvmCheckBefore @ (dPC,dFP,self) tail call
-
-/* ------------------------------ */
- .balign 64
-.L_ALT_OP_UNUSED_48FF: /* 0x148 */
-/* File: armv5te/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Note that the call to dvmCheckBefore is done as a tail call.
- * rIBASE updates won't be seen until a refresh, and we can tell we have a
- * stale rIBASE if breakFlags==0. Always refresh rIBASE here, and then
- * bail to the real handler if breakFlags==0.
- */
- ldrb r3, [rSELF, #offThread_breakFlags]
- adrl lr, dvmAsmInstructionStart + (328 * 64)
- ldr rIBASE, [rSELF, #offThread_curHandlerTable]
- cmp r3, #0
- bxeq lr @ nothing to do - jump to real handler
- EXPORT_PC()
- mov r0, rPC @ arg0
- mov r1, rFP @ arg1
- mov r2, rSELF @ arg2
- b dvmCheckBefore @ (dPC,dFP,self) tail call
-
-/* ------------------------------ */
- .balign 64
-.L_ALT_OP_UNUSED_49FF: /* 0x149 */
-/* File: armv5te/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Note that the call to dvmCheckBefore is done as a tail call.
- * rIBASE updates won't be seen until a refresh, and we can tell we have a
- * stale rIBASE if breakFlags==0. Always refresh rIBASE here, and then
- * bail to the real handler if breakFlags==0.
- */
- ldrb r3, [rSELF, #offThread_breakFlags]
- adrl lr, dvmAsmInstructionStart + (329 * 64)
- ldr rIBASE, [rSELF, #offThread_curHandlerTable]
- cmp r3, #0
- bxeq lr @ nothing to do - jump to real handler
- EXPORT_PC()
- mov r0, rPC @ arg0
- mov r1, rFP @ arg1
- mov r2, rSELF @ arg2
- b dvmCheckBefore @ (dPC,dFP,self) tail call
-
-/* ------------------------------ */
- .balign 64
-.L_ALT_OP_UNUSED_4AFF: /* 0x14a */
-/* File: armv5te/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Note that the call to dvmCheckBefore is done as a tail call.
- * rIBASE updates won't be seen until a refresh, and we can tell we have a
- * stale rIBASE if breakFlags==0. Always refresh rIBASE here, and then
- * bail to the real handler if breakFlags==0.
- */
- ldrb r3, [rSELF, #offThread_breakFlags]
- adrl lr, dvmAsmInstructionStart + (330 * 64)
- ldr rIBASE, [rSELF, #offThread_curHandlerTable]
- cmp r3, #0
- bxeq lr @ nothing to do - jump to real handler
- EXPORT_PC()
- mov r0, rPC @ arg0
- mov r1, rFP @ arg1
- mov r2, rSELF @ arg2
- b dvmCheckBefore @ (dPC,dFP,self) tail call
-
-/* ------------------------------ */
- .balign 64
-.L_ALT_OP_UNUSED_4BFF: /* 0x14b */
-/* File: armv5te/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Note that the call to dvmCheckBefore is done as a tail call.
- * rIBASE updates won't be seen until a refresh, and we can tell we have a
- * stale rIBASE if breakFlags==0. Always refresh rIBASE here, and then
- * bail to the real handler if breakFlags==0.
- */
- ldrb r3, [rSELF, #offThread_breakFlags]
- adrl lr, dvmAsmInstructionStart + (331 * 64)
- ldr rIBASE, [rSELF, #offThread_curHandlerTable]
- cmp r3, #0
- bxeq lr @ nothing to do - jump to real handler
- EXPORT_PC()
- mov r0, rPC @ arg0
- mov r1, rFP @ arg1
- mov r2, rSELF @ arg2
- b dvmCheckBefore @ (dPC,dFP,self) tail call
-
-/* ------------------------------ */
- .balign 64
-.L_ALT_OP_UNUSED_4CFF: /* 0x14c */
-/* File: armv5te/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Note that the call to dvmCheckBefore is done as a tail call.
- * rIBASE updates won't be seen until a refresh, and we can tell we have a
- * stale rIBASE if breakFlags==0. Always refresh rIBASE here, and then
- * bail to the real handler if breakFlags==0.
- */
- ldrb r3, [rSELF, #offThread_breakFlags]
- adrl lr, dvmAsmInstructionStart + (332 * 64)
- ldr rIBASE, [rSELF, #offThread_curHandlerTable]
- cmp r3, #0
- bxeq lr @ nothing to do - jump to real handler
- EXPORT_PC()
- mov r0, rPC @ arg0
- mov r1, rFP @ arg1
- mov r2, rSELF @ arg2
- b dvmCheckBefore @ (dPC,dFP,self) tail call
-
-/* ------------------------------ */
- .balign 64
-.L_ALT_OP_UNUSED_4DFF: /* 0x14d */
-/* File: armv5te/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Note that the call to dvmCheckBefore is done as a tail call.
- * rIBASE updates won't be seen until a refresh, and we can tell we have a
- * stale rIBASE if breakFlags==0. Always refresh rIBASE here, and then
- * bail to the real handler if breakFlags==0.
- */
- ldrb r3, [rSELF, #offThread_breakFlags]
- adrl lr, dvmAsmInstructionStart + (333 * 64)
- ldr rIBASE, [rSELF, #offThread_curHandlerTable]
- cmp r3, #0
- bxeq lr @ nothing to do - jump to real handler
- EXPORT_PC()
- mov r0, rPC @ arg0
- mov r1, rFP @ arg1
- mov r2, rSELF @ arg2
- b dvmCheckBefore @ (dPC,dFP,self) tail call
-
-/* ------------------------------ */
- .balign 64
-.L_ALT_OP_UNUSED_4EFF: /* 0x14e */
-/* File: armv5te/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Note that the call to dvmCheckBefore is done as a tail call.
- * rIBASE updates won't be seen until a refresh, and we can tell we have a
- * stale rIBASE if breakFlags==0. Always refresh rIBASE here, and then
- * bail to the real handler if breakFlags==0.
- */
- ldrb r3, [rSELF, #offThread_breakFlags]
- adrl lr, dvmAsmInstructionStart + (334 * 64)
- ldr rIBASE, [rSELF, #offThread_curHandlerTable]
- cmp r3, #0
- bxeq lr @ nothing to do - jump to real handler
- EXPORT_PC()
- mov r0, rPC @ arg0
- mov r1, rFP @ arg1
- mov r2, rSELF @ arg2
- b dvmCheckBefore @ (dPC,dFP,self) tail call
-
-/* ------------------------------ */
- .balign 64
-.L_ALT_OP_UNUSED_4FFF: /* 0x14f */
-/* File: armv5te/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Note that the call to dvmCheckBefore is done as a tail call.
- * rIBASE updates won't be seen until a refresh, and we can tell we have a
- * stale rIBASE if breakFlags==0. Always refresh rIBASE here, and then
- * bail to the real handler if breakFlags==0.
- */
- ldrb r3, [rSELF, #offThread_breakFlags]
- adrl lr, dvmAsmInstructionStart + (335 * 64)
- ldr rIBASE, [rSELF, #offThread_curHandlerTable]
- cmp r3, #0
- bxeq lr @ nothing to do - jump to real handler
- EXPORT_PC()
- mov r0, rPC @ arg0
- mov r1, rFP @ arg1
- mov r2, rSELF @ arg2
- b dvmCheckBefore @ (dPC,dFP,self) tail call
-
-/* ------------------------------ */
- .balign 64
-.L_ALT_OP_UNUSED_50FF: /* 0x150 */
-/* File: armv5te/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Note that the call to dvmCheckBefore is done as a tail call.
- * rIBASE updates won't be seen until a refresh, and we can tell we have a
- * stale rIBASE if breakFlags==0. Always refresh rIBASE here, and then
- * bail to the real handler if breakFlags==0.
- */
- ldrb r3, [rSELF, #offThread_breakFlags]
- adrl lr, dvmAsmInstructionStart + (336 * 64)
- ldr rIBASE, [rSELF, #offThread_curHandlerTable]
- cmp r3, #0
- bxeq lr @ nothing to do - jump to real handler
- EXPORT_PC()
- mov r0, rPC @ arg0
- mov r1, rFP @ arg1
- mov r2, rSELF @ arg2
- b dvmCheckBefore @ (dPC,dFP,self) tail call
-
-/* ------------------------------ */
- .balign 64
-.L_ALT_OP_UNUSED_51FF: /* 0x151 */
-/* File: armv5te/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Note that the call to dvmCheckBefore is done as a tail call.
- * rIBASE updates won't be seen until a refresh, and we can tell we have a
- * stale rIBASE if breakFlags==0. Always refresh rIBASE here, and then
- * bail to the real handler if breakFlags==0.
- */
- ldrb r3, [rSELF, #offThread_breakFlags]
- adrl lr, dvmAsmInstructionStart + (337 * 64)
- ldr rIBASE, [rSELF, #offThread_curHandlerTable]
- cmp r3, #0
- bxeq lr @ nothing to do - jump to real handler
- EXPORT_PC()
- mov r0, rPC @ arg0
- mov r1, rFP @ arg1
- mov r2, rSELF @ arg2
- b dvmCheckBefore @ (dPC,dFP,self) tail call
-
-/* ------------------------------ */
- .balign 64
-.L_ALT_OP_UNUSED_52FF: /* 0x152 */
-/* File: armv5te/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Note that the call to dvmCheckBefore is done as a tail call.
- * rIBASE updates won't be seen until a refresh, and we can tell we have a
- * stale rIBASE if breakFlags==0. Always refresh rIBASE here, and then
- * bail to the real handler if breakFlags==0.
- */
- ldrb r3, [rSELF, #offThread_breakFlags]
- adrl lr, dvmAsmInstructionStart + (338 * 64)
- ldr rIBASE, [rSELF, #offThread_curHandlerTable]
- cmp r3, #0
- bxeq lr @ nothing to do - jump to real handler
- EXPORT_PC()
- mov r0, rPC @ arg0
- mov r1, rFP @ arg1
- mov r2, rSELF @ arg2
- b dvmCheckBefore @ (dPC,dFP,self) tail call
-
-/* ------------------------------ */
- .balign 64
-.L_ALT_OP_UNUSED_53FF: /* 0x153 */
-/* File: armv5te/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Note that the call to dvmCheckBefore is done as a tail call.
- * rIBASE updates won't be seen until a refresh, and we can tell we have a
- * stale rIBASE if breakFlags==0. Always refresh rIBASE here, and then
- * bail to the real handler if breakFlags==0.
- */
- ldrb r3, [rSELF, #offThread_breakFlags]
- adrl lr, dvmAsmInstructionStart + (339 * 64)
- ldr rIBASE, [rSELF, #offThread_curHandlerTable]
- cmp r3, #0
- bxeq lr @ nothing to do - jump to real handler
- EXPORT_PC()
- mov r0, rPC @ arg0
- mov r1, rFP @ arg1
- mov r2, rSELF @ arg2
- b dvmCheckBefore @ (dPC,dFP,self) tail call
-
-/* ------------------------------ */
- .balign 64
-.L_ALT_OP_UNUSED_54FF: /* 0x154 */
-/* File: armv5te/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Note that the call to dvmCheckBefore is done as a tail call.
- * rIBASE updates won't be seen until a refresh, and we can tell we have a
- * stale rIBASE if breakFlags==0. Always refresh rIBASE here, and then
- * bail to the real handler if breakFlags==0.
- */
- ldrb r3, [rSELF, #offThread_breakFlags]
- adrl lr, dvmAsmInstructionStart + (340 * 64)
- ldr rIBASE, [rSELF, #offThread_curHandlerTable]
- cmp r3, #0
- bxeq lr @ nothing to do - jump to real handler
- EXPORT_PC()
- mov r0, rPC @ arg0
- mov r1, rFP @ arg1
- mov r2, rSELF @ arg2
- b dvmCheckBefore @ (dPC,dFP,self) tail call
-
-/* ------------------------------ */
- .balign 64
-.L_ALT_OP_UNUSED_55FF: /* 0x155 */
-/* File: armv5te/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Note that the call to dvmCheckBefore is done as a tail call.
- * rIBASE updates won't be seen until a refresh, and we can tell we have a
- * stale rIBASE if breakFlags==0. Always refresh rIBASE here, and then
- * bail to the real handler if breakFlags==0.
- */
- ldrb r3, [rSELF, #offThread_breakFlags]
- adrl lr, dvmAsmInstructionStart + (341 * 64)
- ldr rIBASE, [rSELF, #offThread_curHandlerTable]
- cmp r3, #0
- bxeq lr @ nothing to do - jump to real handler
- EXPORT_PC()
- mov r0, rPC @ arg0
- mov r1, rFP @ arg1
- mov r2, rSELF @ arg2
- b dvmCheckBefore @ (dPC,dFP,self) tail call
-
-/* ------------------------------ */
- .balign 64
-.L_ALT_OP_UNUSED_56FF: /* 0x156 */
-/* File: armv5te/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Note that the call to dvmCheckBefore is done as a tail call.
- * rIBASE updates won't be seen until a refresh, and we can tell we have a
- * stale rIBASE if breakFlags==0. Always refresh rIBASE here, and then
- * bail to the real handler if breakFlags==0.
- */
- ldrb r3, [rSELF, #offThread_breakFlags]
- adrl lr, dvmAsmInstructionStart + (342 * 64)
- ldr rIBASE, [rSELF, #offThread_curHandlerTable]
- cmp r3, #0
- bxeq lr @ nothing to do - jump to real handler
- EXPORT_PC()
- mov r0, rPC @ arg0
- mov r1, rFP @ arg1
- mov r2, rSELF @ arg2
- b dvmCheckBefore @ (dPC,dFP,self) tail call
-
-/* ------------------------------ */
- .balign 64
-.L_ALT_OP_UNUSED_57FF: /* 0x157 */
-/* File: armv5te/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Note that the call to dvmCheckBefore is done as a tail call.
- * rIBASE updates won't be seen until a refresh, and we can tell we have a
- * stale rIBASE if breakFlags==0. Always refresh rIBASE here, and then
- * bail to the real handler if breakFlags==0.
- */
- ldrb r3, [rSELF, #offThread_breakFlags]
- adrl lr, dvmAsmInstructionStart + (343 * 64)
- ldr rIBASE, [rSELF, #offThread_curHandlerTable]
- cmp r3, #0
- bxeq lr @ nothing to do - jump to real handler
- EXPORT_PC()
- mov r0, rPC @ arg0
- mov r1, rFP @ arg1
- mov r2, rSELF @ arg2
- b dvmCheckBefore @ (dPC,dFP,self) tail call
-
-/* ------------------------------ */
- .balign 64
-.L_ALT_OP_UNUSED_58FF: /* 0x158 */
-/* File: armv5te/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Note that the call to dvmCheckBefore is done as a tail call.
- * rIBASE updates won't be seen until a refresh, and we can tell we have a
- * stale rIBASE if breakFlags==0. Always refresh rIBASE here, and then
- * bail to the real handler if breakFlags==0.
- */
- ldrb r3, [rSELF, #offThread_breakFlags]
- adrl lr, dvmAsmInstructionStart + (344 * 64)
- ldr rIBASE, [rSELF, #offThread_curHandlerTable]
- cmp r3, #0
- bxeq lr @ nothing to do - jump to real handler
- EXPORT_PC()
- mov r0, rPC @ arg0
- mov r1, rFP @ arg1
- mov r2, rSELF @ arg2
- b dvmCheckBefore @ (dPC,dFP,self) tail call
-
-/* ------------------------------ */
- .balign 64
-.L_ALT_OP_UNUSED_59FF: /* 0x159 */
-/* File: armv5te/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Note that the call to dvmCheckBefore is done as a tail call.
- * rIBASE updates won't be seen until a refresh, and we can tell we have a
- * stale rIBASE if breakFlags==0. Always refresh rIBASE here, and then
- * bail to the real handler if breakFlags==0.
- */
- ldrb r3, [rSELF, #offThread_breakFlags]
- adrl lr, dvmAsmInstructionStart + (345 * 64)
- ldr rIBASE, [rSELF, #offThread_curHandlerTable]
- cmp r3, #0
- bxeq lr @ nothing to do - jump to real handler
- EXPORT_PC()
- mov r0, rPC @ arg0
- mov r1, rFP @ arg1
- mov r2, rSELF @ arg2
- b dvmCheckBefore @ (dPC,dFP,self) tail call
-
-/* ------------------------------ */
- .balign 64
-.L_ALT_OP_UNUSED_5AFF: /* 0x15a */
-/* File: armv5te/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Note that the call to dvmCheckBefore is done as a tail call.
- * rIBASE updates won't be seen until a refresh, and we can tell we have a
- * stale rIBASE if breakFlags==0. Always refresh rIBASE here, and then
- * bail to the real handler if breakFlags==0.
- */
- ldrb r3, [rSELF, #offThread_breakFlags]
- adrl lr, dvmAsmInstructionStart + (346 * 64)
- ldr rIBASE, [rSELF, #offThread_curHandlerTable]
- cmp r3, #0
- bxeq lr @ nothing to do - jump to real handler
- EXPORT_PC()
- mov r0, rPC @ arg0
- mov r1, rFP @ arg1
- mov r2, rSELF @ arg2
- b dvmCheckBefore @ (dPC,dFP,self) tail call
-
-/* ------------------------------ */
- .balign 64
-.L_ALT_OP_UNUSED_5BFF: /* 0x15b */
-/* File: armv5te/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Note that the call to dvmCheckBefore is done as a tail call.
- * rIBASE updates won't be seen until a refresh, and we can tell we have a
- * stale rIBASE if breakFlags==0. Always refresh rIBASE here, and then
- * bail to the real handler if breakFlags==0.
- */
- ldrb r3, [rSELF, #offThread_breakFlags]
- adrl lr, dvmAsmInstructionStart + (347 * 64)
- ldr rIBASE, [rSELF, #offThread_curHandlerTable]
- cmp r3, #0
- bxeq lr @ nothing to do - jump to real handler
- EXPORT_PC()
- mov r0, rPC @ arg0
- mov r1, rFP @ arg1
- mov r2, rSELF @ arg2
- b dvmCheckBefore @ (dPC,dFP,self) tail call
-
-/* ------------------------------ */
- .balign 64
-.L_ALT_OP_UNUSED_5CFF: /* 0x15c */
-/* File: armv5te/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Note that the call to dvmCheckBefore is done as a tail call.
- * rIBASE updates won't be seen until a refresh, and we can tell we have a
- * stale rIBASE if breakFlags==0. Always refresh rIBASE here, and then
- * bail to the real handler if breakFlags==0.
- */
- ldrb r3, [rSELF, #offThread_breakFlags]
- adrl lr, dvmAsmInstructionStart + (348 * 64)
- ldr rIBASE, [rSELF, #offThread_curHandlerTable]
- cmp r3, #0
- bxeq lr @ nothing to do - jump to real handler
- EXPORT_PC()
- mov r0, rPC @ arg0
- mov r1, rFP @ arg1
- mov r2, rSELF @ arg2
- b dvmCheckBefore @ (dPC,dFP,self) tail call
-
-/* ------------------------------ */
- .balign 64
-.L_ALT_OP_UNUSED_5DFF: /* 0x15d */
-/* File: armv5te/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Note that the call to dvmCheckBefore is done as a tail call.
- * rIBASE updates won't be seen until a refresh, and we can tell we have a
- * stale rIBASE if breakFlags==0. Always refresh rIBASE here, and then
- * bail to the real handler if breakFlags==0.
- */
- ldrb r3, [rSELF, #offThread_breakFlags]
- adrl lr, dvmAsmInstructionStart + (349 * 64)
- ldr rIBASE, [rSELF, #offThread_curHandlerTable]
- cmp r3, #0
- bxeq lr @ nothing to do - jump to real handler
- EXPORT_PC()
- mov r0, rPC @ arg0
- mov r1, rFP @ arg1
- mov r2, rSELF @ arg2
- b dvmCheckBefore @ (dPC,dFP,self) tail call
-
-/* ------------------------------ */
- .balign 64
-.L_ALT_OP_UNUSED_5EFF: /* 0x15e */
-/* File: armv5te/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Note that the call to dvmCheckBefore is done as a tail call.
- * rIBASE updates won't be seen until a refresh, and we can tell we have a
- * stale rIBASE if breakFlags==0. Always refresh rIBASE here, and then
- * bail to the real handler if breakFlags==0.
- */
- ldrb r3, [rSELF, #offThread_breakFlags]
- adrl lr, dvmAsmInstructionStart + (350 * 64)
- ldr rIBASE, [rSELF, #offThread_curHandlerTable]
- cmp r3, #0
- bxeq lr @ nothing to do - jump to real handler
- EXPORT_PC()
- mov r0, rPC @ arg0
- mov r1, rFP @ arg1
- mov r2, rSELF @ arg2
- b dvmCheckBefore @ (dPC,dFP,self) tail call
-
-/* ------------------------------ */
- .balign 64
-.L_ALT_OP_UNUSED_5FFF: /* 0x15f */
-/* File: armv5te/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Note that the call to dvmCheckBefore is done as a tail call.
- * rIBASE updates won't be seen until a refresh, and we can tell we have a
- * stale rIBASE if breakFlags==0. Always refresh rIBASE here, and then
- * bail to the real handler if breakFlags==0.
- */
- ldrb r3, [rSELF, #offThread_breakFlags]
- adrl lr, dvmAsmInstructionStart + (351 * 64)
- ldr rIBASE, [rSELF, #offThread_curHandlerTable]
- cmp r3, #0
- bxeq lr @ nothing to do - jump to real handler
- EXPORT_PC()
- mov r0, rPC @ arg0
- mov r1, rFP @ arg1
- mov r2, rSELF @ arg2
- b dvmCheckBefore @ (dPC,dFP,self) tail call
-
-/* ------------------------------ */
- .balign 64
-.L_ALT_OP_UNUSED_60FF: /* 0x160 */
-/* File: armv5te/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Note that the call to dvmCheckBefore is done as a tail call.
- * rIBASE updates won't be seen until a refresh, and we can tell we have a
- * stale rIBASE if breakFlags==0. Always refresh rIBASE here, and then
- * bail to the real handler if breakFlags==0.
- */
- ldrb r3, [rSELF, #offThread_breakFlags]
- adrl lr, dvmAsmInstructionStart + (352 * 64)
- ldr rIBASE, [rSELF, #offThread_curHandlerTable]
- cmp r3, #0
- bxeq lr @ nothing to do - jump to real handler
- EXPORT_PC()
- mov r0, rPC @ arg0
- mov r1, rFP @ arg1
- mov r2, rSELF @ arg2
- b dvmCheckBefore @ (dPC,dFP,self) tail call
-
-/* ------------------------------ */
- .balign 64
-.L_ALT_OP_UNUSED_61FF: /* 0x161 */
-/* File: armv5te/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Note that the call to dvmCheckBefore is done as a tail call.
- * rIBASE updates won't be seen until a refresh, and we can tell we have a
- * stale rIBASE if breakFlags==0. Always refresh rIBASE here, and then
- * bail to the real handler if breakFlags==0.
- */
- ldrb r3, [rSELF, #offThread_breakFlags]
- adrl lr, dvmAsmInstructionStart + (353 * 64)
- ldr rIBASE, [rSELF, #offThread_curHandlerTable]
- cmp r3, #0
- bxeq lr @ nothing to do - jump to real handler
- EXPORT_PC()
- mov r0, rPC @ arg0
- mov r1, rFP @ arg1
- mov r2, rSELF @ arg2
- b dvmCheckBefore @ (dPC,dFP,self) tail call
-
-/* ------------------------------ */
- .balign 64
-.L_ALT_OP_UNUSED_62FF: /* 0x162 */
-/* File: armv5te/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Note that the call to dvmCheckBefore is done as a tail call.
- * rIBASE updates won't be seen until a refresh, and we can tell we have a
- * stale rIBASE if breakFlags==0. Always refresh rIBASE here, and then
- * bail to the real handler if breakFlags==0.
- */
- ldrb r3, [rSELF, #offThread_breakFlags]
- adrl lr, dvmAsmInstructionStart + (354 * 64)
- ldr rIBASE, [rSELF, #offThread_curHandlerTable]
- cmp r3, #0
- bxeq lr @ nothing to do - jump to real handler
- EXPORT_PC()
- mov r0, rPC @ arg0
- mov r1, rFP @ arg1
- mov r2, rSELF @ arg2
- b dvmCheckBefore @ (dPC,dFP,self) tail call
-
-/* ------------------------------ */
- .balign 64
-.L_ALT_OP_UNUSED_63FF: /* 0x163 */
-/* File: armv5te/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Note that the call to dvmCheckBefore is done as a tail call.
- * rIBASE updates won't be seen until a refresh, and we can tell we have a
- * stale rIBASE if breakFlags==0. Always refresh rIBASE here, and then
- * bail to the real handler if breakFlags==0.
- */
- ldrb r3, [rSELF, #offThread_breakFlags]
- adrl lr, dvmAsmInstructionStart + (355 * 64)
- ldr rIBASE, [rSELF, #offThread_curHandlerTable]
- cmp r3, #0
- bxeq lr @ nothing to do - jump to real handler
- EXPORT_PC()
- mov r0, rPC @ arg0
- mov r1, rFP @ arg1
- mov r2, rSELF @ arg2
- b dvmCheckBefore @ (dPC,dFP,self) tail call
-
-/* ------------------------------ */
- .balign 64
-.L_ALT_OP_UNUSED_64FF: /* 0x164 */
-/* File: armv5te/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Note that the call to dvmCheckBefore is done as a tail call.
- * rIBASE updates won't be seen until a refresh, and we can tell we have a
- * stale rIBASE if breakFlags==0. Always refresh rIBASE here, and then
- * bail to the real handler if breakFlags==0.
- */
- ldrb r3, [rSELF, #offThread_breakFlags]
- adrl lr, dvmAsmInstructionStart + (356 * 64)
- ldr rIBASE, [rSELF, #offThread_curHandlerTable]
- cmp r3, #0
- bxeq lr @ nothing to do - jump to real handler
- EXPORT_PC()
- mov r0, rPC @ arg0
- mov r1, rFP @ arg1
- mov r2, rSELF @ arg2
- b dvmCheckBefore @ (dPC,dFP,self) tail call
-
-/* ------------------------------ */
- .balign 64
-.L_ALT_OP_UNUSED_65FF: /* 0x165 */
-/* File: armv5te/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Note that the call to dvmCheckBefore is done as a tail call.
- * rIBASE updates won't be seen until a refresh, and we can tell we have a
- * stale rIBASE if breakFlags==0. Always refresh rIBASE here, and then
- * bail to the real handler if breakFlags==0.
- */
- ldrb r3, [rSELF, #offThread_breakFlags]
- adrl lr, dvmAsmInstructionStart + (357 * 64)
- ldr rIBASE, [rSELF, #offThread_curHandlerTable]
- cmp r3, #0
- bxeq lr @ nothing to do - jump to real handler
- EXPORT_PC()
- mov r0, rPC @ arg0
- mov r1, rFP @ arg1
- mov r2, rSELF @ arg2
- b dvmCheckBefore @ (dPC,dFP,self) tail call
-
-/* ------------------------------ */
- .balign 64
-.L_ALT_OP_UNUSED_66FF: /* 0x166 */
-/* File: armv5te/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Note that the call to dvmCheckBefore is done as a tail call.
- * rIBASE updates won't be seen until a refresh, and we can tell we have a
- * stale rIBASE if breakFlags==0. Always refresh rIBASE here, and then
- * bail to the real handler if breakFlags==0.
- */
- ldrb r3, [rSELF, #offThread_breakFlags]
- adrl lr, dvmAsmInstructionStart + (358 * 64)
- ldr rIBASE, [rSELF, #offThread_curHandlerTable]
- cmp r3, #0
- bxeq lr @ nothing to do - jump to real handler
- EXPORT_PC()
- mov r0, rPC @ arg0
- mov r1, rFP @ arg1
- mov r2, rSELF @ arg2
- b dvmCheckBefore @ (dPC,dFP,self) tail call
-
-/* ------------------------------ */
- .balign 64
-.L_ALT_OP_UNUSED_67FF: /* 0x167 */
-/* File: armv5te/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Note that the call to dvmCheckBefore is done as a tail call.
- * rIBASE updates won't be seen until a refresh, and we can tell we have a
- * stale rIBASE if breakFlags==0. Always refresh rIBASE here, and then
- * bail to the real handler if breakFlags==0.
- */
- ldrb r3, [rSELF, #offThread_breakFlags]
- adrl lr, dvmAsmInstructionStart + (359 * 64)
- ldr rIBASE, [rSELF, #offThread_curHandlerTable]
- cmp r3, #0
- bxeq lr @ nothing to do - jump to real handler
- EXPORT_PC()
- mov r0, rPC @ arg0
- mov r1, rFP @ arg1
- mov r2, rSELF @ arg2
- b dvmCheckBefore @ (dPC,dFP,self) tail call
-
-/* ------------------------------ */
- .balign 64
-.L_ALT_OP_UNUSED_68FF: /* 0x168 */
-/* File: armv5te/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Note that the call to dvmCheckBefore is done as a tail call.
- * rIBASE updates won't be seen until a refresh, and we can tell we have a
- * stale rIBASE if breakFlags==0. Always refresh rIBASE here, and then
- * bail to the real handler if breakFlags==0.
- */
- ldrb r3, [rSELF, #offThread_breakFlags]
- adrl lr, dvmAsmInstructionStart + (360 * 64)
- ldr rIBASE, [rSELF, #offThread_curHandlerTable]
- cmp r3, #0
- bxeq lr @ nothing to do - jump to real handler
- EXPORT_PC()
- mov r0, rPC @ arg0
- mov r1, rFP @ arg1
- mov r2, rSELF @ arg2
- b dvmCheckBefore @ (dPC,dFP,self) tail call
-
-/* ------------------------------ */
- .balign 64
-.L_ALT_OP_UNUSED_69FF: /* 0x169 */
-/* File: armv5te/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Note that the call to dvmCheckBefore is done as a tail call.
- * rIBASE updates won't be seen until a refresh, and we can tell we have a
- * stale rIBASE if breakFlags==0. Always refresh rIBASE here, and then
- * bail to the real handler if breakFlags==0.
- */
- ldrb r3, [rSELF, #offThread_breakFlags]
- adrl lr, dvmAsmInstructionStart + (361 * 64)
- ldr rIBASE, [rSELF, #offThread_curHandlerTable]
- cmp r3, #0
- bxeq lr @ nothing to do - jump to real handler
- EXPORT_PC()
- mov r0, rPC @ arg0
- mov r1, rFP @ arg1
- mov r2, rSELF @ arg2
- b dvmCheckBefore @ (dPC,dFP,self) tail call
-
-/* ------------------------------ */
- .balign 64
-.L_ALT_OP_UNUSED_6AFF: /* 0x16a */
-/* File: armv5te/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Note that the call to dvmCheckBefore is done as a tail call.
- * rIBASE updates won't be seen until a refresh, and we can tell we have a
- * stale rIBASE if breakFlags==0. Always refresh rIBASE here, and then
- * bail to the real handler if breakFlags==0.
- */
- ldrb r3, [rSELF, #offThread_breakFlags]
- adrl lr, dvmAsmInstructionStart + (362 * 64)
- ldr rIBASE, [rSELF, #offThread_curHandlerTable]
- cmp r3, #0
- bxeq lr @ nothing to do - jump to real handler
- EXPORT_PC()
- mov r0, rPC @ arg0
- mov r1, rFP @ arg1
- mov r2, rSELF @ arg2
- b dvmCheckBefore @ (dPC,dFP,self) tail call
-
-/* ------------------------------ */
- .balign 64
-.L_ALT_OP_UNUSED_6BFF: /* 0x16b */
-/* File: armv5te/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Note that the call to dvmCheckBefore is done as a tail call.
- * rIBASE updates won't be seen until a refresh, and we can tell we have a
- * stale rIBASE if breakFlags==0. Always refresh rIBASE here, and then
- * bail to the real handler if breakFlags==0.
- */
- ldrb r3, [rSELF, #offThread_breakFlags]
- adrl lr, dvmAsmInstructionStart + (363 * 64)
- ldr rIBASE, [rSELF, #offThread_curHandlerTable]
- cmp r3, #0
- bxeq lr @ nothing to do - jump to real handler
- EXPORT_PC()
- mov r0, rPC @ arg0
- mov r1, rFP @ arg1
- mov r2, rSELF @ arg2
- b dvmCheckBefore @ (dPC,dFP,self) tail call
-
-/* ------------------------------ */
- .balign 64
-.L_ALT_OP_UNUSED_6CFF: /* 0x16c */
-/* File: armv5te/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Note that the call to dvmCheckBefore is done as a tail call.
- * rIBASE updates won't be seen until a refresh, and we can tell we have a
- * stale rIBASE if breakFlags==0. Always refresh rIBASE here, and then
- * bail to the real handler if breakFlags==0.
- */
- ldrb r3, [rSELF, #offThread_breakFlags]
- adrl lr, dvmAsmInstructionStart + (364 * 64)
- ldr rIBASE, [rSELF, #offThread_curHandlerTable]
- cmp r3, #0
- bxeq lr @ nothing to do - jump to real handler
- EXPORT_PC()
- mov r0, rPC @ arg0
- mov r1, rFP @ arg1
- mov r2, rSELF @ arg2
- b dvmCheckBefore @ (dPC,dFP,self) tail call
-
-/* ------------------------------ */
- .balign 64
-.L_ALT_OP_UNUSED_6DFF: /* 0x16d */
-/* File: armv5te/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Note that the call to dvmCheckBefore is done as a tail call.
- * rIBASE updates won't be seen until a refresh, and we can tell we have a
- * stale rIBASE if breakFlags==0. Always refresh rIBASE here, and then
- * bail to the real handler if breakFlags==0.
- */
- ldrb r3, [rSELF, #offThread_breakFlags]
- adrl lr, dvmAsmInstructionStart + (365 * 64)
- ldr rIBASE, [rSELF, #offThread_curHandlerTable]
- cmp r3, #0
- bxeq lr @ nothing to do - jump to real handler
- EXPORT_PC()
- mov r0, rPC @ arg0
- mov r1, rFP @ arg1
- mov r2, rSELF @ arg2
- b dvmCheckBefore @ (dPC,dFP,self) tail call
-
-/* ------------------------------ */
- .balign 64
-.L_ALT_OP_UNUSED_6EFF: /* 0x16e */
-/* File: armv5te/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Note that the call to dvmCheckBefore is done as a tail call.
- * rIBASE updates won't be seen until a refresh, and we can tell we have a
- * stale rIBASE if breakFlags==0. Always refresh rIBASE here, and then
- * bail to the real handler if breakFlags==0.
- */
- ldrb r3, [rSELF, #offThread_breakFlags]
- adrl lr, dvmAsmInstructionStart + (366 * 64)
- ldr rIBASE, [rSELF, #offThread_curHandlerTable]
- cmp r3, #0
- bxeq lr @ nothing to do - jump to real handler
- EXPORT_PC()
- mov r0, rPC @ arg0
- mov r1, rFP @ arg1
- mov r2, rSELF @ arg2
- b dvmCheckBefore @ (dPC,dFP,self) tail call
-
-/* ------------------------------ */
- .balign 64
-.L_ALT_OP_UNUSED_6FFF: /* 0x16f */
-/* File: armv5te/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Note that the call to dvmCheckBefore is done as a tail call.
- * rIBASE updates won't be seen until a refresh, and we can tell we have a
- * stale rIBASE if breakFlags==0. Always refresh rIBASE here, and then
- * bail to the real handler if breakFlags==0.
- */
- ldrb r3, [rSELF, #offThread_breakFlags]
- adrl lr, dvmAsmInstructionStart + (367 * 64)
- ldr rIBASE, [rSELF, #offThread_curHandlerTable]
- cmp r3, #0
- bxeq lr @ nothing to do - jump to real handler
- EXPORT_PC()
- mov r0, rPC @ arg0
- mov r1, rFP @ arg1
- mov r2, rSELF @ arg2
- b dvmCheckBefore @ (dPC,dFP,self) tail call
-
-/* ------------------------------ */
- .balign 64
-.L_ALT_OP_UNUSED_70FF: /* 0x170 */
-/* File: armv5te/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Note that the call to dvmCheckBefore is done as a tail call.
- * rIBASE updates won't be seen until a refresh, and we can tell we have a
- * stale rIBASE if breakFlags==0. Always refresh rIBASE here, and then
- * bail to the real handler if breakFlags==0.
- */
- ldrb r3, [rSELF, #offThread_breakFlags]
- adrl lr, dvmAsmInstructionStart + (368 * 64)
- ldr rIBASE, [rSELF, #offThread_curHandlerTable]
- cmp r3, #0
- bxeq lr @ nothing to do - jump to real handler
- EXPORT_PC()
- mov r0, rPC @ arg0
- mov r1, rFP @ arg1
- mov r2, rSELF @ arg2
- b dvmCheckBefore @ (dPC,dFP,self) tail call
-
-/* ------------------------------ */
- .balign 64
-.L_ALT_OP_UNUSED_71FF: /* 0x171 */
-/* File: armv5te/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Note that the call to dvmCheckBefore is done as a tail call.
- * rIBASE updates won't be seen until a refresh, and we can tell we have a
- * stale rIBASE if breakFlags==0. Always refresh rIBASE here, and then
- * bail to the real handler if breakFlags==0.
- */
- ldrb r3, [rSELF, #offThread_breakFlags]
- adrl lr, dvmAsmInstructionStart + (369 * 64)
- ldr rIBASE, [rSELF, #offThread_curHandlerTable]
- cmp r3, #0
- bxeq lr @ nothing to do - jump to real handler
- EXPORT_PC()
- mov r0, rPC @ arg0
- mov r1, rFP @ arg1
- mov r2, rSELF @ arg2
- b dvmCheckBefore @ (dPC,dFP,self) tail call
-
-/* ------------------------------ */
- .balign 64
-.L_ALT_OP_UNUSED_72FF: /* 0x172 */
-/* File: armv5te/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Note that the call to dvmCheckBefore is done as a tail call.
- * rIBASE updates won't be seen until a refresh, and we can tell we have a
- * stale rIBASE if breakFlags==0. Always refresh rIBASE here, and then
- * bail to the real handler if breakFlags==0.
- */
- ldrb r3, [rSELF, #offThread_breakFlags]
- adrl lr, dvmAsmInstructionStart + (370 * 64)
- ldr rIBASE, [rSELF, #offThread_curHandlerTable]
- cmp r3, #0
- bxeq lr @ nothing to do - jump to real handler
- EXPORT_PC()
- mov r0, rPC @ arg0
- mov r1, rFP @ arg1
- mov r2, rSELF @ arg2
- b dvmCheckBefore @ (dPC,dFP,self) tail call
-
-/* ------------------------------ */
- .balign 64
-.L_ALT_OP_UNUSED_73FF: /* 0x173 */
-/* File: armv5te/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Note that the call to dvmCheckBefore is done as a tail call.
- * rIBASE updates won't be seen until a refresh, and we can tell we have a
- * stale rIBASE if breakFlags==0. Always refresh rIBASE here, and then
- * bail to the real handler if breakFlags==0.
- */
- ldrb r3, [rSELF, #offThread_breakFlags]
- adrl lr, dvmAsmInstructionStart + (371 * 64)
- ldr rIBASE, [rSELF, #offThread_curHandlerTable]
- cmp r3, #0
- bxeq lr @ nothing to do - jump to real handler
- EXPORT_PC()
- mov r0, rPC @ arg0
- mov r1, rFP @ arg1
- mov r2, rSELF @ arg2
- b dvmCheckBefore @ (dPC,dFP,self) tail call
-
-/* ------------------------------ */
- .balign 64
-.L_ALT_OP_UNUSED_74FF: /* 0x174 */
-/* File: armv5te/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Note that the call to dvmCheckBefore is done as a tail call.
- * rIBASE updates won't be seen until a refresh, and we can tell we have a
- * stale rIBASE if breakFlags==0. Always refresh rIBASE here, and then
- * bail to the real handler if breakFlags==0.
- */
- ldrb r3, [rSELF, #offThread_breakFlags]
- adrl lr, dvmAsmInstructionStart + (372 * 64)
- ldr rIBASE, [rSELF, #offThread_curHandlerTable]
- cmp r3, #0
- bxeq lr @ nothing to do - jump to real handler
- EXPORT_PC()
- mov r0, rPC @ arg0
- mov r1, rFP @ arg1
- mov r2, rSELF @ arg2
- b dvmCheckBefore @ (dPC,dFP,self) tail call
-
-/* ------------------------------ */
- .balign 64
-.L_ALT_OP_UNUSED_75FF: /* 0x175 */
-/* File: armv5te/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Note that the call to dvmCheckBefore is done as a tail call.
- * rIBASE updates won't be seen until a refresh, and we can tell we have a
- * stale rIBASE if breakFlags==0. Always refresh rIBASE here, and then
- * bail to the real handler if breakFlags==0.
- */
- ldrb r3, [rSELF, #offThread_breakFlags]
- adrl lr, dvmAsmInstructionStart + (373 * 64)
- ldr rIBASE, [rSELF, #offThread_curHandlerTable]
- cmp r3, #0
- bxeq lr @ nothing to do - jump to real handler
- EXPORT_PC()
- mov r0, rPC @ arg0
- mov r1, rFP @ arg1
- mov r2, rSELF @ arg2
- b dvmCheckBefore @ (dPC,dFP,self) tail call
-
-/* ------------------------------ */
- .balign 64
-.L_ALT_OP_UNUSED_76FF: /* 0x176 */
-/* File: armv5te/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Note that the call to dvmCheckBefore is done as a tail call.
- * rIBASE updates won't be seen until a refresh, and we can tell we have a
- * stale rIBASE if breakFlags==0. Always refresh rIBASE here, and then
- * bail to the real handler if breakFlags==0.
- */
- ldrb r3, [rSELF, #offThread_breakFlags]
- adrl lr, dvmAsmInstructionStart + (374 * 64)
- ldr rIBASE, [rSELF, #offThread_curHandlerTable]
- cmp r3, #0
- bxeq lr @ nothing to do - jump to real handler
- EXPORT_PC()
- mov r0, rPC @ arg0
- mov r1, rFP @ arg1
- mov r2, rSELF @ arg2
- b dvmCheckBefore @ (dPC,dFP,self) tail call
-
-/* ------------------------------ */
- .balign 64
-.L_ALT_OP_UNUSED_77FF: /* 0x177 */
-/* File: armv5te/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Note that the call to dvmCheckBefore is done as a tail call.
- * rIBASE updates won't be seen until a refresh, and we can tell we have a
- * stale rIBASE if breakFlags==0. Always refresh rIBASE here, and then
- * bail to the real handler if breakFlags==0.
- */
- ldrb r3, [rSELF, #offThread_breakFlags]
- adrl lr, dvmAsmInstructionStart + (375 * 64)
- ldr rIBASE, [rSELF, #offThread_curHandlerTable]
- cmp r3, #0
- bxeq lr @ nothing to do - jump to real handler
- EXPORT_PC()
- mov r0, rPC @ arg0
- mov r1, rFP @ arg1
- mov r2, rSELF @ arg2
- b dvmCheckBefore @ (dPC,dFP,self) tail call
-
-/* ------------------------------ */
- .balign 64
-.L_ALT_OP_UNUSED_78FF: /* 0x178 */
-/* File: armv5te/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Note that the call to dvmCheckBefore is done as a tail call.
- * rIBASE updates won't be seen until a refresh, and we can tell we have a
- * stale rIBASE if breakFlags==0. Always refresh rIBASE here, and then
- * bail to the real handler if breakFlags==0.
- */
- ldrb r3, [rSELF, #offThread_breakFlags]
- adrl lr, dvmAsmInstructionStart + (376 * 64)
- ldr rIBASE, [rSELF, #offThread_curHandlerTable]
- cmp r3, #0
- bxeq lr @ nothing to do - jump to real handler
- EXPORT_PC()
- mov r0, rPC @ arg0
- mov r1, rFP @ arg1
- mov r2, rSELF @ arg2
- b dvmCheckBefore @ (dPC,dFP,self) tail call
-
-/* ------------------------------ */
- .balign 64
-.L_ALT_OP_UNUSED_79FF: /* 0x179 */
-/* File: armv5te/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Note that the call to dvmCheckBefore is done as a tail call.
- * rIBASE updates won't be seen until a refresh, and we can tell we have a
- * stale rIBASE if breakFlags==0. Always refresh rIBASE here, and then
- * bail to the real handler if breakFlags==0.
- */
- ldrb r3, [rSELF, #offThread_breakFlags]
- adrl lr, dvmAsmInstructionStart + (377 * 64)
- ldr rIBASE, [rSELF, #offThread_curHandlerTable]
- cmp r3, #0
- bxeq lr @ nothing to do - jump to real handler
- EXPORT_PC()
- mov r0, rPC @ arg0
- mov r1, rFP @ arg1
- mov r2, rSELF @ arg2
- b dvmCheckBefore @ (dPC,dFP,self) tail call
-
-/* ------------------------------ */
- .balign 64
-.L_ALT_OP_UNUSED_7AFF: /* 0x17a */
-/* File: armv5te/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Note that the call to dvmCheckBefore is done as a tail call.
- * rIBASE updates won't be seen until a refresh, and we can tell we have a
- * stale rIBASE if breakFlags==0. Always refresh rIBASE here, and then
- * bail to the real handler if breakFlags==0.
- */
- ldrb r3, [rSELF, #offThread_breakFlags]
- adrl lr, dvmAsmInstructionStart + (378 * 64)
- ldr rIBASE, [rSELF, #offThread_curHandlerTable]
- cmp r3, #0
- bxeq lr @ nothing to do - jump to real handler
- EXPORT_PC()
- mov r0, rPC @ arg0
- mov r1, rFP @ arg1
- mov r2, rSELF @ arg2
- b dvmCheckBefore @ (dPC,dFP,self) tail call
-
-/* ------------------------------ */
- .balign 64
-.L_ALT_OP_UNUSED_7BFF: /* 0x17b */
-/* File: armv5te/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Note that the call to dvmCheckBefore is done as a tail call.
- * rIBASE updates won't be seen until a refresh, and we can tell we have a
- * stale rIBASE if breakFlags==0. Always refresh rIBASE here, and then
- * bail to the real handler if breakFlags==0.
- */
- ldrb r3, [rSELF, #offThread_breakFlags]
- adrl lr, dvmAsmInstructionStart + (379 * 64)
- ldr rIBASE, [rSELF, #offThread_curHandlerTable]
- cmp r3, #0
- bxeq lr @ nothing to do - jump to real handler
- EXPORT_PC()
- mov r0, rPC @ arg0
- mov r1, rFP @ arg1
- mov r2, rSELF @ arg2
- b dvmCheckBefore @ (dPC,dFP,self) tail call
-
-/* ------------------------------ */
- .balign 64
-.L_ALT_OP_UNUSED_7CFF: /* 0x17c */
-/* File: armv5te/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Note that the call to dvmCheckBefore is done as a tail call.
- * rIBASE updates won't be seen until a refresh, and we can tell we have a
- * stale rIBASE if breakFlags==0. Always refresh rIBASE here, and then
- * bail to the real handler if breakFlags==0.
- */
- ldrb r3, [rSELF, #offThread_breakFlags]
- adrl lr, dvmAsmInstructionStart + (380 * 64)
- ldr rIBASE, [rSELF, #offThread_curHandlerTable]
- cmp r3, #0
- bxeq lr @ nothing to do - jump to real handler
- EXPORT_PC()
- mov r0, rPC @ arg0
- mov r1, rFP @ arg1
- mov r2, rSELF @ arg2
- b dvmCheckBefore @ (dPC,dFP,self) tail call
-
-/* ------------------------------ */
- .balign 64
-.L_ALT_OP_UNUSED_7DFF: /* 0x17d */
-/* File: armv5te/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Note that the call to dvmCheckBefore is done as a tail call.
- * rIBASE updates won't be seen until a refresh, and we can tell we have a
- * stale rIBASE if breakFlags==0. Always refresh rIBASE here, and then
- * bail to the real handler if breakFlags==0.
- */
- ldrb r3, [rSELF, #offThread_breakFlags]
- adrl lr, dvmAsmInstructionStart + (381 * 64)
- ldr rIBASE, [rSELF, #offThread_curHandlerTable]
- cmp r3, #0
- bxeq lr @ nothing to do - jump to real handler
- EXPORT_PC()
- mov r0, rPC @ arg0
- mov r1, rFP @ arg1
- mov r2, rSELF @ arg2
- b dvmCheckBefore @ (dPC,dFP,self) tail call
-
-/* ------------------------------ */
- .balign 64
-.L_ALT_OP_UNUSED_7EFF: /* 0x17e */
-/* File: armv5te/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Note that the call to dvmCheckBefore is done as a tail call.
- * rIBASE updates won't be seen until a refresh, and we can tell we have a
- * stale rIBASE if breakFlags==0. Always refresh rIBASE here, and then
- * bail to the real handler if breakFlags==0.
- */
- ldrb r3, [rSELF, #offThread_breakFlags]
- adrl lr, dvmAsmInstructionStart + (382 * 64)
- ldr rIBASE, [rSELF, #offThread_curHandlerTable]
- cmp r3, #0
- bxeq lr @ nothing to do - jump to real handler
- EXPORT_PC()
- mov r0, rPC @ arg0
- mov r1, rFP @ arg1
- mov r2, rSELF @ arg2
- b dvmCheckBefore @ (dPC,dFP,self) tail call
-
-/* ------------------------------ */
- .balign 64
-.L_ALT_OP_UNUSED_7FFF: /* 0x17f */
-/* File: armv5te/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Note that the call to dvmCheckBefore is done as a tail call.
- * rIBASE updates won't be seen until a refresh, and we can tell we have a
- * stale rIBASE if breakFlags==0. Always refresh rIBASE here, and then
- * bail to the real handler if breakFlags==0.
- */
- ldrb r3, [rSELF, #offThread_breakFlags]
- adrl lr, dvmAsmInstructionStart + (383 * 64)
- ldr rIBASE, [rSELF, #offThread_curHandlerTable]
- cmp r3, #0
- bxeq lr @ nothing to do - jump to real handler
- EXPORT_PC()
- mov r0, rPC @ arg0
- mov r1, rFP @ arg1
- mov r2, rSELF @ arg2
- b dvmCheckBefore @ (dPC,dFP,self) tail call
-
-/* ------------------------------ */
- .balign 64
-.L_ALT_OP_UNUSED_80FF: /* 0x180 */
-/* File: armv5te/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Note that the call to dvmCheckBefore is done as a tail call.
- * rIBASE updates won't be seen until a refresh, and we can tell we have a
- * stale rIBASE if breakFlags==0. Always refresh rIBASE here, and then
- * bail to the real handler if breakFlags==0.
- */
- ldrb r3, [rSELF, #offThread_breakFlags]
- adrl lr, dvmAsmInstructionStart + (384 * 64)
- ldr rIBASE, [rSELF, #offThread_curHandlerTable]
- cmp r3, #0
- bxeq lr @ nothing to do - jump to real handler
- EXPORT_PC()
- mov r0, rPC @ arg0
- mov r1, rFP @ arg1
- mov r2, rSELF @ arg2
- b dvmCheckBefore @ (dPC,dFP,self) tail call
-
-/* ------------------------------ */
- .balign 64
-.L_ALT_OP_UNUSED_81FF: /* 0x181 */
-/* File: armv5te/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Note that the call to dvmCheckBefore is done as a tail call.
- * rIBASE updates won't be seen until a refresh, and we can tell we have a
- * stale rIBASE if breakFlags==0. Always refresh rIBASE here, and then
- * bail to the real handler if breakFlags==0.
- */
- ldrb r3, [rSELF, #offThread_breakFlags]
- adrl lr, dvmAsmInstructionStart + (385 * 64)
- ldr rIBASE, [rSELF, #offThread_curHandlerTable]
- cmp r3, #0
- bxeq lr @ nothing to do - jump to real handler
- EXPORT_PC()
- mov r0, rPC @ arg0
- mov r1, rFP @ arg1
- mov r2, rSELF @ arg2
- b dvmCheckBefore @ (dPC,dFP,self) tail call
-
-/* ------------------------------ */
- .balign 64
-.L_ALT_OP_UNUSED_82FF: /* 0x182 */
-/* File: armv5te/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Note that the call to dvmCheckBefore is done as a tail call.
- * rIBASE updates won't be seen until a refresh, and we can tell we have a
- * stale rIBASE if breakFlags==0. Always refresh rIBASE here, and then
- * bail to the real handler if breakFlags==0.
- */
- ldrb r3, [rSELF, #offThread_breakFlags]
- adrl lr, dvmAsmInstructionStart + (386 * 64)
- ldr rIBASE, [rSELF, #offThread_curHandlerTable]
- cmp r3, #0
- bxeq lr @ nothing to do - jump to real handler
- EXPORT_PC()
- mov r0, rPC @ arg0
- mov r1, rFP @ arg1
- mov r2, rSELF @ arg2
- b dvmCheckBefore @ (dPC,dFP,self) tail call
-
-/* ------------------------------ */
- .balign 64
-.L_ALT_OP_UNUSED_83FF: /* 0x183 */
-/* File: armv5te/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Note that the call to dvmCheckBefore is done as a tail call.
- * rIBASE updates won't be seen until a refresh, and we can tell we have a
- * stale rIBASE if breakFlags==0. Always refresh rIBASE here, and then
- * bail to the real handler if breakFlags==0.
- */
- ldrb r3, [rSELF, #offThread_breakFlags]
- adrl lr, dvmAsmInstructionStart + (387 * 64)
- ldr rIBASE, [rSELF, #offThread_curHandlerTable]
- cmp r3, #0
- bxeq lr @ nothing to do - jump to real handler
- EXPORT_PC()
- mov r0, rPC @ arg0
- mov r1, rFP @ arg1
- mov r2, rSELF @ arg2
- b dvmCheckBefore @ (dPC,dFP,self) tail call
-
-/* ------------------------------ */
- .balign 64
-.L_ALT_OP_UNUSED_84FF: /* 0x184 */
-/* File: armv5te/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Note that the call to dvmCheckBefore is done as a tail call.
- * rIBASE updates won't be seen until a refresh, and we can tell we have a
- * stale rIBASE if breakFlags==0. Always refresh rIBASE here, and then
- * bail to the real handler if breakFlags==0.
- */
- ldrb r3, [rSELF, #offThread_breakFlags]
- adrl lr, dvmAsmInstructionStart + (388 * 64)
- ldr rIBASE, [rSELF, #offThread_curHandlerTable]
- cmp r3, #0
- bxeq lr @ nothing to do - jump to real handler
- EXPORT_PC()
- mov r0, rPC @ arg0
- mov r1, rFP @ arg1
- mov r2, rSELF @ arg2
- b dvmCheckBefore @ (dPC,dFP,self) tail call
-
-/* ------------------------------ */
- .balign 64
-.L_ALT_OP_UNUSED_85FF: /* 0x185 */
-/* File: armv5te/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Note that the call to dvmCheckBefore is done as a tail call.
- * rIBASE updates won't be seen until a refresh, and we can tell we have a
- * stale rIBASE if breakFlags==0. Always refresh rIBASE here, and then
- * bail to the real handler if breakFlags==0.
- */
- ldrb r3, [rSELF, #offThread_breakFlags]
- adrl lr, dvmAsmInstructionStart + (389 * 64)
- ldr rIBASE, [rSELF, #offThread_curHandlerTable]
- cmp r3, #0
- bxeq lr @ nothing to do - jump to real handler
- EXPORT_PC()
- mov r0, rPC @ arg0
- mov r1, rFP @ arg1
- mov r2, rSELF @ arg2
- b dvmCheckBefore @ (dPC,dFP,self) tail call
-
-/* ------------------------------ */
- .balign 64
-.L_ALT_OP_UNUSED_86FF: /* 0x186 */
-/* File: armv5te/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Note that the call to dvmCheckBefore is done as a tail call.
- * rIBASE updates won't be seen until a refresh, and we can tell we have a
- * stale rIBASE if breakFlags==0. Always refresh rIBASE here, and then
- * bail to the real handler if breakFlags==0.
- */
- ldrb r3, [rSELF, #offThread_breakFlags]
- adrl lr, dvmAsmInstructionStart + (390 * 64)
- ldr rIBASE, [rSELF, #offThread_curHandlerTable]
- cmp r3, #0
- bxeq lr @ nothing to do - jump to real handler
- EXPORT_PC()
- mov r0, rPC @ arg0
- mov r1, rFP @ arg1
- mov r2, rSELF @ arg2
- b dvmCheckBefore @ (dPC,dFP,self) tail call
-
-/* ------------------------------ */
- .balign 64
-.L_ALT_OP_UNUSED_87FF: /* 0x187 */
-/* File: armv5te/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Note that the call to dvmCheckBefore is done as a tail call.
- * rIBASE updates won't be seen until a refresh, and we can tell we have a
- * stale rIBASE if breakFlags==0. Always refresh rIBASE here, and then
- * bail to the real handler if breakFlags==0.
- */
- ldrb r3, [rSELF, #offThread_breakFlags]
- adrl lr, dvmAsmInstructionStart + (391 * 64)
- ldr rIBASE, [rSELF, #offThread_curHandlerTable]
- cmp r3, #0
- bxeq lr @ nothing to do - jump to real handler
- EXPORT_PC()
- mov r0, rPC @ arg0
- mov r1, rFP @ arg1
- mov r2, rSELF @ arg2
- b dvmCheckBefore @ (dPC,dFP,self) tail call
-
-/* ------------------------------ */
- .balign 64
-.L_ALT_OP_UNUSED_88FF: /* 0x188 */
-/* File: armv5te/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Note that the call to dvmCheckBefore is done as a tail call.
- * rIBASE updates won't be seen until a refresh, and we can tell we have a
- * stale rIBASE if breakFlags==0. Always refresh rIBASE here, and then
- * bail to the real handler if breakFlags==0.
- */
- ldrb r3, [rSELF, #offThread_breakFlags]
- adrl lr, dvmAsmInstructionStart + (392 * 64)
- ldr rIBASE, [rSELF, #offThread_curHandlerTable]
- cmp r3, #0
- bxeq lr @ nothing to do - jump to real handler
- EXPORT_PC()
- mov r0, rPC @ arg0
- mov r1, rFP @ arg1
- mov r2, rSELF @ arg2
- b dvmCheckBefore @ (dPC,dFP,self) tail call
-
-/* ------------------------------ */
- .balign 64
-.L_ALT_OP_UNUSED_89FF: /* 0x189 */
-/* File: armv5te/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Note that the call to dvmCheckBefore is done as a tail call.
- * rIBASE updates won't be seen until a refresh, and we can tell we have a
- * stale rIBASE if breakFlags==0. Always refresh rIBASE here, and then
- * bail to the real handler if breakFlags==0.
- */
- ldrb r3, [rSELF, #offThread_breakFlags]
- adrl lr, dvmAsmInstructionStart + (393 * 64)
- ldr rIBASE, [rSELF, #offThread_curHandlerTable]
- cmp r3, #0
- bxeq lr @ nothing to do - jump to real handler
- EXPORT_PC()
- mov r0, rPC @ arg0
- mov r1, rFP @ arg1
- mov r2, rSELF @ arg2
- b dvmCheckBefore @ (dPC,dFP,self) tail call
-
-/* ------------------------------ */
- .balign 64
-.L_ALT_OP_UNUSED_8AFF: /* 0x18a */
-/* File: armv5te/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Note that the call to dvmCheckBefore is done as a tail call.
- * rIBASE updates won't be seen until a refresh, and we can tell we have a
- * stale rIBASE if breakFlags==0. Always refresh rIBASE here, and then
- * bail to the real handler if breakFlags==0.
- */
- ldrb r3, [rSELF, #offThread_breakFlags]
- adrl lr, dvmAsmInstructionStart + (394 * 64)
- ldr rIBASE, [rSELF, #offThread_curHandlerTable]
- cmp r3, #0
- bxeq lr @ nothing to do - jump to real handler
- EXPORT_PC()
- mov r0, rPC @ arg0
- mov r1, rFP @ arg1
- mov r2, rSELF @ arg2
- b dvmCheckBefore @ (dPC,dFP,self) tail call
-
-/* ------------------------------ */
- .balign 64
-.L_ALT_OP_UNUSED_8BFF: /* 0x18b */
-/* File: armv5te/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Note that the call to dvmCheckBefore is done as a tail call.
- * rIBASE updates won't be seen until a refresh, and we can tell we have a
- * stale rIBASE if breakFlags==0. Always refresh rIBASE here, and then
- * bail to the real handler if breakFlags==0.
- */
- ldrb r3, [rSELF, #offThread_breakFlags]
- adrl lr, dvmAsmInstructionStart + (395 * 64)
- ldr rIBASE, [rSELF, #offThread_curHandlerTable]
- cmp r3, #0
- bxeq lr @ nothing to do - jump to real handler
- EXPORT_PC()
- mov r0, rPC @ arg0
- mov r1, rFP @ arg1
- mov r2, rSELF @ arg2
- b dvmCheckBefore @ (dPC,dFP,self) tail call
-
-/* ------------------------------ */
- .balign 64
-.L_ALT_OP_UNUSED_8CFF: /* 0x18c */
-/* File: armv5te/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Note that the call to dvmCheckBefore is done as a tail call.
- * rIBASE updates won't be seen until a refresh, and we can tell we have a
- * stale rIBASE if breakFlags==0. Always refresh rIBASE here, and then
- * bail to the real handler if breakFlags==0.
- */
- ldrb r3, [rSELF, #offThread_breakFlags]
- adrl lr, dvmAsmInstructionStart + (396 * 64)
- ldr rIBASE, [rSELF, #offThread_curHandlerTable]
- cmp r3, #0
- bxeq lr @ nothing to do - jump to real handler
- EXPORT_PC()
- mov r0, rPC @ arg0
- mov r1, rFP @ arg1
- mov r2, rSELF @ arg2
- b dvmCheckBefore @ (dPC,dFP,self) tail call
-
-/* ------------------------------ */
- .balign 64
-.L_ALT_OP_UNUSED_8DFF: /* 0x18d */
-/* File: armv5te/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Note that the call to dvmCheckBefore is done as a tail call.
- * rIBASE updates won't be seen until a refresh, and we can tell we have a
- * stale rIBASE if breakFlags==0. Always refresh rIBASE here, and then
- * bail to the real handler if breakFlags==0.
- */
- ldrb r3, [rSELF, #offThread_breakFlags]
- adrl lr, dvmAsmInstructionStart + (397 * 64)
- ldr rIBASE, [rSELF, #offThread_curHandlerTable]
- cmp r3, #0
- bxeq lr @ nothing to do - jump to real handler
- EXPORT_PC()
- mov r0, rPC @ arg0
- mov r1, rFP @ arg1
- mov r2, rSELF @ arg2
- b dvmCheckBefore @ (dPC,dFP,self) tail call
-
-/* ------------------------------ */
- .balign 64
-.L_ALT_OP_UNUSED_8EFF: /* 0x18e */
-/* File: armv5te/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Note that the call to dvmCheckBefore is done as a tail call.
- * rIBASE updates won't be seen until a refresh, and we can tell we have a
- * stale rIBASE if breakFlags==0. Always refresh rIBASE here, and then
- * bail to the real handler if breakFlags==0.
- */
- ldrb r3, [rSELF, #offThread_breakFlags]
- adrl lr, dvmAsmInstructionStart + (398 * 64)
- ldr rIBASE, [rSELF, #offThread_curHandlerTable]
- cmp r3, #0
- bxeq lr @ nothing to do - jump to real handler
- EXPORT_PC()
- mov r0, rPC @ arg0
- mov r1, rFP @ arg1
- mov r2, rSELF @ arg2
- b dvmCheckBefore @ (dPC,dFP,self) tail call
-
-/* ------------------------------ */
- .balign 64
-.L_ALT_OP_UNUSED_8FFF: /* 0x18f */
-/* File: armv5te/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Note that the call to dvmCheckBefore is done as a tail call.
- * rIBASE updates won't be seen until a refresh, and we can tell we have a
- * stale rIBASE if breakFlags==0. Always refresh rIBASE here, and then
- * bail to the real handler if breakFlags==0.
- */
- ldrb r3, [rSELF, #offThread_breakFlags]
- adrl lr, dvmAsmInstructionStart + (399 * 64)
- ldr rIBASE, [rSELF, #offThread_curHandlerTable]
- cmp r3, #0
- bxeq lr @ nothing to do - jump to real handler
- EXPORT_PC()
- mov r0, rPC @ arg0
- mov r1, rFP @ arg1
- mov r2, rSELF @ arg2
- b dvmCheckBefore @ (dPC,dFP,self) tail call
-
-/* ------------------------------ */
- .balign 64
-.L_ALT_OP_UNUSED_90FF: /* 0x190 */
-/* File: armv5te/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Note that the call to dvmCheckBefore is done as a tail call.
- * rIBASE updates won't be seen until a refresh, and we can tell we have a
- * stale rIBASE if breakFlags==0. Always refresh rIBASE here, and then
- * bail to the real handler if breakFlags==0.
- */
- ldrb r3, [rSELF, #offThread_breakFlags]
- adrl lr, dvmAsmInstructionStart + (400 * 64)
- ldr rIBASE, [rSELF, #offThread_curHandlerTable]
- cmp r3, #0
- bxeq lr @ nothing to do - jump to real handler
- EXPORT_PC()
- mov r0, rPC @ arg0
- mov r1, rFP @ arg1
- mov r2, rSELF @ arg2
- b dvmCheckBefore @ (dPC,dFP,self) tail call
-
-/* ------------------------------ */
- .balign 64
-.L_ALT_OP_UNUSED_91FF: /* 0x191 */
-/* File: armv5te/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Note that the call to dvmCheckBefore is done as a tail call.
- * rIBASE updates won't be seen until a refresh, and we can tell we have a
- * stale rIBASE if breakFlags==0. Always refresh rIBASE here, and then
- * bail to the real handler if breakFlags==0.
- */
- ldrb r3, [rSELF, #offThread_breakFlags]
- adrl lr, dvmAsmInstructionStart + (401 * 64)
- ldr rIBASE, [rSELF, #offThread_curHandlerTable]
- cmp r3, #0
- bxeq lr @ nothing to do - jump to real handler
- EXPORT_PC()
- mov r0, rPC @ arg0
- mov r1, rFP @ arg1
- mov r2, rSELF @ arg2
- b dvmCheckBefore @ (dPC,dFP,self) tail call
-
-/* ------------------------------ */
- .balign 64
-.L_ALT_OP_UNUSED_92FF: /* 0x192 */
-/* File: armv5te/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Note that the call to dvmCheckBefore is done as a tail call.
- * rIBASE updates won't be seen until a refresh, and we can tell we have a
- * stale rIBASE if breakFlags==0. Always refresh rIBASE here, and then
- * bail to the real handler if breakFlags==0.
- */
- ldrb r3, [rSELF, #offThread_breakFlags]
- adrl lr, dvmAsmInstructionStart + (402 * 64)
- ldr rIBASE, [rSELF, #offThread_curHandlerTable]
- cmp r3, #0
- bxeq lr @ nothing to do - jump to real handler
- EXPORT_PC()
- mov r0, rPC @ arg0
- mov r1, rFP @ arg1
- mov r2, rSELF @ arg2
- b dvmCheckBefore @ (dPC,dFP,self) tail call
-
-/* ------------------------------ */
- .balign 64
-.L_ALT_OP_UNUSED_93FF: /* 0x193 */
-/* File: armv5te/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Note that the call to dvmCheckBefore is done as a tail call.
- * rIBASE updates won't be seen until a refresh, and we can tell we have a
- * stale rIBASE if breakFlags==0. Always refresh rIBASE here, and then
- * bail to the real handler if breakFlags==0.
- */
- ldrb r3, [rSELF, #offThread_breakFlags]
- adrl lr, dvmAsmInstructionStart + (403 * 64)
- ldr rIBASE, [rSELF, #offThread_curHandlerTable]
- cmp r3, #0
- bxeq lr @ nothing to do - jump to real handler
- EXPORT_PC()
- mov r0, rPC @ arg0
- mov r1, rFP @ arg1
- mov r2, rSELF @ arg2
- b dvmCheckBefore @ (dPC,dFP,self) tail call
-
-/* ------------------------------ */
- .balign 64
-.L_ALT_OP_UNUSED_94FF: /* 0x194 */
-/* File: armv5te/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Note that the call to dvmCheckBefore is done as a tail call.
- * rIBASE updates won't be seen until a refresh, and we can tell we have a
- * stale rIBASE if breakFlags==0. Always refresh rIBASE here, and then
- * bail to the real handler if breakFlags==0.
- */
- ldrb r3, [rSELF, #offThread_breakFlags]
- adrl lr, dvmAsmInstructionStart + (404 * 64)
- ldr rIBASE, [rSELF, #offThread_curHandlerTable]
- cmp r3, #0
- bxeq lr @ nothing to do - jump to real handler
- EXPORT_PC()
- mov r0, rPC @ arg0
- mov r1, rFP @ arg1
- mov r2, rSELF @ arg2
- b dvmCheckBefore @ (dPC,dFP,self) tail call
-
-/* ------------------------------ */
- .balign 64
-.L_ALT_OP_UNUSED_95FF: /* 0x195 */
-/* File: armv5te/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Note that the call to dvmCheckBefore is done as a tail call.
- * rIBASE updates won't be seen until a refresh, and we can tell we have a
- * stale rIBASE if breakFlags==0. Always refresh rIBASE here, and then
- * bail to the real handler if breakFlags==0.
- */
- ldrb r3, [rSELF, #offThread_breakFlags]
- adrl lr, dvmAsmInstructionStart + (405 * 64)
- ldr rIBASE, [rSELF, #offThread_curHandlerTable]
- cmp r3, #0
- bxeq lr @ nothing to do - jump to real handler
- EXPORT_PC()
- mov r0, rPC @ arg0
- mov r1, rFP @ arg1
- mov r2, rSELF @ arg2
- b dvmCheckBefore @ (dPC,dFP,self) tail call
-
-/* ------------------------------ */
- .balign 64
-.L_ALT_OP_UNUSED_96FF: /* 0x196 */
-/* File: armv5te/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Note that the call to dvmCheckBefore is done as a tail call.
- * rIBASE updates won't be seen until a refresh, and we can tell we have a
- * stale rIBASE if breakFlags==0. Always refresh rIBASE here, and then
- * bail to the real handler if breakFlags==0.
- */
- ldrb r3, [rSELF, #offThread_breakFlags]
- adrl lr, dvmAsmInstructionStart + (406 * 64)
- ldr rIBASE, [rSELF, #offThread_curHandlerTable]
- cmp r3, #0
- bxeq lr @ nothing to do - jump to real handler
- EXPORT_PC()
- mov r0, rPC @ arg0
- mov r1, rFP @ arg1
- mov r2, rSELF @ arg2
- b dvmCheckBefore @ (dPC,dFP,self) tail call
-
-/* ------------------------------ */
- .balign 64
-.L_ALT_OP_UNUSED_97FF: /* 0x197 */
-/* File: armv5te/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Note that the call to dvmCheckBefore is done as a tail call.
- * rIBASE updates won't be seen until a refresh, and we can tell we have a
- * stale rIBASE if breakFlags==0. Always refresh rIBASE here, and then
- * bail to the real handler if breakFlags==0.
- */
- ldrb r3, [rSELF, #offThread_breakFlags]
- adrl lr, dvmAsmInstructionStart + (407 * 64)
- ldr rIBASE, [rSELF, #offThread_curHandlerTable]
- cmp r3, #0
- bxeq lr @ nothing to do - jump to real handler
- EXPORT_PC()
- mov r0, rPC @ arg0
- mov r1, rFP @ arg1
- mov r2, rSELF @ arg2
- b dvmCheckBefore @ (dPC,dFP,self) tail call
-
-/* ------------------------------ */
- .balign 64
-.L_ALT_OP_UNUSED_98FF: /* 0x198 */
-/* File: armv5te/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Note that the call to dvmCheckBefore is done as a tail call.
- * rIBASE updates won't be seen until a refresh, and we can tell we have a
- * stale rIBASE if breakFlags==0. Always refresh rIBASE here, and then
- * bail to the real handler if breakFlags==0.
- */
- ldrb r3, [rSELF, #offThread_breakFlags]
- adrl lr, dvmAsmInstructionStart + (408 * 64)
- ldr rIBASE, [rSELF, #offThread_curHandlerTable]
- cmp r3, #0
- bxeq lr @ nothing to do - jump to real handler
- EXPORT_PC()
- mov r0, rPC @ arg0
- mov r1, rFP @ arg1
- mov r2, rSELF @ arg2
- b dvmCheckBefore @ (dPC,dFP,self) tail call
-
-/* ------------------------------ */
- .balign 64
-.L_ALT_OP_UNUSED_99FF: /* 0x199 */
-/* File: armv5te/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Note that the call to dvmCheckBefore is done as a tail call.
- * rIBASE updates won't be seen until a refresh, and we can tell we have a
- * stale rIBASE if breakFlags==0. Always refresh rIBASE here, and then
- * bail to the real handler if breakFlags==0.
- */
- ldrb r3, [rSELF, #offThread_breakFlags]
- adrl lr, dvmAsmInstructionStart + (409 * 64)
- ldr rIBASE, [rSELF, #offThread_curHandlerTable]
- cmp r3, #0
- bxeq lr @ nothing to do - jump to real handler
- EXPORT_PC()
- mov r0, rPC @ arg0
- mov r1, rFP @ arg1
- mov r2, rSELF @ arg2
- b dvmCheckBefore @ (dPC,dFP,self) tail call
-
-/* ------------------------------ */
- .balign 64
-.L_ALT_OP_UNUSED_9AFF: /* 0x19a */
-/* File: armv5te/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Note that the call to dvmCheckBefore is done as a tail call.
- * rIBASE updates won't be seen until a refresh, and we can tell we have a
- * stale rIBASE if breakFlags==0. Always refresh rIBASE here, and then
- * bail to the real handler if breakFlags==0.
- */
- ldrb r3, [rSELF, #offThread_breakFlags]
- adrl lr, dvmAsmInstructionStart + (410 * 64)
- ldr rIBASE, [rSELF, #offThread_curHandlerTable]
- cmp r3, #0
- bxeq lr @ nothing to do - jump to real handler
- EXPORT_PC()
- mov r0, rPC @ arg0
- mov r1, rFP @ arg1
- mov r2, rSELF @ arg2
- b dvmCheckBefore @ (dPC,dFP,self) tail call
-
-/* ------------------------------ */
- .balign 64
-.L_ALT_OP_UNUSED_9BFF: /* 0x19b */
-/* File: armv5te/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Note that the call to dvmCheckBefore is done as a tail call.
- * rIBASE updates won't be seen until a refresh, and we can tell we have a
- * stale rIBASE if breakFlags==0. Always refresh rIBASE here, and then
- * bail to the real handler if breakFlags==0.
- */
- ldrb r3, [rSELF, #offThread_breakFlags]
- adrl lr, dvmAsmInstructionStart + (411 * 64)
- ldr rIBASE, [rSELF, #offThread_curHandlerTable]
- cmp r3, #0
- bxeq lr @ nothing to do - jump to real handler
- EXPORT_PC()
- mov r0, rPC @ arg0
- mov r1, rFP @ arg1
- mov r2, rSELF @ arg2
- b dvmCheckBefore @ (dPC,dFP,self) tail call
-
-/* ------------------------------ */
- .balign 64
-.L_ALT_OP_UNUSED_9CFF: /* 0x19c */
-/* File: armv5te/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Note that the call to dvmCheckBefore is done as a tail call.
- * rIBASE updates won't be seen until a refresh, and we can tell we have a
- * stale rIBASE if breakFlags==0. Always refresh rIBASE here, and then
- * bail to the real handler if breakFlags==0.
- */
- ldrb r3, [rSELF, #offThread_breakFlags]
- adrl lr, dvmAsmInstructionStart + (412 * 64)
- ldr rIBASE, [rSELF, #offThread_curHandlerTable]
- cmp r3, #0
- bxeq lr @ nothing to do - jump to real handler
- EXPORT_PC()
- mov r0, rPC @ arg0
- mov r1, rFP @ arg1
- mov r2, rSELF @ arg2
- b dvmCheckBefore @ (dPC,dFP,self) tail call
-
-/* ------------------------------ */
- .balign 64
-.L_ALT_OP_UNUSED_9DFF: /* 0x19d */
-/* File: armv5te/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Note that the call to dvmCheckBefore is done as a tail call.
- * rIBASE updates won't be seen until a refresh, and we can tell we have a
- * stale rIBASE if breakFlags==0. Always refresh rIBASE here, and then
- * bail to the real handler if breakFlags==0.
- */
- ldrb r3, [rSELF, #offThread_breakFlags]
- adrl lr, dvmAsmInstructionStart + (413 * 64)
- ldr rIBASE, [rSELF, #offThread_curHandlerTable]
- cmp r3, #0
- bxeq lr @ nothing to do - jump to real handler
- EXPORT_PC()
- mov r0, rPC @ arg0
- mov r1, rFP @ arg1
- mov r2, rSELF @ arg2
- b dvmCheckBefore @ (dPC,dFP,self) tail call
-
-/* ------------------------------ */
- .balign 64
-.L_ALT_OP_UNUSED_9EFF: /* 0x19e */
-/* File: armv5te/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Note that the call to dvmCheckBefore is done as a tail call.
- * rIBASE updates won't be seen until a refresh, and we can tell we have a
- * stale rIBASE if breakFlags==0. Always refresh rIBASE here, and then
- * bail to the real handler if breakFlags==0.
- */
- ldrb r3, [rSELF, #offThread_breakFlags]
- adrl lr, dvmAsmInstructionStart + (414 * 64)
- ldr rIBASE, [rSELF, #offThread_curHandlerTable]
- cmp r3, #0
- bxeq lr @ nothing to do - jump to real handler
- EXPORT_PC()
- mov r0, rPC @ arg0
- mov r1, rFP @ arg1
- mov r2, rSELF @ arg2
- b dvmCheckBefore @ (dPC,dFP,self) tail call
-
-/* ------------------------------ */
- .balign 64
-.L_ALT_OP_UNUSED_9FFF: /* 0x19f */
-/* File: armv5te/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Note that the call to dvmCheckBefore is done as a tail call.
- * rIBASE updates won't be seen until a refresh, and we can tell we have a
- * stale rIBASE if breakFlags==0. Always refresh rIBASE here, and then
- * bail to the real handler if breakFlags==0.
- */
- ldrb r3, [rSELF, #offThread_breakFlags]
- adrl lr, dvmAsmInstructionStart + (415 * 64)
- ldr rIBASE, [rSELF, #offThread_curHandlerTable]
- cmp r3, #0
- bxeq lr @ nothing to do - jump to real handler
- EXPORT_PC()
- mov r0, rPC @ arg0
- mov r1, rFP @ arg1
- mov r2, rSELF @ arg2
- b dvmCheckBefore @ (dPC,dFP,self) tail call
-
-/* ------------------------------ */
- .balign 64
-.L_ALT_OP_UNUSED_A0FF: /* 0x1a0 */
-/* File: armv5te/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Note that the call to dvmCheckBefore is done as a tail call.
- * rIBASE updates won't be seen until a refresh, and we can tell we have a
- * stale rIBASE if breakFlags==0. Always refresh rIBASE here, and then
- * bail to the real handler if breakFlags==0.
- */
- ldrb r3, [rSELF, #offThread_breakFlags]
- adrl lr, dvmAsmInstructionStart + (416 * 64)
- ldr rIBASE, [rSELF, #offThread_curHandlerTable]
- cmp r3, #0
- bxeq lr @ nothing to do - jump to real handler
- EXPORT_PC()
- mov r0, rPC @ arg0
- mov r1, rFP @ arg1
- mov r2, rSELF @ arg2
- b dvmCheckBefore @ (dPC,dFP,self) tail call
-
-/* ------------------------------ */
- .balign 64
-.L_ALT_OP_UNUSED_A1FF: /* 0x1a1 */
-/* File: armv5te/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Note that the call to dvmCheckBefore is done as a tail call.
- * rIBASE updates won't be seen until a refresh, and we can tell we have a
- * stale rIBASE if breakFlags==0. Always refresh rIBASE here, and then
- * bail to the real handler if breakFlags==0.
- */
- ldrb r3, [rSELF, #offThread_breakFlags]
- adrl lr, dvmAsmInstructionStart + (417 * 64)
- ldr rIBASE, [rSELF, #offThread_curHandlerTable]
- cmp r3, #0
- bxeq lr @ nothing to do - jump to real handler
- EXPORT_PC()
- mov r0, rPC @ arg0
- mov r1, rFP @ arg1
- mov r2, rSELF @ arg2
- b dvmCheckBefore @ (dPC,dFP,self) tail call
-
-/* ------------------------------ */
- .balign 64
-.L_ALT_OP_UNUSED_A2FF: /* 0x1a2 */
-/* File: armv5te/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Note that the call to dvmCheckBefore is done as a tail call.
- * rIBASE updates won't be seen until a refresh, and we can tell we have a
- * stale rIBASE if breakFlags==0. Always refresh rIBASE here, and then
- * bail to the real handler if breakFlags==0.
- */
- ldrb r3, [rSELF, #offThread_breakFlags]
- adrl lr, dvmAsmInstructionStart + (418 * 64)
- ldr rIBASE, [rSELF, #offThread_curHandlerTable]
- cmp r3, #0
- bxeq lr @ nothing to do - jump to real handler
- EXPORT_PC()
- mov r0, rPC @ arg0
- mov r1, rFP @ arg1
- mov r2, rSELF @ arg2
- b dvmCheckBefore @ (dPC,dFP,self) tail call
-
-/* ------------------------------ */
- .balign 64
-.L_ALT_OP_UNUSED_A3FF: /* 0x1a3 */
-/* File: armv5te/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Note that the call to dvmCheckBefore is done as a tail call.
- * rIBASE updates won't be seen until a refresh, and we can tell we have a
- * stale rIBASE if breakFlags==0. Always refresh rIBASE here, and then
- * bail to the real handler if breakFlags==0.
- */
- ldrb r3, [rSELF, #offThread_breakFlags]
- adrl lr, dvmAsmInstructionStart + (419 * 64)
- ldr rIBASE, [rSELF, #offThread_curHandlerTable]
- cmp r3, #0
- bxeq lr @ nothing to do - jump to real handler
- EXPORT_PC()
- mov r0, rPC @ arg0
- mov r1, rFP @ arg1
- mov r2, rSELF @ arg2
- b dvmCheckBefore @ (dPC,dFP,self) tail call
-
-/* ------------------------------ */
- .balign 64
-.L_ALT_OP_UNUSED_A4FF: /* 0x1a4 */
-/* File: armv5te/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Note that the call to dvmCheckBefore is done as a tail call.
- * rIBASE updates won't be seen until a refresh, and we can tell we have a
- * stale rIBASE if breakFlags==0. Always refresh rIBASE here, and then
- * bail to the real handler if breakFlags==0.
- */
- ldrb r3, [rSELF, #offThread_breakFlags]
- adrl lr, dvmAsmInstructionStart + (420 * 64)
- ldr rIBASE, [rSELF, #offThread_curHandlerTable]
- cmp r3, #0
- bxeq lr @ nothing to do - jump to real handler
- EXPORT_PC()
- mov r0, rPC @ arg0
- mov r1, rFP @ arg1
- mov r2, rSELF @ arg2
- b dvmCheckBefore @ (dPC,dFP,self) tail call
-
-/* ------------------------------ */
- .balign 64
-.L_ALT_OP_UNUSED_A5FF: /* 0x1a5 */
-/* File: armv5te/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Note that the call to dvmCheckBefore is done as a tail call.
- * rIBASE updates won't be seen until a refresh, and we can tell we have a
- * stale rIBASE if breakFlags==0. Always refresh rIBASE here, and then
- * bail to the real handler if breakFlags==0.
- */
- ldrb r3, [rSELF, #offThread_breakFlags]
- adrl lr, dvmAsmInstructionStart + (421 * 64)
- ldr rIBASE, [rSELF, #offThread_curHandlerTable]
- cmp r3, #0
- bxeq lr @ nothing to do - jump to real handler
- EXPORT_PC()
- mov r0, rPC @ arg0
- mov r1, rFP @ arg1
- mov r2, rSELF @ arg2
- b dvmCheckBefore @ (dPC,dFP,self) tail call
-
-/* ------------------------------ */
- .balign 64
-.L_ALT_OP_UNUSED_A6FF: /* 0x1a6 */
-/* File: armv5te/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Note that the call to dvmCheckBefore is done as a tail call.
- * rIBASE updates won't be seen until a refresh, and we can tell we have a
- * stale rIBASE if breakFlags==0. Always refresh rIBASE here, and then
- * bail to the real handler if breakFlags==0.
- */
- ldrb r3, [rSELF, #offThread_breakFlags]
- adrl lr, dvmAsmInstructionStart + (422 * 64)
- ldr rIBASE, [rSELF, #offThread_curHandlerTable]
- cmp r3, #0
- bxeq lr @ nothing to do - jump to real handler
- EXPORT_PC()
- mov r0, rPC @ arg0
- mov r1, rFP @ arg1
- mov r2, rSELF @ arg2
- b dvmCheckBefore @ (dPC,dFP,self) tail call
-
-/* ------------------------------ */
- .balign 64
-.L_ALT_OP_UNUSED_A7FF: /* 0x1a7 */
-/* File: armv5te/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Note that the call to dvmCheckBefore is done as a tail call.
- * rIBASE updates won't be seen until a refresh, and we can tell we have a
- * stale rIBASE if breakFlags==0. Always refresh rIBASE here, and then
- * bail to the real handler if breakFlags==0.
- */
- ldrb r3, [rSELF, #offThread_breakFlags]
- adrl lr, dvmAsmInstructionStart + (423 * 64)
- ldr rIBASE, [rSELF, #offThread_curHandlerTable]
- cmp r3, #0
- bxeq lr @ nothing to do - jump to real handler
- EXPORT_PC()
- mov r0, rPC @ arg0
- mov r1, rFP @ arg1
- mov r2, rSELF @ arg2
- b dvmCheckBefore @ (dPC,dFP,self) tail call
-
-/* ------------------------------ */
- .balign 64
-.L_ALT_OP_UNUSED_A8FF: /* 0x1a8 */
-/* File: armv5te/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Note that the call to dvmCheckBefore is done as a tail call.
- * rIBASE updates won't be seen until a refresh, and we can tell we have a
- * stale rIBASE if breakFlags==0. Always refresh rIBASE here, and then
- * bail to the real handler if breakFlags==0.
- */
- ldrb r3, [rSELF, #offThread_breakFlags]
- adrl lr, dvmAsmInstructionStart + (424 * 64)
- ldr rIBASE, [rSELF, #offThread_curHandlerTable]
- cmp r3, #0
- bxeq lr @ nothing to do - jump to real handler
- EXPORT_PC()
- mov r0, rPC @ arg0
- mov r1, rFP @ arg1
- mov r2, rSELF @ arg2
- b dvmCheckBefore @ (dPC,dFP,self) tail call
-
-/* ------------------------------ */
- .balign 64
-.L_ALT_OP_UNUSED_A9FF: /* 0x1a9 */
-/* File: armv5te/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Note that the call to dvmCheckBefore is done as a tail call.
- * rIBASE updates won't be seen until a refresh, and we can tell we have a
- * stale rIBASE if breakFlags==0. Always refresh rIBASE here, and then
- * bail to the real handler if breakFlags==0.
- */
- ldrb r3, [rSELF, #offThread_breakFlags]
- adrl lr, dvmAsmInstructionStart + (425 * 64)
- ldr rIBASE, [rSELF, #offThread_curHandlerTable]
- cmp r3, #0
- bxeq lr @ nothing to do - jump to real handler
- EXPORT_PC()
- mov r0, rPC @ arg0
- mov r1, rFP @ arg1
- mov r2, rSELF @ arg2
- b dvmCheckBefore @ (dPC,dFP,self) tail call
-
-/* ------------------------------ */
- .balign 64
-.L_ALT_OP_UNUSED_AAFF: /* 0x1aa */
-/* File: armv5te/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Note that the call to dvmCheckBefore is done as a tail call.
- * rIBASE updates won't be seen until a refresh, and we can tell we have a
- * stale rIBASE if breakFlags==0. Always refresh rIBASE here, and then
- * bail to the real handler if breakFlags==0.
- */
- ldrb r3, [rSELF, #offThread_breakFlags]
- adrl lr, dvmAsmInstructionStart + (426 * 64)
- ldr rIBASE, [rSELF, #offThread_curHandlerTable]
- cmp r3, #0
- bxeq lr @ nothing to do - jump to real handler
- EXPORT_PC()
- mov r0, rPC @ arg0
- mov r1, rFP @ arg1
- mov r2, rSELF @ arg2
- b dvmCheckBefore @ (dPC,dFP,self) tail call
-
-/* ------------------------------ */
- .balign 64
-.L_ALT_OP_UNUSED_ABFF: /* 0x1ab */
-/* File: armv5te/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Note that the call to dvmCheckBefore is done as a tail call.
- * rIBASE updates won't be seen until a refresh, and we can tell we have a
- * stale rIBASE if breakFlags==0. Always refresh rIBASE here, and then
- * bail to the real handler if breakFlags==0.
- */
- ldrb r3, [rSELF, #offThread_breakFlags]
- adrl lr, dvmAsmInstructionStart + (427 * 64)
- ldr rIBASE, [rSELF, #offThread_curHandlerTable]
- cmp r3, #0
- bxeq lr @ nothing to do - jump to real handler
- EXPORT_PC()
- mov r0, rPC @ arg0
- mov r1, rFP @ arg1
- mov r2, rSELF @ arg2
- b dvmCheckBefore @ (dPC,dFP,self) tail call
-
-/* ------------------------------ */
- .balign 64
-.L_ALT_OP_UNUSED_ACFF: /* 0x1ac */
-/* File: armv5te/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Note that the call to dvmCheckBefore is done as a tail call.
- * rIBASE updates won't be seen until a refresh, and we can tell we have a
- * stale rIBASE if breakFlags==0. Always refresh rIBASE here, and then
- * bail to the real handler if breakFlags==0.
- */
- ldrb r3, [rSELF, #offThread_breakFlags]
- adrl lr, dvmAsmInstructionStart + (428 * 64)
- ldr rIBASE, [rSELF, #offThread_curHandlerTable]
- cmp r3, #0
- bxeq lr @ nothing to do - jump to real handler
- EXPORT_PC()
- mov r0, rPC @ arg0
- mov r1, rFP @ arg1
- mov r2, rSELF @ arg2
- b dvmCheckBefore @ (dPC,dFP,self) tail call
-
-/* ------------------------------ */
- .balign 64
-.L_ALT_OP_UNUSED_ADFF: /* 0x1ad */
-/* File: armv5te/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Note that the call to dvmCheckBefore is done as a tail call.
- * rIBASE updates won't be seen until a refresh, and we can tell we have a
- * stale rIBASE if breakFlags==0. Always refresh rIBASE here, and then
- * bail to the real handler if breakFlags==0.
- */
- ldrb r3, [rSELF, #offThread_breakFlags]
- adrl lr, dvmAsmInstructionStart + (429 * 64)
- ldr rIBASE, [rSELF, #offThread_curHandlerTable]
- cmp r3, #0
- bxeq lr @ nothing to do - jump to real handler
- EXPORT_PC()
- mov r0, rPC @ arg0
- mov r1, rFP @ arg1
- mov r2, rSELF @ arg2
- b dvmCheckBefore @ (dPC,dFP,self) tail call
-
-/* ------------------------------ */
- .balign 64
-.L_ALT_OP_UNUSED_AEFF: /* 0x1ae */
-/* File: armv5te/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Note that the call to dvmCheckBefore is done as a tail call.
- * rIBASE updates won't be seen until a refresh, and we can tell we have a
- * stale rIBASE if breakFlags==0. Always refresh rIBASE here, and then
- * bail to the real handler if breakFlags==0.
- */
- ldrb r3, [rSELF, #offThread_breakFlags]
- adrl lr, dvmAsmInstructionStart + (430 * 64)
- ldr rIBASE, [rSELF, #offThread_curHandlerTable]
- cmp r3, #0
- bxeq lr @ nothing to do - jump to real handler
- EXPORT_PC()
- mov r0, rPC @ arg0
- mov r1, rFP @ arg1
- mov r2, rSELF @ arg2
- b dvmCheckBefore @ (dPC,dFP,self) tail call
-
-/* ------------------------------ */
- .balign 64
-.L_ALT_OP_UNUSED_AFFF: /* 0x1af */
-/* File: armv5te/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Note that the call to dvmCheckBefore is done as a tail call.
- * rIBASE updates won't be seen until a refresh, and we can tell we have a
- * stale rIBASE if breakFlags==0. Always refresh rIBASE here, and then
- * bail to the real handler if breakFlags==0.
- */
- ldrb r3, [rSELF, #offThread_breakFlags]
- adrl lr, dvmAsmInstructionStart + (431 * 64)
- ldr rIBASE, [rSELF, #offThread_curHandlerTable]
- cmp r3, #0
- bxeq lr @ nothing to do - jump to real handler
- EXPORT_PC()
- mov r0, rPC @ arg0
- mov r1, rFP @ arg1
- mov r2, rSELF @ arg2
- b dvmCheckBefore @ (dPC,dFP,self) tail call
-
-/* ------------------------------ */
- .balign 64
-.L_ALT_OP_UNUSED_B0FF: /* 0x1b0 */
-/* File: armv5te/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Note that the call to dvmCheckBefore is done as a tail call.
- * rIBASE updates won't be seen until a refresh, and we can tell we have a
- * stale rIBASE if breakFlags==0. Always refresh rIBASE here, and then
- * bail to the real handler if breakFlags==0.
- */
- ldrb r3, [rSELF, #offThread_breakFlags]
- adrl lr, dvmAsmInstructionStart + (432 * 64)
- ldr rIBASE, [rSELF, #offThread_curHandlerTable]
- cmp r3, #0
- bxeq lr @ nothing to do - jump to real handler
- EXPORT_PC()
- mov r0, rPC @ arg0
- mov r1, rFP @ arg1
- mov r2, rSELF @ arg2
- b dvmCheckBefore @ (dPC,dFP,self) tail call
-
-/* ------------------------------ */
- .balign 64
-.L_ALT_OP_UNUSED_B1FF: /* 0x1b1 */
-/* File: armv5te/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Note that the call to dvmCheckBefore is done as a tail call.
- * rIBASE updates won't be seen until a refresh, and we can tell we have a
- * stale rIBASE if breakFlags==0. Always refresh rIBASE here, and then
- * bail to the real handler if breakFlags==0.
- */
- ldrb r3, [rSELF, #offThread_breakFlags]
- adrl lr, dvmAsmInstructionStart + (433 * 64)
- ldr rIBASE, [rSELF, #offThread_curHandlerTable]
- cmp r3, #0
- bxeq lr @ nothing to do - jump to real handler
- EXPORT_PC()
- mov r0, rPC @ arg0
- mov r1, rFP @ arg1
- mov r2, rSELF @ arg2
- b dvmCheckBefore @ (dPC,dFP,self) tail call
-
-/* ------------------------------ */
- .balign 64
-.L_ALT_OP_UNUSED_B2FF: /* 0x1b2 */
-/* File: armv5te/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Note that the call to dvmCheckBefore is done as a tail call.
- * rIBASE updates won't be seen until a refresh, and we can tell we have a
- * stale rIBASE if breakFlags==0. Always refresh rIBASE here, and then
- * bail to the real handler if breakFlags==0.
- */
- ldrb r3, [rSELF, #offThread_breakFlags]
- adrl lr, dvmAsmInstructionStart + (434 * 64)
- ldr rIBASE, [rSELF, #offThread_curHandlerTable]
- cmp r3, #0
- bxeq lr @ nothing to do - jump to real handler
- EXPORT_PC()
- mov r0, rPC @ arg0
- mov r1, rFP @ arg1
- mov r2, rSELF @ arg2
- b dvmCheckBefore @ (dPC,dFP,self) tail call
-
-/* ------------------------------ */
- .balign 64
-.L_ALT_OP_UNUSED_B3FF: /* 0x1b3 */
-/* File: armv5te/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Note that the call to dvmCheckBefore is done as a tail call.
- * rIBASE updates won't be seen until a refresh, and we can tell we have a
- * stale rIBASE if breakFlags==0. Always refresh rIBASE here, and then
- * bail to the real handler if breakFlags==0.
- */
- ldrb r3, [rSELF, #offThread_breakFlags]
- adrl lr, dvmAsmInstructionStart + (435 * 64)
- ldr rIBASE, [rSELF, #offThread_curHandlerTable]
- cmp r3, #0
- bxeq lr @ nothing to do - jump to real handler
- EXPORT_PC()
- mov r0, rPC @ arg0
- mov r1, rFP @ arg1
- mov r2, rSELF @ arg2
- b dvmCheckBefore @ (dPC,dFP,self) tail call
-
-/* ------------------------------ */
- .balign 64
-.L_ALT_OP_UNUSED_B4FF: /* 0x1b4 */
-/* File: armv5te/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Note that the call to dvmCheckBefore is done as a tail call.
- * rIBASE updates won't be seen until a refresh, and we can tell we have a
- * stale rIBASE if breakFlags==0. Always refresh rIBASE here, and then
- * bail to the real handler if breakFlags==0.
- */
- ldrb r3, [rSELF, #offThread_breakFlags]
- adrl lr, dvmAsmInstructionStart + (436 * 64)
- ldr rIBASE, [rSELF, #offThread_curHandlerTable]
- cmp r3, #0
- bxeq lr @ nothing to do - jump to real handler
- EXPORT_PC()
- mov r0, rPC @ arg0
- mov r1, rFP @ arg1
- mov r2, rSELF @ arg2
- b dvmCheckBefore @ (dPC,dFP,self) tail call
-
-/* ------------------------------ */
- .balign 64
-.L_ALT_OP_UNUSED_B5FF: /* 0x1b5 */
-/* File: armv5te/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Note that the call to dvmCheckBefore is done as a tail call.
- * rIBASE updates won't be seen until a refresh, and we can tell we have a
- * stale rIBASE if breakFlags==0. Always refresh rIBASE here, and then
- * bail to the real handler if breakFlags==0.
- */
- ldrb r3, [rSELF, #offThread_breakFlags]
- adrl lr, dvmAsmInstructionStart + (437 * 64)
- ldr rIBASE, [rSELF, #offThread_curHandlerTable]
- cmp r3, #0
- bxeq lr @ nothing to do - jump to real handler
- EXPORT_PC()
- mov r0, rPC @ arg0
- mov r1, rFP @ arg1
- mov r2, rSELF @ arg2
- b dvmCheckBefore @ (dPC,dFP,self) tail call
-
-/* ------------------------------ */
- .balign 64
-.L_ALT_OP_UNUSED_B6FF: /* 0x1b6 */
-/* File: armv5te/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Note that the call to dvmCheckBefore is done as a tail call.
- * rIBASE updates won't be seen until a refresh, and we can tell we have a
- * stale rIBASE if breakFlags==0. Always refresh rIBASE here, and then
- * bail to the real handler if breakFlags==0.
- */
- ldrb r3, [rSELF, #offThread_breakFlags]
- adrl lr, dvmAsmInstructionStart + (438 * 64)
- ldr rIBASE, [rSELF, #offThread_curHandlerTable]
- cmp r3, #0
- bxeq lr @ nothing to do - jump to real handler
- EXPORT_PC()
- mov r0, rPC @ arg0
- mov r1, rFP @ arg1
- mov r2, rSELF @ arg2
- b dvmCheckBefore @ (dPC,dFP,self) tail call
-
-/* ------------------------------ */
- .balign 64
-.L_ALT_OP_UNUSED_B7FF: /* 0x1b7 */
-/* File: armv5te/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Note that the call to dvmCheckBefore is done as a tail call.
- * rIBASE updates won't be seen until a refresh, and we can tell we have a
- * stale rIBASE if breakFlags==0. Always refresh rIBASE here, and then
- * bail to the real handler if breakFlags==0.
- */
- ldrb r3, [rSELF, #offThread_breakFlags]
- adrl lr, dvmAsmInstructionStart + (439 * 64)
- ldr rIBASE, [rSELF, #offThread_curHandlerTable]
- cmp r3, #0
- bxeq lr @ nothing to do - jump to real handler
- EXPORT_PC()
- mov r0, rPC @ arg0
- mov r1, rFP @ arg1
- mov r2, rSELF @ arg2
- b dvmCheckBefore @ (dPC,dFP,self) tail call
-
-/* ------------------------------ */
- .balign 64
-.L_ALT_OP_UNUSED_B8FF: /* 0x1b8 */
-/* File: armv5te/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Note that the call to dvmCheckBefore is done as a tail call.
- * rIBASE updates won't be seen until a refresh, and we can tell we have a
- * stale rIBASE if breakFlags==0. Always refresh rIBASE here, and then
- * bail to the real handler if breakFlags==0.
- */
- ldrb r3, [rSELF, #offThread_breakFlags]
- adrl lr, dvmAsmInstructionStart + (440 * 64)
- ldr rIBASE, [rSELF, #offThread_curHandlerTable]
- cmp r3, #0
- bxeq lr @ nothing to do - jump to real handler
- EXPORT_PC()
- mov r0, rPC @ arg0
- mov r1, rFP @ arg1
- mov r2, rSELF @ arg2
- b dvmCheckBefore @ (dPC,dFP,self) tail call
-
-/* ------------------------------ */
- .balign 64
-.L_ALT_OP_UNUSED_B9FF: /* 0x1b9 */
-/* File: armv5te/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Note that the call to dvmCheckBefore is done as a tail call.
- * rIBASE updates won't be seen until a refresh, and we can tell we have a
- * stale rIBASE if breakFlags==0. Always refresh rIBASE here, and then
- * bail to the real handler if breakFlags==0.
- */
- ldrb r3, [rSELF, #offThread_breakFlags]
- adrl lr, dvmAsmInstructionStart + (441 * 64)
- ldr rIBASE, [rSELF, #offThread_curHandlerTable]
- cmp r3, #0
- bxeq lr @ nothing to do - jump to real handler
- EXPORT_PC()
- mov r0, rPC @ arg0
- mov r1, rFP @ arg1
- mov r2, rSELF @ arg2
- b dvmCheckBefore @ (dPC,dFP,self) tail call
-
-/* ------------------------------ */
- .balign 64
-.L_ALT_OP_UNUSED_BAFF: /* 0x1ba */
-/* File: armv5te/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Note that the call to dvmCheckBefore is done as a tail call.
- * rIBASE updates won't be seen until a refresh, and we can tell we have a
- * stale rIBASE if breakFlags==0. Always refresh rIBASE here, and then
- * bail to the real handler if breakFlags==0.
- */
- ldrb r3, [rSELF, #offThread_breakFlags]
- adrl lr, dvmAsmInstructionStart + (442 * 64)
- ldr rIBASE, [rSELF, #offThread_curHandlerTable]
- cmp r3, #0
- bxeq lr @ nothing to do - jump to real handler
- EXPORT_PC()
- mov r0, rPC @ arg0
- mov r1, rFP @ arg1
- mov r2, rSELF @ arg2
- b dvmCheckBefore @ (dPC,dFP,self) tail call
-
-/* ------------------------------ */
- .balign 64
-.L_ALT_OP_UNUSED_BBFF: /* 0x1bb */
-/* File: armv5te/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Note that the call to dvmCheckBefore is done as a tail call.
- * rIBASE updates won't be seen until a refresh, and we can tell we have a
- * stale rIBASE if breakFlags==0. Always refresh rIBASE here, and then
- * bail to the real handler if breakFlags==0.
- */
- ldrb r3, [rSELF, #offThread_breakFlags]
- adrl lr, dvmAsmInstructionStart + (443 * 64)
- ldr rIBASE, [rSELF, #offThread_curHandlerTable]
- cmp r3, #0
- bxeq lr @ nothing to do - jump to real handler
- EXPORT_PC()
- mov r0, rPC @ arg0
- mov r1, rFP @ arg1
- mov r2, rSELF @ arg2
- b dvmCheckBefore @ (dPC,dFP,self) tail call
-
-/* ------------------------------ */
- .balign 64
-.L_ALT_OP_UNUSED_BCFF: /* 0x1bc */
-/* File: armv5te/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Note that the call to dvmCheckBefore is done as a tail call.
- * rIBASE updates won't be seen until a refresh, and we can tell we have a
- * stale rIBASE if breakFlags==0. Always refresh rIBASE here, and then
- * bail to the real handler if breakFlags==0.
- */
- ldrb r3, [rSELF, #offThread_breakFlags]
- adrl lr, dvmAsmInstructionStart + (444 * 64)
- ldr rIBASE, [rSELF, #offThread_curHandlerTable]
- cmp r3, #0
- bxeq lr @ nothing to do - jump to real handler
- EXPORT_PC()
- mov r0, rPC @ arg0
- mov r1, rFP @ arg1
- mov r2, rSELF @ arg2
- b dvmCheckBefore @ (dPC,dFP,self) tail call
-
-/* ------------------------------ */
- .balign 64
-.L_ALT_OP_UNUSED_BDFF: /* 0x1bd */
-/* File: armv5te/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Note that the call to dvmCheckBefore is done as a tail call.
- * rIBASE updates won't be seen until a refresh, and we can tell we have a
- * stale rIBASE if breakFlags==0. Always refresh rIBASE here, and then
- * bail to the real handler if breakFlags==0.
- */
- ldrb r3, [rSELF, #offThread_breakFlags]
- adrl lr, dvmAsmInstructionStart + (445 * 64)
- ldr rIBASE, [rSELF, #offThread_curHandlerTable]
- cmp r3, #0
- bxeq lr @ nothing to do - jump to real handler
- EXPORT_PC()
- mov r0, rPC @ arg0
- mov r1, rFP @ arg1
- mov r2, rSELF @ arg2
- b dvmCheckBefore @ (dPC,dFP,self) tail call
-
-/* ------------------------------ */
- .balign 64
-.L_ALT_OP_UNUSED_BEFF: /* 0x1be */
-/* File: armv5te/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Note that the call to dvmCheckBefore is done as a tail call.
- * rIBASE updates won't be seen until a refresh, and we can tell we have a
- * stale rIBASE if breakFlags==0. Always refresh rIBASE here, and then
- * bail to the real handler if breakFlags==0.
- */
- ldrb r3, [rSELF, #offThread_breakFlags]
- adrl lr, dvmAsmInstructionStart + (446 * 64)
- ldr rIBASE, [rSELF, #offThread_curHandlerTable]
- cmp r3, #0
- bxeq lr @ nothing to do - jump to real handler
- EXPORT_PC()
- mov r0, rPC @ arg0
- mov r1, rFP @ arg1
- mov r2, rSELF @ arg2
- b dvmCheckBefore @ (dPC,dFP,self) tail call
-
-/* ------------------------------ */
- .balign 64
-.L_ALT_OP_UNUSED_BFFF: /* 0x1bf */
-/* File: armv5te/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Note that the call to dvmCheckBefore is done as a tail call.
- * rIBASE updates won't be seen until a refresh, and we can tell we have a
- * stale rIBASE if breakFlags==0. Always refresh rIBASE here, and then
- * bail to the real handler if breakFlags==0.
- */
- ldrb r3, [rSELF, #offThread_breakFlags]
- adrl lr, dvmAsmInstructionStart + (447 * 64)
- ldr rIBASE, [rSELF, #offThread_curHandlerTable]
- cmp r3, #0
- bxeq lr @ nothing to do - jump to real handler
- EXPORT_PC()
- mov r0, rPC @ arg0
- mov r1, rFP @ arg1
- mov r2, rSELF @ arg2
- b dvmCheckBefore @ (dPC,dFP,self) tail call
-
-/* ------------------------------ */
- .balign 64
-.L_ALT_OP_UNUSED_C0FF: /* 0x1c0 */
-/* File: armv5te/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Note that the call to dvmCheckBefore is done as a tail call.
- * rIBASE updates won't be seen until a refresh, and we can tell we have a
- * stale rIBASE if breakFlags==0. Always refresh rIBASE here, and then
- * bail to the real handler if breakFlags==0.
- */
- ldrb r3, [rSELF, #offThread_breakFlags]
- adrl lr, dvmAsmInstructionStart + (448 * 64)
- ldr rIBASE, [rSELF, #offThread_curHandlerTable]
- cmp r3, #0
- bxeq lr @ nothing to do - jump to real handler
- EXPORT_PC()
- mov r0, rPC @ arg0
- mov r1, rFP @ arg1
- mov r2, rSELF @ arg2
- b dvmCheckBefore @ (dPC,dFP,self) tail call
-
-/* ------------------------------ */
- .balign 64
-.L_ALT_OP_UNUSED_C1FF: /* 0x1c1 */
-/* File: armv5te/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Note that the call to dvmCheckBefore is done as a tail call.
- * rIBASE updates won't be seen until a refresh, and we can tell we have a
- * stale rIBASE if breakFlags==0. Always refresh rIBASE here, and then
- * bail to the real handler if breakFlags==0.
- */
- ldrb r3, [rSELF, #offThread_breakFlags]
- adrl lr, dvmAsmInstructionStart + (449 * 64)
- ldr rIBASE, [rSELF, #offThread_curHandlerTable]
- cmp r3, #0
- bxeq lr @ nothing to do - jump to real handler
- EXPORT_PC()
- mov r0, rPC @ arg0
- mov r1, rFP @ arg1
- mov r2, rSELF @ arg2
- b dvmCheckBefore @ (dPC,dFP,self) tail call
-
-/* ------------------------------ */
- .balign 64
-.L_ALT_OP_UNUSED_C2FF: /* 0x1c2 */
-/* File: armv5te/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Note that the call to dvmCheckBefore is done as a tail call.
- * rIBASE updates won't be seen until a refresh, and we can tell we have a
- * stale rIBASE if breakFlags==0. Always refresh rIBASE here, and then
- * bail to the real handler if breakFlags==0.
- */
- ldrb r3, [rSELF, #offThread_breakFlags]
- adrl lr, dvmAsmInstructionStart + (450 * 64)
- ldr rIBASE, [rSELF, #offThread_curHandlerTable]
- cmp r3, #0
- bxeq lr @ nothing to do - jump to real handler
- EXPORT_PC()
- mov r0, rPC @ arg0
- mov r1, rFP @ arg1
- mov r2, rSELF @ arg2
- b dvmCheckBefore @ (dPC,dFP,self) tail call
-
-/* ------------------------------ */
- .balign 64
-.L_ALT_OP_UNUSED_C3FF: /* 0x1c3 */
-/* File: armv5te/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Note that the call to dvmCheckBefore is done as a tail call.
- * rIBASE updates won't be seen until a refresh, and we can tell we have a
- * stale rIBASE if breakFlags==0. Always refresh rIBASE here, and then
- * bail to the real handler if breakFlags==0.
- */
- ldrb r3, [rSELF, #offThread_breakFlags]
- adrl lr, dvmAsmInstructionStart + (451 * 64)
- ldr rIBASE, [rSELF, #offThread_curHandlerTable]
- cmp r3, #0
- bxeq lr @ nothing to do - jump to real handler
- EXPORT_PC()
- mov r0, rPC @ arg0
- mov r1, rFP @ arg1
- mov r2, rSELF @ arg2
- b dvmCheckBefore @ (dPC,dFP,self) tail call
-
-/* ------------------------------ */
- .balign 64
-.L_ALT_OP_UNUSED_C4FF: /* 0x1c4 */
-/* File: armv5te/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Note that the call to dvmCheckBefore is done as a tail call.
- * rIBASE updates won't be seen until a refresh, and we can tell we have a
- * stale rIBASE if breakFlags==0. Always refresh rIBASE here, and then
- * bail to the real handler if breakFlags==0.
- */
- ldrb r3, [rSELF, #offThread_breakFlags]
- adrl lr, dvmAsmInstructionStart + (452 * 64)
- ldr rIBASE, [rSELF, #offThread_curHandlerTable]
- cmp r3, #0
- bxeq lr @ nothing to do - jump to real handler
- EXPORT_PC()
- mov r0, rPC @ arg0
- mov r1, rFP @ arg1
- mov r2, rSELF @ arg2
- b dvmCheckBefore @ (dPC,dFP,self) tail call
-
-/* ------------------------------ */
- .balign 64
-.L_ALT_OP_UNUSED_C5FF: /* 0x1c5 */
-/* File: armv5te/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Note that the call to dvmCheckBefore is done as a tail call.
- * rIBASE updates won't be seen until a refresh, and we can tell we have a
- * stale rIBASE if breakFlags==0. Always refresh rIBASE here, and then
- * bail to the real handler if breakFlags==0.
- */
- ldrb r3, [rSELF, #offThread_breakFlags]
- adrl lr, dvmAsmInstructionStart + (453 * 64)
- ldr rIBASE, [rSELF, #offThread_curHandlerTable]
- cmp r3, #0
- bxeq lr @ nothing to do - jump to real handler
- EXPORT_PC()
- mov r0, rPC @ arg0
- mov r1, rFP @ arg1
- mov r2, rSELF @ arg2
- b dvmCheckBefore @ (dPC,dFP,self) tail call
-
-/* ------------------------------ */
- .balign 64
-.L_ALT_OP_UNUSED_C6FF: /* 0x1c6 */
-/* File: armv5te/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Note that the call to dvmCheckBefore is done as a tail call.
- * rIBASE updates won't be seen until a refresh, and we can tell we have a
- * stale rIBASE if breakFlags==0. Always refresh rIBASE here, and then
- * bail to the real handler if breakFlags==0.
- */
- ldrb r3, [rSELF, #offThread_breakFlags]
- adrl lr, dvmAsmInstructionStart + (454 * 64)
- ldr rIBASE, [rSELF, #offThread_curHandlerTable]
- cmp r3, #0
- bxeq lr @ nothing to do - jump to real handler
- EXPORT_PC()
- mov r0, rPC @ arg0
- mov r1, rFP @ arg1
- mov r2, rSELF @ arg2
- b dvmCheckBefore @ (dPC,dFP,self) tail call
-
-/* ------------------------------ */
- .balign 64
-.L_ALT_OP_UNUSED_C7FF: /* 0x1c7 */
-/* File: armv5te/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Note that the call to dvmCheckBefore is done as a tail call.
- * rIBASE updates won't be seen until a refresh, and we can tell we have a
- * stale rIBASE if breakFlags==0. Always refresh rIBASE here, and then
- * bail to the real handler if breakFlags==0.
- */
- ldrb r3, [rSELF, #offThread_breakFlags]
- adrl lr, dvmAsmInstructionStart + (455 * 64)
- ldr rIBASE, [rSELF, #offThread_curHandlerTable]
- cmp r3, #0
- bxeq lr @ nothing to do - jump to real handler
- EXPORT_PC()
- mov r0, rPC @ arg0
- mov r1, rFP @ arg1
- mov r2, rSELF @ arg2
- b dvmCheckBefore @ (dPC,dFP,self) tail call
-
-/* ------------------------------ */
- .balign 64
-.L_ALT_OP_UNUSED_C8FF: /* 0x1c8 */
-/* File: armv5te/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Note that the call to dvmCheckBefore is done as a tail call.
- * rIBASE updates won't be seen until a refresh, and we can tell we have a
- * stale rIBASE if breakFlags==0. Always refresh rIBASE here, and then
- * bail to the real handler if breakFlags==0.
- */
- ldrb r3, [rSELF, #offThread_breakFlags]
- adrl lr, dvmAsmInstructionStart + (456 * 64)
- ldr rIBASE, [rSELF, #offThread_curHandlerTable]
- cmp r3, #0
- bxeq lr @ nothing to do - jump to real handler
- EXPORT_PC()
- mov r0, rPC @ arg0
- mov r1, rFP @ arg1
- mov r2, rSELF @ arg2
- b dvmCheckBefore @ (dPC,dFP,self) tail call
-
-/* ------------------------------ */
- .balign 64
-.L_ALT_OP_UNUSED_C9FF: /* 0x1c9 */
-/* File: armv5te/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Note that the call to dvmCheckBefore is done as a tail call.
- * rIBASE updates won't be seen until a refresh, and we can tell we have a
- * stale rIBASE if breakFlags==0. Always refresh rIBASE here, and then
- * bail to the real handler if breakFlags==0.
- */
- ldrb r3, [rSELF, #offThread_breakFlags]
- adrl lr, dvmAsmInstructionStart + (457 * 64)
- ldr rIBASE, [rSELF, #offThread_curHandlerTable]
- cmp r3, #0
- bxeq lr @ nothing to do - jump to real handler
- EXPORT_PC()
- mov r0, rPC @ arg0
- mov r1, rFP @ arg1
- mov r2, rSELF @ arg2
- b dvmCheckBefore @ (dPC,dFP,self) tail call
-
-/* ------------------------------ */
- .balign 64
-.L_ALT_OP_UNUSED_CAFF: /* 0x1ca */
-/* File: armv5te/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Note that the call to dvmCheckBefore is done as a tail call.
- * rIBASE updates won't be seen until a refresh, and we can tell we have a
- * stale rIBASE if breakFlags==0. Always refresh rIBASE here, and then
- * bail to the real handler if breakFlags==0.
- */
- ldrb r3, [rSELF, #offThread_breakFlags]
- adrl lr, dvmAsmInstructionStart + (458 * 64)
- ldr rIBASE, [rSELF, #offThread_curHandlerTable]
- cmp r3, #0
- bxeq lr @ nothing to do - jump to real handler
- EXPORT_PC()
- mov r0, rPC @ arg0
- mov r1, rFP @ arg1
- mov r2, rSELF @ arg2
- b dvmCheckBefore @ (dPC,dFP,self) tail call
-
-/* ------------------------------ */
- .balign 64
-.L_ALT_OP_UNUSED_CBFF: /* 0x1cb */
-/* File: armv5te/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Note that the call to dvmCheckBefore is done as a tail call.
- * rIBASE updates won't be seen until a refresh, and we can tell we have a
- * stale rIBASE if breakFlags==0. Always refresh rIBASE here, and then
- * bail to the real handler if breakFlags==0.
- */
- ldrb r3, [rSELF, #offThread_breakFlags]
- adrl lr, dvmAsmInstructionStart + (459 * 64)
- ldr rIBASE, [rSELF, #offThread_curHandlerTable]
- cmp r3, #0
- bxeq lr @ nothing to do - jump to real handler
- EXPORT_PC()
- mov r0, rPC @ arg0
- mov r1, rFP @ arg1
- mov r2, rSELF @ arg2
- b dvmCheckBefore @ (dPC,dFP,self) tail call
-
-/* ------------------------------ */
- .balign 64
-.L_ALT_OP_UNUSED_CCFF: /* 0x1cc */
-/* File: armv5te/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Note that the call to dvmCheckBefore is done as a tail call.
- * rIBASE updates won't be seen until a refresh, and we can tell we have a
- * stale rIBASE if breakFlags==0. Always refresh rIBASE here, and then
- * bail to the real handler if breakFlags==0.
- */
- ldrb r3, [rSELF, #offThread_breakFlags]
- adrl lr, dvmAsmInstructionStart + (460 * 64)
- ldr rIBASE, [rSELF, #offThread_curHandlerTable]
- cmp r3, #0
- bxeq lr @ nothing to do - jump to real handler
- EXPORT_PC()
- mov r0, rPC @ arg0
- mov r1, rFP @ arg1
- mov r2, rSELF @ arg2
- b dvmCheckBefore @ (dPC,dFP,self) tail call
-
-/* ------------------------------ */
- .balign 64
-.L_ALT_OP_UNUSED_CDFF: /* 0x1cd */
-/* File: armv5te/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Note that the call to dvmCheckBefore is done as a tail call.
- * rIBASE updates won't be seen until a refresh, and we can tell we have a
- * stale rIBASE if breakFlags==0. Always refresh rIBASE here, and then
- * bail to the real handler if breakFlags==0.
- */
- ldrb r3, [rSELF, #offThread_breakFlags]
- adrl lr, dvmAsmInstructionStart + (461 * 64)
- ldr rIBASE, [rSELF, #offThread_curHandlerTable]
- cmp r3, #0
- bxeq lr @ nothing to do - jump to real handler
- EXPORT_PC()
- mov r0, rPC @ arg0
- mov r1, rFP @ arg1
- mov r2, rSELF @ arg2
- b dvmCheckBefore @ (dPC,dFP,self) tail call
-
-/* ------------------------------ */
- .balign 64
-.L_ALT_OP_UNUSED_CEFF: /* 0x1ce */
-/* File: armv5te/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Note that the call to dvmCheckBefore is done as a tail call.
- * rIBASE updates won't be seen until a refresh, and we can tell we have a
- * stale rIBASE if breakFlags==0. Always refresh rIBASE here, and then
- * bail to the real handler if breakFlags==0.
- */
- ldrb r3, [rSELF, #offThread_breakFlags]
- adrl lr, dvmAsmInstructionStart + (462 * 64)
- ldr rIBASE, [rSELF, #offThread_curHandlerTable]
- cmp r3, #0
- bxeq lr @ nothing to do - jump to real handler
- EXPORT_PC()
- mov r0, rPC @ arg0
- mov r1, rFP @ arg1
- mov r2, rSELF @ arg2
- b dvmCheckBefore @ (dPC,dFP,self) tail call
-
-/* ------------------------------ */
- .balign 64
-.L_ALT_OP_UNUSED_CFFF: /* 0x1cf */
-/* File: armv5te/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Note that the call to dvmCheckBefore is done as a tail call.
- * rIBASE updates won't be seen until a refresh, and we can tell we have a
- * stale rIBASE if breakFlags==0. Always refresh rIBASE here, and then
- * bail to the real handler if breakFlags==0.
- */
- ldrb r3, [rSELF, #offThread_breakFlags]
- adrl lr, dvmAsmInstructionStart + (463 * 64)
- ldr rIBASE, [rSELF, #offThread_curHandlerTable]
- cmp r3, #0
- bxeq lr @ nothing to do - jump to real handler
- EXPORT_PC()
- mov r0, rPC @ arg0
- mov r1, rFP @ arg1
- mov r2, rSELF @ arg2
- b dvmCheckBefore @ (dPC,dFP,self) tail call
-
-/* ------------------------------ */
- .balign 64
-.L_ALT_OP_UNUSED_D0FF: /* 0x1d0 */
-/* File: armv5te/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Note that the call to dvmCheckBefore is done as a tail call.
- * rIBASE updates won't be seen until a refresh, and we can tell we have a
- * stale rIBASE if breakFlags==0. Always refresh rIBASE here, and then
- * bail to the real handler if breakFlags==0.
- */
- ldrb r3, [rSELF, #offThread_breakFlags]
- adrl lr, dvmAsmInstructionStart + (464 * 64)
- ldr rIBASE, [rSELF, #offThread_curHandlerTable]
- cmp r3, #0
- bxeq lr @ nothing to do - jump to real handler
- EXPORT_PC()
- mov r0, rPC @ arg0
- mov r1, rFP @ arg1
- mov r2, rSELF @ arg2
- b dvmCheckBefore @ (dPC,dFP,self) tail call
-
-/* ------------------------------ */
- .balign 64
-.L_ALT_OP_UNUSED_D1FF: /* 0x1d1 */
-/* File: armv5te/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Note that the call to dvmCheckBefore is done as a tail call.
- * rIBASE updates won't be seen until a refresh, and we can tell we have a
- * stale rIBASE if breakFlags==0. Always refresh rIBASE here, and then
- * bail to the real handler if breakFlags==0.
- */
- ldrb r3, [rSELF, #offThread_breakFlags]
- adrl lr, dvmAsmInstructionStart + (465 * 64)
- ldr rIBASE, [rSELF, #offThread_curHandlerTable]
- cmp r3, #0
- bxeq lr @ nothing to do - jump to real handler
- EXPORT_PC()
- mov r0, rPC @ arg0
- mov r1, rFP @ arg1
- mov r2, rSELF @ arg2
- b dvmCheckBefore @ (dPC,dFP,self) tail call
-
-/* ------------------------------ */
- .balign 64
-.L_ALT_OP_UNUSED_D2FF: /* 0x1d2 */
-/* File: armv5te/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Note that the call to dvmCheckBefore is done as a tail call.
- * rIBASE updates won't be seen until a refresh, and we can tell we have a
- * stale rIBASE if breakFlags==0. Always refresh rIBASE here, and then
- * bail to the real handler if breakFlags==0.
- */
- ldrb r3, [rSELF, #offThread_breakFlags]
- adrl lr, dvmAsmInstructionStart + (466 * 64)
- ldr rIBASE, [rSELF, #offThread_curHandlerTable]
- cmp r3, #0
- bxeq lr @ nothing to do - jump to real handler
- EXPORT_PC()
- mov r0, rPC @ arg0
- mov r1, rFP @ arg1
- mov r2, rSELF @ arg2
- b dvmCheckBefore @ (dPC,dFP,self) tail call
-
-/* ------------------------------ */
- .balign 64
-.L_ALT_OP_UNUSED_D3FF: /* 0x1d3 */
-/* File: armv5te/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Note that the call to dvmCheckBefore is done as a tail call.
- * rIBASE updates won't be seen until a refresh, and we can tell we have a
- * stale rIBASE if breakFlags==0. Always refresh rIBASE here, and then
- * bail to the real handler if breakFlags==0.
- */
- ldrb r3, [rSELF, #offThread_breakFlags]
- adrl lr, dvmAsmInstructionStart + (467 * 64)
- ldr rIBASE, [rSELF, #offThread_curHandlerTable]
- cmp r3, #0
- bxeq lr @ nothing to do - jump to real handler
- EXPORT_PC()
- mov r0, rPC @ arg0
- mov r1, rFP @ arg1
- mov r2, rSELF @ arg2
- b dvmCheckBefore @ (dPC,dFP,self) tail call
-
-/* ------------------------------ */
- .balign 64
-.L_ALT_OP_UNUSED_D4FF: /* 0x1d4 */
-/* File: armv5te/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Note that the call to dvmCheckBefore is done as a tail call.
- * rIBASE updates won't be seen until a refresh, and we can tell we have a
- * stale rIBASE if breakFlags==0. Always refresh rIBASE here, and then
- * bail to the real handler if breakFlags==0.
- */
- ldrb r3, [rSELF, #offThread_breakFlags]
- adrl lr, dvmAsmInstructionStart + (468 * 64)
- ldr rIBASE, [rSELF, #offThread_curHandlerTable]
- cmp r3, #0
- bxeq lr @ nothing to do - jump to real handler
- EXPORT_PC()
- mov r0, rPC @ arg0
- mov r1, rFP @ arg1
- mov r2, rSELF @ arg2
- b dvmCheckBefore @ (dPC,dFP,self) tail call
-
-/* ------------------------------ */
- .balign 64
-.L_ALT_OP_UNUSED_D5FF: /* 0x1d5 */
-/* File: armv5te/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Note that the call to dvmCheckBefore is done as a tail call.
- * rIBASE updates won't be seen until a refresh, and we can tell we have a
- * stale rIBASE if breakFlags==0. Always refresh rIBASE here, and then
- * bail to the real handler if breakFlags==0.
- */
- ldrb r3, [rSELF, #offThread_breakFlags]
- adrl lr, dvmAsmInstructionStart + (469 * 64)
- ldr rIBASE, [rSELF, #offThread_curHandlerTable]
- cmp r3, #0
- bxeq lr @ nothing to do - jump to real handler
- EXPORT_PC()
- mov r0, rPC @ arg0
- mov r1, rFP @ arg1
- mov r2, rSELF @ arg2
- b dvmCheckBefore @ (dPC,dFP,self) tail call
-
-/* ------------------------------ */
- .balign 64
-.L_ALT_OP_UNUSED_D6FF: /* 0x1d6 */
-/* File: armv5te/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Note that the call to dvmCheckBefore is done as a tail call.
- * rIBASE updates won't be seen until a refresh, and we can tell we have a
- * stale rIBASE if breakFlags==0. Always refresh rIBASE here, and then
- * bail to the real handler if breakFlags==0.
- */
- ldrb r3, [rSELF, #offThread_breakFlags]
- adrl lr, dvmAsmInstructionStart + (470 * 64)
- ldr rIBASE, [rSELF, #offThread_curHandlerTable]
- cmp r3, #0
- bxeq lr @ nothing to do - jump to real handler
- EXPORT_PC()
- mov r0, rPC @ arg0
- mov r1, rFP @ arg1
- mov r2, rSELF @ arg2
- b dvmCheckBefore @ (dPC,dFP,self) tail call
-
-/* ------------------------------ */
- .balign 64
-.L_ALT_OP_UNUSED_D7FF: /* 0x1d7 */
-/* File: armv5te/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Note that the call to dvmCheckBefore is done as a tail call.
- * rIBASE updates won't be seen until a refresh, and we can tell we have a
- * stale rIBASE if breakFlags==0. Always refresh rIBASE here, and then
- * bail to the real handler if breakFlags==0.
- */
- ldrb r3, [rSELF, #offThread_breakFlags]
- adrl lr, dvmAsmInstructionStart + (471 * 64)
- ldr rIBASE, [rSELF, #offThread_curHandlerTable]
- cmp r3, #0
- bxeq lr @ nothing to do - jump to real handler
- EXPORT_PC()
- mov r0, rPC @ arg0
- mov r1, rFP @ arg1
- mov r2, rSELF @ arg2
- b dvmCheckBefore @ (dPC,dFP,self) tail call
-
-/* ------------------------------ */
- .balign 64
-.L_ALT_OP_UNUSED_D8FF: /* 0x1d8 */
-/* File: armv5te/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Note that the call to dvmCheckBefore is done as a tail call.
- * rIBASE updates won't be seen until a refresh, and we can tell we have a
- * stale rIBASE if breakFlags==0. Always refresh rIBASE here, and then
- * bail to the real handler if breakFlags==0.
- */
- ldrb r3, [rSELF, #offThread_breakFlags]
- adrl lr, dvmAsmInstructionStart + (472 * 64)
- ldr rIBASE, [rSELF, #offThread_curHandlerTable]
- cmp r3, #0
- bxeq lr @ nothing to do - jump to real handler
- EXPORT_PC()
- mov r0, rPC @ arg0
- mov r1, rFP @ arg1
- mov r2, rSELF @ arg2
- b dvmCheckBefore @ (dPC,dFP,self) tail call
-
-/* ------------------------------ */
- .balign 64
-.L_ALT_OP_UNUSED_D9FF: /* 0x1d9 */
-/* File: armv5te/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Note that the call to dvmCheckBefore is done as a tail call.
- * rIBASE updates won't be seen until a refresh, and we can tell we have a
- * stale rIBASE if breakFlags==0. Always refresh rIBASE here, and then
- * bail to the real handler if breakFlags==0.
- */
- ldrb r3, [rSELF, #offThread_breakFlags]
- adrl lr, dvmAsmInstructionStart + (473 * 64)
- ldr rIBASE, [rSELF, #offThread_curHandlerTable]
- cmp r3, #0
- bxeq lr @ nothing to do - jump to real handler
- EXPORT_PC()
- mov r0, rPC @ arg0
- mov r1, rFP @ arg1
- mov r2, rSELF @ arg2
- b dvmCheckBefore @ (dPC,dFP,self) tail call
-
-/* ------------------------------ */
- .balign 64
-.L_ALT_OP_UNUSED_DAFF: /* 0x1da */
-/* File: armv5te/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Note that the call to dvmCheckBefore is done as a tail call.
- * rIBASE updates won't be seen until a refresh, and we can tell we have a
- * stale rIBASE if breakFlags==0. Always refresh rIBASE here, and then
- * bail to the real handler if breakFlags==0.
- */
- ldrb r3, [rSELF, #offThread_breakFlags]
- adrl lr, dvmAsmInstructionStart + (474 * 64)
- ldr rIBASE, [rSELF, #offThread_curHandlerTable]
- cmp r3, #0
- bxeq lr @ nothing to do - jump to real handler
- EXPORT_PC()
- mov r0, rPC @ arg0
- mov r1, rFP @ arg1
- mov r2, rSELF @ arg2
- b dvmCheckBefore @ (dPC,dFP,self) tail call
-
-/* ------------------------------ */
- .balign 64
-.L_ALT_OP_UNUSED_DBFF: /* 0x1db */
-/* File: armv5te/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Note that the call to dvmCheckBefore is done as a tail call.
- * rIBASE updates won't be seen until a refresh, and we can tell we have a
- * stale rIBASE if breakFlags==0. Always refresh rIBASE here, and then
- * bail to the real handler if breakFlags==0.
- */
- ldrb r3, [rSELF, #offThread_breakFlags]
- adrl lr, dvmAsmInstructionStart + (475 * 64)
- ldr rIBASE, [rSELF, #offThread_curHandlerTable]
- cmp r3, #0
- bxeq lr @ nothing to do - jump to real handler
- EXPORT_PC()
- mov r0, rPC @ arg0
- mov r1, rFP @ arg1
- mov r2, rSELF @ arg2
- b dvmCheckBefore @ (dPC,dFP,self) tail call
-
-/* ------------------------------ */
- .balign 64
-.L_ALT_OP_UNUSED_DCFF: /* 0x1dc */
-/* File: armv5te/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Note that the call to dvmCheckBefore is done as a tail call.
- * rIBASE updates won't be seen until a refresh, and we can tell we have a
- * stale rIBASE if breakFlags==0. Always refresh rIBASE here, and then
- * bail to the real handler if breakFlags==0.
- */
- ldrb r3, [rSELF, #offThread_breakFlags]
- adrl lr, dvmAsmInstructionStart + (476 * 64)
- ldr rIBASE, [rSELF, #offThread_curHandlerTable]
- cmp r3, #0
- bxeq lr @ nothing to do - jump to real handler
- EXPORT_PC()
- mov r0, rPC @ arg0
- mov r1, rFP @ arg1
- mov r2, rSELF @ arg2
- b dvmCheckBefore @ (dPC,dFP,self) tail call
-
-/* ------------------------------ */
- .balign 64
-.L_ALT_OP_UNUSED_DDFF: /* 0x1dd */
-/* File: armv5te/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Note that the call to dvmCheckBefore is done as a tail call.
- * rIBASE updates won't be seen until a refresh, and we can tell we have a
- * stale rIBASE if breakFlags==0. Always refresh rIBASE here, and then
- * bail to the real handler if breakFlags==0.
- */
- ldrb r3, [rSELF, #offThread_breakFlags]
- adrl lr, dvmAsmInstructionStart + (477 * 64)
- ldr rIBASE, [rSELF, #offThread_curHandlerTable]
- cmp r3, #0
- bxeq lr @ nothing to do - jump to real handler
- EXPORT_PC()
- mov r0, rPC @ arg0
- mov r1, rFP @ arg1
- mov r2, rSELF @ arg2
- b dvmCheckBefore @ (dPC,dFP,self) tail call
-
-/* ------------------------------ */
- .balign 64
-.L_ALT_OP_UNUSED_DEFF: /* 0x1de */
-/* File: armv5te/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Note that the call to dvmCheckBefore is done as a tail call.
- * rIBASE updates won't be seen until a refresh, and we can tell we have a
- * stale rIBASE if breakFlags==0. Always refresh rIBASE here, and then
- * bail to the real handler if breakFlags==0.
- */
- ldrb r3, [rSELF, #offThread_breakFlags]
- adrl lr, dvmAsmInstructionStart + (478 * 64)
- ldr rIBASE, [rSELF, #offThread_curHandlerTable]
- cmp r3, #0
- bxeq lr @ nothing to do - jump to real handler
- EXPORT_PC()
- mov r0, rPC @ arg0
- mov r1, rFP @ arg1
- mov r2, rSELF @ arg2
- b dvmCheckBefore @ (dPC,dFP,self) tail call
-
-/* ------------------------------ */
- .balign 64
-.L_ALT_OP_UNUSED_DFFF: /* 0x1df */
-/* File: armv5te/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Note that the call to dvmCheckBefore is done as a tail call.
- * rIBASE updates won't be seen until a refresh, and we can tell we have a
- * stale rIBASE if breakFlags==0. Always refresh rIBASE here, and then
- * bail to the real handler if breakFlags==0.
- */
- ldrb r3, [rSELF, #offThread_breakFlags]
- adrl lr, dvmAsmInstructionStart + (479 * 64)
- ldr rIBASE, [rSELF, #offThread_curHandlerTable]
- cmp r3, #0
- bxeq lr @ nothing to do - jump to real handler
- EXPORT_PC()
- mov r0, rPC @ arg0
- mov r1, rFP @ arg1
- mov r2, rSELF @ arg2
- b dvmCheckBefore @ (dPC,dFP,self) tail call
-
-/* ------------------------------ */
- .balign 64
-.L_ALT_OP_UNUSED_E0FF: /* 0x1e0 */
-/* File: armv5te/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Note that the call to dvmCheckBefore is done as a tail call.
- * rIBASE updates won't be seen until a refresh, and we can tell we have a
- * stale rIBASE if breakFlags==0. Always refresh rIBASE here, and then
- * bail to the real handler if breakFlags==0.
- */
- ldrb r3, [rSELF, #offThread_breakFlags]
- adrl lr, dvmAsmInstructionStart + (480 * 64)
- ldr rIBASE, [rSELF, #offThread_curHandlerTable]
- cmp r3, #0
- bxeq lr @ nothing to do - jump to real handler
- EXPORT_PC()
- mov r0, rPC @ arg0
- mov r1, rFP @ arg1
- mov r2, rSELF @ arg2
- b dvmCheckBefore @ (dPC,dFP,self) tail call
-
-/* ------------------------------ */
- .balign 64
-.L_ALT_OP_UNUSED_E1FF: /* 0x1e1 */
-/* File: armv5te/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Note that the call to dvmCheckBefore is done as a tail call.
- * rIBASE updates won't be seen until a refresh, and we can tell we have a
- * stale rIBASE if breakFlags==0. Always refresh rIBASE here, and then
- * bail to the real handler if breakFlags==0.
- */
- ldrb r3, [rSELF, #offThread_breakFlags]
- adrl lr, dvmAsmInstructionStart + (481 * 64)
- ldr rIBASE, [rSELF, #offThread_curHandlerTable]
- cmp r3, #0
- bxeq lr @ nothing to do - jump to real handler
- EXPORT_PC()
- mov r0, rPC @ arg0
- mov r1, rFP @ arg1
- mov r2, rSELF @ arg2
- b dvmCheckBefore @ (dPC,dFP,self) tail call
-
-/* ------------------------------ */
- .balign 64
-.L_ALT_OP_UNUSED_E2FF: /* 0x1e2 */
-/* File: armv5te/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Note that the call to dvmCheckBefore is done as a tail call.
- * rIBASE updates won't be seen until a refresh, and we can tell we have a
- * stale rIBASE if breakFlags==0. Always refresh rIBASE here, and then
- * bail to the real handler if breakFlags==0.
- */
- ldrb r3, [rSELF, #offThread_breakFlags]
- adrl lr, dvmAsmInstructionStart + (482 * 64)
- ldr rIBASE, [rSELF, #offThread_curHandlerTable]
- cmp r3, #0
- bxeq lr @ nothing to do - jump to real handler
- EXPORT_PC()
- mov r0, rPC @ arg0
- mov r1, rFP @ arg1
- mov r2, rSELF @ arg2
- b dvmCheckBefore @ (dPC,dFP,self) tail call
-
-/* ------------------------------ */
- .balign 64
-.L_ALT_OP_UNUSED_E3FF: /* 0x1e3 */
-/* File: armv5te/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Note that the call to dvmCheckBefore is done as a tail call.
- * rIBASE updates won't be seen until a refresh, and we can tell we have a
- * stale rIBASE if breakFlags==0. Always refresh rIBASE here, and then
- * bail to the real handler if breakFlags==0.
- */
- ldrb r3, [rSELF, #offThread_breakFlags]
- adrl lr, dvmAsmInstructionStart + (483 * 64)
- ldr rIBASE, [rSELF, #offThread_curHandlerTable]
- cmp r3, #0
- bxeq lr @ nothing to do - jump to real handler
- EXPORT_PC()
- mov r0, rPC @ arg0
- mov r1, rFP @ arg1
- mov r2, rSELF @ arg2
- b dvmCheckBefore @ (dPC,dFP,self) tail call
-
-/* ------------------------------ */
- .balign 64
-.L_ALT_OP_UNUSED_E4FF: /* 0x1e4 */
-/* File: armv5te/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Note that the call to dvmCheckBefore is done as a tail call.
- * rIBASE updates won't be seen until a refresh, and we can tell we have a
- * stale rIBASE if breakFlags==0. Always refresh rIBASE here, and then
- * bail to the real handler if breakFlags==0.
- */
- ldrb r3, [rSELF, #offThread_breakFlags]
- adrl lr, dvmAsmInstructionStart + (484 * 64)
- ldr rIBASE, [rSELF, #offThread_curHandlerTable]
- cmp r3, #0
- bxeq lr @ nothing to do - jump to real handler
- EXPORT_PC()
- mov r0, rPC @ arg0
- mov r1, rFP @ arg1
- mov r2, rSELF @ arg2
- b dvmCheckBefore @ (dPC,dFP,self) tail call
-
-/* ------------------------------ */
- .balign 64
-.L_ALT_OP_UNUSED_E5FF: /* 0x1e5 */
-/* File: armv5te/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Note that the call to dvmCheckBefore is done as a tail call.
- * rIBASE updates won't be seen until a refresh, and we can tell we have a
- * stale rIBASE if breakFlags==0. Always refresh rIBASE here, and then
- * bail to the real handler if breakFlags==0.
- */
- ldrb r3, [rSELF, #offThread_breakFlags]
- adrl lr, dvmAsmInstructionStart + (485 * 64)
- ldr rIBASE, [rSELF, #offThread_curHandlerTable]
- cmp r3, #0
- bxeq lr @ nothing to do - jump to real handler
- EXPORT_PC()
- mov r0, rPC @ arg0
- mov r1, rFP @ arg1
- mov r2, rSELF @ arg2
- b dvmCheckBefore @ (dPC,dFP,self) tail call
-
-/* ------------------------------ */
- .balign 64
-.L_ALT_OP_UNUSED_E6FF: /* 0x1e6 */
-/* File: armv5te/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Note that the call to dvmCheckBefore is done as a tail call.
- * rIBASE updates won't be seen until a refresh, and we can tell we have a
- * stale rIBASE if breakFlags==0. Always refresh rIBASE here, and then
- * bail to the real handler if breakFlags==0.
- */
- ldrb r3, [rSELF, #offThread_breakFlags]
- adrl lr, dvmAsmInstructionStart + (486 * 64)
- ldr rIBASE, [rSELF, #offThread_curHandlerTable]
- cmp r3, #0
- bxeq lr @ nothing to do - jump to real handler
- EXPORT_PC()
- mov r0, rPC @ arg0
- mov r1, rFP @ arg1
- mov r2, rSELF @ arg2
- b dvmCheckBefore @ (dPC,dFP,self) tail call
-
-/* ------------------------------ */
- .balign 64
-.L_ALT_OP_UNUSED_E7FF: /* 0x1e7 */
-/* File: armv5te/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Note that the call to dvmCheckBefore is done as a tail call.
- * rIBASE updates won't be seen until a refresh, and we can tell we have a
- * stale rIBASE if breakFlags==0. Always refresh rIBASE here, and then
- * bail to the real handler if breakFlags==0.
- */
- ldrb r3, [rSELF, #offThread_breakFlags]
- adrl lr, dvmAsmInstructionStart + (487 * 64)
- ldr rIBASE, [rSELF, #offThread_curHandlerTable]
- cmp r3, #0
- bxeq lr @ nothing to do - jump to real handler
- EXPORT_PC()
- mov r0, rPC @ arg0
- mov r1, rFP @ arg1
- mov r2, rSELF @ arg2
- b dvmCheckBefore @ (dPC,dFP,self) tail call
-
-/* ------------------------------ */
- .balign 64
-.L_ALT_OP_UNUSED_E8FF: /* 0x1e8 */
-/* File: armv5te/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Note that the call to dvmCheckBefore is done as a tail call.
- * rIBASE updates won't be seen until a refresh, and we can tell we have a
- * stale rIBASE if breakFlags==0. Always refresh rIBASE here, and then
- * bail to the real handler if breakFlags==0.
- */
- ldrb r3, [rSELF, #offThread_breakFlags]
- adrl lr, dvmAsmInstructionStart + (488 * 64)
- ldr rIBASE, [rSELF, #offThread_curHandlerTable]
- cmp r3, #0
- bxeq lr @ nothing to do - jump to real handler
- EXPORT_PC()
- mov r0, rPC @ arg0
- mov r1, rFP @ arg1
- mov r2, rSELF @ arg2
- b dvmCheckBefore @ (dPC,dFP,self) tail call
-
-/* ------------------------------ */
- .balign 64
-.L_ALT_OP_UNUSED_E9FF: /* 0x1e9 */
-/* File: armv5te/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Note that the call to dvmCheckBefore is done as a tail call.
- * rIBASE updates won't be seen until a refresh, and we can tell we have a
- * stale rIBASE if breakFlags==0. Always refresh rIBASE here, and then
- * bail to the real handler if breakFlags==0.
- */
- ldrb r3, [rSELF, #offThread_breakFlags]
- adrl lr, dvmAsmInstructionStart + (489 * 64)
- ldr rIBASE, [rSELF, #offThread_curHandlerTable]
- cmp r3, #0
- bxeq lr @ nothing to do - jump to real handler
- EXPORT_PC()
- mov r0, rPC @ arg0
- mov r1, rFP @ arg1
- mov r2, rSELF @ arg2
- b dvmCheckBefore @ (dPC,dFP,self) tail call
-
-/* ------------------------------ */
- .balign 64
-.L_ALT_OP_UNUSED_EAFF: /* 0x1ea */
-/* File: armv5te/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Note that the call to dvmCheckBefore is done as a tail call.
- * rIBASE updates won't be seen until a refresh, and we can tell we have a
- * stale rIBASE if breakFlags==0. Always refresh rIBASE here, and then
- * bail to the real handler if breakFlags==0.
- */
- ldrb r3, [rSELF, #offThread_breakFlags]
- adrl lr, dvmAsmInstructionStart + (490 * 64)
- ldr rIBASE, [rSELF, #offThread_curHandlerTable]
- cmp r3, #0
- bxeq lr @ nothing to do - jump to real handler
- EXPORT_PC()
- mov r0, rPC @ arg0
- mov r1, rFP @ arg1
- mov r2, rSELF @ arg2
- b dvmCheckBefore @ (dPC,dFP,self) tail call
-
-/* ------------------------------ */
- .balign 64
-.L_ALT_OP_UNUSED_EBFF: /* 0x1eb */
-/* File: armv5te/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Note that the call to dvmCheckBefore is done as a tail call.
- * rIBASE updates won't be seen until a refresh, and we can tell we have a
- * stale rIBASE if breakFlags==0. Always refresh rIBASE here, and then
- * bail to the real handler if breakFlags==0.
- */
- ldrb r3, [rSELF, #offThread_breakFlags]
- adrl lr, dvmAsmInstructionStart + (491 * 64)
- ldr rIBASE, [rSELF, #offThread_curHandlerTable]
- cmp r3, #0
- bxeq lr @ nothing to do - jump to real handler
- EXPORT_PC()
- mov r0, rPC @ arg0
- mov r1, rFP @ arg1
- mov r2, rSELF @ arg2
- b dvmCheckBefore @ (dPC,dFP,self) tail call
-
-/* ------------------------------ */
- .balign 64
-.L_ALT_OP_UNUSED_ECFF: /* 0x1ec */
+.L_ALT_OP_UNUSED_FF: /* 0xff */
/* File: armv5te/alt_stub.S */
/*
* Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
@@ -25711,444 +15563,7 @@ dvmAsmAltInstructionStart = .L_ALT_OP_NOP
* bail to the real handler if breakFlags==0.
*/
ldrb r3, [rSELF, #offThread_breakFlags]
- adrl lr, dvmAsmInstructionStart + (492 * 64)
- ldr rIBASE, [rSELF, #offThread_curHandlerTable]
- cmp r3, #0
- bxeq lr @ nothing to do - jump to real handler
- EXPORT_PC()
- mov r0, rPC @ arg0
- mov r1, rFP @ arg1
- mov r2, rSELF @ arg2
- b dvmCheckBefore @ (dPC,dFP,self) tail call
-
-/* ------------------------------ */
- .balign 64
-.L_ALT_OP_UNUSED_EDFF: /* 0x1ed */
-/* File: armv5te/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Note that the call to dvmCheckBefore is done as a tail call.
- * rIBASE updates won't be seen until a refresh, and we can tell we have a
- * stale rIBASE if breakFlags==0. Always refresh rIBASE here, and then
- * bail to the real handler if breakFlags==0.
- */
- ldrb r3, [rSELF, #offThread_breakFlags]
- adrl lr, dvmAsmInstructionStart + (493 * 64)
- ldr rIBASE, [rSELF, #offThread_curHandlerTable]
- cmp r3, #0
- bxeq lr @ nothing to do - jump to real handler
- EXPORT_PC()
- mov r0, rPC @ arg0
- mov r1, rFP @ arg1
- mov r2, rSELF @ arg2
- b dvmCheckBefore @ (dPC,dFP,self) tail call
-
-/* ------------------------------ */
- .balign 64
-.L_ALT_OP_UNUSED_EEFF: /* 0x1ee */
-/* File: armv5te/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Note that the call to dvmCheckBefore is done as a tail call.
- * rIBASE updates won't be seen until a refresh, and we can tell we have a
- * stale rIBASE if breakFlags==0. Always refresh rIBASE here, and then
- * bail to the real handler if breakFlags==0.
- */
- ldrb r3, [rSELF, #offThread_breakFlags]
- adrl lr, dvmAsmInstructionStart + (494 * 64)
- ldr rIBASE, [rSELF, #offThread_curHandlerTable]
- cmp r3, #0
- bxeq lr @ nothing to do - jump to real handler
- EXPORT_PC()
- mov r0, rPC @ arg0
- mov r1, rFP @ arg1
- mov r2, rSELF @ arg2
- b dvmCheckBefore @ (dPC,dFP,self) tail call
-
-/* ------------------------------ */
- .balign 64
-.L_ALT_OP_UNUSED_EFFF: /* 0x1ef */
-/* File: armv5te/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Note that the call to dvmCheckBefore is done as a tail call.
- * rIBASE updates won't be seen until a refresh, and we can tell we have a
- * stale rIBASE if breakFlags==0. Always refresh rIBASE here, and then
- * bail to the real handler if breakFlags==0.
- */
- ldrb r3, [rSELF, #offThread_breakFlags]
- adrl lr, dvmAsmInstructionStart + (495 * 64)
- ldr rIBASE, [rSELF, #offThread_curHandlerTable]
- cmp r3, #0
- bxeq lr @ nothing to do - jump to real handler
- EXPORT_PC()
- mov r0, rPC @ arg0
- mov r1, rFP @ arg1
- mov r2, rSELF @ arg2
- b dvmCheckBefore @ (dPC,dFP,self) tail call
-
-/* ------------------------------ */
- .balign 64
-.L_ALT_OP_UNUSED_F0FF: /* 0x1f0 */
-/* File: armv5te/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Note that the call to dvmCheckBefore is done as a tail call.
- * rIBASE updates won't be seen until a refresh, and we can tell we have a
- * stale rIBASE if breakFlags==0. Always refresh rIBASE here, and then
- * bail to the real handler if breakFlags==0.
- */
- ldrb r3, [rSELF, #offThread_breakFlags]
- adrl lr, dvmAsmInstructionStart + (496 * 64)
- ldr rIBASE, [rSELF, #offThread_curHandlerTable]
- cmp r3, #0
- bxeq lr @ nothing to do - jump to real handler
- EXPORT_PC()
- mov r0, rPC @ arg0
- mov r1, rFP @ arg1
- mov r2, rSELF @ arg2
- b dvmCheckBefore @ (dPC,dFP,self) tail call
-
-/* ------------------------------ */
- .balign 64
-.L_ALT_OP_UNUSED_F1FF: /* 0x1f1 */
-/* File: armv5te/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Note that the call to dvmCheckBefore is done as a tail call.
- * rIBASE updates won't be seen until a refresh, and we can tell we have a
- * stale rIBASE if breakFlags==0. Always refresh rIBASE here, and then
- * bail to the real handler if breakFlags==0.
- */
- ldrb r3, [rSELF, #offThread_breakFlags]
- adrl lr, dvmAsmInstructionStart + (497 * 64)
- ldr rIBASE, [rSELF, #offThread_curHandlerTable]
- cmp r3, #0
- bxeq lr @ nothing to do - jump to real handler
- EXPORT_PC()
- mov r0, rPC @ arg0
- mov r1, rFP @ arg1
- mov r2, rSELF @ arg2
- b dvmCheckBefore @ (dPC,dFP,self) tail call
-
-/* ------------------------------ */
- .balign 64
-.L_ALT_OP_INVOKE_OBJECT_INIT_JUMBO: /* 0x1f2 */
-/* File: armv5te/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Note that the call to dvmCheckBefore is done as a tail call.
- * rIBASE updates won't be seen until a refresh, and we can tell we have a
- * stale rIBASE if breakFlags==0. Always refresh rIBASE here, and then
- * bail to the real handler if breakFlags==0.
- */
- ldrb r3, [rSELF, #offThread_breakFlags]
- adrl lr, dvmAsmInstructionStart + (498 * 64)
- ldr rIBASE, [rSELF, #offThread_curHandlerTable]
- cmp r3, #0
- bxeq lr @ nothing to do - jump to real handler
- EXPORT_PC()
- mov r0, rPC @ arg0
- mov r1, rFP @ arg1
- mov r2, rSELF @ arg2
- b dvmCheckBefore @ (dPC,dFP,self) tail call
-
-/* ------------------------------ */
- .balign 64
-.L_ALT_OP_IGET_VOLATILE_JUMBO: /* 0x1f3 */
-/* File: armv5te/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Note that the call to dvmCheckBefore is done as a tail call.
- * rIBASE updates won't be seen until a refresh, and we can tell we have a
- * stale rIBASE if breakFlags==0. Always refresh rIBASE here, and then
- * bail to the real handler if breakFlags==0.
- */
- ldrb r3, [rSELF, #offThread_breakFlags]
- adrl lr, dvmAsmInstructionStart + (499 * 64)
- ldr rIBASE, [rSELF, #offThread_curHandlerTable]
- cmp r3, #0
- bxeq lr @ nothing to do - jump to real handler
- EXPORT_PC()
- mov r0, rPC @ arg0
- mov r1, rFP @ arg1
- mov r2, rSELF @ arg2
- b dvmCheckBefore @ (dPC,dFP,self) tail call
-
-/* ------------------------------ */
- .balign 64
-.L_ALT_OP_IGET_WIDE_VOLATILE_JUMBO: /* 0x1f4 */
-/* File: armv5te/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Note that the call to dvmCheckBefore is done as a tail call.
- * rIBASE updates won't be seen until a refresh, and we can tell we have a
- * stale rIBASE if breakFlags==0. Always refresh rIBASE here, and then
- * bail to the real handler if breakFlags==0.
- */
- ldrb r3, [rSELF, #offThread_breakFlags]
- adrl lr, dvmAsmInstructionStart + (500 * 64)
- ldr rIBASE, [rSELF, #offThread_curHandlerTable]
- cmp r3, #0
- bxeq lr @ nothing to do - jump to real handler
- EXPORT_PC()
- mov r0, rPC @ arg0
- mov r1, rFP @ arg1
- mov r2, rSELF @ arg2
- b dvmCheckBefore @ (dPC,dFP,self) tail call
-
-/* ------------------------------ */
- .balign 64
-.L_ALT_OP_IGET_OBJECT_VOLATILE_JUMBO: /* 0x1f5 */
-/* File: armv5te/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Note that the call to dvmCheckBefore is done as a tail call.
- * rIBASE updates won't be seen until a refresh, and we can tell we have a
- * stale rIBASE if breakFlags==0. Always refresh rIBASE here, and then
- * bail to the real handler if breakFlags==0.
- */
- ldrb r3, [rSELF, #offThread_breakFlags]
- adrl lr, dvmAsmInstructionStart + (501 * 64)
- ldr rIBASE, [rSELF, #offThread_curHandlerTable]
- cmp r3, #0
- bxeq lr @ nothing to do - jump to real handler
- EXPORT_PC()
- mov r0, rPC @ arg0
- mov r1, rFP @ arg1
- mov r2, rSELF @ arg2
- b dvmCheckBefore @ (dPC,dFP,self) tail call
-
-/* ------------------------------ */
- .balign 64
-.L_ALT_OP_IPUT_VOLATILE_JUMBO: /* 0x1f6 */
-/* File: armv5te/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Note that the call to dvmCheckBefore is done as a tail call.
- * rIBASE updates won't be seen until a refresh, and we can tell we have a
- * stale rIBASE if breakFlags==0. Always refresh rIBASE here, and then
- * bail to the real handler if breakFlags==0.
- */
- ldrb r3, [rSELF, #offThread_breakFlags]
- adrl lr, dvmAsmInstructionStart + (502 * 64)
- ldr rIBASE, [rSELF, #offThread_curHandlerTable]
- cmp r3, #0
- bxeq lr @ nothing to do - jump to real handler
- EXPORT_PC()
- mov r0, rPC @ arg0
- mov r1, rFP @ arg1
- mov r2, rSELF @ arg2
- b dvmCheckBefore @ (dPC,dFP,self) tail call
-
-/* ------------------------------ */
- .balign 64
-.L_ALT_OP_IPUT_WIDE_VOLATILE_JUMBO: /* 0x1f7 */
-/* File: armv5te/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Note that the call to dvmCheckBefore is done as a tail call.
- * rIBASE updates won't be seen until a refresh, and we can tell we have a
- * stale rIBASE if breakFlags==0. Always refresh rIBASE here, and then
- * bail to the real handler if breakFlags==0.
- */
- ldrb r3, [rSELF, #offThread_breakFlags]
- adrl lr, dvmAsmInstructionStart + (503 * 64)
- ldr rIBASE, [rSELF, #offThread_curHandlerTable]
- cmp r3, #0
- bxeq lr @ nothing to do - jump to real handler
- EXPORT_PC()
- mov r0, rPC @ arg0
- mov r1, rFP @ arg1
- mov r2, rSELF @ arg2
- b dvmCheckBefore @ (dPC,dFP,self) tail call
-
-/* ------------------------------ */
- .balign 64
-.L_ALT_OP_IPUT_OBJECT_VOLATILE_JUMBO: /* 0x1f8 */
-/* File: armv5te/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Note that the call to dvmCheckBefore is done as a tail call.
- * rIBASE updates won't be seen until a refresh, and we can tell we have a
- * stale rIBASE if breakFlags==0. Always refresh rIBASE here, and then
- * bail to the real handler if breakFlags==0.
- */
- ldrb r3, [rSELF, #offThread_breakFlags]
- adrl lr, dvmAsmInstructionStart + (504 * 64)
- ldr rIBASE, [rSELF, #offThread_curHandlerTable]
- cmp r3, #0
- bxeq lr @ nothing to do - jump to real handler
- EXPORT_PC()
- mov r0, rPC @ arg0
- mov r1, rFP @ arg1
- mov r2, rSELF @ arg2
- b dvmCheckBefore @ (dPC,dFP,self) tail call
-
-/* ------------------------------ */
- .balign 64
-.L_ALT_OP_SGET_VOLATILE_JUMBO: /* 0x1f9 */
-/* File: armv5te/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Note that the call to dvmCheckBefore is done as a tail call.
- * rIBASE updates won't be seen until a refresh, and we can tell we have a
- * stale rIBASE if breakFlags==0. Always refresh rIBASE here, and then
- * bail to the real handler if breakFlags==0.
- */
- ldrb r3, [rSELF, #offThread_breakFlags]
- adrl lr, dvmAsmInstructionStart + (505 * 64)
- ldr rIBASE, [rSELF, #offThread_curHandlerTable]
- cmp r3, #0
- bxeq lr @ nothing to do - jump to real handler
- EXPORT_PC()
- mov r0, rPC @ arg0
- mov r1, rFP @ arg1
- mov r2, rSELF @ arg2
- b dvmCheckBefore @ (dPC,dFP,self) tail call
-
-/* ------------------------------ */
- .balign 64
-.L_ALT_OP_SGET_WIDE_VOLATILE_JUMBO: /* 0x1fa */
-/* File: armv5te/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Note that the call to dvmCheckBefore is done as a tail call.
- * rIBASE updates won't be seen until a refresh, and we can tell we have a
- * stale rIBASE if breakFlags==0. Always refresh rIBASE here, and then
- * bail to the real handler if breakFlags==0.
- */
- ldrb r3, [rSELF, #offThread_breakFlags]
- adrl lr, dvmAsmInstructionStart + (506 * 64)
- ldr rIBASE, [rSELF, #offThread_curHandlerTable]
- cmp r3, #0
- bxeq lr @ nothing to do - jump to real handler
- EXPORT_PC()
- mov r0, rPC @ arg0
- mov r1, rFP @ arg1
- mov r2, rSELF @ arg2
- b dvmCheckBefore @ (dPC,dFP,self) tail call
-
-/* ------------------------------ */
- .balign 64
-.L_ALT_OP_SGET_OBJECT_VOLATILE_JUMBO: /* 0x1fb */
-/* File: armv5te/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Note that the call to dvmCheckBefore is done as a tail call.
- * rIBASE updates won't be seen until a refresh, and we can tell we have a
- * stale rIBASE if breakFlags==0. Always refresh rIBASE here, and then
- * bail to the real handler if breakFlags==0.
- */
- ldrb r3, [rSELF, #offThread_breakFlags]
- adrl lr, dvmAsmInstructionStart + (507 * 64)
- ldr rIBASE, [rSELF, #offThread_curHandlerTable]
- cmp r3, #0
- bxeq lr @ nothing to do - jump to real handler
- EXPORT_PC()
- mov r0, rPC @ arg0
- mov r1, rFP @ arg1
- mov r2, rSELF @ arg2
- b dvmCheckBefore @ (dPC,dFP,self) tail call
-
-/* ------------------------------ */
- .balign 64
-.L_ALT_OP_SPUT_VOLATILE_JUMBO: /* 0x1fc */
-/* File: armv5te/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Note that the call to dvmCheckBefore is done as a tail call.
- * rIBASE updates won't be seen until a refresh, and we can tell we have a
- * stale rIBASE if breakFlags==0. Always refresh rIBASE here, and then
- * bail to the real handler if breakFlags==0.
- */
- ldrb r3, [rSELF, #offThread_breakFlags]
- adrl lr, dvmAsmInstructionStart + (508 * 64)
- ldr rIBASE, [rSELF, #offThread_curHandlerTable]
- cmp r3, #0
- bxeq lr @ nothing to do - jump to real handler
- EXPORT_PC()
- mov r0, rPC @ arg0
- mov r1, rFP @ arg1
- mov r2, rSELF @ arg2
- b dvmCheckBefore @ (dPC,dFP,self) tail call
-
-/* ------------------------------ */
- .balign 64
-.L_ALT_OP_SPUT_WIDE_VOLATILE_JUMBO: /* 0x1fd */
-/* File: armv5te/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Note that the call to dvmCheckBefore is done as a tail call.
- * rIBASE updates won't be seen until a refresh, and we can tell we have a
- * stale rIBASE if breakFlags==0. Always refresh rIBASE here, and then
- * bail to the real handler if breakFlags==0.
- */
- ldrb r3, [rSELF, #offThread_breakFlags]
- adrl lr, dvmAsmInstructionStart + (509 * 64)
- ldr rIBASE, [rSELF, #offThread_curHandlerTable]
- cmp r3, #0
- bxeq lr @ nothing to do - jump to real handler
- EXPORT_PC()
- mov r0, rPC @ arg0
- mov r1, rFP @ arg1
- mov r2, rSELF @ arg2
- b dvmCheckBefore @ (dPC,dFP,self) tail call
-
-/* ------------------------------ */
- .balign 64
-.L_ALT_OP_SPUT_OBJECT_VOLATILE_JUMBO: /* 0x1fe */
-/* File: armv5te/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Note that the call to dvmCheckBefore is done as a tail call.
- * rIBASE updates won't be seen until a refresh, and we can tell we have a
- * stale rIBASE if breakFlags==0. Always refresh rIBASE here, and then
- * bail to the real handler if breakFlags==0.
- */
- ldrb r3, [rSELF, #offThread_breakFlags]
- adrl lr, dvmAsmInstructionStart + (510 * 64)
- ldr rIBASE, [rSELF, #offThread_curHandlerTable]
- cmp r3, #0
- bxeq lr @ nothing to do - jump to real handler
- EXPORT_PC()
- mov r0, rPC @ arg0
- mov r1, rFP @ arg1
- mov r2, rSELF @ arg2
- b dvmCheckBefore @ (dPC,dFP,self) tail call
-
-/* ------------------------------ */
- .balign 64
-.L_ALT_OP_THROW_VERIFICATION_ERROR_JUMBO: /* 0x1ff */
-/* File: armv5te/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Note that the call to dvmCheckBefore is done as a tail call.
- * rIBASE updates won't be seen until a refresh, and we can tell we have a
- * stale rIBASE if breakFlags==0. Always refresh rIBASE here, and then
- * bail to the real handler if breakFlags==0.
- */
- ldrb r3, [rSELF, #offThread_breakFlags]
- adrl lr, dvmAsmInstructionStart + (511 * 64)
+ adrl lr, dvmAsmInstructionStart + (255 * 64)
ldr rIBASE, [rSELF, #offThread_curHandlerTable]
cmp r3, #0
bxeq lr @ nothing to do - jump to real handler
@@ -26631,35 +16046,6 @@ save_callsiteinfo:
#endif
/*
- * Common code for jumbo method invocation.
- * NOTE: this adjusts rPC to account for the difference in instruction width.
- * As a result, the savedPc in the stack frame will not be wholly accurate. So
- * long as that is only used for source file line number calculations, we're
- * okay.
- */
-common_invokeMethodJumboNoThis:
-#if defined(WITH_JIT)
- /* On entry: r0 is "Method* methodToCall */
- mov r9, #0 @ clear "this"
-#endif
-common_invokeMethodJumbo:
- /* On entry: r0 is "Method* methodToCall, r9 is "this" */
-.LinvokeNewJumbo:
-#if defined(WITH_JIT)
- ldrh r1, [rSELF, #offThread_subMode]
- ands r1, #kSubModeJitTraceBuild
- blne save_callsiteinfo
-#endif
- @ prepare to copy args to "outs" area of current frame
- add rPC, rPC, #4 @ adjust pc to make return consistent
- FETCH(r2, 1) @ r2<- BBBB (arg count)
- SAVEAREA_FROM_FP(r10, rFP) @ r10<- stack save area
- cmp r2, #0 @ no args?
- beq .LinvokeArgsDone @ if no args, skip the rest
- FETCH(r1, 2) @ r1<- CCCC
- b .LinvokeRangeArgs @ handle args like invoke range
-
-/*
* Common code for method invocation with range.
*
* On entry:
diff --git a/vm/mterp/out/InterpAsm-armv7-a.S b/vm/mterp/out/InterpAsm-armv7-a.S
index e8a95010a..c9ebb1d7b 100644
--- a/vm/mterp/out/InterpAsm-armv7-a.S
+++ b/vm/mterp/out/InterpAsm-armv7-a.S
@@ -7654,3126 +7654,12 @@ dalvik_inst:
/* ------------------------------ */
.balign 64
-.L_OP_DISPATCH_FF: /* 0xff */
-/* File: armv5te/OP_DISPATCH_FF.S */
- mov ip, rINST, lsr #8 @ ip<- extended opcode
- add ip, ip, #256 @ add offset for extended opcodes
- GOTO_OPCODE(ip) @ go to proper extended handler
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_CONST_CLASS_JUMBO: /* 0x100 */
-/* File: armv5te/OP_CONST_CLASS_JUMBO.S */
- /* const-class/jumbo vBBBB, Class@AAAAAAAA */
- FETCH(r0, 1) @ r0<- aaaa (lo)
- ldr r2, [rSELF, #offThread_methodClassDex] @ r2<-self>methodClassDex
- FETCH(r1, 2) @ r1<- AAAA (hi)
- ldr r2, [r2, #offDvmDex_pResClasses] @ r2<- dvmDex->pResClasses
- orr r1, r0, r1, lsl #16 @ r1<- AAAAaaaa
- FETCH(r9, 3) @ r9<- BBBB
- ldr r0, [r2, r1, lsl #2] @ r0<- pResClasses[AAAAaaaa]
- cmp r0, #0 @ not yet resolved?
- beq .LOP_CONST_CLASS_JUMBO_resolve
- FETCH_ADVANCE_INST(4) @ advance rPC, load rINST
- GET_INST_OPCODE(ip) @ extract opcode from rINST
- SET_VREG(r0, r9) @ vBBBB<- r0
- GOTO_OPCODE(ip) @ jump to next instruction
-
-/* ------------------------------ */
- .balign 64
-.L_OP_CHECK_CAST_JUMBO: /* 0x101 */
-/* File: armv5te/OP_CHECK_CAST_JUMBO.S */
- /*
- * Check to see if a cast from one class to another is allowed.
- */
- /* check-cast/jumbo vBBBB, class@AAAAAAAA */
- FETCH(r0, 1) @ r0<- aaaa (lo)
- FETCH(r2, 2) @ r2<- AAAA (hi)
- FETCH(r3, 3) @ r3<- BBBB
- orr r2, r0, r2, lsl #16 @ r2<- AAAAaaaa
- GET_VREG(r9, r3) @ r9<- object
- ldr r0, [rSELF, #offThread_methodClassDex] @ r0<- pDvmDex
- cmp r9, #0 @ is object null?
- ldr r0, [r0, #offDvmDex_pResClasses] @ r0<- pDvmDex->pResClasses
- beq .LOP_CHECK_CAST_JUMBO_okay @ null obj, cast always succeeds
- ldr r1, [r0, r2, lsl #2] @ r1<- resolved class
- ldr r0, [r9, #offObject_clazz] @ r0<- obj->clazz
- cmp r1, #0 @ have we resolved this before?
- beq .LOP_CHECK_CAST_JUMBO_resolve @ not resolved, do it now
-.LOP_CHECK_CAST_JUMBO_resolved:
- cmp r0, r1 @ same class (trivial success)?
- bne .LOP_CHECK_CAST_JUMBO_fullcheck @ no, do full check
- b .LOP_CHECK_CAST_JUMBO_okay @ yes, finish up
-
-/* ------------------------------ */
- .balign 64
-.L_OP_INSTANCE_OF_JUMBO: /* 0x102 */
-/* File: armv5te/OP_INSTANCE_OF_JUMBO.S */
- /*
- * Check to see if an object reference is an instance of a class.
- *
- * Most common situation is a non-null object, being compared against
- * an already-resolved class.
- *
- * TODO: convert most of this into a common subroutine, shared with
- * OP_INSTANCE_OF.S.
- */
- /* instance-of/jumbo vBBBB, vCCCC, class@AAAAAAAA */
- FETCH(r3, 4) @ r3<- vCCCC
- FETCH(r9, 3) @ r9<- vBBBB
- GET_VREG(r0, r3) @ r0<- vCCCC (object)
- ldr r2, [rSELF, #offThread_methodClassDex] @ r2<- pDvmDex
- cmp r0, #0 @ is object null?
- beq .LOP_INSTANCE_OF_JUMBO_store @ null obj, not an instance, store r0
- FETCH(r1, 1) @ r1<- aaaa (lo)
- FETCH(r3, 2) @ r3<- AAAA (hi)
- ldr r2, [r2, #offDvmDex_pResClasses] @ r2<- pDvmDex->pResClasses
- orr r3, r1, r3, lsl #16 @ r3<- AAAAaaaa
- ldr r1, [r2, r3, lsl #2] @ r1<- resolved class
- ldr r0, [r0, #offObject_clazz] @ r0<- obj->clazz
- cmp r1, #0 @ have we resolved this before?
- beq .LOP_INSTANCE_OF_JUMBO_resolve @ not resolved, do it now
- b .LOP_INSTANCE_OF_JUMBO_resolved @ resolved, continue
-
-/* ------------------------------ */
- .balign 64
-.L_OP_NEW_INSTANCE_JUMBO: /* 0x103 */
-/* File: armv5te/OP_NEW_INSTANCE_JUMBO.S */
- /*
- * Create a new instance of a class.
- */
- /* new-instance/jumbo vBBBB, class@AAAAAAAA */
- FETCH(r0, 1) @ r0<- aaaa (lo)
- FETCH(r1, 2) @ r1<- AAAA (hi)
- ldr r3, [rSELF, #offThread_methodClassDex] @ r3<- pDvmDex
- orr r1, r0, r1, lsl #16 @ r1<- AAAAaaaa
- ldr r3, [r3, #offDvmDex_pResClasses] @ r3<- pDvmDex->pResClasses
- ldr r0, [r3, r1, lsl #2] @ r0<- resolved class
-#if defined(WITH_JIT)
- add r10, r3, r1, lsl #2 @ r10<- &resolved_class
-#endif
- EXPORT_PC() @ req'd for init, resolve, alloc
- cmp r0, #0 @ already resolved?
- beq .LOP_NEW_INSTANCE_JUMBO_resolve @ no, resolve it now
-.LOP_NEW_INSTANCE_JUMBO_resolved: @ r0=class
- ldrb r1, [r0, #offClassObject_status] @ r1<- ClassStatus enum
- cmp r1, #CLASS_INITIALIZED @ has class been initialized?
- bne .LOP_NEW_INSTANCE_JUMBO_needinit @ no, init class now
-.LOP_NEW_INSTANCE_JUMBO_initialized: @ r0=class
- mov r1, #ALLOC_DONT_TRACK @ flags for alloc call
- bl dvmAllocObject @ r0<- new object
- b .LOP_NEW_INSTANCE_JUMBO_finish @ continue
-
-/* ------------------------------ */
- .balign 64
-.L_OP_NEW_ARRAY_JUMBO: /* 0x104 */
-/* File: armv5te/OP_NEW_ARRAY_JUMBO.S */
- /*
- * Allocate an array of objects, specified with the array class
- * and a count.
- *
- * The verifier guarantees that this is an array class, so we don't
- * check for it here.
- */
- /* new-array/jumbo vBBBB, vCCCC, class@AAAAAAAA */
- FETCH(r2, 1) @ r2<- aaaa (lo)
- FETCH(r3, 2) @ r3<- AAAA (hi)
- FETCH(r0, 4) @ r0<- vCCCC
- orr r2, r2, r3, lsl #16 @ r2<- AAAAaaaa
- ldr r3, [rSELF, #offThread_methodClassDex] @ r3<- pDvmDex
- GET_VREG(r1, r0) @ r1<- vCCCC (array length)
- ldr r3, [r3, #offDvmDex_pResClasses] @ r3<- pDvmDex->pResClasses
- cmp r1, #0 @ check length
- ldr r0, [r3, r2, lsl #2] @ r0<- resolved class
- bmi common_errNegativeArraySize @ negative length, bail - len in r1
- cmp r0, #0 @ already resolved?
- EXPORT_PC() @ req'd for resolve, alloc
- bne .LOP_NEW_ARRAY_JUMBO_finish @ resolved, continue
- b .LOP_NEW_ARRAY_JUMBO_resolve @ do resolve now
-
-/* ------------------------------ */
- .balign 64
-.L_OP_FILLED_NEW_ARRAY_JUMBO: /* 0x105 */
-/* File: armv5te/OP_FILLED_NEW_ARRAY_JUMBO.S */
- /*
- * Create a new array with elements filled from registers.
- *
- * TODO: convert most of this into a common subroutine, shared with
- * OP_FILLED_NEW_ARRAY.S.
- */
- /* filled-new-array/jumbo {vCCCC..v(CCCC+BBBB-1)}, type@AAAAAAAA */
- ldr r3, [rSELF, #offThread_methodClassDex] @ r3<- pDvmDex
- FETCH(r0, 1) @ r0<- aaaa (lo)
- FETCH(r1, 2) @ r1<- AAAA (hi)
- ldr r3, [r3, #offDvmDex_pResClasses] @ r3<- pDvmDex->pResClasses
- orr r1, r0, r1, lsl #16 @ r1<- AAAAaaaa
- ldr r0, [r3, r1, lsl #2] @ r0<- resolved class
- EXPORT_PC() @ need for resolve and alloc
- cmp r0, #0 @ already resolved?
- bne .LOP_FILLED_NEW_ARRAY_JUMBO_continue @ yes, continue on
-8: ldr r3, [rSELF, #offThread_method] @ r3<- self->method
- mov r2, #0 @ r2<- false
- ldr r0, [r3, #offMethod_clazz] @ r0<- method->clazz
- bl dvmResolveClass @ r0<- call(clazz, ref)
- cmp r0, #0 @ got null?
- beq common_exceptionThrown @ yes, handle exception
- b .LOP_FILLED_NEW_ARRAY_JUMBO_continue
-
-/* ------------------------------ */
- .balign 64
-.L_OP_IGET_JUMBO: /* 0x106 */
-/* File: armv5te/OP_IGET_JUMBO.S */
- /*
- * Jumbo 32-bit instance field get.
- *
- * for: iget/jumbo, iget-object/jumbo, iget-boolean/jumbo, iget-byte/jumbo,
- * iget-char/jumbo, iget-short/jumbo
- */
- /* exop vBBBB, vCCCC, field@AAAAAAAA */
- FETCH(r1, 1) @ r1<- aaaa (lo)
- FETCH(r2, 2) @ r2<- AAAA (hi)
- FETCH(r0, 4) @ r0<- CCCC
- ldr r3, [rSELF, #offThread_methodClassDex] @ r3<- DvmDex
- orr r1, r1, r2, lsl #16 @ r1<- AAAAaaaa
- ldr r2, [r3, #offDvmDex_pResFields] @ r2<- pDvmDex->pResFields
- GET_VREG(r9, r0) @ r9<- fp[CCCC], the object pointer
- ldr r0, [r2, r1, lsl #2] @ r0<- resolved InstField ptr
- cmp r0, #0 @ is resolved entry null?
- bne .LOP_IGET_JUMBO_finish @ no, already resolved
-8: ldr r2, [rSELF, #offThread_method] @ r2<- current method
- EXPORT_PC() @ resolve() could throw
- ldr r0, [r2, #offMethod_clazz] @ r0<- method->clazz
- bl dvmResolveInstField @ r0<- resolved InstField ptr
- b .LOP_IGET_JUMBO_resolved @ resolved, continue
-
-/* ------------------------------ */
- .balign 64
-.L_OP_IGET_WIDE_JUMBO: /* 0x107 */
-/* File: armv5te/OP_IGET_WIDE_JUMBO.S */
- /*
- * Jumbo 64-bit instance field get.
- */
- /* iget-wide/jumbo vBBBB, vCCCC, field@AAAAAAAA */
- FETCH(r1, 1) @ r1<- aaaa (lo)
- FETCH(r2, 2) @ r2<- AAAA (hi)
- FETCH(r0, 4) @ r0<- CCCC
- ldr r3, [rSELF, #offThread_methodClassDex] @ r3<- DvmDex
- orr r1, r1, r2, lsl #16 @ r1<- AAAAaaaa
- ldr r2, [r3, #offDvmDex_pResFields] @ r2<- pResFields
- GET_VREG(r9, r0) @ r9<- fp[CCCC], the object pointer
- ldr r0, [r2, r1, lsl #2] @ r0<- resolved InstField ptr
- cmp r0, #0 @ is resolved entry null?
- bne .LOP_IGET_WIDE_JUMBO_finish @ no, already resolved
- ldr r2, [rSELF, #offThread_method] @ r2<- current method
- EXPORT_PC() @ resolve() could throw
- ldr r0, [r2, #offMethod_clazz] @ r0<- method->clazz
- bl dvmResolveInstField @ r0<- resolved InstField ptr
- b .LOP_IGET_WIDE_JUMBO_resolved @ resolved, continue
-
-/* ------------------------------ */
- .balign 64
-.L_OP_IGET_OBJECT_JUMBO: /* 0x108 */
-/* File: armv5te/OP_IGET_OBJECT_JUMBO.S */
-/* File: armv5te/OP_IGET_JUMBO.S */
- /*
- * Jumbo 32-bit instance field get.
- *
- * for: iget/jumbo, iget-object/jumbo, iget-boolean/jumbo, iget-byte/jumbo,
- * iget-char/jumbo, iget-short/jumbo
- */
- /* exop vBBBB, vCCCC, field@AAAAAAAA */
- FETCH(r1, 1) @ r1<- aaaa (lo)
- FETCH(r2, 2) @ r2<- AAAA (hi)
- FETCH(r0, 4) @ r0<- CCCC
- ldr r3, [rSELF, #offThread_methodClassDex] @ r3<- DvmDex
- orr r1, r1, r2, lsl #16 @ r1<- AAAAaaaa
- ldr r2, [r3, #offDvmDex_pResFields] @ r2<- pDvmDex->pResFields
- GET_VREG(r9, r0) @ r9<- fp[CCCC], the object pointer
- ldr r0, [r2, r1, lsl #2] @ r0<- resolved InstField ptr
- cmp r0, #0 @ is resolved entry null?
- bne .LOP_IGET_OBJECT_JUMBO_finish @ no, already resolved
-8: ldr r2, [rSELF, #offThread_method] @ r2<- current method
- EXPORT_PC() @ resolve() could throw
- ldr r0, [r2, #offMethod_clazz] @ r0<- method->clazz
- bl dvmResolveInstField @ r0<- resolved InstField ptr
- b .LOP_IGET_OBJECT_JUMBO_resolved @ resolved, continue
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_IGET_BOOLEAN_JUMBO: /* 0x109 */
-/* File: armv5te/OP_IGET_BOOLEAN_JUMBO.S */
-@include "armv5te/OP_IGET_JUMBO.S" { "load":"ldrb", "sqnum":"1" }
-/* File: armv5te/OP_IGET_JUMBO.S */
- /*
- * Jumbo 32-bit instance field get.
- *
- * for: iget/jumbo, iget-object/jumbo, iget-boolean/jumbo, iget-byte/jumbo,
- * iget-char/jumbo, iget-short/jumbo
- */
- /* exop vBBBB, vCCCC, field@AAAAAAAA */
- FETCH(r1, 1) @ r1<- aaaa (lo)
- FETCH(r2, 2) @ r2<- AAAA (hi)
- FETCH(r0, 4) @ r0<- CCCC
- ldr r3, [rSELF, #offThread_methodClassDex] @ r3<- DvmDex
- orr r1, r1, r2, lsl #16 @ r1<- AAAAaaaa
- ldr r2, [r3, #offDvmDex_pResFields] @ r2<- pDvmDex->pResFields
- GET_VREG(r9, r0) @ r9<- fp[CCCC], the object pointer
- ldr r0, [r2, r1, lsl #2] @ r0<- resolved InstField ptr
- cmp r0, #0 @ is resolved entry null?
- bne .LOP_IGET_BOOLEAN_JUMBO_finish @ no, already resolved
-8: ldr r2, [rSELF, #offThread_method] @ r2<- current method
- EXPORT_PC() @ resolve() could throw
- ldr r0, [r2, #offMethod_clazz] @ r0<- method->clazz
- bl dvmResolveInstField @ r0<- resolved InstField ptr
- b .LOP_IGET_BOOLEAN_JUMBO_resolved @ resolved, continue
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_IGET_BYTE_JUMBO: /* 0x10a */
-/* File: armv5te/OP_IGET_BYTE_JUMBO.S */
-@include "armv5te/OP_IGET_JUMBO.S" { "load":"ldrsb", "sqnum":"2" }
-/* File: armv5te/OP_IGET_JUMBO.S */
- /*
- * Jumbo 32-bit instance field get.
- *
- * for: iget/jumbo, iget-object/jumbo, iget-boolean/jumbo, iget-byte/jumbo,
- * iget-char/jumbo, iget-short/jumbo
- */
- /* exop vBBBB, vCCCC, field@AAAAAAAA */
- FETCH(r1, 1) @ r1<- aaaa (lo)
- FETCH(r2, 2) @ r2<- AAAA (hi)
- FETCH(r0, 4) @ r0<- CCCC
- ldr r3, [rSELF, #offThread_methodClassDex] @ r3<- DvmDex
- orr r1, r1, r2, lsl #16 @ r1<- AAAAaaaa
- ldr r2, [r3, #offDvmDex_pResFields] @ r2<- pDvmDex->pResFields
- GET_VREG(r9, r0) @ r9<- fp[CCCC], the object pointer
- ldr r0, [r2, r1, lsl #2] @ r0<- resolved InstField ptr
- cmp r0, #0 @ is resolved entry null?
- bne .LOP_IGET_BYTE_JUMBO_finish @ no, already resolved
-8: ldr r2, [rSELF, #offThread_method] @ r2<- current method
- EXPORT_PC() @ resolve() could throw
- ldr r0, [r2, #offMethod_clazz] @ r0<- method->clazz
- bl dvmResolveInstField @ r0<- resolved InstField ptr
- b .LOP_IGET_BYTE_JUMBO_resolved @ resolved, continue
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_IGET_CHAR_JUMBO: /* 0x10b */
-/* File: armv5te/OP_IGET_CHAR_JUMBO.S */
-@include "armv5te/OP_IGET_JUMBO.S" { "load":"ldrh", "sqnum":"3" }
-/* File: armv5te/OP_IGET_JUMBO.S */
- /*
- * Jumbo 32-bit instance field get.
- *
- * for: iget/jumbo, iget-object/jumbo, iget-boolean/jumbo, iget-byte/jumbo,
- * iget-char/jumbo, iget-short/jumbo
- */
- /* exop vBBBB, vCCCC, field@AAAAAAAA */
- FETCH(r1, 1) @ r1<- aaaa (lo)
- FETCH(r2, 2) @ r2<- AAAA (hi)
- FETCH(r0, 4) @ r0<- CCCC
- ldr r3, [rSELF, #offThread_methodClassDex] @ r3<- DvmDex
- orr r1, r1, r2, lsl #16 @ r1<- AAAAaaaa
- ldr r2, [r3, #offDvmDex_pResFields] @ r2<- pDvmDex->pResFields
- GET_VREG(r9, r0) @ r9<- fp[CCCC], the object pointer
- ldr r0, [r2, r1, lsl #2] @ r0<- resolved InstField ptr
- cmp r0, #0 @ is resolved entry null?
- bne .LOP_IGET_CHAR_JUMBO_finish @ no, already resolved
-8: ldr r2, [rSELF, #offThread_method] @ r2<- current method
- EXPORT_PC() @ resolve() could throw
- ldr r0, [r2, #offMethod_clazz] @ r0<- method->clazz
- bl dvmResolveInstField @ r0<- resolved InstField ptr
- b .LOP_IGET_CHAR_JUMBO_resolved @ resolved, continue
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_IGET_SHORT_JUMBO: /* 0x10c */
-/* File: armv5te/OP_IGET_SHORT_JUMBO.S */
-@include "armv5te/OP_IGET_JUMBO.S" { "load":"ldrsh", "sqnum":"4" }
-/* File: armv5te/OP_IGET_JUMBO.S */
- /*
- * Jumbo 32-bit instance field get.
- *
- * for: iget/jumbo, iget-object/jumbo, iget-boolean/jumbo, iget-byte/jumbo,
- * iget-char/jumbo, iget-short/jumbo
- */
- /* exop vBBBB, vCCCC, field@AAAAAAAA */
- FETCH(r1, 1) @ r1<- aaaa (lo)
- FETCH(r2, 2) @ r2<- AAAA (hi)
- FETCH(r0, 4) @ r0<- CCCC
- ldr r3, [rSELF, #offThread_methodClassDex] @ r3<- DvmDex
- orr r1, r1, r2, lsl #16 @ r1<- AAAAaaaa
- ldr r2, [r3, #offDvmDex_pResFields] @ r2<- pDvmDex->pResFields
- GET_VREG(r9, r0) @ r9<- fp[CCCC], the object pointer
- ldr r0, [r2, r1, lsl #2] @ r0<- resolved InstField ptr
- cmp r0, #0 @ is resolved entry null?
- bne .LOP_IGET_SHORT_JUMBO_finish @ no, already resolved
-8: ldr r2, [rSELF, #offThread_method] @ r2<- current method
- EXPORT_PC() @ resolve() could throw
- ldr r0, [r2, #offMethod_clazz] @ r0<- method->clazz
- bl dvmResolveInstField @ r0<- resolved InstField ptr
- b .LOP_IGET_SHORT_JUMBO_resolved @ resolved, continue
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_IPUT_JUMBO: /* 0x10d */
-/* File: armv5te/OP_IPUT_JUMBO.S */
- /*
- * Jumbo 32-bit instance field put.
- *
- * for: iput/jumbo, iput-boolean/jumbo, iput-byte/jumbo, iput-char/jumbo,
- * iput-short/jumbo
- */
- /* exop vBBBB, vCCCC, field@AAAAAAAA */
- FETCH(r1, 1) @ r1<- aaaa (lo)
- FETCH(r2, 2) @ r2<- AAAA (hi)
- FETCH(r0, 4) @ r0<- CCCC
- ldr r3, [rSELF, #offThread_methodClassDex] @ r3<- DvmDex
- orr r1, r1, r2, lsl #16 @ r1<- AAAAaaaa
- ldr r2, [r3, #offDvmDex_pResFields] @ r2<- pDvmDex->pResFields
- GET_VREG(r9, r0) @ r9<- fp[CCCC], the object pointer
- ldr r0, [r2, r1, lsl #2] @ r0<- resolved InstField ptr
- cmp r0, #0 @ is resolved entry null?
- bne .LOP_IPUT_JUMBO_finish @ no, already resolved
-8: ldr r2, [rSELF, #offThread_method] @ r2<- current method
- EXPORT_PC() @ resolve() could throw
- ldr r0, [r2, #offMethod_clazz] @ r0<- method->clazz
- bl dvmResolveInstField @ r0<- resolved InstField ptr
- b .LOP_IPUT_JUMBO_resolved @ resolved, continue
-
-/* ------------------------------ */
- .balign 64
-.L_OP_IPUT_WIDE_JUMBO: /* 0x10e */
-/* File: armv5te/OP_IPUT_WIDE_JUMBO.S */
- /* iput-wide/jumbo vBBBB, vCCCC, field@AAAAAAAA */
- FETCH(r1, 1) @ r1<- aaaa (lo)
- FETCH(r2, 2) @ r2<- AAAA (hi)
- FETCH(r0, 4) @ r0<- CCCC
- ldr r3, [rSELF, #offThread_methodClassDex] @ r3<- DvmDex
- orr r1, r1, r2, lsl #16 @ r1<- AAAAaaaa
- ldr r2, [r3, #offDvmDex_pResFields] @ r2<- pResFields
- GET_VREG(r9, r0) @ r9<- fp[B], the object pointer
- ldr r0, [r2, r1, lsl #2] @ r0<- resolved InstField ptr
- cmp r0, #0 @ is resolved entry null?
- bne .LOP_IPUT_WIDE_JUMBO_finish @ no, already resolved
-8: ldr r2, [rSELF, #offThread_method] @ r2<- current method
- EXPORT_PC() @ resolve() could throw
- ldr r0, [r2, #offMethod_clazz] @ r0<- method->clazz
- bl dvmResolveInstField @ r0<- resolved InstField ptr
- b .LOP_IPUT_WIDE_JUMBO_resolved @ resolved, continue
-
-/* ------------------------------ */
- .balign 64
-.L_OP_IPUT_OBJECT_JUMBO: /* 0x10f */
-/* File: armv5te/OP_IPUT_OBJECT_JUMBO.S */
- /*
- * Jumbo 32-bit instance field put.
- */
- /* iput-object/jumbo vBBBB, vCCCC, field@AAAAAAAA */
- FETCH(r1, 1) @ r1<- aaaa (lo)
- FETCH(r2, 2) @ r2<- AAAA (hi)
- FETCH(r0, 4) @ r0<- CCCC
- ldr r3, [rSELF, #offThread_methodClassDex] @ r3<- DvmDex
- orr r1, r1, r2, lsl #16 @ r1<- AAAAaaaa
- ldr r2, [r3, #offDvmDex_pResFields] @ r2<- pDvmDex->pResFields
- GET_VREG(r9, r0) @ r9<- fp[CCCC], the object pointer
- ldr r0, [r2, r1, lsl #2] @ r0<- resolved InstField ptr
- cmp r0, #0 @ is resolved entry null?
- bne .LOP_IPUT_OBJECT_JUMBO_finish @ no, already resolved
-8: ldr r2, [rSELF, #offThread_method] @ r2<- current method
- EXPORT_PC() @ resolve() could throw
- ldr r0, [r2, #offMethod_clazz] @ r0<- method->clazz
- bl dvmResolveInstField @ r0<- resolved InstField ptr
- b .LOP_IPUT_OBJECT_JUMBO_resolved @ resolved, continue
-
-/* ------------------------------ */
- .balign 64
-.L_OP_IPUT_BOOLEAN_JUMBO: /* 0x110 */
-/* File: armv5te/OP_IPUT_BOOLEAN_JUMBO.S */
-@include "armv5te/OP_IPUT_JUMBO.S" { "store":"strb", "sqnum":"1" }
-/* File: armv5te/OP_IPUT_JUMBO.S */
- /*
- * Jumbo 32-bit instance field put.
- *
- * for: iput/jumbo, iput-boolean/jumbo, iput-byte/jumbo, iput-char/jumbo,
- * iput-short/jumbo
- */
- /* exop vBBBB, vCCCC, field@AAAAAAAA */
- FETCH(r1, 1) @ r1<- aaaa (lo)
- FETCH(r2, 2) @ r2<- AAAA (hi)
- FETCH(r0, 4) @ r0<- CCCC
- ldr r3, [rSELF, #offThread_methodClassDex] @ r3<- DvmDex
- orr r1, r1, r2, lsl #16 @ r1<- AAAAaaaa
- ldr r2, [r3, #offDvmDex_pResFields] @ r2<- pDvmDex->pResFields
- GET_VREG(r9, r0) @ r9<- fp[CCCC], the object pointer
- ldr r0, [r2, r1, lsl #2] @ r0<- resolved InstField ptr
- cmp r0, #0 @ is resolved entry null?
- bne .LOP_IPUT_BOOLEAN_JUMBO_finish @ no, already resolved
-8: ldr r2, [rSELF, #offThread_method] @ r2<- current method
- EXPORT_PC() @ resolve() could throw
- ldr r0, [r2, #offMethod_clazz] @ r0<- method->clazz
- bl dvmResolveInstField @ r0<- resolved InstField ptr
- b .LOP_IPUT_BOOLEAN_JUMBO_resolved @ resolved, continue
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_IPUT_BYTE_JUMBO: /* 0x111 */
-/* File: armv5te/OP_IPUT_BYTE_JUMBO.S */
-@include "armv5te/OP_IPUT_JUMBO.S" { "store":"strb", "sqnum":"2" }
-/* File: armv5te/OP_IPUT_JUMBO.S */
- /*
- * Jumbo 32-bit instance field put.
- *
- * for: iput/jumbo, iput-boolean/jumbo, iput-byte/jumbo, iput-char/jumbo,
- * iput-short/jumbo
- */
- /* exop vBBBB, vCCCC, field@AAAAAAAA */
- FETCH(r1, 1) @ r1<- aaaa (lo)
- FETCH(r2, 2) @ r2<- AAAA (hi)
- FETCH(r0, 4) @ r0<- CCCC
- ldr r3, [rSELF, #offThread_methodClassDex] @ r3<- DvmDex
- orr r1, r1, r2, lsl #16 @ r1<- AAAAaaaa
- ldr r2, [r3, #offDvmDex_pResFields] @ r2<- pDvmDex->pResFields
- GET_VREG(r9, r0) @ r9<- fp[CCCC], the object pointer
- ldr r0, [r2, r1, lsl #2] @ r0<- resolved InstField ptr
- cmp r0, #0 @ is resolved entry null?
- bne .LOP_IPUT_BYTE_JUMBO_finish @ no, already resolved
-8: ldr r2, [rSELF, #offThread_method] @ r2<- current method
- EXPORT_PC() @ resolve() could throw
- ldr r0, [r2, #offMethod_clazz] @ r0<- method->clazz
- bl dvmResolveInstField @ r0<- resolved InstField ptr
- b .LOP_IPUT_BYTE_JUMBO_resolved @ resolved, continue
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_IPUT_CHAR_JUMBO: /* 0x112 */
-/* File: armv5te/OP_IPUT_CHAR_JUMBO.S */
-@include "armv5te/OP_IPUT_JUMBO.S" { "store":"strh", "sqnum":"3" }
-/* File: armv5te/OP_IPUT_JUMBO.S */
- /*
- * Jumbo 32-bit instance field put.
- *
- * for: iput/jumbo, iput-boolean/jumbo, iput-byte/jumbo, iput-char/jumbo,
- * iput-short/jumbo
- */
- /* exop vBBBB, vCCCC, field@AAAAAAAA */
- FETCH(r1, 1) @ r1<- aaaa (lo)
- FETCH(r2, 2) @ r2<- AAAA (hi)
- FETCH(r0, 4) @ r0<- CCCC
- ldr r3, [rSELF, #offThread_methodClassDex] @ r3<- DvmDex
- orr r1, r1, r2, lsl #16 @ r1<- AAAAaaaa
- ldr r2, [r3, #offDvmDex_pResFields] @ r2<- pDvmDex->pResFields
- GET_VREG(r9, r0) @ r9<- fp[CCCC], the object pointer
- ldr r0, [r2, r1, lsl #2] @ r0<- resolved InstField ptr
- cmp r0, #0 @ is resolved entry null?
- bne .LOP_IPUT_CHAR_JUMBO_finish @ no, already resolved
-8: ldr r2, [rSELF, #offThread_method] @ r2<- current method
- EXPORT_PC() @ resolve() could throw
- ldr r0, [r2, #offMethod_clazz] @ r0<- method->clazz
- bl dvmResolveInstField @ r0<- resolved InstField ptr
- b .LOP_IPUT_CHAR_JUMBO_resolved @ resolved, continue
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_IPUT_SHORT_JUMBO: /* 0x113 */
-/* File: armv5te/OP_IPUT_SHORT_JUMBO.S */
-@include "armv5te/OP_IPUT_JUMBO.S" { "store":"strh", "sqnum":"4" }
-/* File: armv5te/OP_IPUT_JUMBO.S */
- /*
- * Jumbo 32-bit instance field put.
- *
- * for: iput/jumbo, iput-boolean/jumbo, iput-byte/jumbo, iput-char/jumbo,
- * iput-short/jumbo
- */
- /* exop vBBBB, vCCCC, field@AAAAAAAA */
- FETCH(r1, 1) @ r1<- aaaa (lo)
- FETCH(r2, 2) @ r2<- AAAA (hi)
- FETCH(r0, 4) @ r0<- CCCC
- ldr r3, [rSELF, #offThread_methodClassDex] @ r3<- DvmDex
- orr r1, r1, r2, lsl #16 @ r1<- AAAAaaaa
- ldr r2, [r3, #offDvmDex_pResFields] @ r2<- pDvmDex->pResFields
- GET_VREG(r9, r0) @ r9<- fp[CCCC], the object pointer
- ldr r0, [r2, r1, lsl #2] @ r0<- resolved InstField ptr
- cmp r0, #0 @ is resolved entry null?
- bne .LOP_IPUT_SHORT_JUMBO_finish @ no, already resolved
-8: ldr r2, [rSELF, #offThread_method] @ r2<- current method
- EXPORT_PC() @ resolve() could throw
- ldr r0, [r2, #offMethod_clazz] @ r0<- method->clazz
- bl dvmResolveInstField @ r0<- resolved InstField ptr
- b .LOP_IPUT_SHORT_JUMBO_resolved @ resolved, continue
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_SGET_JUMBO: /* 0x114 */
-/* File: armv5te/OP_SGET_JUMBO.S */
- /*
- * Jumbo 32-bit SGET handler.
- *
- * for: sget/jumbo, sget-object/jumbo, sget-boolean/jumbo, sget-byte/jumbo,
- * sget-char/jumbo, sget-short/jumbo
- */
- /* exop vBBBB, field@AAAAAAAA */
- ldr r2, [rSELF, #offThread_methodClassDex] @ r2<- DvmDex
- FETCH(r0, 1) @ r0<- aaaa (lo)
- FETCH(r1, 2) @ r1<- AAAA (hi)
- ldr r10, [r2, #offDvmDex_pResFields] @ r10<- dvmDex->pResFields
- orr r1, r0, r1, lsl #16 @ r1<- AAAAaaaa
- ldr r0, [r10, r1, lsl #2] @ r0<- resolved StaticField ptr
- cmp r0, #0 @ is resolved entry null?
- beq .LOP_SGET_JUMBO_resolve @ yes, do resolve
-.LOP_SGET_JUMBO_finish: @ field ptr in r0
- ldr r1, [r0, #offStaticField_value] @ r1<- field value
- @ no-op @ acquiring load
- FETCH(r2, 3) @ r2<- BBBB
- FETCH_ADVANCE_INST(4) @ advance rPC, load rINST
- SET_VREG(r1, r2) @ fp[BBBB]<- r1
- GET_INST_OPCODE(ip) @ extract opcode from rINST
- GOTO_OPCODE(ip) @ jump to next instruction
-
-/* ------------------------------ */
- .balign 64
-.L_OP_SGET_WIDE_JUMBO: /* 0x115 */
-/* File: armv5te/OP_SGET_WIDE_JUMBO.S */
- /*
- * Jumbo 64-bit SGET handler.
- */
- /* sget-wide/jumbo vBBBB, field@AAAAAAAA */
- ldr r2, [rSELF, #offThread_methodClassDex] @ r2<- DvmDex
- FETCH(r0, 1) @ r0<- aaaa (lo)
- FETCH(r1, 2) @ r1<- AAAA (hi)
- ldr r2, [r2, #offDvmDex_pResFields] @ r2<- dvmDex->pResFields
- orr r1, r0, r1, lsl #16 @ r1<- AAAAaaaa
- ldr r0, [r2, r1, lsl #2] @ r0<- resolved StaticField ptr
- cmp r0, #0 @ is resolved entry null?
- beq .LOP_SGET_WIDE_JUMBO_resolve @ yes, do resolve
-.LOP_SGET_WIDE_JUMBO_finish:
- FETCH(r9, 3) @ r9<- BBBB
- .if 0
- add r0, r0, #offStaticField_value @ r0<- pointer to data
- bl dvmQuasiAtomicRead64 @ r0/r1<- contents of field
- .else
- ldrd r0, [r0, #offStaticField_value] @ r0/r1<- field value (aligned)
- .endif
- add r9, rFP, r9, lsl #2 @ r9<- &fp[BBBB]
- FETCH_ADVANCE_INST(4) @ advance rPC, load rINST
- stmia r9, {r0-r1} @ vBBBB/vBBBB+1<- r0/r1
- GET_INST_OPCODE(ip) @ extract opcode from rINST
- GOTO_OPCODE(ip) @ jump to next instruction
-
-/* ------------------------------ */
- .balign 64
-.L_OP_SGET_OBJECT_JUMBO: /* 0x116 */
-/* File: armv5te/OP_SGET_OBJECT_JUMBO.S */
-/* File: armv5te/OP_SGET_JUMBO.S */
- /*
- * Jumbo 32-bit SGET handler.
- *
- * for: sget/jumbo, sget-object/jumbo, sget-boolean/jumbo, sget-byte/jumbo,
- * sget-char/jumbo, sget-short/jumbo
- */
- /* exop vBBBB, field@AAAAAAAA */
- ldr r2, [rSELF, #offThread_methodClassDex] @ r2<- DvmDex
- FETCH(r0, 1) @ r0<- aaaa (lo)
- FETCH(r1, 2) @ r1<- AAAA (hi)
- ldr r10, [r2, #offDvmDex_pResFields] @ r10<- dvmDex->pResFields
- orr r1, r0, r1, lsl #16 @ r1<- AAAAaaaa
- ldr r0, [r10, r1, lsl #2] @ r0<- resolved StaticField ptr
- cmp r0, #0 @ is resolved entry null?
- beq .LOP_SGET_OBJECT_JUMBO_resolve @ yes, do resolve
-.LOP_SGET_OBJECT_JUMBO_finish: @ field ptr in r0
- ldr r1, [r0, #offStaticField_value] @ r1<- field value
- @ no-op @ acquiring load
- FETCH(r2, 3) @ r2<- BBBB
- FETCH_ADVANCE_INST(4) @ advance rPC, load rINST
- SET_VREG(r1, r2) @ fp[BBBB]<- r1
- GET_INST_OPCODE(ip) @ extract opcode from rINST
- GOTO_OPCODE(ip) @ jump to next instruction
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_SGET_BOOLEAN_JUMBO: /* 0x117 */
-/* File: armv5te/OP_SGET_BOOLEAN_JUMBO.S */
-/* File: armv5te/OP_SGET_JUMBO.S */
- /*
- * Jumbo 32-bit SGET handler.
- *
- * for: sget/jumbo, sget-object/jumbo, sget-boolean/jumbo, sget-byte/jumbo,
- * sget-char/jumbo, sget-short/jumbo
- */
- /* exop vBBBB, field@AAAAAAAA */
- ldr r2, [rSELF, #offThread_methodClassDex] @ r2<- DvmDex
- FETCH(r0, 1) @ r0<- aaaa (lo)
- FETCH(r1, 2) @ r1<- AAAA (hi)
- ldr r10, [r2, #offDvmDex_pResFields] @ r10<- dvmDex->pResFields
- orr r1, r0, r1, lsl #16 @ r1<- AAAAaaaa
- ldr r0, [r10, r1, lsl #2] @ r0<- resolved StaticField ptr
- cmp r0, #0 @ is resolved entry null?
- beq .LOP_SGET_BOOLEAN_JUMBO_resolve @ yes, do resolve
-.LOP_SGET_BOOLEAN_JUMBO_finish: @ field ptr in r0
- ldr r1, [r0, #offStaticField_value] @ r1<- field value
- @ no-op @ acquiring load
- FETCH(r2, 3) @ r2<- BBBB
- FETCH_ADVANCE_INST(4) @ advance rPC, load rINST
- SET_VREG(r1, r2) @ fp[BBBB]<- r1
- GET_INST_OPCODE(ip) @ extract opcode from rINST
- GOTO_OPCODE(ip) @ jump to next instruction
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_SGET_BYTE_JUMBO: /* 0x118 */
-/* File: armv5te/OP_SGET_BYTE_JUMBO.S */
-/* File: armv5te/OP_SGET_JUMBO.S */
- /*
- * Jumbo 32-bit SGET handler.
- *
- * for: sget/jumbo, sget-object/jumbo, sget-boolean/jumbo, sget-byte/jumbo,
- * sget-char/jumbo, sget-short/jumbo
- */
- /* exop vBBBB, field@AAAAAAAA */
- ldr r2, [rSELF, #offThread_methodClassDex] @ r2<- DvmDex
- FETCH(r0, 1) @ r0<- aaaa (lo)
- FETCH(r1, 2) @ r1<- AAAA (hi)
- ldr r10, [r2, #offDvmDex_pResFields] @ r10<- dvmDex->pResFields
- orr r1, r0, r1, lsl #16 @ r1<- AAAAaaaa
- ldr r0, [r10, r1, lsl #2] @ r0<- resolved StaticField ptr
- cmp r0, #0 @ is resolved entry null?
- beq .LOP_SGET_BYTE_JUMBO_resolve @ yes, do resolve
-.LOP_SGET_BYTE_JUMBO_finish: @ field ptr in r0
- ldr r1, [r0, #offStaticField_value] @ r1<- field value
- @ no-op @ acquiring load
- FETCH(r2, 3) @ r2<- BBBB
- FETCH_ADVANCE_INST(4) @ advance rPC, load rINST
- SET_VREG(r1, r2) @ fp[BBBB]<- r1
- GET_INST_OPCODE(ip) @ extract opcode from rINST
- GOTO_OPCODE(ip) @ jump to next instruction
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_SGET_CHAR_JUMBO: /* 0x119 */
-/* File: armv5te/OP_SGET_CHAR_JUMBO.S */
-/* File: armv5te/OP_SGET_JUMBO.S */
- /*
- * Jumbo 32-bit SGET handler.
- *
- * for: sget/jumbo, sget-object/jumbo, sget-boolean/jumbo, sget-byte/jumbo,
- * sget-char/jumbo, sget-short/jumbo
- */
- /* exop vBBBB, field@AAAAAAAA */
- ldr r2, [rSELF, #offThread_methodClassDex] @ r2<- DvmDex
- FETCH(r0, 1) @ r0<- aaaa (lo)
- FETCH(r1, 2) @ r1<- AAAA (hi)
- ldr r10, [r2, #offDvmDex_pResFields] @ r10<- dvmDex->pResFields
- orr r1, r0, r1, lsl #16 @ r1<- AAAAaaaa
- ldr r0, [r10, r1, lsl #2] @ r0<- resolved StaticField ptr
- cmp r0, #0 @ is resolved entry null?
- beq .LOP_SGET_CHAR_JUMBO_resolve @ yes, do resolve
-.LOP_SGET_CHAR_JUMBO_finish: @ field ptr in r0
- ldr r1, [r0, #offStaticField_value] @ r1<- field value
- @ no-op @ acquiring load
- FETCH(r2, 3) @ r2<- BBBB
- FETCH_ADVANCE_INST(4) @ advance rPC, load rINST
- SET_VREG(r1, r2) @ fp[BBBB]<- r1
- GET_INST_OPCODE(ip) @ extract opcode from rINST
- GOTO_OPCODE(ip) @ jump to next instruction
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_SGET_SHORT_JUMBO: /* 0x11a */
-/* File: armv5te/OP_SGET_SHORT_JUMBO.S */
-/* File: armv5te/OP_SGET_JUMBO.S */
- /*
- * Jumbo 32-bit SGET handler.
- *
- * for: sget/jumbo, sget-object/jumbo, sget-boolean/jumbo, sget-byte/jumbo,
- * sget-char/jumbo, sget-short/jumbo
- */
- /* exop vBBBB, field@AAAAAAAA */
- ldr r2, [rSELF, #offThread_methodClassDex] @ r2<- DvmDex
- FETCH(r0, 1) @ r0<- aaaa (lo)
- FETCH(r1, 2) @ r1<- AAAA (hi)
- ldr r10, [r2, #offDvmDex_pResFields] @ r10<- dvmDex->pResFields
- orr r1, r0, r1, lsl #16 @ r1<- AAAAaaaa
- ldr r0, [r10, r1, lsl #2] @ r0<- resolved StaticField ptr
- cmp r0, #0 @ is resolved entry null?
- beq .LOP_SGET_SHORT_JUMBO_resolve @ yes, do resolve
-.LOP_SGET_SHORT_JUMBO_finish: @ field ptr in r0
- ldr r1, [r0, #offStaticField_value] @ r1<- field value
- @ no-op @ acquiring load
- FETCH(r2, 3) @ r2<- BBBB
- FETCH_ADVANCE_INST(4) @ advance rPC, load rINST
- SET_VREG(r1, r2) @ fp[BBBB]<- r1
- GET_INST_OPCODE(ip) @ extract opcode from rINST
- GOTO_OPCODE(ip) @ jump to next instruction
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_SPUT_JUMBO: /* 0x11b */
-/* File: armv5te/OP_SPUT_JUMBO.S */
- /*
- * Jumbo 32-bit SPUT handler.
- *
- * for: sput/jumbo, sput-boolean/jumbo, sput-byte/jumbo, sput-char/jumbo,
- * sput-short/jumbo
- */
- /* exop vBBBB, field@AAAAAAAA */
- ldr r2, [rSELF, #offThread_methodClassDex] @ r2<- DvmDex
- FETCH(r0, 1) @ r0<- aaaa (lo)
- FETCH(r1, 2) @ r1<- AAAA (hi)
- ldr r10, [r2, #offDvmDex_pResFields] @ r10<- dvmDex->pResFields
- orr r1, r0, r1, lsl #16 @ r1<- AAAAaaaa
- ldr r0, [r10, r1, lsl #2] @ r0<- resolved StaticField ptr
- cmp r0, #0 @ is resolved entry null?
- beq .LOP_SPUT_JUMBO_resolve @ yes, do resolve
-.LOP_SPUT_JUMBO_finish: @ field ptr in r0
- FETCH(r2, 3) @ r2<- BBBB
- FETCH_ADVANCE_INST(4) @ advance rPC, load rINST
- GET_VREG(r1, r2) @ r1<- fp[BBBB]
- GET_INST_OPCODE(ip) @ extract opcode from rINST
- @ no-op @ releasing store
- str r1, [r0, #offStaticField_value] @ field<- vBBBB
- @ no-op
- GOTO_OPCODE(ip) @ jump to next instruction
-
-/* ------------------------------ */
- .balign 64
-.L_OP_SPUT_WIDE_JUMBO: /* 0x11c */
-/* File: armv5te/OP_SPUT_WIDE_JUMBO.S */
- /*
- * Jumbo 64-bit SPUT handler.
- */
- /* sput-wide/jumbo vBBBB, field@AAAAAAAA */
- ldr r0, [rSELF, #offThread_methodClassDex] @ r0<- DvmDex
- FETCH(r1, 1) @ r1<- aaaa (lo)
- FETCH(r2, 2) @ r2<- AAAA (hi)
- ldr r10, [r0, #offDvmDex_pResFields] @ r10<- dvmDex->pResFields
- orr r1, r1, r2, lsl #16 @ r1<- AAAAaaaa
- FETCH(r9, 3) @ r9<- BBBB
- ldr r2, [r10, r1, lsl #2] @ r2<- resolved StaticField ptr
- add r9, rFP, r9, lsl #2 @ r9<- &fp[BBBB]
- cmp r2, #0 @ is resolved entry null?
- beq .LOP_SPUT_WIDE_JUMBO_resolve @ yes, do resolve
-.LOP_SPUT_WIDE_JUMBO_finish: @ field ptr in r2, BBBB in r9
- FETCH_ADVANCE_INST(4) @ advance rPC, load rINST
- ldmia r9, {r0-r1} @ r0/r1<- vBBBB/vBBBB+1
- GET_INST_OPCODE(r10) @ extract opcode from rINST
- .if 0
- add r2, r2, #offStaticField_value @ r2<- pointer to data
- bl dvmQuasiAtomicSwap64Sync @ stores r0/r1 into addr r2
- .else
- strd r0, [r2, #offStaticField_value] @ field<- vBBBB/vBBBB+1
- .endif
- GOTO_OPCODE(r10) @ jump to next instruction
-
-/* ------------------------------ */
- .balign 64
-.L_OP_SPUT_OBJECT_JUMBO: /* 0x11d */
-/* File: armv5te/OP_SPUT_OBJECT_JUMBO.S */
- /*
- * Jumbo 32-bit SPUT handler for objects
- */
- /* sput-object/jumbo vBBBB, field@AAAAAAAA */
- ldr r2, [rSELF, #offThread_methodClassDex] @ r2<- DvmDex
- FETCH(r0, 1) @ r0<- aaaa (lo)
- FETCH(r1, 2) @ r1<- AAAA (hi)
- ldr r10, [r2, #offDvmDex_pResFields] @ r10<- dvmDex->pResFields
- orr r1, r0, r1, lsl #16 @ r1<- AAAAaaaa
- ldr r0, [r10, r1, lsl #2] @ r0<- resolved StaticField ptr
- cmp r0, #0 @ is resolved entry null?
- beq .LOP_SPUT_OBJECT_JUMBO_resolve @ yes, do resolve
-.LOP_SPUT_OBJECT_JUMBO_finish: @ field ptr in r0
- FETCH(r2, 3) @ r2<- BBBB
- FETCH_ADVANCE_INST(4) @ advance rPC, load rINST
- GET_VREG(r1, r2) @ r1<- fp[BBBB]
- ldr r2, [rSELF, #offThread_cardTable] @ r2<- card table base
- ldr r9, [r0, #offField_clazz] @ r9<- field->clazz
- GET_INST_OPCODE(ip) @ extract opcode from rINST
- @ no-op @ releasing store
- b .LOP_SPUT_OBJECT_JUMBO_end
-
-/* ------------------------------ */
- .balign 64
-.L_OP_SPUT_BOOLEAN_JUMBO: /* 0x11e */
-/* File: armv5te/OP_SPUT_BOOLEAN_JUMBO.S */
-/* File: armv5te/OP_SPUT_JUMBO.S */
- /*
- * Jumbo 32-bit SPUT handler.
- *
- * for: sput/jumbo, sput-boolean/jumbo, sput-byte/jumbo, sput-char/jumbo,
- * sput-short/jumbo
- */
- /* exop vBBBB, field@AAAAAAAA */
- ldr r2, [rSELF, #offThread_methodClassDex] @ r2<- DvmDex
- FETCH(r0, 1) @ r0<- aaaa (lo)
- FETCH(r1, 2) @ r1<- AAAA (hi)
- ldr r10, [r2, #offDvmDex_pResFields] @ r10<- dvmDex->pResFields
- orr r1, r0, r1, lsl #16 @ r1<- AAAAaaaa
- ldr r0, [r10, r1, lsl #2] @ r0<- resolved StaticField ptr
- cmp r0, #0 @ is resolved entry null?
- beq .LOP_SPUT_BOOLEAN_JUMBO_resolve @ yes, do resolve
-.LOP_SPUT_BOOLEAN_JUMBO_finish: @ field ptr in r0
- FETCH(r2, 3) @ r2<- BBBB
- FETCH_ADVANCE_INST(4) @ advance rPC, load rINST
- GET_VREG(r1, r2) @ r1<- fp[BBBB]
- GET_INST_OPCODE(ip) @ extract opcode from rINST
- @ no-op @ releasing store
- str r1, [r0, #offStaticField_value] @ field<- vBBBB
- @ no-op
- GOTO_OPCODE(ip) @ jump to next instruction
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_SPUT_BYTE_JUMBO: /* 0x11f */
-/* File: armv5te/OP_SPUT_BYTE_JUMBO.S */
-/* File: armv5te/OP_SPUT_JUMBO.S */
- /*
- * Jumbo 32-bit SPUT handler.
- *
- * for: sput/jumbo, sput-boolean/jumbo, sput-byte/jumbo, sput-char/jumbo,
- * sput-short/jumbo
- */
- /* exop vBBBB, field@AAAAAAAA */
- ldr r2, [rSELF, #offThread_methodClassDex] @ r2<- DvmDex
- FETCH(r0, 1) @ r0<- aaaa (lo)
- FETCH(r1, 2) @ r1<- AAAA (hi)
- ldr r10, [r2, #offDvmDex_pResFields] @ r10<- dvmDex->pResFields
- orr r1, r0, r1, lsl #16 @ r1<- AAAAaaaa
- ldr r0, [r10, r1, lsl #2] @ r0<- resolved StaticField ptr
- cmp r0, #0 @ is resolved entry null?
- beq .LOP_SPUT_BYTE_JUMBO_resolve @ yes, do resolve
-.LOP_SPUT_BYTE_JUMBO_finish: @ field ptr in r0
- FETCH(r2, 3) @ r2<- BBBB
- FETCH_ADVANCE_INST(4) @ advance rPC, load rINST
- GET_VREG(r1, r2) @ r1<- fp[BBBB]
- GET_INST_OPCODE(ip) @ extract opcode from rINST
- @ no-op @ releasing store
- str r1, [r0, #offStaticField_value] @ field<- vBBBB
- @ no-op
- GOTO_OPCODE(ip) @ jump to next instruction
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_SPUT_CHAR_JUMBO: /* 0x120 */
-/* File: armv5te/OP_SPUT_CHAR_JUMBO.S */
-/* File: armv5te/OP_SPUT_JUMBO.S */
- /*
- * Jumbo 32-bit SPUT handler.
- *
- * for: sput/jumbo, sput-boolean/jumbo, sput-byte/jumbo, sput-char/jumbo,
- * sput-short/jumbo
- */
- /* exop vBBBB, field@AAAAAAAA */
- ldr r2, [rSELF, #offThread_methodClassDex] @ r2<- DvmDex
- FETCH(r0, 1) @ r0<- aaaa (lo)
- FETCH(r1, 2) @ r1<- AAAA (hi)
- ldr r10, [r2, #offDvmDex_pResFields] @ r10<- dvmDex->pResFields
- orr r1, r0, r1, lsl #16 @ r1<- AAAAaaaa
- ldr r0, [r10, r1, lsl #2] @ r0<- resolved StaticField ptr
- cmp r0, #0 @ is resolved entry null?
- beq .LOP_SPUT_CHAR_JUMBO_resolve @ yes, do resolve
-.LOP_SPUT_CHAR_JUMBO_finish: @ field ptr in r0
- FETCH(r2, 3) @ r2<- BBBB
- FETCH_ADVANCE_INST(4) @ advance rPC, load rINST
- GET_VREG(r1, r2) @ r1<- fp[BBBB]
- GET_INST_OPCODE(ip) @ extract opcode from rINST
- @ no-op @ releasing store
- str r1, [r0, #offStaticField_value] @ field<- vBBBB
- @ no-op
- GOTO_OPCODE(ip) @ jump to next instruction
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_SPUT_SHORT_JUMBO: /* 0x121 */
-/* File: armv5te/OP_SPUT_SHORT_JUMBO.S */
-/* File: armv5te/OP_SPUT_JUMBO.S */
- /*
- * Jumbo 32-bit SPUT handler.
- *
- * for: sput/jumbo, sput-boolean/jumbo, sput-byte/jumbo, sput-char/jumbo,
- * sput-short/jumbo
- */
- /* exop vBBBB, field@AAAAAAAA */
- ldr r2, [rSELF, #offThread_methodClassDex] @ r2<- DvmDex
- FETCH(r0, 1) @ r0<- aaaa (lo)
- FETCH(r1, 2) @ r1<- AAAA (hi)
- ldr r10, [r2, #offDvmDex_pResFields] @ r10<- dvmDex->pResFields
- orr r1, r0, r1, lsl #16 @ r1<- AAAAaaaa
- ldr r0, [r10, r1, lsl #2] @ r0<- resolved StaticField ptr
- cmp r0, #0 @ is resolved entry null?
- beq .LOP_SPUT_SHORT_JUMBO_resolve @ yes, do resolve
-.LOP_SPUT_SHORT_JUMBO_finish: @ field ptr in r0
- FETCH(r2, 3) @ r2<- BBBB
- FETCH_ADVANCE_INST(4) @ advance rPC, load rINST
- GET_VREG(r1, r2) @ r1<- fp[BBBB]
- GET_INST_OPCODE(ip) @ extract opcode from rINST
- @ no-op @ releasing store
- str r1, [r0, #offStaticField_value] @ field<- vBBBB
- @ no-op
- GOTO_OPCODE(ip) @ jump to next instruction
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_INVOKE_VIRTUAL_JUMBO: /* 0x122 */
-/* File: armv5te/OP_INVOKE_VIRTUAL_JUMBO.S */
- /*
- * Handle a virtual method call.
- */
- /* invoke-virtual/jumbo {vCCCC..v(CCCC+BBBB-1)}, meth@AAAAAAAA */
- ldr r3, [rSELF, #offThread_methodClassDex] @ r3<- pDvmDex
- FETCH(r0, 1) @ r1<- aaaa (lo)
- FETCH(r1, 2) @ r1<- AAAA (hi)
- ldr r3, [r3, #offDvmDex_pResMethods] @ r3<- pDvmDex->pResMethods
- orr r1, r0, r1, lsl #16 @ r1<- AAAAaaaa
- ldr r0, [r3, r1, lsl #2] @ r0<- resolved baseMethod
- cmp r0, #0 @ already resolved?
- EXPORT_PC() @ must export for invoke
- bne .LOP_INVOKE_VIRTUAL_JUMBO_continue @ yes, continue on
- ldr r3, [rSELF, #offThread_method] @ r3<- self->method
- ldr r0, [r3, #offMethod_clazz] @ r0<- method->clazz
- mov r2, #METHOD_VIRTUAL @ resolver method type
- bl dvmResolveMethod @ r0<- call(clazz, ref, flags)
- cmp r0, #0 @ got null?
- bne .LOP_INVOKE_VIRTUAL_JUMBO_continue @ no, continue
- b common_exceptionThrown @ yes, handle exception
-
-/* ------------------------------ */
- .balign 64
-.L_OP_INVOKE_SUPER_JUMBO: /* 0x123 */
-/* File: armv5te/OP_INVOKE_SUPER_JUMBO.S */
- /*
- * Handle a "super" method call.
- */
- /* invoke-super/jumbo {vCCCC..v(CCCC+BBBB-1)}, meth@AAAAAAAA */
- FETCH(r10, 4) @ r10<- CCCC
- ldr r3, [rSELF, #offThread_methodClassDex] @ r3<- pDvmDex
- FETCH(r0, 1) @ r1<- aaaa (lo)
- FETCH(r1, 2) @ r1<- AAAA (hi)
- ldr r3, [r3, #offDvmDex_pResMethods] @ r3<- pDvmDex->pResMethods
- orr r1, r0, r1, lsl #16 @ r1<- AAAAaaaa
- GET_VREG(r9, r10) @ r9<- "this" ptr
- ldr r0, [r3, r1, lsl #2] @ r0<- resolved baseMethod
- cmp r9, #0 @ null "this"?
- ldr r10, [rSELF, #offThread_method] @ r10<- current method
- beq common_errNullObject @ null "this", throw exception
- cmp r0, #0 @ already resolved?
- ldr r10, [r10, #offMethod_clazz] @ r10<- method->clazz
- EXPORT_PC() @ must export for invoke
- bne .LOP_INVOKE_SUPER_JUMBO_continue @ resolved, continue on
- b .LOP_INVOKE_SUPER_JUMBO_resolve @ do resolve now
-
-/* ------------------------------ */
- .balign 64
-.L_OP_INVOKE_DIRECT_JUMBO: /* 0x124 */
-/* File: armv5te/OP_INVOKE_DIRECT_JUMBO.S */
- /*
- * Handle a direct method call.
- *
- * (We could defer the "is 'this' pointer null" test to the common
- * method invocation code, and use a flag to indicate that static
- * calls don't count. If we do this as part of copying the arguments
- * out we could avoiding loading the first arg twice.)
- *
- */
- /* invoke-direct/jumbo {vCCCC..v(CCCC+BBBB-1)}, meth@AAAAAAAA */
- ldr r3, [rSELF, #offThread_methodClassDex] @ r3<- pDvmDex
- FETCH(r0, 1) @ r1<- aaaa (lo)
- FETCH(r1, 2) @ r1<- AAAA (hi)
- ldr r3, [r3, #offDvmDex_pResMethods] @ r3<- pDvmDex->pResMethods
- orr r1, r0, r1, lsl #16 @ r1<- AAAAaaaa
- FETCH(r10, 4) @ r10<- CCCC
- ldr r0, [r3, r1, lsl #2] @ r0<- resolved methodToCall
- cmp r0, #0 @ already resolved?
- EXPORT_PC() @ must export for invoke
- GET_VREG(r9, r10) @ r9<- "this" ptr
- beq .LOP_INVOKE_DIRECT_JUMBO_resolve @ not resolved, do it now
-.LOP_INVOKE_DIRECT_JUMBO_finish:
- cmp r9, #0 @ null "this" ref?
- bne common_invokeMethodJumbo @ (r0=method, r9="this")
- b common_errNullObject @ yes, throw exception
-
-/* ------------------------------ */
- .balign 64
-.L_OP_INVOKE_STATIC_JUMBO: /* 0x125 */
-/* File: armv5te/OP_INVOKE_STATIC_JUMBO.S */
- /*
- * Handle a static method call.
- */
- /* invoke-static/jumbo {vCCCC..v(CCCC+BBBB-1)}, meth@AAAAAAAA */
- ldr r3, [rSELF, #offThread_methodClassDex] @ r3<- pDvmDex
- FETCH(r0, 1) @ r1<- aaaa (lo)
- FETCH(r1, 2) @ r1<- AAAA (hi)
- ldr r3, [r3, #offDvmDex_pResMethods] @ r3<- pDvmDex->pResMethods
- orr r1, r0, r1, lsl #16 @ r1<- AAAAaaaa
- ldr r0, [r3, r1, lsl #2] @ r0<- resolved methodToCall
-#if defined(WITH_JIT)
- add r10, r3, r1, lsl #2 @ r10<- &resolved_methodToCall
-#endif
- cmp r0, #0 @ already resolved?
- EXPORT_PC() @ must export for invoke
- bne common_invokeMethodJumboNoThis @ (r0=method)
- b .LOP_INVOKE_STATIC_JUMBO_resolve
-
-/* ------------------------------ */
- .balign 64
-.L_OP_INVOKE_INTERFACE_JUMBO: /* 0x126 */
-/* File: armv5te/OP_INVOKE_INTERFACE_JUMBO.S */
- /*
- * Handle an interface method call.
- */
- /* invoke-interface/jumbo {vCCCC..v(CCCC+BBBB-1)}, meth@AAAAAAAA */
- FETCH(r2, 4) @ r2<- CCCC
- FETCH(r0, 1) @ r0<- aaaa (lo)
- FETCH(r1, 2) @ r1<- AAAA (hi)
- EXPORT_PC() @ must export for invoke
- orr r1, r0, r1, lsl #16 @ r1<- AAAAaaaa
- GET_VREG(r9, r2) @ r9<- first arg ("this")
- ldr r3, [rSELF, #offThread_methodClassDex] @ r3<- methodClassDex
- cmp r9, #0 @ null obj?
- ldr r2, [rSELF, #offThread_method] @ r2<- method
- beq common_errNullObject @ yes, fail
- ldr r0, [r9, #offObject_clazz] @ r0<- thisPtr->clazz
- bl dvmFindInterfaceMethodInCache @ r0<- call(class, ref, method, dex)
- cmp r0, #0 @ failed?
- beq common_exceptionThrown @ yes, handle exception
- b common_invokeMethodJumbo @ (r0=method, r9="this")
-
-/* ------------------------------ */
- .balign 64
-.L_OP_UNUSED_27FF: /* 0x127 */
-/* File: armv5te/OP_UNUSED_27FF.S */
-/* File: armv5te/unused.S */
- bl common_abort
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_UNUSED_28FF: /* 0x128 */
-/* File: armv5te/OP_UNUSED_28FF.S */
-/* File: armv5te/unused.S */
- bl common_abort
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_UNUSED_29FF: /* 0x129 */
-/* File: armv5te/OP_UNUSED_29FF.S */
-/* File: armv5te/unused.S */
- bl common_abort
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_UNUSED_2AFF: /* 0x12a */
-/* File: armv5te/OP_UNUSED_2AFF.S */
-/* File: armv5te/unused.S */
- bl common_abort
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_UNUSED_2BFF: /* 0x12b */
-/* File: armv5te/OP_UNUSED_2BFF.S */
-/* File: armv5te/unused.S */
- bl common_abort
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_UNUSED_2CFF: /* 0x12c */
-/* File: armv5te/OP_UNUSED_2CFF.S */
-/* File: armv5te/unused.S */
- bl common_abort
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_UNUSED_2DFF: /* 0x12d */
-/* File: armv5te/OP_UNUSED_2DFF.S */
-/* File: armv5te/unused.S */
- bl common_abort
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_UNUSED_2EFF: /* 0x12e */
-/* File: armv5te/OP_UNUSED_2EFF.S */
-/* File: armv5te/unused.S */
- bl common_abort
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_UNUSED_2FFF: /* 0x12f */
-/* File: armv5te/OP_UNUSED_2FFF.S */
-/* File: armv5te/unused.S */
- bl common_abort
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_UNUSED_30FF: /* 0x130 */
-/* File: armv5te/OP_UNUSED_30FF.S */
-/* File: armv5te/unused.S */
- bl common_abort
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_UNUSED_31FF: /* 0x131 */
-/* File: armv5te/OP_UNUSED_31FF.S */
-/* File: armv5te/unused.S */
- bl common_abort
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_UNUSED_32FF: /* 0x132 */
-/* File: armv5te/OP_UNUSED_32FF.S */
-/* File: armv5te/unused.S */
- bl common_abort
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_UNUSED_33FF: /* 0x133 */
-/* File: armv5te/OP_UNUSED_33FF.S */
-/* File: armv5te/unused.S */
- bl common_abort
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_UNUSED_34FF: /* 0x134 */
-/* File: armv5te/OP_UNUSED_34FF.S */
-/* File: armv5te/unused.S */
- bl common_abort
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_UNUSED_35FF: /* 0x135 */
-/* File: armv5te/OP_UNUSED_35FF.S */
-/* File: armv5te/unused.S */
- bl common_abort
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_UNUSED_36FF: /* 0x136 */
-/* File: armv5te/OP_UNUSED_36FF.S */
-/* File: armv5te/unused.S */
- bl common_abort
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_UNUSED_37FF: /* 0x137 */
-/* File: armv5te/OP_UNUSED_37FF.S */
-/* File: armv5te/unused.S */
- bl common_abort
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_UNUSED_38FF: /* 0x138 */
-/* File: armv5te/OP_UNUSED_38FF.S */
-/* File: armv5te/unused.S */
- bl common_abort
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_UNUSED_39FF: /* 0x139 */
-/* File: armv5te/OP_UNUSED_39FF.S */
-/* File: armv5te/unused.S */
- bl common_abort
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_UNUSED_3AFF: /* 0x13a */
-/* File: armv5te/OP_UNUSED_3AFF.S */
-/* File: armv5te/unused.S */
- bl common_abort
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_UNUSED_3BFF: /* 0x13b */
-/* File: armv5te/OP_UNUSED_3BFF.S */
-/* File: armv5te/unused.S */
- bl common_abort
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_UNUSED_3CFF: /* 0x13c */
-/* File: armv5te/OP_UNUSED_3CFF.S */
-/* File: armv5te/unused.S */
- bl common_abort
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_UNUSED_3DFF: /* 0x13d */
-/* File: armv5te/OP_UNUSED_3DFF.S */
-/* File: armv5te/unused.S */
- bl common_abort
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_UNUSED_3EFF: /* 0x13e */
-/* File: armv5te/OP_UNUSED_3EFF.S */
-/* File: armv5te/unused.S */
- bl common_abort
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_UNUSED_3FFF: /* 0x13f */
-/* File: armv5te/OP_UNUSED_3FFF.S */
-/* File: armv5te/unused.S */
- bl common_abort
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_UNUSED_40FF: /* 0x140 */
-/* File: armv5te/OP_UNUSED_40FF.S */
-/* File: armv5te/unused.S */
- bl common_abort
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_UNUSED_41FF: /* 0x141 */
-/* File: armv5te/OP_UNUSED_41FF.S */
-/* File: armv5te/unused.S */
- bl common_abort
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_UNUSED_42FF: /* 0x142 */
-/* File: armv5te/OP_UNUSED_42FF.S */
-/* File: armv5te/unused.S */
- bl common_abort
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_UNUSED_43FF: /* 0x143 */
-/* File: armv5te/OP_UNUSED_43FF.S */
-/* File: armv5te/unused.S */
- bl common_abort
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_UNUSED_44FF: /* 0x144 */
-/* File: armv5te/OP_UNUSED_44FF.S */
-/* File: armv5te/unused.S */
- bl common_abort
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_UNUSED_45FF: /* 0x145 */
-/* File: armv5te/OP_UNUSED_45FF.S */
-/* File: armv5te/unused.S */
- bl common_abort
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_UNUSED_46FF: /* 0x146 */
-/* File: armv5te/OP_UNUSED_46FF.S */
-/* File: armv5te/unused.S */
- bl common_abort
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_UNUSED_47FF: /* 0x147 */
-/* File: armv5te/OP_UNUSED_47FF.S */
-/* File: armv5te/unused.S */
- bl common_abort
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_UNUSED_48FF: /* 0x148 */
-/* File: armv5te/OP_UNUSED_48FF.S */
-/* File: armv5te/unused.S */
- bl common_abort
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_UNUSED_49FF: /* 0x149 */
-/* File: armv5te/OP_UNUSED_49FF.S */
-/* File: armv5te/unused.S */
- bl common_abort
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_UNUSED_4AFF: /* 0x14a */
-/* File: armv5te/OP_UNUSED_4AFF.S */
-/* File: armv5te/unused.S */
- bl common_abort
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_UNUSED_4BFF: /* 0x14b */
-/* File: armv5te/OP_UNUSED_4BFF.S */
-/* File: armv5te/unused.S */
- bl common_abort
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_UNUSED_4CFF: /* 0x14c */
-/* File: armv5te/OP_UNUSED_4CFF.S */
-/* File: armv5te/unused.S */
- bl common_abort
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_UNUSED_4DFF: /* 0x14d */
-/* File: armv5te/OP_UNUSED_4DFF.S */
-/* File: armv5te/unused.S */
- bl common_abort
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_UNUSED_4EFF: /* 0x14e */
-/* File: armv5te/OP_UNUSED_4EFF.S */
-/* File: armv5te/unused.S */
- bl common_abort
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_UNUSED_4FFF: /* 0x14f */
-/* File: armv5te/OP_UNUSED_4FFF.S */
-/* File: armv5te/unused.S */
- bl common_abort
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_UNUSED_50FF: /* 0x150 */
-/* File: armv5te/OP_UNUSED_50FF.S */
-/* File: armv5te/unused.S */
- bl common_abort
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_UNUSED_51FF: /* 0x151 */
-/* File: armv5te/OP_UNUSED_51FF.S */
-/* File: armv5te/unused.S */
- bl common_abort
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_UNUSED_52FF: /* 0x152 */
-/* File: armv5te/OP_UNUSED_52FF.S */
-/* File: armv5te/unused.S */
- bl common_abort
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_UNUSED_53FF: /* 0x153 */
-/* File: armv5te/OP_UNUSED_53FF.S */
-/* File: armv5te/unused.S */
- bl common_abort
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_UNUSED_54FF: /* 0x154 */
-/* File: armv5te/OP_UNUSED_54FF.S */
-/* File: armv5te/unused.S */
- bl common_abort
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_UNUSED_55FF: /* 0x155 */
-/* File: armv5te/OP_UNUSED_55FF.S */
-/* File: armv5te/unused.S */
- bl common_abort
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_UNUSED_56FF: /* 0x156 */
-/* File: armv5te/OP_UNUSED_56FF.S */
-/* File: armv5te/unused.S */
- bl common_abort
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_UNUSED_57FF: /* 0x157 */
-/* File: armv5te/OP_UNUSED_57FF.S */
-/* File: armv5te/unused.S */
- bl common_abort
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_UNUSED_58FF: /* 0x158 */
-/* File: armv5te/OP_UNUSED_58FF.S */
-/* File: armv5te/unused.S */
- bl common_abort
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_UNUSED_59FF: /* 0x159 */
-/* File: armv5te/OP_UNUSED_59FF.S */
-/* File: armv5te/unused.S */
- bl common_abort
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_UNUSED_5AFF: /* 0x15a */
-/* File: armv5te/OP_UNUSED_5AFF.S */
-/* File: armv5te/unused.S */
- bl common_abort
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_UNUSED_5BFF: /* 0x15b */
-/* File: armv5te/OP_UNUSED_5BFF.S */
-/* File: armv5te/unused.S */
- bl common_abort
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_UNUSED_5CFF: /* 0x15c */
-/* File: armv5te/OP_UNUSED_5CFF.S */
-/* File: armv5te/unused.S */
- bl common_abort
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_UNUSED_5DFF: /* 0x15d */
-/* File: armv5te/OP_UNUSED_5DFF.S */
-/* File: armv5te/unused.S */
- bl common_abort
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_UNUSED_5EFF: /* 0x15e */
-/* File: armv5te/OP_UNUSED_5EFF.S */
-/* File: armv5te/unused.S */
- bl common_abort
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_UNUSED_5FFF: /* 0x15f */
-/* File: armv5te/OP_UNUSED_5FFF.S */
-/* File: armv5te/unused.S */
- bl common_abort
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_UNUSED_60FF: /* 0x160 */
-/* File: armv5te/OP_UNUSED_60FF.S */
-/* File: armv5te/unused.S */
- bl common_abort
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_UNUSED_61FF: /* 0x161 */
-/* File: armv5te/OP_UNUSED_61FF.S */
-/* File: armv5te/unused.S */
- bl common_abort
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_UNUSED_62FF: /* 0x162 */
-/* File: armv5te/OP_UNUSED_62FF.S */
-/* File: armv5te/unused.S */
- bl common_abort
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_UNUSED_63FF: /* 0x163 */
-/* File: armv5te/OP_UNUSED_63FF.S */
-/* File: armv5te/unused.S */
- bl common_abort
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_UNUSED_64FF: /* 0x164 */
-/* File: armv5te/OP_UNUSED_64FF.S */
-/* File: armv5te/unused.S */
- bl common_abort
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_UNUSED_65FF: /* 0x165 */
-/* File: armv5te/OP_UNUSED_65FF.S */
-/* File: armv5te/unused.S */
- bl common_abort
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_UNUSED_66FF: /* 0x166 */
-/* File: armv5te/OP_UNUSED_66FF.S */
-/* File: armv5te/unused.S */
- bl common_abort
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_UNUSED_67FF: /* 0x167 */
-/* File: armv5te/OP_UNUSED_67FF.S */
-/* File: armv5te/unused.S */
- bl common_abort
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_UNUSED_68FF: /* 0x168 */
-/* File: armv5te/OP_UNUSED_68FF.S */
-/* File: armv5te/unused.S */
- bl common_abort
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_UNUSED_69FF: /* 0x169 */
-/* File: armv5te/OP_UNUSED_69FF.S */
-/* File: armv5te/unused.S */
- bl common_abort
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_UNUSED_6AFF: /* 0x16a */
-/* File: armv5te/OP_UNUSED_6AFF.S */
-/* File: armv5te/unused.S */
- bl common_abort
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_UNUSED_6BFF: /* 0x16b */
-/* File: armv5te/OP_UNUSED_6BFF.S */
-/* File: armv5te/unused.S */
- bl common_abort
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_UNUSED_6CFF: /* 0x16c */
-/* File: armv5te/OP_UNUSED_6CFF.S */
-/* File: armv5te/unused.S */
- bl common_abort
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_UNUSED_6DFF: /* 0x16d */
-/* File: armv5te/OP_UNUSED_6DFF.S */
-/* File: armv5te/unused.S */
- bl common_abort
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_UNUSED_6EFF: /* 0x16e */
-/* File: armv5te/OP_UNUSED_6EFF.S */
-/* File: armv5te/unused.S */
- bl common_abort
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_UNUSED_6FFF: /* 0x16f */
-/* File: armv5te/OP_UNUSED_6FFF.S */
-/* File: armv5te/unused.S */
- bl common_abort
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_UNUSED_70FF: /* 0x170 */
-/* File: armv5te/OP_UNUSED_70FF.S */
-/* File: armv5te/unused.S */
- bl common_abort
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_UNUSED_71FF: /* 0x171 */
-/* File: armv5te/OP_UNUSED_71FF.S */
-/* File: armv5te/unused.S */
- bl common_abort
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_UNUSED_72FF: /* 0x172 */
-/* File: armv5te/OP_UNUSED_72FF.S */
-/* File: armv5te/unused.S */
- bl common_abort
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_UNUSED_73FF: /* 0x173 */
-/* File: armv5te/OP_UNUSED_73FF.S */
-/* File: armv5te/unused.S */
- bl common_abort
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_UNUSED_74FF: /* 0x174 */
-/* File: armv5te/OP_UNUSED_74FF.S */
-/* File: armv5te/unused.S */
- bl common_abort
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_UNUSED_75FF: /* 0x175 */
-/* File: armv5te/OP_UNUSED_75FF.S */
-/* File: armv5te/unused.S */
- bl common_abort
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_UNUSED_76FF: /* 0x176 */
-/* File: armv5te/OP_UNUSED_76FF.S */
-/* File: armv5te/unused.S */
- bl common_abort
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_UNUSED_77FF: /* 0x177 */
-/* File: armv5te/OP_UNUSED_77FF.S */
-/* File: armv5te/unused.S */
- bl common_abort
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_UNUSED_78FF: /* 0x178 */
-/* File: armv5te/OP_UNUSED_78FF.S */
-/* File: armv5te/unused.S */
- bl common_abort
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_UNUSED_79FF: /* 0x179 */
-/* File: armv5te/OP_UNUSED_79FF.S */
-/* File: armv5te/unused.S */
- bl common_abort
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_UNUSED_7AFF: /* 0x17a */
-/* File: armv5te/OP_UNUSED_7AFF.S */
-/* File: armv5te/unused.S */
- bl common_abort
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_UNUSED_7BFF: /* 0x17b */
-/* File: armv5te/OP_UNUSED_7BFF.S */
-/* File: armv5te/unused.S */
- bl common_abort
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_UNUSED_7CFF: /* 0x17c */
-/* File: armv5te/OP_UNUSED_7CFF.S */
-/* File: armv5te/unused.S */
- bl common_abort
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_UNUSED_7DFF: /* 0x17d */
-/* File: armv5te/OP_UNUSED_7DFF.S */
-/* File: armv5te/unused.S */
- bl common_abort
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_UNUSED_7EFF: /* 0x17e */
-/* File: armv5te/OP_UNUSED_7EFF.S */
-/* File: armv5te/unused.S */
- bl common_abort
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_UNUSED_7FFF: /* 0x17f */
-/* File: armv5te/OP_UNUSED_7FFF.S */
-/* File: armv5te/unused.S */
- bl common_abort
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_UNUSED_80FF: /* 0x180 */
-/* File: armv5te/OP_UNUSED_80FF.S */
-/* File: armv5te/unused.S */
- bl common_abort
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_UNUSED_81FF: /* 0x181 */
-/* File: armv5te/OP_UNUSED_81FF.S */
-/* File: armv5te/unused.S */
- bl common_abort
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_UNUSED_82FF: /* 0x182 */
-/* File: armv5te/OP_UNUSED_82FF.S */
-/* File: armv5te/unused.S */
- bl common_abort
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_UNUSED_83FF: /* 0x183 */
-/* File: armv5te/OP_UNUSED_83FF.S */
-/* File: armv5te/unused.S */
- bl common_abort
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_UNUSED_84FF: /* 0x184 */
-/* File: armv5te/OP_UNUSED_84FF.S */
-/* File: armv5te/unused.S */
- bl common_abort
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_UNUSED_85FF: /* 0x185 */
-/* File: armv5te/OP_UNUSED_85FF.S */
-/* File: armv5te/unused.S */
- bl common_abort
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_UNUSED_86FF: /* 0x186 */
-/* File: armv5te/OP_UNUSED_86FF.S */
-/* File: armv5te/unused.S */
- bl common_abort
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_UNUSED_87FF: /* 0x187 */
-/* File: armv5te/OP_UNUSED_87FF.S */
-/* File: armv5te/unused.S */
- bl common_abort
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_UNUSED_88FF: /* 0x188 */
-/* File: armv5te/OP_UNUSED_88FF.S */
-/* File: armv5te/unused.S */
- bl common_abort
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_UNUSED_89FF: /* 0x189 */
-/* File: armv5te/OP_UNUSED_89FF.S */
-/* File: armv5te/unused.S */
- bl common_abort
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_UNUSED_8AFF: /* 0x18a */
-/* File: armv5te/OP_UNUSED_8AFF.S */
-/* File: armv5te/unused.S */
- bl common_abort
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_UNUSED_8BFF: /* 0x18b */
-/* File: armv5te/OP_UNUSED_8BFF.S */
-/* File: armv5te/unused.S */
- bl common_abort
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_UNUSED_8CFF: /* 0x18c */
-/* File: armv5te/OP_UNUSED_8CFF.S */
-/* File: armv5te/unused.S */
- bl common_abort
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_UNUSED_8DFF: /* 0x18d */
-/* File: armv5te/OP_UNUSED_8DFF.S */
-/* File: armv5te/unused.S */
- bl common_abort
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_UNUSED_8EFF: /* 0x18e */
-/* File: armv5te/OP_UNUSED_8EFF.S */
-/* File: armv5te/unused.S */
- bl common_abort
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_UNUSED_8FFF: /* 0x18f */
-/* File: armv5te/OP_UNUSED_8FFF.S */
-/* File: armv5te/unused.S */
- bl common_abort
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_UNUSED_90FF: /* 0x190 */
-/* File: armv5te/OP_UNUSED_90FF.S */
-/* File: armv5te/unused.S */
- bl common_abort
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_UNUSED_91FF: /* 0x191 */
-/* File: armv5te/OP_UNUSED_91FF.S */
-/* File: armv5te/unused.S */
- bl common_abort
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_UNUSED_92FF: /* 0x192 */
-/* File: armv5te/OP_UNUSED_92FF.S */
-/* File: armv5te/unused.S */
- bl common_abort
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_UNUSED_93FF: /* 0x193 */
-/* File: armv5te/OP_UNUSED_93FF.S */
-/* File: armv5te/unused.S */
- bl common_abort
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_UNUSED_94FF: /* 0x194 */
-/* File: armv5te/OP_UNUSED_94FF.S */
-/* File: armv5te/unused.S */
- bl common_abort
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_UNUSED_95FF: /* 0x195 */
-/* File: armv5te/OP_UNUSED_95FF.S */
-/* File: armv5te/unused.S */
- bl common_abort
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_UNUSED_96FF: /* 0x196 */
-/* File: armv5te/OP_UNUSED_96FF.S */
-/* File: armv5te/unused.S */
- bl common_abort
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_UNUSED_97FF: /* 0x197 */
-/* File: armv5te/OP_UNUSED_97FF.S */
-/* File: armv5te/unused.S */
- bl common_abort
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_UNUSED_98FF: /* 0x198 */
-/* File: armv5te/OP_UNUSED_98FF.S */
-/* File: armv5te/unused.S */
- bl common_abort
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_UNUSED_99FF: /* 0x199 */
-/* File: armv5te/OP_UNUSED_99FF.S */
-/* File: armv5te/unused.S */
- bl common_abort
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_UNUSED_9AFF: /* 0x19a */
-/* File: armv5te/OP_UNUSED_9AFF.S */
-/* File: armv5te/unused.S */
- bl common_abort
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_UNUSED_9BFF: /* 0x19b */
-/* File: armv5te/OP_UNUSED_9BFF.S */
-/* File: armv5te/unused.S */
- bl common_abort
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_UNUSED_9CFF: /* 0x19c */
-/* File: armv5te/OP_UNUSED_9CFF.S */
-/* File: armv5te/unused.S */
- bl common_abort
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_UNUSED_9DFF: /* 0x19d */
-/* File: armv5te/OP_UNUSED_9DFF.S */
-/* File: armv5te/unused.S */
- bl common_abort
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_UNUSED_9EFF: /* 0x19e */
-/* File: armv5te/OP_UNUSED_9EFF.S */
-/* File: armv5te/unused.S */
- bl common_abort
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_UNUSED_9FFF: /* 0x19f */
-/* File: armv5te/OP_UNUSED_9FFF.S */
-/* File: armv5te/unused.S */
- bl common_abort
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_UNUSED_A0FF: /* 0x1a0 */
-/* File: armv5te/OP_UNUSED_A0FF.S */
-/* File: armv5te/unused.S */
- bl common_abort
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_UNUSED_A1FF: /* 0x1a1 */
-/* File: armv5te/OP_UNUSED_A1FF.S */
-/* File: armv5te/unused.S */
- bl common_abort
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_UNUSED_A2FF: /* 0x1a2 */
-/* File: armv5te/OP_UNUSED_A2FF.S */
-/* File: armv5te/unused.S */
- bl common_abort
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_UNUSED_A3FF: /* 0x1a3 */
-/* File: armv5te/OP_UNUSED_A3FF.S */
-/* File: armv5te/unused.S */
- bl common_abort
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_UNUSED_A4FF: /* 0x1a4 */
-/* File: armv5te/OP_UNUSED_A4FF.S */
-/* File: armv5te/unused.S */
- bl common_abort
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_UNUSED_A5FF: /* 0x1a5 */
-/* File: armv5te/OP_UNUSED_A5FF.S */
-/* File: armv5te/unused.S */
- bl common_abort
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_UNUSED_A6FF: /* 0x1a6 */
-/* File: armv5te/OP_UNUSED_A6FF.S */
-/* File: armv5te/unused.S */
- bl common_abort
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_UNUSED_A7FF: /* 0x1a7 */
-/* File: armv5te/OP_UNUSED_A7FF.S */
-/* File: armv5te/unused.S */
- bl common_abort
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_UNUSED_A8FF: /* 0x1a8 */
-/* File: armv5te/OP_UNUSED_A8FF.S */
-/* File: armv5te/unused.S */
- bl common_abort
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_UNUSED_A9FF: /* 0x1a9 */
-/* File: armv5te/OP_UNUSED_A9FF.S */
-/* File: armv5te/unused.S */
- bl common_abort
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_UNUSED_AAFF: /* 0x1aa */
-/* File: armv5te/OP_UNUSED_AAFF.S */
-/* File: armv5te/unused.S */
- bl common_abort
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_UNUSED_ABFF: /* 0x1ab */
-/* File: armv5te/OP_UNUSED_ABFF.S */
-/* File: armv5te/unused.S */
- bl common_abort
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_UNUSED_ACFF: /* 0x1ac */
-/* File: armv5te/OP_UNUSED_ACFF.S */
-/* File: armv5te/unused.S */
- bl common_abort
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_UNUSED_ADFF: /* 0x1ad */
-/* File: armv5te/OP_UNUSED_ADFF.S */
-/* File: armv5te/unused.S */
- bl common_abort
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_UNUSED_AEFF: /* 0x1ae */
-/* File: armv5te/OP_UNUSED_AEFF.S */
-/* File: armv5te/unused.S */
- bl common_abort
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_UNUSED_AFFF: /* 0x1af */
-/* File: armv5te/OP_UNUSED_AFFF.S */
-/* File: armv5te/unused.S */
- bl common_abort
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_UNUSED_B0FF: /* 0x1b0 */
-/* File: armv5te/OP_UNUSED_B0FF.S */
-/* File: armv5te/unused.S */
- bl common_abort
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_UNUSED_B1FF: /* 0x1b1 */
-/* File: armv5te/OP_UNUSED_B1FF.S */
-/* File: armv5te/unused.S */
- bl common_abort
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_UNUSED_B2FF: /* 0x1b2 */
-/* File: armv5te/OP_UNUSED_B2FF.S */
-/* File: armv5te/unused.S */
- bl common_abort
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_UNUSED_B3FF: /* 0x1b3 */
-/* File: armv5te/OP_UNUSED_B3FF.S */
-/* File: armv5te/unused.S */
- bl common_abort
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_UNUSED_B4FF: /* 0x1b4 */
-/* File: armv5te/OP_UNUSED_B4FF.S */
-/* File: armv5te/unused.S */
- bl common_abort
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_UNUSED_B5FF: /* 0x1b5 */
-/* File: armv5te/OP_UNUSED_B5FF.S */
-/* File: armv5te/unused.S */
- bl common_abort
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_UNUSED_B6FF: /* 0x1b6 */
-/* File: armv5te/OP_UNUSED_B6FF.S */
-/* File: armv5te/unused.S */
- bl common_abort
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_UNUSED_B7FF: /* 0x1b7 */
-/* File: armv5te/OP_UNUSED_B7FF.S */
-/* File: armv5te/unused.S */
- bl common_abort
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_UNUSED_B8FF: /* 0x1b8 */
-/* File: armv5te/OP_UNUSED_B8FF.S */
-/* File: armv5te/unused.S */
- bl common_abort
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_UNUSED_B9FF: /* 0x1b9 */
-/* File: armv5te/OP_UNUSED_B9FF.S */
-/* File: armv5te/unused.S */
- bl common_abort
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_UNUSED_BAFF: /* 0x1ba */
-/* File: armv5te/OP_UNUSED_BAFF.S */
-/* File: armv5te/unused.S */
- bl common_abort
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_UNUSED_BBFF: /* 0x1bb */
-/* File: armv5te/OP_UNUSED_BBFF.S */
-/* File: armv5te/unused.S */
- bl common_abort
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_UNUSED_BCFF: /* 0x1bc */
-/* File: armv5te/OP_UNUSED_BCFF.S */
-/* File: armv5te/unused.S */
- bl common_abort
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_UNUSED_BDFF: /* 0x1bd */
-/* File: armv5te/OP_UNUSED_BDFF.S */
-/* File: armv5te/unused.S */
- bl common_abort
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_UNUSED_BEFF: /* 0x1be */
-/* File: armv5te/OP_UNUSED_BEFF.S */
-/* File: armv5te/unused.S */
- bl common_abort
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_UNUSED_BFFF: /* 0x1bf */
-/* File: armv5te/OP_UNUSED_BFFF.S */
-/* File: armv5te/unused.S */
- bl common_abort
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_UNUSED_C0FF: /* 0x1c0 */
-/* File: armv5te/OP_UNUSED_C0FF.S */
-/* File: armv5te/unused.S */
- bl common_abort
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_UNUSED_C1FF: /* 0x1c1 */
-/* File: armv5te/OP_UNUSED_C1FF.S */
-/* File: armv5te/unused.S */
- bl common_abort
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_UNUSED_C2FF: /* 0x1c2 */
-/* File: armv5te/OP_UNUSED_C2FF.S */
-/* File: armv5te/unused.S */
- bl common_abort
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_UNUSED_C3FF: /* 0x1c3 */
-/* File: armv5te/OP_UNUSED_C3FF.S */
-/* File: armv5te/unused.S */
- bl common_abort
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_UNUSED_C4FF: /* 0x1c4 */
-/* File: armv5te/OP_UNUSED_C4FF.S */
-/* File: armv5te/unused.S */
- bl common_abort
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_UNUSED_C5FF: /* 0x1c5 */
-/* File: armv5te/OP_UNUSED_C5FF.S */
-/* File: armv5te/unused.S */
- bl common_abort
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_UNUSED_C6FF: /* 0x1c6 */
-/* File: armv5te/OP_UNUSED_C6FF.S */
-/* File: armv5te/unused.S */
- bl common_abort
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_UNUSED_C7FF: /* 0x1c7 */
-/* File: armv5te/OP_UNUSED_C7FF.S */
-/* File: armv5te/unused.S */
- bl common_abort
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_UNUSED_C8FF: /* 0x1c8 */
-/* File: armv5te/OP_UNUSED_C8FF.S */
-/* File: armv5te/unused.S */
- bl common_abort
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_UNUSED_C9FF: /* 0x1c9 */
-/* File: armv5te/OP_UNUSED_C9FF.S */
-/* File: armv5te/unused.S */
- bl common_abort
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_UNUSED_CAFF: /* 0x1ca */
-/* File: armv5te/OP_UNUSED_CAFF.S */
-/* File: armv5te/unused.S */
- bl common_abort
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_UNUSED_CBFF: /* 0x1cb */
-/* File: armv5te/OP_UNUSED_CBFF.S */
-/* File: armv5te/unused.S */
- bl common_abort
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_UNUSED_CCFF: /* 0x1cc */
-/* File: armv5te/OP_UNUSED_CCFF.S */
-/* File: armv5te/unused.S */
- bl common_abort
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_UNUSED_CDFF: /* 0x1cd */
-/* File: armv5te/OP_UNUSED_CDFF.S */
-/* File: armv5te/unused.S */
- bl common_abort
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_UNUSED_CEFF: /* 0x1ce */
-/* File: armv5te/OP_UNUSED_CEFF.S */
-/* File: armv5te/unused.S */
- bl common_abort
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_UNUSED_CFFF: /* 0x1cf */
-/* File: armv5te/OP_UNUSED_CFFF.S */
-/* File: armv5te/unused.S */
- bl common_abort
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_UNUSED_D0FF: /* 0x1d0 */
-/* File: armv5te/OP_UNUSED_D0FF.S */
-/* File: armv5te/unused.S */
- bl common_abort
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_UNUSED_D1FF: /* 0x1d1 */
-/* File: armv5te/OP_UNUSED_D1FF.S */
-/* File: armv5te/unused.S */
- bl common_abort
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_UNUSED_D2FF: /* 0x1d2 */
-/* File: armv5te/OP_UNUSED_D2FF.S */
-/* File: armv5te/unused.S */
- bl common_abort
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_UNUSED_D3FF: /* 0x1d3 */
-/* File: armv5te/OP_UNUSED_D3FF.S */
-/* File: armv5te/unused.S */
- bl common_abort
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_UNUSED_D4FF: /* 0x1d4 */
-/* File: armv5te/OP_UNUSED_D4FF.S */
-/* File: armv5te/unused.S */
- bl common_abort
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_UNUSED_D5FF: /* 0x1d5 */
-/* File: armv5te/OP_UNUSED_D5FF.S */
-/* File: armv5te/unused.S */
- bl common_abort
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_UNUSED_D6FF: /* 0x1d6 */
-/* File: armv5te/OP_UNUSED_D6FF.S */
-/* File: armv5te/unused.S */
- bl common_abort
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_UNUSED_D7FF: /* 0x1d7 */
-/* File: armv5te/OP_UNUSED_D7FF.S */
-/* File: armv5te/unused.S */
- bl common_abort
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_UNUSED_D8FF: /* 0x1d8 */
-/* File: armv5te/OP_UNUSED_D8FF.S */
-/* File: armv5te/unused.S */
- bl common_abort
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_UNUSED_D9FF: /* 0x1d9 */
-/* File: armv5te/OP_UNUSED_D9FF.S */
-/* File: armv5te/unused.S */
- bl common_abort
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_UNUSED_DAFF: /* 0x1da */
-/* File: armv5te/OP_UNUSED_DAFF.S */
-/* File: armv5te/unused.S */
- bl common_abort
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_UNUSED_DBFF: /* 0x1db */
-/* File: armv5te/OP_UNUSED_DBFF.S */
-/* File: armv5te/unused.S */
- bl common_abort
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_UNUSED_DCFF: /* 0x1dc */
-/* File: armv5te/OP_UNUSED_DCFF.S */
-/* File: armv5te/unused.S */
- bl common_abort
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_UNUSED_DDFF: /* 0x1dd */
-/* File: armv5te/OP_UNUSED_DDFF.S */
-/* File: armv5te/unused.S */
- bl common_abort
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_UNUSED_DEFF: /* 0x1de */
-/* File: armv5te/OP_UNUSED_DEFF.S */
-/* File: armv5te/unused.S */
- bl common_abort
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_UNUSED_DFFF: /* 0x1df */
-/* File: armv5te/OP_UNUSED_DFFF.S */
-/* File: armv5te/unused.S */
- bl common_abort
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_UNUSED_E0FF: /* 0x1e0 */
-/* File: armv5te/OP_UNUSED_E0FF.S */
-/* File: armv5te/unused.S */
- bl common_abort
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_UNUSED_E1FF: /* 0x1e1 */
-/* File: armv5te/OP_UNUSED_E1FF.S */
-/* File: armv5te/unused.S */
- bl common_abort
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_UNUSED_E2FF: /* 0x1e2 */
-/* File: armv5te/OP_UNUSED_E2FF.S */
+.L_OP_UNUSED_FF: /* 0xff */
+/* File: armv5te/OP_UNUSED_FF.S */
/* File: armv5te/unused.S */
bl common_abort
-/* ------------------------------ */
- .balign 64
-.L_OP_UNUSED_E3FF: /* 0x1e3 */
-/* File: armv5te/OP_UNUSED_E3FF.S */
-/* File: armv5te/unused.S */
- bl common_abort
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_UNUSED_E4FF: /* 0x1e4 */
-/* File: armv5te/OP_UNUSED_E4FF.S */
-/* File: armv5te/unused.S */
- bl common_abort
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_UNUSED_E5FF: /* 0x1e5 */
-/* File: armv5te/OP_UNUSED_E5FF.S */
-/* File: armv5te/unused.S */
- bl common_abort
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_UNUSED_E6FF: /* 0x1e6 */
-/* File: armv5te/OP_UNUSED_E6FF.S */
-/* File: armv5te/unused.S */
- bl common_abort
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_UNUSED_E7FF: /* 0x1e7 */
-/* File: armv5te/OP_UNUSED_E7FF.S */
-/* File: armv5te/unused.S */
- bl common_abort
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_UNUSED_E8FF: /* 0x1e8 */
-/* File: armv5te/OP_UNUSED_E8FF.S */
-/* File: armv5te/unused.S */
- bl common_abort
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_UNUSED_E9FF: /* 0x1e9 */
-/* File: armv5te/OP_UNUSED_E9FF.S */
-/* File: armv5te/unused.S */
- bl common_abort
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_UNUSED_EAFF: /* 0x1ea */
-/* File: armv5te/OP_UNUSED_EAFF.S */
-/* File: armv5te/unused.S */
- bl common_abort
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_UNUSED_EBFF: /* 0x1eb */
-/* File: armv5te/OP_UNUSED_EBFF.S */
-/* File: armv5te/unused.S */
- bl common_abort
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_UNUSED_ECFF: /* 0x1ec */
-/* File: armv5te/OP_UNUSED_ECFF.S */
-/* File: armv5te/unused.S */
- bl common_abort
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_UNUSED_EDFF: /* 0x1ed */
-/* File: armv5te/OP_UNUSED_EDFF.S */
-/* File: armv5te/unused.S */
- bl common_abort
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_UNUSED_EEFF: /* 0x1ee */
-/* File: armv5te/OP_UNUSED_EEFF.S */
-/* File: armv5te/unused.S */
- bl common_abort
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_UNUSED_EFFF: /* 0x1ef */
-/* File: armv5te/OP_UNUSED_EFFF.S */
-/* File: armv5te/unused.S */
- bl common_abort
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_UNUSED_F0FF: /* 0x1f0 */
-/* File: armv5te/OP_UNUSED_F0FF.S */
-/* File: armv5te/unused.S */
- bl common_abort
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_UNUSED_F1FF: /* 0x1f1 */
-/* File: armv5te/OP_UNUSED_F1FF.S */
-/* File: armv5te/unused.S */
- bl common_abort
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_INVOKE_OBJECT_INIT_JUMBO: /* 0x1f2 */
-/* File: armv5te/OP_INVOKE_OBJECT_INIT_JUMBO.S */
-/* File: armv5te/OP_INVOKE_OBJECT_INIT_RANGE.S */
- /*
- * Invoke Object.<init> on an object. In practice we know that
- * Object's nullary constructor doesn't do anything, so we just
- * skip it unless a debugger is active.
- */
- FETCH(r1, 4) @ r1<- CCCC
- GET_VREG(r0, r1) @ r0<- "this" ptr
- cmp r0, #0 @ check for NULL
- beq common_errNullObject @ export PC and throw NPE
- ldr r1, [r0, #offObject_clazz] @ r1<- obj->clazz
- ldr r2, [r1, #offClassObject_accessFlags] @ r2<- clazz->accessFlags
- tst r2, #CLASS_ISFINALIZABLE @ is this class finalizable?
- bne .LOP_INVOKE_OBJECT_INIT_JUMBO_setFinal @ yes, go
-.LOP_INVOKE_OBJECT_INIT_JUMBO_finish:
- ldrh r1, [rSELF, #offThread_subMode]
- ands r1, #kSubModeDebuggerActive @ debugger active?
- bne .LOP_INVOKE_OBJECT_INIT_JUMBO_debugger @ Yes - skip optimization
- FETCH_ADVANCE_INST(4+1) @ advance to next instr, load rINST
- GET_INST_OPCODE(ip) @ ip<- opcode from rINST
- GOTO_OPCODE(ip) @ execute it
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_IGET_VOLATILE_JUMBO: /* 0x1f3 */
-/* File: armv5te/OP_IGET_VOLATILE_JUMBO.S */
-/* File: armv5te/OP_IGET_JUMBO.S */
- /*
- * Jumbo 32-bit instance field get.
- *
- * for: iget/jumbo, iget-object/jumbo, iget-boolean/jumbo, iget-byte/jumbo,
- * iget-char/jumbo, iget-short/jumbo
- */
- /* exop vBBBB, vCCCC, field@AAAAAAAA */
- FETCH(r1, 1) @ r1<- aaaa (lo)
- FETCH(r2, 2) @ r2<- AAAA (hi)
- FETCH(r0, 4) @ r0<- CCCC
- ldr r3, [rSELF, #offThread_methodClassDex] @ r3<- DvmDex
- orr r1, r1, r2, lsl #16 @ r1<- AAAAaaaa
- ldr r2, [r3, #offDvmDex_pResFields] @ r2<- pDvmDex->pResFields
- GET_VREG(r9, r0) @ r9<- fp[CCCC], the object pointer
- ldr r0, [r2, r1, lsl #2] @ r0<- resolved InstField ptr
- cmp r0, #0 @ is resolved entry null?
- bne .LOP_IGET_VOLATILE_JUMBO_finish @ no, already resolved
-8: ldr r2, [rSELF, #offThread_method] @ r2<- current method
- EXPORT_PC() @ resolve() could throw
- ldr r0, [r2, #offMethod_clazz] @ r0<- method->clazz
- bl dvmResolveInstField @ r0<- resolved InstField ptr
- b .LOP_IGET_VOLATILE_JUMBO_resolved @ resolved, continue
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_IGET_WIDE_VOLATILE_JUMBO: /* 0x1f4 */
-/* File: armv5te/OP_IGET_WIDE_VOLATILE_JUMBO.S */
-/* File: armv5te/OP_IGET_WIDE_JUMBO.S */
- /*
- * Jumbo 64-bit instance field get.
- */
- /* iget-wide/jumbo vBBBB, vCCCC, field@AAAAAAAA */
- FETCH(r1, 1) @ r1<- aaaa (lo)
- FETCH(r2, 2) @ r2<- AAAA (hi)
- FETCH(r0, 4) @ r0<- CCCC
- ldr r3, [rSELF, #offThread_methodClassDex] @ r3<- DvmDex
- orr r1, r1, r2, lsl #16 @ r1<- AAAAaaaa
- ldr r2, [r3, #offDvmDex_pResFields] @ r2<- pResFields
- GET_VREG(r9, r0) @ r9<- fp[CCCC], the object pointer
- ldr r0, [r2, r1, lsl #2] @ r0<- resolved InstField ptr
- cmp r0, #0 @ is resolved entry null?
- bne .LOP_IGET_WIDE_VOLATILE_JUMBO_finish @ no, already resolved
- ldr r2, [rSELF, #offThread_method] @ r2<- current method
- EXPORT_PC() @ resolve() could throw
- ldr r0, [r2, #offMethod_clazz] @ r0<- method->clazz
- bl dvmResolveInstField @ r0<- resolved InstField ptr
- b .LOP_IGET_WIDE_VOLATILE_JUMBO_resolved @ resolved, continue
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_IGET_OBJECT_VOLATILE_JUMBO: /* 0x1f5 */
-/* File: armv5te/OP_IGET_OBJECT_VOLATILE_JUMBO.S */
-/* File: armv5te/OP_IGET_OBJECT_JUMBO.S */
-/* File: armv5te/OP_IGET_JUMBO.S */
- /*
- * Jumbo 32-bit instance field get.
- *
- * for: iget/jumbo, iget-object/jumbo, iget-boolean/jumbo, iget-byte/jumbo,
- * iget-char/jumbo, iget-short/jumbo
- */
- /* exop vBBBB, vCCCC, field@AAAAAAAA */
- FETCH(r1, 1) @ r1<- aaaa (lo)
- FETCH(r2, 2) @ r2<- AAAA (hi)
- FETCH(r0, 4) @ r0<- CCCC
- ldr r3, [rSELF, #offThread_methodClassDex] @ r3<- DvmDex
- orr r1, r1, r2, lsl #16 @ r1<- AAAAaaaa
- ldr r2, [r3, #offDvmDex_pResFields] @ r2<- pDvmDex->pResFields
- GET_VREG(r9, r0) @ r9<- fp[CCCC], the object pointer
- ldr r0, [r2, r1, lsl #2] @ r0<- resolved InstField ptr
- cmp r0, #0 @ is resolved entry null?
- bne .LOP_IGET_OBJECT_VOLATILE_JUMBO_finish @ no, already resolved
-8: ldr r2, [rSELF, #offThread_method] @ r2<- current method
- EXPORT_PC() @ resolve() could throw
- ldr r0, [r2, #offMethod_clazz] @ r0<- method->clazz
- bl dvmResolveInstField @ r0<- resolved InstField ptr
- b .LOP_IGET_OBJECT_VOLATILE_JUMBO_resolved @ resolved, continue
-
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_IPUT_VOLATILE_JUMBO: /* 0x1f6 */
-/* File: armv5te/OP_IPUT_VOLATILE_JUMBO.S */
-/* File: armv5te/OP_IPUT_JUMBO.S */
- /*
- * Jumbo 32-bit instance field put.
- *
- * for: iput/jumbo, iput-boolean/jumbo, iput-byte/jumbo, iput-char/jumbo,
- * iput-short/jumbo
- */
- /* exop vBBBB, vCCCC, field@AAAAAAAA */
- FETCH(r1, 1) @ r1<- aaaa (lo)
- FETCH(r2, 2) @ r2<- AAAA (hi)
- FETCH(r0, 4) @ r0<- CCCC
- ldr r3, [rSELF, #offThread_methodClassDex] @ r3<- DvmDex
- orr r1, r1, r2, lsl #16 @ r1<- AAAAaaaa
- ldr r2, [r3, #offDvmDex_pResFields] @ r2<- pDvmDex->pResFields
- GET_VREG(r9, r0) @ r9<- fp[CCCC], the object pointer
- ldr r0, [r2, r1, lsl #2] @ r0<- resolved InstField ptr
- cmp r0, #0 @ is resolved entry null?
- bne .LOP_IPUT_VOLATILE_JUMBO_finish @ no, already resolved
-8: ldr r2, [rSELF, #offThread_method] @ r2<- current method
- EXPORT_PC() @ resolve() could throw
- ldr r0, [r2, #offMethod_clazz] @ r0<- method->clazz
- bl dvmResolveInstField @ r0<- resolved InstField ptr
- b .LOP_IPUT_VOLATILE_JUMBO_resolved @ resolved, continue
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_IPUT_WIDE_VOLATILE_JUMBO: /* 0x1f7 */
-/* File: armv5te/OP_IPUT_WIDE_VOLATILE_JUMBO.S */
-/* File: armv5te/OP_IPUT_WIDE_JUMBO.S */
- /* iput-wide/jumbo vBBBB, vCCCC, field@AAAAAAAA */
- FETCH(r1, 1) @ r1<- aaaa (lo)
- FETCH(r2, 2) @ r2<- AAAA (hi)
- FETCH(r0, 4) @ r0<- CCCC
- ldr r3, [rSELF, #offThread_methodClassDex] @ r3<- DvmDex
- orr r1, r1, r2, lsl #16 @ r1<- AAAAaaaa
- ldr r2, [r3, #offDvmDex_pResFields] @ r2<- pResFields
- GET_VREG(r9, r0) @ r9<- fp[B], the object pointer
- ldr r0, [r2, r1, lsl #2] @ r0<- resolved InstField ptr
- cmp r0, #0 @ is resolved entry null?
- bne .LOP_IPUT_WIDE_VOLATILE_JUMBO_finish @ no, already resolved
-8: ldr r2, [rSELF, #offThread_method] @ r2<- current method
- EXPORT_PC() @ resolve() could throw
- ldr r0, [r2, #offMethod_clazz] @ r0<- method->clazz
- bl dvmResolveInstField @ r0<- resolved InstField ptr
- b .LOP_IPUT_WIDE_VOLATILE_JUMBO_resolved @ resolved, continue
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_IPUT_OBJECT_VOLATILE_JUMBO: /* 0x1f8 */
-/* File: armv5te/OP_IPUT_OBJECT_VOLATILE_JUMBO.S */
-/* File: armv5te/OP_IPUT_OBJECT_JUMBO.S */
- /*
- * Jumbo 32-bit instance field put.
- */
- /* iput-object/jumbo vBBBB, vCCCC, field@AAAAAAAA */
- FETCH(r1, 1) @ r1<- aaaa (lo)
- FETCH(r2, 2) @ r2<- AAAA (hi)
- FETCH(r0, 4) @ r0<- CCCC
- ldr r3, [rSELF, #offThread_methodClassDex] @ r3<- DvmDex
- orr r1, r1, r2, lsl #16 @ r1<- AAAAaaaa
- ldr r2, [r3, #offDvmDex_pResFields] @ r2<- pDvmDex->pResFields
- GET_VREG(r9, r0) @ r9<- fp[CCCC], the object pointer
- ldr r0, [r2, r1, lsl #2] @ r0<- resolved InstField ptr
- cmp r0, #0 @ is resolved entry null?
- bne .LOP_IPUT_OBJECT_VOLATILE_JUMBO_finish @ no, already resolved
-8: ldr r2, [rSELF, #offThread_method] @ r2<- current method
- EXPORT_PC() @ resolve() could throw
- ldr r0, [r2, #offMethod_clazz] @ r0<- method->clazz
- bl dvmResolveInstField @ r0<- resolved InstField ptr
- b .LOP_IPUT_OBJECT_VOLATILE_JUMBO_resolved @ resolved, continue
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_SGET_VOLATILE_JUMBO: /* 0x1f9 */
-/* File: armv5te/OP_SGET_VOLATILE_JUMBO.S */
-/* File: armv5te/OP_SGET_JUMBO.S */
- /*
- * Jumbo 32-bit SGET handler.
- *
- * for: sget/jumbo, sget-object/jumbo, sget-boolean/jumbo, sget-byte/jumbo,
- * sget-char/jumbo, sget-short/jumbo
- */
- /* exop vBBBB, field@AAAAAAAA */
- ldr r2, [rSELF, #offThread_methodClassDex] @ r2<- DvmDex
- FETCH(r0, 1) @ r0<- aaaa (lo)
- FETCH(r1, 2) @ r1<- AAAA (hi)
- ldr r10, [r2, #offDvmDex_pResFields] @ r10<- dvmDex->pResFields
- orr r1, r0, r1, lsl #16 @ r1<- AAAAaaaa
- ldr r0, [r10, r1, lsl #2] @ r0<- resolved StaticField ptr
- cmp r0, #0 @ is resolved entry null?
- beq .LOP_SGET_VOLATILE_JUMBO_resolve @ yes, do resolve
-.LOP_SGET_VOLATILE_JUMBO_finish: @ field ptr in r0
- ldr r1, [r0, #offStaticField_value] @ r1<- field value
- SMP_DMB @ acquiring load
- FETCH(r2, 3) @ r2<- BBBB
- FETCH_ADVANCE_INST(4) @ advance rPC, load rINST
- SET_VREG(r1, r2) @ fp[BBBB]<- r1
- GET_INST_OPCODE(ip) @ extract opcode from rINST
- GOTO_OPCODE(ip) @ jump to next instruction
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_SGET_WIDE_VOLATILE_JUMBO: /* 0x1fa */
-/* File: armv5te/OP_SGET_WIDE_VOLATILE_JUMBO.S */
-/* File: armv5te/OP_SGET_WIDE_JUMBO.S */
- /*
- * Jumbo 64-bit SGET handler.
- */
- /* sget-wide/jumbo vBBBB, field@AAAAAAAA */
- ldr r2, [rSELF, #offThread_methodClassDex] @ r2<- DvmDex
- FETCH(r0, 1) @ r0<- aaaa (lo)
- FETCH(r1, 2) @ r1<- AAAA (hi)
- ldr r2, [r2, #offDvmDex_pResFields] @ r2<- dvmDex->pResFields
- orr r1, r0, r1, lsl #16 @ r1<- AAAAaaaa
- ldr r0, [r2, r1, lsl #2] @ r0<- resolved StaticField ptr
- cmp r0, #0 @ is resolved entry null?
- beq .LOP_SGET_WIDE_VOLATILE_JUMBO_resolve @ yes, do resolve
-.LOP_SGET_WIDE_VOLATILE_JUMBO_finish:
- FETCH(r9, 3) @ r9<- BBBB
- .if 1
- add r0, r0, #offStaticField_value @ r0<- pointer to data
- bl dvmQuasiAtomicRead64 @ r0/r1<- contents of field
- .else
- ldrd r0, [r0, #offStaticField_value] @ r0/r1<- field value (aligned)
- .endif
- add r9, rFP, r9, lsl #2 @ r9<- &fp[BBBB]
- FETCH_ADVANCE_INST(4) @ advance rPC, load rINST
- stmia r9, {r0-r1} @ vBBBB/vBBBB+1<- r0/r1
- GET_INST_OPCODE(ip) @ extract opcode from rINST
- GOTO_OPCODE(ip) @ jump to next instruction
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_SGET_OBJECT_VOLATILE_JUMBO: /* 0x1fb */
-/* File: armv5te/OP_SGET_OBJECT_VOLATILE_JUMBO.S */
-/* File: armv5te/OP_SGET_OBJECT_JUMBO.S */
-/* File: armv5te/OP_SGET_JUMBO.S */
- /*
- * Jumbo 32-bit SGET handler.
- *
- * for: sget/jumbo, sget-object/jumbo, sget-boolean/jumbo, sget-byte/jumbo,
- * sget-char/jumbo, sget-short/jumbo
- */
- /* exop vBBBB, field@AAAAAAAA */
- ldr r2, [rSELF, #offThread_methodClassDex] @ r2<- DvmDex
- FETCH(r0, 1) @ r0<- aaaa (lo)
- FETCH(r1, 2) @ r1<- AAAA (hi)
- ldr r10, [r2, #offDvmDex_pResFields] @ r10<- dvmDex->pResFields
- orr r1, r0, r1, lsl #16 @ r1<- AAAAaaaa
- ldr r0, [r10, r1, lsl #2] @ r0<- resolved StaticField ptr
- cmp r0, #0 @ is resolved entry null?
- beq .LOP_SGET_OBJECT_VOLATILE_JUMBO_resolve @ yes, do resolve
-.LOP_SGET_OBJECT_VOLATILE_JUMBO_finish: @ field ptr in r0
- ldr r1, [r0, #offStaticField_value] @ r1<- field value
- SMP_DMB @ acquiring load
- FETCH(r2, 3) @ r2<- BBBB
- FETCH_ADVANCE_INST(4) @ advance rPC, load rINST
- SET_VREG(r1, r2) @ fp[BBBB]<- r1
- GET_INST_OPCODE(ip) @ extract opcode from rINST
- GOTO_OPCODE(ip) @ jump to next instruction
-
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_SPUT_VOLATILE_JUMBO: /* 0x1fc */
-/* File: armv5te/OP_SPUT_VOLATILE_JUMBO.S */
-/* File: armv5te/OP_SPUT_JUMBO.S */
- /*
- * Jumbo 32-bit SPUT handler.
- *
- * for: sput/jumbo, sput-boolean/jumbo, sput-byte/jumbo, sput-char/jumbo,
- * sput-short/jumbo
- */
- /* exop vBBBB, field@AAAAAAAA */
- ldr r2, [rSELF, #offThread_methodClassDex] @ r2<- DvmDex
- FETCH(r0, 1) @ r0<- aaaa (lo)
- FETCH(r1, 2) @ r1<- AAAA (hi)
- ldr r10, [r2, #offDvmDex_pResFields] @ r10<- dvmDex->pResFields
- orr r1, r0, r1, lsl #16 @ r1<- AAAAaaaa
- ldr r0, [r10, r1, lsl #2] @ r0<- resolved StaticField ptr
- cmp r0, #0 @ is resolved entry null?
- beq .LOP_SPUT_VOLATILE_JUMBO_resolve @ yes, do resolve
-.LOP_SPUT_VOLATILE_JUMBO_finish: @ field ptr in r0
- FETCH(r2, 3) @ r2<- BBBB
- FETCH_ADVANCE_INST(4) @ advance rPC, load rINST
- GET_VREG(r1, r2) @ r1<- fp[BBBB]
- GET_INST_OPCODE(ip) @ extract opcode from rINST
- SMP_DMB_ST @ releasing store
- str r1, [r0, #offStaticField_value] @ field<- vBBBB
- SMP_DMB
- GOTO_OPCODE(ip) @ jump to next instruction
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_SPUT_WIDE_VOLATILE_JUMBO: /* 0x1fd */
-/* File: armv5te/OP_SPUT_WIDE_VOLATILE_JUMBO.S */
-/* File: armv5te/OP_SPUT_WIDE_JUMBO.S */
- /*
- * Jumbo 64-bit SPUT handler.
- */
- /* sput-wide/jumbo vBBBB, field@AAAAAAAA */
- ldr r0, [rSELF, #offThread_methodClassDex] @ r0<- DvmDex
- FETCH(r1, 1) @ r1<- aaaa (lo)
- FETCH(r2, 2) @ r2<- AAAA (hi)
- ldr r10, [r0, #offDvmDex_pResFields] @ r10<- dvmDex->pResFields
- orr r1, r1, r2, lsl #16 @ r1<- AAAAaaaa
- FETCH(r9, 3) @ r9<- BBBB
- ldr r2, [r10, r1, lsl #2] @ r2<- resolved StaticField ptr
- add r9, rFP, r9, lsl #2 @ r9<- &fp[BBBB]
- cmp r2, #0 @ is resolved entry null?
- beq .LOP_SPUT_WIDE_VOLATILE_JUMBO_resolve @ yes, do resolve
-.LOP_SPUT_WIDE_VOLATILE_JUMBO_finish: @ field ptr in r2, BBBB in r9
- FETCH_ADVANCE_INST(4) @ advance rPC, load rINST
- ldmia r9, {r0-r1} @ r0/r1<- vBBBB/vBBBB+1
- GET_INST_OPCODE(r10) @ extract opcode from rINST
- .if 1
- add r2, r2, #offStaticField_value @ r2<- pointer to data
- bl dvmQuasiAtomicSwap64Sync @ stores r0/r1 into addr r2
- .else
- strd r0, [r2, #offStaticField_value] @ field<- vBBBB/vBBBB+1
- .endif
- GOTO_OPCODE(r10) @ jump to next instruction
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_SPUT_OBJECT_VOLATILE_JUMBO: /* 0x1fe */
-/* File: armv5te/OP_SPUT_OBJECT_VOLATILE_JUMBO.S */
-/* File: armv5te/OP_SPUT_OBJECT_JUMBO.S */
- /*
- * Jumbo 32-bit SPUT handler for objects
- */
- /* sput-object/jumbo vBBBB, field@AAAAAAAA */
- ldr r2, [rSELF, #offThread_methodClassDex] @ r2<- DvmDex
- FETCH(r0, 1) @ r0<- aaaa (lo)
- FETCH(r1, 2) @ r1<- AAAA (hi)
- ldr r10, [r2, #offDvmDex_pResFields] @ r10<- dvmDex->pResFields
- orr r1, r0, r1, lsl #16 @ r1<- AAAAaaaa
- ldr r0, [r10, r1, lsl #2] @ r0<- resolved StaticField ptr
- cmp r0, #0 @ is resolved entry null?
- beq .LOP_SPUT_OBJECT_VOLATILE_JUMBO_resolve @ yes, do resolve
-.LOP_SPUT_OBJECT_VOLATILE_JUMBO_finish: @ field ptr in r0
- FETCH(r2, 3) @ r2<- BBBB
- FETCH_ADVANCE_INST(4) @ advance rPC, load rINST
- GET_VREG(r1, r2) @ r1<- fp[BBBB]
- ldr r2, [rSELF, #offThread_cardTable] @ r2<- card table base
- ldr r9, [r0, #offField_clazz] @ r9<- field->clazz
- GET_INST_OPCODE(ip) @ extract opcode from rINST
- SMP_DMB_ST @ releasing store
- b .LOP_SPUT_OBJECT_VOLATILE_JUMBO_end
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_THROW_VERIFICATION_ERROR_JUMBO: /* 0x1ff */
-/* File: armv5te/OP_THROW_VERIFICATION_ERROR_JUMBO.S */
- /*
- * Handle a jumbo throw-verification-error instruction. This throws an
- * exception for an error discovered during verification. The
- * exception is indicated by BBBB, with some detail provided by AAAAAAAA.
- */
- /* exop BBBB, Class@AAAAAAAA */
- FETCH(r1, 1) @ r1<- aaaa (lo)
- FETCH(r2, 2) @ r2<- AAAA (hi)
- ldr r0, [rSELF, #offThread_method] @ r0<- self->method
- orr r2, r1, r2, lsl #16 @ r2<- AAAAaaaa
- EXPORT_PC() @ export the PC
- FETCH(r1, 3) @ r1<- BBBB
- bl dvmThrowVerificationError @ always throws
- b common_exceptionThrown @ handle exception
-
.balign 64
.size dvmAsmInstructionStart, .-dvmAsmInstructionStart
.global dvmAsmInstructionEnd
@@ -12701,11 +9587,7 @@ d2l_doconv:
*/
.LOP_INVOKE_OBJECT_INIT_RANGE_debugger:
ldr r1, [rSELF, #offThread_mainHandlerTable]
- .if 0
- mov ip, #OP_INVOKE_DIRECT_JUMBO
- .else
mov ip, #OP_INVOKE_DIRECT_RANGE
- .endif
GOTO_OPCODE_BASE(r1,ip) @ execute it
/* continuation for OP_IPUT_OBJECT_VOLATILE */
@@ -12793,1594 +9675,6 @@ d2l_doconv:
b .LOP_SPUT_OBJECT_VOLATILE_finish @ resume
-/* continuation for OP_CONST_CLASS_JUMBO */
-
- /*
- * Continuation if the Class has not yet been resolved.
- * r1: AAAAAAAA (Class ref)
- * r9: target register
- */
-.LOP_CONST_CLASS_JUMBO_resolve:
- EXPORT_PC()
- ldr r0, [rSELF, #offThread_method] @ r0<- self->method
- mov r2, #1 @ r2<- true
- ldr r0, [r0, #offMethod_clazz] @ r0<- method->clazz
- bl dvmResolveClass @ r0<- Class reference
- cmp r0, #0 @ failed?
- beq common_exceptionThrown @ yup, handle the exception
- FETCH_ADVANCE_INST(4) @ advance rPC, load rINST
- GET_INST_OPCODE(ip) @ extract opcode from rINST
- SET_VREG(r0, r9) @ vBBBB<- r0
- GOTO_OPCODE(ip) @ jump to next instruction
-
-/* continuation for OP_CHECK_CAST_JUMBO */
-
- /*
- * Trivial test failed, need to perform full check. This is common.
- * r0 holds obj->clazz
- * r1 holds desired class resolved from AAAAAAAA
- * r9 holds object
- */
-.LOP_CHECK_CAST_JUMBO_fullcheck:
- mov r10, r1 @ avoid ClassObject getting clobbered
- bl dvmInstanceofNonTrivial @ r0<- boolean result
- cmp r0, #0 @ failed?
- bne .LOP_CHECK_CAST_JUMBO_okay @ no, success
-
- @ A cast has failed. We need to throw a ClassCastException.
- EXPORT_PC() @ about to throw
- ldr r0, [r9, #offObject_clazz] @ r0<- obj->clazz (actual class)
- mov r1, r10 @ r1<- desired class
- bl dvmThrowClassCastException
- b common_exceptionThrown
-
- /*
- * Advance PC and get the next opcode.
- */
-.LOP_CHECK_CAST_JUMBO_okay:
- FETCH_ADVANCE_INST(4) @ advance rPC, load rINST
- GET_INST_OPCODE(ip) @ extract opcode from rINST
- GOTO_OPCODE(ip) @ jump to next instruction
-
- /*
- * Resolution required. This is the least-likely path.
- *
- * r2 holds AAAAAAAA
- * r9 holds object
- */
-.LOP_CHECK_CAST_JUMBO_resolve:
- EXPORT_PC() @ resolve() could throw
- ldr r3, [rSELF, #offThread_method] @ r3<- self->method
- mov r1, r2 @ r1<- AAAAAAAA
- mov r2, #0 @ r2<- false
- ldr r0, [r3, #offMethod_clazz] @ r0<- method->clazz
- bl dvmResolveClass @ r0<- resolved ClassObject ptr
- cmp r0, #0 @ got null?
- beq common_exceptionThrown @ yes, handle exception
- mov r1, r0 @ r1<- class resolved from AAAAAAAA
- ldr r0, [r9, #offObject_clazz] @ r0<- obj->clazz
- b .LOP_CHECK_CAST_JUMBO_resolved @ pick up where we left off
-
-/* continuation for OP_INSTANCE_OF_JUMBO */
-
- /*
- * Class resolved, determine type of check necessary. This is common.
- * r0 holds obj->clazz
- * r1 holds class resolved from AAAAAAAA
- * r9 holds BBBB
- */
-.LOP_INSTANCE_OF_JUMBO_resolved:
- cmp r0, r1 @ same class (trivial success)?
- beq .LOP_INSTANCE_OF_JUMBO_trivial @ yes, trivial finish
- @ fall through to OP_INSTANCE_OF_JUMBO_fullcheck
-
- /*
- * Trivial test failed, need to perform full check. This is common.
- * r0 holds obj->clazz
- * r1 holds class resolved from AAAAAAAA
- * r9 holds BBBB
- */
-.LOP_INSTANCE_OF_JUMBO_fullcheck:
- bl dvmInstanceofNonTrivial @ r0<- boolean result
- @ fall through to OP_INSTANCE_OF_JUMBO_store
-
- /*
- * r0 holds boolean result
- * r9 holds BBBB
- */
-.LOP_INSTANCE_OF_JUMBO_store:
- FETCH_ADVANCE_INST(5) @ advance rPC, load rINST
- SET_VREG(r0, r9) @ vBBBB<- r0
- GET_INST_OPCODE(ip) @ extract opcode from rINST
- GOTO_OPCODE(ip) @ jump to next instruction
-
- /*
- * Trivial test succeeded, save and bail.
- * r9 holds BBBB
- */
-.LOP_INSTANCE_OF_JUMBO_trivial:
- mov r0, #1 @ indicate success
- @ could b OP_INSTANCE_OF_JUMBO_store, but copying is faster and cheaper
- FETCH_ADVANCE_INST(5) @ advance rPC, load rINST
- SET_VREG(r0, r9) @ vBBBB<- r0
- GET_INST_OPCODE(ip) @ extract opcode from rINST
- GOTO_OPCODE(ip) @ jump to next instruction
-
- /*
- * Resolution required. This is the least-likely path.
- *
- * r3 holds AAAAAAAA
- * r9 holds BBBB
- */
-
-.LOP_INSTANCE_OF_JUMBO_resolve:
- EXPORT_PC() @ resolve() could throw
- ldr r0, [rSELF, #offThread_method] @ r0<- self->method
- mov r1, r3 @ r1<- AAAAAAAA
- mov r2, #1 @ r2<- true
- ldr r0, [r0, #offMethod_clazz] @ r0<- method->clazz
- bl dvmResolveClass @ r0<- resolved ClassObject ptr
- cmp r0, #0 @ got null?
- beq common_exceptionThrown @ yes, handle exception
- FETCH(r3, 4) @ r3<- vCCCC
- mov r1, r0 @ r1<- class resolved from AAAAAAAA
- GET_VREG(r0, r3) @ r0<- vCCCC (object)
- ldr r0, [r0, #offObject_clazz] @ r0<- obj->clazz
- b .LOP_INSTANCE_OF_JUMBO_resolved @ pick up where we left off
-
-/* continuation for OP_NEW_INSTANCE_JUMBO */
-
- .balign 32 @ minimize cache lines
-.LOP_NEW_INSTANCE_JUMBO_finish: @ r0=new object
- FETCH(r3, 3) @ r3<- BBBB
- cmp r0, #0 @ failed?
-#if defined(WITH_JIT)
- /*
- * The JIT needs the class to be fully resolved before it can
- * include this instruction in a trace.
- */
- ldrh r1, [rSELF, #offThread_subMode]
- beq common_exceptionThrown @ yes, handle the exception
- ands r1, #kSubModeJitTraceBuild @ under construction?
- bne .LOP_NEW_INSTANCE_JUMBO_jitCheck
-#else
- beq common_exceptionThrown @ yes, handle the exception
-#endif
-.LOP_NEW_INSTANCE_JUMBO_end:
- FETCH_ADVANCE_INST(4) @ advance rPC, load rINST
- GET_INST_OPCODE(ip) @ extract opcode from rINST
- SET_VREG(r0, r3) @ vBBBB<- r0
- GOTO_OPCODE(ip) @ jump to next instruction
-
-#if defined(WITH_JIT)
- /*
- * Check to see if we need to stop the trace building early.
- * r0: new object
- * r3: vAA
- */
-.LOP_NEW_INSTANCE_JUMBO_jitCheck:
- ldr r1, [r10] @ reload resolved class
- cmp r1, #0 @ okay?
- bne .LOP_NEW_INSTANCE_JUMBO_end @ yes, finish
- mov r9, r0 @ preserve new object
- mov r10, r3 @ preserve vAA
- mov r0, rSELF
- mov r1, rPC
- bl dvmJitEndTraceSelect @ (self, pc)
- FETCH_ADVANCE_INST(2) @ advance rPC, load rINST
- GET_INST_OPCODE(ip) @ extract opcode from rINST
- SET_VREG(r9, r10) @ vAA<- new object
- GOTO_OPCODE(ip) @ jump to next instruction
-#endif
-
- /*
- * Class initialization required.
- *
- * r0 holds class object
- */
-.LOP_NEW_INSTANCE_JUMBO_needinit:
- mov r9, r0 @ save r0
- bl dvmInitClass @ initialize class
- cmp r0, #0 @ check boolean result
- mov r0, r9 @ restore r0
- bne .LOP_NEW_INSTANCE_JUMBO_initialized @ success, continue
- b common_exceptionThrown @ failed, deal with init exception
-
- /*
- * Resolution required. This is the least-likely path.
- *
- * r1 holds AAAAAAAA
- */
-.LOP_NEW_INSTANCE_JUMBO_resolve:
- ldr r3, [rSELF, #offThread_method] @ r3<- self->method
- mov r2, #0 @ r2<- false
- ldr r0, [r3, #offMethod_clazz] @ r0<- method->clazz
- bl dvmResolveClass @ r0<- resolved ClassObject ptr
- cmp r0, #0 @ got null?
- bne .LOP_NEW_INSTANCE_JUMBO_resolved @ no, continue
- b common_exceptionThrown @ yes, handle exception
-
-/* continuation for OP_NEW_ARRAY_JUMBO */
-
-
- /*
- * Resolve class. (This is an uncommon case.)
- *
- * r1 holds array length
- * r2 holds class ref AAAAAAAA
- */
-.LOP_NEW_ARRAY_JUMBO_resolve:
- ldr r3, [rSELF, #offThread_method] @ r3<- self->method
- mov r9, r1 @ r9<- length (save)
- mov r1, r2 @ r1<- AAAAAAAA
- mov r2, #0 @ r2<- false
- ldr r0, [r3, #offMethod_clazz] @ r0<- method->clazz
- bl dvmResolveClass @ r0<- call(clazz, ref)
- cmp r0, #0 @ got null?
- mov r1, r9 @ r1<- length (restore)
- beq common_exceptionThrown @ yes, handle exception
- @ fall through to OP_NEW_ARRAY_JUMBO_finish
-
- /*
- * Finish allocation.
- *
- * r0 holds class
- * r1 holds array length
- */
-.LOP_NEW_ARRAY_JUMBO_finish:
- mov r2, #ALLOC_DONT_TRACK @ don't track in local refs table
- bl dvmAllocArrayByClass @ r0<- call(clazz, length, flags)
- cmp r0, #0 @ failed?
- FETCH(r2, 3) @ r2<- vBBBB
- beq common_exceptionThrown @ yes, handle the exception
- FETCH_ADVANCE_INST(5) @ advance rPC, load rINST
- GET_INST_OPCODE(ip) @ extract opcode from rINST
- SET_VREG(r0, r2) @ vBBBB<- r0
- GOTO_OPCODE(ip) @ jump to next instruction
-
-/* continuation for OP_FILLED_NEW_ARRAY_JUMBO */
-
- /*
- * On entry:
- * r0 holds array class
- */
-.LOP_FILLED_NEW_ARRAY_JUMBO_continue:
- ldr r3, [r0, #offClassObject_descriptor] @ r3<- arrayClass->descriptor
- mov r2, #ALLOC_DONT_TRACK @ r2<- alloc flags
- ldrb rINST, [r3, #1] @ rINST<- descriptor[1]
- FETCH(r1, 3) @ r1<- BBBB (length)
- cmp rINST, #'I' @ array of ints?
- cmpne rINST, #'L' @ array of objects?
- cmpne rINST, #'[' @ array of arrays?
- mov r9, r1 @ save length in r9
- bne .LOP_FILLED_NEW_ARRAY_JUMBO_notimpl @ no, not handled yet
- bl dvmAllocArrayByClass @ r0<- call(arClass, length, flags)
- cmp r0, #0 @ null return?
- beq common_exceptionThrown @ alloc failed, handle exception
-
- FETCH(r1, 4) @ r1<- CCCC
- str r0, [rSELF, #offThread_retval] @ retval.l <- new array
- str rINST, [rSELF, #offThread_retval+4] @ retval.h <- type
- add r0, r0, #offArrayObject_contents @ r0<- newArray->contents
- subs r9, r9, #1 @ length--, check for neg
- FETCH_ADVANCE_INST(5) @ advance to next instr, load rINST
- bmi 2f @ was zero, bail
-
- @ copy values from registers into the array
- @ r0=array, r1=CCCC, r9=BBBB (length)
- add r2, rFP, r1, lsl #2 @ r2<- &fp[CCCC]
-1: ldr r3, [r2], #4 @ r3<- *r2++
- subs r9, r9, #1 @ count--
- str r3, [r0], #4 @ *contents++ = vX
- bpl 1b
-
-2: ldr r0, [rSELF, #offThread_retval] @ r0<- object
- ldr r1, [rSELF, #offThread_retval+4] @ r1<- type
- ldr r2, [rSELF, #offThread_cardTable] @ r2<- card table base
- GET_INST_OPCODE(ip) @ ip<- opcode from rINST
- cmp r1, #'I' @ Is int array?
- strneb r2, [r2, r0, lsr #GC_CARD_SHIFT] @ Mark card based on object head
- GOTO_OPCODE(ip) @ execute it
-
- /*
- * Throw an exception indicating that we have not implemented this
- * mode of filled-new-array.
- */
-.LOP_FILLED_NEW_ARRAY_JUMBO_notimpl:
- ldr r0, .L_strFilledNewArrayNotImpl_OP_FILLED_NEW_ARRAY_JUMBO
- bl dvmThrowInternalError
- b common_exceptionThrown
-
- /*
- * Ideally we'd only define this once, but depending on layout we can
- * exceed the range of the load above.
- */
-
-.L_strFilledNewArrayNotImpl_OP_FILLED_NEW_ARRAY_JUMBO:
- .word .LstrFilledNewArrayNotImpl
-
-/* continuation for OP_IGET_JUMBO */
-
- /*
- * Currently:
- * r0 holds resolved field
- * r9 holds object
- */
-.LOP_IGET_JUMBO_resolved:
- cmp r0, #0 @ resolution unsuccessful?
- beq common_exceptionThrown @ yes, throw exception
- @ fall through to OP_IGET_JUMBO_finish
-
- /*
- * Currently:
- * r0 holds resolved field
- * r9 holds object
- */
-.LOP_IGET_JUMBO_finish:
- @bl common_squeak0
- cmp r9, #0 @ check object for null
- ldr r3, [r0, #offInstField_byteOffset] @ r3<- byte offset of field
- beq common_errNullObject @ object was null
- ldr r0, [r9, r3] @ r0<- obj.field (8/16/32 bits)
- @ no-op @ acquiring load
- FETCH(r2, 3) @ r2<- BBBB
- FETCH_ADVANCE_INST(5) @ advance rPC, load rINST
- SET_VREG(r0, r2) @ fp[BBBB]<- r0
- GET_INST_OPCODE(ip) @ extract opcode from rINST
- GOTO_OPCODE(ip) @ jump to next instruction
-
-/* continuation for OP_IGET_WIDE_JUMBO */
-
- /*
- * Currently:
- * r0 holds resolved field
- * r9 holds object
- */
-.LOP_IGET_WIDE_JUMBO_resolved:
- cmp r0, #0 @ resolution unsuccessful?
- beq common_exceptionThrown @ yes, throw exception
- @ fall through to OP_IGET_WIDE_JUMBO_finish
-
- /*
- * Currently:
- * r0 holds resolved field
- * r9 holds object
- */
-.LOP_IGET_WIDE_JUMBO_finish:
- cmp r9, #0 @ check object for null
- ldr r3, [r0, #offInstField_byteOffset] @ r3<- byte offset of field
- beq common_errNullObject @ object was null
- .if 0
- add r0, r9, r3 @ r0<- address of field
- bl dvmQuasiAtomicRead64 @ r0/r1<- contents of field
- .else
- ldrd r0, [r9, r3] @ r0/r1<- obj.field (64-bit align ok)
- .endif
- FETCH(r2, 3) @ r2<- BBBB
- FETCH_ADVANCE_INST(5) @ advance rPC, load rINST
- add r3, rFP, r2, lsl #2 @ r3<- &fp[BBBB]
- GET_INST_OPCODE(ip) @ extract opcode from rINST
- stmia r3, {r0-r1} @ fp[BBBB]<- r0/r1
- GOTO_OPCODE(ip) @ jump to next instruction
-
-/* continuation for OP_IGET_OBJECT_JUMBO */
-
- /*
- * Currently:
- * r0 holds resolved field
- * r9 holds object
- */
-.LOP_IGET_OBJECT_JUMBO_resolved:
- cmp r0, #0 @ resolution unsuccessful?
- beq common_exceptionThrown @ yes, throw exception
- @ fall through to OP_IGET_OBJECT_JUMBO_finish
-
- /*
- * Currently:
- * r0 holds resolved field
- * r9 holds object
- */
-.LOP_IGET_OBJECT_JUMBO_finish:
- @bl common_squeak0
- cmp r9, #0 @ check object for null
- ldr r3, [r0, #offInstField_byteOffset] @ r3<- byte offset of field
- beq common_errNullObject @ object was null
- ldr r0, [r9, r3] @ r0<- obj.field (8/16/32 bits)
- @ no-op @ acquiring load
- FETCH(r2, 3) @ r2<- BBBB
- FETCH_ADVANCE_INST(5) @ advance rPC, load rINST
- SET_VREG(r0, r2) @ fp[BBBB]<- r0
- GET_INST_OPCODE(ip) @ extract opcode from rINST
- GOTO_OPCODE(ip) @ jump to next instruction
-
-/* continuation for OP_IGET_BOOLEAN_JUMBO */
-
- /*
- * Currently:
- * r0 holds resolved field
- * r9 holds object
- */
-.LOP_IGET_BOOLEAN_JUMBO_resolved:
- cmp r0, #0 @ resolution unsuccessful?
- beq common_exceptionThrown @ yes, throw exception
- @ fall through to OP_IGET_BOOLEAN_JUMBO_finish
-
- /*
- * Currently:
- * r0 holds resolved field
- * r9 holds object
- */
-.LOP_IGET_BOOLEAN_JUMBO_finish:
- @bl common_squeak1
- cmp r9, #0 @ check object for null
- ldr r3, [r0, #offInstField_byteOffset] @ r3<- byte offset of field
- beq common_errNullObject @ object was null
- ldr r0, [r9, r3] @ r0<- obj.field (8/16/32 bits)
- @ no-op @ acquiring load
- FETCH(r2, 3) @ r2<- BBBB
- FETCH_ADVANCE_INST(5) @ advance rPC, load rINST
- SET_VREG(r0, r2) @ fp[BBBB]<- r0
- GET_INST_OPCODE(ip) @ extract opcode from rINST
- GOTO_OPCODE(ip) @ jump to next instruction
-
-/* continuation for OP_IGET_BYTE_JUMBO */
-
- /*
- * Currently:
- * r0 holds resolved field
- * r9 holds object
- */
-.LOP_IGET_BYTE_JUMBO_resolved:
- cmp r0, #0 @ resolution unsuccessful?
- beq common_exceptionThrown @ yes, throw exception
- @ fall through to OP_IGET_BYTE_JUMBO_finish
-
- /*
- * Currently:
- * r0 holds resolved field
- * r9 holds object
- */
-.LOP_IGET_BYTE_JUMBO_finish:
- @bl common_squeak2
- cmp r9, #0 @ check object for null
- ldr r3, [r0, #offInstField_byteOffset] @ r3<- byte offset of field
- beq common_errNullObject @ object was null
- ldr r0, [r9, r3] @ r0<- obj.field (8/16/32 bits)
- @ no-op @ acquiring load
- FETCH(r2, 3) @ r2<- BBBB
- FETCH_ADVANCE_INST(5) @ advance rPC, load rINST
- SET_VREG(r0, r2) @ fp[BBBB]<- r0
- GET_INST_OPCODE(ip) @ extract opcode from rINST
- GOTO_OPCODE(ip) @ jump to next instruction
-
-/* continuation for OP_IGET_CHAR_JUMBO */
-
- /*
- * Currently:
- * r0 holds resolved field
- * r9 holds object
- */
-.LOP_IGET_CHAR_JUMBO_resolved:
- cmp r0, #0 @ resolution unsuccessful?
- beq common_exceptionThrown @ yes, throw exception
- @ fall through to OP_IGET_CHAR_JUMBO_finish
-
- /*
- * Currently:
- * r0 holds resolved field
- * r9 holds object
- */
-.LOP_IGET_CHAR_JUMBO_finish:
- @bl common_squeak3
- cmp r9, #0 @ check object for null
- ldr r3, [r0, #offInstField_byteOffset] @ r3<- byte offset of field
- beq common_errNullObject @ object was null
- ldr r0, [r9, r3] @ r0<- obj.field (8/16/32 bits)
- @ no-op @ acquiring load
- FETCH(r2, 3) @ r2<- BBBB
- FETCH_ADVANCE_INST(5) @ advance rPC, load rINST
- SET_VREG(r0, r2) @ fp[BBBB]<- r0
- GET_INST_OPCODE(ip) @ extract opcode from rINST
- GOTO_OPCODE(ip) @ jump to next instruction
-
-/* continuation for OP_IGET_SHORT_JUMBO */
-
- /*
- * Currently:
- * r0 holds resolved field
- * r9 holds object
- */
-.LOP_IGET_SHORT_JUMBO_resolved:
- cmp r0, #0 @ resolution unsuccessful?
- beq common_exceptionThrown @ yes, throw exception
- @ fall through to OP_IGET_SHORT_JUMBO_finish
-
- /*
- * Currently:
- * r0 holds resolved field
- * r9 holds object
- */
-.LOP_IGET_SHORT_JUMBO_finish:
- @bl common_squeak4
- cmp r9, #0 @ check object for null
- ldr r3, [r0, #offInstField_byteOffset] @ r3<- byte offset of field
- beq common_errNullObject @ object was null
- ldr r0, [r9, r3] @ r0<- obj.field (8/16/32 bits)
- @ no-op @ acquiring load
- FETCH(r2, 3) @ r2<- BBBB
- FETCH_ADVANCE_INST(5) @ advance rPC, load rINST
- SET_VREG(r0, r2) @ fp[BBBB]<- r0
- GET_INST_OPCODE(ip) @ extract opcode from rINST
- GOTO_OPCODE(ip) @ jump to next instruction
-
-/* continuation for OP_IPUT_JUMBO */
-
- /*
- * Currently:
- * r0 holds resolved field
- * r9 holds object
- */
-.LOP_IPUT_JUMBO_resolved:
- cmp r0, #0 @ resolution unsuccessful?
- beq common_exceptionThrown @ yes, throw exception
- @ fall through to OP_IPUT_JUMBO_finish
-
- /*
- * Currently:
- * r0 holds resolved field
- * r9 holds object
- */
-.LOP_IPUT_JUMBO_finish:
- @bl common_squeak0
- ldr r3, [r0, #offInstField_byteOffset] @ r3<- byte offset of field
- FETCH(r1, 3) @ r1<- BBBB
- cmp r9, #0 @ check object for null
- GET_VREG(r0, r1) @ r0<- fp[BBBB]
- beq common_errNullObject @ object was null
- FETCH_ADVANCE_INST(5) @ advance rPC, load rINST
- GET_INST_OPCODE(ip) @ extract opcode from rINST
- @ no-op @ releasing store
- str r0, [r9, r3] @ obj.field (8/16/32 bits)<- r0
- @ no-op
- GOTO_OPCODE(ip) @ jump to next instruction
-
-/* continuation for OP_IPUT_WIDE_JUMBO */
-
- /*
- * Currently:
- * r0 holds resolved field
- * r9 holds object
- */
-.LOP_IPUT_WIDE_JUMBO_resolved:
- cmp r0, #0 @ resolution unsuccessful?
- beq common_exceptionThrown @ yes, throw exception
- @ fall through to OP_IPUT_WIDE_JUMBO_finish
-
- /*
- * Currently:
- * r0 holds resolved field
- * r9 holds object
- */
-.LOP_IPUT_WIDE_JUMBO_finish:
- cmp r9, #0 @ check object for null
- FETCH(r2, 3) @ r1<- BBBB
- ldr r3, [r0, #offInstField_byteOffset] @ r3<- byte offset of field
- add r2, rFP, r2, lsl #2 @ r3<- &fp[BBBB]
- beq common_errNullObject @ object was null
- FETCH_ADVANCE_INST(5) @ advance rPC, load rINST
- ldmia r2, {r0-r1} @ r0/r1<- fp[BBBB]
- GET_INST_OPCODE(r10) @ extract opcode from rINST
- .if 0
- add r2, r9, r3 @ r2<- target address
- bl dvmQuasiAtomicSwap64Sync @ stores r0/r1 into addr r2
- .else
- strd r0, [r9, r3] @ obj.field (64 bits, aligned)<- r0/r1
- .endif
- GOTO_OPCODE(r10) @ jump to next instruction
-
-/* continuation for OP_IPUT_OBJECT_JUMBO */
-
- /*
- * Currently:
- * r0 holds resolved field
- * r9 holds object
- */
-.LOP_IPUT_OBJECT_JUMBO_resolved:
- cmp r0, #0 @ resolution unsuccessful?
- beq common_exceptionThrown @ yes, throw exception
- @ fall through to OP_IPUT_OBJECT_JUMBO_finish
-
- /*
- * Currently:
- * r0 holds resolved field
- * r9 holds object
- */
-.LOP_IPUT_OBJECT_JUMBO_finish:
- @bl common_squeak0
- ldr r3, [r0, #offInstField_byteOffset] @ r3<- byte offset of field
- FETCH(r1, 3) @ r1<- BBBB
- cmp r9, #0 @ check object for null
- GET_VREG(r0, r1) @ r0<- fp[BBBB]
- ldr r2, [rSELF, #offThread_cardTable] @ r2<- card table base
- beq common_errNullObject @ object was null
- FETCH_ADVANCE_INST(5) @ advance rPC, load rINST
- GET_INST_OPCODE(ip) @ extract opcode from rINST
- @ no-op @ releasing store
- str r0, [r9, r3] @ obj.field (32 bits)<- r0
- @ no-op
- cmp r0, #0 @ stored a null reference?
- strneb r2, [r2, r9, lsr #GC_CARD_SHIFT] @ mark card if not
- GOTO_OPCODE(ip) @ jump to next instruction
-
-/* continuation for OP_IPUT_BOOLEAN_JUMBO */
-
- /*
- * Currently:
- * r0 holds resolved field
- * r9 holds object
- */
-.LOP_IPUT_BOOLEAN_JUMBO_resolved:
- cmp r0, #0 @ resolution unsuccessful?
- beq common_exceptionThrown @ yes, throw exception
- @ fall through to OP_IPUT_BOOLEAN_JUMBO_finish
-
- /*
- * Currently:
- * r0 holds resolved field
- * r9 holds object
- */
-.LOP_IPUT_BOOLEAN_JUMBO_finish:
- @bl common_squeak1
- ldr r3, [r0, #offInstField_byteOffset] @ r3<- byte offset of field
- FETCH(r1, 3) @ r1<- BBBB
- cmp r9, #0 @ check object for null
- GET_VREG(r0, r1) @ r0<- fp[BBBB]
- beq common_errNullObject @ object was null
- FETCH_ADVANCE_INST(5) @ advance rPC, load rINST
- GET_INST_OPCODE(ip) @ extract opcode from rINST
- @ no-op @ releasing store
- str r0, [r9, r3] @ obj.field (8/16/32 bits)<- r0
- @ no-op
- GOTO_OPCODE(ip) @ jump to next instruction
-
-/* continuation for OP_IPUT_BYTE_JUMBO */
-
- /*
- * Currently:
- * r0 holds resolved field
- * r9 holds object
- */
-.LOP_IPUT_BYTE_JUMBO_resolved:
- cmp r0, #0 @ resolution unsuccessful?
- beq common_exceptionThrown @ yes, throw exception
- @ fall through to OP_IPUT_BYTE_JUMBO_finish
-
- /*
- * Currently:
- * r0 holds resolved field
- * r9 holds object
- */
-.LOP_IPUT_BYTE_JUMBO_finish:
- @bl common_squeak2
- ldr r3, [r0, #offInstField_byteOffset] @ r3<- byte offset of field
- FETCH(r1, 3) @ r1<- BBBB
- cmp r9, #0 @ check object for null
- GET_VREG(r0, r1) @ r0<- fp[BBBB]
- beq common_errNullObject @ object was null
- FETCH_ADVANCE_INST(5) @ advance rPC, load rINST
- GET_INST_OPCODE(ip) @ extract opcode from rINST
- @ no-op @ releasing store
- str r0, [r9, r3] @ obj.field (8/16/32 bits)<- r0
- @ no-op
- GOTO_OPCODE(ip) @ jump to next instruction
-
-/* continuation for OP_IPUT_CHAR_JUMBO */
-
- /*
- * Currently:
- * r0 holds resolved field
- * r9 holds object
- */
-.LOP_IPUT_CHAR_JUMBO_resolved:
- cmp r0, #0 @ resolution unsuccessful?
- beq common_exceptionThrown @ yes, throw exception
- @ fall through to OP_IPUT_CHAR_JUMBO_finish
-
- /*
- * Currently:
- * r0 holds resolved field
- * r9 holds object
- */
-.LOP_IPUT_CHAR_JUMBO_finish:
- @bl common_squeak3
- ldr r3, [r0, #offInstField_byteOffset] @ r3<- byte offset of field
- FETCH(r1, 3) @ r1<- BBBB
- cmp r9, #0 @ check object for null
- GET_VREG(r0, r1) @ r0<- fp[BBBB]
- beq common_errNullObject @ object was null
- FETCH_ADVANCE_INST(5) @ advance rPC, load rINST
- GET_INST_OPCODE(ip) @ extract opcode from rINST
- @ no-op @ releasing store
- str r0, [r9, r3] @ obj.field (8/16/32 bits)<- r0
- @ no-op
- GOTO_OPCODE(ip) @ jump to next instruction
-
-/* continuation for OP_IPUT_SHORT_JUMBO */
-
- /*
- * Currently:
- * r0 holds resolved field
- * r9 holds object
- */
-.LOP_IPUT_SHORT_JUMBO_resolved:
- cmp r0, #0 @ resolution unsuccessful?
- beq common_exceptionThrown @ yes, throw exception
- @ fall through to OP_IPUT_SHORT_JUMBO_finish
-
- /*
- * Currently:
- * r0 holds resolved field
- * r9 holds object
- */
-.LOP_IPUT_SHORT_JUMBO_finish:
- @bl common_squeak4
- ldr r3, [r0, #offInstField_byteOffset] @ r3<- byte offset of field
- FETCH(r1, 3) @ r1<- BBBB
- cmp r9, #0 @ check object for null
- GET_VREG(r0, r1) @ r0<- fp[BBBB]
- beq common_errNullObject @ object was null
- FETCH_ADVANCE_INST(5) @ advance rPC, load rINST
- GET_INST_OPCODE(ip) @ extract opcode from rINST
- @ no-op @ releasing store
- str r0, [r9, r3] @ obj.field (8/16/32 bits)<- r0
- @ no-op
- GOTO_OPCODE(ip) @ jump to next instruction
-
-/* continuation for OP_SGET_JUMBO */
-
- /*
- * Continuation if the field has not yet been resolved.
- * r1: AAAAAAAA field ref
- * r10: dvmDex->pResFields
- */
-.LOP_SGET_JUMBO_resolve:
- ldr r2, [rSELF, #offThread_method] @ r2<- current method
-#if defined(WITH_JIT)
- add r10, r10, r1, lsl #2 @ r10<- &dvmDex->pResFields[field]
-#endif
- EXPORT_PC() @ resolve() could throw, so export now
- ldr r0, [r2, #offMethod_clazz] @ r0<- method->clazz
- bl dvmResolveStaticField @ r0<- resolved StaticField ptr
- cmp r0, #0 @ success?
- beq common_exceptionThrown @ no, handle exception
-#if defined(WITH_JIT)
- /*
- * If the JIT is actively building a trace we need to make sure
- * that the field is fully resolved before including this instruction.
- */
- bl common_verifyField
-#endif
- b .LOP_SGET_JUMBO_finish @ resume
-
-/* continuation for OP_SGET_WIDE_JUMBO */
-
- /*
- * Continuation if the field has not yet been resolved.
- * r1: AAAAAAAA field ref
- *
- * Returns StaticField pointer in r0.
- */
-.LOP_SGET_WIDE_JUMBO_resolve:
- ldr r2, [rSELF, #offThread_method] @ r2<- current method
- EXPORT_PC() @ resolve() could throw, so export now
- ldr r0, [r2, #offMethod_clazz] @ r0<- method->clazz
- bl dvmResolveStaticField @ r0<- resolved StaticField ptr
- cmp r0, #0 @ success?
- bne .LOP_SGET_WIDE_JUMBO_finish @ yes, finish
- b common_exceptionThrown @ no, handle exception
-
-/* continuation for OP_SGET_OBJECT_JUMBO */
-
- /*
- * Continuation if the field has not yet been resolved.
- * r1: AAAAAAAA field ref
- * r10: dvmDex->pResFields
- */
-.LOP_SGET_OBJECT_JUMBO_resolve:
- ldr r2, [rSELF, #offThread_method] @ r2<- current method
-#if defined(WITH_JIT)
- add r10, r10, r1, lsl #2 @ r10<- &dvmDex->pResFields[field]
-#endif
- EXPORT_PC() @ resolve() could throw, so export now
- ldr r0, [r2, #offMethod_clazz] @ r0<- method->clazz
- bl dvmResolveStaticField @ r0<- resolved StaticField ptr
- cmp r0, #0 @ success?
- beq common_exceptionThrown @ no, handle exception
-#if defined(WITH_JIT)
- /*
- * If the JIT is actively building a trace we need to make sure
- * that the field is fully resolved before including this instruction.
- */
- bl common_verifyField
-#endif
- b .LOP_SGET_OBJECT_JUMBO_finish @ resume
-
-/* continuation for OP_SGET_BOOLEAN_JUMBO */
-
- /*
- * Continuation if the field has not yet been resolved.
- * r1: AAAAAAAA field ref
- * r10: dvmDex->pResFields
- */
-.LOP_SGET_BOOLEAN_JUMBO_resolve:
- ldr r2, [rSELF, #offThread_method] @ r2<- current method
-#if defined(WITH_JIT)
- add r10, r10, r1, lsl #2 @ r10<- &dvmDex->pResFields[field]
-#endif
- EXPORT_PC() @ resolve() could throw, so export now
- ldr r0, [r2, #offMethod_clazz] @ r0<- method->clazz
- bl dvmResolveStaticField @ r0<- resolved StaticField ptr
- cmp r0, #0 @ success?
- beq common_exceptionThrown @ no, handle exception
-#if defined(WITH_JIT)
- /*
- * If the JIT is actively building a trace we need to make sure
- * that the field is fully resolved before including this instruction.
- */
- bl common_verifyField
-#endif
- b .LOP_SGET_BOOLEAN_JUMBO_finish @ resume
-
-/* continuation for OP_SGET_BYTE_JUMBO */
-
- /*
- * Continuation if the field has not yet been resolved.
- * r1: AAAAAAAA field ref
- * r10: dvmDex->pResFields
- */
-.LOP_SGET_BYTE_JUMBO_resolve:
- ldr r2, [rSELF, #offThread_method] @ r2<- current method
-#if defined(WITH_JIT)
- add r10, r10, r1, lsl #2 @ r10<- &dvmDex->pResFields[field]
-#endif
- EXPORT_PC() @ resolve() could throw, so export now
- ldr r0, [r2, #offMethod_clazz] @ r0<- method->clazz
- bl dvmResolveStaticField @ r0<- resolved StaticField ptr
- cmp r0, #0 @ success?
- beq common_exceptionThrown @ no, handle exception
-#if defined(WITH_JIT)
- /*
- * If the JIT is actively building a trace we need to make sure
- * that the field is fully resolved before including this instruction.
- */
- bl common_verifyField
-#endif
- b .LOP_SGET_BYTE_JUMBO_finish @ resume
-
-/* continuation for OP_SGET_CHAR_JUMBO */
-
- /*
- * Continuation if the field has not yet been resolved.
- * r1: AAAAAAAA field ref
- * r10: dvmDex->pResFields
- */
-.LOP_SGET_CHAR_JUMBO_resolve:
- ldr r2, [rSELF, #offThread_method] @ r2<- current method
-#if defined(WITH_JIT)
- add r10, r10, r1, lsl #2 @ r10<- &dvmDex->pResFields[field]
-#endif
- EXPORT_PC() @ resolve() could throw, so export now
- ldr r0, [r2, #offMethod_clazz] @ r0<- method->clazz
- bl dvmResolveStaticField @ r0<- resolved StaticField ptr
- cmp r0, #0 @ success?
- beq common_exceptionThrown @ no, handle exception
-#if defined(WITH_JIT)
- /*
- * If the JIT is actively building a trace we need to make sure
- * that the field is fully resolved before including this instruction.
- */
- bl common_verifyField
-#endif
- b .LOP_SGET_CHAR_JUMBO_finish @ resume
-
-/* continuation for OP_SGET_SHORT_JUMBO */
-
- /*
- * Continuation if the field has not yet been resolved.
- * r1: AAAAAAAA field ref
- * r10: dvmDex->pResFields
- */
-.LOP_SGET_SHORT_JUMBO_resolve:
- ldr r2, [rSELF, #offThread_method] @ r2<- current method
-#if defined(WITH_JIT)
- add r10, r10, r1, lsl #2 @ r10<- &dvmDex->pResFields[field]
-#endif
- EXPORT_PC() @ resolve() could throw, so export now
- ldr r0, [r2, #offMethod_clazz] @ r0<- method->clazz
- bl dvmResolveStaticField @ r0<- resolved StaticField ptr
- cmp r0, #0 @ success?
- beq common_exceptionThrown @ no, handle exception
-#if defined(WITH_JIT)
- /*
- * If the JIT is actively building a trace we need to make sure
- * that the field is fully resolved before including this instruction.
- */
- bl common_verifyField
-#endif
- b .LOP_SGET_SHORT_JUMBO_finish @ resume
-
-/* continuation for OP_SPUT_JUMBO */
-
- /*
- * Continuation if the field has not yet been resolved.
- * r1: AAAAAAAA field ref
- * r10: dvmDex->pResFields
- */
-.LOP_SPUT_JUMBO_resolve:
- ldr r2, [rSELF, #offThread_method] @ r2<- current method
-#if defined(WITH_JIT)
- add r10, r10, r1, lsl #2 @ r10<- &dvmDex->pResFields[field]
-#endif
- EXPORT_PC() @ resolve() could throw, so export now
- ldr r0, [r2, #offMethod_clazz] @ r0<- method->clazz
- bl dvmResolveStaticField @ r0<- resolved StaticField ptr
- cmp r0, #0 @ success?
- beq common_exceptionThrown @ no, handle exception
-#if defined(WITH_JIT)
- /*
- * If the JIT is actively building a trace we need to make sure
- * that the field is fully resolved before including this instruction.
- */
- bl common_verifyField
-#endif
- b .LOP_SPUT_JUMBO_finish @ resume
-
-/* continuation for OP_SPUT_WIDE_JUMBO */
-
- /*
- * Continuation if the field has not yet been resolved.
- * r1: AAAAAAAA field ref
- * r9: &fp[BBBB]
- * r10: dvmDex->pResFields
- *
- * Returns StaticField pointer in r2.
- */
-.LOP_SPUT_WIDE_JUMBO_resolve:
- ldr r2, [rSELF, #offThread_method] @ r2<- current method
-#if defined(WITH_JIT)
- add r10, r10, r1, lsl #2 @ r10<- &dvmDex->pResFields[field]
-#endif
- EXPORT_PC() @ resolve() could throw, so export now
- ldr r0, [r2, #offMethod_clazz] @ r0<- method->clazz
- bl dvmResolveStaticField @ r0<- resolved StaticField ptr
- cmp r0, #0 @ success?
- mov r2, r0 @ copy to r2
- beq common_exceptionThrown @ no, handle exception
-#if defined(WITH_JIT)
- /*
- * If the JIT is actively building a trace we need to make sure
- * that the field is fully resolved before including this instruction.
- */
- bl common_verifyField
-#endif
- b .LOP_SPUT_WIDE_JUMBO_finish @ resume
-
-/* continuation for OP_SPUT_OBJECT_JUMBO */
-
-
-.LOP_SPUT_OBJECT_JUMBO_end:
- str r1, [r0, #offStaticField_value] @ field<- vBBBB
- @ no-op
- cmp r1, #0 @ stored a null object?
- strneb r2, [r2, r9, lsr #GC_CARD_SHIFT] @ mark card based on obj head
- GOTO_OPCODE(ip) @ jump to next instruction
-
- /* Continuation if the field has not yet been resolved.
- * r1: AAAAaaaa field ref
- * r10: dvmDex->pResFields
- */
-.LOP_SPUT_OBJECT_JUMBO_resolve:
- ldr r2, [rSELF, #offThread_method] @ r9<- current method
-#if defined(WITH_JIT)
- add r10, r10, r1, lsl #2 @ r10<- &dvmDex->pResFields[field]
-#endif
- EXPORT_PC() @ resolve() could throw, so export now
- ldr r0, [r2, #offMethod_clazz] @ r0<- method->clazz
- bl dvmResolveStaticField @ r0<- resolved StaticField ptr
- cmp r0, #0 @ success?
- beq common_exceptionThrown @ no, handle exception
-#if defined(WITH_JIT)
- /*
- * If the JIT is actively building a trace we need to make sure
- * that the field is fully resolved before including this instruction.
- */
- bl common_verifyField
-#endif
- b .LOP_SPUT_OBJECT_JUMBO_finish @ resume
-
-
-/* continuation for OP_SPUT_BOOLEAN_JUMBO */
-
- /*
- * Continuation if the field has not yet been resolved.
- * r1: AAAAAAAA field ref
- * r10: dvmDex->pResFields
- */
-.LOP_SPUT_BOOLEAN_JUMBO_resolve:
- ldr r2, [rSELF, #offThread_method] @ r2<- current method
-#if defined(WITH_JIT)
- add r10, r10, r1, lsl #2 @ r10<- &dvmDex->pResFields[field]
-#endif
- EXPORT_PC() @ resolve() could throw, so export now
- ldr r0, [r2, #offMethod_clazz] @ r0<- method->clazz
- bl dvmResolveStaticField @ r0<- resolved StaticField ptr
- cmp r0, #0 @ success?
- beq common_exceptionThrown @ no, handle exception
-#if defined(WITH_JIT)
- /*
- * If the JIT is actively building a trace we need to make sure
- * that the field is fully resolved before including this instruction.
- */
- bl common_verifyField
-#endif
- b .LOP_SPUT_BOOLEAN_JUMBO_finish @ resume
-
-/* continuation for OP_SPUT_BYTE_JUMBO */
-
- /*
- * Continuation if the field has not yet been resolved.
- * r1: AAAAAAAA field ref
- * r10: dvmDex->pResFields
- */
-.LOP_SPUT_BYTE_JUMBO_resolve:
- ldr r2, [rSELF, #offThread_method] @ r2<- current method
-#if defined(WITH_JIT)
- add r10, r10, r1, lsl #2 @ r10<- &dvmDex->pResFields[field]
-#endif
- EXPORT_PC() @ resolve() could throw, so export now
- ldr r0, [r2, #offMethod_clazz] @ r0<- method->clazz
- bl dvmResolveStaticField @ r0<- resolved StaticField ptr
- cmp r0, #0 @ success?
- beq common_exceptionThrown @ no, handle exception
-#if defined(WITH_JIT)
- /*
- * If the JIT is actively building a trace we need to make sure
- * that the field is fully resolved before including this instruction.
- */
- bl common_verifyField
-#endif
- b .LOP_SPUT_BYTE_JUMBO_finish @ resume
-
-/* continuation for OP_SPUT_CHAR_JUMBO */
-
- /*
- * Continuation if the field has not yet been resolved.
- * r1: AAAAAAAA field ref
- * r10: dvmDex->pResFields
- */
-.LOP_SPUT_CHAR_JUMBO_resolve:
- ldr r2, [rSELF, #offThread_method] @ r2<- current method
-#if defined(WITH_JIT)
- add r10, r10, r1, lsl #2 @ r10<- &dvmDex->pResFields[field]
-#endif
- EXPORT_PC() @ resolve() could throw, so export now
- ldr r0, [r2, #offMethod_clazz] @ r0<- method->clazz
- bl dvmResolveStaticField @ r0<- resolved StaticField ptr
- cmp r0, #0 @ success?
- beq common_exceptionThrown @ no, handle exception
-#if defined(WITH_JIT)
- /*
- * If the JIT is actively building a trace we need to make sure
- * that the field is fully resolved before including this instruction.
- */
- bl common_verifyField
-#endif
- b .LOP_SPUT_CHAR_JUMBO_finish @ resume
-
-/* continuation for OP_SPUT_SHORT_JUMBO */
-
- /*
- * Continuation if the field has not yet been resolved.
- * r1: AAAAAAAA field ref
- * r10: dvmDex->pResFields
- */
-.LOP_SPUT_SHORT_JUMBO_resolve:
- ldr r2, [rSELF, #offThread_method] @ r2<- current method
-#if defined(WITH_JIT)
- add r10, r10, r1, lsl #2 @ r10<- &dvmDex->pResFields[field]
-#endif
- EXPORT_PC() @ resolve() could throw, so export now
- ldr r0, [r2, #offMethod_clazz] @ r0<- method->clazz
- bl dvmResolveStaticField @ r0<- resolved StaticField ptr
- cmp r0, #0 @ success?
- beq common_exceptionThrown @ no, handle exception
-#if defined(WITH_JIT)
- /*
- * If the JIT is actively building a trace we need to make sure
- * that the field is fully resolved before including this instruction.
- */
- bl common_verifyField
-#endif
- b .LOP_SPUT_SHORT_JUMBO_finish @ resume
-
-/* continuation for OP_INVOKE_VIRTUAL_JUMBO */
-
- /*
- * At this point:
- * r0 = resolved base method
- */
-.LOP_INVOKE_VIRTUAL_JUMBO_continue:
- FETCH(r10, 4) @ r10<- CCCC
- GET_VREG(r9, r10) @ r9<- "this" ptr
- ldrh r2, [r0, #offMethod_methodIndex] @ r2<- baseMethod->methodIndex
- cmp r9, #0 @ is "this" null?
- beq common_errNullObject @ null "this", throw exception
- ldr r3, [r9, #offObject_clazz] @ r3<- thisPtr->clazz
- ldr r3, [r3, #offClassObject_vtable] @ r3<- thisPtr->clazz->vtable
- ldr r0, [r3, r2, lsl #2] @ r3<- vtable[methodIndex]
- bl common_invokeMethodJumbo @ (r0=method, r9="this")
-
-/* continuation for OP_INVOKE_SUPER_JUMBO */
-
- /*
- * At this point:
- * r0 = resolved base method
- * r10 = method->clazz
- */
-.LOP_INVOKE_SUPER_JUMBO_continue:
- ldr r1, [r10, #offClassObject_super] @ r1<- method->clazz->super
- ldrh r2, [r0, #offMethod_methodIndex] @ r2<- baseMethod->methodIndex
- ldr r3, [r1, #offClassObject_vtableCount] @ r3<- super->vtableCount
- EXPORT_PC() @ must export for invoke
- cmp r2, r3 @ compare (methodIndex, vtableCount)
- bcs .LOP_INVOKE_SUPER_JUMBO_nsm @ method not present in superclass
- ldr r1, [r1, #offClassObject_vtable] @ r1<- ...clazz->super->vtable
- ldr r0, [r1, r2, lsl #2] @ r3<- vtable[methodIndex]
- bl common_invokeMethodJumbo @ (r0=method, r9="this")
-
-.LOP_INVOKE_SUPER_JUMBO_resolve:
- mov r0, r10 @ r0<- method->clazz
- mov r2, #METHOD_VIRTUAL @ resolver method type
- bl dvmResolveMethod @ r0<- call(clazz, ref, flags)
- cmp r0, #0 @ got null?
- bne .LOP_INVOKE_SUPER_JUMBO_continue @ no, continue
- b common_exceptionThrown @ yes, handle exception
-
- /*
- * Throw a NoSuchMethodError with the method name as the message.
- * r0 = resolved base method
- */
-.LOP_INVOKE_SUPER_JUMBO_nsm:
- ldr r1, [r0, #offMethod_name] @ r1<- method name
- b common_errNoSuchMethod
-
-/* continuation for OP_INVOKE_DIRECT_JUMBO */
-
- /*
- * On entry:
- * r1 = reference (CCCC)
- * r10 = "this" register
- */
-.LOP_INVOKE_DIRECT_JUMBO_resolve:
- ldr r3, [rSELF, #offThread_method] @ r3<- self->method
- ldr r0, [r3, #offMethod_clazz] @ r0<- method->clazz
- mov r2, #METHOD_DIRECT @ resolver method type
- bl dvmResolveMethod @ r0<- call(clazz, ref, flags)
- cmp r0, #0 @ got null?
- bne .LOP_INVOKE_DIRECT_JUMBO_finish @ no, continue
- b common_exceptionThrown @ yes, handle exception
-
-/* continuation for OP_INVOKE_STATIC_JUMBO */
-
-
-.LOP_INVOKE_STATIC_JUMBO_resolve:
- ldr r3, [rSELF, #offThread_method] @ r3<- self->method
- ldr r0, [r3, #offMethod_clazz] @ r0<- method->clazz
- mov r2, #METHOD_STATIC @ resolver method type
- bl dvmResolveMethod @ r0<- call(clazz, ref, flags)
- cmp r0, #0 @ got null?
-#if defined(WITH_JIT)
- /*
- * Check to see if we're actively building a trace. If so,
- * we need to keep this instruction out of it.
- * r10: &resolved_methodToCall
- */
- ldrh r2, [rSELF, #offThread_subMode]
- beq common_exceptionThrown @ null, handle exception
- ands r2, #kSubModeJitTraceBuild @ trace under construction?
- beq common_invokeMethodJumboNoThis @ no (r0=method, r9="this")
- ldr r1, [r10] @ reload resolved method
- cmp r1, #0 @ finished resolving?
- bne common_invokeMethodJumboNoThis @ yes (r0=method, r9="this")
- mov r10, r0 @ preserve method
- mov r0, rSELF
- mov r1, rPC
- bl dvmJitEndTraceSelect @ (self, pc)
- mov r0, r10
- b common_invokeMethodJumboNoThis @ whew, finally!
-#else
- bne common_invokeMethodJumboNoThis @ (r0=method, r9="this")
- b common_exceptionThrown @ yes, handle exception
-#endif
-
-/* continuation for OP_INVOKE_OBJECT_INIT_JUMBO */
-
-.LOP_INVOKE_OBJECT_INIT_JUMBO_setFinal:
- EXPORT_PC() @ can throw
- bl dvmSetFinalizable @ call dvmSetFinalizable(obj)
- ldr r0, [rSELF, #offThread_exception] @ r0<- self->exception
- cmp r0, #0 @ exception pending?
- bne common_exceptionThrown @ yes, handle it
- b .LOP_INVOKE_OBJECT_INIT_JUMBO_finish
-
- /*
- * A debugger is attached, so we need to go ahead and do
- * this. For simplicity, we'll just jump directly to the
- * corresponding handler. Note that we can't use
- * rIBASE here because it may be in single-step mode.
- * Load the primary table base directly.
- */
-.LOP_INVOKE_OBJECT_INIT_JUMBO_debugger:
- ldr r1, [rSELF, #offThread_mainHandlerTable]
- .if 1
- mov ip, #OP_INVOKE_DIRECT_JUMBO
- .else
- mov ip, #OP_INVOKE_DIRECT_RANGE
- .endif
- GOTO_OPCODE_BASE(r1,ip) @ execute it
-
-/* continuation for OP_IGET_VOLATILE_JUMBO */
-
- /*
- * Currently:
- * r0 holds resolved field
- * r9 holds object
- */
-.LOP_IGET_VOLATILE_JUMBO_resolved:
- cmp r0, #0 @ resolution unsuccessful?
- beq common_exceptionThrown @ yes, throw exception
- @ fall through to OP_IGET_VOLATILE_JUMBO_finish
-
- /*
- * Currently:
- * r0 holds resolved field
- * r9 holds object
- */
-.LOP_IGET_VOLATILE_JUMBO_finish:
- @bl common_squeak0
- cmp r9, #0 @ check object for null
- ldr r3, [r0, #offInstField_byteOffset] @ r3<- byte offset of field
- beq common_errNullObject @ object was null
- ldr r0, [r9, r3] @ r0<- obj.field (8/16/32 bits)
- SMP_DMB @ acquiring load
- FETCH(r2, 3) @ r2<- BBBB
- FETCH_ADVANCE_INST(5) @ advance rPC, load rINST
- SET_VREG(r0, r2) @ fp[BBBB]<- r0
- GET_INST_OPCODE(ip) @ extract opcode from rINST
- GOTO_OPCODE(ip) @ jump to next instruction
-
-/* continuation for OP_IGET_WIDE_VOLATILE_JUMBO */
-
- /*
- * Currently:
- * r0 holds resolved field
- * r9 holds object
- */
-.LOP_IGET_WIDE_VOLATILE_JUMBO_resolved:
- cmp r0, #0 @ resolution unsuccessful?
- beq common_exceptionThrown @ yes, throw exception
- @ fall through to OP_IGET_WIDE_VOLATILE_JUMBO_finish
-
- /*
- * Currently:
- * r0 holds resolved field
- * r9 holds object
- */
-.LOP_IGET_WIDE_VOLATILE_JUMBO_finish:
- cmp r9, #0 @ check object for null
- ldr r3, [r0, #offInstField_byteOffset] @ r3<- byte offset of field
- beq common_errNullObject @ object was null
- .if 1
- add r0, r9, r3 @ r0<- address of field
- bl dvmQuasiAtomicRead64 @ r0/r1<- contents of field
- .else
- ldrd r0, [r9, r3] @ r0/r1<- obj.field (64-bit align ok)
- .endif
- FETCH(r2, 3) @ r2<- BBBB
- FETCH_ADVANCE_INST(5) @ advance rPC, load rINST
- add r3, rFP, r2, lsl #2 @ r3<- &fp[BBBB]
- GET_INST_OPCODE(ip) @ extract opcode from rINST
- stmia r3, {r0-r1} @ fp[BBBB]<- r0/r1
- GOTO_OPCODE(ip) @ jump to next instruction
-
-/* continuation for OP_IGET_OBJECT_VOLATILE_JUMBO */
-
- /*
- * Currently:
- * r0 holds resolved field
- * r9 holds object
- */
-.LOP_IGET_OBJECT_VOLATILE_JUMBO_resolved:
- cmp r0, #0 @ resolution unsuccessful?
- beq common_exceptionThrown @ yes, throw exception
- @ fall through to OP_IGET_OBJECT_VOLATILE_JUMBO_finish
-
- /*
- * Currently:
- * r0 holds resolved field
- * r9 holds object
- */
-.LOP_IGET_OBJECT_VOLATILE_JUMBO_finish:
- @bl common_squeak0
- cmp r9, #0 @ check object for null
- ldr r3, [r0, #offInstField_byteOffset] @ r3<- byte offset of field
- beq common_errNullObject @ object was null
- ldr r0, [r9, r3] @ r0<- obj.field (8/16/32 bits)
- SMP_DMB @ acquiring load
- FETCH(r2, 3) @ r2<- BBBB
- FETCH_ADVANCE_INST(5) @ advance rPC, load rINST
- SET_VREG(r0, r2) @ fp[BBBB]<- r0
- GET_INST_OPCODE(ip) @ extract opcode from rINST
- GOTO_OPCODE(ip) @ jump to next instruction
-
-/* continuation for OP_IPUT_VOLATILE_JUMBO */
-
- /*
- * Currently:
- * r0 holds resolved field
- * r9 holds object
- */
-.LOP_IPUT_VOLATILE_JUMBO_resolved:
- cmp r0, #0 @ resolution unsuccessful?
- beq common_exceptionThrown @ yes, throw exception
- @ fall through to OP_IPUT_VOLATILE_JUMBO_finish
-
- /*
- * Currently:
- * r0 holds resolved field
- * r9 holds object
- */
-.LOP_IPUT_VOLATILE_JUMBO_finish:
- @bl common_squeak0
- ldr r3, [r0, #offInstField_byteOffset] @ r3<- byte offset of field
- FETCH(r1, 3) @ r1<- BBBB
- cmp r9, #0 @ check object for null
- GET_VREG(r0, r1) @ r0<- fp[BBBB]
- beq common_errNullObject @ object was null
- FETCH_ADVANCE_INST(5) @ advance rPC, load rINST
- GET_INST_OPCODE(ip) @ extract opcode from rINST
- SMP_DMB_ST @ releasing store
- str r0, [r9, r3] @ obj.field (8/16/32 bits)<- r0
- SMP_DMB
- GOTO_OPCODE(ip) @ jump to next instruction
-
-/* continuation for OP_IPUT_WIDE_VOLATILE_JUMBO */
-
- /*
- * Currently:
- * r0 holds resolved field
- * r9 holds object
- */
-.LOP_IPUT_WIDE_VOLATILE_JUMBO_resolved:
- cmp r0, #0 @ resolution unsuccessful?
- beq common_exceptionThrown @ yes, throw exception
- @ fall through to OP_IPUT_WIDE_VOLATILE_JUMBO_finish
-
- /*
- * Currently:
- * r0 holds resolved field
- * r9 holds object
- */
-.LOP_IPUT_WIDE_VOLATILE_JUMBO_finish:
- cmp r9, #0 @ check object for null
- FETCH(r2, 3) @ r1<- BBBB
- ldr r3, [r0, #offInstField_byteOffset] @ r3<- byte offset of field
- add r2, rFP, r2, lsl #2 @ r3<- &fp[BBBB]
- beq common_errNullObject @ object was null
- FETCH_ADVANCE_INST(5) @ advance rPC, load rINST
- ldmia r2, {r0-r1} @ r0/r1<- fp[BBBB]
- GET_INST_OPCODE(r10) @ extract opcode from rINST
- .if 1
- add r2, r9, r3 @ r2<- target address
- bl dvmQuasiAtomicSwap64Sync @ stores r0/r1 into addr r2
- .else
- strd r0, [r9, r3] @ obj.field (64 bits, aligned)<- r0/r1
- .endif
- GOTO_OPCODE(r10) @ jump to next instruction
-
-/* continuation for OP_IPUT_OBJECT_VOLATILE_JUMBO */
-
- /*
- * Currently:
- * r0 holds resolved field
- * r9 holds object
- */
-.LOP_IPUT_OBJECT_VOLATILE_JUMBO_resolved:
- cmp r0, #0 @ resolution unsuccessful?
- beq common_exceptionThrown @ yes, throw exception
- @ fall through to OP_IPUT_OBJECT_VOLATILE_JUMBO_finish
-
- /*
- * Currently:
- * r0 holds resolved field
- * r9 holds object
- */
-.LOP_IPUT_OBJECT_VOLATILE_JUMBO_finish:
- @bl common_squeak0
- ldr r3, [r0, #offInstField_byteOffset] @ r3<- byte offset of field
- FETCH(r1, 3) @ r1<- BBBB
- cmp r9, #0 @ check object for null
- GET_VREG(r0, r1) @ r0<- fp[BBBB]
- ldr r2, [rSELF, #offThread_cardTable] @ r2<- card table base
- beq common_errNullObject @ object was null
- FETCH_ADVANCE_INST(5) @ advance rPC, load rINST
- GET_INST_OPCODE(ip) @ extract opcode from rINST
- SMP_DMB_ST @ releasing store
- str r0, [r9, r3] @ obj.field (32 bits)<- r0
- SMP_DMB
- cmp r0, #0 @ stored a null reference?
- strneb r2, [r2, r9, lsr #GC_CARD_SHIFT] @ mark card if not
- GOTO_OPCODE(ip) @ jump to next instruction
-
-/* continuation for OP_SGET_VOLATILE_JUMBO */
-
- /*
- * Continuation if the field has not yet been resolved.
- * r1: AAAAAAAA field ref
- * r10: dvmDex->pResFields
- */
-.LOP_SGET_VOLATILE_JUMBO_resolve:
- ldr r2, [rSELF, #offThread_method] @ r2<- current method
-#if defined(WITH_JIT)
- add r10, r10, r1, lsl #2 @ r10<- &dvmDex->pResFields[field]
-#endif
- EXPORT_PC() @ resolve() could throw, so export now
- ldr r0, [r2, #offMethod_clazz] @ r0<- method->clazz
- bl dvmResolveStaticField @ r0<- resolved StaticField ptr
- cmp r0, #0 @ success?
- beq common_exceptionThrown @ no, handle exception
-#if defined(WITH_JIT)
- /*
- * If the JIT is actively building a trace we need to make sure
- * that the field is fully resolved before including this instruction.
- */
- bl common_verifyField
-#endif
- b .LOP_SGET_VOLATILE_JUMBO_finish @ resume
-
-/* continuation for OP_SGET_WIDE_VOLATILE_JUMBO */
-
- /*
- * Continuation if the field has not yet been resolved.
- * r1: AAAAAAAA field ref
- *
- * Returns StaticField pointer in r0.
- */
-.LOP_SGET_WIDE_VOLATILE_JUMBO_resolve:
- ldr r2, [rSELF, #offThread_method] @ r2<- current method
- EXPORT_PC() @ resolve() could throw, so export now
- ldr r0, [r2, #offMethod_clazz] @ r0<- method->clazz
- bl dvmResolveStaticField @ r0<- resolved StaticField ptr
- cmp r0, #0 @ success?
- bne .LOP_SGET_WIDE_VOLATILE_JUMBO_finish @ yes, finish
- b common_exceptionThrown @ no, handle exception
-
-/* continuation for OP_SGET_OBJECT_VOLATILE_JUMBO */
-
- /*
- * Continuation if the field has not yet been resolved.
- * r1: AAAAAAAA field ref
- * r10: dvmDex->pResFields
- */
-.LOP_SGET_OBJECT_VOLATILE_JUMBO_resolve:
- ldr r2, [rSELF, #offThread_method] @ r2<- current method
-#if defined(WITH_JIT)
- add r10, r10, r1, lsl #2 @ r10<- &dvmDex->pResFields[field]
-#endif
- EXPORT_PC() @ resolve() could throw, so export now
- ldr r0, [r2, #offMethod_clazz] @ r0<- method->clazz
- bl dvmResolveStaticField @ r0<- resolved StaticField ptr
- cmp r0, #0 @ success?
- beq common_exceptionThrown @ no, handle exception
-#if defined(WITH_JIT)
- /*
- * If the JIT is actively building a trace we need to make sure
- * that the field is fully resolved before including this instruction.
- */
- bl common_verifyField
-#endif
- b .LOP_SGET_OBJECT_VOLATILE_JUMBO_finish @ resume
-
-/* continuation for OP_SPUT_VOLATILE_JUMBO */
-
- /*
- * Continuation if the field has not yet been resolved.
- * r1: AAAAAAAA field ref
- * r10: dvmDex->pResFields
- */
-.LOP_SPUT_VOLATILE_JUMBO_resolve:
- ldr r2, [rSELF, #offThread_method] @ r2<- current method
-#if defined(WITH_JIT)
- add r10, r10, r1, lsl #2 @ r10<- &dvmDex->pResFields[field]
-#endif
- EXPORT_PC() @ resolve() could throw, so export now
- ldr r0, [r2, #offMethod_clazz] @ r0<- method->clazz
- bl dvmResolveStaticField @ r0<- resolved StaticField ptr
- cmp r0, #0 @ success?
- beq common_exceptionThrown @ no, handle exception
-#if defined(WITH_JIT)
- /*
- * If the JIT is actively building a trace we need to make sure
- * that the field is fully resolved before including this instruction.
- */
- bl common_verifyField
-#endif
- b .LOP_SPUT_VOLATILE_JUMBO_finish @ resume
-
-/* continuation for OP_SPUT_WIDE_VOLATILE_JUMBO */
-
- /*
- * Continuation if the field has not yet been resolved.
- * r1: AAAAAAAA field ref
- * r9: &fp[BBBB]
- * r10: dvmDex->pResFields
- *
- * Returns StaticField pointer in r2.
- */
-.LOP_SPUT_WIDE_VOLATILE_JUMBO_resolve:
- ldr r2, [rSELF, #offThread_method] @ r2<- current method
-#if defined(WITH_JIT)
- add r10, r10, r1, lsl #2 @ r10<- &dvmDex->pResFields[field]
-#endif
- EXPORT_PC() @ resolve() could throw, so export now
- ldr r0, [r2, #offMethod_clazz] @ r0<- method->clazz
- bl dvmResolveStaticField @ r0<- resolved StaticField ptr
- cmp r0, #0 @ success?
- mov r2, r0 @ copy to r2
- beq common_exceptionThrown @ no, handle exception
-#if defined(WITH_JIT)
- /*
- * If the JIT is actively building a trace we need to make sure
- * that the field is fully resolved before including this instruction.
- */
- bl common_verifyField
-#endif
- b .LOP_SPUT_WIDE_VOLATILE_JUMBO_finish @ resume
-
-/* continuation for OP_SPUT_OBJECT_VOLATILE_JUMBO */
-
-
-.LOP_SPUT_OBJECT_VOLATILE_JUMBO_end:
- str r1, [r0, #offStaticField_value] @ field<- vBBBB
- SMP_DMB
- cmp r1, #0 @ stored a null object?
- strneb r2, [r2, r9, lsr #GC_CARD_SHIFT] @ mark card based on obj head
- GOTO_OPCODE(ip) @ jump to next instruction
-
- /* Continuation if the field has not yet been resolved.
- * r1: AAAAaaaa field ref
- * r10: dvmDex->pResFields
- */
-.LOP_SPUT_OBJECT_VOLATILE_JUMBO_resolve:
- ldr r2, [rSELF, #offThread_method] @ r9<- current method
-#if defined(WITH_JIT)
- add r10, r10, r1, lsl #2 @ r10<- &dvmDex->pResFields[field]
-#endif
- EXPORT_PC() @ resolve() could throw, so export now
- ldr r0, [r2, #offMethod_clazz] @ r0<- method->clazz
- bl dvmResolveStaticField @ r0<- resolved StaticField ptr
- cmp r0, #0 @ success?
- beq common_exceptionThrown @ no, handle exception
-#if defined(WITH_JIT)
- /*
- * If the JIT is actively building a trace we need to make sure
- * that the field is fully resolved before including this instruction.
- */
- bl common_verifyField
-#endif
- b .LOP_SPUT_OBJECT_VOLATILE_JUMBO_finish @ resume
-
-
.size dvmAsmSisterStart, .-dvmAsmSisterStart
.global dvmAsmSisterEnd
dvmAsmSisterEnd:
@@ -20258,5449 +15552,7 @@ dvmAsmAltInstructionStart = .L_ALT_OP_NOP
/* ------------------------------ */
.balign 64
-.L_ALT_OP_DISPATCH_FF: /* 0xff */
-/* File: armv5te/ALT_OP_DISPATCH_FF.S */
-/*
- * Unlike other alt stubs, we don't want to call dvmCheckBefore() here.
- * Instead, just treat this as a trampoline to reach the real alt
- * handler (which will do the dvmCheckBefore() call.
- */
- mov ip, rINST, lsr #8 @ ip<- extended opcode
- add ip, ip, #256 @ add offset for extended opcodes
- GOTO_OPCODE(ip) @ go to proper extended handler
-
-
-/* ------------------------------ */
- .balign 64
-.L_ALT_OP_CONST_CLASS_JUMBO: /* 0x100 */
-/* File: armv5te/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Note that the call to dvmCheckBefore is done as a tail call.
- * rIBASE updates won't be seen until a refresh, and we can tell we have a
- * stale rIBASE if breakFlags==0. Always refresh rIBASE here, and then
- * bail to the real handler if breakFlags==0.
- */
- ldrb r3, [rSELF, #offThread_breakFlags]
- adrl lr, dvmAsmInstructionStart + (256 * 64)
- ldr rIBASE, [rSELF, #offThread_curHandlerTable]
- cmp r3, #0
- bxeq lr @ nothing to do - jump to real handler
- EXPORT_PC()
- mov r0, rPC @ arg0
- mov r1, rFP @ arg1
- mov r2, rSELF @ arg2
- b dvmCheckBefore @ (dPC,dFP,self) tail call
-
-/* ------------------------------ */
- .balign 64
-.L_ALT_OP_CHECK_CAST_JUMBO: /* 0x101 */
-/* File: armv5te/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Note that the call to dvmCheckBefore is done as a tail call.
- * rIBASE updates won't be seen until a refresh, and we can tell we have a
- * stale rIBASE if breakFlags==0. Always refresh rIBASE here, and then
- * bail to the real handler if breakFlags==0.
- */
- ldrb r3, [rSELF, #offThread_breakFlags]
- adrl lr, dvmAsmInstructionStart + (257 * 64)
- ldr rIBASE, [rSELF, #offThread_curHandlerTable]
- cmp r3, #0
- bxeq lr @ nothing to do - jump to real handler
- EXPORT_PC()
- mov r0, rPC @ arg0
- mov r1, rFP @ arg1
- mov r2, rSELF @ arg2
- b dvmCheckBefore @ (dPC,dFP,self) tail call
-
-/* ------------------------------ */
- .balign 64
-.L_ALT_OP_INSTANCE_OF_JUMBO: /* 0x102 */
-/* File: armv5te/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Note that the call to dvmCheckBefore is done as a tail call.
- * rIBASE updates won't be seen until a refresh, and we can tell we have a
- * stale rIBASE if breakFlags==0. Always refresh rIBASE here, and then
- * bail to the real handler if breakFlags==0.
- */
- ldrb r3, [rSELF, #offThread_breakFlags]
- adrl lr, dvmAsmInstructionStart + (258 * 64)
- ldr rIBASE, [rSELF, #offThread_curHandlerTable]
- cmp r3, #0
- bxeq lr @ nothing to do - jump to real handler
- EXPORT_PC()
- mov r0, rPC @ arg0
- mov r1, rFP @ arg1
- mov r2, rSELF @ arg2
- b dvmCheckBefore @ (dPC,dFP,self) tail call
-
-/* ------------------------------ */
- .balign 64
-.L_ALT_OP_NEW_INSTANCE_JUMBO: /* 0x103 */
-/* File: armv5te/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Note that the call to dvmCheckBefore is done as a tail call.
- * rIBASE updates won't be seen until a refresh, and we can tell we have a
- * stale rIBASE if breakFlags==0. Always refresh rIBASE here, and then
- * bail to the real handler if breakFlags==0.
- */
- ldrb r3, [rSELF, #offThread_breakFlags]
- adrl lr, dvmAsmInstructionStart + (259 * 64)
- ldr rIBASE, [rSELF, #offThread_curHandlerTable]
- cmp r3, #0
- bxeq lr @ nothing to do - jump to real handler
- EXPORT_PC()
- mov r0, rPC @ arg0
- mov r1, rFP @ arg1
- mov r2, rSELF @ arg2
- b dvmCheckBefore @ (dPC,dFP,self) tail call
-
-/* ------------------------------ */
- .balign 64
-.L_ALT_OP_NEW_ARRAY_JUMBO: /* 0x104 */
-/* File: armv5te/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Note that the call to dvmCheckBefore is done as a tail call.
- * rIBASE updates won't be seen until a refresh, and we can tell we have a
- * stale rIBASE if breakFlags==0. Always refresh rIBASE here, and then
- * bail to the real handler if breakFlags==0.
- */
- ldrb r3, [rSELF, #offThread_breakFlags]
- adrl lr, dvmAsmInstructionStart + (260 * 64)
- ldr rIBASE, [rSELF, #offThread_curHandlerTable]
- cmp r3, #0
- bxeq lr @ nothing to do - jump to real handler
- EXPORT_PC()
- mov r0, rPC @ arg0
- mov r1, rFP @ arg1
- mov r2, rSELF @ arg2
- b dvmCheckBefore @ (dPC,dFP,self) tail call
-
-/* ------------------------------ */
- .balign 64
-.L_ALT_OP_FILLED_NEW_ARRAY_JUMBO: /* 0x105 */
-/* File: armv5te/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Note that the call to dvmCheckBefore is done as a tail call.
- * rIBASE updates won't be seen until a refresh, and we can tell we have a
- * stale rIBASE if breakFlags==0. Always refresh rIBASE here, and then
- * bail to the real handler if breakFlags==0.
- */
- ldrb r3, [rSELF, #offThread_breakFlags]
- adrl lr, dvmAsmInstructionStart + (261 * 64)
- ldr rIBASE, [rSELF, #offThread_curHandlerTable]
- cmp r3, #0
- bxeq lr @ nothing to do - jump to real handler
- EXPORT_PC()
- mov r0, rPC @ arg0
- mov r1, rFP @ arg1
- mov r2, rSELF @ arg2
- b dvmCheckBefore @ (dPC,dFP,self) tail call
-
-/* ------------------------------ */
- .balign 64
-.L_ALT_OP_IGET_JUMBO: /* 0x106 */
-/* File: armv5te/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Note that the call to dvmCheckBefore is done as a tail call.
- * rIBASE updates won't be seen until a refresh, and we can tell we have a
- * stale rIBASE if breakFlags==0. Always refresh rIBASE here, and then
- * bail to the real handler if breakFlags==0.
- */
- ldrb r3, [rSELF, #offThread_breakFlags]
- adrl lr, dvmAsmInstructionStart + (262 * 64)
- ldr rIBASE, [rSELF, #offThread_curHandlerTable]
- cmp r3, #0
- bxeq lr @ nothing to do - jump to real handler
- EXPORT_PC()
- mov r0, rPC @ arg0
- mov r1, rFP @ arg1
- mov r2, rSELF @ arg2
- b dvmCheckBefore @ (dPC,dFP,self) tail call
-
-/* ------------------------------ */
- .balign 64
-.L_ALT_OP_IGET_WIDE_JUMBO: /* 0x107 */
-/* File: armv5te/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Note that the call to dvmCheckBefore is done as a tail call.
- * rIBASE updates won't be seen until a refresh, and we can tell we have a
- * stale rIBASE if breakFlags==0. Always refresh rIBASE here, and then
- * bail to the real handler if breakFlags==0.
- */
- ldrb r3, [rSELF, #offThread_breakFlags]
- adrl lr, dvmAsmInstructionStart + (263 * 64)
- ldr rIBASE, [rSELF, #offThread_curHandlerTable]
- cmp r3, #0
- bxeq lr @ nothing to do - jump to real handler
- EXPORT_PC()
- mov r0, rPC @ arg0
- mov r1, rFP @ arg1
- mov r2, rSELF @ arg2
- b dvmCheckBefore @ (dPC,dFP,self) tail call
-
-/* ------------------------------ */
- .balign 64
-.L_ALT_OP_IGET_OBJECT_JUMBO: /* 0x108 */
-/* File: armv5te/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Note that the call to dvmCheckBefore is done as a tail call.
- * rIBASE updates won't be seen until a refresh, and we can tell we have a
- * stale rIBASE if breakFlags==0. Always refresh rIBASE here, and then
- * bail to the real handler if breakFlags==0.
- */
- ldrb r3, [rSELF, #offThread_breakFlags]
- adrl lr, dvmAsmInstructionStart + (264 * 64)
- ldr rIBASE, [rSELF, #offThread_curHandlerTable]
- cmp r3, #0
- bxeq lr @ nothing to do - jump to real handler
- EXPORT_PC()
- mov r0, rPC @ arg0
- mov r1, rFP @ arg1
- mov r2, rSELF @ arg2
- b dvmCheckBefore @ (dPC,dFP,self) tail call
-
-/* ------------------------------ */
- .balign 64
-.L_ALT_OP_IGET_BOOLEAN_JUMBO: /* 0x109 */
-/* File: armv5te/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Note that the call to dvmCheckBefore is done as a tail call.
- * rIBASE updates won't be seen until a refresh, and we can tell we have a
- * stale rIBASE if breakFlags==0. Always refresh rIBASE here, and then
- * bail to the real handler if breakFlags==0.
- */
- ldrb r3, [rSELF, #offThread_breakFlags]
- adrl lr, dvmAsmInstructionStart + (265 * 64)
- ldr rIBASE, [rSELF, #offThread_curHandlerTable]
- cmp r3, #0
- bxeq lr @ nothing to do - jump to real handler
- EXPORT_PC()
- mov r0, rPC @ arg0
- mov r1, rFP @ arg1
- mov r2, rSELF @ arg2
- b dvmCheckBefore @ (dPC,dFP,self) tail call
-
-/* ------------------------------ */
- .balign 64
-.L_ALT_OP_IGET_BYTE_JUMBO: /* 0x10a */
-/* File: armv5te/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Note that the call to dvmCheckBefore is done as a tail call.
- * rIBASE updates won't be seen until a refresh, and we can tell we have a
- * stale rIBASE if breakFlags==0. Always refresh rIBASE here, and then
- * bail to the real handler if breakFlags==0.
- */
- ldrb r3, [rSELF, #offThread_breakFlags]
- adrl lr, dvmAsmInstructionStart + (266 * 64)
- ldr rIBASE, [rSELF, #offThread_curHandlerTable]
- cmp r3, #0
- bxeq lr @ nothing to do - jump to real handler
- EXPORT_PC()
- mov r0, rPC @ arg0
- mov r1, rFP @ arg1
- mov r2, rSELF @ arg2
- b dvmCheckBefore @ (dPC,dFP,self) tail call
-
-/* ------------------------------ */
- .balign 64
-.L_ALT_OP_IGET_CHAR_JUMBO: /* 0x10b */
-/* File: armv5te/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Note that the call to dvmCheckBefore is done as a tail call.
- * rIBASE updates won't be seen until a refresh, and we can tell we have a
- * stale rIBASE if breakFlags==0. Always refresh rIBASE here, and then
- * bail to the real handler if breakFlags==0.
- */
- ldrb r3, [rSELF, #offThread_breakFlags]
- adrl lr, dvmAsmInstructionStart + (267 * 64)
- ldr rIBASE, [rSELF, #offThread_curHandlerTable]
- cmp r3, #0
- bxeq lr @ nothing to do - jump to real handler
- EXPORT_PC()
- mov r0, rPC @ arg0
- mov r1, rFP @ arg1
- mov r2, rSELF @ arg2
- b dvmCheckBefore @ (dPC,dFP,self) tail call
-
-/* ------------------------------ */
- .balign 64
-.L_ALT_OP_IGET_SHORT_JUMBO: /* 0x10c */
-/* File: armv5te/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Note that the call to dvmCheckBefore is done as a tail call.
- * rIBASE updates won't be seen until a refresh, and we can tell we have a
- * stale rIBASE if breakFlags==0. Always refresh rIBASE here, and then
- * bail to the real handler if breakFlags==0.
- */
- ldrb r3, [rSELF, #offThread_breakFlags]
- adrl lr, dvmAsmInstructionStart + (268 * 64)
- ldr rIBASE, [rSELF, #offThread_curHandlerTable]
- cmp r3, #0
- bxeq lr @ nothing to do - jump to real handler
- EXPORT_PC()
- mov r0, rPC @ arg0
- mov r1, rFP @ arg1
- mov r2, rSELF @ arg2
- b dvmCheckBefore @ (dPC,dFP,self) tail call
-
-/* ------------------------------ */
- .balign 64
-.L_ALT_OP_IPUT_JUMBO: /* 0x10d */
-/* File: armv5te/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Note that the call to dvmCheckBefore is done as a tail call.
- * rIBASE updates won't be seen until a refresh, and we can tell we have a
- * stale rIBASE if breakFlags==0. Always refresh rIBASE here, and then
- * bail to the real handler if breakFlags==0.
- */
- ldrb r3, [rSELF, #offThread_breakFlags]
- adrl lr, dvmAsmInstructionStart + (269 * 64)
- ldr rIBASE, [rSELF, #offThread_curHandlerTable]
- cmp r3, #0
- bxeq lr @ nothing to do - jump to real handler
- EXPORT_PC()
- mov r0, rPC @ arg0
- mov r1, rFP @ arg1
- mov r2, rSELF @ arg2
- b dvmCheckBefore @ (dPC,dFP,self) tail call
-
-/* ------------------------------ */
- .balign 64
-.L_ALT_OP_IPUT_WIDE_JUMBO: /* 0x10e */
-/* File: armv5te/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Note that the call to dvmCheckBefore is done as a tail call.
- * rIBASE updates won't be seen until a refresh, and we can tell we have a
- * stale rIBASE if breakFlags==0. Always refresh rIBASE here, and then
- * bail to the real handler if breakFlags==0.
- */
- ldrb r3, [rSELF, #offThread_breakFlags]
- adrl lr, dvmAsmInstructionStart + (270 * 64)
- ldr rIBASE, [rSELF, #offThread_curHandlerTable]
- cmp r3, #0
- bxeq lr @ nothing to do - jump to real handler
- EXPORT_PC()
- mov r0, rPC @ arg0
- mov r1, rFP @ arg1
- mov r2, rSELF @ arg2
- b dvmCheckBefore @ (dPC,dFP,self) tail call
-
-/* ------------------------------ */
- .balign 64
-.L_ALT_OP_IPUT_OBJECT_JUMBO: /* 0x10f */
-/* File: armv5te/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Note that the call to dvmCheckBefore is done as a tail call.
- * rIBASE updates won't be seen until a refresh, and we can tell we have a
- * stale rIBASE if breakFlags==0. Always refresh rIBASE here, and then
- * bail to the real handler if breakFlags==0.
- */
- ldrb r3, [rSELF, #offThread_breakFlags]
- adrl lr, dvmAsmInstructionStart + (271 * 64)
- ldr rIBASE, [rSELF, #offThread_curHandlerTable]
- cmp r3, #0
- bxeq lr @ nothing to do - jump to real handler
- EXPORT_PC()
- mov r0, rPC @ arg0
- mov r1, rFP @ arg1
- mov r2, rSELF @ arg2
- b dvmCheckBefore @ (dPC,dFP,self) tail call
-
-/* ------------------------------ */
- .balign 64
-.L_ALT_OP_IPUT_BOOLEAN_JUMBO: /* 0x110 */
-/* File: armv5te/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Note that the call to dvmCheckBefore is done as a tail call.
- * rIBASE updates won't be seen until a refresh, and we can tell we have a
- * stale rIBASE if breakFlags==0. Always refresh rIBASE here, and then
- * bail to the real handler if breakFlags==0.
- */
- ldrb r3, [rSELF, #offThread_breakFlags]
- adrl lr, dvmAsmInstructionStart + (272 * 64)
- ldr rIBASE, [rSELF, #offThread_curHandlerTable]
- cmp r3, #0
- bxeq lr @ nothing to do - jump to real handler
- EXPORT_PC()
- mov r0, rPC @ arg0
- mov r1, rFP @ arg1
- mov r2, rSELF @ arg2
- b dvmCheckBefore @ (dPC,dFP,self) tail call
-
-/* ------------------------------ */
- .balign 64
-.L_ALT_OP_IPUT_BYTE_JUMBO: /* 0x111 */
-/* File: armv5te/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Note that the call to dvmCheckBefore is done as a tail call.
- * rIBASE updates won't be seen until a refresh, and we can tell we have a
- * stale rIBASE if breakFlags==0. Always refresh rIBASE here, and then
- * bail to the real handler if breakFlags==0.
- */
- ldrb r3, [rSELF, #offThread_breakFlags]
- adrl lr, dvmAsmInstructionStart + (273 * 64)
- ldr rIBASE, [rSELF, #offThread_curHandlerTable]
- cmp r3, #0
- bxeq lr @ nothing to do - jump to real handler
- EXPORT_PC()
- mov r0, rPC @ arg0
- mov r1, rFP @ arg1
- mov r2, rSELF @ arg2
- b dvmCheckBefore @ (dPC,dFP,self) tail call
-
-/* ------------------------------ */
- .balign 64
-.L_ALT_OP_IPUT_CHAR_JUMBO: /* 0x112 */
-/* File: armv5te/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Note that the call to dvmCheckBefore is done as a tail call.
- * rIBASE updates won't be seen until a refresh, and we can tell we have a
- * stale rIBASE if breakFlags==0. Always refresh rIBASE here, and then
- * bail to the real handler if breakFlags==0.
- */
- ldrb r3, [rSELF, #offThread_breakFlags]
- adrl lr, dvmAsmInstructionStart + (274 * 64)
- ldr rIBASE, [rSELF, #offThread_curHandlerTable]
- cmp r3, #0
- bxeq lr @ nothing to do - jump to real handler
- EXPORT_PC()
- mov r0, rPC @ arg0
- mov r1, rFP @ arg1
- mov r2, rSELF @ arg2
- b dvmCheckBefore @ (dPC,dFP,self) tail call
-
-/* ------------------------------ */
- .balign 64
-.L_ALT_OP_IPUT_SHORT_JUMBO: /* 0x113 */
-/* File: armv5te/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Note that the call to dvmCheckBefore is done as a tail call.
- * rIBASE updates won't be seen until a refresh, and we can tell we have a
- * stale rIBASE if breakFlags==0. Always refresh rIBASE here, and then
- * bail to the real handler if breakFlags==0.
- */
- ldrb r3, [rSELF, #offThread_breakFlags]
- adrl lr, dvmAsmInstructionStart + (275 * 64)
- ldr rIBASE, [rSELF, #offThread_curHandlerTable]
- cmp r3, #0
- bxeq lr @ nothing to do - jump to real handler
- EXPORT_PC()
- mov r0, rPC @ arg0
- mov r1, rFP @ arg1
- mov r2, rSELF @ arg2
- b dvmCheckBefore @ (dPC,dFP,self) tail call
-
-/* ------------------------------ */
- .balign 64
-.L_ALT_OP_SGET_JUMBO: /* 0x114 */
-/* File: armv5te/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Note that the call to dvmCheckBefore is done as a tail call.
- * rIBASE updates won't be seen until a refresh, and we can tell we have a
- * stale rIBASE if breakFlags==0. Always refresh rIBASE here, and then
- * bail to the real handler if breakFlags==0.
- */
- ldrb r3, [rSELF, #offThread_breakFlags]
- adrl lr, dvmAsmInstructionStart + (276 * 64)
- ldr rIBASE, [rSELF, #offThread_curHandlerTable]
- cmp r3, #0
- bxeq lr @ nothing to do - jump to real handler
- EXPORT_PC()
- mov r0, rPC @ arg0
- mov r1, rFP @ arg1
- mov r2, rSELF @ arg2
- b dvmCheckBefore @ (dPC,dFP,self) tail call
-
-/* ------------------------------ */
- .balign 64
-.L_ALT_OP_SGET_WIDE_JUMBO: /* 0x115 */
-/* File: armv5te/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Note that the call to dvmCheckBefore is done as a tail call.
- * rIBASE updates won't be seen until a refresh, and we can tell we have a
- * stale rIBASE if breakFlags==0. Always refresh rIBASE here, and then
- * bail to the real handler if breakFlags==0.
- */
- ldrb r3, [rSELF, #offThread_breakFlags]
- adrl lr, dvmAsmInstructionStart + (277 * 64)
- ldr rIBASE, [rSELF, #offThread_curHandlerTable]
- cmp r3, #0
- bxeq lr @ nothing to do - jump to real handler
- EXPORT_PC()
- mov r0, rPC @ arg0
- mov r1, rFP @ arg1
- mov r2, rSELF @ arg2
- b dvmCheckBefore @ (dPC,dFP,self) tail call
-
-/* ------------------------------ */
- .balign 64
-.L_ALT_OP_SGET_OBJECT_JUMBO: /* 0x116 */
-/* File: armv5te/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Note that the call to dvmCheckBefore is done as a tail call.
- * rIBASE updates won't be seen until a refresh, and we can tell we have a
- * stale rIBASE if breakFlags==0. Always refresh rIBASE here, and then
- * bail to the real handler if breakFlags==0.
- */
- ldrb r3, [rSELF, #offThread_breakFlags]
- adrl lr, dvmAsmInstructionStart + (278 * 64)
- ldr rIBASE, [rSELF, #offThread_curHandlerTable]
- cmp r3, #0
- bxeq lr @ nothing to do - jump to real handler
- EXPORT_PC()
- mov r0, rPC @ arg0
- mov r1, rFP @ arg1
- mov r2, rSELF @ arg2
- b dvmCheckBefore @ (dPC,dFP,self) tail call
-
-/* ------------------------------ */
- .balign 64
-.L_ALT_OP_SGET_BOOLEAN_JUMBO: /* 0x117 */
-/* File: armv5te/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Note that the call to dvmCheckBefore is done as a tail call.
- * rIBASE updates won't be seen until a refresh, and we can tell we have a
- * stale rIBASE if breakFlags==0. Always refresh rIBASE here, and then
- * bail to the real handler if breakFlags==0.
- */
- ldrb r3, [rSELF, #offThread_breakFlags]
- adrl lr, dvmAsmInstructionStart + (279 * 64)
- ldr rIBASE, [rSELF, #offThread_curHandlerTable]
- cmp r3, #0
- bxeq lr @ nothing to do - jump to real handler
- EXPORT_PC()
- mov r0, rPC @ arg0
- mov r1, rFP @ arg1
- mov r2, rSELF @ arg2
- b dvmCheckBefore @ (dPC,dFP,self) tail call
-
-/* ------------------------------ */
- .balign 64
-.L_ALT_OP_SGET_BYTE_JUMBO: /* 0x118 */
-/* File: armv5te/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Note that the call to dvmCheckBefore is done as a tail call.
- * rIBASE updates won't be seen until a refresh, and we can tell we have a
- * stale rIBASE if breakFlags==0. Always refresh rIBASE here, and then
- * bail to the real handler if breakFlags==0.
- */
- ldrb r3, [rSELF, #offThread_breakFlags]
- adrl lr, dvmAsmInstructionStart + (280 * 64)
- ldr rIBASE, [rSELF, #offThread_curHandlerTable]
- cmp r3, #0
- bxeq lr @ nothing to do - jump to real handler
- EXPORT_PC()
- mov r0, rPC @ arg0
- mov r1, rFP @ arg1
- mov r2, rSELF @ arg2
- b dvmCheckBefore @ (dPC,dFP,self) tail call
-
-/* ------------------------------ */
- .balign 64
-.L_ALT_OP_SGET_CHAR_JUMBO: /* 0x119 */
-/* File: armv5te/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Note that the call to dvmCheckBefore is done as a tail call.
- * rIBASE updates won't be seen until a refresh, and we can tell we have a
- * stale rIBASE if breakFlags==0. Always refresh rIBASE here, and then
- * bail to the real handler if breakFlags==0.
- */
- ldrb r3, [rSELF, #offThread_breakFlags]
- adrl lr, dvmAsmInstructionStart + (281 * 64)
- ldr rIBASE, [rSELF, #offThread_curHandlerTable]
- cmp r3, #0
- bxeq lr @ nothing to do - jump to real handler
- EXPORT_PC()
- mov r0, rPC @ arg0
- mov r1, rFP @ arg1
- mov r2, rSELF @ arg2
- b dvmCheckBefore @ (dPC,dFP,self) tail call
-
-/* ------------------------------ */
- .balign 64
-.L_ALT_OP_SGET_SHORT_JUMBO: /* 0x11a */
-/* File: armv5te/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Note that the call to dvmCheckBefore is done as a tail call.
- * rIBASE updates won't be seen until a refresh, and we can tell we have a
- * stale rIBASE if breakFlags==0. Always refresh rIBASE here, and then
- * bail to the real handler if breakFlags==0.
- */
- ldrb r3, [rSELF, #offThread_breakFlags]
- adrl lr, dvmAsmInstructionStart + (282 * 64)
- ldr rIBASE, [rSELF, #offThread_curHandlerTable]
- cmp r3, #0
- bxeq lr @ nothing to do - jump to real handler
- EXPORT_PC()
- mov r0, rPC @ arg0
- mov r1, rFP @ arg1
- mov r2, rSELF @ arg2
- b dvmCheckBefore @ (dPC,dFP,self) tail call
-
-/* ------------------------------ */
- .balign 64
-.L_ALT_OP_SPUT_JUMBO: /* 0x11b */
-/* File: armv5te/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Note that the call to dvmCheckBefore is done as a tail call.
- * rIBASE updates won't be seen until a refresh, and we can tell we have a
- * stale rIBASE if breakFlags==0. Always refresh rIBASE here, and then
- * bail to the real handler if breakFlags==0.
- */
- ldrb r3, [rSELF, #offThread_breakFlags]
- adrl lr, dvmAsmInstructionStart + (283 * 64)
- ldr rIBASE, [rSELF, #offThread_curHandlerTable]
- cmp r3, #0
- bxeq lr @ nothing to do - jump to real handler
- EXPORT_PC()
- mov r0, rPC @ arg0
- mov r1, rFP @ arg1
- mov r2, rSELF @ arg2
- b dvmCheckBefore @ (dPC,dFP,self) tail call
-
-/* ------------------------------ */
- .balign 64
-.L_ALT_OP_SPUT_WIDE_JUMBO: /* 0x11c */
-/* File: armv5te/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Note that the call to dvmCheckBefore is done as a tail call.
- * rIBASE updates won't be seen until a refresh, and we can tell we have a
- * stale rIBASE if breakFlags==0. Always refresh rIBASE here, and then
- * bail to the real handler if breakFlags==0.
- */
- ldrb r3, [rSELF, #offThread_breakFlags]
- adrl lr, dvmAsmInstructionStart + (284 * 64)
- ldr rIBASE, [rSELF, #offThread_curHandlerTable]
- cmp r3, #0
- bxeq lr @ nothing to do - jump to real handler
- EXPORT_PC()
- mov r0, rPC @ arg0
- mov r1, rFP @ arg1
- mov r2, rSELF @ arg2
- b dvmCheckBefore @ (dPC,dFP,self) tail call
-
-/* ------------------------------ */
- .balign 64
-.L_ALT_OP_SPUT_OBJECT_JUMBO: /* 0x11d */
-/* File: armv5te/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Note that the call to dvmCheckBefore is done as a tail call.
- * rIBASE updates won't be seen until a refresh, and we can tell we have a
- * stale rIBASE if breakFlags==0. Always refresh rIBASE here, and then
- * bail to the real handler if breakFlags==0.
- */
- ldrb r3, [rSELF, #offThread_breakFlags]
- adrl lr, dvmAsmInstructionStart + (285 * 64)
- ldr rIBASE, [rSELF, #offThread_curHandlerTable]
- cmp r3, #0
- bxeq lr @ nothing to do - jump to real handler
- EXPORT_PC()
- mov r0, rPC @ arg0
- mov r1, rFP @ arg1
- mov r2, rSELF @ arg2
- b dvmCheckBefore @ (dPC,dFP,self) tail call
-
-/* ------------------------------ */
- .balign 64
-.L_ALT_OP_SPUT_BOOLEAN_JUMBO: /* 0x11e */
-/* File: armv5te/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Note that the call to dvmCheckBefore is done as a tail call.
- * rIBASE updates won't be seen until a refresh, and we can tell we have a
- * stale rIBASE if breakFlags==0. Always refresh rIBASE here, and then
- * bail to the real handler if breakFlags==0.
- */
- ldrb r3, [rSELF, #offThread_breakFlags]
- adrl lr, dvmAsmInstructionStart + (286 * 64)
- ldr rIBASE, [rSELF, #offThread_curHandlerTable]
- cmp r3, #0
- bxeq lr @ nothing to do - jump to real handler
- EXPORT_PC()
- mov r0, rPC @ arg0
- mov r1, rFP @ arg1
- mov r2, rSELF @ arg2
- b dvmCheckBefore @ (dPC,dFP,self) tail call
-
-/* ------------------------------ */
- .balign 64
-.L_ALT_OP_SPUT_BYTE_JUMBO: /* 0x11f */
-/* File: armv5te/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Note that the call to dvmCheckBefore is done as a tail call.
- * rIBASE updates won't be seen until a refresh, and we can tell we have a
- * stale rIBASE if breakFlags==0. Always refresh rIBASE here, and then
- * bail to the real handler if breakFlags==0.
- */
- ldrb r3, [rSELF, #offThread_breakFlags]
- adrl lr, dvmAsmInstructionStart + (287 * 64)
- ldr rIBASE, [rSELF, #offThread_curHandlerTable]
- cmp r3, #0
- bxeq lr @ nothing to do - jump to real handler
- EXPORT_PC()
- mov r0, rPC @ arg0
- mov r1, rFP @ arg1
- mov r2, rSELF @ arg2
- b dvmCheckBefore @ (dPC,dFP,self) tail call
-
-/* ------------------------------ */
- .balign 64
-.L_ALT_OP_SPUT_CHAR_JUMBO: /* 0x120 */
-/* File: armv5te/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Note that the call to dvmCheckBefore is done as a tail call.
- * rIBASE updates won't be seen until a refresh, and we can tell we have a
- * stale rIBASE if breakFlags==0. Always refresh rIBASE here, and then
- * bail to the real handler if breakFlags==0.
- */
- ldrb r3, [rSELF, #offThread_breakFlags]
- adrl lr, dvmAsmInstructionStart + (288 * 64)
- ldr rIBASE, [rSELF, #offThread_curHandlerTable]
- cmp r3, #0
- bxeq lr @ nothing to do - jump to real handler
- EXPORT_PC()
- mov r0, rPC @ arg0
- mov r1, rFP @ arg1
- mov r2, rSELF @ arg2
- b dvmCheckBefore @ (dPC,dFP,self) tail call
-
-/* ------------------------------ */
- .balign 64
-.L_ALT_OP_SPUT_SHORT_JUMBO: /* 0x121 */
-/* File: armv5te/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Note that the call to dvmCheckBefore is done as a tail call.
- * rIBASE updates won't be seen until a refresh, and we can tell we have a
- * stale rIBASE if breakFlags==0. Always refresh rIBASE here, and then
- * bail to the real handler if breakFlags==0.
- */
- ldrb r3, [rSELF, #offThread_breakFlags]
- adrl lr, dvmAsmInstructionStart + (289 * 64)
- ldr rIBASE, [rSELF, #offThread_curHandlerTable]
- cmp r3, #0
- bxeq lr @ nothing to do - jump to real handler
- EXPORT_PC()
- mov r0, rPC @ arg0
- mov r1, rFP @ arg1
- mov r2, rSELF @ arg2
- b dvmCheckBefore @ (dPC,dFP,self) tail call
-
-/* ------------------------------ */
- .balign 64
-.L_ALT_OP_INVOKE_VIRTUAL_JUMBO: /* 0x122 */
-/* File: armv5te/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Note that the call to dvmCheckBefore is done as a tail call.
- * rIBASE updates won't be seen until a refresh, and we can tell we have a
- * stale rIBASE if breakFlags==0. Always refresh rIBASE here, and then
- * bail to the real handler if breakFlags==0.
- */
- ldrb r3, [rSELF, #offThread_breakFlags]
- adrl lr, dvmAsmInstructionStart + (290 * 64)
- ldr rIBASE, [rSELF, #offThread_curHandlerTable]
- cmp r3, #0
- bxeq lr @ nothing to do - jump to real handler
- EXPORT_PC()
- mov r0, rPC @ arg0
- mov r1, rFP @ arg1
- mov r2, rSELF @ arg2
- b dvmCheckBefore @ (dPC,dFP,self) tail call
-
-/* ------------------------------ */
- .balign 64
-.L_ALT_OP_INVOKE_SUPER_JUMBO: /* 0x123 */
-/* File: armv5te/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Note that the call to dvmCheckBefore is done as a tail call.
- * rIBASE updates won't be seen until a refresh, and we can tell we have a
- * stale rIBASE if breakFlags==0. Always refresh rIBASE here, and then
- * bail to the real handler if breakFlags==0.
- */
- ldrb r3, [rSELF, #offThread_breakFlags]
- adrl lr, dvmAsmInstructionStart + (291 * 64)
- ldr rIBASE, [rSELF, #offThread_curHandlerTable]
- cmp r3, #0
- bxeq lr @ nothing to do - jump to real handler
- EXPORT_PC()
- mov r0, rPC @ arg0
- mov r1, rFP @ arg1
- mov r2, rSELF @ arg2
- b dvmCheckBefore @ (dPC,dFP,self) tail call
-
-/* ------------------------------ */
- .balign 64
-.L_ALT_OP_INVOKE_DIRECT_JUMBO: /* 0x124 */
-/* File: armv5te/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Note that the call to dvmCheckBefore is done as a tail call.
- * rIBASE updates won't be seen until a refresh, and we can tell we have a
- * stale rIBASE if breakFlags==0. Always refresh rIBASE here, and then
- * bail to the real handler if breakFlags==0.
- */
- ldrb r3, [rSELF, #offThread_breakFlags]
- adrl lr, dvmAsmInstructionStart + (292 * 64)
- ldr rIBASE, [rSELF, #offThread_curHandlerTable]
- cmp r3, #0
- bxeq lr @ nothing to do - jump to real handler
- EXPORT_PC()
- mov r0, rPC @ arg0
- mov r1, rFP @ arg1
- mov r2, rSELF @ arg2
- b dvmCheckBefore @ (dPC,dFP,self) tail call
-
-/* ------------------------------ */
- .balign 64
-.L_ALT_OP_INVOKE_STATIC_JUMBO: /* 0x125 */
-/* File: armv5te/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Note that the call to dvmCheckBefore is done as a tail call.
- * rIBASE updates won't be seen until a refresh, and we can tell we have a
- * stale rIBASE if breakFlags==0. Always refresh rIBASE here, and then
- * bail to the real handler if breakFlags==0.
- */
- ldrb r3, [rSELF, #offThread_breakFlags]
- adrl lr, dvmAsmInstructionStart + (293 * 64)
- ldr rIBASE, [rSELF, #offThread_curHandlerTable]
- cmp r3, #0
- bxeq lr @ nothing to do - jump to real handler
- EXPORT_PC()
- mov r0, rPC @ arg0
- mov r1, rFP @ arg1
- mov r2, rSELF @ arg2
- b dvmCheckBefore @ (dPC,dFP,self) tail call
-
-/* ------------------------------ */
- .balign 64
-.L_ALT_OP_INVOKE_INTERFACE_JUMBO: /* 0x126 */
-/* File: armv5te/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Note that the call to dvmCheckBefore is done as a tail call.
- * rIBASE updates won't be seen until a refresh, and we can tell we have a
- * stale rIBASE if breakFlags==0. Always refresh rIBASE here, and then
- * bail to the real handler if breakFlags==0.
- */
- ldrb r3, [rSELF, #offThread_breakFlags]
- adrl lr, dvmAsmInstructionStart + (294 * 64)
- ldr rIBASE, [rSELF, #offThread_curHandlerTable]
- cmp r3, #0
- bxeq lr @ nothing to do - jump to real handler
- EXPORT_PC()
- mov r0, rPC @ arg0
- mov r1, rFP @ arg1
- mov r2, rSELF @ arg2
- b dvmCheckBefore @ (dPC,dFP,self) tail call
-
-/* ------------------------------ */
- .balign 64
-.L_ALT_OP_UNUSED_27FF: /* 0x127 */
-/* File: armv5te/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Note that the call to dvmCheckBefore is done as a tail call.
- * rIBASE updates won't be seen until a refresh, and we can tell we have a
- * stale rIBASE if breakFlags==0. Always refresh rIBASE here, and then
- * bail to the real handler if breakFlags==0.
- */
- ldrb r3, [rSELF, #offThread_breakFlags]
- adrl lr, dvmAsmInstructionStart + (295 * 64)
- ldr rIBASE, [rSELF, #offThread_curHandlerTable]
- cmp r3, #0
- bxeq lr @ nothing to do - jump to real handler
- EXPORT_PC()
- mov r0, rPC @ arg0
- mov r1, rFP @ arg1
- mov r2, rSELF @ arg2
- b dvmCheckBefore @ (dPC,dFP,self) tail call
-
-/* ------------------------------ */
- .balign 64
-.L_ALT_OP_UNUSED_28FF: /* 0x128 */
-/* File: armv5te/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Note that the call to dvmCheckBefore is done as a tail call.
- * rIBASE updates won't be seen until a refresh, and we can tell we have a
- * stale rIBASE if breakFlags==0. Always refresh rIBASE here, and then
- * bail to the real handler if breakFlags==0.
- */
- ldrb r3, [rSELF, #offThread_breakFlags]
- adrl lr, dvmAsmInstructionStart + (296 * 64)
- ldr rIBASE, [rSELF, #offThread_curHandlerTable]
- cmp r3, #0
- bxeq lr @ nothing to do - jump to real handler
- EXPORT_PC()
- mov r0, rPC @ arg0
- mov r1, rFP @ arg1
- mov r2, rSELF @ arg2
- b dvmCheckBefore @ (dPC,dFP,self) tail call
-
-/* ------------------------------ */
- .balign 64
-.L_ALT_OP_UNUSED_29FF: /* 0x129 */
-/* File: armv5te/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Note that the call to dvmCheckBefore is done as a tail call.
- * rIBASE updates won't be seen until a refresh, and we can tell we have a
- * stale rIBASE if breakFlags==0. Always refresh rIBASE here, and then
- * bail to the real handler if breakFlags==0.
- */
- ldrb r3, [rSELF, #offThread_breakFlags]
- adrl lr, dvmAsmInstructionStart + (297 * 64)
- ldr rIBASE, [rSELF, #offThread_curHandlerTable]
- cmp r3, #0
- bxeq lr @ nothing to do - jump to real handler
- EXPORT_PC()
- mov r0, rPC @ arg0
- mov r1, rFP @ arg1
- mov r2, rSELF @ arg2
- b dvmCheckBefore @ (dPC,dFP,self) tail call
-
-/* ------------------------------ */
- .balign 64
-.L_ALT_OP_UNUSED_2AFF: /* 0x12a */
-/* File: armv5te/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Note that the call to dvmCheckBefore is done as a tail call.
- * rIBASE updates won't be seen until a refresh, and we can tell we have a
- * stale rIBASE if breakFlags==0. Always refresh rIBASE here, and then
- * bail to the real handler if breakFlags==0.
- */
- ldrb r3, [rSELF, #offThread_breakFlags]
- adrl lr, dvmAsmInstructionStart + (298 * 64)
- ldr rIBASE, [rSELF, #offThread_curHandlerTable]
- cmp r3, #0
- bxeq lr @ nothing to do - jump to real handler
- EXPORT_PC()
- mov r0, rPC @ arg0
- mov r1, rFP @ arg1
- mov r2, rSELF @ arg2
- b dvmCheckBefore @ (dPC,dFP,self) tail call
-
-/* ------------------------------ */
- .balign 64
-.L_ALT_OP_UNUSED_2BFF: /* 0x12b */
-/* File: armv5te/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Note that the call to dvmCheckBefore is done as a tail call.
- * rIBASE updates won't be seen until a refresh, and we can tell we have a
- * stale rIBASE if breakFlags==0. Always refresh rIBASE here, and then
- * bail to the real handler if breakFlags==0.
- */
- ldrb r3, [rSELF, #offThread_breakFlags]
- adrl lr, dvmAsmInstructionStart + (299 * 64)
- ldr rIBASE, [rSELF, #offThread_curHandlerTable]
- cmp r3, #0
- bxeq lr @ nothing to do - jump to real handler
- EXPORT_PC()
- mov r0, rPC @ arg0
- mov r1, rFP @ arg1
- mov r2, rSELF @ arg2
- b dvmCheckBefore @ (dPC,dFP,self) tail call
-
-/* ------------------------------ */
- .balign 64
-.L_ALT_OP_UNUSED_2CFF: /* 0x12c */
-/* File: armv5te/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Note that the call to dvmCheckBefore is done as a tail call.
- * rIBASE updates won't be seen until a refresh, and we can tell we have a
- * stale rIBASE if breakFlags==0. Always refresh rIBASE here, and then
- * bail to the real handler if breakFlags==0.
- */
- ldrb r3, [rSELF, #offThread_breakFlags]
- adrl lr, dvmAsmInstructionStart + (300 * 64)
- ldr rIBASE, [rSELF, #offThread_curHandlerTable]
- cmp r3, #0
- bxeq lr @ nothing to do - jump to real handler
- EXPORT_PC()
- mov r0, rPC @ arg0
- mov r1, rFP @ arg1
- mov r2, rSELF @ arg2
- b dvmCheckBefore @ (dPC,dFP,self) tail call
-
-/* ------------------------------ */
- .balign 64
-.L_ALT_OP_UNUSED_2DFF: /* 0x12d */
-/* File: armv5te/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Note that the call to dvmCheckBefore is done as a tail call.
- * rIBASE updates won't be seen until a refresh, and we can tell we have a
- * stale rIBASE if breakFlags==0. Always refresh rIBASE here, and then
- * bail to the real handler if breakFlags==0.
- */
- ldrb r3, [rSELF, #offThread_breakFlags]
- adrl lr, dvmAsmInstructionStart + (301 * 64)
- ldr rIBASE, [rSELF, #offThread_curHandlerTable]
- cmp r3, #0
- bxeq lr @ nothing to do - jump to real handler
- EXPORT_PC()
- mov r0, rPC @ arg0
- mov r1, rFP @ arg1
- mov r2, rSELF @ arg2
- b dvmCheckBefore @ (dPC,dFP,self) tail call
-
-/* ------------------------------ */
- .balign 64
-.L_ALT_OP_UNUSED_2EFF: /* 0x12e */
-/* File: armv5te/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Note that the call to dvmCheckBefore is done as a tail call.
- * rIBASE updates won't be seen until a refresh, and we can tell we have a
- * stale rIBASE if breakFlags==0. Always refresh rIBASE here, and then
- * bail to the real handler if breakFlags==0.
- */
- ldrb r3, [rSELF, #offThread_breakFlags]
- adrl lr, dvmAsmInstructionStart + (302 * 64)
- ldr rIBASE, [rSELF, #offThread_curHandlerTable]
- cmp r3, #0
- bxeq lr @ nothing to do - jump to real handler
- EXPORT_PC()
- mov r0, rPC @ arg0
- mov r1, rFP @ arg1
- mov r2, rSELF @ arg2
- b dvmCheckBefore @ (dPC,dFP,self) tail call
-
-/* ------------------------------ */
- .balign 64
-.L_ALT_OP_UNUSED_2FFF: /* 0x12f */
-/* File: armv5te/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Note that the call to dvmCheckBefore is done as a tail call.
- * rIBASE updates won't be seen until a refresh, and we can tell we have a
- * stale rIBASE if breakFlags==0. Always refresh rIBASE here, and then
- * bail to the real handler if breakFlags==0.
- */
- ldrb r3, [rSELF, #offThread_breakFlags]
- adrl lr, dvmAsmInstructionStart + (303 * 64)
- ldr rIBASE, [rSELF, #offThread_curHandlerTable]
- cmp r3, #0
- bxeq lr @ nothing to do - jump to real handler
- EXPORT_PC()
- mov r0, rPC @ arg0
- mov r1, rFP @ arg1
- mov r2, rSELF @ arg2
- b dvmCheckBefore @ (dPC,dFP,self) tail call
-
-/* ------------------------------ */
- .balign 64
-.L_ALT_OP_UNUSED_30FF: /* 0x130 */
-/* File: armv5te/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Note that the call to dvmCheckBefore is done as a tail call.
- * rIBASE updates won't be seen until a refresh, and we can tell we have a
- * stale rIBASE if breakFlags==0. Always refresh rIBASE here, and then
- * bail to the real handler if breakFlags==0.
- */
- ldrb r3, [rSELF, #offThread_breakFlags]
- adrl lr, dvmAsmInstructionStart + (304 * 64)
- ldr rIBASE, [rSELF, #offThread_curHandlerTable]
- cmp r3, #0
- bxeq lr @ nothing to do - jump to real handler
- EXPORT_PC()
- mov r0, rPC @ arg0
- mov r1, rFP @ arg1
- mov r2, rSELF @ arg2
- b dvmCheckBefore @ (dPC,dFP,self) tail call
-
-/* ------------------------------ */
- .balign 64
-.L_ALT_OP_UNUSED_31FF: /* 0x131 */
-/* File: armv5te/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Note that the call to dvmCheckBefore is done as a tail call.
- * rIBASE updates won't be seen until a refresh, and we can tell we have a
- * stale rIBASE if breakFlags==0. Always refresh rIBASE here, and then
- * bail to the real handler if breakFlags==0.
- */
- ldrb r3, [rSELF, #offThread_breakFlags]
- adrl lr, dvmAsmInstructionStart + (305 * 64)
- ldr rIBASE, [rSELF, #offThread_curHandlerTable]
- cmp r3, #0
- bxeq lr @ nothing to do - jump to real handler
- EXPORT_PC()
- mov r0, rPC @ arg0
- mov r1, rFP @ arg1
- mov r2, rSELF @ arg2
- b dvmCheckBefore @ (dPC,dFP,self) tail call
-
-/* ------------------------------ */
- .balign 64
-.L_ALT_OP_UNUSED_32FF: /* 0x132 */
-/* File: armv5te/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Note that the call to dvmCheckBefore is done as a tail call.
- * rIBASE updates won't be seen until a refresh, and we can tell we have a
- * stale rIBASE if breakFlags==0. Always refresh rIBASE here, and then
- * bail to the real handler if breakFlags==0.
- */
- ldrb r3, [rSELF, #offThread_breakFlags]
- adrl lr, dvmAsmInstructionStart + (306 * 64)
- ldr rIBASE, [rSELF, #offThread_curHandlerTable]
- cmp r3, #0
- bxeq lr @ nothing to do - jump to real handler
- EXPORT_PC()
- mov r0, rPC @ arg0
- mov r1, rFP @ arg1
- mov r2, rSELF @ arg2
- b dvmCheckBefore @ (dPC,dFP,self) tail call
-
-/* ------------------------------ */
- .balign 64
-.L_ALT_OP_UNUSED_33FF: /* 0x133 */
-/* File: armv5te/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Note that the call to dvmCheckBefore is done as a tail call.
- * rIBASE updates won't be seen until a refresh, and we can tell we have a
- * stale rIBASE if breakFlags==0. Always refresh rIBASE here, and then
- * bail to the real handler if breakFlags==0.
- */
- ldrb r3, [rSELF, #offThread_breakFlags]
- adrl lr, dvmAsmInstructionStart + (307 * 64)
- ldr rIBASE, [rSELF, #offThread_curHandlerTable]
- cmp r3, #0
- bxeq lr @ nothing to do - jump to real handler
- EXPORT_PC()
- mov r0, rPC @ arg0
- mov r1, rFP @ arg1
- mov r2, rSELF @ arg2
- b dvmCheckBefore @ (dPC,dFP,self) tail call
-
-/* ------------------------------ */
- .balign 64
-.L_ALT_OP_UNUSED_34FF: /* 0x134 */
-/* File: armv5te/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Note that the call to dvmCheckBefore is done as a tail call.
- * rIBASE updates won't be seen until a refresh, and we can tell we have a
- * stale rIBASE if breakFlags==0. Always refresh rIBASE here, and then
- * bail to the real handler if breakFlags==0.
- */
- ldrb r3, [rSELF, #offThread_breakFlags]
- adrl lr, dvmAsmInstructionStart + (308 * 64)
- ldr rIBASE, [rSELF, #offThread_curHandlerTable]
- cmp r3, #0
- bxeq lr @ nothing to do - jump to real handler
- EXPORT_PC()
- mov r0, rPC @ arg0
- mov r1, rFP @ arg1
- mov r2, rSELF @ arg2
- b dvmCheckBefore @ (dPC,dFP,self) tail call
-
-/* ------------------------------ */
- .balign 64
-.L_ALT_OP_UNUSED_35FF: /* 0x135 */
-/* File: armv5te/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Note that the call to dvmCheckBefore is done as a tail call.
- * rIBASE updates won't be seen until a refresh, and we can tell we have a
- * stale rIBASE if breakFlags==0. Always refresh rIBASE here, and then
- * bail to the real handler if breakFlags==0.
- */
- ldrb r3, [rSELF, #offThread_breakFlags]
- adrl lr, dvmAsmInstructionStart + (309 * 64)
- ldr rIBASE, [rSELF, #offThread_curHandlerTable]
- cmp r3, #0
- bxeq lr @ nothing to do - jump to real handler
- EXPORT_PC()
- mov r0, rPC @ arg0
- mov r1, rFP @ arg1
- mov r2, rSELF @ arg2
- b dvmCheckBefore @ (dPC,dFP,self) tail call
-
-/* ------------------------------ */
- .balign 64
-.L_ALT_OP_UNUSED_36FF: /* 0x136 */
-/* File: armv5te/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Note that the call to dvmCheckBefore is done as a tail call.
- * rIBASE updates won't be seen until a refresh, and we can tell we have a
- * stale rIBASE if breakFlags==0. Always refresh rIBASE here, and then
- * bail to the real handler if breakFlags==0.
- */
- ldrb r3, [rSELF, #offThread_breakFlags]
- adrl lr, dvmAsmInstructionStart + (310 * 64)
- ldr rIBASE, [rSELF, #offThread_curHandlerTable]
- cmp r3, #0
- bxeq lr @ nothing to do - jump to real handler
- EXPORT_PC()
- mov r0, rPC @ arg0
- mov r1, rFP @ arg1
- mov r2, rSELF @ arg2
- b dvmCheckBefore @ (dPC,dFP,self) tail call
-
-/* ------------------------------ */
- .balign 64
-.L_ALT_OP_UNUSED_37FF: /* 0x137 */
-/* File: armv5te/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Note that the call to dvmCheckBefore is done as a tail call.
- * rIBASE updates won't be seen until a refresh, and we can tell we have a
- * stale rIBASE if breakFlags==0. Always refresh rIBASE here, and then
- * bail to the real handler if breakFlags==0.
- */
- ldrb r3, [rSELF, #offThread_breakFlags]
- adrl lr, dvmAsmInstructionStart + (311 * 64)
- ldr rIBASE, [rSELF, #offThread_curHandlerTable]
- cmp r3, #0
- bxeq lr @ nothing to do - jump to real handler
- EXPORT_PC()
- mov r0, rPC @ arg0
- mov r1, rFP @ arg1
- mov r2, rSELF @ arg2
- b dvmCheckBefore @ (dPC,dFP,self) tail call
-
-/* ------------------------------ */
- .balign 64
-.L_ALT_OP_UNUSED_38FF: /* 0x138 */
-/* File: armv5te/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Note that the call to dvmCheckBefore is done as a tail call.
- * rIBASE updates won't be seen until a refresh, and we can tell we have a
- * stale rIBASE if breakFlags==0. Always refresh rIBASE here, and then
- * bail to the real handler if breakFlags==0.
- */
- ldrb r3, [rSELF, #offThread_breakFlags]
- adrl lr, dvmAsmInstructionStart + (312 * 64)
- ldr rIBASE, [rSELF, #offThread_curHandlerTable]
- cmp r3, #0
- bxeq lr @ nothing to do - jump to real handler
- EXPORT_PC()
- mov r0, rPC @ arg0
- mov r1, rFP @ arg1
- mov r2, rSELF @ arg2
- b dvmCheckBefore @ (dPC,dFP,self) tail call
-
-/* ------------------------------ */
- .balign 64
-.L_ALT_OP_UNUSED_39FF: /* 0x139 */
-/* File: armv5te/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Note that the call to dvmCheckBefore is done as a tail call.
- * rIBASE updates won't be seen until a refresh, and we can tell we have a
- * stale rIBASE if breakFlags==0. Always refresh rIBASE here, and then
- * bail to the real handler if breakFlags==0.
- */
- ldrb r3, [rSELF, #offThread_breakFlags]
- adrl lr, dvmAsmInstructionStart + (313 * 64)
- ldr rIBASE, [rSELF, #offThread_curHandlerTable]
- cmp r3, #0
- bxeq lr @ nothing to do - jump to real handler
- EXPORT_PC()
- mov r0, rPC @ arg0
- mov r1, rFP @ arg1
- mov r2, rSELF @ arg2
- b dvmCheckBefore @ (dPC,dFP,self) tail call
-
-/* ------------------------------ */
- .balign 64
-.L_ALT_OP_UNUSED_3AFF: /* 0x13a */
-/* File: armv5te/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Note that the call to dvmCheckBefore is done as a tail call.
- * rIBASE updates won't be seen until a refresh, and we can tell we have a
- * stale rIBASE if breakFlags==0. Always refresh rIBASE here, and then
- * bail to the real handler if breakFlags==0.
- */
- ldrb r3, [rSELF, #offThread_breakFlags]
- adrl lr, dvmAsmInstructionStart + (314 * 64)
- ldr rIBASE, [rSELF, #offThread_curHandlerTable]
- cmp r3, #0
- bxeq lr @ nothing to do - jump to real handler
- EXPORT_PC()
- mov r0, rPC @ arg0
- mov r1, rFP @ arg1
- mov r2, rSELF @ arg2
- b dvmCheckBefore @ (dPC,dFP,self) tail call
-
-/* ------------------------------ */
- .balign 64
-.L_ALT_OP_UNUSED_3BFF: /* 0x13b */
-/* File: armv5te/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Note that the call to dvmCheckBefore is done as a tail call.
- * rIBASE updates won't be seen until a refresh, and we can tell we have a
- * stale rIBASE if breakFlags==0. Always refresh rIBASE here, and then
- * bail to the real handler if breakFlags==0.
- */
- ldrb r3, [rSELF, #offThread_breakFlags]
- adrl lr, dvmAsmInstructionStart + (315 * 64)
- ldr rIBASE, [rSELF, #offThread_curHandlerTable]
- cmp r3, #0
- bxeq lr @ nothing to do - jump to real handler
- EXPORT_PC()
- mov r0, rPC @ arg0
- mov r1, rFP @ arg1
- mov r2, rSELF @ arg2
- b dvmCheckBefore @ (dPC,dFP,self) tail call
-
-/* ------------------------------ */
- .balign 64
-.L_ALT_OP_UNUSED_3CFF: /* 0x13c */
-/* File: armv5te/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Note that the call to dvmCheckBefore is done as a tail call.
- * rIBASE updates won't be seen until a refresh, and we can tell we have a
- * stale rIBASE if breakFlags==0. Always refresh rIBASE here, and then
- * bail to the real handler if breakFlags==0.
- */
- ldrb r3, [rSELF, #offThread_breakFlags]
- adrl lr, dvmAsmInstructionStart + (316 * 64)
- ldr rIBASE, [rSELF, #offThread_curHandlerTable]
- cmp r3, #0
- bxeq lr @ nothing to do - jump to real handler
- EXPORT_PC()
- mov r0, rPC @ arg0
- mov r1, rFP @ arg1
- mov r2, rSELF @ arg2
- b dvmCheckBefore @ (dPC,dFP,self) tail call
-
-/* ------------------------------ */
- .balign 64
-.L_ALT_OP_UNUSED_3DFF: /* 0x13d */
-/* File: armv5te/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Note that the call to dvmCheckBefore is done as a tail call.
- * rIBASE updates won't be seen until a refresh, and we can tell we have a
- * stale rIBASE if breakFlags==0. Always refresh rIBASE here, and then
- * bail to the real handler if breakFlags==0.
- */
- ldrb r3, [rSELF, #offThread_breakFlags]
- adrl lr, dvmAsmInstructionStart + (317 * 64)
- ldr rIBASE, [rSELF, #offThread_curHandlerTable]
- cmp r3, #0
- bxeq lr @ nothing to do - jump to real handler
- EXPORT_PC()
- mov r0, rPC @ arg0
- mov r1, rFP @ arg1
- mov r2, rSELF @ arg2
- b dvmCheckBefore @ (dPC,dFP,self) tail call
-
-/* ------------------------------ */
- .balign 64
-.L_ALT_OP_UNUSED_3EFF: /* 0x13e */
-/* File: armv5te/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Note that the call to dvmCheckBefore is done as a tail call.
- * rIBASE updates won't be seen until a refresh, and we can tell we have a
- * stale rIBASE if breakFlags==0. Always refresh rIBASE here, and then
- * bail to the real handler if breakFlags==0.
- */
- ldrb r3, [rSELF, #offThread_breakFlags]
- adrl lr, dvmAsmInstructionStart + (318 * 64)
- ldr rIBASE, [rSELF, #offThread_curHandlerTable]
- cmp r3, #0
- bxeq lr @ nothing to do - jump to real handler
- EXPORT_PC()
- mov r0, rPC @ arg0
- mov r1, rFP @ arg1
- mov r2, rSELF @ arg2
- b dvmCheckBefore @ (dPC,dFP,self) tail call
-
-/* ------------------------------ */
- .balign 64
-.L_ALT_OP_UNUSED_3FFF: /* 0x13f */
-/* File: armv5te/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Note that the call to dvmCheckBefore is done as a tail call.
- * rIBASE updates won't be seen until a refresh, and we can tell we have a
- * stale rIBASE if breakFlags==0. Always refresh rIBASE here, and then
- * bail to the real handler if breakFlags==0.
- */
- ldrb r3, [rSELF, #offThread_breakFlags]
- adrl lr, dvmAsmInstructionStart + (319 * 64)
- ldr rIBASE, [rSELF, #offThread_curHandlerTable]
- cmp r3, #0
- bxeq lr @ nothing to do - jump to real handler
- EXPORT_PC()
- mov r0, rPC @ arg0
- mov r1, rFP @ arg1
- mov r2, rSELF @ arg2
- b dvmCheckBefore @ (dPC,dFP,self) tail call
-
-/* ------------------------------ */
- .balign 64
-.L_ALT_OP_UNUSED_40FF: /* 0x140 */
-/* File: armv5te/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Note that the call to dvmCheckBefore is done as a tail call.
- * rIBASE updates won't be seen until a refresh, and we can tell we have a
- * stale rIBASE if breakFlags==0. Always refresh rIBASE here, and then
- * bail to the real handler if breakFlags==0.
- */
- ldrb r3, [rSELF, #offThread_breakFlags]
- adrl lr, dvmAsmInstructionStart + (320 * 64)
- ldr rIBASE, [rSELF, #offThread_curHandlerTable]
- cmp r3, #0
- bxeq lr @ nothing to do - jump to real handler
- EXPORT_PC()
- mov r0, rPC @ arg0
- mov r1, rFP @ arg1
- mov r2, rSELF @ arg2
- b dvmCheckBefore @ (dPC,dFP,self) tail call
-
-/* ------------------------------ */
- .balign 64
-.L_ALT_OP_UNUSED_41FF: /* 0x141 */
-/* File: armv5te/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Note that the call to dvmCheckBefore is done as a tail call.
- * rIBASE updates won't be seen until a refresh, and we can tell we have a
- * stale rIBASE if breakFlags==0. Always refresh rIBASE here, and then
- * bail to the real handler if breakFlags==0.
- */
- ldrb r3, [rSELF, #offThread_breakFlags]
- adrl lr, dvmAsmInstructionStart + (321 * 64)
- ldr rIBASE, [rSELF, #offThread_curHandlerTable]
- cmp r3, #0
- bxeq lr @ nothing to do - jump to real handler
- EXPORT_PC()
- mov r0, rPC @ arg0
- mov r1, rFP @ arg1
- mov r2, rSELF @ arg2
- b dvmCheckBefore @ (dPC,dFP,self) tail call
-
-/* ------------------------------ */
- .balign 64
-.L_ALT_OP_UNUSED_42FF: /* 0x142 */
-/* File: armv5te/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Note that the call to dvmCheckBefore is done as a tail call.
- * rIBASE updates won't be seen until a refresh, and we can tell we have a
- * stale rIBASE if breakFlags==0. Always refresh rIBASE here, and then
- * bail to the real handler if breakFlags==0.
- */
- ldrb r3, [rSELF, #offThread_breakFlags]
- adrl lr, dvmAsmInstructionStart + (322 * 64)
- ldr rIBASE, [rSELF, #offThread_curHandlerTable]
- cmp r3, #0
- bxeq lr @ nothing to do - jump to real handler
- EXPORT_PC()
- mov r0, rPC @ arg0
- mov r1, rFP @ arg1
- mov r2, rSELF @ arg2
- b dvmCheckBefore @ (dPC,dFP,self) tail call
-
-/* ------------------------------ */
- .balign 64
-.L_ALT_OP_UNUSED_43FF: /* 0x143 */
-/* File: armv5te/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Note that the call to dvmCheckBefore is done as a tail call.
- * rIBASE updates won't be seen until a refresh, and we can tell we have a
- * stale rIBASE if breakFlags==0. Always refresh rIBASE here, and then
- * bail to the real handler if breakFlags==0.
- */
- ldrb r3, [rSELF, #offThread_breakFlags]
- adrl lr, dvmAsmInstructionStart + (323 * 64)
- ldr rIBASE, [rSELF, #offThread_curHandlerTable]
- cmp r3, #0
- bxeq lr @ nothing to do - jump to real handler
- EXPORT_PC()
- mov r0, rPC @ arg0
- mov r1, rFP @ arg1
- mov r2, rSELF @ arg2
- b dvmCheckBefore @ (dPC,dFP,self) tail call
-
-/* ------------------------------ */
- .balign 64
-.L_ALT_OP_UNUSED_44FF: /* 0x144 */
-/* File: armv5te/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Note that the call to dvmCheckBefore is done as a tail call.
- * rIBASE updates won't be seen until a refresh, and we can tell we have a
- * stale rIBASE if breakFlags==0. Always refresh rIBASE here, and then
- * bail to the real handler if breakFlags==0.
- */
- ldrb r3, [rSELF, #offThread_breakFlags]
- adrl lr, dvmAsmInstructionStart + (324 * 64)
- ldr rIBASE, [rSELF, #offThread_curHandlerTable]
- cmp r3, #0
- bxeq lr @ nothing to do - jump to real handler
- EXPORT_PC()
- mov r0, rPC @ arg0
- mov r1, rFP @ arg1
- mov r2, rSELF @ arg2
- b dvmCheckBefore @ (dPC,dFP,self) tail call
-
-/* ------------------------------ */
- .balign 64
-.L_ALT_OP_UNUSED_45FF: /* 0x145 */
-/* File: armv5te/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Note that the call to dvmCheckBefore is done as a tail call.
- * rIBASE updates won't be seen until a refresh, and we can tell we have a
- * stale rIBASE if breakFlags==0. Always refresh rIBASE here, and then
- * bail to the real handler if breakFlags==0.
- */
- ldrb r3, [rSELF, #offThread_breakFlags]
- adrl lr, dvmAsmInstructionStart + (325 * 64)
- ldr rIBASE, [rSELF, #offThread_curHandlerTable]
- cmp r3, #0
- bxeq lr @ nothing to do - jump to real handler
- EXPORT_PC()
- mov r0, rPC @ arg0
- mov r1, rFP @ arg1
- mov r2, rSELF @ arg2
- b dvmCheckBefore @ (dPC,dFP,self) tail call
-
-/* ------------------------------ */
- .balign 64
-.L_ALT_OP_UNUSED_46FF: /* 0x146 */
-/* File: armv5te/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Note that the call to dvmCheckBefore is done as a tail call.
- * rIBASE updates won't be seen until a refresh, and we can tell we have a
- * stale rIBASE if breakFlags==0. Always refresh rIBASE here, and then
- * bail to the real handler if breakFlags==0.
- */
- ldrb r3, [rSELF, #offThread_breakFlags]
- adrl lr, dvmAsmInstructionStart + (326 * 64)
- ldr rIBASE, [rSELF, #offThread_curHandlerTable]
- cmp r3, #0
- bxeq lr @ nothing to do - jump to real handler
- EXPORT_PC()
- mov r0, rPC @ arg0
- mov r1, rFP @ arg1
- mov r2, rSELF @ arg2
- b dvmCheckBefore @ (dPC,dFP,self) tail call
-
-/* ------------------------------ */
- .balign 64
-.L_ALT_OP_UNUSED_47FF: /* 0x147 */
-/* File: armv5te/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Note that the call to dvmCheckBefore is done as a tail call.
- * rIBASE updates won't be seen until a refresh, and we can tell we have a
- * stale rIBASE if breakFlags==0. Always refresh rIBASE here, and then
- * bail to the real handler if breakFlags==0.
- */
- ldrb r3, [rSELF, #offThread_breakFlags]
- adrl lr, dvmAsmInstructionStart + (327 * 64)
- ldr rIBASE, [rSELF, #offThread_curHandlerTable]
- cmp r3, #0
- bxeq lr @ nothing to do - jump to real handler
- EXPORT_PC()
- mov r0, rPC @ arg0
- mov r1, rFP @ arg1
- mov r2, rSELF @ arg2
- b dvmCheckBefore @ (dPC,dFP,self) tail call
-
-/* ------------------------------ */
- .balign 64
-.L_ALT_OP_UNUSED_48FF: /* 0x148 */
-/* File: armv5te/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Note that the call to dvmCheckBefore is done as a tail call.
- * rIBASE updates won't be seen until a refresh, and we can tell we have a
- * stale rIBASE if breakFlags==0. Always refresh rIBASE here, and then
- * bail to the real handler if breakFlags==0.
- */
- ldrb r3, [rSELF, #offThread_breakFlags]
- adrl lr, dvmAsmInstructionStart + (328 * 64)
- ldr rIBASE, [rSELF, #offThread_curHandlerTable]
- cmp r3, #0
- bxeq lr @ nothing to do - jump to real handler
- EXPORT_PC()
- mov r0, rPC @ arg0
- mov r1, rFP @ arg1
- mov r2, rSELF @ arg2
- b dvmCheckBefore @ (dPC,dFP,self) tail call
-
-/* ------------------------------ */
- .balign 64
-.L_ALT_OP_UNUSED_49FF: /* 0x149 */
-/* File: armv5te/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Note that the call to dvmCheckBefore is done as a tail call.
- * rIBASE updates won't be seen until a refresh, and we can tell we have a
- * stale rIBASE if breakFlags==0. Always refresh rIBASE here, and then
- * bail to the real handler if breakFlags==0.
- */
- ldrb r3, [rSELF, #offThread_breakFlags]
- adrl lr, dvmAsmInstructionStart + (329 * 64)
- ldr rIBASE, [rSELF, #offThread_curHandlerTable]
- cmp r3, #0
- bxeq lr @ nothing to do - jump to real handler
- EXPORT_PC()
- mov r0, rPC @ arg0
- mov r1, rFP @ arg1
- mov r2, rSELF @ arg2
- b dvmCheckBefore @ (dPC,dFP,self) tail call
-
-/* ------------------------------ */
- .balign 64
-.L_ALT_OP_UNUSED_4AFF: /* 0x14a */
-/* File: armv5te/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Note that the call to dvmCheckBefore is done as a tail call.
- * rIBASE updates won't be seen until a refresh, and we can tell we have a
- * stale rIBASE if breakFlags==0. Always refresh rIBASE here, and then
- * bail to the real handler if breakFlags==0.
- */
- ldrb r3, [rSELF, #offThread_breakFlags]
- adrl lr, dvmAsmInstructionStart + (330 * 64)
- ldr rIBASE, [rSELF, #offThread_curHandlerTable]
- cmp r3, #0
- bxeq lr @ nothing to do - jump to real handler
- EXPORT_PC()
- mov r0, rPC @ arg0
- mov r1, rFP @ arg1
- mov r2, rSELF @ arg2
- b dvmCheckBefore @ (dPC,dFP,self) tail call
-
-/* ------------------------------ */
- .balign 64
-.L_ALT_OP_UNUSED_4BFF: /* 0x14b */
-/* File: armv5te/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Note that the call to dvmCheckBefore is done as a tail call.
- * rIBASE updates won't be seen until a refresh, and we can tell we have a
- * stale rIBASE if breakFlags==0. Always refresh rIBASE here, and then
- * bail to the real handler if breakFlags==0.
- */
- ldrb r3, [rSELF, #offThread_breakFlags]
- adrl lr, dvmAsmInstructionStart + (331 * 64)
- ldr rIBASE, [rSELF, #offThread_curHandlerTable]
- cmp r3, #0
- bxeq lr @ nothing to do - jump to real handler
- EXPORT_PC()
- mov r0, rPC @ arg0
- mov r1, rFP @ arg1
- mov r2, rSELF @ arg2
- b dvmCheckBefore @ (dPC,dFP,self) tail call
-
-/* ------------------------------ */
- .balign 64
-.L_ALT_OP_UNUSED_4CFF: /* 0x14c */
-/* File: armv5te/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Note that the call to dvmCheckBefore is done as a tail call.
- * rIBASE updates won't be seen until a refresh, and we can tell we have a
- * stale rIBASE if breakFlags==0. Always refresh rIBASE here, and then
- * bail to the real handler if breakFlags==0.
- */
- ldrb r3, [rSELF, #offThread_breakFlags]
- adrl lr, dvmAsmInstructionStart + (332 * 64)
- ldr rIBASE, [rSELF, #offThread_curHandlerTable]
- cmp r3, #0
- bxeq lr @ nothing to do - jump to real handler
- EXPORT_PC()
- mov r0, rPC @ arg0
- mov r1, rFP @ arg1
- mov r2, rSELF @ arg2
- b dvmCheckBefore @ (dPC,dFP,self) tail call
-
-/* ------------------------------ */
- .balign 64
-.L_ALT_OP_UNUSED_4DFF: /* 0x14d */
-/* File: armv5te/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Note that the call to dvmCheckBefore is done as a tail call.
- * rIBASE updates won't be seen until a refresh, and we can tell we have a
- * stale rIBASE if breakFlags==0. Always refresh rIBASE here, and then
- * bail to the real handler if breakFlags==0.
- */
- ldrb r3, [rSELF, #offThread_breakFlags]
- adrl lr, dvmAsmInstructionStart + (333 * 64)
- ldr rIBASE, [rSELF, #offThread_curHandlerTable]
- cmp r3, #0
- bxeq lr @ nothing to do - jump to real handler
- EXPORT_PC()
- mov r0, rPC @ arg0
- mov r1, rFP @ arg1
- mov r2, rSELF @ arg2
- b dvmCheckBefore @ (dPC,dFP,self) tail call
-
-/* ------------------------------ */
- .balign 64
-.L_ALT_OP_UNUSED_4EFF: /* 0x14e */
-/* File: armv5te/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Note that the call to dvmCheckBefore is done as a tail call.
- * rIBASE updates won't be seen until a refresh, and we can tell we have a
- * stale rIBASE if breakFlags==0. Always refresh rIBASE here, and then
- * bail to the real handler if breakFlags==0.
- */
- ldrb r3, [rSELF, #offThread_breakFlags]
- adrl lr, dvmAsmInstructionStart + (334 * 64)
- ldr rIBASE, [rSELF, #offThread_curHandlerTable]
- cmp r3, #0
- bxeq lr @ nothing to do - jump to real handler
- EXPORT_PC()
- mov r0, rPC @ arg0
- mov r1, rFP @ arg1
- mov r2, rSELF @ arg2
- b dvmCheckBefore @ (dPC,dFP,self) tail call
-
-/* ------------------------------ */
- .balign 64
-.L_ALT_OP_UNUSED_4FFF: /* 0x14f */
-/* File: armv5te/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Note that the call to dvmCheckBefore is done as a tail call.
- * rIBASE updates won't be seen until a refresh, and we can tell we have a
- * stale rIBASE if breakFlags==0. Always refresh rIBASE here, and then
- * bail to the real handler if breakFlags==0.
- */
- ldrb r3, [rSELF, #offThread_breakFlags]
- adrl lr, dvmAsmInstructionStart + (335 * 64)
- ldr rIBASE, [rSELF, #offThread_curHandlerTable]
- cmp r3, #0
- bxeq lr @ nothing to do - jump to real handler
- EXPORT_PC()
- mov r0, rPC @ arg0
- mov r1, rFP @ arg1
- mov r2, rSELF @ arg2
- b dvmCheckBefore @ (dPC,dFP,self) tail call
-
-/* ------------------------------ */
- .balign 64
-.L_ALT_OP_UNUSED_50FF: /* 0x150 */
-/* File: armv5te/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Note that the call to dvmCheckBefore is done as a tail call.
- * rIBASE updates won't be seen until a refresh, and we can tell we have a
- * stale rIBASE if breakFlags==0. Always refresh rIBASE here, and then
- * bail to the real handler if breakFlags==0.
- */
- ldrb r3, [rSELF, #offThread_breakFlags]
- adrl lr, dvmAsmInstructionStart + (336 * 64)
- ldr rIBASE, [rSELF, #offThread_curHandlerTable]
- cmp r3, #0
- bxeq lr @ nothing to do - jump to real handler
- EXPORT_PC()
- mov r0, rPC @ arg0
- mov r1, rFP @ arg1
- mov r2, rSELF @ arg2
- b dvmCheckBefore @ (dPC,dFP,self) tail call
-
-/* ------------------------------ */
- .balign 64
-.L_ALT_OP_UNUSED_51FF: /* 0x151 */
-/* File: armv5te/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Note that the call to dvmCheckBefore is done as a tail call.
- * rIBASE updates won't be seen until a refresh, and we can tell we have a
- * stale rIBASE if breakFlags==0. Always refresh rIBASE here, and then
- * bail to the real handler if breakFlags==0.
- */
- ldrb r3, [rSELF, #offThread_breakFlags]
- adrl lr, dvmAsmInstructionStart + (337 * 64)
- ldr rIBASE, [rSELF, #offThread_curHandlerTable]
- cmp r3, #0
- bxeq lr @ nothing to do - jump to real handler
- EXPORT_PC()
- mov r0, rPC @ arg0
- mov r1, rFP @ arg1
- mov r2, rSELF @ arg2
- b dvmCheckBefore @ (dPC,dFP,self) tail call
-
-/* ------------------------------ */
- .balign 64
-.L_ALT_OP_UNUSED_52FF: /* 0x152 */
-/* File: armv5te/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Note that the call to dvmCheckBefore is done as a tail call.
- * rIBASE updates won't be seen until a refresh, and we can tell we have a
- * stale rIBASE if breakFlags==0. Always refresh rIBASE here, and then
- * bail to the real handler if breakFlags==0.
- */
- ldrb r3, [rSELF, #offThread_breakFlags]
- adrl lr, dvmAsmInstructionStart + (338 * 64)
- ldr rIBASE, [rSELF, #offThread_curHandlerTable]
- cmp r3, #0
- bxeq lr @ nothing to do - jump to real handler
- EXPORT_PC()
- mov r0, rPC @ arg0
- mov r1, rFP @ arg1
- mov r2, rSELF @ arg2
- b dvmCheckBefore @ (dPC,dFP,self) tail call
-
-/* ------------------------------ */
- .balign 64
-.L_ALT_OP_UNUSED_53FF: /* 0x153 */
-/* File: armv5te/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Note that the call to dvmCheckBefore is done as a tail call.
- * rIBASE updates won't be seen until a refresh, and we can tell we have a
- * stale rIBASE if breakFlags==0. Always refresh rIBASE here, and then
- * bail to the real handler if breakFlags==0.
- */
- ldrb r3, [rSELF, #offThread_breakFlags]
- adrl lr, dvmAsmInstructionStart + (339 * 64)
- ldr rIBASE, [rSELF, #offThread_curHandlerTable]
- cmp r3, #0
- bxeq lr @ nothing to do - jump to real handler
- EXPORT_PC()
- mov r0, rPC @ arg0
- mov r1, rFP @ arg1
- mov r2, rSELF @ arg2
- b dvmCheckBefore @ (dPC,dFP,self) tail call
-
-/* ------------------------------ */
- .balign 64
-.L_ALT_OP_UNUSED_54FF: /* 0x154 */
-/* File: armv5te/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Note that the call to dvmCheckBefore is done as a tail call.
- * rIBASE updates won't be seen until a refresh, and we can tell we have a
- * stale rIBASE if breakFlags==0. Always refresh rIBASE here, and then
- * bail to the real handler if breakFlags==0.
- */
- ldrb r3, [rSELF, #offThread_breakFlags]
- adrl lr, dvmAsmInstructionStart + (340 * 64)
- ldr rIBASE, [rSELF, #offThread_curHandlerTable]
- cmp r3, #0
- bxeq lr @ nothing to do - jump to real handler
- EXPORT_PC()
- mov r0, rPC @ arg0
- mov r1, rFP @ arg1
- mov r2, rSELF @ arg2
- b dvmCheckBefore @ (dPC,dFP,self) tail call
-
-/* ------------------------------ */
- .balign 64
-.L_ALT_OP_UNUSED_55FF: /* 0x155 */
-/* File: armv5te/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Note that the call to dvmCheckBefore is done as a tail call.
- * rIBASE updates won't be seen until a refresh, and we can tell we have a
- * stale rIBASE if breakFlags==0. Always refresh rIBASE here, and then
- * bail to the real handler if breakFlags==0.
- */
- ldrb r3, [rSELF, #offThread_breakFlags]
- adrl lr, dvmAsmInstructionStart + (341 * 64)
- ldr rIBASE, [rSELF, #offThread_curHandlerTable]
- cmp r3, #0
- bxeq lr @ nothing to do - jump to real handler
- EXPORT_PC()
- mov r0, rPC @ arg0
- mov r1, rFP @ arg1
- mov r2, rSELF @ arg2
- b dvmCheckBefore @ (dPC,dFP,self) tail call
-
-/* ------------------------------ */
- .balign 64
-.L_ALT_OP_UNUSED_56FF: /* 0x156 */
-/* File: armv5te/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Note that the call to dvmCheckBefore is done as a tail call.
- * rIBASE updates won't be seen until a refresh, and we can tell we have a
- * stale rIBASE if breakFlags==0. Always refresh rIBASE here, and then
- * bail to the real handler if breakFlags==0.
- */
- ldrb r3, [rSELF, #offThread_breakFlags]
- adrl lr, dvmAsmInstructionStart + (342 * 64)
- ldr rIBASE, [rSELF, #offThread_curHandlerTable]
- cmp r3, #0
- bxeq lr @ nothing to do - jump to real handler
- EXPORT_PC()
- mov r0, rPC @ arg0
- mov r1, rFP @ arg1
- mov r2, rSELF @ arg2
- b dvmCheckBefore @ (dPC,dFP,self) tail call
-
-/* ------------------------------ */
- .balign 64
-.L_ALT_OP_UNUSED_57FF: /* 0x157 */
-/* File: armv5te/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Note that the call to dvmCheckBefore is done as a tail call.
- * rIBASE updates won't be seen until a refresh, and we can tell we have a
- * stale rIBASE if breakFlags==0. Always refresh rIBASE here, and then
- * bail to the real handler if breakFlags==0.
- */
- ldrb r3, [rSELF, #offThread_breakFlags]
- adrl lr, dvmAsmInstructionStart + (343 * 64)
- ldr rIBASE, [rSELF, #offThread_curHandlerTable]
- cmp r3, #0
- bxeq lr @ nothing to do - jump to real handler
- EXPORT_PC()
- mov r0, rPC @ arg0
- mov r1, rFP @ arg1
- mov r2, rSELF @ arg2
- b dvmCheckBefore @ (dPC,dFP,self) tail call
-
-/* ------------------------------ */
- .balign 64
-.L_ALT_OP_UNUSED_58FF: /* 0x158 */
-/* File: armv5te/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Note that the call to dvmCheckBefore is done as a tail call.
- * rIBASE updates won't be seen until a refresh, and we can tell we have a
- * stale rIBASE if breakFlags==0. Always refresh rIBASE here, and then
- * bail to the real handler if breakFlags==0.
- */
- ldrb r3, [rSELF, #offThread_breakFlags]
- adrl lr, dvmAsmInstructionStart + (344 * 64)
- ldr rIBASE, [rSELF, #offThread_curHandlerTable]
- cmp r3, #0
- bxeq lr @ nothing to do - jump to real handler
- EXPORT_PC()
- mov r0, rPC @ arg0
- mov r1, rFP @ arg1
- mov r2, rSELF @ arg2
- b dvmCheckBefore @ (dPC,dFP,self) tail call
-
-/* ------------------------------ */
- .balign 64
-.L_ALT_OP_UNUSED_59FF: /* 0x159 */
-/* File: armv5te/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Note that the call to dvmCheckBefore is done as a tail call.
- * rIBASE updates won't be seen until a refresh, and we can tell we have a
- * stale rIBASE if breakFlags==0. Always refresh rIBASE here, and then
- * bail to the real handler if breakFlags==0.
- */
- ldrb r3, [rSELF, #offThread_breakFlags]
- adrl lr, dvmAsmInstructionStart + (345 * 64)
- ldr rIBASE, [rSELF, #offThread_curHandlerTable]
- cmp r3, #0
- bxeq lr @ nothing to do - jump to real handler
- EXPORT_PC()
- mov r0, rPC @ arg0
- mov r1, rFP @ arg1
- mov r2, rSELF @ arg2
- b dvmCheckBefore @ (dPC,dFP,self) tail call
-
-/* ------------------------------ */
- .balign 64
-.L_ALT_OP_UNUSED_5AFF: /* 0x15a */
-/* File: armv5te/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Note that the call to dvmCheckBefore is done as a tail call.
- * rIBASE updates won't be seen until a refresh, and we can tell we have a
- * stale rIBASE if breakFlags==0. Always refresh rIBASE here, and then
- * bail to the real handler if breakFlags==0.
- */
- ldrb r3, [rSELF, #offThread_breakFlags]
- adrl lr, dvmAsmInstructionStart + (346 * 64)
- ldr rIBASE, [rSELF, #offThread_curHandlerTable]
- cmp r3, #0
- bxeq lr @ nothing to do - jump to real handler
- EXPORT_PC()
- mov r0, rPC @ arg0
- mov r1, rFP @ arg1
- mov r2, rSELF @ arg2
- b dvmCheckBefore @ (dPC,dFP,self) tail call
-
-/* ------------------------------ */
- .balign 64
-.L_ALT_OP_UNUSED_5BFF: /* 0x15b */
-/* File: armv5te/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Note that the call to dvmCheckBefore is done as a tail call.
- * rIBASE updates won't be seen until a refresh, and we can tell we have a
- * stale rIBASE if breakFlags==0. Always refresh rIBASE here, and then
- * bail to the real handler if breakFlags==0.
- */
- ldrb r3, [rSELF, #offThread_breakFlags]
- adrl lr, dvmAsmInstructionStart + (347 * 64)
- ldr rIBASE, [rSELF, #offThread_curHandlerTable]
- cmp r3, #0
- bxeq lr @ nothing to do - jump to real handler
- EXPORT_PC()
- mov r0, rPC @ arg0
- mov r1, rFP @ arg1
- mov r2, rSELF @ arg2
- b dvmCheckBefore @ (dPC,dFP,self) tail call
-
-/* ------------------------------ */
- .balign 64
-.L_ALT_OP_UNUSED_5CFF: /* 0x15c */
-/* File: armv5te/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Note that the call to dvmCheckBefore is done as a tail call.
- * rIBASE updates won't be seen until a refresh, and we can tell we have a
- * stale rIBASE if breakFlags==0. Always refresh rIBASE here, and then
- * bail to the real handler if breakFlags==0.
- */
- ldrb r3, [rSELF, #offThread_breakFlags]
- adrl lr, dvmAsmInstructionStart + (348 * 64)
- ldr rIBASE, [rSELF, #offThread_curHandlerTable]
- cmp r3, #0
- bxeq lr @ nothing to do - jump to real handler
- EXPORT_PC()
- mov r0, rPC @ arg0
- mov r1, rFP @ arg1
- mov r2, rSELF @ arg2
- b dvmCheckBefore @ (dPC,dFP,self) tail call
-
-/* ------------------------------ */
- .balign 64
-.L_ALT_OP_UNUSED_5DFF: /* 0x15d */
-/* File: armv5te/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Note that the call to dvmCheckBefore is done as a tail call.
- * rIBASE updates won't be seen until a refresh, and we can tell we have a
- * stale rIBASE if breakFlags==0. Always refresh rIBASE here, and then
- * bail to the real handler if breakFlags==0.
- */
- ldrb r3, [rSELF, #offThread_breakFlags]
- adrl lr, dvmAsmInstructionStart + (349 * 64)
- ldr rIBASE, [rSELF, #offThread_curHandlerTable]
- cmp r3, #0
- bxeq lr @ nothing to do - jump to real handler
- EXPORT_PC()
- mov r0, rPC @ arg0
- mov r1, rFP @ arg1
- mov r2, rSELF @ arg2
- b dvmCheckBefore @ (dPC,dFP,self) tail call
-
-/* ------------------------------ */
- .balign 64
-.L_ALT_OP_UNUSED_5EFF: /* 0x15e */
-/* File: armv5te/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Note that the call to dvmCheckBefore is done as a tail call.
- * rIBASE updates won't be seen until a refresh, and we can tell we have a
- * stale rIBASE if breakFlags==0. Always refresh rIBASE here, and then
- * bail to the real handler if breakFlags==0.
- */
- ldrb r3, [rSELF, #offThread_breakFlags]
- adrl lr, dvmAsmInstructionStart + (350 * 64)
- ldr rIBASE, [rSELF, #offThread_curHandlerTable]
- cmp r3, #0
- bxeq lr @ nothing to do - jump to real handler
- EXPORT_PC()
- mov r0, rPC @ arg0
- mov r1, rFP @ arg1
- mov r2, rSELF @ arg2
- b dvmCheckBefore @ (dPC,dFP,self) tail call
-
-/* ------------------------------ */
- .balign 64
-.L_ALT_OP_UNUSED_5FFF: /* 0x15f */
-/* File: armv5te/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Note that the call to dvmCheckBefore is done as a tail call.
- * rIBASE updates won't be seen until a refresh, and we can tell we have a
- * stale rIBASE if breakFlags==0. Always refresh rIBASE here, and then
- * bail to the real handler if breakFlags==0.
- */
- ldrb r3, [rSELF, #offThread_breakFlags]
- adrl lr, dvmAsmInstructionStart + (351 * 64)
- ldr rIBASE, [rSELF, #offThread_curHandlerTable]
- cmp r3, #0
- bxeq lr @ nothing to do - jump to real handler
- EXPORT_PC()
- mov r0, rPC @ arg0
- mov r1, rFP @ arg1
- mov r2, rSELF @ arg2
- b dvmCheckBefore @ (dPC,dFP,self) tail call
-
-/* ------------------------------ */
- .balign 64
-.L_ALT_OP_UNUSED_60FF: /* 0x160 */
-/* File: armv5te/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Note that the call to dvmCheckBefore is done as a tail call.
- * rIBASE updates won't be seen until a refresh, and we can tell we have a
- * stale rIBASE if breakFlags==0. Always refresh rIBASE here, and then
- * bail to the real handler if breakFlags==0.
- */
- ldrb r3, [rSELF, #offThread_breakFlags]
- adrl lr, dvmAsmInstructionStart + (352 * 64)
- ldr rIBASE, [rSELF, #offThread_curHandlerTable]
- cmp r3, #0
- bxeq lr @ nothing to do - jump to real handler
- EXPORT_PC()
- mov r0, rPC @ arg0
- mov r1, rFP @ arg1
- mov r2, rSELF @ arg2
- b dvmCheckBefore @ (dPC,dFP,self) tail call
-
-/* ------------------------------ */
- .balign 64
-.L_ALT_OP_UNUSED_61FF: /* 0x161 */
-/* File: armv5te/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Note that the call to dvmCheckBefore is done as a tail call.
- * rIBASE updates won't be seen until a refresh, and we can tell we have a
- * stale rIBASE if breakFlags==0. Always refresh rIBASE here, and then
- * bail to the real handler if breakFlags==0.
- */
- ldrb r3, [rSELF, #offThread_breakFlags]
- adrl lr, dvmAsmInstructionStart + (353 * 64)
- ldr rIBASE, [rSELF, #offThread_curHandlerTable]
- cmp r3, #0
- bxeq lr @ nothing to do - jump to real handler
- EXPORT_PC()
- mov r0, rPC @ arg0
- mov r1, rFP @ arg1
- mov r2, rSELF @ arg2
- b dvmCheckBefore @ (dPC,dFP,self) tail call
-
-/* ------------------------------ */
- .balign 64
-.L_ALT_OP_UNUSED_62FF: /* 0x162 */
-/* File: armv5te/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Note that the call to dvmCheckBefore is done as a tail call.
- * rIBASE updates won't be seen until a refresh, and we can tell we have a
- * stale rIBASE if breakFlags==0. Always refresh rIBASE here, and then
- * bail to the real handler if breakFlags==0.
- */
- ldrb r3, [rSELF, #offThread_breakFlags]
- adrl lr, dvmAsmInstructionStart + (354 * 64)
- ldr rIBASE, [rSELF, #offThread_curHandlerTable]
- cmp r3, #0
- bxeq lr @ nothing to do - jump to real handler
- EXPORT_PC()
- mov r0, rPC @ arg0
- mov r1, rFP @ arg1
- mov r2, rSELF @ arg2
- b dvmCheckBefore @ (dPC,dFP,self) tail call
-
-/* ------------------------------ */
- .balign 64
-.L_ALT_OP_UNUSED_63FF: /* 0x163 */
-/* File: armv5te/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Note that the call to dvmCheckBefore is done as a tail call.
- * rIBASE updates won't be seen until a refresh, and we can tell we have a
- * stale rIBASE if breakFlags==0. Always refresh rIBASE here, and then
- * bail to the real handler if breakFlags==0.
- */
- ldrb r3, [rSELF, #offThread_breakFlags]
- adrl lr, dvmAsmInstructionStart + (355 * 64)
- ldr rIBASE, [rSELF, #offThread_curHandlerTable]
- cmp r3, #0
- bxeq lr @ nothing to do - jump to real handler
- EXPORT_PC()
- mov r0, rPC @ arg0
- mov r1, rFP @ arg1
- mov r2, rSELF @ arg2
- b dvmCheckBefore @ (dPC,dFP,self) tail call
-
-/* ------------------------------ */
- .balign 64
-.L_ALT_OP_UNUSED_64FF: /* 0x164 */
-/* File: armv5te/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Note that the call to dvmCheckBefore is done as a tail call.
- * rIBASE updates won't be seen until a refresh, and we can tell we have a
- * stale rIBASE if breakFlags==0. Always refresh rIBASE here, and then
- * bail to the real handler if breakFlags==0.
- */
- ldrb r3, [rSELF, #offThread_breakFlags]
- adrl lr, dvmAsmInstructionStart + (356 * 64)
- ldr rIBASE, [rSELF, #offThread_curHandlerTable]
- cmp r3, #0
- bxeq lr @ nothing to do - jump to real handler
- EXPORT_PC()
- mov r0, rPC @ arg0
- mov r1, rFP @ arg1
- mov r2, rSELF @ arg2
- b dvmCheckBefore @ (dPC,dFP,self) tail call
-
-/* ------------------------------ */
- .balign 64
-.L_ALT_OP_UNUSED_65FF: /* 0x165 */
-/* File: armv5te/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Note that the call to dvmCheckBefore is done as a tail call.
- * rIBASE updates won't be seen until a refresh, and we can tell we have a
- * stale rIBASE if breakFlags==0. Always refresh rIBASE here, and then
- * bail to the real handler if breakFlags==0.
- */
- ldrb r3, [rSELF, #offThread_breakFlags]
- adrl lr, dvmAsmInstructionStart + (357 * 64)
- ldr rIBASE, [rSELF, #offThread_curHandlerTable]
- cmp r3, #0
- bxeq lr @ nothing to do - jump to real handler
- EXPORT_PC()
- mov r0, rPC @ arg0
- mov r1, rFP @ arg1
- mov r2, rSELF @ arg2
- b dvmCheckBefore @ (dPC,dFP,self) tail call
-
-/* ------------------------------ */
- .balign 64
-.L_ALT_OP_UNUSED_66FF: /* 0x166 */
-/* File: armv5te/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Note that the call to dvmCheckBefore is done as a tail call.
- * rIBASE updates won't be seen until a refresh, and we can tell we have a
- * stale rIBASE if breakFlags==0. Always refresh rIBASE here, and then
- * bail to the real handler if breakFlags==0.
- */
- ldrb r3, [rSELF, #offThread_breakFlags]
- adrl lr, dvmAsmInstructionStart + (358 * 64)
- ldr rIBASE, [rSELF, #offThread_curHandlerTable]
- cmp r3, #0
- bxeq lr @ nothing to do - jump to real handler
- EXPORT_PC()
- mov r0, rPC @ arg0
- mov r1, rFP @ arg1
- mov r2, rSELF @ arg2
- b dvmCheckBefore @ (dPC,dFP,self) tail call
-
-/* ------------------------------ */
- .balign 64
-.L_ALT_OP_UNUSED_67FF: /* 0x167 */
-/* File: armv5te/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Note that the call to dvmCheckBefore is done as a tail call.
- * rIBASE updates won't be seen until a refresh, and we can tell we have a
- * stale rIBASE if breakFlags==0. Always refresh rIBASE here, and then
- * bail to the real handler if breakFlags==0.
- */
- ldrb r3, [rSELF, #offThread_breakFlags]
- adrl lr, dvmAsmInstructionStart + (359 * 64)
- ldr rIBASE, [rSELF, #offThread_curHandlerTable]
- cmp r3, #0
- bxeq lr @ nothing to do - jump to real handler
- EXPORT_PC()
- mov r0, rPC @ arg0
- mov r1, rFP @ arg1
- mov r2, rSELF @ arg2
- b dvmCheckBefore @ (dPC,dFP,self) tail call
-
-/* ------------------------------ */
- .balign 64
-.L_ALT_OP_UNUSED_68FF: /* 0x168 */
-/* File: armv5te/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Note that the call to dvmCheckBefore is done as a tail call.
- * rIBASE updates won't be seen until a refresh, and we can tell we have a
- * stale rIBASE if breakFlags==0. Always refresh rIBASE here, and then
- * bail to the real handler if breakFlags==0.
- */
- ldrb r3, [rSELF, #offThread_breakFlags]
- adrl lr, dvmAsmInstructionStart + (360 * 64)
- ldr rIBASE, [rSELF, #offThread_curHandlerTable]
- cmp r3, #0
- bxeq lr @ nothing to do - jump to real handler
- EXPORT_PC()
- mov r0, rPC @ arg0
- mov r1, rFP @ arg1
- mov r2, rSELF @ arg2
- b dvmCheckBefore @ (dPC,dFP,self) tail call
-
-/* ------------------------------ */
- .balign 64
-.L_ALT_OP_UNUSED_69FF: /* 0x169 */
-/* File: armv5te/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Note that the call to dvmCheckBefore is done as a tail call.
- * rIBASE updates won't be seen until a refresh, and we can tell we have a
- * stale rIBASE if breakFlags==0. Always refresh rIBASE here, and then
- * bail to the real handler if breakFlags==0.
- */
- ldrb r3, [rSELF, #offThread_breakFlags]
- adrl lr, dvmAsmInstructionStart + (361 * 64)
- ldr rIBASE, [rSELF, #offThread_curHandlerTable]
- cmp r3, #0
- bxeq lr @ nothing to do - jump to real handler
- EXPORT_PC()
- mov r0, rPC @ arg0
- mov r1, rFP @ arg1
- mov r2, rSELF @ arg2
- b dvmCheckBefore @ (dPC,dFP,self) tail call
-
-/* ------------------------------ */
- .balign 64
-.L_ALT_OP_UNUSED_6AFF: /* 0x16a */
-/* File: armv5te/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Note that the call to dvmCheckBefore is done as a tail call.
- * rIBASE updates won't be seen until a refresh, and we can tell we have a
- * stale rIBASE if breakFlags==0. Always refresh rIBASE here, and then
- * bail to the real handler if breakFlags==0.
- */
- ldrb r3, [rSELF, #offThread_breakFlags]
- adrl lr, dvmAsmInstructionStart + (362 * 64)
- ldr rIBASE, [rSELF, #offThread_curHandlerTable]
- cmp r3, #0
- bxeq lr @ nothing to do - jump to real handler
- EXPORT_PC()
- mov r0, rPC @ arg0
- mov r1, rFP @ arg1
- mov r2, rSELF @ arg2
- b dvmCheckBefore @ (dPC,dFP,self) tail call
-
-/* ------------------------------ */
- .balign 64
-.L_ALT_OP_UNUSED_6BFF: /* 0x16b */
-/* File: armv5te/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Note that the call to dvmCheckBefore is done as a tail call.
- * rIBASE updates won't be seen until a refresh, and we can tell we have a
- * stale rIBASE if breakFlags==0. Always refresh rIBASE here, and then
- * bail to the real handler if breakFlags==0.
- */
- ldrb r3, [rSELF, #offThread_breakFlags]
- adrl lr, dvmAsmInstructionStart + (363 * 64)
- ldr rIBASE, [rSELF, #offThread_curHandlerTable]
- cmp r3, #0
- bxeq lr @ nothing to do - jump to real handler
- EXPORT_PC()
- mov r0, rPC @ arg0
- mov r1, rFP @ arg1
- mov r2, rSELF @ arg2
- b dvmCheckBefore @ (dPC,dFP,self) tail call
-
-/* ------------------------------ */
- .balign 64
-.L_ALT_OP_UNUSED_6CFF: /* 0x16c */
-/* File: armv5te/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Note that the call to dvmCheckBefore is done as a tail call.
- * rIBASE updates won't be seen until a refresh, and we can tell we have a
- * stale rIBASE if breakFlags==0. Always refresh rIBASE here, and then
- * bail to the real handler if breakFlags==0.
- */
- ldrb r3, [rSELF, #offThread_breakFlags]
- adrl lr, dvmAsmInstructionStart + (364 * 64)
- ldr rIBASE, [rSELF, #offThread_curHandlerTable]
- cmp r3, #0
- bxeq lr @ nothing to do - jump to real handler
- EXPORT_PC()
- mov r0, rPC @ arg0
- mov r1, rFP @ arg1
- mov r2, rSELF @ arg2
- b dvmCheckBefore @ (dPC,dFP,self) tail call
-
-/* ------------------------------ */
- .balign 64
-.L_ALT_OP_UNUSED_6DFF: /* 0x16d */
-/* File: armv5te/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Note that the call to dvmCheckBefore is done as a tail call.
- * rIBASE updates won't be seen until a refresh, and we can tell we have a
- * stale rIBASE if breakFlags==0. Always refresh rIBASE here, and then
- * bail to the real handler if breakFlags==0.
- */
- ldrb r3, [rSELF, #offThread_breakFlags]
- adrl lr, dvmAsmInstructionStart + (365 * 64)
- ldr rIBASE, [rSELF, #offThread_curHandlerTable]
- cmp r3, #0
- bxeq lr @ nothing to do - jump to real handler
- EXPORT_PC()
- mov r0, rPC @ arg0
- mov r1, rFP @ arg1
- mov r2, rSELF @ arg2
- b dvmCheckBefore @ (dPC,dFP,self) tail call
-
-/* ------------------------------ */
- .balign 64
-.L_ALT_OP_UNUSED_6EFF: /* 0x16e */
-/* File: armv5te/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Note that the call to dvmCheckBefore is done as a tail call.
- * rIBASE updates won't be seen until a refresh, and we can tell we have a
- * stale rIBASE if breakFlags==0. Always refresh rIBASE here, and then
- * bail to the real handler if breakFlags==0.
- */
- ldrb r3, [rSELF, #offThread_breakFlags]
- adrl lr, dvmAsmInstructionStart + (366 * 64)
- ldr rIBASE, [rSELF, #offThread_curHandlerTable]
- cmp r3, #0
- bxeq lr @ nothing to do - jump to real handler
- EXPORT_PC()
- mov r0, rPC @ arg0
- mov r1, rFP @ arg1
- mov r2, rSELF @ arg2
- b dvmCheckBefore @ (dPC,dFP,self) tail call
-
-/* ------------------------------ */
- .balign 64
-.L_ALT_OP_UNUSED_6FFF: /* 0x16f */
-/* File: armv5te/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Note that the call to dvmCheckBefore is done as a tail call.
- * rIBASE updates won't be seen until a refresh, and we can tell we have a
- * stale rIBASE if breakFlags==0. Always refresh rIBASE here, and then
- * bail to the real handler if breakFlags==0.
- */
- ldrb r3, [rSELF, #offThread_breakFlags]
- adrl lr, dvmAsmInstructionStart + (367 * 64)
- ldr rIBASE, [rSELF, #offThread_curHandlerTable]
- cmp r3, #0
- bxeq lr @ nothing to do - jump to real handler
- EXPORT_PC()
- mov r0, rPC @ arg0
- mov r1, rFP @ arg1
- mov r2, rSELF @ arg2
- b dvmCheckBefore @ (dPC,dFP,self) tail call
-
-/* ------------------------------ */
- .balign 64
-.L_ALT_OP_UNUSED_70FF: /* 0x170 */
-/* File: armv5te/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Note that the call to dvmCheckBefore is done as a tail call.
- * rIBASE updates won't be seen until a refresh, and we can tell we have a
- * stale rIBASE if breakFlags==0. Always refresh rIBASE here, and then
- * bail to the real handler if breakFlags==0.
- */
- ldrb r3, [rSELF, #offThread_breakFlags]
- adrl lr, dvmAsmInstructionStart + (368 * 64)
- ldr rIBASE, [rSELF, #offThread_curHandlerTable]
- cmp r3, #0
- bxeq lr @ nothing to do - jump to real handler
- EXPORT_PC()
- mov r0, rPC @ arg0
- mov r1, rFP @ arg1
- mov r2, rSELF @ arg2
- b dvmCheckBefore @ (dPC,dFP,self) tail call
-
-/* ------------------------------ */
- .balign 64
-.L_ALT_OP_UNUSED_71FF: /* 0x171 */
-/* File: armv5te/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Note that the call to dvmCheckBefore is done as a tail call.
- * rIBASE updates won't be seen until a refresh, and we can tell we have a
- * stale rIBASE if breakFlags==0. Always refresh rIBASE here, and then
- * bail to the real handler if breakFlags==0.
- */
- ldrb r3, [rSELF, #offThread_breakFlags]
- adrl lr, dvmAsmInstructionStart + (369 * 64)
- ldr rIBASE, [rSELF, #offThread_curHandlerTable]
- cmp r3, #0
- bxeq lr @ nothing to do - jump to real handler
- EXPORT_PC()
- mov r0, rPC @ arg0
- mov r1, rFP @ arg1
- mov r2, rSELF @ arg2
- b dvmCheckBefore @ (dPC,dFP,self) tail call
-
-/* ------------------------------ */
- .balign 64
-.L_ALT_OP_UNUSED_72FF: /* 0x172 */
-/* File: armv5te/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Note that the call to dvmCheckBefore is done as a tail call.
- * rIBASE updates won't be seen until a refresh, and we can tell we have a
- * stale rIBASE if breakFlags==0. Always refresh rIBASE here, and then
- * bail to the real handler if breakFlags==0.
- */
- ldrb r3, [rSELF, #offThread_breakFlags]
- adrl lr, dvmAsmInstructionStart + (370 * 64)
- ldr rIBASE, [rSELF, #offThread_curHandlerTable]
- cmp r3, #0
- bxeq lr @ nothing to do - jump to real handler
- EXPORT_PC()
- mov r0, rPC @ arg0
- mov r1, rFP @ arg1
- mov r2, rSELF @ arg2
- b dvmCheckBefore @ (dPC,dFP,self) tail call
-
-/* ------------------------------ */
- .balign 64
-.L_ALT_OP_UNUSED_73FF: /* 0x173 */
-/* File: armv5te/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Note that the call to dvmCheckBefore is done as a tail call.
- * rIBASE updates won't be seen until a refresh, and we can tell we have a
- * stale rIBASE if breakFlags==0. Always refresh rIBASE here, and then
- * bail to the real handler if breakFlags==0.
- */
- ldrb r3, [rSELF, #offThread_breakFlags]
- adrl lr, dvmAsmInstructionStart + (371 * 64)
- ldr rIBASE, [rSELF, #offThread_curHandlerTable]
- cmp r3, #0
- bxeq lr @ nothing to do - jump to real handler
- EXPORT_PC()
- mov r0, rPC @ arg0
- mov r1, rFP @ arg1
- mov r2, rSELF @ arg2
- b dvmCheckBefore @ (dPC,dFP,self) tail call
-
-/* ------------------------------ */
- .balign 64
-.L_ALT_OP_UNUSED_74FF: /* 0x174 */
-/* File: armv5te/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Note that the call to dvmCheckBefore is done as a tail call.
- * rIBASE updates won't be seen until a refresh, and we can tell we have a
- * stale rIBASE if breakFlags==0. Always refresh rIBASE here, and then
- * bail to the real handler if breakFlags==0.
- */
- ldrb r3, [rSELF, #offThread_breakFlags]
- adrl lr, dvmAsmInstructionStart + (372 * 64)
- ldr rIBASE, [rSELF, #offThread_curHandlerTable]
- cmp r3, #0
- bxeq lr @ nothing to do - jump to real handler
- EXPORT_PC()
- mov r0, rPC @ arg0
- mov r1, rFP @ arg1
- mov r2, rSELF @ arg2
- b dvmCheckBefore @ (dPC,dFP,self) tail call
-
-/* ------------------------------ */
- .balign 64
-.L_ALT_OP_UNUSED_75FF: /* 0x175 */
-/* File: armv5te/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Note that the call to dvmCheckBefore is done as a tail call.
- * rIBASE updates won't be seen until a refresh, and we can tell we have a
- * stale rIBASE if breakFlags==0. Always refresh rIBASE here, and then
- * bail to the real handler if breakFlags==0.
- */
- ldrb r3, [rSELF, #offThread_breakFlags]
- adrl lr, dvmAsmInstructionStart + (373 * 64)
- ldr rIBASE, [rSELF, #offThread_curHandlerTable]
- cmp r3, #0
- bxeq lr @ nothing to do - jump to real handler
- EXPORT_PC()
- mov r0, rPC @ arg0
- mov r1, rFP @ arg1
- mov r2, rSELF @ arg2
- b dvmCheckBefore @ (dPC,dFP,self) tail call
-
-/* ------------------------------ */
- .balign 64
-.L_ALT_OP_UNUSED_76FF: /* 0x176 */
-/* File: armv5te/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Note that the call to dvmCheckBefore is done as a tail call.
- * rIBASE updates won't be seen until a refresh, and we can tell we have a
- * stale rIBASE if breakFlags==0. Always refresh rIBASE here, and then
- * bail to the real handler if breakFlags==0.
- */
- ldrb r3, [rSELF, #offThread_breakFlags]
- adrl lr, dvmAsmInstructionStart + (374 * 64)
- ldr rIBASE, [rSELF, #offThread_curHandlerTable]
- cmp r3, #0
- bxeq lr @ nothing to do - jump to real handler
- EXPORT_PC()
- mov r0, rPC @ arg0
- mov r1, rFP @ arg1
- mov r2, rSELF @ arg2
- b dvmCheckBefore @ (dPC,dFP,self) tail call
-
-/* ------------------------------ */
- .balign 64
-.L_ALT_OP_UNUSED_77FF: /* 0x177 */
-/* File: armv5te/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Note that the call to dvmCheckBefore is done as a tail call.
- * rIBASE updates won't be seen until a refresh, and we can tell we have a
- * stale rIBASE if breakFlags==0. Always refresh rIBASE here, and then
- * bail to the real handler if breakFlags==0.
- */
- ldrb r3, [rSELF, #offThread_breakFlags]
- adrl lr, dvmAsmInstructionStart + (375 * 64)
- ldr rIBASE, [rSELF, #offThread_curHandlerTable]
- cmp r3, #0
- bxeq lr @ nothing to do - jump to real handler
- EXPORT_PC()
- mov r0, rPC @ arg0
- mov r1, rFP @ arg1
- mov r2, rSELF @ arg2
- b dvmCheckBefore @ (dPC,dFP,self) tail call
-
-/* ------------------------------ */
- .balign 64
-.L_ALT_OP_UNUSED_78FF: /* 0x178 */
-/* File: armv5te/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Note that the call to dvmCheckBefore is done as a tail call.
- * rIBASE updates won't be seen until a refresh, and we can tell we have a
- * stale rIBASE if breakFlags==0. Always refresh rIBASE here, and then
- * bail to the real handler if breakFlags==0.
- */
- ldrb r3, [rSELF, #offThread_breakFlags]
- adrl lr, dvmAsmInstructionStart + (376 * 64)
- ldr rIBASE, [rSELF, #offThread_curHandlerTable]
- cmp r3, #0
- bxeq lr @ nothing to do - jump to real handler
- EXPORT_PC()
- mov r0, rPC @ arg0
- mov r1, rFP @ arg1
- mov r2, rSELF @ arg2
- b dvmCheckBefore @ (dPC,dFP,self) tail call
-
-/* ------------------------------ */
- .balign 64
-.L_ALT_OP_UNUSED_79FF: /* 0x179 */
-/* File: armv5te/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Note that the call to dvmCheckBefore is done as a tail call.
- * rIBASE updates won't be seen until a refresh, and we can tell we have a
- * stale rIBASE if breakFlags==0. Always refresh rIBASE here, and then
- * bail to the real handler if breakFlags==0.
- */
- ldrb r3, [rSELF, #offThread_breakFlags]
- adrl lr, dvmAsmInstructionStart + (377 * 64)
- ldr rIBASE, [rSELF, #offThread_curHandlerTable]
- cmp r3, #0
- bxeq lr @ nothing to do - jump to real handler
- EXPORT_PC()
- mov r0, rPC @ arg0
- mov r1, rFP @ arg1
- mov r2, rSELF @ arg2
- b dvmCheckBefore @ (dPC,dFP,self) tail call
-
-/* ------------------------------ */
- .balign 64
-.L_ALT_OP_UNUSED_7AFF: /* 0x17a */
-/* File: armv5te/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Note that the call to dvmCheckBefore is done as a tail call.
- * rIBASE updates won't be seen until a refresh, and we can tell we have a
- * stale rIBASE if breakFlags==0. Always refresh rIBASE here, and then
- * bail to the real handler if breakFlags==0.
- */
- ldrb r3, [rSELF, #offThread_breakFlags]
- adrl lr, dvmAsmInstructionStart + (378 * 64)
- ldr rIBASE, [rSELF, #offThread_curHandlerTable]
- cmp r3, #0
- bxeq lr @ nothing to do - jump to real handler
- EXPORT_PC()
- mov r0, rPC @ arg0
- mov r1, rFP @ arg1
- mov r2, rSELF @ arg2
- b dvmCheckBefore @ (dPC,dFP,self) tail call
-
-/* ------------------------------ */
- .balign 64
-.L_ALT_OP_UNUSED_7BFF: /* 0x17b */
-/* File: armv5te/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Note that the call to dvmCheckBefore is done as a tail call.
- * rIBASE updates won't be seen until a refresh, and we can tell we have a
- * stale rIBASE if breakFlags==0. Always refresh rIBASE here, and then
- * bail to the real handler if breakFlags==0.
- */
- ldrb r3, [rSELF, #offThread_breakFlags]
- adrl lr, dvmAsmInstructionStart + (379 * 64)
- ldr rIBASE, [rSELF, #offThread_curHandlerTable]
- cmp r3, #0
- bxeq lr @ nothing to do - jump to real handler
- EXPORT_PC()
- mov r0, rPC @ arg0
- mov r1, rFP @ arg1
- mov r2, rSELF @ arg2
- b dvmCheckBefore @ (dPC,dFP,self) tail call
-
-/* ------------------------------ */
- .balign 64
-.L_ALT_OP_UNUSED_7CFF: /* 0x17c */
-/* File: armv5te/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Note that the call to dvmCheckBefore is done as a tail call.
- * rIBASE updates won't be seen until a refresh, and we can tell we have a
- * stale rIBASE if breakFlags==0. Always refresh rIBASE here, and then
- * bail to the real handler if breakFlags==0.
- */
- ldrb r3, [rSELF, #offThread_breakFlags]
- adrl lr, dvmAsmInstructionStart + (380 * 64)
- ldr rIBASE, [rSELF, #offThread_curHandlerTable]
- cmp r3, #0
- bxeq lr @ nothing to do - jump to real handler
- EXPORT_PC()
- mov r0, rPC @ arg0
- mov r1, rFP @ arg1
- mov r2, rSELF @ arg2
- b dvmCheckBefore @ (dPC,dFP,self) tail call
-
-/* ------------------------------ */
- .balign 64
-.L_ALT_OP_UNUSED_7DFF: /* 0x17d */
-/* File: armv5te/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Note that the call to dvmCheckBefore is done as a tail call.
- * rIBASE updates won't be seen until a refresh, and we can tell we have a
- * stale rIBASE if breakFlags==0. Always refresh rIBASE here, and then
- * bail to the real handler if breakFlags==0.
- */
- ldrb r3, [rSELF, #offThread_breakFlags]
- adrl lr, dvmAsmInstructionStart + (381 * 64)
- ldr rIBASE, [rSELF, #offThread_curHandlerTable]
- cmp r3, #0
- bxeq lr @ nothing to do - jump to real handler
- EXPORT_PC()
- mov r0, rPC @ arg0
- mov r1, rFP @ arg1
- mov r2, rSELF @ arg2
- b dvmCheckBefore @ (dPC,dFP,self) tail call
-
-/* ------------------------------ */
- .balign 64
-.L_ALT_OP_UNUSED_7EFF: /* 0x17e */
-/* File: armv5te/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Note that the call to dvmCheckBefore is done as a tail call.
- * rIBASE updates won't be seen until a refresh, and we can tell we have a
- * stale rIBASE if breakFlags==0. Always refresh rIBASE here, and then
- * bail to the real handler if breakFlags==0.
- */
- ldrb r3, [rSELF, #offThread_breakFlags]
- adrl lr, dvmAsmInstructionStart + (382 * 64)
- ldr rIBASE, [rSELF, #offThread_curHandlerTable]
- cmp r3, #0
- bxeq lr @ nothing to do - jump to real handler
- EXPORT_PC()
- mov r0, rPC @ arg0
- mov r1, rFP @ arg1
- mov r2, rSELF @ arg2
- b dvmCheckBefore @ (dPC,dFP,self) tail call
-
-/* ------------------------------ */
- .balign 64
-.L_ALT_OP_UNUSED_7FFF: /* 0x17f */
-/* File: armv5te/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Note that the call to dvmCheckBefore is done as a tail call.
- * rIBASE updates won't be seen until a refresh, and we can tell we have a
- * stale rIBASE if breakFlags==0. Always refresh rIBASE here, and then
- * bail to the real handler if breakFlags==0.
- */
- ldrb r3, [rSELF, #offThread_breakFlags]
- adrl lr, dvmAsmInstructionStart + (383 * 64)
- ldr rIBASE, [rSELF, #offThread_curHandlerTable]
- cmp r3, #0
- bxeq lr @ nothing to do - jump to real handler
- EXPORT_PC()
- mov r0, rPC @ arg0
- mov r1, rFP @ arg1
- mov r2, rSELF @ arg2
- b dvmCheckBefore @ (dPC,dFP,self) tail call
-
-/* ------------------------------ */
- .balign 64
-.L_ALT_OP_UNUSED_80FF: /* 0x180 */
-/* File: armv5te/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Note that the call to dvmCheckBefore is done as a tail call.
- * rIBASE updates won't be seen until a refresh, and we can tell we have a
- * stale rIBASE if breakFlags==0. Always refresh rIBASE here, and then
- * bail to the real handler if breakFlags==0.
- */
- ldrb r3, [rSELF, #offThread_breakFlags]
- adrl lr, dvmAsmInstructionStart + (384 * 64)
- ldr rIBASE, [rSELF, #offThread_curHandlerTable]
- cmp r3, #0
- bxeq lr @ nothing to do - jump to real handler
- EXPORT_PC()
- mov r0, rPC @ arg0
- mov r1, rFP @ arg1
- mov r2, rSELF @ arg2
- b dvmCheckBefore @ (dPC,dFP,self) tail call
-
-/* ------------------------------ */
- .balign 64
-.L_ALT_OP_UNUSED_81FF: /* 0x181 */
-/* File: armv5te/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Note that the call to dvmCheckBefore is done as a tail call.
- * rIBASE updates won't be seen until a refresh, and we can tell we have a
- * stale rIBASE if breakFlags==0. Always refresh rIBASE here, and then
- * bail to the real handler if breakFlags==0.
- */
- ldrb r3, [rSELF, #offThread_breakFlags]
- adrl lr, dvmAsmInstructionStart + (385 * 64)
- ldr rIBASE, [rSELF, #offThread_curHandlerTable]
- cmp r3, #0
- bxeq lr @ nothing to do - jump to real handler
- EXPORT_PC()
- mov r0, rPC @ arg0
- mov r1, rFP @ arg1
- mov r2, rSELF @ arg2
- b dvmCheckBefore @ (dPC,dFP,self) tail call
-
-/* ------------------------------ */
- .balign 64
-.L_ALT_OP_UNUSED_82FF: /* 0x182 */
-/* File: armv5te/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Note that the call to dvmCheckBefore is done as a tail call.
- * rIBASE updates won't be seen until a refresh, and we can tell we have a
- * stale rIBASE if breakFlags==0. Always refresh rIBASE here, and then
- * bail to the real handler if breakFlags==0.
- */
- ldrb r3, [rSELF, #offThread_breakFlags]
- adrl lr, dvmAsmInstructionStart + (386 * 64)
- ldr rIBASE, [rSELF, #offThread_curHandlerTable]
- cmp r3, #0
- bxeq lr @ nothing to do - jump to real handler
- EXPORT_PC()
- mov r0, rPC @ arg0
- mov r1, rFP @ arg1
- mov r2, rSELF @ arg2
- b dvmCheckBefore @ (dPC,dFP,self) tail call
-
-/* ------------------------------ */
- .balign 64
-.L_ALT_OP_UNUSED_83FF: /* 0x183 */
-/* File: armv5te/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Note that the call to dvmCheckBefore is done as a tail call.
- * rIBASE updates won't be seen until a refresh, and we can tell we have a
- * stale rIBASE if breakFlags==0. Always refresh rIBASE here, and then
- * bail to the real handler if breakFlags==0.
- */
- ldrb r3, [rSELF, #offThread_breakFlags]
- adrl lr, dvmAsmInstructionStart + (387 * 64)
- ldr rIBASE, [rSELF, #offThread_curHandlerTable]
- cmp r3, #0
- bxeq lr @ nothing to do - jump to real handler
- EXPORT_PC()
- mov r0, rPC @ arg0
- mov r1, rFP @ arg1
- mov r2, rSELF @ arg2
- b dvmCheckBefore @ (dPC,dFP,self) tail call
-
-/* ------------------------------ */
- .balign 64
-.L_ALT_OP_UNUSED_84FF: /* 0x184 */
-/* File: armv5te/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Note that the call to dvmCheckBefore is done as a tail call.
- * rIBASE updates won't be seen until a refresh, and we can tell we have a
- * stale rIBASE if breakFlags==0. Always refresh rIBASE here, and then
- * bail to the real handler if breakFlags==0.
- */
- ldrb r3, [rSELF, #offThread_breakFlags]
- adrl lr, dvmAsmInstructionStart + (388 * 64)
- ldr rIBASE, [rSELF, #offThread_curHandlerTable]
- cmp r3, #0
- bxeq lr @ nothing to do - jump to real handler
- EXPORT_PC()
- mov r0, rPC @ arg0
- mov r1, rFP @ arg1
- mov r2, rSELF @ arg2
- b dvmCheckBefore @ (dPC,dFP,self) tail call
-
-/* ------------------------------ */
- .balign 64
-.L_ALT_OP_UNUSED_85FF: /* 0x185 */
-/* File: armv5te/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Note that the call to dvmCheckBefore is done as a tail call.
- * rIBASE updates won't be seen until a refresh, and we can tell we have a
- * stale rIBASE if breakFlags==0. Always refresh rIBASE here, and then
- * bail to the real handler if breakFlags==0.
- */
- ldrb r3, [rSELF, #offThread_breakFlags]
- adrl lr, dvmAsmInstructionStart + (389 * 64)
- ldr rIBASE, [rSELF, #offThread_curHandlerTable]
- cmp r3, #0
- bxeq lr @ nothing to do - jump to real handler
- EXPORT_PC()
- mov r0, rPC @ arg0
- mov r1, rFP @ arg1
- mov r2, rSELF @ arg2
- b dvmCheckBefore @ (dPC,dFP,self) tail call
-
-/* ------------------------------ */
- .balign 64
-.L_ALT_OP_UNUSED_86FF: /* 0x186 */
-/* File: armv5te/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Note that the call to dvmCheckBefore is done as a tail call.
- * rIBASE updates won't be seen until a refresh, and we can tell we have a
- * stale rIBASE if breakFlags==0. Always refresh rIBASE here, and then
- * bail to the real handler if breakFlags==0.
- */
- ldrb r3, [rSELF, #offThread_breakFlags]
- adrl lr, dvmAsmInstructionStart + (390 * 64)
- ldr rIBASE, [rSELF, #offThread_curHandlerTable]
- cmp r3, #0
- bxeq lr @ nothing to do - jump to real handler
- EXPORT_PC()
- mov r0, rPC @ arg0
- mov r1, rFP @ arg1
- mov r2, rSELF @ arg2
- b dvmCheckBefore @ (dPC,dFP,self) tail call
-
-/* ------------------------------ */
- .balign 64
-.L_ALT_OP_UNUSED_87FF: /* 0x187 */
-/* File: armv5te/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Note that the call to dvmCheckBefore is done as a tail call.
- * rIBASE updates won't be seen until a refresh, and we can tell we have a
- * stale rIBASE if breakFlags==0. Always refresh rIBASE here, and then
- * bail to the real handler if breakFlags==0.
- */
- ldrb r3, [rSELF, #offThread_breakFlags]
- adrl lr, dvmAsmInstructionStart + (391 * 64)
- ldr rIBASE, [rSELF, #offThread_curHandlerTable]
- cmp r3, #0
- bxeq lr @ nothing to do - jump to real handler
- EXPORT_PC()
- mov r0, rPC @ arg0
- mov r1, rFP @ arg1
- mov r2, rSELF @ arg2
- b dvmCheckBefore @ (dPC,dFP,self) tail call
-
-/* ------------------------------ */
- .balign 64
-.L_ALT_OP_UNUSED_88FF: /* 0x188 */
-/* File: armv5te/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Note that the call to dvmCheckBefore is done as a tail call.
- * rIBASE updates won't be seen until a refresh, and we can tell we have a
- * stale rIBASE if breakFlags==0. Always refresh rIBASE here, and then
- * bail to the real handler if breakFlags==0.
- */
- ldrb r3, [rSELF, #offThread_breakFlags]
- adrl lr, dvmAsmInstructionStart + (392 * 64)
- ldr rIBASE, [rSELF, #offThread_curHandlerTable]
- cmp r3, #0
- bxeq lr @ nothing to do - jump to real handler
- EXPORT_PC()
- mov r0, rPC @ arg0
- mov r1, rFP @ arg1
- mov r2, rSELF @ arg2
- b dvmCheckBefore @ (dPC,dFP,self) tail call
-
-/* ------------------------------ */
- .balign 64
-.L_ALT_OP_UNUSED_89FF: /* 0x189 */
-/* File: armv5te/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Note that the call to dvmCheckBefore is done as a tail call.
- * rIBASE updates won't be seen until a refresh, and we can tell we have a
- * stale rIBASE if breakFlags==0. Always refresh rIBASE here, and then
- * bail to the real handler if breakFlags==0.
- */
- ldrb r3, [rSELF, #offThread_breakFlags]
- adrl lr, dvmAsmInstructionStart + (393 * 64)
- ldr rIBASE, [rSELF, #offThread_curHandlerTable]
- cmp r3, #0
- bxeq lr @ nothing to do - jump to real handler
- EXPORT_PC()
- mov r0, rPC @ arg0
- mov r1, rFP @ arg1
- mov r2, rSELF @ arg2
- b dvmCheckBefore @ (dPC,dFP,self) tail call
-
-/* ------------------------------ */
- .balign 64
-.L_ALT_OP_UNUSED_8AFF: /* 0x18a */
-/* File: armv5te/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Note that the call to dvmCheckBefore is done as a tail call.
- * rIBASE updates won't be seen until a refresh, and we can tell we have a
- * stale rIBASE if breakFlags==0. Always refresh rIBASE here, and then
- * bail to the real handler if breakFlags==0.
- */
- ldrb r3, [rSELF, #offThread_breakFlags]
- adrl lr, dvmAsmInstructionStart + (394 * 64)
- ldr rIBASE, [rSELF, #offThread_curHandlerTable]
- cmp r3, #0
- bxeq lr @ nothing to do - jump to real handler
- EXPORT_PC()
- mov r0, rPC @ arg0
- mov r1, rFP @ arg1
- mov r2, rSELF @ arg2
- b dvmCheckBefore @ (dPC,dFP,self) tail call
-
-/* ------------------------------ */
- .balign 64
-.L_ALT_OP_UNUSED_8BFF: /* 0x18b */
-/* File: armv5te/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Note that the call to dvmCheckBefore is done as a tail call.
- * rIBASE updates won't be seen until a refresh, and we can tell we have a
- * stale rIBASE if breakFlags==0. Always refresh rIBASE here, and then
- * bail to the real handler if breakFlags==0.
- */
- ldrb r3, [rSELF, #offThread_breakFlags]
- adrl lr, dvmAsmInstructionStart + (395 * 64)
- ldr rIBASE, [rSELF, #offThread_curHandlerTable]
- cmp r3, #0
- bxeq lr @ nothing to do - jump to real handler
- EXPORT_PC()
- mov r0, rPC @ arg0
- mov r1, rFP @ arg1
- mov r2, rSELF @ arg2
- b dvmCheckBefore @ (dPC,dFP,self) tail call
-
-/* ------------------------------ */
- .balign 64
-.L_ALT_OP_UNUSED_8CFF: /* 0x18c */
-/* File: armv5te/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Note that the call to dvmCheckBefore is done as a tail call.
- * rIBASE updates won't be seen until a refresh, and we can tell we have a
- * stale rIBASE if breakFlags==0. Always refresh rIBASE here, and then
- * bail to the real handler if breakFlags==0.
- */
- ldrb r3, [rSELF, #offThread_breakFlags]
- adrl lr, dvmAsmInstructionStart + (396 * 64)
- ldr rIBASE, [rSELF, #offThread_curHandlerTable]
- cmp r3, #0
- bxeq lr @ nothing to do - jump to real handler
- EXPORT_PC()
- mov r0, rPC @ arg0
- mov r1, rFP @ arg1
- mov r2, rSELF @ arg2
- b dvmCheckBefore @ (dPC,dFP,self) tail call
-
-/* ------------------------------ */
- .balign 64
-.L_ALT_OP_UNUSED_8DFF: /* 0x18d */
-/* File: armv5te/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Note that the call to dvmCheckBefore is done as a tail call.
- * rIBASE updates won't be seen until a refresh, and we can tell we have a
- * stale rIBASE if breakFlags==0. Always refresh rIBASE here, and then
- * bail to the real handler if breakFlags==0.
- */
- ldrb r3, [rSELF, #offThread_breakFlags]
- adrl lr, dvmAsmInstructionStart + (397 * 64)
- ldr rIBASE, [rSELF, #offThread_curHandlerTable]
- cmp r3, #0
- bxeq lr @ nothing to do - jump to real handler
- EXPORT_PC()
- mov r0, rPC @ arg0
- mov r1, rFP @ arg1
- mov r2, rSELF @ arg2
- b dvmCheckBefore @ (dPC,dFP,self) tail call
-
-/* ------------------------------ */
- .balign 64
-.L_ALT_OP_UNUSED_8EFF: /* 0x18e */
-/* File: armv5te/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Note that the call to dvmCheckBefore is done as a tail call.
- * rIBASE updates won't be seen until a refresh, and we can tell we have a
- * stale rIBASE if breakFlags==0. Always refresh rIBASE here, and then
- * bail to the real handler if breakFlags==0.
- */
- ldrb r3, [rSELF, #offThread_breakFlags]
- adrl lr, dvmAsmInstructionStart + (398 * 64)
- ldr rIBASE, [rSELF, #offThread_curHandlerTable]
- cmp r3, #0
- bxeq lr @ nothing to do - jump to real handler
- EXPORT_PC()
- mov r0, rPC @ arg0
- mov r1, rFP @ arg1
- mov r2, rSELF @ arg2
- b dvmCheckBefore @ (dPC,dFP,self) tail call
-
-/* ------------------------------ */
- .balign 64
-.L_ALT_OP_UNUSED_8FFF: /* 0x18f */
-/* File: armv5te/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Note that the call to dvmCheckBefore is done as a tail call.
- * rIBASE updates won't be seen until a refresh, and we can tell we have a
- * stale rIBASE if breakFlags==0. Always refresh rIBASE here, and then
- * bail to the real handler if breakFlags==0.
- */
- ldrb r3, [rSELF, #offThread_breakFlags]
- adrl lr, dvmAsmInstructionStart + (399 * 64)
- ldr rIBASE, [rSELF, #offThread_curHandlerTable]
- cmp r3, #0
- bxeq lr @ nothing to do - jump to real handler
- EXPORT_PC()
- mov r0, rPC @ arg0
- mov r1, rFP @ arg1
- mov r2, rSELF @ arg2
- b dvmCheckBefore @ (dPC,dFP,self) tail call
-
-/* ------------------------------ */
- .balign 64
-.L_ALT_OP_UNUSED_90FF: /* 0x190 */
-/* File: armv5te/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Note that the call to dvmCheckBefore is done as a tail call.
- * rIBASE updates won't be seen until a refresh, and we can tell we have a
- * stale rIBASE if breakFlags==0. Always refresh rIBASE here, and then
- * bail to the real handler if breakFlags==0.
- */
- ldrb r3, [rSELF, #offThread_breakFlags]
- adrl lr, dvmAsmInstructionStart + (400 * 64)
- ldr rIBASE, [rSELF, #offThread_curHandlerTable]
- cmp r3, #0
- bxeq lr @ nothing to do - jump to real handler
- EXPORT_PC()
- mov r0, rPC @ arg0
- mov r1, rFP @ arg1
- mov r2, rSELF @ arg2
- b dvmCheckBefore @ (dPC,dFP,self) tail call
-
-/* ------------------------------ */
- .balign 64
-.L_ALT_OP_UNUSED_91FF: /* 0x191 */
-/* File: armv5te/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Note that the call to dvmCheckBefore is done as a tail call.
- * rIBASE updates won't be seen until a refresh, and we can tell we have a
- * stale rIBASE if breakFlags==0. Always refresh rIBASE here, and then
- * bail to the real handler if breakFlags==0.
- */
- ldrb r3, [rSELF, #offThread_breakFlags]
- adrl lr, dvmAsmInstructionStart + (401 * 64)
- ldr rIBASE, [rSELF, #offThread_curHandlerTable]
- cmp r3, #0
- bxeq lr @ nothing to do - jump to real handler
- EXPORT_PC()
- mov r0, rPC @ arg0
- mov r1, rFP @ arg1
- mov r2, rSELF @ arg2
- b dvmCheckBefore @ (dPC,dFP,self) tail call
-
-/* ------------------------------ */
- .balign 64
-.L_ALT_OP_UNUSED_92FF: /* 0x192 */
-/* File: armv5te/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Note that the call to dvmCheckBefore is done as a tail call.
- * rIBASE updates won't be seen until a refresh, and we can tell we have a
- * stale rIBASE if breakFlags==0. Always refresh rIBASE here, and then
- * bail to the real handler if breakFlags==0.
- */
- ldrb r3, [rSELF, #offThread_breakFlags]
- adrl lr, dvmAsmInstructionStart + (402 * 64)
- ldr rIBASE, [rSELF, #offThread_curHandlerTable]
- cmp r3, #0
- bxeq lr @ nothing to do - jump to real handler
- EXPORT_PC()
- mov r0, rPC @ arg0
- mov r1, rFP @ arg1
- mov r2, rSELF @ arg2
- b dvmCheckBefore @ (dPC,dFP,self) tail call
-
-/* ------------------------------ */
- .balign 64
-.L_ALT_OP_UNUSED_93FF: /* 0x193 */
-/* File: armv5te/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Note that the call to dvmCheckBefore is done as a tail call.
- * rIBASE updates won't be seen until a refresh, and we can tell we have a
- * stale rIBASE if breakFlags==0. Always refresh rIBASE here, and then
- * bail to the real handler if breakFlags==0.
- */
- ldrb r3, [rSELF, #offThread_breakFlags]
- adrl lr, dvmAsmInstructionStart + (403 * 64)
- ldr rIBASE, [rSELF, #offThread_curHandlerTable]
- cmp r3, #0
- bxeq lr @ nothing to do - jump to real handler
- EXPORT_PC()
- mov r0, rPC @ arg0
- mov r1, rFP @ arg1
- mov r2, rSELF @ arg2
- b dvmCheckBefore @ (dPC,dFP,self) tail call
-
-/* ------------------------------ */
- .balign 64
-.L_ALT_OP_UNUSED_94FF: /* 0x194 */
-/* File: armv5te/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Note that the call to dvmCheckBefore is done as a tail call.
- * rIBASE updates won't be seen until a refresh, and we can tell we have a
- * stale rIBASE if breakFlags==0. Always refresh rIBASE here, and then
- * bail to the real handler if breakFlags==0.
- */
- ldrb r3, [rSELF, #offThread_breakFlags]
- adrl lr, dvmAsmInstructionStart + (404 * 64)
- ldr rIBASE, [rSELF, #offThread_curHandlerTable]
- cmp r3, #0
- bxeq lr @ nothing to do - jump to real handler
- EXPORT_PC()
- mov r0, rPC @ arg0
- mov r1, rFP @ arg1
- mov r2, rSELF @ arg2
- b dvmCheckBefore @ (dPC,dFP,self) tail call
-
-/* ------------------------------ */
- .balign 64
-.L_ALT_OP_UNUSED_95FF: /* 0x195 */
-/* File: armv5te/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Note that the call to dvmCheckBefore is done as a tail call.
- * rIBASE updates won't be seen until a refresh, and we can tell we have a
- * stale rIBASE if breakFlags==0. Always refresh rIBASE here, and then
- * bail to the real handler if breakFlags==0.
- */
- ldrb r3, [rSELF, #offThread_breakFlags]
- adrl lr, dvmAsmInstructionStart + (405 * 64)
- ldr rIBASE, [rSELF, #offThread_curHandlerTable]
- cmp r3, #0
- bxeq lr @ nothing to do - jump to real handler
- EXPORT_PC()
- mov r0, rPC @ arg0
- mov r1, rFP @ arg1
- mov r2, rSELF @ arg2
- b dvmCheckBefore @ (dPC,dFP,self) tail call
-
-/* ------------------------------ */
- .balign 64
-.L_ALT_OP_UNUSED_96FF: /* 0x196 */
-/* File: armv5te/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Note that the call to dvmCheckBefore is done as a tail call.
- * rIBASE updates won't be seen until a refresh, and we can tell we have a
- * stale rIBASE if breakFlags==0. Always refresh rIBASE here, and then
- * bail to the real handler if breakFlags==0.
- */
- ldrb r3, [rSELF, #offThread_breakFlags]
- adrl lr, dvmAsmInstructionStart + (406 * 64)
- ldr rIBASE, [rSELF, #offThread_curHandlerTable]
- cmp r3, #0
- bxeq lr @ nothing to do - jump to real handler
- EXPORT_PC()
- mov r0, rPC @ arg0
- mov r1, rFP @ arg1
- mov r2, rSELF @ arg2
- b dvmCheckBefore @ (dPC,dFP,self) tail call
-
-/* ------------------------------ */
- .balign 64
-.L_ALT_OP_UNUSED_97FF: /* 0x197 */
-/* File: armv5te/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Note that the call to dvmCheckBefore is done as a tail call.
- * rIBASE updates won't be seen until a refresh, and we can tell we have a
- * stale rIBASE if breakFlags==0. Always refresh rIBASE here, and then
- * bail to the real handler if breakFlags==0.
- */
- ldrb r3, [rSELF, #offThread_breakFlags]
- adrl lr, dvmAsmInstructionStart + (407 * 64)
- ldr rIBASE, [rSELF, #offThread_curHandlerTable]
- cmp r3, #0
- bxeq lr @ nothing to do - jump to real handler
- EXPORT_PC()
- mov r0, rPC @ arg0
- mov r1, rFP @ arg1
- mov r2, rSELF @ arg2
- b dvmCheckBefore @ (dPC,dFP,self) tail call
-
-/* ------------------------------ */
- .balign 64
-.L_ALT_OP_UNUSED_98FF: /* 0x198 */
-/* File: armv5te/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Note that the call to dvmCheckBefore is done as a tail call.
- * rIBASE updates won't be seen until a refresh, and we can tell we have a
- * stale rIBASE if breakFlags==0. Always refresh rIBASE here, and then
- * bail to the real handler if breakFlags==0.
- */
- ldrb r3, [rSELF, #offThread_breakFlags]
- adrl lr, dvmAsmInstructionStart + (408 * 64)
- ldr rIBASE, [rSELF, #offThread_curHandlerTable]
- cmp r3, #0
- bxeq lr @ nothing to do - jump to real handler
- EXPORT_PC()
- mov r0, rPC @ arg0
- mov r1, rFP @ arg1
- mov r2, rSELF @ arg2
- b dvmCheckBefore @ (dPC,dFP,self) tail call
-
-/* ------------------------------ */
- .balign 64
-.L_ALT_OP_UNUSED_99FF: /* 0x199 */
-/* File: armv5te/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Note that the call to dvmCheckBefore is done as a tail call.
- * rIBASE updates won't be seen until a refresh, and we can tell we have a
- * stale rIBASE if breakFlags==0. Always refresh rIBASE here, and then
- * bail to the real handler if breakFlags==0.
- */
- ldrb r3, [rSELF, #offThread_breakFlags]
- adrl lr, dvmAsmInstructionStart + (409 * 64)
- ldr rIBASE, [rSELF, #offThread_curHandlerTable]
- cmp r3, #0
- bxeq lr @ nothing to do - jump to real handler
- EXPORT_PC()
- mov r0, rPC @ arg0
- mov r1, rFP @ arg1
- mov r2, rSELF @ arg2
- b dvmCheckBefore @ (dPC,dFP,self) tail call
-
-/* ------------------------------ */
- .balign 64
-.L_ALT_OP_UNUSED_9AFF: /* 0x19a */
-/* File: armv5te/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Note that the call to dvmCheckBefore is done as a tail call.
- * rIBASE updates won't be seen until a refresh, and we can tell we have a
- * stale rIBASE if breakFlags==0. Always refresh rIBASE here, and then
- * bail to the real handler if breakFlags==0.
- */
- ldrb r3, [rSELF, #offThread_breakFlags]
- adrl lr, dvmAsmInstructionStart + (410 * 64)
- ldr rIBASE, [rSELF, #offThread_curHandlerTable]
- cmp r3, #0
- bxeq lr @ nothing to do - jump to real handler
- EXPORT_PC()
- mov r0, rPC @ arg0
- mov r1, rFP @ arg1
- mov r2, rSELF @ arg2
- b dvmCheckBefore @ (dPC,dFP,self) tail call
-
-/* ------------------------------ */
- .balign 64
-.L_ALT_OP_UNUSED_9BFF: /* 0x19b */
-/* File: armv5te/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Note that the call to dvmCheckBefore is done as a tail call.
- * rIBASE updates won't be seen until a refresh, and we can tell we have a
- * stale rIBASE if breakFlags==0. Always refresh rIBASE here, and then
- * bail to the real handler if breakFlags==0.
- */
- ldrb r3, [rSELF, #offThread_breakFlags]
- adrl lr, dvmAsmInstructionStart + (411 * 64)
- ldr rIBASE, [rSELF, #offThread_curHandlerTable]
- cmp r3, #0
- bxeq lr @ nothing to do - jump to real handler
- EXPORT_PC()
- mov r0, rPC @ arg0
- mov r1, rFP @ arg1
- mov r2, rSELF @ arg2
- b dvmCheckBefore @ (dPC,dFP,self) tail call
-
-/* ------------------------------ */
- .balign 64
-.L_ALT_OP_UNUSED_9CFF: /* 0x19c */
-/* File: armv5te/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Note that the call to dvmCheckBefore is done as a tail call.
- * rIBASE updates won't be seen until a refresh, and we can tell we have a
- * stale rIBASE if breakFlags==0. Always refresh rIBASE here, and then
- * bail to the real handler if breakFlags==0.
- */
- ldrb r3, [rSELF, #offThread_breakFlags]
- adrl lr, dvmAsmInstructionStart + (412 * 64)
- ldr rIBASE, [rSELF, #offThread_curHandlerTable]
- cmp r3, #0
- bxeq lr @ nothing to do - jump to real handler
- EXPORT_PC()
- mov r0, rPC @ arg0
- mov r1, rFP @ arg1
- mov r2, rSELF @ arg2
- b dvmCheckBefore @ (dPC,dFP,self) tail call
-
-/* ------------------------------ */
- .balign 64
-.L_ALT_OP_UNUSED_9DFF: /* 0x19d */
-/* File: armv5te/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Note that the call to dvmCheckBefore is done as a tail call.
- * rIBASE updates won't be seen until a refresh, and we can tell we have a
- * stale rIBASE if breakFlags==0. Always refresh rIBASE here, and then
- * bail to the real handler if breakFlags==0.
- */
- ldrb r3, [rSELF, #offThread_breakFlags]
- adrl lr, dvmAsmInstructionStart + (413 * 64)
- ldr rIBASE, [rSELF, #offThread_curHandlerTable]
- cmp r3, #0
- bxeq lr @ nothing to do - jump to real handler
- EXPORT_PC()
- mov r0, rPC @ arg0
- mov r1, rFP @ arg1
- mov r2, rSELF @ arg2
- b dvmCheckBefore @ (dPC,dFP,self) tail call
-
-/* ------------------------------ */
- .balign 64
-.L_ALT_OP_UNUSED_9EFF: /* 0x19e */
-/* File: armv5te/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Note that the call to dvmCheckBefore is done as a tail call.
- * rIBASE updates won't be seen until a refresh, and we can tell we have a
- * stale rIBASE if breakFlags==0. Always refresh rIBASE here, and then
- * bail to the real handler if breakFlags==0.
- */
- ldrb r3, [rSELF, #offThread_breakFlags]
- adrl lr, dvmAsmInstructionStart + (414 * 64)
- ldr rIBASE, [rSELF, #offThread_curHandlerTable]
- cmp r3, #0
- bxeq lr @ nothing to do - jump to real handler
- EXPORT_PC()
- mov r0, rPC @ arg0
- mov r1, rFP @ arg1
- mov r2, rSELF @ arg2
- b dvmCheckBefore @ (dPC,dFP,self) tail call
-
-/* ------------------------------ */
- .balign 64
-.L_ALT_OP_UNUSED_9FFF: /* 0x19f */
-/* File: armv5te/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Note that the call to dvmCheckBefore is done as a tail call.
- * rIBASE updates won't be seen until a refresh, and we can tell we have a
- * stale rIBASE if breakFlags==0. Always refresh rIBASE here, and then
- * bail to the real handler if breakFlags==0.
- */
- ldrb r3, [rSELF, #offThread_breakFlags]
- adrl lr, dvmAsmInstructionStart + (415 * 64)
- ldr rIBASE, [rSELF, #offThread_curHandlerTable]
- cmp r3, #0
- bxeq lr @ nothing to do - jump to real handler
- EXPORT_PC()
- mov r0, rPC @ arg0
- mov r1, rFP @ arg1
- mov r2, rSELF @ arg2
- b dvmCheckBefore @ (dPC,dFP,self) tail call
-
-/* ------------------------------ */
- .balign 64
-.L_ALT_OP_UNUSED_A0FF: /* 0x1a0 */
-/* File: armv5te/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Note that the call to dvmCheckBefore is done as a tail call.
- * rIBASE updates won't be seen until a refresh, and we can tell we have a
- * stale rIBASE if breakFlags==0. Always refresh rIBASE here, and then
- * bail to the real handler if breakFlags==0.
- */
- ldrb r3, [rSELF, #offThread_breakFlags]
- adrl lr, dvmAsmInstructionStart + (416 * 64)
- ldr rIBASE, [rSELF, #offThread_curHandlerTable]
- cmp r3, #0
- bxeq lr @ nothing to do - jump to real handler
- EXPORT_PC()
- mov r0, rPC @ arg0
- mov r1, rFP @ arg1
- mov r2, rSELF @ arg2
- b dvmCheckBefore @ (dPC,dFP,self) tail call
-
-/* ------------------------------ */
- .balign 64
-.L_ALT_OP_UNUSED_A1FF: /* 0x1a1 */
-/* File: armv5te/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Note that the call to dvmCheckBefore is done as a tail call.
- * rIBASE updates won't be seen until a refresh, and we can tell we have a
- * stale rIBASE if breakFlags==0. Always refresh rIBASE here, and then
- * bail to the real handler if breakFlags==0.
- */
- ldrb r3, [rSELF, #offThread_breakFlags]
- adrl lr, dvmAsmInstructionStart + (417 * 64)
- ldr rIBASE, [rSELF, #offThread_curHandlerTable]
- cmp r3, #0
- bxeq lr @ nothing to do - jump to real handler
- EXPORT_PC()
- mov r0, rPC @ arg0
- mov r1, rFP @ arg1
- mov r2, rSELF @ arg2
- b dvmCheckBefore @ (dPC,dFP,self) tail call
-
-/* ------------------------------ */
- .balign 64
-.L_ALT_OP_UNUSED_A2FF: /* 0x1a2 */
-/* File: armv5te/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Note that the call to dvmCheckBefore is done as a tail call.
- * rIBASE updates won't be seen until a refresh, and we can tell we have a
- * stale rIBASE if breakFlags==0. Always refresh rIBASE here, and then
- * bail to the real handler if breakFlags==0.
- */
- ldrb r3, [rSELF, #offThread_breakFlags]
- adrl lr, dvmAsmInstructionStart + (418 * 64)
- ldr rIBASE, [rSELF, #offThread_curHandlerTable]
- cmp r3, #0
- bxeq lr @ nothing to do - jump to real handler
- EXPORT_PC()
- mov r0, rPC @ arg0
- mov r1, rFP @ arg1
- mov r2, rSELF @ arg2
- b dvmCheckBefore @ (dPC,dFP,self) tail call
-
-/* ------------------------------ */
- .balign 64
-.L_ALT_OP_UNUSED_A3FF: /* 0x1a3 */
-/* File: armv5te/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Note that the call to dvmCheckBefore is done as a tail call.
- * rIBASE updates won't be seen until a refresh, and we can tell we have a
- * stale rIBASE if breakFlags==0. Always refresh rIBASE here, and then
- * bail to the real handler if breakFlags==0.
- */
- ldrb r3, [rSELF, #offThread_breakFlags]
- adrl lr, dvmAsmInstructionStart + (419 * 64)
- ldr rIBASE, [rSELF, #offThread_curHandlerTable]
- cmp r3, #0
- bxeq lr @ nothing to do - jump to real handler
- EXPORT_PC()
- mov r0, rPC @ arg0
- mov r1, rFP @ arg1
- mov r2, rSELF @ arg2
- b dvmCheckBefore @ (dPC,dFP,self) tail call
-
-/* ------------------------------ */
- .balign 64
-.L_ALT_OP_UNUSED_A4FF: /* 0x1a4 */
-/* File: armv5te/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Note that the call to dvmCheckBefore is done as a tail call.
- * rIBASE updates won't be seen until a refresh, and we can tell we have a
- * stale rIBASE if breakFlags==0. Always refresh rIBASE here, and then
- * bail to the real handler if breakFlags==0.
- */
- ldrb r3, [rSELF, #offThread_breakFlags]
- adrl lr, dvmAsmInstructionStart + (420 * 64)
- ldr rIBASE, [rSELF, #offThread_curHandlerTable]
- cmp r3, #0
- bxeq lr @ nothing to do - jump to real handler
- EXPORT_PC()
- mov r0, rPC @ arg0
- mov r1, rFP @ arg1
- mov r2, rSELF @ arg2
- b dvmCheckBefore @ (dPC,dFP,self) tail call
-
-/* ------------------------------ */
- .balign 64
-.L_ALT_OP_UNUSED_A5FF: /* 0x1a5 */
-/* File: armv5te/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Note that the call to dvmCheckBefore is done as a tail call.
- * rIBASE updates won't be seen until a refresh, and we can tell we have a
- * stale rIBASE if breakFlags==0. Always refresh rIBASE here, and then
- * bail to the real handler if breakFlags==0.
- */
- ldrb r3, [rSELF, #offThread_breakFlags]
- adrl lr, dvmAsmInstructionStart + (421 * 64)
- ldr rIBASE, [rSELF, #offThread_curHandlerTable]
- cmp r3, #0
- bxeq lr @ nothing to do - jump to real handler
- EXPORT_PC()
- mov r0, rPC @ arg0
- mov r1, rFP @ arg1
- mov r2, rSELF @ arg2
- b dvmCheckBefore @ (dPC,dFP,self) tail call
-
-/* ------------------------------ */
- .balign 64
-.L_ALT_OP_UNUSED_A6FF: /* 0x1a6 */
-/* File: armv5te/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Note that the call to dvmCheckBefore is done as a tail call.
- * rIBASE updates won't be seen until a refresh, and we can tell we have a
- * stale rIBASE if breakFlags==0. Always refresh rIBASE here, and then
- * bail to the real handler if breakFlags==0.
- */
- ldrb r3, [rSELF, #offThread_breakFlags]
- adrl lr, dvmAsmInstructionStart + (422 * 64)
- ldr rIBASE, [rSELF, #offThread_curHandlerTable]
- cmp r3, #0
- bxeq lr @ nothing to do - jump to real handler
- EXPORT_PC()
- mov r0, rPC @ arg0
- mov r1, rFP @ arg1
- mov r2, rSELF @ arg2
- b dvmCheckBefore @ (dPC,dFP,self) tail call
-
-/* ------------------------------ */
- .balign 64
-.L_ALT_OP_UNUSED_A7FF: /* 0x1a7 */
-/* File: armv5te/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Note that the call to dvmCheckBefore is done as a tail call.
- * rIBASE updates won't be seen until a refresh, and we can tell we have a
- * stale rIBASE if breakFlags==0. Always refresh rIBASE here, and then
- * bail to the real handler if breakFlags==0.
- */
- ldrb r3, [rSELF, #offThread_breakFlags]
- adrl lr, dvmAsmInstructionStart + (423 * 64)
- ldr rIBASE, [rSELF, #offThread_curHandlerTable]
- cmp r3, #0
- bxeq lr @ nothing to do - jump to real handler
- EXPORT_PC()
- mov r0, rPC @ arg0
- mov r1, rFP @ arg1
- mov r2, rSELF @ arg2
- b dvmCheckBefore @ (dPC,dFP,self) tail call
-
-/* ------------------------------ */
- .balign 64
-.L_ALT_OP_UNUSED_A8FF: /* 0x1a8 */
-/* File: armv5te/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Note that the call to dvmCheckBefore is done as a tail call.
- * rIBASE updates won't be seen until a refresh, and we can tell we have a
- * stale rIBASE if breakFlags==0. Always refresh rIBASE here, and then
- * bail to the real handler if breakFlags==0.
- */
- ldrb r3, [rSELF, #offThread_breakFlags]
- adrl lr, dvmAsmInstructionStart + (424 * 64)
- ldr rIBASE, [rSELF, #offThread_curHandlerTable]
- cmp r3, #0
- bxeq lr @ nothing to do - jump to real handler
- EXPORT_PC()
- mov r0, rPC @ arg0
- mov r1, rFP @ arg1
- mov r2, rSELF @ arg2
- b dvmCheckBefore @ (dPC,dFP,self) tail call
-
-/* ------------------------------ */
- .balign 64
-.L_ALT_OP_UNUSED_A9FF: /* 0x1a9 */
-/* File: armv5te/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Note that the call to dvmCheckBefore is done as a tail call.
- * rIBASE updates won't be seen until a refresh, and we can tell we have a
- * stale rIBASE if breakFlags==0. Always refresh rIBASE here, and then
- * bail to the real handler if breakFlags==0.
- */
- ldrb r3, [rSELF, #offThread_breakFlags]
- adrl lr, dvmAsmInstructionStart + (425 * 64)
- ldr rIBASE, [rSELF, #offThread_curHandlerTable]
- cmp r3, #0
- bxeq lr @ nothing to do - jump to real handler
- EXPORT_PC()
- mov r0, rPC @ arg0
- mov r1, rFP @ arg1
- mov r2, rSELF @ arg2
- b dvmCheckBefore @ (dPC,dFP,self) tail call
-
-/* ------------------------------ */
- .balign 64
-.L_ALT_OP_UNUSED_AAFF: /* 0x1aa */
-/* File: armv5te/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Note that the call to dvmCheckBefore is done as a tail call.
- * rIBASE updates won't be seen until a refresh, and we can tell we have a
- * stale rIBASE if breakFlags==0. Always refresh rIBASE here, and then
- * bail to the real handler if breakFlags==0.
- */
- ldrb r3, [rSELF, #offThread_breakFlags]
- adrl lr, dvmAsmInstructionStart + (426 * 64)
- ldr rIBASE, [rSELF, #offThread_curHandlerTable]
- cmp r3, #0
- bxeq lr @ nothing to do - jump to real handler
- EXPORT_PC()
- mov r0, rPC @ arg0
- mov r1, rFP @ arg1
- mov r2, rSELF @ arg2
- b dvmCheckBefore @ (dPC,dFP,self) tail call
-
-/* ------------------------------ */
- .balign 64
-.L_ALT_OP_UNUSED_ABFF: /* 0x1ab */
-/* File: armv5te/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Note that the call to dvmCheckBefore is done as a tail call.
- * rIBASE updates won't be seen until a refresh, and we can tell we have a
- * stale rIBASE if breakFlags==0. Always refresh rIBASE here, and then
- * bail to the real handler if breakFlags==0.
- */
- ldrb r3, [rSELF, #offThread_breakFlags]
- adrl lr, dvmAsmInstructionStart + (427 * 64)
- ldr rIBASE, [rSELF, #offThread_curHandlerTable]
- cmp r3, #0
- bxeq lr @ nothing to do - jump to real handler
- EXPORT_PC()
- mov r0, rPC @ arg0
- mov r1, rFP @ arg1
- mov r2, rSELF @ arg2
- b dvmCheckBefore @ (dPC,dFP,self) tail call
-
-/* ------------------------------ */
- .balign 64
-.L_ALT_OP_UNUSED_ACFF: /* 0x1ac */
-/* File: armv5te/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Note that the call to dvmCheckBefore is done as a tail call.
- * rIBASE updates won't be seen until a refresh, and we can tell we have a
- * stale rIBASE if breakFlags==0. Always refresh rIBASE here, and then
- * bail to the real handler if breakFlags==0.
- */
- ldrb r3, [rSELF, #offThread_breakFlags]
- adrl lr, dvmAsmInstructionStart + (428 * 64)
- ldr rIBASE, [rSELF, #offThread_curHandlerTable]
- cmp r3, #0
- bxeq lr @ nothing to do - jump to real handler
- EXPORT_PC()
- mov r0, rPC @ arg0
- mov r1, rFP @ arg1
- mov r2, rSELF @ arg2
- b dvmCheckBefore @ (dPC,dFP,self) tail call
-
-/* ------------------------------ */
- .balign 64
-.L_ALT_OP_UNUSED_ADFF: /* 0x1ad */
-/* File: armv5te/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Note that the call to dvmCheckBefore is done as a tail call.
- * rIBASE updates won't be seen until a refresh, and we can tell we have a
- * stale rIBASE if breakFlags==0. Always refresh rIBASE here, and then
- * bail to the real handler if breakFlags==0.
- */
- ldrb r3, [rSELF, #offThread_breakFlags]
- adrl lr, dvmAsmInstructionStart + (429 * 64)
- ldr rIBASE, [rSELF, #offThread_curHandlerTable]
- cmp r3, #0
- bxeq lr @ nothing to do - jump to real handler
- EXPORT_PC()
- mov r0, rPC @ arg0
- mov r1, rFP @ arg1
- mov r2, rSELF @ arg2
- b dvmCheckBefore @ (dPC,dFP,self) tail call
-
-/* ------------------------------ */
- .balign 64
-.L_ALT_OP_UNUSED_AEFF: /* 0x1ae */
-/* File: armv5te/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Note that the call to dvmCheckBefore is done as a tail call.
- * rIBASE updates won't be seen until a refresh, and we can tell we have a
- * stale rIBASE if breakFlags==0. Always refresh rIBASE here, and then
- * bail to the real handler if breakFlags==0.
- */
- ldrb r3, [rSELF, #offThread_breakFlags]
- adrl lr, dvmAsmInstructionStart + (430 * 64)
- ldr rIBASE, [rSELF, #offThread_curHandlerTable]
- cmp r3, #0
- bxeq lr @ nothing to do - jump to real handler
- EXPORT_PC()
- mov r0, rPC @ arg0
- mov r1, rFP @ arg1
- mov r2, rSELF @ arg2
- b dvmCheckBefore @ (dPC,dFP,self) tail call
-
-/* ------------------------------ */
- .balign 64
-.L_ALT_OP_UNUSED_AFFF: /* 0x1af */
-/* File: armv5te/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Note that the call to dvmCheckBefore is done as a tail call.
- * rIBASE updates won't be seen until a refresh, and we can tell we have a
- * stale rIBASE if breakFlags==0. Always refresh rIBASE here, and then
- * bail to the real handler if breakFlags==0.
- */
- ldrb r3, [rSELF, #offThread_breakFlags]
- adrl lr, dvmAsmInstructionStart + (431 * 64)
- ldr rIBASE, [rSELF, #offThread_curHandlerTable]
- cmp r3, #0
- bxeq lr @ nothing to do - jump to real handler
- EXPORT_PC()
- mov r0, rPC @ arg0
- mov r1, rFP @ arg1
- mov r2, rSELF @ arg2
- b dvmCheckBefore @ (dPC,dFP,self) tail call
-
-/* ------------------------------ */
- .balign 64
-.L_ALT_OP_UNUSED_B0FF: /* 0x1b0 */
-/* File: armv5te/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Note that the call to dvmCheckBefore is done as a tail call.
- * rIBASE updates won't be seen until a refresh, and we can tell we have a
- * stale rIBASE if breakFlags==0. Always refresh rIBASE here, and then
- * bail to the real handler if breakFlags==0.
- */
- ldrb r3, [rSELF, #offThread_breakFlags]
- adrl lr, dvmAsmInstructionStart + (432 * 64)
- ldr rIBASE, [rSELF, #offThread_curHandlerTable]
- cmp r3, #0
- bxeq lr @ nothing to do - jump to real handler
- EXPORT_PC()
- mov r0, rPC @ arg0
- mov r1, rFP @ arg1
- mov r2, rSELF @ arg2
- b dvmCheckBefore @ (dPC,dFP,self) tail call
-
-/* ------------------------------ */
- .balign 64
-.L_ALT_OP_UNUSED_B1FF: /* 0x1b1 */
-/* File: armv5te/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Note that the call to dvmCheckBefore is done as a tail call.
- * rIBASE updates won't be seen until a refresh, and we can tell we have a
- * stale rIBASE if breakFlags==0. Always refresh rIBASE here, and then
- * bail to the real handler if breakFlags==0.
- */
- ldrb r3, [rSELF, #offThread_breakFlags]
- adrl lr, dvmAsmInstructionStart + (433 * 64)
- ldr rIBASE, [rSELF, #offThread_curHandlerTable]
- cmp r3, #0
- bxeq lr @ nothing to do - jump to real handler
- EXPORT_PC()
- mov r0, rPC @ arg0
- mov r1, rFP @ arg1
- mov r2, rSELF @ arg2
- b dvmCheckBefore @ (dPC,dFP,self) tail call
-
-/* ------------------------------ */
- .balign 64
-.L_ALT_OP_UNUSED_B2FF: /* 0x1b2 */
-/* File: armv5te/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Note that the call to dvmCheckBefore is done as a tail call.
- * rIBASE updates won't be seen until a refresh, and we can tell we have a
- * stale rIBASE if breakFlags==0. Always refresh rIBASE here, and then
- * bail to the real handler if breakFlags==0.
- */
- ldrb r3, [rSELF, #offThread_breakFlags]
- adrl lr, dvmAsmInstructionStart + (434 * 64)
- ldr rIBASE, [rSELF, #offThread_curHandlerTable]
- cmp r3, #0
- bxeq lr @ nothing to do - jump to real handler
- EXPORT_PC()
- mov r0, rPC @ arg0
- mov r1, rFP @ arg1
- mov r2, rSELF @ arg2
- b dvmCheckBefore @ (dPC,dFP,self) tail call
-
-/* ------------------------------ */
- .balign 64
-.L_ALT_OP_UNUSED_B3FF: /* 0x1b3 */
-/* File: armv5te/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Note that the call to dvmCheckBefore is done as a tail call.
- * rIBASE updates won't be seen until a refresh, and we can tell we have a
- * stale rIBASE if breakFlags==0. Always refresh rIBASE here, and then
- * bail to the real handler if breakFlags==0.
- */
- ldrb r3, [rSELF, #offThread_breakFlags]
- adrl lr, dvmAsmInstructionStart + (435 * 64)
- ldr rIBASE, [rSELF, #offThread_curHandlerTable]
- cmp r3, #0
- bxeq lr @ nothing to do - jump to real handler
- EXPORT_PC()
- mov r0, rPC @ arg0
- mov r1, rFP @ arg1
- mov r2, rSELF @ arg2
- b dvmCheckBefore @ (dPC,dFP,self) tail call
-
-/* ------------------------------ */
- .balign 64
-.L_ALT_OP_UNUSED_B4FF: /* 0x1b4 */
-/* File: armv5te/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Note that the call to dvmCheckBefore is done as a tail call.
- * rIBASE updates won't be seen until a refresh, and we can tell we have a
- * stale rIBASE if breakFlags==0. Always refresh rIBASE here, and then
- * bail to the real handler if breakFlags==0.
- */
- ldrb r3, [rSELF, #offThread_breakFlags]
- adrl lr, dvmAsmInstructionStart + (436 * 64)
- ldr rIBASE, [rSELF, #offThread_curHandlerTable]
- cmp r3, #0
- bxeq lr @ nothing to do - jump to real handler
- EXPORT_PC()
- mov r0, rPC @ arg0
- mov r1, rFP @ arg1
- mov r2, rSELF @ arg2
- b dvmCheckBefore @ (dPC,dFP,self) tail call
-
-/* ------------------------------ */
- .balign 64
-.L_ALT_OP_UNUSED_B5FF: /* 0x1b5 */
-/* File: armv5te/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Note that the call to dvmCheckBefore is done as a tail call.
- * rIBASE updates won't be seen until a refresh, and we can tell we have a
- * stale rIBASE if breakFlags==0. Always refresh rIBASE here, and then
- * bail to the real handler if breakFlags==0.
- */
- ldrb r3, [rSELF, #offThread_breakFlags]
- adrl lr, dvmAsmInstructionStart + (437 * 64)
- ldr rIBASE, [rSELF, #offThread_curHandlerTable]
- cmp r3, #0
- bxeq lr @ nothing to do - jump to real handler
- EXPORT_PC()
- mov r0, rPC @ arg0
- mov r1, rFP @ arg1
- mov r2, rSELF @ arg2
- b dvmCheckBefore @ (dPC,dFP,self) tail call
-
-/* ------------------------------ */
- .balign 64
-.L_ALT_OP_UNUSED_B6FF: /* 0x1b6 */
-/* File: armv5te/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Note that the call to dvmCheckBefore is done as a tail call.
- * rIBASE updates won't be seen until a refresh, and we can tell we have a
- * stale rIBASE if breakFlags==0. Always refresh rIBASE here, and then
- * bail to the real handler if breakFlags==0.
- */
- ldrb r3, [rSELF, #offThread_breakFlags]
- adrl lr, dvmAsmInstructionStart + (438 * 64)
- ldr rIBASE, [rSELF, #offThread_curHandlerTable]
- cmp r3, #0
- bxeq lr @ nothing to do - jump to real handler
- EXPORT_PC()
- mov r0, rPC @ arg0
- mov r1, rFP @ arg1
- mov r2, rSELF @ arg2
- b dvmCheckBefore @ (dPC,dFP,self) tail call
-
-/* ------------------------------ */
- .balign 64
-.L_ALT_OP_UNUSED_B7FF: /* 0x1b7 */
-/* File: armv5te/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Note that the call to dvmCheckBefore is done as a tail call.
- * rIBASE updates won't be seen until a refresh, and we can tell we have a
- * stale rIBASE if breakFlags==0. Always refresh rIBASE here, and then
- * bail to the real handler if breakFlags==0.
- */
- ldrb r3, [rSELF, #offThread_breakFlags]
- adrl lr, dvmAsmInstructionStart + (439 * 64)
- ldr rIBASE, [rSELF, #offThread_curHandlerTable]
- cmp r3, #0
- bxeq lr @ nothing to do - jump to real handler
- EXPORT_PC()
- mov r0, rPC @ arg0
- mov r1, rFP @ arg1
- mov r2, rSELF @ arg2
- b dvmCheckBefore @ (dPC,dFP,self) tail call
-
-/* ------------------------------ */
- .balign 64
-.L_ALT_OP_UNUSED_B8FF: /* 0x1b8 */
-/* File: armv5te/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Note that the call to dvmCheckBefore is done as a tail call.
- * rIBASE updates won't be seen until a refresh, and we can tell we have a
- * stale rIBASE if breakFlags==0. Always refresh rIBASE here, and then
- * bail to the real handler if breakFlags==0.
- */
- ldrb r3, [rSELF, #offThread_breakFlags]
- adrl lr, dvmAsmInstructionStart + (440 * 64)
- ldr rIBASE, [rSELF, #offThread_curHandlerTable]
- cmp r3, #0
- bxeq lr @ nothing to do - jump to real handler
- EXPORT_PC()
- mov r0, rPC @ arg0
- mov r1, rFP @ arg1
- mov r2, rSELF @ arg2
- b dvmCheckBefore @ (dPC,dFP,self) tail call
-
-/* ------------------------------ */
- .balign 64
-.L_ALT_OP_UNUSED_B9FF: /* 0x1b9 */
-/* File: armv5te/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Note that the call to dvmCheckBefore is done as a tail call.
- * rIBASE updates won't be seen until a refresh, and we can tell we have a
- * stale rIBASE if breakFlags==0. Always refresh rIBASE here, and then
- * bail to the real handler if breakFlags==0.
- */
- ldrb r3, [rSELF, #offThread_breakFlags]
- adrl lr, dvmAsmInstructionStart + (441 * 64)
- ldr rIBASE, [rSELF, #offThread_curHandlerTable]
- cmp r3, #0
- bxeq lr @ nothing to do - jump to real handler
- EXPORT_PC()
- mov r0, rPC @ arg0
- mov r1, rFP @ arg1
- mov r2, rSELF @ arg2
- b dvmCheckBefore @ (dPC,dFP,self) tail call
-
-/* ------------------------------ */
- .balign 64
-.L_ALT_OP_UNUSED_BAFF: /* 0x1ba */
-/* File: armv5te/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Note that the call to dvmCheckBefore is done as a tail call.
- * rIBASE updates won't be seen until a refresh, and we can tell we have a
- * stale rIBASE if breakFlags==0. Always refresh rIBASE here, and then
- * bail to the real handler if breakFlags==0.
- */
- ldrb r3, [rSELF, #offThread_breakFlags]
- adrl lr, dvmAsmInstructionStart + (442 * 64)
- ldr rIBASE, [rSELF, #offThread_curHandlerTable]
- cmp r3, #0
- bxeq lr @ nothing to do - jump to real handler
- EXPORT_PC()
- mov r0, rPC @ arg0
- mov r1, rFP @ arg1
- mov r2, rSELF @ arg2
- b dvmCheckBefore @ (dPC,dFP,self) tail call
-
-/* ------------------------------ */
- .balign 64
-.L_ALT_OP_UNUSED_BBFF: /* 0x1bb */
-/* File: armv5te/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Note that the call to dvmCheckBefore is done as a tail call.
- * rIBASE updates won't be seen until a refresh, and we can tell we have a
- * stale rIBASE if breakFlags==0. Always refresh rIBASE here, and then
- * bail to the real handler if breakFlags==0.
- */
- ldrb r3, [rSELF, #offThread_breakFlags]
- adrl lr, dvmAsmInstructionStart + (443 * 64)
- ldr rIBASE, [rSELF, #offThread_curHandlerTable]
- cmp r3, #0
- bxeq lr @ nothing to do - jump to real handler
- EXPORT_PC()
- mov r0, rPC @ arg0
- mov r1, rFP @ arg1
- mov r2, rSELF @ arg2
- b dvmCheckBefore @ (dPC,dFP,self) tail call
-
-/* ------------------------------ */
- .balign 64
-.L_ALT_OP_UNUSED_BCFF: /* 0x1bc */
-/* File: armv5te/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Note that the call to dvmCheckBefore is done as a tail call.
- * rIBASE updates won't be seen until a refresh, and we can tell we have a
- * stale rIBASE if breakFlags==0. Always refresh rIBASE here, and then
- * bail to the real handler if breakFlags==0.
- */
- ldrb r3, [rSELF, #offThread_breakFlags]
- adrl lr, dvmAsmInstructionStart + (444 * 64)
- ldr rIBASE, [rSELF, #offThread_curHandlerTable]
- cmp r3, #0
- bxeq lr @ nothing to do - jump to real handler
- EXPORT_PC()
- mov r0, rPC @ arg0
- mov r1, rFP @ arg1
- mov r2, rSELF @ arg2
- b dvmCheckBefore @ (dPC,dFP,self) tail call
-
-/* ------------------------------ */
- .balign 64
-.L_ALT_OP_UNUSED_BDFF: /* 0x1bd */
-/* File: armv5te/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Note that the call to dvmCheckBefore is done as a tail call.
- * rIBASE updates won't be seen until a refresh, and we can tell we have a
- * stale rIBASE if breakFlags==0. Always refresh rIBASE here, and then
- * bail to the real handler if breakFlags==0.
- */
- ldrb r3, [rSELF, #offThread_breakFlags]
- adrl lr, dvmAsmInstructionStart + (445 * 64)
- ldr rIBASE, [rSELF, #offThread_curHandlerTable]
- cmp r3, #0
- bxeq lr @ nothing to do - jump to real handler
- EXPORT_PC()
- mov r0, rPC @ arg0
- mov r1, rFP @ arg1
- mov r2, rSELF @ arg2
- b dvmCheckBefore @ (dPC,dFP,self) tail call
-
-/* ------------------------------ */
- .balign 64
-.L_ALT_OP_UNUSED_BEFF: /* 0x1be */
-/* File: armv5te/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Note that the call to dvmCheckBefore is done as a tail call.
- * rIBASE updates won't be seen until a refresh, and we can tell we have a
- * stale rIBASE if breakFlags==0. Always refresh rIBASE here, and then
- * bail to the real handler if breakFlags==0.
- */
- ldrb r3, [rSELF, #offThread_breakFlags]
- adrl lr, dvmAsmInstructionStart + (446 * 64)
- ldr rIBASE, [rSELF, #offThread_curHandlerTable]
- cmp r3, #0
- bxeq lr @ nothing to do - jump to real handler
- EXPORT_PC()
- mov r0, rPC @ arg0
- mov r1, rFP @ arg1
- mov r2, rSELF @ arg2
- b dvmCheckBefore @ (dPC,dFP,self) tail call
-
-/* ------------------------------ */
- .balign 64
-.L_ALT_OP_UNUSED_BFFF: /* 0x1bf */
-/* File: armv5te/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Note that the call to dvmCheckBefore is done as a tail call.
- * rIBASE updates won't be seen until a refresh, and we can tell we have a
- * stale rIBASE if breakFlags==0. Always refresh rIBASE here, and then
- * bail to the real handler if breakFlags==0.
- */
- ldrb r3, [rSELF, #offThread_breakFlags]
- adrl lr, dvmAsmInstructionStart + (447 * 64)
- ldr rIBASE, [rSELF, #offThread_curHandlerTable]
- cmp r3, #0
- bxeq lr @ nothing to do - jump to real handler
- EXPORT_PC()
- mov r0, rPC @ arg0
- mov r1, rFP @ arg1
- mov r2, rSELF @ arg2
- b dvmCheckBefore @ (dPC,dFP,self) tail call
-
-/* ------------------------------ */
- .balign 64
-.L_ALT_OP_UNUSED_C0FF: /* 0x1c0 */
-/* File: armv5te/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Note that the call to dvmCheckBefore is done as a tail call.
- * rIBASE updates won't be seen until a refresh, and we can tell we have a
- * stale rIBASE if breakFlags==0. Always refresh rIBASE here, and then
- * bail to the real handler if breakFlags==0.
- */
- ldrb r3, [rSELF, #offThread_breakFlags]
- adrl lr, dvmAsmInstructionStart + (448 * 64)
- ldr rIBASE, [rSELF, #offThread_curHandlerTable]
- cmp r3, #0
- bxeq lr @ nothing to do - jump to real handler
- EXPORT_PC()
- mov r0, rPC @ arg0
- mov r1, rFP @ arg1
- mov r2, rSELF @ arg2
- b dvmCheckBefore @ (dPC,dFP,self) tail call
-
-/* ------------------------------ */
- .balign 64
-.L_ALT_OP_UNUSED_C1FF: /* 0x1c1 */
-/* File: armv5te/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Note that the call to dvmCheckBefore is done as a tail call.
- * rIBASE updates won't be seen until a refresh, and we can tell we have a
- * stale rIBASE if breakFlags==0. Always refresh rIBASE here, and then
- * bail to the real handler if breakFlags==0.
- */
- ldrb r3, [rSELF, #offThread_breakFlags]
- adrl lr, dvmAsmInstructionStart + (449 * 64)
- ldr rIBASE, [rSELF, #offThread_curHandlerTable]
- cmp r3, #0
- bxeq lr @ nothing to do - jump to real handler
- EXPORT_PC()
- mov r0, rPC @ arg0
- mov r1, rFP @ arg1
- mov r2, rSELF @ arg2
- b dvmCheckBefore @ (dPC,dFP,self) tail call
-
-/* ------------------------------ */
- .balign 64
-.L_ALT_OP_UNUSED_C2FF: /* 0x1c2 */
-/* File: armv5te/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Note that the call to dvmCheckBefore is done as a tail call.
- * rIBASE updates won't be seen until a refresh, and we can tell we have a
- * stale rIBASE if breakFlags==0. Always refresh rIBASE here, and then
- * bail to the real handler if breakFlags==0.
- */
- ldrb r3, [rSELF, #offThread_breakFlags]
- adrl lr, dvmAsmInstructionStart + (450 * 64)
- ldr rIBASE, [rSELF, #offThread_curHandlerTable]
- cmp r3, #0
- bxeq lr @ nothing to do - jump to real handler
- EXPORT_PC()
- mov r0, rPC @ arg0
- mov r1, rFP @ arg1
- mov r2, rSELF @ arg2
- b dvmCheckBefore @ (dPC,dFP,self) tail call
-
-/* ------------------------------ */
- .balign 64
-.L_ALT_OP_UNUSED_C3FF: /* 0x1c3 */
-/* File: armv5te/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Note that the call to dvmCheckBefore is done as a tail call.
- * rIBASE updates won't be seen until a refresh, and we can tell we have a
- * stale rIBASE if breakFlags==0. Always refresh rIBASE here, and then
- * bail to the real handler if breakFlags==0.
- */
- ldrb r3, [rSELF, #offThread_breakFlags]
- adrl lr, dvmAsmInstructionStart + (451 * 64)
- ldr rIBASE, [rSELF, #offThread_curHandlerTable]
- cmp r3, #0
- bxeq lr @ nothing to do - jump to real handler
- EXPORT_PC()
- mov r0, rPC @ arg0
- mov r1, rFP @ arg1
- mov r2, rSELF @ arg2
- b dvmCheckBefore @ (dPC,dFP,self) tail call
-
-/* ------------------------------ */
- .balign 64
-.L_ALT_OP_UNUSED_C4FF: /* 0x1c4 */
-/* File: armv5te/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Note that the call to dvmCheckBefore is done as a tail call.
- * rIBASE updates won't be seen until a refresh, and we can tell we have a
- * stale rIBASE if breakFlags==0. Always refresh rIBASE here, and then
- * bail to the real handler if breakFlags==0.
- */
- ldrb r3, [rSELF, #offThread_breakFlags]
- adrl lr, dvmAsmInstructionStart + (452 * 64)
- ldr rIBASE, [rSELF, #offThread_curHandlerTable]
- cmp r3, #0
- bxeq lr @ nothing to do - jump to real handler
- EXPORT_PC()
- mov r0, rPC @ arg0
- mov r1, rFP @ arg1
- mov r2, rSELF @ arg2
- b dvmCheckBefore @ (dPC,dFP,self) tail call
-
-/* ------------------------------ */
- .balign 64
-.L_ALT_OP_UNUSED_C5FF: /* 0x1c5 */
-/* File: armv5te/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Note that the call to dvmCheckBefore is done as a tail call.
- * rIBASE updates won't be seen until a refresh, and we can tell we have a
- * stale rIBASE if breakFlags==0. Always refresh rIBASE here, and then
- * bail to the real handler if breakFlags==0.
- */
- ldrb r3, [rSELF, #offThread_breakFlags]
- adrl lr, dvmAsmInstructionStart + (453 * 64)
- ldr rIBASE, [rSELF, #offThread_curHandlerTable]
- cmp r3, #0
- bxeq lr @ nothing to do - jump to real handler
- EXPORT_PC()
- mov r0, rPC @ arg0
- mov r1, rFP @ arg1
- mov r2, rSELF @ arg2
- b dvmCheckBefore @ (dPC,dFP,self) tail call
-
-/* ------------------------------ */
- .balign 64
-.L_ALT_OP_UNUSED_C6FF: /* 0x1c6 */
-/* File: armv5te/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Note that the call to dvmCheckBefore is done as a tail call.
- * rIBASE updates won't be seen until a refresh, and we can tell we have a
- * stale rIBASE if breakFlags==0. Always refresh rIBASE here, and then
- * bail to the real handler if breakFlags==0.
- */
- ldrb r3, [rSELF, #offThread_breakFlags]
- adrl lr, dvmAsmInstructionStart + (454 * 64)
- ldr rIBASE, [rSELF, #offThread_curHandlerTable]
- cmp r3, #0
- bxeq lr @ nothing to do - jump to real handler
- EXPORT_PC()
- mov r0, rPC @ arg0
- mov r1, rFP @ arg1
- mov r2, rSELF @ arg2
- b dvmCheckBefore @ (dPC,dFP,self) tail call
-
-/* ------------------------------ */
- .balign 64
-.L_ALT_OP_UNUSED_C7FF: /* 0x1c7 */
-/* File: armv5te/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Note that the call to dvmCheckBefore is done as a tail call.
- * rIBASE updates won't be seen until a refresh, and we can tell we have a
- * stale rIBASE if breakFlags==0. Always refresh rIBASE here, and then
- * bail to the real handler if breakFlags==0.
- */
- ldrb r3, [rSELF, #offThread_breakFlags]
- adrl lr, dvmAsmInstructionStart + (455 * 64)
- ldr rIBASE, [rSELF, #offThread_curHandlerTable]
- cmp r3, #0
- bxeq lr @ nothing to do - jump to real handler
- EXPORT_PC()
- mov r0, rPC @ arg0
- mov r1, rFP @ arg1
- mov r2, rSELF @ arg2
- b dvmCheckBefore @ (dPC,dFP,self) tail call
-
-/* ------------------------------ */
- .balign 64
-.L_ALT_OP_UNUSED_C8FF: /* 0x1c8 */
-/* File: armv5te/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Note that the call to dvmCheckBefore is done as a tail call.
- * rIBASE updates won't be seen until a refresh, and we can tell we have a
- * stale rIBASE if breakFlags==0. Always refresh rIBASE here, and then
- * bail to the real handler if breakFlags==0.
- */
- ldrb r3, [rSELF, #offThread_breakFlags]
- adrl lr, dvmAsmInstructionStart + (456 * 64)
- ldr rIBASE, [rSELF, #offThread_curHandlerTable]
- cmp r3, #0
- bxeq lr @ nothing to do - jump to real handler
- EXPORT_PC()
- mov r0, rPC @ arg0
- mov r1, rFP @ arg1
- mov r2, rSELF @ arg2
- b dvmCheckBefore @ (dPC,dFP,self) tail call
-
-/* ------------------------------ */
- .balign 64
-.L_ALT_OP_UNUSED_C9FF: /* 0x1c9 */
-/* File: armv5te/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Note that the call to dvmCheckBefore is done as a tail call.
- * rIBASE updates won't be seen until a refresh, and we can tell we have a
- * stale rIBASE if breakFlags==0. Always refresh rIBASE here, and then
- * bail to the real handler if breakFlags==0.
- */
- ldrb r3, [rSELF, #offThread_breakFlags]
- adrl lr, dvmAsmInstructionStart + (457 * 64)
- ldr rIBASE, [rSELF, #offThread_curHandlerTable]
- cmp r3, #0
- bxeq lr @ nothing to do - jump to real handler
- EXPORT_PC()
- mov r0, rPC @ arg0
- mov r1, rFP @ arg1
- mov r2, rSELF @ arg2
- b dvmCheckBefore @ (dPC,dFP,self) tail call
-
-/* ------------------------------ */
- .balign 64
-.L_ALT_OP_UNUSED_CAFF: /* 0x1ca */
-/* File: armv5te/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Note that the call to dvmCheckBefore is done as a tail call.
- * rIBASE updates won't be seen until a refresh, and we can tell we have a
- * stale rIBASE if breakFlags==0. Always refresh rIBASE here, and then
- * bail to the real handler if breakFlags==0.
- */
- ldrb r3, [rSELF, #offThread_breakFlags]
- adrl lr, dvmAsmInstructionStart + (458 * 64)
- ldr rIBASE, [rSELF, #offThread_curHandlerTable]
- cmp r3, #0
- bxeq lr @ nothing to do - jump to real handler
- EXPORT_PC()
- mov r0, rPC @ arg0
- mov r1, rFP @ arg1
- mov r2, rSELF @ arg2
- b dvmCheckBefore @ (dPC,dFP,self) tail call
-
-/* ------------------------------ */
- .balign 64
-.L_ALT_OP_UNUSED_CBFF: /* 0x1cb */
-/* File: armv5te/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Note that the call to dvmCheckBefore is done as a tail call.
- * rIBASE updates won't be seen until a refresh, and we can tell we have a
- * stale rIBASE if breakFlags==0. Always refresh rIBASE here, and then
- * bail to the real handler if breakFlags==0.
- */
- ldrb r3, [rSELF, #offThread_breakFlags]
- adrl lr, dvmAsmInstructionStart + (459 * 64)
- ldr rIBASE, [rSELF, #offThread_curHandlerTable]
- cmp r3, #0
- bxeq lr @ nothing to do - jump to real handler
- EXPORT_PC()
- mov r0, rPC @ arg0
- mov r1, rFP @ arg1
- mov r2, rSELF @ arg2
- b dvmCheckBefore @ (dPC,dFP,self) tail call
-
-/* ------------------------------ */
- .balign 64
-.L_ALT_OP_UNUSED_CCFF: /* 0x1cc */
-/* File: armv5te/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Note that the call to dvmCheckBefore is done as a tail call.
- * rIBASE updates won't be seen until a refresh, and we can tell we have a
- * stale rIBASE if breakFlags==0. Always refresh rIBASE here, and then
- * bail to the real handler if breakFlags==0.
- */
- ldrb r3, [rSELF, #offThread_breakFlags]
- adrl lr, dvmAsmInstructionStart + (460 * 64)
- ldr rIBASE, [rSELF, #offThread_curHandlerTable]
- cmp r3, #0
- bxeq lr @ nothing to do - jump to real handler
- EXPORT_PC()
- mov r0, rPC @ arg0
- mov r1, rFP @ arg1
- mov r2, rSELF @ arg2
- b dvmCheckBefore @ (dPC,dFP,self) tail call
-
-/* ------------------------------ */
- .balign 64
-.L_ALT_OP_UNUSED_CDFF: /* 0x1cd */
-/* File: armv5te/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Note that the call to dvmCheckBefore is done as a tail call.
- * rIBASE updates won't be seen until a refresh, and we can tell we have a
- * stale rIBASE if breakFlags==0. Always refresh rIBASE here, and then
- * bail to the real handler if breakFlags==0.
- */
- ldrb r3, [rSELF, #offThread_breakFlags]
- adrl lr, dvmAsmInstructionStart + (461 * 64)
- ldr rIBASE, [rSELF, #offThread_curHandlerTable]
- cmp r3, #0
- bxeq lr @ nothing to do - jump to real handler
- EXPORT_PC()
- mov r0, rPC @ arg0
- mov r1, rFP @ arg1
- mov r2, rSELF @ arg2
- b dvmCheckBefore @ (dPC,dFP,self) tail call
-
-/* ------------------------------ */
- .balign 64
-.L_ALT_OP_UNUSED_CEFF: /* 0x1ce */
-/* File: armv5te/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Note that the call to dvmCheckBefore is done as a tail call.
- * rIBASE updates won't be seen until a refresh, and we can tell we have a
- * stale rIBASE if breakFlags==0. Always refresh rIBASE here, and then
- * bail to the real handler if breakFlags==0.
- */
- ldrb r3, [rSELF, #offThread_breakFlags]
- adrl lr, dvmAsmInstructionStart + (462 * 64)
- ldr rIBASE, [rSELF, #offThread_curHandlerTable]
- cmp r3, #0
- bxeq lr @ nothing to do - jump to real handler
- EXPORT_PC()
- mov r0, rPC @ arg0
- mov r1, rFP @ arg1
- mov r2, rSELF @ arg2
- b dvmCheckBefore @ (dPC,dFP,self) tail call
-
-/* ------------------------------ */
- .balign 64
-.L_ALT_OP_UNUSED_CFFF: /* 0x1cf */
-/* File: armv5te/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Note that the call to dvmCheckBefore is done as a tail call.
- * rIBASE updates won't be seen until a refresh, and we can tell we have a
- * stale rIBASE if breakFlags==0. Always refresh rIBASE here, and then
- * bail to the real handler if breakFlags==0.
- */
- ldrb r3, [rSELF, #offThread_breakFlags]
- adrl lr, dvmAsmInstructionStart + (463 * 64)
- ldr rIBASE, [rSELF, #offThread_curHandlerTable]
- cmp r3, #0
- bxeq lr @ nothing to do - jump to real handler
- EXPORT_PC()
- mov r0, rPC @ arg0
- mov r1, rFP @ arg1
- mov r2, rSELF @ arg2
- b dvmCheckBefore @ (dPC,dFP,self) tail call
-
-/* ------------------------------ */
- .balign 64
-.L_ALT_OP_UNUSED_D0FF: /* 0x1d0 */
-/* File: armv5te/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Note that the call to dvmCheckBefore is done as a tail call.
- * rIBASE updates won't be seen until a refresh, and we can tell we have a
- * stale rIBASE if breakFlags==0. Always refresh rIBASE here, and then
- * bail to the real handler if breakFlags==0.
- */
- ldrb r3, [rSELF, #offThread_breakFlags]
- adrl lr, dvmAsmInstructionStart + (464 * 64)
- ldr rIBASE, [rSELF, #offThread_curHandlerTable]
- cmp r3, #0
- bxeq lr @ nothing to do - jump to real handler
- EXPORT_PC()
- mov r0, rPC @ arg0
- mov r1, rFP @ arg1
- mov r2, rSELF @ arg2
- b dvmCheckBefore @ (dPC,dFP,self) tail call
-
-/* ------------------------------ */
- .balign 64
-.L_ALT_OP_UNUSED_D1FF: /* 0x1d1 */
-/* File: armv5te/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Note that the call to dvmCheckBefore is done as a tail call.
- * rIBASE updates won't be seen until a refresh, and we can tell we have a
- * stale rIBASE if breakFlags==0. Always refresh rIBASE here, and then
- * bail to the real handler if breakFlags==0.
- */
- ldrb r3, [rSELF, #offThread_breakFlags]
- adrl lr, dvmAsmInstructionStart + (465 * 64)
- ldr rIBASE, [rSELF, #offThread_curHandlerTable]
- cmp r3, #0
- bxeq lr @ nothing to do - jump to real handler
- EXPORT_PC()
- mov r0, rPC @ arg0
- mov r1, rFP @ arg1
- mov r2, rSELF @ arg2
- b dvmCheckBefore @ (dPC,dFP,self) tail call
-
-/* ------------------------------ */
- .balign 64
-.L_ALT_OP_UNUSED_D2FF: /* 0x1d2 */
-/* File: armv5te/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Note that the call to dvmCheckBefore is done as a tail call.
- * rIBASE updates won't be seen until a refresh, and we can tell we have a
- * stale rIBASE if breakFlags==0. Always refresh rIBASE here, and then
- * bail to the real handler if breakFlags==0.
- */
- ldrb r3, [rSELF, #offThread_breakFlags]
- adrl lr, dvmAsmInstructionStart + (466 * 64)
- ldr rIBASE, [rSELF, #offThread_curHandlerTable]
- cmp r3, #0
- bxeq lr @ nothing to do - jump to real handler
- EXPORT_PC()
- mov r0, rPC @ arg0
- mov r1, rFP @ arg1
- mov r2, rSELF @ arg2
- b dvmCheckBefore @ (dPC,dFP,self) tail call
-
-/* ------------------------------ */
- .balign 64
-.L_ALT_OP_UNUSED_D3FF: /* 0x1d3 */
-/* File: armv5te/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Note that the call to dvmCheckBefore is done as a tail call.
- * rIBASE updates won't be seen until a refresh, and we can tell we have a
- * stale rIBASE if breakFlags==0. Always refresh rIBASE here, and then
- * bail to the real handler if breakFlags==0.
- */
- ldrb r3, [rSELF, #offThread_breakFlags]
- adrl lr, dvmAsmInstructionStart + (467 * 64)
- ldr rIBASE, [rSELF, #offThread_curHandlerTable]
- cmp r3, #0
- bxeq lr @ nothing to do - jump to real handler
- EXPORT_PC()
- mov r0, rPC @ arg0
- mov r1, rFP @ arg1
- mov r2, rSELF @ arg2
- b dvmCheckBefore @ (dPC,dFP,self) tail call
-
-/* ------------------------------ */
- .balign 64
-.L_ALT_OP_UNUSED_D4FF: /* 0x1d4 */
-/* File: armv5te/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Note that the call to dvmCheckBefore is done as a tail call.
- * rIBASE updates won't be seen until a refresh, and we can tell we have a
- * stale rIBASE if breakFlags==0. Always refresh rIBASE here, and then
- * bail to the real handler if breakFlags==0.
- */
- ldrb r3, [rSELF, #offThread_breakFlags]
- adrl lr, dvmAsmInstructionStart + (468 * 64)
- ldr rIBASE, [rSELF, #offThread_curHandlerTable]
- cmp r3, #0
- bxeq lr @ nothing to do - jump to real handler
- EXPORT_PC()
- mov r0, rPC @ arg0
- mov r1, rFP @ arg1
- mov r2, rSELF @ arg2
- b dvmCheckBefore @ (dPC,dFP,self) tail call
-
-/* ------------------------------ */
- .balign 64
-.L_ALT_OP_UNUSED_D5FF: /* 0x1d5 */
-/* File: armv5te/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Note that the call to dvmCheckBefore is done as a tail call.
- * rIBASE updates won't be seen until a refresh, and we can tell we have a
- * stale rIBASE if breakFlags==0. Always refresh rIBASE here, and then
- * bail to the real handler if breakFlags==0.
- */
- ldrb r3, [rSELF, #offThread_breakFlags]
- adrl lr, dvmAsmInstructionStart + (469 * 64)
- ldr rIBASE, [rSELF, #offThread_curHandlerTable]
- cmp r3, #0
- bxeq lr @ nothing to do - jump to real handler
- EXPORT_PC()
- mov r0, rPC @ arg0
- mov r1, rFP @ arg1
- mov r2, rSELF @ arg2
- b dvmCheckBefore @ (dPC,dFP,self) tail call
-
-/* ------------------------------ */
- .balign 64
-.L_ALT_OP_UNUSED_D6FF: /* 0x1d6 */
-/* File: armv5te/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Note that the call to dvmCheckBefore is done as a tail call.
- * rIBASE updates won't be seen until a refresh, and we can tell we have a
- * stale rIBASE if breakFlags==0. Always refresh rIBASE here, and then
- * bail to the real handler if breakFlags==0.
- */
- ldrb r3, [rSELF, #offThread_breakFlags]
- adrl lr, dvmAsmInstructionStart + (470 * 64)
- ldr rIBASE, [rSELF, #offThread_curHandlerTable]
- cmp r3, #0
- bxeq lr @ nothing to do - jump to real handler
- EXPORT_PC()
- mov r0, rPC @ arg0
- mov r1, rFP @ arg1
- mov r2, rSELF @ arg2
- b dvmCheckBefore @ (dPC,dFP,self) tail call
-
-/* ------------------------------ */
- .balign 64
-.L_ALT_OP_UNUSED_D7FF: /* 0x1d7 */
-/* File: armv5te/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Note that the call to dvmCheckBefore is done as a tail call.
- * rIBASE updates won't be seen until a refresh, and we can tell we have a
- * stale rIBASE if breakFlags==0. Always refresh rIBASE here, and then
- * bail to the real handler if breakFlags==0.
- */
- ldrb r3, [rSELF, #offThread_breakFlags]
- adrl lr, dvmAsmInstructionStart + (471 * 64)
- ldr rIBASE, [rSELF, #offThread_curHandlerTable]
- cmp r3, #0
- bxeq lr @ nothing to do - jump to real handler
- EXPORT_PC()
- mov r0, rPC @ arg0
- mov r1, rFP @ arg1
- mov r2, rSELF @ arg2
- b dvmCheckBefore @ (dPC,dFP,self) tail call
-
-/* ------------------------------ */
- .balign 64
-.L_ALT_OP_UNUSED_D8FF: /* 0x1d8 */
-/* File: armv5te/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Note that the call to dvmCheckBefore is done as a tail call.
- * rIBASE updates won't be seen until a refresh, and we can tell we have a
- * stale rIBASE if breakFlags==0. Always refresh rIBASE here, and then
- * bail to the real handler if breakFlags==0.
- */
- ldrb r3, [rSELF, #offThread_breakFlags]
- adrl lr, dvmAsmInstructionStart + (472 * 64)
- ldr rIBASE, [rSELF, #offThread_curHandlerTable]
- cmp r3, #0
- bxeq lr @ nothing to do - jump to real handler
- EXPORT_PC()
- mov r0, rPC @ arg0
- mov r1, rFP @ arg1
- mov r2, rSELF @ arg2
- b dvmCheckBefore @ (dPC,dFP,self) tail call
-
-/* ------------------------------ */
- .balign 64
-.L_ALT_OP_UNUSED_D9FF: /* 0x1d9 */
-/* File: armv5te/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Note that the call to dvmCheckBefore is done as a tail call.
- * rIBASE updates won't be seen until a refresh, and we can tell we have a
- * stale rIBASE if breakFlags==0. Always refresh rIBASE here, and then
- * bail to the real handler if breakFlags==0.
- */
- ldrb r3, [rSELF, #offThread_breakFlags]
- adrl lr, dvmAsmInstructionStart + (473 * 64)
- ldr rIBASE, [rSELF, #offThread_curHandlerTable]
- cmp r3, #0
- bxeq lr @ nothing to do - jump to real handler
- EXPORT_PC()
- mov r0, rPC @ arg0
- mov r1, rFP @ arg1
- mov r2, rSELF @ arg2
- b dvmCheckBefore @ (dPC,dFP,self) tail call
-
-/* ------------------------------ */
- .balign 64
-.L_ALT_OP_UNUSED_DAFF: /* 0x1da */
-/* File: armv5te/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Note that the call to dvmCheckBefore is done as a tail call.
- * rIBASE updates won't be seen until a refresh, and we can tell we have a
- * stale rIBASE if breakFlags==0. Always refresh rIBASE here, and then
- * bail to the real handler if breakFlags==0.
- */
- ldrb r3, [rSELF, #offThread_breakFlags]
- adrl lr, dvmAsmInstructionStart + (474 * 64)
- ldr rIBASE, [rSELF, #offThread_curHandlerTable]
- cmp r3, #0
- bxeq lr @ nothing to do - jump to real handler
- EXPORT_PC()
- mov r0, rPC @ arg0
- mov r1, rFP @ arg1
- mov r2, rSELF @ arg2
- b dvmCheckBefore @ (dPC,dFP,self) tail call
-
-/* ------------------------------ */
- .balign 64
-.L_ALT_OP_UNUSED_DBFF: /* 0x1db */
-/* File: armv5te/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Note that the call to dvmCheckBefore is done as a tail call.
- * rIBASE updates won't be seen until a refresh, and we can tell we have a
- * stale rIBASE if breakFlags==0. Always refresh rIBASE here, and then
- * bail to the real handler if breakFlags==0.
- */
- ldrb r3, [rSELF, #offThread_breakFlags]
- adrl lr, dvmAsmInstructionStart + (475 * 64)
- ldr rIBASE, [rSELF, #offThread_curHandlerTable]
- cmp r3, #0
- bxeq lr @ nothing to do - jump to real handler
- EXPORT_PC()
- mov r0, rPC @ arg0
- mov r1, rFP @ arg1
- mov r2, rSELF @ arg2
- b dvmCheckBefore @ (dPC,dFP,self) tail call
-
-/* ------------------------------ */
- .balign 64
-.L_ALT_OP_UNUSED_DCFF: /* 0x1dc */
-/* File: armv5te/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Note that the call to dvmCheckBefore is done as a tail call.
- * rIBASE updates won't be seen until a refresh, and we can tell we have a
- * stale rIBASE if breakFlags==0. Always refresh rIBASE here, and then
- * bail to the real handler if breakFlags==0.
- */
- ldrb r3, [rSELF, #offThread_breakFlags]
- adrl lr, dvmAsmInstructionStart + (476 * 64)
- ldr rIBASE, [rSELF, #offThread_curHandlerTable]
- cmp r3, #0
- bxeq lr @ nothing to do - jump to real handler
- EXPORT_PC()
- mov r0, rPC @ arg0
- mov r1, rFP @ arg1
- mov r2, rSELF @ arg2
- b dvmCheckBefore @ (dPC,dFP,self) tail call
-
-/* ------------------------------ */
- .balign 64
-.L_ALT_OP_UNUSED_DDFF: /* 0x1dd */
-/* File: armv5te/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Note that the call to dvmCheckBefore is done as a tail call.
- * rIBASE updates won't be seen until a refresh, and we can tell we have a
- * stale rIBASE if breakFlags==0. Always refresh rIBASE here, and then
- * bail to the real handler if breakFlags==0.
- */
- ldrb r3, [rSELF, #offThread_breakFlags]
- adrl lr, dvmAsmInstructionStart + (477 * 64)
- ldr rIBASE, [rSELF, #offThread_curHandlerTable]
- cmp r3, #0
- bxeq lr @ nothing to do - jump to real handler
- EXPORT_PC()
- mov r0, rPC @ arg0
- mov r1, rFP @ arg1
- mov r2, rSELF @ arg2
- b dvmCheckBefore @ (dPC,dFP,self) tail call
-
-/* ------------------------------ */
- .balign 64
-.L_ALT_OP_UNUSED_DEFF: /* 0x1de */
-/* File: armv5te/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Note that the call to dvmCheckBefore is done as a tail call.
- * rIBASE updates won't be seen until a refresh, and we can tell we have a
- * stale rIBASE if breakFlags==0. Always refresh rIBASE here, and then
- * bail to the real handler if breakFlags==0.
- */
- ldrb r3, [rSELF, #offThread_breakFlags]
- adrl lr, dvmAsmInstructionStart + (478 * 64)
- ldr rIBASE, [rSELF, #offThread_curHandlerTable]
- cmp r3, #0
- bxeq lr @ nothing to do - jump to real handler
- EXPORT_PC()
- mov r0, rPC @ arg0
- mov r1, rFP @ arg1
- mov r2, rSELF @ arg2
- b dvmCheckBefore @ (dPC,dFP,self) tail call
-
-/* ------------------------------ */
- .balign 64
-.L_ALT_OP_UNUSED_DFFF: /* 0x1df */
-/* File: armv5te/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Note that the call to dvmCheckBefore is done as a tail call.
- * rIBASE updates won't be seen until a refresh, and we can tell we have a
- * stale rIBASE if breakFlags==0. Always refresh rIBASE here, and then
- * bail to the real handler if breakFlags==0.
- */
- ldrb r3, [rSELF, #offThread_breakFlags]
- adrl lr, dvmAsmInstructionStart + (479 * 64)
- ldr rIBASE, [rSELF, #offThread_curHandlerTable]
- cmp r3, #0
- bxeq lr @ nothing to do - jump to real handler
- EXPORT_PC()
- mov r0, rPC @ arg0
- mov r1, rFP @ arg1
- mov r2, rSELF @ arg2
- b dvmCheckBefore @ (dPC,dFP,self) tail call
-
-/* ------------------------------ */
- .balign 64
-.L_ALT_OP_UNUSED_E0FF: /* 0x1e0 */
-/* File: armv5te/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Note that the call to dvmCheckBefore is done as a tail call.
- * rIBASE updates won't be seen until a refresh, and we can tell we have a
- * stale rIBASE if breakFlags==0. Always refresh rIBASE here, and then
- * bail to the real handler if breakFlags==0.
- */
- ldrb r3, [rSELF, #offThread_breakFlags]
- adrl lr, dvmAsmInstructionStart + (480 * 64)
- ldr rIBASE, [rSELF, #offThread_curHandlerTable]
- cmp r3, #0
- bxeq lr @ nothing to do - jump to real handler
- EXPORT_PC()
- mov r0, rPC @ arg0
- mov r1, rFP @ arg1
- mov r2, rSELF @ arg2
- b dvmCheckBefore @ (dPC,dFP,self) tail call
-
-/* ------------------------------ */
- .balign 64
-.L_ALT_OP_UNUSED_E1FF: /* 0x1e1 */
-/* File: armv5te/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Note that the call to dvmCheckBefore is done as a tail call.
- * rIBASE updates won't be seen until a refresh, and we can tell we have a
- * stale rIBASE if breakFlags==0. Always refresh rIBASE here, and then
- * bail to the real handler if breakFlags==0.
- */
- ldrb r3, [rSELF, #offThread_breakFlags]
- adrl lr, dvmAsmInstructionStart + (481 * 64)
- ldr rIBASE, [rSELF, #offThread_curHandlerTable]
- cmp r3, #0
- bxeq lr @ nothing to do - jump to real handler
- EXPORT_PC()
- mov r0, rPC @ arg0
- mov r1, rFP @ arg1
- mov r2, rSELF @ arg2
- b dvmCheckBefore @ (dPC,dFP,self) tail call
-
-/* ------------------------------ */
- .balign 64
-.L_ALT_OP_UNUSED_E2FF: /* 0x1e2 */
-/* File: armv5te/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Note that the call to dvmCheckBefore is done as a tail call.
- * rIBASE updates won't be seen until a refresh, and we can tell we have a
- * stale rIBASE if breakFlags==0. Always refresh rIBASE here, and then
- * bail to the real handler if breakFlags==0.
- */
- ldrb r3, [rSELF, #offThread_breakFlags]
- adrl lr, dvmAsmInstructionStart + (482 * 64)
- ldr rIBASE, [rSELF, #offThread_curHandlerTable]
- cmp r3, #0
- bxeq lr @ nothing to do - jump to real handler
- EXPORT_PC()
- mov r0, rPC @ arg0
- mov r1, rFP @ arg1
- mov r2, rSELF @ arg2
- b dvmCheckBefore @ (dPC,dFP,self) tail call
-
-/* ------------------------------ */
- .balign 64
-.L_ALT_OP_UNUSED_E3FF: /* 0x1e3 */
-/* File: armv5te/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Note that the call to dvmCheckBefore is done as a tail call.
- * rIBASE updates won't be seen until a refresh, and we can tell we have a
- * stale rIBASE if breakFlags==0. Always refresh rIBASE here, and then
- * bail to the real handler if breakFlags==0.
- */
- ldrb r3, [rSELF, #offThread_breakFlags]
- adrl lr, dvmAsmInstructionStart + (483 * 64)
- ldr rIBASE, [rSELF, #offThread_curHandlerTable]
- cmp r3, #0
- bxeq lr @ nothing to do - jump to real handler
- EXPORT_PC()
- mov r0, rPC @ arg0
- mov r1, rFP @ arg1
- mov r2, rSELF @ arg2
- b dvmCheckBefore @ (dPC,dFP,self) tail call
-
-/* ------------------------------ */
- .balign 64
-.L_ALT_OP_UNUSED_E4FF: /* 0x1e4 */
-/* File: armv5te/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Note that the call to dvmCheckBefore is done as a tail call.
- * rIBASE updates won't be seen until a refresh, and we can tell we have a
- * stale rIBASE if breakFlags==0. Always refresh rIBASE here, and then
- * bail to the real handler if breakFlags==0.
- */
- ldrb r3, [rSELF, #offThread_breakFlags]
- adrl lr, dvmAsmInstructionStart + (484 * 64)
- ldr rIBASE, [rSELF, #offThread_curHandlerTable]
- cmp r3, #0
- bxeq lr @ nothing to do - jump to real handler
- EXPORT_PC()
- mov r0, rPC @ arg0
- mov r1, rFP @ arg1
- mov r2, rSELF @ arg2
- b dvmCheckBefore @ (dPC,dFP,self) tail call
-
-/* ------------------------------ */
- .balign 64
-.L_ALT_OP_UNUSED_E5FF: /* 0x1e5 */
-/* File: armv5te/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Note that the call to dvmCheckBefore is done as a tail call.
- * rIBASE updates won't be seen until a refresh, and we can tell we have a
- * stale rIBASE if breakFlags==0. Always refresh rIBASE here, and then
- * bail to the real handler if breakFlags==0.
- */
- ldrb r3, [rSELF, #offThread_breakFlags]
- adrl lr, dvmAsmInstructionStart + (485 * 64)
- ldr rIBASE, [rSELF, #offThread_curHandlerTable]
- cmp r3, #0
- bxeq lr @ nothing to do - jump to real handler
- EXPORT_PC()
- mov r0, rPC @ arg0
- mov r1, rFP @ arg1
- mov r2, rSELF @ arg2
- b dvmCheckBefore @ (dPC,dFP,self) tail call
-
-/* ------------------------------ */
- .balign 64
-.L_ALT_OP_UNUSED_E6FF: /* 0x1e6 */
-/* File: armv5te/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Note that the call to dvmCheckBefore is done as a tail call.
- * rIBASE updates won't be seen until a refresh, and we can tell we have a
- * stale rIBASE if breakFlags==0. Always refresh rIBASE here, and then
- * bail to the real handler if breakFlags==0.
- */
- ldrb r3, [rSELF, #offThread_breakFlags]
- adrl lr, dvmAsmInstructionStart + (486 * 64)
- ldr rIBASE, [rSELF, #offThread_curHandlerTable]
- cmp r3, #0
- bxeq lr @ nothing to do - jump to real handler
- EXPORT_PC()
- mov r0, rPC @ arg0
- mov r1, rFP @ arg1
- mov r2, rSELF @ arg2
- b dvmCheckBefore @ (dPC,dFP,self) tail call
-
-/* ------------------------------ */
- .balign 64
-.L_ALT_OP_UNUSED_E7FF: /* 0x1e7 */
-/* File: armv5te/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Note that the call to dvmCheckBefore is done as a tail call.
- * rIBASE updates won't be seen until a refresh, and we can tell we have a
- * stale rIBASE if breakFlags==0. Always refresh rIBASE here, and then
- * bail to the real handler if breakFlags==0.
- */
- ldrb r3, [rSELF, #offThread_breakFlags]
- adrl lr, dvmAsmInstructionStart + (487 * 64)
- ldr rIBASE, [rSELF, #offThread_curHandlerTable]
- cmp r3, #0
- bxeq lr @ nothing to do - jump to real handler
- EXPORT_PC()
- mov r0, rPC @ arg0
- mov r1, rFP @ arg1
- mov r2, rSELF @ arg2
- b dvmCheckBefore @ (dPC,dFP,self) tail call
-
-/* ------------------------------ */
- .balign 64
-.L_ALT_OP_UNUSED_E8FF: /* 0x1e8 */
-/* File: armv5te/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Note that the call to dvmCheckBefore is done as a tail call.
- * rIBASE updates won't be seen until a refresh, and we can tell we have a
- * stale rIBASE if breakFlags==0. Always refresh rIBASE here, and then
- * bail to the real handler if breakFlags==0.
- */
- ldrb r3, [rSELF, #offThread_breakFlags]
- adrl lr, dvmAsmInstructionStart + (488 * 64)
- ldr rIBASE, [rSELF, #offThread_curHandlerTable]
- cmp r3, #0
- bxeq lr @ nothing to do - jump to real handler
- EXPORT_PC()
- mov r0, rPC @ arg0
- mov r1, rFP @ arg1
- mov r2, rSELF @ arg2
- b dvmCheckBefore @ (dPC,dFP,self) tail call
-
-/* ------------------------------ */
- .balign 64
-.L_ALT_OP_UNUSED_E9FF: /* 0x1e9 */
-/* File: armv5te/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Note that the call to dvmCheckBefore is done as a tail call.
- * rIBASE updates won't be seen until a refresh, and we can tell we have a
- * stale rIBASE if breakFlags==0. Always refresh rIBASE here, and then
- * bail to the real handler if breakFlags==0.
- */
- ldrb r3, [rSELF, #offThread_breakFlags]
- adrl lr, dvmAsmInstructionStart + (489 * 64)
- ldr rIBASE, [rSELF, #offThread_curHandlerTable]
- cmp r3, #0
- bxeq lr @ nothing to do - jump to real handler
- EXPORT_PC()
- mov r0, rPC @ arg0
- mov r1, rFP @ arg1
- mov r2, rSELF @ arg2
- b dvmCheckBefore @ (dPC,dFP,self) tail call
-
-/* ------------------------------ */
- .balign 64
-.L_ALT_OP_UNUSED_EAFF: /* 0x1ea */
-/* File: armv5te/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Note that the call to dvmCheckBefore is done as a tail call.
- * rIBASE updates won't be seen until a refresh, and we can tell we have a
- * stale rIBASE if breakFlags==0. Always refresh rIBASE here, and then
- * bail to the real handler if breakFlags==0.
- */
- ldrb r3, [rSELF, #offThread_breakFlags]
- adrl lr, dvmAsmInstructionStart + (490 * 64)
- ldr rIBASE, [rSELF, #offThread_curHandlerTable]
- cmp r3, #0
- bxeq lr @ nothing to do - jump to real handler
- EXPORT_PC()
- mov r0, rPC @ arg0
- mov r1, rFP @ arg1
- mov r2, rSELF @ arg2
- b dvmCheckBefore @ (dPC,dFP,self) tail call
-
-/* ------------------------------ */
- .balign 64
-.L_ALT_OP_UNUSED_EBFF: /* 0x1eb */
-/* File: armv5te/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Note that the call to dvmCheckBefore is done as a tail call.
- * rIBASE updates won't be seen until a refresh, and we can tell we have a
- * stale rIBASE if breakFlags==0. Always refresh rIBASE here, and then
- * bail to the real handler if breakFlags==0.
- */
- ldrb r3, [rSELF, #offThread_breakFlags]
- adrl lr, dvmAsmInstructionStart + (491 * 64)
- ldr rIBASE, [rSELF, #offThread_curHandlerTable]
- cmp r3, #0
- bxeq lr @ nothing to do - jump to real handler
- EXPORT_PC()
- mov r0, rPC @ arg0
- mov r1, rFP @ arg1
- mov r2, rSELF @ arg2
- b dvmCheckBefore @ (dPC,dFP,self) tail call
-
-/* ------------------------------ */
- .balign 64
-.L_ALT_OP_UNUSED_ECFF: /* 0x1ec */
+.L_ALT_OP_UNUSED_FF: /* 0xff */
/* File: armv5te/alt_stub.S */
/*
* Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
@@ -25711,444 +15563,7 @@ dvmAsmAltInstructionStart = .L_ALT_OP_NOP
* bail to the real handler if breakFlags==0.
*/
ldrb r3, [rSELF, #offThread_breakFlags]
- adrl lr, dvmAsmInstructionStart + (492 * 64)
- ldr rIBASE, [rSELF, #offThread_curHandlerTable]
- cmp r3, #0
- bxeq lr @ nothing to do - jump to real handler
- EXPORT_PC()
- mov r0, rPC @ arg0
- mov r1, rFP @ arg1
- mov r2, rSELF @ arg2
- b dvmCheckBefore @ (dPC,dFP,self) tail call
-
-/* ------------------------------ */
- .balign 64
-.L_ALT_OP_UNUSED_EDFF: /* 0x1ed */
-/* File: armv5te/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Note that the call to dvmCheckBefore is done as a tail call.
- * rIBASE updates won't be seen until a refresh, and we can tell we have a
- * stale rIBASE if breakFlags==0. Always refresh rIBASE here, and then
- * bail to the real handler if breakFlags==0.
- */
- ldrb r3, [rSELF, #offThread_breakFlags]
- adrl lr, dvmAsmInstructionStart + (493 * 64)
- ldr rIBASE, [rSELF, #offThread_curHandlerTable]
- cmp r3, #0
- bxeq lr @ nothing to do - jump to real handler
- EXPORT_PC()
- mov r0, rPC @ arg0
- mov r1, rFP @ arg1
- mov r2, rSELF @ arg2
- b dvmCheckBefore @ (dPC,dFP,self) tail call
-
-/* ------------------------------ */
- .balign 64
-.L_ALT_OP_UNUSED_EEFF: /* 0x1ee */
-/* File: armv5te/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Note that the call to dvmCheckBefore is done as a tail call.
- * rIBASE updates won't be seen until a refresh, and we can tell we have a
- * stale rIBASE if breakFlags==0. Always refresh rIBASE here, and then
- * bail to the real handler if breakFlags==0.
- */
- ldrb r3, [rSELF, #offThread_breakFlags]
- adrl lr, dvmAsmInstructionStart + (494 * 64)
- ldr rIBASE, [rSELF, #offThread_curHandlerTable]
- cmp r3, #0
- bxeq lr @ nothing to do - jump to real handler
- EXPORT_PC()
- mov r0, rPC @ arg0
- mov r1, rFP @ arg1
- mov r2, rSELF @ arg2
- b dvmCheckBefore @ (dPC,dFP,self) tail call
-
-/* ------------------------------ */
- .balign 64
-.L_ALT_OP_UNUSED_EFFF: /* 0x1ef */
-/* File: armv5te/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Note that the call to dvmCheckBefore is done as a tail call.
- * rIBASE updates won't be seen until a refresh, and we can tell we have a
- * stale rIBASE if breakFlags==0. Always refresh rIBASE here, and then
- * bail to the real handler if breakFlags==0.
- */
- ldrb r3, [rSELF, #offThread_breakFlags]
- adrl lr, dvmAsmInstructionStart + (495 * 64)
- ldr rIBASE, [rSELF, #offThread_curHandlerTable]
- cmp r3, #0
- bxeq lr @ nothing to do - jump to real handler
- EXPORT_PC()
- mov r0, rPC @ arg0
- mov r1, rFP @ arg1
- mov r2, rSELF @ arg2
- b dvmCheckBefore @ (dPC,dFP,self) tail call
-
-/* ------------------------------ */
- .balign 64
-.L_ALT_OP_UNUSED_F0FF: /* 0x1f0 */
-/* File: armv5te/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Note that the call to dvmCheckBefore is done as a tail call.
- * rIBASE updates won't be seen until a refresh, and we can tell we have a
- * stale rIBASE if breakFlags==0. Always refresh rIBASE here, and then
- * bail to the real handler if breakFlags==0.
- */
- ldrb r3, [rSELF, #offThread_breakFlags]
- adrl lr, dvmAsmInstructionStart + (496 * 64)
- ldr rIBASE, [rSELF, #offThread_curHandlerTable]
- cmp r3, #0
- bxeq lr @ nothing to do - jump to real handler
- EXPORT_PC()
- mov r0, rPC @ arg0
- mov r1, rFP @ arg1
- mov r2, rSELF @ arg2
- b dvmCheckBefore @ (dPC,dFP,self) tail call
-
-/* ------------------------------ */
- .balign 64
-.L_ALT_OP_UNUSED_F1FF: /* 0x1f1 */
-/* File: armv5te/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Note that the call to dvmCheckBefore is done as a tail call.
- * rIBASE updates won't be seen until a refresh, and we can tell we have a
- * stale rIBASE if breakFlags==0. Always refresh rIBASE here, and then
- * bail to the real handler if breakFlags==0.
- */
- ldrb r3, [rSELF, #offThread_breakFlags]
- adrl lr, dvmAsmInstructionStart + (497 * 64)
- ldr rIBASE, [rSELF, #offThread_curHandlerTable]
- cmp r3, #0
- bxeq lr @ nothing to do - jump to real handler
- EXPORT_PC()
- mov r0, rPC @ arg0
- mov r1, rFP @ arg1
- mov r2, rSELF @ arg2
- b dvmCheckBefore @ (dPC,dFP,self) tail call
-
-/* ------------------------------ */
- .balign 64
-.L_ALT_OP_INVOKE_OBJECT_INIT_JUMBO: /* 0x1f2 */
-/* File: armv5te/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Note that the call to dvmCheckBefore is done as a tail call.
- * rIBASE updates won't be seen until a refresh, and we can tell we have a
- * stale rIBASE if breakFlags==0. Always refresh rIBASE here, and then
- * bail to the real handler if breakFlags==0.
- */
- ldrb r3, [rSELF, #offThread_breakFlags]
- adrl lr, dvmAsmInstructionStart + (498 * 64)
- ldr rIBASE, [rSELF, #offThread_curHandlerTable]
- cmp r3, #0
- bxeq lr @ nothing to do - jump to real handler
- EXPORT_PC()
- mov r0, rPC @ arg0
- mov r1, rFP @ arg1
- mov r2, rSELF @ arg2
- b dvmCheckBefore @ (dPC,dFP,self) tail call
-
-/* ------------------------------ */
- .balign 64
-.L_ALT_OP_IGET_VOLATILE_JUMBO: /* 0x1f3 */
-/* File: armv5te/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Note that the call to dvmCheckBefore is done as a tail call.
- * rIBASE updates won't be seen until a refresh, and we can tell we have a
- * stale rIBASE if breakFlags==0. Always refresh rIBASE here, and then
- * bail to the real handler if breakFlags==0.
- */
- ldrb r3, [rSELF, #offThread_breakFlags]
- adrl lr, dvmAsmInstructionStart + (499 * 64)
- ldr rIBASE, [rSELF, #offThread_curHandlerTable]
- cmp r3, #0
- bxeq lr @ nothing to do - jump to real handler
- EXPORT_PC()
- mov r0, rPC @ arg0
- mov r1, rFP @ arg1
- mov r2, rSELF @ arg2
- b dvmCheckBefore @ (dPC,dFP,self) tail call
-
-/* ------------------------------ */
- .balign 64
-.L_ALT_OP_IGET_WIDE_VOLATILE_JUMBO: /* 0x1f4 */
-/* File: armv5te/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Note that the call to dvmCheckBefore is done as a tail call.
- * rIBASE updates won't be seen until a refresh, and we can tell we have a
- * stale rIBASE if breakFlags==0. Always refresh rIBASE here, and then
- * bail to the real handler if breakFlags==0.
- */
- ldrb r3, [rSELF, #offThread_breakFlags]
- adrl lr, dvmAsmInstructionStart + (500 * 64)
- ldr rIBASE, [rSELF, #offThread_curHandlerTable]
- cmp r3, #0
- bxeq lr @ nothing to do - jump to real handler
- EXPORT_PC()
- mov r0, rPC @ arg0
- mov r1, rFP @ arg1
- mov r2, rSELF @ arg2
- b dvmCheckBefore @ (dPC,dFP,self) tail call
-
-/* ------------------------------ */
- .balign 64
-.L_ALT_OP_IGET_OBJECT_VOLATILE_JUMBO: /* 0x1f5 */
-/* File: armv5te/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Note that the call to dvmCheckBefore is done as a tail call.
- * rIBASE updates won't be seen until a refresh, and we can tell we have a
- * stale rIBASE if breakFlags==0. Always refresh rIBASE here, and then
- * bail to the real handler if breakFlags==0.
- */
- ldrb r3, [rSELF, #offThread_breakFlags]
- adrl lr, dvmAsmInstructionStart + (501 * 64)
- ldr rIBASE, [rSELF, #offThread_curHandlerTable]
- cmp r3, #0
- bxeq lr @ nothing to do - jump to real handler
- EXPORT_PC()
- mov r0, rPC @ arg0
- mov r1, rFP @ arg1
- mov r2, rSELF @ arg2
- b dvmCheckBefore @ (dPC,dFP,self) tail call
-
-/* ------------------------------ */
- .balign 64
-.L_ALT_OP_IPUT_VOLATILE_JUMBO: /* 0x1f6 */
-/* File: armv5te/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Note that the call to dvmCheckBefore is done as a tail call.
- * rIBASE updates won't be seen until a refresh, and we can tell we have a
- * stale rIBASE if breakFlags==0. Always refresh rIBASE here, and then
- * bail to the real handler if breakFlags==0.
- */
- ldrb r3, [rSELF, #offThread_breakFlags]
- adrl lr, dvmAsmInstructionStart + (502 * 64)
- ldr rIBASE, [rSELF, #offThread_curHandlerTable]
- cmp r3, #0
- bxeq lr @ nothing to do - jump to real handler
- EXPORT_PC()
- mov r0, rPC @ arg0
- mov r1, rFP @ arg1
- mov r2, rSELF @ arg2
- b dvmCheckBefore @ (dPC,dFP,self) tail call
-
-/* ------------------------------ */
- .balign 64
-.L_ALT_OP_IPUT_WIDE_VOLATILE_JUMBO: /* 0x1f7 */
-/* File: armv5te/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Note that the call to dvmCheckBefore is done as a tail call.
- * rIBASE updates won't be seen until a refresh, and we can tell we have a
- * stale rIBASE if breakFlags==0. Always refresh rIBASE here, and then
- * bail to the real handler if breakFlags==0.
- */
- ldrb r3, [rSELF, #offThread_breakFlags]
- adrl lr, dvmAsmInstructionStart + (503 * 64)
- ldr rIBASE, [rSELF, #offThread_curHandlerTable]
- cmp r3, #0
- bxeq lr @ nothing to do - jump to real handler
- EXPORT_PC()
- mov r0, rPC @ arg0
- mov r1, rFP @ arg1
- mov r2, rSELF @ arg2
- b dvmCheckBefore @ (dPC,dFP,self) tail call
-
-/* ------------------------------ */
- .balign 64
-.L_ALT_OP_IPUT_OBJECT_VOLATILE_JUMBO: /* 0x1f8 */
-/* File: armv5te/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Note that the call to dvmCheckBefore is done as a tail call.
- * rIBASE updates won't be seen until a refresh, and we can tell we have a
- * stale rIBASE if breakFlags==0. Always refresh rIBASE here, and then
- * bail to the real handler if breakFlags==0.
- */
- ldrb r3, [rSELF, #offThread_breakFlags]
- adrl lr, dvmAsmInstructionStart + (504 * 64)
- ldr rIBASE, [rSELF, #offThread_curHandlerTable]
- cmp r3, #0
- bxeq lr @ nothing to do - jump to real handler
- EXPORT_PC()
- mov r0, rPC @ arg0
- mov r1, rFP @ arg1
- mov r2, rSELF @ arg2
- b dvmCheckBefore @ (dPC,dFP,self) tail call
-
-/* ------------------------------ */
- .balign 64
-.L_ALT_OP_SGET_VOLATILE_JUMBO: /* 0x1f9 */
-/* File: armv5te/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Note that the call to dvmCheckBefore is done as a tail call.
- * rIBASE updates won't be seen until a refresh, and we can tell we have a
- * stale rIBASE if breakFlags==0. Always refresh rIBASE here, and then
- * bail to the real handler if breakFlags==0.
- */
- ldrb r3, [rSELF, #offThread_breakFlags]
- adrl lr, dvmAsmInstructionStart + (505 * 64)
- ldr rIBASE, [rSELF, #offThread_curHandlerTable]
- cmp r3, #0
- bxeq lr @ nothing to do - jump to real handler
- EXPORT_PC()
- mov r0, rPC @ arg0
- mov r1, rFP @ arg1
- mov r2, rSELF @ arg2
- b dvmCheckBefore @ (dPC,dFP,self) tail call
-
-/* ------------------------------ */
- .balign 64
-.L_ALT_OP_SGET_WIDE_VOLATILE_JUMBO: /* 0x1fa */
-/* File: armv5te/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Note that the call to dvmCheckBefore is done as a tail call.
- * rIBASE updates won't be seen until a refresh, and we can tell we have a
- * stale rIBASE if breakFlags==0. Always refresh rIBASE here, and then
- * bail to the real handler if breakFlags==0.
- */
- ldrb r3, [rSELF, #offThread_breakFlags]
- adrl lr, dvmAsmInstructionStart + (506 * 64)
- ldr rIBASE, [rSELF, #offThread_curHandlerTable]
- cmp r3, #0
- bxeq lr @ nothing to do - jump to real handler
- EXPORT_PC()
- mov r0, rPC @ arg0
- mov r1, rFP @ arg1
- mov r2, rSELF @ arg2
- b dvmCheckBefore @ (dPC,dFP,self) tail call
-
-/* ------------------------------ */
- .balign 64
-.L_ALT_OP_SGET_OBJECT_VOLATILE_JUMBO: /* 0x1fb */
-/* File: armv5te/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Note that the call to dvmCheckBefore is done as a tail call.
- * rIBASE updates won't be seen until a refresh, and we can tell we have a
- * stale rIBASE if breakFlags==0. Always refresh rIBASE here, and then
- * bail to the real handler if breakFlags==0.
- */
- ldrb r3, [rSELF, #offThread_breakFlags]
- adrl lr, dvmAsmInstructionStart + (507 * 64)
- ldr rIBASE, [rSELF, #offThread_curHandlerTable]
- cmp r3, #0
- bxeq lr @ nothing to do - jump to real handler
- EXPORT_PC()
- mov r0, rPC @ arg0
- mov r1, rFP @ arg1
- mov r2, rSELF @ arg2
- b dvmCheckBefore @ (dPC,dFP,self) tail call
-
-/* ------------------------------ */
- .balign 64
-.L_ALT_OP_SPUT_VOLATILE_JUMBO: /* 0x1fc */
-/* File: armv5te/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Note that the call to dvmCheckBefore is done as a tail call.
- * rIBASE updates won't be seen until a refresh, and we can tell we have a
- * stale rIBASE if breakFlags==0. Always refresh rIBASE here, and then
- * bail to the real handler if breakFlags==0.
- */
- ldrb r3, [rSELF, #offThread_breakFlags]
- adrl lr, dvmAsmInstructionStart + (508 * 64)
- ldr rIBASE, [rSELF, #offThread_curHandlerTable]
- cmp r3, #0
- bxeq lr @ nothing to do - jump to real handler
- EXPORT_PC()
- mov r0, rPC @ arg0
- mov r1, rFP @ arg1
- mov r2, rSELF @ arg2
- b dvmCheckBefore @ (dPC,dFP,self) tail call
-
-/* ------------------------------ */
- .balign 64
-.L_ALT_OP_SPUT_WIDE_VOLATILE_JUMBO: /* 0x1fd */
-/* File: armv5te/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Note that the call to dvmCheckBefore is done as a tail call.
- * rIBASE updates won't be seen until a refresh, and we can tell we have a
- * stale rIBASE if breakFlags==0. Always refresh rIBASE here, and then
- * bail to the real handler if breakFlags==0.
- */
- ldrb r3, [rSELF, #offThread_breakFlags]
- adrl lr, dvmAsmInstructionStart + (509 * 64)
- ldr rIBASE, [rSELF, #offThread_curHandlerTable]
- cmp r3, #0
- bxeq lr @ nothing to do - jump to real handler
- EXPORT_PC()
- mov r0, rPC @ arg0
- mov r1, rFP @ arg1
- mov r2, rSELF @ arg2
- b dvmCheckBefore @ (dPC,dFP,self) tail call
-
-/* ------------------------------ */
- .balign 64
-.L_ALT_OP_SPUT_OBJECT_VOLATILE_JUMBO: /* 0x1fe */
-/* File: armv5te/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Note that the call to dvmCheckBefore is done as a tail call.
- * rIBASE updates won't be seen until a refresh, and we can tell we have a
- * stale rIBASE if breakFlags==0. Always refresh rIBASE here, and then
- * bail to the real handler if breakFlags==0.
- */
- ldrb r3, [rSELF, #offThread_breakFlags]
- adrl lr, dvmAsmInstructionStart + (510 * 64)
- ldr rIBASE, [rSELF, #offThread_curHandlerTable]
- cmp r3, #0
- bxeq lr @ nothing to do - jump to real handler
- EXPORT_PC()
- mov r0, rPC @ arg0
- mov r1, rFP @ arg1
- mov r2, rSELF @ arg2
- b dvmCheckBefore @ (dPC,dFP,self) tail call
-
-/* ------------------------------ */
- .balign 64
-.L_ALT_OP_THROW_VERIFICATION_ERROR_JUMBO: /* 0x1ff */
-/* File: armv5te/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Note that the call to dvmCheckBefore is done as a tail call.
- * rIBASE updates won't be seen until a refresh, and we can tell we have a
- * stale rIBASE if breakFlags==0. Always refresh rIBASE here, and then
- * bail to the real handler if breakFlags==0.
- */
- ldrb r3, [rSELF, #offThread_breakFlags]
- adrl lr, dvmAsmInstructionStart + (511 * 64)
+ adrl lr, dvmAsmInstructionStart + (255 * 64)
ldr rIBASE, [rSELF, #offThread_curHandlerTable]
cmp r3, #0
bxeq lr @ nothing to do - jump to real handler
@@ -26631,35 +16046,6 @@ save_callsiteinfo:
#endif
/*
- * Common code for jumbo method invocation.
- * NOTE: this adjusts rPC to account for the difference in instruction width.
- * As a result, the savedPc in the stack frame will not be wholly accurate. So
- * long as that is only used for source file line number calculations, we're
- * okay.
- */
-common_invokeMethodJumboNoThis:
-#if defined(WITH_JIT)
- /* On entry: r0 is "Method* methodToCall */
- mov r9, #0 @ clear "this"
-#endif
-common_invokeMethodJumbo:
- /* On entry: r0 is "Method* methodToCall, r9 is "this" */
-.LinvokeNewJumbo:
-#if defined(WITH_JIT)
- ldrh r1, [rSELF, #offThread_subMode]
- ands r1, #kSubModeJitTraceBuild
- blne save_callsiteinfo
-#endif
- @ prepare to copy args to "outs" area of current frame
- add rPC, rPC, #4 @ adjust pc to make return consistent
- FETCH(r2, 1) @ r2<- BBBB (arg count)
- SAVEAREA_FROM_FP(r10, rFP) @ r10<- stack save area
- cmp r2, #0 @ no args?
- beq .LinvokeArgsDone @ if no args, skip the rest
- FETCH(r1, 2) @ r1<- CCCC
- b .LinvokeRangeArgs @ handle args like invoke range
-
-/*
* Common code for method invocation with range.
*
* On entry:
diff --git a/vm/mterp/out/InterpAsm-x86-atom.S b/vm/mterp/out/InterpAsm-x86-atom.S
index e7ca17c32..aa27f89f4 100644
--- a/vm/mterp/out/InterpAsm-x86-atom.S
+++ b/vm/mterp/out/InterpAsm-x86-atom.S
@@ -15271,8 +15271,8 @@ OP_IF_LEZ_2f:
FINISH_A # jump to next instruction
/* ------------------------------ */
.balign 64
-.L_OP_DISPATCH_FF: /* 0xff */
-/* File: x86-atom/OP_DISPATCH_FF.S */
+.L_OP_UNUSED_FF: /* 0xff */
+/* File: x86-atom/OP_UNUSED_FF.S */
/* Copyright (C) 2008 The Android Open Source Project
*
* Licensed under the Apache License, Version 2.0 (the "License");
@@ -15288,9365 +15288,6 @@ OP_IF_LEZ_2f:
* limitations under the License.
*/
- /*
- * File: OP_DISPATCH_FF.S
- */
-
-/* File: x86-atom/unused.S */
- /* Copyright (C) 2008 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
- /*
- * File: unused.S
- *
- * Code: Common code for unused bytecodes. Uses no subtitutions.
- *
- * For: all unused bytecodes
- *
- * Description: aborts if executed.
- *
- * Format: ØØ|op (10x)
- *
- * Syntax: op
- */
-
- call common_abort
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_CONST_CLASS_JUMBO: /* 0x100 */
-/* File: x86-atom/OP_CONST_CLASS_JUMBO.S */
-/* File: x86-atom/unused.S */
- /* Copyright (C) 2008 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
- /*
- * File: unused.S
- *
- * Code: Common code for unused bytecodes. Uses no subtitutions.
- *
- * For: all unused bytecodes
- *
- * Description: aborts if executed.
- *
- * Format: ØØ|op (10x)
- *
- * Syntax: op
- */
-
- call common_abort
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_CHECK_CAST_JUMBO: /* 0x101 */
-/* File: x86-atom/OP_CHECK_CAST_JUMBO.S */
-/* File: x86-atom/unused.S */
- /* Copyright (C) 2008 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
- /*
- * File: unused.S
- *
- * Code: Common code for unused bytecodes. Uses no subtitutions.
- *
- * For: all unused bytecodes
- *
- * Description: aborts if executed.
- *
- * Format: ØØ|op (10x)
- *
- * Syntax: op
- */
-
- call common_abort
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_INSTANCE_OF_JUMBO: /* 0x102 */
-/* File: x86-atom/OP_INSTANCE_OF_JUMBO.S */
-/* File: x86-atom/unused.S */
- /* Copyright (C) 2008 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
- /*
- * File: unused.S
- *
- * Code: Common code for unused bytecodes. Uses no subtitutions.
- *
- * For: all unused bytecodes
- *
- * Description: aborts if executed.
- *
- * Format: ØØ|op (10x)
- *
- * Syntax: op
- */
-
- call common_abort
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_NEW_INSTANCE_JUMBO: /* 0x103 */
-/* File: x86-atom/OP_NEW_INSTANCE_JUMBO.S */
-/* File: x86-atom/unused.S */
- /* Copyright (C) 2008 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
- /*
- * File: unused.S
- *
- * Code: Common code for unused bytecodes. Uses no subtitutions.
- *
- * For: all unused bytecodes
- *
- * Description: aborts if executed.
- *
- * Format: ØØ|op (10x)
- *
- * Syntax: op
- */
-
- call common_abort
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_NEW_ARRAY_JUMBO: /* 0x104 */
-/* File: x86-atom/OP_NEW_ARRAY_JUMBO.S */
-/* File: x86-atom/unused.S */
- /* Copyright (C) 2008 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
- /*
- * File: unused.S
- *
- * Code: Common code for unused bytecodes. Uses no subtitutions.
- *
- * For: all unused bytecodes
- *
- * Description: aborts if executed.
- *
- * Format: ØØ|op (10x)
- *
- * Syntax: op
- */
-
- call common_abort
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_FILLED_NEW_ARRAY_JUMBO: /* 0x105 */
-/* File: x86-atom/OP_FILLED_NEW_ARRAY_JUMBO.S */
-/* File: x86-atom/unused.S */
- /* Copyright (C) 2008 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
- /*
- * File: unused.S
- *
- * Code: Common code for unused bytecodes. Uses no subtitutions.
- *
- * For: all unused bytecodes
- *
- * Description: aborts if executed.
- *
- * Format: ØØ|op (10x)
- *
- * Syntax: op
- */
-
- call common_abort
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_IGET_JUMBO: /* 0x106 */
-/* File: x86-atom/OP_IGET_JUMBO.S */
-/* File: x86-atom/unused.S */
- /* Copyright (C) 2008 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
- /*
- * File: unused.S
- *
- * Code: Common code for unused bytecodes. Uses no subtitutions.
- *
- * For: all unused bytecodes
- *
- * Description: aborts if executed.
- *
- * Format: ØØ|op (10x)
- *
- * Syntax: op
- */
-
- call common_abort
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_IGET_WIDE_JUMBO: /* 0x107 */
-/* File: x86-atom/OP_IGET_WIDE_JUMBO.S */
-/* File: x86-atom/unused.S */
- /* Copyright (C) 2008 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
- /*
- * File: unused.S
- *
- * Code: Common code for unused bytecodes. Uses no subtitutions.
- *
- * For: all unused bytecodes
- *
- * Description: aborts if executed.
- *
- * Format: ØØ|op (10x)
- *
- * Syntax: op
- */
-
- call common_abort
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_IGET_OBJECT_JUMBO: /* 0x108 */
-/* File: x86-atom/OP_IGET_OBJECT_JUMBO.S */
-/* File: x86-atom/unused.S */
- /* Copyright (C) 2008 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
- /*
- * File: unused.S
- *
- * Code: Common code for unused bytecodes. Uses no subtitutions.
- *
- * For: all unused bytecodes
- *
- * Description: aborts if executed.
- *
- * Format: ØØ|op (10x)
- *
- * Syntax: op
- */
-
- call common_abort
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_IGET_BOOLEAN_JUMBO: /* 0x109 */
-/* File: x86-atom/OP_IGET_BOOLEAN_JUMBO.S */
-/* File: x86-atom/unused.S */
- /* Copyright (C) 2008 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
- /*
- * File: unused.S
- *
- * Code: Common code for unused bytecodes. Uses no subtitutions.
- *
- * For: all unused bytecodes
- *
- * Description: aborts if executed.
- *
- * Format: ØØ|op (10x)
- *
- * Syntax: op
- */
-
- call common_abort
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_IGET_BYTE_JUMBO: /* 0x10a */
-/* File: x86-atom/OP_IGET_BYTE_JUMBO.S */
-/* File: x86-atom/unused.S */
- /* Copyright (C) 2008 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
- /*
- * File: unused.S
- *
- * Code: Common code for unused bytecodes. Uses no subtitutions.
- *
- * For: all unused bytecodes
- *
- * Description: aborts if executed.
- *
- * Format: ØØ|op (10x)
- *
- * Syntax: op
- */
-
- call common_abort
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_IGET_CHAR_JUMBO: /* 0x10b */
-/* File: x86-atom/OP_IGET_CHAR_JUMBO.S */
-/* File: x86-atom/unused.S */
- /* Copyright (C) 2008 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
- /*
- * File: unused.S
- *
- * Code: Common code for unused bytecodes. Uses no subtitutions.
- *
- * For: all unused bytecodes
- *
- * Description: aborts if executed.
- *
- * Format: ØØ|op (10x)
- *
- * Syntax: op
- */
-
- call common_abort
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_IGET_SHORT_JUMBO: /* 0x10c */
-/* File: x86-atom/OP_IGET_SHORT_JUMBO.S */
-/* File: x86-atom/unused.S */
- /* Copyright (C) 2008 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
- /*
- * File: unused.S
- *
- * Code: Common code for unused bytecodes. Uses no subtitutions.
- *
- * For: all unused bytecodes
- *
- * Description: aborts if executed.
- *
- * Format: ØØ|op (10x)
- *
- * Syntax: op
- */
-
- call common_abort
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_IPUT_JUMBO: /* 0x10d */
-/* File: x86-atom/OP_IPUT_JUMBO.S */
-/* File: x86-atom/unused.S */
- /* Copyright (C) 2008 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
- /*
- * File: unused.S
- *
- * Code: Common code for unused bytecodes. Uses no subtitutions.
- *
- * For: all unused bytecodes
- *
- * Description: aborts if executed.
- *
- * Format: ØØ|op (10x)
- *
- * Syntax: op
- */
-
- call common_abort
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_IPUT_WIDE_JUMBO: /* 0x10e */
-/* File: x86-atom/OP_IPUT_WIDE_JUMBO.S */
-/* File: x86-atom/unused.S */
- /* Copyright (C) 2008 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
- /*
- * File: unused.S
- *
- * Code: Common code for unused bytecodes. Uses no subtitutions.
- *
- * For: all unused bytecodes
- *
- * Description: aborts if executed.
- *
- * Format: ØØ|op (10x)
- *
- * Syntax: op
- */
-
- call common_abort
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_IPUT_OBJECT_JUMBO: /* 0x10f */
-/* File: x86-atom/OP_IPUT_OBJECT_JUMBO.S */
-/* File: x86-atom/unused.S */
- /* Copyright (C) 2008 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
- /*
- * File: unused.S
- *
- * Code: Common code for unused bytecodes. Uses no subtitutions.
- *
- * For: all unused bytecodes
- *
- * Description: aborts if executed.
- *
- * Format: ØØ|op (10x)
- *
- * Syntax: op
- */
-
- call common_abort
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_IPUT_BOOLEAN_JUMBO: /* 0x110 */
-/* File: x86-atom/OP_IPUT_BOOLEAN_JUMBO.S */
-/* File: x86-atom/unused.S */
- /* Copyright (C) 2008 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
- /*
- * File: unused.S
- *
- * Code: Common code for unused bytecodes. Uses no subtitutions.
- *
- * For: all unused bytecodes
- *
- * Description: aborts if executed.
- *
- * Format: ØØ|op (10x)
- *
- * Syntax: op
- */
-
- call common_abort
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_IPUT_BYTE_JUMBO: /* 0x111 */
-/* File: x86-atom/OP_IPUT_BYTE_JUMBO.S */
-/* File: x86-atom/unused.S */
- /* Copyright (C) 2008 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
- /*
- * File: unused.S
- *
- * Code: Common code for unused bytecodes. Uses no subtitutions.
- *
- * For: all unused bytecodes
- *
- * Description: aborts if executed.
- *
- * Format: ØØ|op (10x)
- *
- * Syntax: op
- */
-
- call common_abort
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_IPUT_CHAR_JUMBO: /* 0x112 */
-/* File: x86-atom/OP_IPUT_CHAR_JUMBO.S */
-/* File: x86-atom/unused.S */
- /* Copyright (C) 2008 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
- /*
- * File: unused.S
- *
- * Code: Common code for unused bytecodes. Uses no subtitutions.
- *
- * For: all unused bytecodes
- *
- * Description: aborts if executed.
- *
- * Format: ØØ|op (10x)
- *
- * Syntax: op
- */
-
- call common_abort
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_IPUT_SHORT_JUMBO: /* 0x113 */
-/* File: x86-atom/OP_IPUT_SHORT_JUMBO.S */
-/* File: x86-atom/unused.S */
- /* Copyright (C) 2008 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
- /*
- * File: unused.S
- *
- * Code: Common code for unused bytecodes. Uses no subtitutions.
- *
- * For: all unused bytecodes
- *
- * Description: aborts if executed.
- *
- * Format: ØØ|op (10x)
- *
- * Syntax: op
- */
-
- call common_abort
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_SGET_JUMBO: /* 0x114 */
-/* File: x86-atom/OP_SGET_JUMBO.S */
-/* File: x86-atom/unused.S */
- /* Copyright (C) 2008 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
- /*
- * File: unused.S
- *
- * Code: Common code for unused bytecodes. Uses no subtitutions.
- *
- * For: all unused bytecodes
- *
- * Description: aborts if executed.
- *
- * Format: ØØ|op (10x)
- *
- * Syntax: op
- */
-
- call common_abort
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_SGET_WIDE_JUMBO: /* 0x115 */
-/* File: x86-atom/OP_SGET_WIDE_JUMBO.S */
-/* File: x86-atom/unused.S */
- /* Copyright (C) 2008 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
- /*
- * File: unused.S
- *
- * Code: Common code for unused bytecodes. Uses no subtitutions.
- *
- * For: all unused bytecodes
- *
- * Description: aborts if executed.
- *
- * Format: ØØ|op (10x)
- *
- * Syntax: op
- */
-
- call common_abort
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_SGET_OBJECT_JUMBO: /* 0x116 */
-/* File: x86-atom/OP_SGET_OBJECT_JUMBO.S */
-/* File: x86-atom/unused.S */
- /* Copyright (C) 2008 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
- /*
- * File: unused.S
- *
- * Code: Common code for unused bytecodes. Uses no subtitutions.
- *
- * For: all unused bytecodes
- *
- * Description: aborts if executed.
- *
- * Format: ØØ|op (10x)
- *
- * Syntax: op
- */
-
- call common_abort
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_SGET_BOOLEAN_JUMBO: /* 0x117 */
-/* File: x86-atom/OP_SGET_BOOLEAN_JUMBO.S */
-/* File: x86-atom/unused.S */
- /* Copyright (C) 2008 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
- /*
- * File: unused.S
- *
- * Code: Common code for unused bytecodes. Uses no subtitutions.
- *
- * For: all unused bytecodes
- *
- * Description: aborts if executed.
- *
- * Format: ØØ|op (10x)
- *
- * Syntax: op
- */
-
- call common_abort
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_SGET_BYTE_JUMBO: /* 0x118 */
-/* File: x86-atom/OP_SGET_BYTE_JUMBO.S */
-/* File: x86-atom/unused.S */
- /* Copyright (C) 2008 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
- /*
- * File: unused.S
- *
- * Code: Common code for unused bytecodes. Uses no subtitutions.
- *
- * For: all unused bytecodes
- *
- * Description: aborts if executed.
- *
- * Format: ØØ|op (10x)
- *
- * Syntax: op
- */
-
- call common_abort
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_SGET_CHAR_JUMBO: /* 0x119 */
-/* File: x86-atom/OP_SGET_CHAR_JUMBO.S */
-/* File: x86-atom/unused.S */
- /* Copyright (C) 2008 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
- /*
- * File: unused.S
- *
- * Code: Common code for unused bytecodes. Uses no subtitutions.
- *
- * For: all unused bytecodes
- *
- * Description: aborts if executed.
- *
- * Format: ØØ|op (10x)
- *
- * Syntax: op
- */
-
- call common_abort
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_SGET_SHORT_JUMBO: /* 0x11a */
-/* File: x86-atom/OP_SGET_SHORT_JUMBO.S */
-/* File: x86-atom/unused.S */
- /* Copyright (C) 2008 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
- /*
- * File: unused.S
- *
- * Code: Common code for unused bytecodes. Uses no subtitutions.
- *
- * For: all unused bytecodes
- *
- * Description: aborts if executed.
- *
- * Format: ØØ|op (10x)
- *
- * Syntax: op
- */
-
- call common_abort
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_SPUT_JUMBO: /* 0x11b */
-/* File: x86-atom/OP_SPUT_JUMBO.S */
-/* File: x86-atom/unused.S */
- /* Copyright (C) 2008 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
- /*
- * File: unused.S
- *
- * Code: Common code for unused bytecodes. Uses no subtitutions.
- *
- * For: all unused bytecodes
- *
- * Description: aborts if executed.
- *
- * Format: ØØ|op (10x)
- *
- * Syntax: op
- */
-
- call common_abort
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_SPUT_WIDE_JUMBO: /* 0x11c */
-/* File: x86-atom/OP_SPUT_WIDE_JUMBO.S */
-/* File: x86-atom/unused.S */
- /* Copyright (C) 2008 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
- /*
- * File: unused.S
- *
- * Code: Common code for unused bytecodes. Uses no subtitutions.
- *
- * For: all unused bytecodes
- *
- * Description: aborts if executed.
- *
- * Format: ØØ|op (10x)
- *
- * Syntax: op
- */
-
- call common_abort
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_SPUT_OBJECT_JUMBO: /* 0x11d */
-/* File: x86-atom/OP_SPUT_OBJECT_JUMBO.S */
-/* File: x86-atom/unused.S */
- /* Copyright (C) 2008 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
- /*
- * File: unused.S
- *
- * Code: Common code for unused bytecodes. Uses no subtitutions.
- *
- * For: all unused bytecodes
- *
- * Description: aborts if executed.
- *
- * Format: ØØ|op (10x)
- *
- * Syntax: op
- */
-
- call common_abort
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_SPUT_BOOLEAN_JUMBO: /* 0x11e */
-/* File: x86-atom/OP_SPUT_BOOLEAN_JUMBO.S */
-/* File: x86-atom/unused.S */
- /* Copyright (C) 2008 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
- /*
- * File: unused.S
- *
- * Code: Common code for unused bytecodes. Uses no subtitutions.
- *
- * For: all unused bytecodes
- *
- * Description: aborts if executed.
- *
- * Format: ØØ|op (10x)
- *
- * Syntax: op
- */
-
- call common_abort
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_SPUT_BYTE_JUMBO: /* 0x11f */
-/* File: x86-atom/OP_SPUT_BYTE_JUMBO.S */
-/* File: x86-atom/unused.S */
- /* Copyright (C) 2008 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
- /*
- * File: unused.S
- *
- * Code: Common code for unused bytecodes. Uses no subtitutions.
- *
- * For: all unused bytecodes
- *
- * Description: aborts if executed.
- *
- * Format: ØØ|op (10x)
- *
- * Syntax: op
- */
-
- call common_abort
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_SPUT_CHAR_JUMBO: /* 0x120 */
-/* File: x86-atom/OP_SPUT_CHAR_JUMBO.S */
-/* File: x86-atom/unused.S */
- /* Copyright (C) 2008 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
- /*
- * File: unused.S
- *
- * Code: Common code for unused bytecodes. Uses no subtitutions.
- *
- * For: all unused bytecodes
- *
- * Description: aborts if executed.
- *
- * Format: ØØ|op (10x)
- *
- * Syntax: op
- */
-
- call common_abort
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_SPUT_SHORT_JUMBO: /* 0x121 */
-/* File: x86-atom/OP_SPUT_SHORT_JUMBO.S */
-/* File: x86-atom/unused.S */
- /* Copyright (C) 2008 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
- /*
- * File: unused.S
- *
- * Code: Common code for unused bytecodes. Uses no subtitutions.
- *
- * For: all unused bytecodes
- *
- * Description: aborts if executed.
- *
- * Format: ØØ|op (10x)
- *
- * Syntax: op
- */
-
- call common_abort
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_INVOKE_VIRTUAL_JUMBO: /* 0x122 */
-/* File: x86-atom/OP_INVOKE_VIRTUAL_JUMBO.S */
-/* File: x86-atom/unused.S */
- /* Copyright (C) 2008 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
- /*
- * File: unused.S
- *
- * Code: Common code for unused bytecodes. Uses no subtitutions.
- *
- * For: all unused bytecodes
- *
- * Description: aborts if executed.
- *
- * Format: ØØ|op (10x)
- *
- * Syntax: op
- */
-
- call common_abort
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_INVOKE_SUPER_JUMBO: /* 0x123 */
-/* File: x86-atom/OP_INVOKE_SUPER_JUMBO.S */
-/* File: x86-atom/unused.S */
- /* Copyright (C) 2008 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
- /*
- * File: unused.S
- *
- * Code: Common code for unused bytecodes. Uses no subtitutions.
- *
- * For: all unused bytecodes
- *
- * Description: aborts if executed.
- *
- * Format: ØØ|op (10x)
- *
- * Syntax: op
- */
-
- call common_abort
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_INVOKE_DIRECT_JUMBO: /* 0x124 */
-/* File: x86-atom/OP_INVOKE_DIRECT_JUMBO.S */
-/* File: x86-atom/unused.S */
- /* Copyright (C) 2008 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
- /*
- * File: unused.S
- *
- * Code: Common code for unused bytecodes. Uses no subtitutions.
- *
- * For: all unused bytecodes
- *
- * Description: aborts if executed.
- *
- * Format: ØØ|op (10x)
- *
- * Syntax: op
- */
-
- call common_abort
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_INVOKE_STATIC_JUMBO: /* 0x125 */
-/* File: x86-atom/OP_INVOKE_STATIC_JUMBO.S */
-/* File: x86-atom/unused.S */
- /* Copyright (C) 2008 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
- /*
- * File: unused.S
- *
- * Code: Common code for unused bytecodes. Uses no subtitutions.
- *
- * For: all unused bytecodes
- *
- * Description: aborts if executed.
- *
- * Format: ØØ|op (10x)
- *
- * Syntax: op
- */
-
- call common_abort
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_INVOKE_INTERFACE_JUMBO: /* 0x126 */
-/* File: x86-atom/OP_INVOKE_INTERFACE_JUMBO.S */
-/* File: x86-atom/unused.S */
- /* Copyright (C) 2008 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
- /*
- * File: unused.S
- *
- * Code: Common code for unused bytecodes. Uses no subtitutions.
- *
- * For: all unused bytecodes
- *
- * Description: aborts if executed.
- *
- * Format: ØØ|op (10x)
- *
- * Syntax: op
- */
-
- call common_abort
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_UNUSED_27FF: /* 0x127 */
-/* File: x86-atom/OP_UNUSED_27FF.S */
-/* File: x86-atom/unused.S */
- /* Copyright (C) 2008 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
- /*
- * File: unused.S
- *
- * Code: Common code for unused bytecodes. Uses no subtitutions.
- *
- * For: all unused bytecodes
- *
- * Description: aborts if executed.
- *
- * Format: ØØ|op (10x)
- *
- * Syntax: op
- */
-
- call common_abort
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_UNUSED_28FF: /* 0x128 */
-/* File: x86-atom/OP_UNUSED_28FF.S */
-/* File: x86-atom/unused.S */
- /* Copyright (C) 2008 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
- /*
- * File: unused.S
- *
- * Code: Common code for unused bytecodes. Uses no subtitutions.
- *
- * For: all unused bytecodes
- *
- * Description: aborts if executed.
- *
- * Format: ØØ|op (10x)
- *
- * Syntax: op
- */
-
- call common_abort
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_UNUSED_29FF: /* 0x129 */
-/* File: x86-atom/OP_UNUSED_29FF.S */
-/* File: x86-atom/unused.S */
- /* Copyright (C) 2008 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
- /*
- * File: unused.S
- *
- * Code: Common code for unused bytecodes. Uses no subtitutions.
- *
- * For: all unused bytecodes
- *
- * Description: aborts if executed.
- *
- * Format: ØØ|op (10x)
- *
- * Syntax: op
- */
-
- call common_abort
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_UNUSED_2AFF: /* 0x12a */
-/* File: x86-atom/OP_UNUSED_2AFF.S */
-/* File: x86-atom/unused.S */
- /* Copyright (C) 2008 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
- /*
- * File: unused.S
- *
- * Code: Common code for unused bytecodes. Uses no subtitutions.
- *
- * For: all unused bytecodes
- *
- * Description: aborts if executed.
- *
- * Format: ØØ|op (10x)
- *
- * Syntax: op
- */
-
- call common_abort
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_UNUSED_2BFF: /* 0x12b */
-/* File: x86-atom/OP_UNUSED_2BFF.S */
-/* File: x86-atom/unused.S */
- /* Copyright (C) 2008 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
- /*
- * File: unused.S
- *
- * Code: Common code for unused bytecodes. Uses no subtitutions.
- *
- * For: all unused bytecodes
- *
- * Description: aborts if executed.
- *
- * Format: ØØ|op (10x)
- *
- * Syntax: op
- */
-
- call common_abort
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_UNUSED_2CFF: /* 0x12c */
-/* File: x86-atom/OP_UNUSED_2CFF.S */
-/* File: x86-atom/unused.S */
- /* Copyright (C) 2008 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
- /*
- * File: unused.S
- *
- * Code: Common code for unused bytecodes. Uses no subtitutions.
- *
- * For: all unused bytecodes
- *
- * Description: aborts if executed.
- *
- * Format: ØØ|op (10x)
- *
- * Syntax: op
- */
-
- call common_abort
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_UNUSED_2DFF: /* 0x12d */
-/* File: x86-atom/OP_UNUSED_2DFF.S */
-/* File: x86-atom/unused.S */
- /* Copyright (C) 2008 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
- /*
- * File: unused.S
- *
- * Code: Common code for unused bytecodes. Uses no subtitutions.
- *
- * For: all unused bytecodes
- *
- * Description: aborts if executed.
- *
- * Format: ØØ|op (10x)
- *
- * Syntax: op
- */
-
- call common_abort
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_UNUSED_2EFF: /* 0x12e */
-/* File: x86-atom/OP_UNUSED_2EFF.S */
-/* File: x86-atom/unused.S */
- /* Copyright (C) 2008 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
- /*
- * File: unused.S
- *
- * Code: Common code for unused bytecodes. Uses no subtitutions.
- *
- * For: all unused bytecodes
- *
- * Description: aborts if executed.
- *
- * Format: ØØ|op (10x)
- *
- * Syntax: op
- */
-
- call common_abort
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_UNUSED_2FFF: /* 0x12f */
-/* File: x86-atom/OP_UNUSED_2FFF.S */
-/* File: x86-atom/unused.S */
- /* Copyright (C) 2008 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
- /*
- * File: unused.S
- *
- * Code: Common code for unused bytecodes. Uses no subtitutions.
- *
- * For: all unused bytecodes
- *
- * Description: aborts if executed.
- *
- * Format: ØØ|op (10x)
- *
- * Syntax: op
- */
-
- call common_abort
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_UNUSED_30FF: /* 0x130 */
-/* File: x86-atom/OP_UNUSED_30FF.S */
-/* File: x86-atom/unused.S */
- /* Copyright (C) 2008 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
- /*
- * File: unused.S
- *
- * Code: Common code for unused bytecodes. Uses no subtitutions.
- *
- * For: all unused bytecodes
- *
- * Description: aborts if executed.
- *
- * Format: ØØ|op (10x)
- *
- * Syntax: op
- */
-
- call common_abort
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_UNUSED_31FF: /* 0x131 */
-/* File: x86-atom/OP_UNUSED_31FF.S */
-/* File: x86-atom/unused.S */
- /* Copyright (C) 2008 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
- /*
- * File: unused.S
- *
- * Code: Common code for unused bytecodes. Uses no subtitutions.
- *
- * For: all unused bytecodes
- *
- * Description: aborts if executed.
- *
- * Format: ØØ|op (10x)
- *
- * Syntax: op
- */
-
- call common_abort
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_UNUSED_32FF: /* 0x132 */
-/* File: x86-atom/OP_UNUSED_32FF.S */
-/* File: x86-atom/unused.S */
- /* Copyright (C) 2008 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
- /*
- * File: unused.S
- *
- * Code: Common code for unused bytecodes. Uses no subtitutions.
- *
- * For: all unused bytecodes
- *
- * Description: aborts if executed.
- *
- * Format: ØØ|op (10x)
- *
- * Syntax: op
- */
-
- call common_abort
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_UNUSED_33FF: /* 0x133 */
-/* File: x86-atom/OP_UNUSED_33FF.S */
-/* File: x86-atom/unused.S */
- /* Copyright (C) 2008 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
- /*
- * File: unused.S
- *
- * Code: Common code for unused bytecodes. Uses no subtitutions.
- *
- * For: all unused bytecodes
- *
- * Description: aborts if executed.
- *
- * Format: ØØ|op (10x)
- *
- * Syntax: op
- */
-
- call common_abort
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_UNUSED_34FF: /* 0x134 */
-/* File: x86-atom/OP_UNUSED_34FF.S */
-/* File: x86-atom/unused.S */
- /* Copyright (C) 2008 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
- /*
- * File: unused.S
- *
- * Code: Common code for unused bytecodes. Uses no subtitutions.
- *
- * For: all unused bytecodes
- *
- * Description: aborts if executed.
- *
- * Format: ØØ|op (10x)
- *
- * Syntax: op
- */
-
- call common_abort
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_UNUSED_35FF: /* 0x135 */
-/* File: x86-atom/OP_UNUSED_35FF.S */
-/* File: x86-atom/unused.S */
- /* Copyright (C) 2008 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
- /*
- * File: unused.S
- *
- * Code: Common code for unused bytecodes. Uses no subtitutions.
- *
- * For: all unused bytecodes
- *
- * Description: aborts if executed.
- *
- * Format: ØØ|op (10x)
- *
- * Syntax: op
- */
-
- call common_abort
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_UNUSED_36FF: /* 0x136 */
-/* File: x86-atom/OP_UNUSED_36FF.S */
-/* File: x86-atom/unused.S */
- /* Copyright (C) 2008 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
- /*
- * File: unused.S
- *
- * Code: Common code for unused bytecodes. Uses no subtitutions.
- *
- * For: all unused bytecodes
- *
- * Description: aborts if executed.
- *
- * Format: ØØ|op (10x)
- *
- * Syntax: op
- */
-
- call common_abort
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_UNUSED_37FF: /* 0x137 */
-/* File: x86-atom/OP_UNUSED_37FF.S */
-/* File: x86-atom/unused.S */
- /* Copyright (C) 2008 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
- /*
- * File: unused.S
- *
- * Code: Common code for unused bytecodes. Uses no subtitutions.
- *
- * For: all unused bytecodes
- *
- * Description: aborts if executed.
- *
- * Format: ØØ|op (10x)
- *
- * Syntax: op
- */
-
- call common_abort
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_UNUSED_38FF: /* 0x138 */
-/* File: x86-atom/OP_UNUSED_38FF.S */
-/* File: x86-atom/unused.S */
- /* Copyright (C) 2008 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
- /*
- * File: unused.S
- *
- * Code: Common code for unused bytecodes. Uses no subtitutions.
- *
- * For: all unused bytecodes
- *
- * Description: aborts if executed.
- *
- * Format: ØØ|op (10x)
- *
- * Syntax: op
- */
-
- call common_abort
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_UNUSED_39FF: /* 0x139 */
-/* File: x86-atom/OP_UNUSED_39FF.S */
-/* File: x86-atom/unused.S */
- /* Copyright (C) 2008 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
- /*
- * File: unused.S
- *
- * Code: Common code for unused bytecodes. Uses no subtitutions.
- *
- * For: all unused bytecodes
- *
- * Description: aborts if executed.
- *
- * Format: ØØ|op (10x)
- *
- * Syntax: op
- */
-
- call common_abort
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_UNUSED_3AFF: /* 0x13a */
-/* File: x86-atom/OP_UNUSED_3AFF.S */
-/* File: x86-atom/unused.S */
- /* Copyright (C) 2008 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
- /*
- * File: unused.S
- *
- * Code: Common code for unused bytecodes. Uses no subtitutions.
- *
- * For: all unused bytecodes
- *
- * Description: aborts if executed.
- *
- * Format: ØØ|op (10x)
- *
- * Syntax: op
- */
-
- call common_abort
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_UNUSED_3BFF: /* 0x13b */
-/* File: x86-atom/OP_UNUSED_3BFF.S */
-/* File: x86-atom/unused.S */
- /* Copyright (C) 2008 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
- /*
- * File: unused.S
- *
- * Code: Common code for unused bytecodes. Uses no subtitutions.
- *
- * For: all unused bytecodes
- *
- * Description: aborts if executed.
- *
- * Format: ØØ|op (10x)
- *
- * Syntax: op
- */
-
- call common_abort
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_UNUSED_3CFF: /* 0x13c */
-/* File: x86-atom/OP_UNUSED_3CFF.S */
-/* File: x86-atom/unused.S */
- /* Copyright (C) 2008 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
- /*
- * File: unused.S
- *
- * Code: Common code for unused bytecodes. Uses no subtitutions.
- *
- * For: all unused bytecodes
- *
- * Description: aborts if executed.
- *
- * Format: ØØ|op (10x)
- *
- * Syntax: op
- */
-
- call common_abort
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_UNUSED_3DFF: /* 0x13d */
-/* File: x86-atom/OP_UNUSED_3DFF.S */
-/* File: x86-atom/unused.S */
- /* Copyright (C) 2008 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
- /*
- * File: unused.S
- *
- * Code: Common code for unused bytecodes. Uses no subtitutions.
- *
- * For: all unused bytecodes
- *
- * Description: aborts if executed.
- *
- * Format: ØØ|op (10x)
- *
- * Syntax: op
- */
-
- call common_abort
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_UNUSED_3EFF: /* 0x13e */
-/* File: x86-atom/OP_UNUSED_3EFF.S */
-/* File: x86-atom/unused.S */
- /* Copyright (C) 2008 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
- /*
- * File: unused.S
- *
- * Code: Common code for unused bytecodes. Uses no subtitutions.
- *
- * For: all unused bytecodes
- *
- * Description: aborts if executed.
- *
- * Format: ØØ|op (10x)
- *
- * Syntax: op
- */
-
- call common_abort
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_UNUSED_3FFF: /* 0x13f */
-/* File: x86-atom/OP_UNUSED_3FFF.S */
-/* File: x86-atom/unused.S */
- /* Copyright (C) 2008 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
- /*
- * File: unused.S
- *
- * Code: Common code for unused bytecodes. Uses no subtitutions.
- *
- * For: all unused bytecodes
- *
- * Description: aborts if executed.
- *
- * Format: ØØ|op (10x)
- *
- * Syntax: op
- */
-
- call common_abort
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_UNUSED_40FF: /* 0x140 */
-/* File: x86-atom/OP_UNUSED_40FF.S */
-/* File: x86-atom/unused.S */
- /* Copyright (C) 2008 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
- /*
- * File: unused.S
- *
- * Code: Common code for unused bytecodes. Uses no subtitutions.
- *
- * For: all unused bytecodes
- *
- * Description: aborts if executed.
- *
- * Format: ØØ|op (10x)
- *
- * Syntax: op
- */
-
- call common_abort
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_UNUSED_41FF: /* 0x141 */
-/* File: x86-atom/OP_UNUSED_41FF.S */
-/* File: x86-atom/unused.S */
- /* Copyright (C) 2008 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
- /*
- * File: unused.S
- *
- * Code: Common code for unused bytecodes. Uses no subtitutions.
- *
- * For: all unused bytecodes
- *
- * Description: aborts if executed.
- *
- * Format: ØØ|op (10x)
- *
- * Syntax: op
- */
-
- call common_abort
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_UNUSED_42FF: /* 0x142 */
-/* File: x86-atom/OP_UNUSED_42FF.S */
-/* File: x86-atom/unused.S */
- /* Copyright (C) 2008 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
- /*
- * File: unused.S
- *
- * Code: Common code for unused bytecodes. Uses no subtitutions.
- *
- * For: all unused bytecodes
- *
- * Description: aborts if executed.
- *
- * Format: ØØ|op (10x)
- *
- * Syntax: op
- */
-
- call common_abort
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_UNUSED_43FF: /* 0x143 */
-/* File: x86-atom/OP_UNUSED_43FF.S */
-/* File: x86-atom/unused.S */
- /* Copyright (C) 2008 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
- /*
- * File: unused.S
- *
- * Code: Common code for unused bytecodes. Uses no subtitutions.
- *
- * For: all unused bytecodes
- *
- * Description: aborts if executed.
- *
- * Format: ØØ|op (10x)
- *
- * Syntax: op
- */
-
- call common_abort
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_UNUSED_44FF: /* 0x144 */
-/* File: x86-atom/OP_UNUSED_44FF.S */
-/* File: x86-atom/unused.S */
- /* Copyright (C) 2008 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
- /*
- * File: unused.S
- *
- * Code: Common code for unused bytecodes. Uses no subtitutions.
- *
- * For: all unused bytecodes
- *
- * Description: aborts if executed.
- *
- * Format: ØØ|op (10x)
- *
- * Syntax: op
- */
-
- call common_abort
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_UNUSED_45FF: /* 0x145 */
-/* File: x86-atom/OP_UNUSED_45FF.S */
-/* File: x86-atom/unused.S */
- /* Copyright (C) 2008 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
- /*
- * File: unused.S
- *
- * Code: Common code for unused bytecodes. Uses no subtitutions.
- *
- * For: all unused bytecodes
- *
- * Description: aborts if executed.
- *
- * Format: ØØ|op (10x)
- *
- * Syntax: op
- */
-
- call common_abort
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_UNUSED_46FF: /* 0x146 */
-/* File: x86-atom/OP_UNUSED_46FF.S */
-/* File: x86-atom/unused.S */
- /* Copyright (C) 2008 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
- /*
- * File: unused.S
- *
- * Code: Common code for unused bytecodes. Uses no subtitutions.
- *
- * For: all unused bytecodes
- *
- * Description: aborts if executed.
- *
- * Format: ØØ|op (10x)
- *
- * Syntax: op
- */
-
- call common_abort
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_UNUSED_47FF: /* 0x147 */
-/* File: x86-atom/OP_UNUSED_47FF.S */
-/* File: x86-atom/unused.S */
- /* Copyright (C) 2008 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
- /*
- * File: unused.S
- *
- * Code: Common code for unused bytecodes. Uses no subtitutions.
- *
- * For: all unused bytecodes
- *
- * Description: aborts if executed.
- *
- * Format: ØØ|op (10x)
- *
- * Syntax: op
- */
-
- call common_abort
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_UNUSED_48FF: /* 0x148 */
-/* File: x86-atom/OP_UNUSED_48FF.S */
-/* File: x86-atom/unused.S */
- /* Copyright (C) 2008 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
- /*
- * File: unused.S
- *
- * Code: Common code for unused bytecodes. Uses no subtitutions.
- *
- * For: all unused bytecodes
- *
- * Description: aborts if executed.
- *
- * Format: ØØ|op (10x)
- *
- * Syntax: op
- */
-
- call common_abort
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_UNUSED_49FF: /* 0x149 */
-/* File: x86-atom/OP_UNUSED_49FF.S */
-/* File: x86-atom/unused.S */
- /* Copyright (C) 2008 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
- /*
- * File: unused.S
- *
- * Code: Common code for unused bytecodes. Uses no subtitutions.
- *
- * For: all unused bytecodes
- *
- * Description: aborts if executed.
- *
- * Format: ØØ|op (10x)
- *
- * Syntax: op
- */
-
- call common_abort
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_UNUSED_4AFF: /* 0x14a */
-/* File: x86-atom/OP_UNUSED_4AFF.S */
-/* File: x86-atom/unused.S */
- /* Copyright (C) 2008 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
- /*
- * File: unused.S
- *
- * Code: Common code for unused bytecodes. Uses no subtitutions.
- *
- * For: all unused bytecodes
- *
- * Description: aborts if executed.
- *
- * Format: ØØ|op (10x)
- *
- * Syntax: op
- */
-
- call common_abort
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_UNUSED_4BFF: /* 0x14b */
-/* File: x86-atom/OP_UNUSED_4BFF.S */
-/* File: x86-atom/unused.S */
- /* Copyright (C) 2008 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
- /*
- * File: unused.S
- *
- * Code: Common code for unused bytecodes. Uses no subtitutions.
- *
- * For: all unused bytecodes
- *
- * Description: aborts if executed.
- *
- * Format: ØØ|op (10x)
- *
- * Syntax: op
- */
-
- call common_abort
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_UNUSED_4CFF: /* 0x14c */
-/* File: x86-atom/OP_UNUSED_4CFF.S */
-/* File: x86-atom/unused.S */
- /* Copyright (C) 2008 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
- /*
- * File: unused.S
- *
- * Code: Common code for unused bytecodes. Uses no subtitutions.
- *
- * For: all unused bytecodes
- *
- * Description: aborts if executed.
- *
- * Format: ØØ|op (10x)
- *
- * Syntax: op
- */
-
- call common_abort
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_UNUSED_4DFF: /* 0x14d */
-/* File: x86-atom/OP_UNUSED_4DFF.S */
-/* File: x86-atom/unused.S */
- /* Copyright (C) 2008 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
- /*
- * File: unused.S
- *
- * Code: Common code for unused bytecodes. Uses no subtitutions.
- *
- * For: all unused bytecodes
- *
- * Description: aborts if executed.
- *
- * Format: ØØ|op (10x)
- *
- * Syntax: op
- */
-
- call common_abort
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_UNUSED_4EFF: /* 0x14e */
-/* File: x86-atom/OP_UNUSED_4EFF.S */
-/* File: x86-atom/unused.S */
- /* Copyright (C) 2008 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
- /*
- * File: unused.S
- *
- * Code: Common code for unused bytecodes. Uses no subtitutions.
- *
- * For: all unused bytecodes
- *
- * Description: aborts if executed.
- *
- * Format: ØØ|op (10x)
- *
- * Syntax: op
- */
-
- call common_abort
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_UNUSED_4FFF: /* 0x14f */
-/* File: x86-atom/OP_UNUSED_4FFF.S */
-/* File: x86-atom/unused.S */
- /* Copyright (C) 2008 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
- /*
- * File: unused.S
- *
- * Code: Common code for unused bytecodes. Uses no subtitutions.
- *
- * For: all unused bytecodes
- *
- * Description: aborts if executed.
- *
- * Format: ØØ|op (10x)
- *
- * Syntax: op
- */
-
- call common_abort
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_UNUSED_50FF: /* 0x150 */
-/* File: x86-atom/OP_UNUSED_50FF.S */
-/* File: x86-atom/unused.S */
- /* Copyright (C) 2008 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
- /*
- * File: unused.S
- *
- * Code: Common code for unused bytecodes. Uses no subtitutions.
- *
- * For: all unused bytecodes
- *
- * Description: aborts if executed.
- *
- * Format: ØØ|op (10x)
- *
- * Syntax: op
- */
-
- call common_abort
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_UNUSED_51FF: /* 0x151 */
-/* File: x86-atom/OP_UNUSED_51FF.S */
-/* File: x86-atom/unused.S */
- /* Copyright (C) 2008 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
- /*
- * File: unused.S
- *
- * Code: Common code for unused bytecodes. Uses no subtitutions.
- *
- * For: all unused bytecodes
- *
- * Description: aborts if executed.
- *
- * Format: ØØ|op (10x)
- *
- * Syntax: op
- */
-
- call common_abort
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_UNUSED_52FF: /* 0x152 */
-/* File: x86-atom/OP_UNUSED_52FF.S */
-/* File: x86-atom/unused.S */
- /* Copyright (C) 2008 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
- /*
- * File: unused.S
- *
- * Code: Common code for unused bytecodes. Uses no subtitutions.
- *
- * For: all unused bytecodes
- *
- * Description: aborts if executed.
- *
- * Format: ØØ|op (10x)
- *
- * Syntax: op
- */
-
- call common_abort
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_UNUSED_53FF: /* 0x153 */
-/* File: x86-atom/OP_UNUSED_53FF.S */
-/* File: x86-atom/unused.S */
- /* Copyright (C) 2008 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
- /*
- * File: unused.S
- *
- * Code: Common code for unused bytecodes. Uses no subtitutions.
- *
- * For: all unused bytecodes
- *
- * Description: aborts if executed.
- *
- * Format: ØØ|op (10x)
- *
- * Syntax: op
- */
-
- call common_abort
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_UNUSED_54FF: /* 0x154 */
-/* File: x86-atom/OP_UNUSED_54FF.S */
-/* File: x86-atom/unused.S */
- /* Copyright (C) 2008 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
- /*
- * File: unused.S
- *
- * Code: Common code for unused bytecodes. Uses no subtitutions.
- *
- * For: all unused bytecodes
- *
- * Description: aborts if executed.
- *
- * Format: ØØ|op (10x)
- *
- * Syntax: op
- */
-
- call common_abort
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_UNUSED_55FF: /* 0x155 */
-/* File: x86-atom/OP_UNUSED_55FF.S */
-/* File: x86-atom/unused.S */
- /* Copyright (C) 2008 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
- /*
- * File: unused.S
- *
- * Code: Common code for unused bytecodes. Uses no subtitutions.
- *
- * For: all unused bytecodes
- *
- * Description: aborts if executed.
- *
- * Format: ØØ|op (10x)
- *
- * Syntax: op
- */
-
- call common_abort
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_UNUSED_56FF: /* 0x156 */
-/* File: x86-atom/OP_UNUSED_56FF.S */
-/* File: x86-atom/unused.S */
- /* Copyright (C) 2008 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
- /*
- * File: unused.S
- *
- * Code: Common code for unused bytecodes. Uses no subtitutions.
- *
- * For: all unused bytecodes
- *
- * Description: aborts if executed.
- *
- * Format: ØØ|op (10x)
- *
- * Syntax: op
- */
-
- call common_abort
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_UNUSED_57FF: /* 0x157 */
-/* File: x86-atom/OP_UNUSED_57FF.S */
-/* File: x86-atom/unused.S */
- /* Copyright (C) 2008 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
- /*
- * File: unused.S
- *
- * Code: Common code for unused bytecodes. Uses no subtitutions.
- *
- * For: all unused bytecodes
- *
- * Description: aborts if executed.
- *
- * Format: ØØ|op (10x)
- *
- * Syntax: op
- */
-
- call common_abort
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_UNUSED_58FF: /* 0x158 */
-/* File: x86-atom/OP_UNUSED_58FF.S */
-/* File: x86-atom/unused.S */
- /* Copyright (C) 2008 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
- /*
- * File: unused.S
- *
- * Code: Common code for unused bytecodes. Uses no subtitutions.
- *
- * For: all unused bytecodes
- *
- * Description: aborts if executed.
- *
- * Format: ØØ|op (10x)
- *
- * Syntax: op
- */
-
- call common_abort
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_UNUSED_59FF: /* 0x159 */
-/* File: x86-atom/OP_UNUSED_59FF.S */
-/* File: x86-atom/unused.S */
- /* Copyright (C) 2008 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
- /*
- * File: unused.S
- *
- * Code: Common code for unused bytecodes. Uses no subtitutions.
- *
- * For: all unused bytecodes
- *
- * Description: aborts if executed.
- *
- * Format: ØØ|op (10x)
- *
- * Syntax: op
- */
-
- call common_abort
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_UNUSED_5AFF: /* 0x15a */
-/* File: x86-atom/OP_UNUSED_5AFF.S */
-/* File: x86-atom/unused.S */
- /* Copyright (C) 2008 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
- /*
- * File: unused.S
- *
- * Code: Common code for unused bytecodes. Uses no subtitutions.
- *
- * For: all unused bytecodes
- *
- * Description: aborts if executed.
- *
- * Format: ØØ|op (10x)
- *
- * Syntax: op
- */
-
- call common_abort
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_UNUSED_5BFF: /* 0x15b */
-/* File: x86-atom/OP_UNUSED_5BFF.S */
-/* File: x86-atom/unused.S */
- /* Copyright (C) 2008 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
- /*
- * File: unused.S
- *
- * Code: Common code for unused bytecodes. Uses no subtitutions.
- *
- * For: all unused bytecodes
- *
- * Description: aborts if executed.
- *
- * Format: ØØ|op (10x)
- *
- * Syntax: op
- */
-
- call common_abort
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_UNUSED_5CFF: /* 0x15c */
-/* File: x86-atom/OP_UNUSED_5CFF.S */
-/* File: x86-atom/unused.S */
- /* Copyright (C) 2008 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
- /*
- * File: unused.S
- *
- * Code: Common code for unused bytecodes. Uses no subtitutions.
- *
- * For: all unused bytecodes
- *
- * Description: aborts if executed.
- *
- * Format: ØØ|op (10x)
- *
- * Syntax: op
- */
-
- call common_abort
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_UNUSED_5DFF: /* 0x15d */
-/* File: x86-atom/OP_UNUSED_5DFF.S */
-/* File: x86-atom/unused.S */
- /* Copyright (C) 2008 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
- /*
- * File: unused.S
- *
- * Code: Common code for unused bytecodes. Uses no subtitutions.
- *
- * For: all unused bytecodes
- *
- * Description: aborts if executed.
- *
- * Format: ØØ|op (10x)
- *
- * Syntax: op
- */
-
- call common_abort
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_UNUSED_5EFF: /* 0x15e */
-/* File: x86-atom/OP_UNUSED_5EFF.S */
-/* File: x86-atom/unused.S */
- /* Copyright (C) 2008 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
- /*
- * File: unused.S
- *
- * Code: Common code for unused bytecodes. Uses no subtitutions.
- *
- * For: all unused bytecodes
- *
- * Description: aborts if executed.
- *
- * Format: ØØ|op (10x)
- *
- * Syntax: op
- */
-
- call common_abort
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_UNUSED_5FFF: /* 0x15f */
-/* File: x86-atom/OP_UNUSED_5FFF.S */
-/* File: x86-atom/unused.S */
- /* Copyright (C) 2008 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
- /*
- * File: unused.S
- *
- * Code: Common code for unused bytecodes. Uses no subtitutions.
- *
- * For: all unused bytecodes
- *
- * Description: aborts if executed.
- *
- * Format: ØØ|op (10x)
- *
- * Syntax: op
- */
-
- call common_abort
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_UNUSED_60FF: /* 0x160 */
-/* File: x86-atom/OP_UNUSED_60FF.S */
-/* File: x86-atom/unused.S */
- /* Copyright (C) 2008 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
- /*
- * File: unused.S
- *
- * Code: Common code for unused bytecodes. Uses no subtitutions.
- *
- * For: all unused bytecodes
- *
- * Description: aborts if executed.
- *
- * Format: ØØ|op (10x)
- *
- * Syntax: op
- */
-
- call common_abort
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_UNUSED_61FF: /* 0x161 */
-/* File: x86-atom/OP_UNUSED_61FF.S */
-/* File: x86-atom/unused.S */
- /* Copyright (C) 2008 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
- /*
- * File: unused.S
- *
- * Code: Common code for unused bytecodes. Uses no subtitutions.
- *
- * For: all unused bytecodes
- *
- * Description: aborts if executed.
- *
- * Format: ØØ|op (10x)
- *
- * Syntax: op
- */
-
- call common_abort
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_UNUSED_62FF: /* 0x162 */
-/* File: x86-atom/OP_UNUSED_62FF.S */
-/* File: x86-atom/unused.S */
- /* Copyright (C) 2008 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
- /*
- * File: unused.S
- *
- * Code: Common code for unused bytecodes. Uses no subtitutions.
- *
- * For: all unused bytecodes
- *
- * Description: aborts if executed.
- *
- * Format: ØØ|op (10x)
- *
- * Syntax: op
- */
-
- call common_abort
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_UNUSED_63FF: /* 0x163 */
-/* File: x86-atom/OP_UNUSED_63FF.S */
-/* File: x86-atom/unused.S */
- /* Copyright (C) 2008 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
- /*
- * File: unused.S
- *
- * Code: Common code for unused bytecodes. Uses no subtitutions.
- *
- * For: all unused bytecodes
- *
- * Description: aborts if executed.
- *
- * Format: ØØ|op (10x)
- *
- * Syntax: op
- */
-
- call common_abort
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_UNUSED_64FF: /* 0x164 */
-/* File: x86-atom/OP_UNUSED_64FF.S */
-/* File: x86-atom/unused.S */
- /* Copyright (C) 2008 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
- /*
- * File: unused.S
- *
- * Code: Common code for unused bytecodes. Uses no subtitutions.
- *
- * For: all unused bytecodes
- *
- * Description: aborts if executed.
- *
- * Format: ØØ|op (10x)
- *
- * Syntax: op
- */
-
- call common_abort
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_UNUSED_65FF: /* 0x165 */
-/* File: x86-atom/OP_UNUSED_65FF.S */
-/* File: x86-atom/unused.S */
- /* Copyright (C) 2008 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
- /*
- * File: unused.S
- *
- * Code: Common code for unused bytecodes. Uses no subtitutions.
- *
- * For: all unused bytecodes
- *
- * Description: aborts if executed.
- *
- * Format: ØØ|op (10x)
- *
- * Syntax: op
- */
-
- call common_abort
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_UNUSED_66FF: /* 0x166 */
-/* File: x86-atom/OP_UNUSED_66FF.S */
-/* File: x86-atom/unused.S */
- /* Copyright (C) 2008 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
- /*
- * File: unused.S
- *
- * Code: Common code for unused bytecodes. Uses no subtitutions.
- *
- * For: all unused bytecodes
- *
- * Description: aborts if executed.
- *
- * Format: ØØ|op (10x)
- *
- * Syntax: op
- */
-
- call common_abort
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_UNUSED_67FF: /* 0x167 */
-/* File: x86-atom/OP_UNUSED_67FF.S */
-/* File: x86-atom/unused.S */
- /* Copyright (C) 2008 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
- /*
- * File: unused.S
- *
- * Code: Common code for unused bytecodes. Uses no subtitutions.
- *
- * For: all unused bytecodes
- *
- * Description: aborts if executed.
- *
- * Format: ØØ|op (10x)
- *
- * Syntax: op
- */
-
- call common_abort
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_UNUSED_68FF: /* 0x168 */
-/* File: x86-atom/OP_UNUSED_68FF.S */
-/* File: x86-atom/unused.S */
- /* Copyright (C) 2008 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
- /*
- * File: unused.S
- *
- * Code: Common code for unused bytecodes. Uses no subtitutions.
- *
- * For: all unused bytecodes
- *
- * Description: aborts if executed.
- *
- * Format: ØØ|op (10x)
- *
- * Syntax: op
- */
-
- call common_abort
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_UNUSED_69FF: /* 0x169 */
-/* File: x86-atom/OP_UNUSED_69FF.S */
-/* File: x86-atom/unused.S */
- /* Copyright (C) 2008 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
- /*
- * File: unused.S
- *
- * Code: Common code for unused bytecodes. Uses no subtitutions.
- *
- * For: all unused bytecodes
- *
- * Description: aborts if executed.
- *
- * Format: ØØ|op (10x)
- *
- * Syntax: op
- */
-
- call common_abort
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_UNUSED_6AFF: /* 0x16a */
-/* File: x86-atom/OP_UNUSED_6AFF.S */
-/* File: x86-atom/unused.S */
- /* Copyright (C) 2008 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
- /*
- * File: unused.S
- *
- * Code: Common code for unused bytecodes. Uses no subtitutions.
- *
- * For: all unused bytecodes
- *
- * Description: aborts if executed.
- *
- * Format: ØØ|op (10x)
- *
- * Syntax: op
- */
-
- call common_abort
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_UNUSED_6BFF: /* 0x16b */
-/* File: x86-atom/OP_UNUSED_6BFF.S */
-/* File: x86-atom/unused.S */
- /* Copyright (C) 2008 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
- /*
- * File: unused.S
- *
- * Code: Common code for unused bytecodes. Uses no subtitutions.
- *
- * For: all unused bytecodes
- *
- * Description: aborts if executed.
- *
- * Format: ØØ|op (10x)
- *
- * Syntax: op
- */
-
- call common_abort
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_UNUSED_6CFF: /* 0x16c */
-/* File: x86-atom/OP_UNUSED_6CFF.S */
-/* File: x86-atom/unused.S */
- /* Copyright (C) 2008 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
- /*
- * File: unused.S
- *
- * Code: Common code for unused bytecodes. Uses no subtitutions.
- *
- * For: all unused bytecodes
- *
- * Description: aborts if executed.
- *
- * Format: ØØ|op (10x)
- *
- * Syntax: op
- */
-
- call common_abort
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_UNUSED_6DFF: /* 0x16d */
-/* File: x86-atom/OP_UNUSED_6DFF.S */
-/* File: x86-atom/unused.S */
- /* Copyright (C) 2008 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
- /*
- * File: unused.S
- *
- * Code: Common code for unused bytecodes. Uses no subtitutions.
- *
- * For: all unused bytecodes
- *
- * Description: aborts if executed.
- *
- * Format: ØØ|op (10x)
- *
- * Syntax: op
- */
-
- call common_abort
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_UNUSED_6EFF: /* 0x16e */
-/* File: x86-atom/OP_UNUSED_6EFF.S */
-/* File: x86-atom/unused.S */
- /* Copyright (C) 2008 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
- /*
- * File: unused.S
- *
- * Code: Common code for unused bytecodes. Uses no subtitutions.
- *
- * For: all unused bytecodes
- *
- * Description: aborts if executed.
- *
- * Format: ØØ|op (10x)
- *
- * Syntax: op
- */
-
- call common_abort
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_UNUSED_6FFF: /* 0x16f */
-/* File: x86-atom/OP_UNUSED_6FFF.S */
-/* File: x86-atom/unused.S */
- /* Copyright (C) 2008 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
- /*
- * File: unused.S
- *
- * Code: Common code for unused bytecodes. Uses no subtitutions.
- *
- * For: all unused bytecodes
- *
- * Description: aborts if executed.
- *
- * Format: ØØ|op (10x)
- *
- * Syntax: op
- */
-
- call common_abort
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_UNUSED_70FF: /* 0x170 */
-/* File: x86-atom/OP_UNUSED_70FF.S */
-/* File: x86-atom/unused.S */
- /* Copyright (C) 2008 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
- /*
- * File: unused.S
- *
- * Code: Common code for unused bytecodes. Uses no subtitutions.
- *
- * For: all unused bytecodes
- *
- * Description: aborts if executed.
- *
- * Format: ØØ|op (10x)
- *
- * Syntax: op
- */
-
- call common_abort
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_UNUSED_71FF: /* 0x171 */
-/* File: x86-atom/OP_UNUSED_71FF.S */
-/* File: x86-atom/unused.S */
- /* Copyright (C) 2008 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
- /*
- * File: unused.S
- *
- * Code: Common code for unused bytecodes. Uses no subtitutions.
- *
- * For: all unused bytecodes
- *
- * Description: aborts if executed.
- *
- * Format: ØØ|op (10x)
- *
- * Syntax: op
- */
-
- call common_abort
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_UNUSED_72FF: /* 0x172 */
-/* File: x86-atom/OP_UNUSED_72FF.S */
-/* File: x86-atom/unused.S */
- /* Copyright (C) 2008 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
- /*
- * File: unused.S
- *
- * Code: Common code for unused bytecodes. Uses no subtitutions.
- *
- * For: all unused bytecodes
- *
- * Description: aborts if executed.
- *
- * Format: ØØ|op (10x)
- *
- * Syntax: op
- */
-
- call common_abort
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_UNUSED_73FF: /* 0x173 */
-/* File: x86-atom/OP_UNUSED_73FF.S */
-/* File: x86-atom/unused.S */
- /* Copyright (C) 2008 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
- /*
- * File: unused.S
- *
- * Code: Common code for unused bytecodes. Uses no subtitutions.
- *
- * For: all unused bytecodes
- *
- * Description: aborts if executed.
- *
- * Format: ØØ|op (10x)
- *
- * Syntax: op
- */
-
- call common_abort
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_UNUSED_74FF: /* 0x174 */
-/* File: x86-atom/OP_UNUSED_74FF.S */
-/* File: x86-atom/unused.S */
- /* Copyright (C) 2008 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
- /*
- * File: unused.S
- *
- * Code: Common code for unused bytecodes. Uses no subtitutions.
- *
- * For: all unused bytecodes
- *
- * Description: aborts if executed.
- *
- * Format: ØØ|op (10x)
- *
- * Syntax: op
- */
-
- call common_abort
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_UNUSED_75FF: /* 0x175 */
-/* File: x86-atom/OP_UNUSED_75FF.S */
-/* File: x86-atom/unused.S */
- /* Copyright (C) 2008 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
- /*
- * File: unused.S
- *
- * Code: Common code for unused bytecodes. Uses no subtitutions.
- *
- * For: all unused bytecodes
- *
- * Description: aborts if executed.
- *
- * Format: ØØ|op (10x)
- *
- * Syntax: op
- */
-
- call common_abort
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_UNUSED_76FF: /* 0x176 */
-/* File: x86-atom/OP_UNUSED_76FF.S */
-/* File: x86-atom/unused.S */
- /* Copyright (C) 2008 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
- /*
- * File: unused.S
- *
- * Code: Common code for unused bytecodes. Uses no subtitutions.
- *
- * For: all unused bytecodes
- *
- * Description: aborts if executed.
- *
- * Format: ØØ|op (10x)
- *
- * Syntax: op
- */
-
- call common_abort
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_UNUSED_77FF: /* 0x177 */
-/* File: x86-atom/OP_UNUSED_77FF.S */
-/* File: x86-atom/unused.S */
- /* Copyright (C) 2008 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
- /*
- * File: unused.S
- *
- * Code: Common code for unused bytecodes. Uses no subtitutions.
- *
- * For: all unused bytecodes
- *
- * Description: aborts if executed.
- *
- * Format: ØØ|op (10x)
- *
- * Syntax: op
- */
-
- call common_abort
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_UNUSED_78FF: /* 0x178 */
-/* File: x86-atom/OP_UNUSED_78FF.S */
-/* File: x86-atom/unused.S */
- /* Copyright (C) 2008 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
- /*
- * File: unused.S
- *
- * Code: Common code for unused bytecodes. Uses no subtitutions.
- *
- * For: all unused bytecodes
- *
- * Description: aborts if executed.
- *
- * Format: ØØ|op (10x)
- *
- * Syntax: op
- */
-
- call common_abort
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_UNUSED_79FF: /* 0x179 */
-/* File: x86-atom/OP_UNUSED_79FF.S */
-/* File: x86-atom/unused.S */
- /* Copyright (C) 2008 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
- /*
- * File: unused.S
- *
- * Code: Common code for unused bytecodes. Uses no subtitutions.
- *
- * For: all unused bytecodes
- *
- * Description: aborts if executed.
- *
- * Format: ØØ|op (10x)
- *
- * Syntax: op
- */
-
- call common_abort
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_UNUSED_7AFF: /* 0x17a */
-/* File: x86-atom/OP_UNUSED_7AFF.S */
-/* File: x86-atom/unused.S */
- /* Copyright (C) 2008 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
- /*
- * File: unused.S
- *
- * Code: Common code for unused bytecodes. Uses no subtitutions.
- *
- * For: all unused bytecodes
- *
- * Description: aborts if executed.
- *
- * Format: ØØ|op (10x)
- *
- * Syntax: op
- */
-
- call common_abort
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_UNUSED_7BFF: /* 0x17b */
-/* File: x86-atom/OP_UNUSED_7BFF.S */
-/* File: x86-atom/unused.S */
- /* Copyright (C) 2008 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
- /*
- * File: unused.S
- *
- * Code: Common code for unused bytecodes. Uses no subtitutions.
- *
- * For: all unused bytecodes
- *
- * Description: aborts if executed.
- *
- * Format: ØØ|op (10x)
- *
- * Syntax: op
- */
-
- call common_abort
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_UNUSED_7CFF: /* 0x17c */
-/* File: x86-atom/OP_UNUSED_7CFF.S */
-/* File: x86-atom/unused.S */
- /* Copyright (C) 2008 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
- /*
- * File: unused.S
- *
- * Code: Common code for unused bytecodes. Uses no subtitutions.
- *
- * For: all unused bytecodes
- *
- * Description: aborts if executed.
- *
- * Format: ØØ|op (10x)
- *
- * Syntax: op
- */
-
- call common_abort
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_UNUSED_7DFF: /* 0x17d */
-/* File: x86-atom/OP_UNUSED_7DFF.S */
-/* File: x86-atom/unused.S */
- /* Copyright (C) 2008 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
- /*
- * File: unused.S
- *
- * Code: Common code for unused bytecodes. Uses no subtitutions.
- *
- * For: all unused bytecodes
- *
- * Description: aborts if executed.
- *
- * Format: ØØ|op (10x)
- *
- * Syntax: op
- */
-
- call common_abort
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_UNUSED_7EFF: /* 0x17e */
-/* File: x86-atom/OP_UNUSED_7EFF.S */
-/* File: x86-atom/unused.S */
- /* Copyright (C) 2008 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
- /*
- * File: unused.S
- *
- * Code: Common code for unused bytecodes. Uses no subtitutions.
- *
- * For: all unused bytecodes
- *
- * Description: aborts if executed.
- *
- * Format: ØØ|op (10x)
- *
- * Syntax: op
- */
-
- call common_abort
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_UNUSED_7FFF: /* 0x17f */
-/* File: x86-atom/OP_UNUSED_7FFF.S */
-/* File: x86-atom/unused.S */
- /* Copyright (C) 2008 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
- /*
- * File: unused.S
- *
- * Code: Common code for unused bytecodes. Uses no subtitutions.
- *
- * For: all unused bytecodes
- *
- * Description: aborts if executed.
- *
- * Format: ØØ|op (10x)
- *
- * Syntax: op
- */
-
- call common_abort
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_UNUSED_80FF: /* 0x180 */
-/* File: x86-atom/OP_UNUSED_80FF.S */
-/* File: x86-atom/unused.S */
- /* Copyright (C) 2008 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
- /*
- * File: unused.S
- *
- * Code: Common code for unused bytecodes. Uses no subtitutions.
- *
- * For: all unused bytecodes
- *
- * Description: aborts if executed.
- *
- * Format: ØØ|op (10x)
- *
- * Syntax: op
- */
-
- call common_abort
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_UNUSED_81FF: /* 0x181 */
-/* File: x86-atom/OP_UNUSED_81FF.S */
-/* File: x86-atom/unused.S */
- /* Copyright (C) 2008 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
- /*
- * File: unused.S
- *
- * Code: Common code for unused bytecodes. Uses no subtitutions.
- *
- * For: all unused bytecodes
- *
- * Description: aborts if executed.
- *
- * Format: ØØ|op (10x)
- *
- * Syntax: op
- */
-
- call common_abort
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_UNUSED_82FF: /* 0x182 */
-/* File: x86-atom/OP_UNUSED_82FF.S */
-/* File: x86-atom/unused.S */
- /* Copyright (C) 2008 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
- /*
- * File: unused.S
- *
- * Code: Common code for unused bytecodes. Uses no subtitutions.
- *
- * For: all unused bytecodes
- *
- * Description: aborts if executed.
- *
- * Format: ØØ|op (10x)
- *
- * Syntax: op
- */
-
- call common_abort
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_UNUSED_83FF: /* 0x183 */
-/* File: x86-atom/OP_UNUSED_83FF.S */
-/* File: x86-atom/unused.S */
- /* Copyright (C) 2008 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
- /*
- * File: unused.S
- *
- * Code: Common code for unused bytecodes. Uses no subtitutions.
- *
- * For: all unused bytecodes
- *
- * Description: aborts if executed.
- *
- * Format: ØØ|op (10x)
- *
- * Syntax: op
- */
-
- call common_abort
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_UNUSED_84FF: /* 0x184 */
-/* File: x86-atom/OP_UNUSED_84FF.S */
-/* File: x86-atom/unused.S */
- /* Copyright (C) 2008 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
- /*
- * File: unused.S
- *
- * Code: Common code for unused bytecodes. Uses no subtitutions.
- *
- * For: all unused bytecodes
- *
- * Description: aborts if executed.
- *
- * Format: ØØ|op (10x)
- *
- * Syntax: op
- */
-
- call common_abort
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_UNUSED_85FF: /* 0x185 */
-/* File: x86-atom/OP_UNUSED_85FF.S */
-/* File: x86-atom/unused.S */
- /* Copyright (C) 2008 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
- /*
- * File: unused.S
- *
- * Code: Common code for unused bytecodes. Uses no subtitutions.
- *
- * For: all unused bytecodes
- *
- * Description: aborts if executed.
- *
- * Format: ØØ|op (10x)
- *
- * Syntax: op
- */
-
- call common_abort
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_UNUSED_86FF: /* 0x186 */
-/* File: x86-atom/OP_UNUSED_86FF.S */
-/* File: x86-atom/unused.S */
- /* Copyright (C) 2008 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
- /*
- * File: unused.S
- *
- * Code: Common code for unused bytecodes. Uses no subtitutions.
- *
- * For: all unused bytecodes
- *
- * Description: aborts if executed.
- *
- * Format: ØØ|op (10x)
- *
- * Syntax: op
- */
-
- call common_abort
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_UNUSED_87FF: /* 0x187 */
-/* File: x86-atom/OP_UNUSED_87FF.S */
-/* File: x86-atom/unused.S */
- /* Copyright (C) 2008 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
- /*
- * File: unused.S
- *
- * Code: Common code for unused bytecodes. Uses no subtitutions.
- *
- * For: all unused bytecodes
- *
- * Description: aborts if executed.
- *
- * Format: ØØ|op (10x)
- *
- * Syntax: op
- */
-
- call common_abort
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_UNUSED_88FF: /* 0x188 */
-/* File: x86-atom/OP_UNUSED_88FF.S */
-/* File: x86-atom/unused.S */
- /* Copyright (C) 2008 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
- /*
- * File: unused.S
- *
- * Code: Common code for unused bytecodes. Uses no subtitutions.
- *
- * For: all unused bytecodes
- *
- * Description: aborts if executed.
- *
- * Format: ØØ|op (10x)
- *
- * Syntax: op
- */
-
- call common_abort
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_UNUSED_89FF: /* 0x189 */
-/* File: x86-atom/OP_UNUSED_89FF.S */
-/* File: x86-atom/unused.S */
- /* Copyright (C) 2008 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
- /*
- * File: unused.S
- *
- * Code: Common code for unused bytecodes. Uses no subtitutions.
- *
- * For: all unused bytecodes
- *
- * Description: aborts if executed.
- *
- * Format: ØØ|op (10x)
- *
- * Syntax: op
- */
-
- call common_abort
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_UNUSED_8AFF: /* 0x18a */
-/* File: x86-atom/OP_UNUSED_8AFF.S */
-/* File: x86-atom/unused.S */
- /* Copyright (C) 2008 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
- /*
- * File: unused.S
- *
- * Code: Common code for unused bytecodes. Uses no subtitutions.
- *
- * For: all unused bytecodes
- *
- * Description: aborts if executed.
- *
- * Format: ØØ|op (10x)
- *
- * Syntax: op
- */
-
- call common_abort
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_UNUSED_8BFF: /* 0x18b */
-/* File: x86-atom/OP_UNUSED_8BFF.S */
-/* File: x86-atom/unused.S */
- /* Copyright (C) 2008 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
- /*
- * File: unused.S
- *
- * Code: Common code for unused bytecodes. Uses no subtitutions.
- *
- * For: all unused bytecodes
- *
- * Description: aborts if executed.
- *
- * Format: ØØ|op (10x)
- *
- * Syntax: op
- */
-
- call common_abort
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_UNUSED_8CFF: /* 0x18c */
-/* File: x86-atom/OP_UNUSED_8CFF.S */
-/* File: x86-atom/unused.S */
- /* Copyright (C) 2008 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
- /*
- * File: unused.S
- *
- * Code: Common code for unused bytecodes. Uses no subtitutions.
- *
- * For: all unused bytecodes
- *
- * Description: aborts if executed.
- *
- * Format: ØØ|op (10x)
- *
- * Syntax: op
- */
-
- call common_abort
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_UNUSED_8DFF: /* 0x18d */
-/* File: x86-atom/OP_UNUSED_8DFF.S */
-/* File: x86-atom/unused.S */
- /* Copyright (C) 2008 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
- /*
- * File: unused.S
- *
- * Code: Common code for unused bytecodes. Uses no subtitutions.
- *
- * For: all unused bytecodes
- *
- * Description: aborts if executed.
- *
- * Format: ØØ|op (10x)
- *
- * Syntax: op
- */
-
- call common_abort
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_UNUSED_8EFF: /* 0x18e */
-/* File: x86-atom/OP_UNUSED_8EFF.S */
-/* File: x86-atom/unused.S */
- /* Copyright (C) 2008 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
- /*
- * File: unused.S
- *
- * Code: Common code for unused bytecodes. Uses no subtitutions.
- *
- * For: all unused bytecodes
- *
- * Description: aborts if executed.
- *
- * Format: ØØ|op (10x)
- *
- * Syntax: op
- */
-
- call common_abort
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_UNUSED_8FFF: /* 0x18f */
-/* File: x86-atom/OP_UNUSED_8FFF.S */
-/* File: x86-atom/unused.S */
- /* Copyright (C) 2008 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
- /*
- * File: unused.S
- *
- * Code: Common code for unused bytecodes. Uses no subtitutions.
- *
- * For: all unused bytecodes
- *
- * Description: aborts if executed.
- *
- * Format: ØØ|op (10x)
- *
- * Syntax: op
- */
-
- call common_abort
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_UNUSED_90FF: /* 0x190 */
-/* File: x86-atom/OP_UNUSED_90FF.S */
-/* File: x86-atom/unused.S */
- /* Copyright (C) 2008 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
- /*
- * File: unused.S
- *
- * Code: Common code for unused bytecodes. Uses no subtitutions.
- *
- * For: all unused bytecodes
- *
- * Description: aborts if executed.
- *
- * Format: ØØ|op (10x)
- *
- * Syntax: op
- */
-
- call common_abort
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_UNUSED_91FF: /* 0x191 */
-/* File: x86-atom/OP_UNUSED_91FF.S */
-/* File: x86-atom/unused.S */
- /* Copyright (C) 2008 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
- /*
- * File: unused.S
- *
- * Code: Common code for unused bytecodes. Uses no subtitutions.
- *
- * For: all unused bytecodes
- *
- * Description: aborts if executed.
- *
- * Format: ØØ|op (10x)
- *
- * Syntax: op
- */
-
- call common_abort
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_UNUSED_92FF: /* 0x192 */
-/* File: x86-atom/OP_UNUSED_92FF.S */
-/* File: x86-atom/unused.S */
- /* Copyright (C) 2008 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
- /*
- * File: unused.S
- *
- * Code: Common code for unused bytecodes. Uses no subtitutions.
- *
- * For: all unused bytecodes
- *
- * Description: aborts if executed.
- *
- * Format: ØØ|op (10x)
- *
- * Syntax: op
- */
-
- call common_abort
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_UNUSED_93FF: /* 0x193 */
-/* File: x86-atom/OP_UNUSED_93FF.S */
-/* File: x86-atom/unused.S */
- /* Copyright (C) 2008 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
- /*
- * File: unused.S
- *
- * Code: Common code for unused bytecodes. Uses no subtitutions.
- *
- * For: all unused bytecodes
- *
- * Description: aborts if executed.
- *
- * Format: ØØ|op (10x)
- *
- * Syntax: op
- */
-
- call common_abort
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_UNUSED_94FF: /* 0x194 */
-/* File: x86-atom/OP_UNUSED_94FF.S */
-/* File: x86-atom/unused.S */
- /* Copyright (C) 2008 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
- /*
- * File: unused.S
- *
- * Code: Common code for unused bytecodes. Uses no subtitutions.
- *
- * For: all unused bytecodes
- *
- * Description: aborts if executed.
- *
- * Format: ØØ|op (10x)
- *
- * Syntax: op
- */
-
- call common_abort
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_UNUSED_95FF: /* 0x195 */
-/* File: x86-atom/OP_UNUSED_95FF.S */
-/* File: x86-atom/unused.S */
- /* Copyright (C) 2008 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
- /*
- * File: unused.S
- *
- * Code: Common code for unused bytecodes. Uses no subtitutions.
- *
- * For: all unused bytecodes
- *
- * Description: aborts if executed.
- *
- * Format: ØØ|op (10x)
- *
- * Syntax: op
- */
-
- call common_abort
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_UNUSED_96FF: /* 0x196 */
-/* File: x86-atom/OP_UNUSED_96FF.S */
-/* File: x86-atom/unused.S */
- /* Copyright (C) 2008 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
- /*
- * File: unused.S
- *
- * Code: Common code for unused bytecodes. Uses no subtitutions.
- *
- * For: all unused bytecodes
- *
- * Description: aborts if executed.
- *
- * Format: ØØ|op (10x)
- *
- * Syntax: op
- */
-
- call common_abort
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_UNUSED_97FF: /* 0x197 */
-/* File: x86-atom/OP_UNUSED_97FF.S */
-/* File: x86-atom/unused.S */
- /* Copyright (C) 2008 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
- /*
- * File: unused.S
- *
- * Code: Common code for unused bytecodes. Uses no subtitutions.
- *
- * For: all unused bytecodes
- *
- * Description: aborts if executed.
- *
- * Format: ØØ|op (10x)
- *
- * Syntax: op
- */
-
- call common_abort
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_UNUSED_98FF: /* 0x198 */
-/* File: x86-atom/OP_UNUSED_98FF.S */
-/* File: x86-atom/unused.S */
- /* Copyright (C) 2008 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
- /*
- * File: unused.S
- *
- * Code: Common code for unused bytecodes. Uses no subtitutions.
- *
- * For: all unused bytecodes
- *
- * Description: aborts if executed.
- *
- * Format: ØØ|op (10x)
- *
- * Syntax: op
- */
-
- call common_abort
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_UNUSED_99FF: /* 0x199 */
-/* File: x86-atom/OP_UNUSED_99FF.S */
-/* File: x86-atom/unused.S */
- /* Copyright (C) 2008 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
- /*
- * File: unused.S
- *
- * Code: Common code for unused bytecodes. Uses no subtitutions.
- *
- * For: all unused bytecodes
- *
- * Description: aborts if executed.
- *
- * Format: ØØ|op (10x)
- *
- * Syntax: op
- */
-
- call common_abort
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_UNUSED_9AFF: /* 0x19a */
-/* File: x86-atom/OP_UNUSED_9AFF.S */
-/* File: x86-atom/unused.S */
- /* Copyright (C) 2008 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
- /*
- * File: unused.S
- *
- * Code: Common code for unused bytecodes. Uses no subtitutions.
- *
- * For: all unused bytecodes
- *
- * Description: aborts if executed.
- *
- * Format: ØØ|op (10x)
- *
- * Syntax: op
- */
-
- call common_abort
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_UNUSED_9BFF: /* 0x19b */
-/* File: x86-atom/OP_UNUSED_9BFF.S */
-/* File: x86-atom/unused.S */
- /* Copyright (C) 2008 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
- /*
- * File: unused.S
- *
- * Code: Common code for unused bytecodes. Uses no subtitutions.
- *
- * For: all unused bytecodes
- *
- * Description: aborts if executed.
- *
- * Format: ØØ|op (10x)
- *
- * Syntax: op
- */
-
- call common_abort
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_UNUSED_9CFF: /* 0x19c */
-/* File: x86-atom/OP_UNUSED_9CFF.S */
-/* File: x86-atom/unused.S */
- /* Copyright (C) 2008 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
- /*
- * File: unused.S
- *
- * Code: Common code for unused bytecodes. Uses no subtitutions.
- *
- * For: all unused bytecodes
- *
- * Description: aborts if executed.
- *
- * Format: ØØ|op (10x)
- *
- * Syntax: op
- */
-
- call common_abort
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_UNUSED_9DFF: /* 0x19d */
-/* File: x86-atom/OP_UNUSED_9DFF.S */
-/* File: x86-atom/unused.S */
- /* Copyright (C) 2008 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
- /*
- * File: unused.S
- *
- * Code: Common code for unused bytecodes. Uses no subtitutions.
- *
- * For: all unused bytecodes
- *
- * Description: aborts if executed.
- *
- * Format: ØØ|op (10x)
- *
- * Syntax: op
- */
-
- call common_abort
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_UNUSED_9EFF: /* 0x19e */
-/* File: x86-atom/OP_UNUSED_9EFF.S */
-/* File: x86-atom/unused.S */
- /* Copyright (C) 2008 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
- /*
- * File: unused.S
- *
- * Code: Common code for unused bytecodes. Uses no subtitutions.
- *
- * For: all unused bytecodes
- *
- * Description: aborts if executed.
- *
- * Format: ØØ|op (10x)
- *
- * Syntax: op
- */
-
- call common_abort
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_UNUSED_9FFF: /* 0x19f */
-/* File: x86-atom/OP_UNUSED_9FFF.S */
-/* File: x86-atom/unused.S */
- /* Copyright (C) 2008 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
- /*
- * File: unused.S
- *
- * Code: Common code for unused bytecodes. Uses no subtitutions.
- *
- * For: all unused bytecodes
- *
- * Description: aborts if executed.
- *
- * Format: ØØ|op (10x)
- *
- * Syntax: op
- */
-
- call common_abort
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_UNUSED_A0FF: /* 0x1a0 */
-/* File: x86-atom/OP_UNUSED_A0FF.S */
-/* File: x86-atom/unused.S */
- /* Copyright (C) 2008 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
- /*
- * File: unused.S
- *
- * Code: Common code for unused bytecodes. Uses no subtitutions.
- *
- * For: all unused bytecodes
- *
- * Description: aborts if executed.
- *
- * Format: ØØ|op (10x)
- *
- * Syntax: op
- */
-
- call common_abort
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_UNUSED_A1FF: /* 0x1a1 */
-/* File: x86-atom/OP_UNUSED_A1FF.S */
-/* File: x86-atom/unused.S */
- /* Copyright (C) 2008 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
- /*
- * File: unused.S
- *
- * Code: Common code for unused bytecodes. Uses no subtitutions.
- *
- * For: all unused bytecodes
- *
- * Description: aborts if executed.
- *
- * Format: ØØ|op (10x)
- *
- * Syntax: op
- */
-
- call common_abort
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_UNUSED_A2FF: /* 0x1a2 */
-/* File: x86-atom/OP_UNUSED_A2FF.S */
-/* File: x86-atom/unused.S */
- /* Copyright (C) 2008 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
- /*
- * File: unused.S
- *
- * Code: Common code for unused bytecodes. Uses no subtitutions.
- *
- * For: all unused bytecodes
- *
- * Description: aborts if executed.
- *
- * Format: ØØ|op (10x)
- *
- * Syntax: op
- */
-
- call common_abort
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_UNUSED_A3FF: /* 0x1a3 */
-/* File: x86-atom/OP_UNUSED_A3FF.S */
-/* File: x86-atom/unused.S */
- /* Copyright (C) 2008 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
- /*
- * File: unused.S
- *
- * Code: Common code for unused bytecodes. Uses no subtitutions.
- *
- * For: all unused bytecodes
- *
- * Description: aborts if executed.
- *
- * Format: ØØ|op (10x)
- *
- * Syntax: op
- */
-
- call common_abort
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_UNUSED_A4FF: /* 0x1a4 */
-/* File: x86-atom/OP_UNUSED_A4FF.S */
-/* File: x86-atom/unused.S */
- /* Copyright (C) 2008 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
- /*
- * File: unused.S
- *
- * Code: Common code for unused bytecodes. Uses no subtitutions.
- *
- * For: all unused bytecodes
- *
- * Description: aborts if executed.
- *
- * Format: ØØ|op (10x)
- *
- * Syntax: op
- */
-
- call common_abort
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_UNUSED_A5FF: /* 0x1a5 */
-/* File: x86-atom/OP_UNUSED_A5FF.S */
-/* File: x86-atom/unused.S */
- /* Copyright (C) 2008 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
- /*
- * File: unused.S
- *
- * Code: Common code for unused bytecodes. Uses no subtitutions.
- *
- * For: all unused bytecodes
- *
- * Description: aborts if executed.
- *
- * Format: ØØ|op (10x)
- *
- * Syntax: op
- */
-
- call common_abort
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_UNUSED_A6FF: /* 0x1a6 */
-/* File: x86-atom/OP_UNUSED_A6FF.S */
-/* File: x86-atom/unused.S */
- /* Copyright (C) 2008 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
- /*
- * File: unused.S
- *
- * Code: Common code for unused bytecodes. Uses no subtitutions.
- *
- * For: all unused bytecodes
- *
- * Description: aborts if executed.
- *
- * Format: ØØ|op (10x)
- *
- * Syntax: op
- */
-
- call common_abort
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_UNUSED_A7FF: /* 0x1a7 */
-/* File: x86-atom/OP_UNUSED_A7FF.S */
-/* File: x86-atom/unused.S */
- /* Copyright (C) 2008 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
- /*
- * File: unused.S
- *
- * Code: Common code for unused bytecodes. Uses no subtitutions.
- *
- * For: all unused bytecodes
- *
- * Description: aborts if executed.
- *
- * Format: ØØ|op (10x)
- *
- * Syntax: op
- */
-
- call common_abort
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_UNUSED_A8FF: /* 0x1a8 */
-/* File: x86-atom/OP_UNUSED_A8FF.S */
-/* File: x86-atom/unused.S */
- /* Copyright (C) 2008 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
- /*
- * File: unused.S
- *
- * Code: Common code for unused bytecodes. Uses no subtitutions.
- *
- * For: all unused bytecodes
- *
- * Description: aborts if executed.
- *
- * Format: ØØ|op (10x)
- *
- * Syntax: op
- */
-
- call common_abort
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_UNUSED_A9FF: /* 0x1a9 */
-/* File: x86-atom/OP_UNUSED_A9FF.S */
-/* File: x86-atom/unused.S */
- /* Copyright (C) 2008 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
- /*
- * File: unused.S
- *
- * Code: Common code for unused bytecodes. Uses no subtitutions.
- *
- * For: all unused bytecodes
- *
- * Description: aborts if executed.
- *
- * Format: ØØ|op (10x)
- *
- * Syntax: op
- */
-
- call common_abort
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_UNUSED_AAFF: /* 0x1aa */
-/* File: x86-atom/OP_UNUSED_AAFF.S */
-/* File: x86-atom/unused.S */
- /* Copyright (C) 2008 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
- /*
- * File: unused.S
- *
- * Code: Common code for unused bytecodes. Uses no subtitutions.
- *
- * For: all unused bytecodes
- *
- * Description: aborts if executed.
- *
- * Format: ØØ|op (10x)
- *
- * Syntax: op
- */
-
- call common_abort
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_UNUSED_ABFF: /* 0x1ab */
-/* File: x86-atom/OP_UNUSED_ABFF.S */
-/* File: x86-atom/unused.S */
- /* Copyright (C) 2008 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
- /*
- * File: unused.S
- *
- * Code: Common code for unused bytecodes. Uses no subtitutions.
- *
- * For: all unused bytecodes
- *
- * Description: aborts if executed.
- *
- * Format: ØØ|op (10x)
- *
- * Syntax: op
- */
-
- call common_abort
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_UNUSED_ACFF: /* 0x1ac */
-/* File: x86-atom/OP_UNUSED_ACFF.S */
-/* File: x86-atom/unused.S */
- /* Copyright (C) 2008 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
- /*
- * File: unused.S
- *
- * Code: Common code for unused bytecodes. Uses no subtitutions.
- *
- * For: all unused bytecodes
- *
- * Description: aborts if executed.
- *
- * Format: ØØ|op (10x)
- *
- * Syntax: op
- */
-
- call common_abort
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_UNUSED_ADFF: /* 0x1ad */
-/* File: x86-atom/OP_UNUSED_ADFF.S */
-/* File: x86-atom/unused.S */
- /* Copyright (C) 2008 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
- /*
- * File: unused.S
- *
- * Code: Common code for unused bytecodes. Uses no subtitutions.
- *
- * For: all unused bytecodes
- *
- * Description: aborts if executed.
- *
- * Format: ØØ|op (10x)
- *
- * Syntax: op
- */
-
- call common_abort
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_UNUSED_AEFF: /* 0x1ae */
-/* File: x86-atom/OP_UNUSED_AEFF.S */
-/* File: x86-atom/unused.S */
- /* Copyright (C) 2008 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
- /*
- * File: unused.S
- *
- * Code: Common code for unused bytecodes. Uses no subtitutions.
- *
- * For: all unused bytecodes
- *
- * Description: aborts if executed.
- *
- * Format: ØØ|op (10x)
- *
- * Syntax: op
- */
-
- call common_abort
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_UNUSED_AFFF: /* 0x1af */
-/* File: x86-atom/OP_UNUSED_AFFF.S */
-/* File: x86-atom/unused.S */
- /* Copyright (C) 2008 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
- /*
- * File: unused.S
- *
- * Code: Common code for unused bytecodes. Uses no subtitutions.
- *
- * For: all unused bytecodes
- *
- * Description: aborts if executed.
- *
- * Format: ØØ|op (10x)
- *
- * Syntax: op
- */
-
- call common_abort
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_UNUSED_B0FF: /* 0x1b0 */
-/* File: x86-atom/OP_UNUSED_B0FF.S */
-/* File: x86-atom/unused.S */
- /* Copyright (C) 2008 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
- /*
- * File: unused.S
- *
- * Code: Common code for unused bytecodes. Uses no subtitutions.
- *
- * For: all unused bytecodes
- *
- * Description: aborts if executed.
- *
- * Format: ØØ|op (10x)
- *
- * Syntax: op
- */
-
- call common_abort
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_UNUSED_B1FF: /* 0x1b1 */
-/* File: x86-atom/OP_UNUSED_B1FF.S */
-/* File: x86-atom/unused.S */
- /* Copyright (C) 2008 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
- /*
- * File: unused.S
- *
- * Code: Common code for unused bytecodes. Uses no subtitutions.
- *
- * For: all unused bytecodes
- *
- * Description: aborts if executed.
- *
- * Format: ØØ|op (10x)
- *
- * Syntax: op
- */
-
- call common_abort
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_UNUSED_B2FF: /* 0x1b2 */
-/* File: x86-atom/OP_UNUSED_B2FF.S */
-/* File: x86-atom/unused.S */
- /* Copyright (C) 2008 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
- /*
- * File: unused.S
- *
- * Code: Common code for unused bytecodes. Uses no subtitutions.
- *
- * For: all unused bytecodes
- *
- * Description: aborts if executed.
- *
- * Format: ØØ|op (10x)
- *
- * Syntax: op
- */
-
- call common_abort
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_UNUSED_B3FF: /* 0x1b3 */
-/* File: x86-atom/OP_UNUSED_B3FF.S */
-/* File: x86-atom/unused.S */
- /* Copyright (C) 2008 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
- /*
- * File: unused.S
- *
- * Code: Common code for unused bytecodes. Uses no subtitutions.
- *
- * For: all unused bytecodes
- *
- * Description: aborts if executed.
- *
- * Format: ØØ|op (10x)
- *
- * Syntax: op
- */
-
- call common_abort
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_UNUSED_B4FF: /* 0x1b4 */
-/* File: x86-atom/OP_UNUSED_B4FF.S */
-/* File: x86-atom/unused.S */
- /* Copyright (C) 2008 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
- /*
- * File: unused.S
- *
- * Code: Common code for unused bytecodes. Uses no subtitutions.
- *
- * For: all unused bytecodes
- *
- * Description: aborts if executed.
- *
- * Format: ØØ|op (10x)
- *
- * Syntax: op
- */
-
- call common_abort
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_UNUSED_B5FF: /* 0x1b5 */
-/* File: x86-atom/OP_UNUSED_B5FF.S */
-/* File: x86-atom/unused.S */
- /* Copyright (C) 2008 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
- /*
- * File: unused.S
- *
- * Code: Common code for unused bytecodes. Uses no subtitutions.
- *
- * For: all unused bytecodes
- *
- * Description: aborts if executed.
- *
- * Format: ØØ|op (10x)
- *
- * Syntax: op
- */
-
- call common_abort
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_UNUSED_B6FF: /* 0x1b6 */
-/* File: x86-atom/OP_UNUSED_B6FF.S */
-/* File: x86-atom/unused.S */
- /* Copyright (C) 2008 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
- /*
- * File: unused.S
- *
- * Code: Common code for unused bytecodes. Uses no subtitutions.
- *
- * For: all unused bytecodes
- *
- * Description: aborts if executed.
- *
- * Format: ØØ|op (10x)
- *
- * Syntax: op
- */
-
- call common_abort
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_UNUSED_B7FF: /* 0x1b7 */
-/* File: x86-atom/OP_UNUSED_B7FF.S */
-/* File: x86-atom/unused.S */
- /* Copyright (C) 2008 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
- /*
- * File: unused.S
- *
- * Code: Common code for unused bytecodes. Uses no subtitutions.
- *
- * For: all unused bytecodes
- *
- * Description: aborts if executed.
- *
- * Format: ØØ|op (10x)
- *
- * Syntax: op
- */
-
- call common_abort
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_UNUSED_B8FF: /* 0x1b8 */
-/* File: x86-atom/OP_UNUSED_B8FF.S */
-/* File: x86-atom/unused.S */
- /* Copyright (C) 2008 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
- /*
- * File: unused.S
- *
- * Code: Common code for unused bytecodes. Uses no subtitutions.
- *
- * For: all unused bytecodes
- *
- * Description: aborts if executed.
- *
- * Format: ØØ|op (10x)
- *
- * Syntax: op
- */
-
- call common_abort
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_UNUSED_B9FF: /* 0x1b9 */
-/* File: x86-atom/OP_UNUSED_B9FF.S */
-/* File: x86-atom/unused.S */
- /* Copyright (C) 2008 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
- /*
- * File: unused.S
- *
- * Code: Common code for unused bytecodes. Uses no subtitutions.
- *
- * For: all unused bytecodes
- *
- * Description: aborts if executed.
- *
- * Format: ØØ|op (10x)
- *
- * Syntax: op
- */
-
- call common_abort
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_UNUSED_BAFF: /* 0x1ba */
-/* File: x86-atom/OP_UNUSED_BAFF.S */
-/* File: x86-atom/unused.S */
- /* Copyright (C) 2008 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
- /*
- * File: unused.S
- *
- * Code: Common code for unused bytecodes. Uses no subtitutions.
- *
- * For: all unused bytecodes
- *
- * Description: aborts if executed.
- *
- * Format: ØØ|op (10x)
- *
- * Syntax: op
- */
-
- call common_abort
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_UNUSED_BBFF: /* 0x1bb */
-/* File: x86-atom/OP_UNUSED_BBFF.S */
-/* File: x86-atom/unused.S */
- /* Copyright (C) 2008 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
- /*
- * File: unused.S
- *
- * Code: Common code for unused bytecodes. Uses no subtitutions.
- *
- * For: all unused bytecodes
- *
- * Description: aborts if executed.
- *
- * Format: ØØ|op (10x)
- *
- * Syntax: op
- */
-
- call common_abort
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_UNUSED_BCFF: /* 0x1bc */
-/* File: x86-atom/OP_UNUSED_BCFF.S */
-/* File: x86-atom/unused.S */
- /* Copyright (C) 2008 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
- /*
- * File: unused.S
- *
- * Code: Common code for unused bytecodes. Uses no subtitutions.
- *
- * For: all unused bytecodes
- *
- * Description: aborts if executed.
- *
- * Format: ØØ|op (10x)
- *
- * Syntax: op
- */
-
- call common_abort
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_UNUSED_BDFF: /* 0x1bd */
-/* File: x86-atom/OP_UNUSED_BDFF.S */
-/* File: x86-atom/unused.S */
- /* Copyright (C) 2008 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
- /*
- * File: unused.S
- *
- * Code: Common code for unused bytecodes. Uses no subtitutions.
- *
- * For: all unused bytecodes
- *
- * Description: aborts if executed.
- *
- * Format: ØØ|op (10x)
- *
- * Syntax: op
- */
-
- call common_abort
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_UNUSED_BEFF: /* 0x1be */
-/* File: x86-atom/OP_UNUSED_BEFF.S */
-/* File: x86-atom/unused.S */
- /* Copyright (C) 2008 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
- /*
- * File: unused.S
- *
- * Code: Common code for unused bytecodes. Uses no subtitutions.
- *
- * For: all unused bytecodes
- *
- * Description: aborts if executed.
- *
- * Format: ØØ|op (10x)
- *
- * Syntax: op
- */
-
- call common_abort
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_UNUSED_BFFF: /* 0x1bf */
-/* File: x86-atom/OP_UNUSED_BFFF.S */
-/* File: x86-atom/unused.S */
- /* Copyright (C) 2008 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
- /*
- * File: unused.S
- *
- * Code: Common code for unused bytecodes. Uses no subtitutions.
- *
- * For: all unused bytecodes
- *
- * Description: aborts if executed.
- *
- * Format: ØØ|op (10x)
- *
- * Syntax: op
- */
-
- call common_abort
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_UNUSED_C0FF: /* 0x1c0 */
-/* File: x86-atom/OP_UNUSED_C0FF.S */
-/* File: x86-atom/unused.S */
- /* Copyright (C) 2008 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
- /*
- * File: unused.S
- *
- * Code: Common code for unused bytecodes. Uses no subtitutions.
- *
- * For: all unused bytecodes
- *
- * Description: aborts if executed.
- *
- * Format: ØØ|op (10x)
- *
- * Syntax: op
- */
-
- call common_abort
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_UNUSED_C1FF: /* 0x1c1 */
-/* File: x86-atom/OP_UNUSED_C1FF.S */
-/* File: x86-atom/unused.S */
- /* Copyright (C) 2008 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
- /*
- * File: unused.S
- *
- * Code: Common code for unused bytecodes. Uses no subtitutions.
- *
- * For: all unused bytecodes
- *
- * Description: aborts if executed.
- *
- * Format: ØØ|op (10x)
- *
- * Syntax: op
- */
-
- call common_abort
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_UNUSED_C2FF: /* 0x1c2 */
-/* File: x86-atom/OP_UNUSED_C2FF.S */
-/* File: x86-atom/unused.S */
- /* Copyright (C) 2008 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
- /*
- * File: unused.S
- *
- * Code: Common code for unused bytecodes. Uses no subtitutions.
- *
- * For: all unused bytecodes
- *
- * Description: aborts if executed.
- *
- * Format: ØØ|op (10x)
- *
- * Syntax: op
- */
-
- call common_abort
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_UNUSED_C3FF: /* 0x1c3 */
-/* File: x86-atom/OP_UNUSED_C3FF.S */
-/* File: x86-atom/unused.S */
- /* Copyright (C) 2008 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
- /*
- * File: unused.S
- *
- * Code: Common code for unused bytecodes. Uses no subtitutions.
- *
- * For: all unused bytecodes
- *
- * Description: aborts if executed.
- *
- * Format: ØØ|op (10x)
- *
- * Syntax: op
- */
-
- call common_abort
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_UNUSED_C4FF: /* 0x1c4 */
-/* File: x86-atom/OP_UNUSED_C4FF.S */
-/* File: x86-atom/unused.S */
- /* Copyright (C) 2008 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
- /*
- * File: unused.S
- *
- * Code: Common code for unused bytecodes. Uses no subtitutions.
- *
- * For: all unused bytecodes
- *
- * Description: aborts if executed.
- *
- * Format: ØØ|op (10x)
- *
- * Syntax: op
- */
-
- call common_abort
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_UNUSED_C5FF: /* 0x1c5 */
-/* File: x86-atom/OP_UNUSED_C5FF.S */
-/* File: x86-atom/unused.S */
- /* Copyright (C) 2008 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
- /*
- * File: unused.S
- *
- * Code: Common code for unused bytecodes. Uses no subtitutions.
- *
- * For: all unused bytecodes
- *
- * Description: aborts if executed.
- *
- * Format: ØØ|op (10x)
- *
- * Syntax: op
- */
-
- call common_abort
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_UNUSED_C6FF: /* 0x1c6 */
-/* File: x86-atom/OP_UNUSED_C6FF.S */
-/* File: x86-atom/unused.S */
- /* Copyright (C) 2008 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
- /*
- * File: unused.S
- *
- * Code: Common code for unused bytecodes. Uses no subtitutions.
- *
- * For: all unused bytecodes
- *
- * Description: aborts if executed.
- *
- * Format: ØØ|op (10x)
- *
- * Syntax: op
- */
-
- call common_abort
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_UNUSED_C7FF: /* 0x1c7 */
-/* File: x86-atom/OP_UNUSED_C7FF.S */
-/* File: x86-atom/unused.S */
- /* Copyright (C) 2008 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
- /*
- * File: unused.S
- *
- * Code: Common code for unused bytecodes. Uses no subtitutions.
- *
- * For: all unused bytecodes
- *
- * Description: aborts if executed.
- *
- * Format: ØØ|op (10x)
- *
- * Syntax: op
- */
-
- call common_abort
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_UNUSED_C8FF: /* 0x1c8 */
-/* File: x86-atom/OP_UNUSED_C8FF.S */
-/* File: x86-atom/unused.S */
- /* Copyright (C) 2008 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
- /*
- * File: unused.S
- *
- * Code: Common code for unused bytecodes. Uses no subtitutions.
- *
- * For: all unused bytecodes
- *
- * Description: aborts if executed.
- *
- * Format: ØØ|op (10x)
- *
- * Syntax: op
- */
-
- call common_abort
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_UNUSED_C9FF: /* 0x1c9 */
-/* File: x86-atom/OP_UNUSED_C9FF.S */
-/* File: x86-atom/unused.S */
- /* Copyright (C) 2008 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
- /*
- * File: unused.S
- *
- * Code: Common code for unused bytecodes. Uses no subtitutions.
- *
- * For: all unused bytecodes
- *
- * Description: aborts if executed.
- *
- * Format: ØØ|op (10x)
- *
- * Syntax: op
- */
-
- call common_abort
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_UNUSED_CAFF: /* 0x1ca */
-/* File: x86-atom/OP_UNUSED_CAFF.S */
-/* File: x86-atom/unused.S */
- /* Copyright (C) 2008 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
- /*
- * File: unused.S
- *
- * Code: Common code for unused bytecodes. Uses no subtitutions.
- *
- * For: all unused bytecodes
- *
- * Description: aborts if executed.
- *
- * Format: ØØ|op (10x)
- *
- * Syntax: op
- */
-
- call common_abort
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_UNUSED_CBFF: /* 0x1cb */
-/* File: x86-atom/OP_UNUSED_CBFF.S */
-/* File: x86-atom/unused.S */
- /* Copyright (C) 2008 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
- /*
- * File: unused.S
- *
- * Code: Common code for unused bytecodes. Uses no subtitutions.
- *
- * For: all unused bytecodes
- *
- * Description: aborts if executed.
- *
- * Format: ØØ|op (10x)
- *
- * Syntax: op
- */
-
- call common_abort
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_UNUSED_CCFF: /* 0x1cc */
-/* File: x86-atom/OP_UNUSED_CCFF.S */
-/* File: x86-atom/unused.S */
- /* Copyright (C) 2008 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
- /*
- * File: unused.S
- *
- * Code: Common code for unused bytecodes. Uses no subtitutions.
- *
- * For: all unused bytecodes
- *
- * Description: aborts if executed.
- *
- * Format: ØØ|op (10x)
- *
- * Syntax: op
- */
-
- call common_abort
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_UNUSED_CDFF: /* 0x1cd */
-/* File: x86-atom/OP_UNUSED_CDFF.S */
-/* File: x86-atom/unused.S */
- /* Copyright (C) 2008 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
- /*
- * File: unused.S
- *
- * Code: Common code for unused bytecodes. Uses no subtitutions.
- *
- * For: all unused bytecodes
- *
- * Description: aborts if executed.
- *
- * Format: ØØ|op (10x)
- *
- * Syntax: op
- */
-
- call common_abort
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_UNUSED_CEFF: /* 0x1ce */
-/* File: x86-atom/OP_UNUSED_CEFF.S */
-/* File: x86-atom/unused.S */
- /* Copyright (C) 2008 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
- /*
- * File: unused.S
- *
- * Code: Common code for unused bytecodes. Uses no subtitutions.
- *
- * For: all unused bytecodes
- *
- * Description: aborts if executed.
- *
- * Format: ØØ|op (10x)
- *
- * Syntax: op
- */
-
- call common_abort
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_UNUSED_CFFF: /* 0x1cf */
-/* File: x86-atom/OP_UNUSED_CFFF.S */
-/* File: x86-atom/unused.S */
- /* Copyright (C) 2008 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
- /*
- * File: unused.S
- *
- * Code: Common code for unused bytecodes. Uses no subtitutions.
- *
- * For: all unused bytecodes
- *
- * Description: aborts if executed.
- *
- * Format: ØØ|op (10x)
- *
- * Syntax: op
- */
-
- call common_abort
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_UNUSED_D0FF: /* 0x1d0 */
-/* File: x86-atom/OP_UNUSED_D0FF.S */
-/* File: x86-atom/unused.S */
- /* Copyright (C) 2008 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
- /*
- * File: unused.S
- *
- * Code: Common code for unused bytecodes. Uses no subtitutions.
- *
- * For: all unused bytecodes
- *
- * Description: aborts if executed.
- *
- * Format: ØØ|op (10x)
- *
- * Syntax: op
- */
-
- call common_abort
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_UNUSED_D1FF: /* 0x1d1 */
-/* File: x86-atom/OP_UNUSED_D1FF.S */
-/* File: x86-atom/unused.S */
- /* Copyright (C) 2008 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
- /*
- * File: unused.S
- *
- * Code: Common code for unused bytecodes. Uses no subtitutions.
- *
- * For: all unused bytecodes
- *
- * Description: aborts if executed.
- *
- * Format: ØØ|op (10x)
- *
- * Syntax: op
- */
-
- call common_abort
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_UNUSED_D2FF: /* 0x1d2 */
-/* File: x86-atom/OP_UNUSED_D2FF.S */
-/* File: x86-atom/unused.S */
- /* Copyright (C) 2008 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
- /*
- * File: unused.S
- *
- * Code: Common code for unused bytecodes. Uses no subtitutions.
- *
- * For: all unused bytecodes
- *
- * Description: aborts if executed.
- *
- * Format: ØØ|op (10x)
- *
- * Syntax: op
- */
-
- call common_abort
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_UNUSED_D3FF: /* 0x1d3 */
-/* File: x86-atom/OP_UNUSED_D3FF.S */
-/* File: x86-atom/unused.S */
- /* Copyright (C) 2008 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
- /*
- * File: unused.S
- *
- * Code: Common code for unused bytecodes. Uses no subtitutions.
- *
- * For: all unused bytecodes
- *
- * Description: aborts if executed.
- *
- * Format: ØØ|op (10x)
- *
- * Syntax: op
- */
-
- call common_abort
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_UNUSED_D4FF: /* 0x1d4 */
-/* File: x86-atom/OP_UNUSED_D4FF.S */
-/* File: x86-atom/unused.S */
- /* Copyright (C) 2008 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
- /*
- * File: unused.S
- *
- * Code: Common code for unused bytecodes. Uses no subtitutions.
- *
- * For: all unused bytecodes
- *
- * Description: aborts if executed.
- *
- * Format: ØØ|op (10x)
- *
- * Syntax: op
- */
-
- call common_abort
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_UNUSED_D5FF: /* 0x1d5 */
-/* File: x86-atom/OP_UNUSED_D5FF.S */
-/* File: x86-atom/unused.S */
- /* Copyright (C) 2008 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
- /*
- * File: unused.S
- *
- * Code: Common code for unused bytecodes. Uses no subtitutions.
- *
- * For: all unused bytecodes
- *
- * Description: aborts if executed.
- *
- * Format: ØØ|op (10x)
- *
- * Syntax: op
- */
-
- call common_abort
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_UNUSED_D6FF: /* 0x1d6 */
-/* File: x86-atom/OP_UNUSED_D6FF.S */
-/* File: x86-atom/unused.S */
- /* Copyright (C) 2008 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
- /*
- * File: unused.S
- *
- * Code: Common code for unused bytecodes. Uses no subtitutions.
- *
- * For: all unused bytecodes
- *
- * Description: aborts if executed.
- *
- * Format: ØØ|op (10x)
- *
- * Syntax: op
- */
-
- call common_abort
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_UNUSED_D7FF: /* 0x1d7 */
-/* File: x86-atom/OP_UNUSED_D7FF.S */
-/* File: x86-atom/unused.S */
- /* Copyright (C) 2008 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
- /*
- * File: unused.S
- *
- * Code: Common code for unused bytecodes. Uses no subtitutions.
- *
- * For: all unused bytecodes
- *
- * Description: aborts if executed.
- *
- * Format: ØØ|op (10x)
- *
- * Syntax: op
- */
-
- call common_abort
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_UNUSED_D8FF: /* 0x1d8 */
-/* File: x86-atom/OP_UNUSED_D8FF.S */
-/* File: x86-atom/unused.S */
- /* Copyright (C) 2008 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
- /*
- * File: unused.S
- *
- * Code: Common code for unused bytecodes. Uses no subtitutions.
- *
- * For: all unused bytecodes
- *
- * Description: aborts if executed.
- *
- * Format: ØØ|op (10x)
- *
- * Syntax: op
- */
-
- call common_abort
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_UNUSED_D9FF: /* 0x1d9 */
-/* File: x86-atom/OP_UNUSED_D9FF.S */
-/* File: x86-atom/unused.S */
- /* Copyright (C) 2008 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
- /*
- * File: unused.S
- *
- * Code: Common code for unused bytecodes. Uses no subtitutions.
- *
- * For: all unused bytecodes
- *
- * Description: aborts if executed.
- *
- * Format: ØØ|op (10x)
- *
- * Syntax: op
- */
-
- call common_abort
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_UNUSED_DAFF: /* 0x1da */
-/* File: x86-atom/OP_UNUSED_DAFF.S */
-/* File: x86-atom/unused.S */
- /* Copyright (C) 2008 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
- /*
- * File: unused.S
- *
- * Code: Common code for unused bytecodes. Uses no subtitutions.
- *
- * For: all unused bytecodes
- *
- * Description: aborts if executed.
- *
- * Format: ØØ|op (10x)
- *
- * Syntax: op
- */
-
- call common_abort
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_UNUSED_DBFF: /* 0x1db */
-/* File: x86-atom/OP_UNUSED_DBFF.S */
-/* File: x86-atom/unused.S */
- /* Copyright (C) 2008 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
- /*
- * File: unused.S
- *
- * Code: Common code for unused bytecodes. Uses no subtitutions.
- *
- * For: all unused bytecodes
- *
- * Description: aborts if executed.
- *
- * Format: ØØ|op (10x)
- *
- * Syntax: op
- */
-
- call common_abort
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_UNUSED_DCFF: /* 0x1dc */
-/* File: x86-atom/OP_UNUSED_DCFF.S */
-/* File: x86-atom/unused.S */
- /* Copyright (C) 2008 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
- /*
- * File: unused.S
- *
- * Code: Common code for unused bytecodes. Uses no subtitutions.
- *
- * For: all unused bytecodes
- *
- * Description: aborts if executed.
- *
- * Format: ØØ|op (10x)
- *
- * Syntax: op
- */
-
- call common_abort
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_UNUSED_DDFF: /* 0x1dd */
-/* File: x86-atom/OP_UNUSED_DDFF.S */
-/* File: x86-atom/unused.S */
- /* Copyright (C) 2008 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
- /*
- * File: unused.S
- *
- * Code: Common code for unused bytecodes. Uses no subtitutions.
- *
- * For: all unused bytecodes
- *
- * Description: aborts if executed.
- *
- * Format: ØØ|op (10x)
- *
- * Syntax: op
- */
-
- call common_abort
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_UNUSED_DEFF: /* 0x1de */
-/* File: x86-atom/OP_UNUSED_DEFF.S */
-/* File: x86-atom/unused.S */
- /* Copyright (C) 2008 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
- /*
- * File: unused.S
- *
- * Code: Common code for unused bytecodes. Uses no subtitutions.
- *
- * For: all unused bytecodes
- *
- * Description: aborts if executed.
- *
- * Format: ØØ|op (10x)
- *
- * Syntax: op
- */
-
- call common_abort
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_UNUSED_DFFF: /* 0x1df */
-/* File: x86-atom/OP_UNUSED_DFFF.S */
-/* File: x86-atom/unused.S */
- /* Copyright (C) 2008 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
- /*
- * File: unused.S
- *
- * Code: Common code for unused bytecodes. Uses no subtitutions.
- *
- * For: all unused bytecodes
- *
- * Description: aborts if executed.
- *
- * Format: ØØ|op (10x)
- *
- * Syntax: op
- */
-
- call common_abort
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_UNUSED_E0FF: /* 0x1e0 */
-/* File: x86-atom/OP_UNUSED_E0FF.S */
-/* File: x86-atom/unused.S */
- /* Copyright (C) 2008 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
- /*
- * File: unused.S
- *
- * Code: Common code for unused bytecodes. Uses no subtitutions.
- *
- * For: all unused bytecodes
- *
- * Description: aborts if executed.
- *
- * Format: ØØ|op (10x)
- *
- * Syntax: op
- */
-
- call common_abort
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_UNUSED_E1FF: /* 0x1e1 */
-/* File: x86-atom/OP_UNUSED_E1FF.S */
-/* File: x86-atom/unused.S */
- /* Copyright (C) 2008 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
- /*
- * File: unused.S
- *
- * Code: Common code for unused bytecodes. Uses no subtitutions.
- *
- * For: all unused bytecodes
- *
- * Description: aborts if executed.
- *
- * Format: ØØ|op (10x)
- *
- * Syntax: op
- */
-
- call common_abort
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_UNUSED_E2FF: /* 0x1e2 */
-/* File: x86-atom/OP_UNUSED_E2FF.S */
-/* File: x86-atom/unused.S */
- /* Copyright (C) 2008 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
- /*
- * File: unused.S
- *
- * Code: Common code for unused bytecodes. Uses no subtitutions.
- *
- * For: all unused bytecodes
- *
- * Description: aborts if executed.
- *
- * Format: ØØ|op (10x)
- *
- * Syntax: op
- */
-
- call common_abort
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_UNUSED_E3FF: /* 0x1e3 */
-/* File: x86-atom/OP_UNUSED_E3FF.S */
-/* File: x86-atom/unused.S */
- /* Copyright (C) 2008 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
- /*
- * File: unused.S
- *
- * Code: Common code for unused bytecodes. Uses no subtitutions.
- *
- * For: all unused bytecodes
- *
- * Description: aborts if executed.
- *
- * Format: ØØ|op (10x)
- *
- * Syntax: op
- */
-
- call common_abort
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_UNUSED_E4FF: /* 0x1e4 */
-/* File: x86-atom/OP_UNUSED_E4FF.S */
-/* File: x86-atom/unused.S */
- /* Copyright (C) 2008 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
- /*
- * File: unused.S
- *
- * Code: Common code for unused bytecodes. Uses no subtitutions.
- *
- * For: all unused bytecodes
- *
- * Description: aborts if executed.
- *
- * Format: ØØ|op (10x)
- *
- * Syntax: op
- */
-
- call common_abort
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_UNUSED_E5FF: /* 0x1e5 */
-/* File: x86-atom/OP_UNUSED_E5FF.S */
-/* File: x86-atom/unused.S */
- /* Copyright (C) 2008 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
- /*
- * File: unused.S
- *
- * Code: Common code for unused bytecodes. Uses no subtitutions.
- *
- * For: all unused bytecodes
- *
- * Description: aborts if executed.
- *
- * Format: ØØ|op (10x)
- *
- * Syntax: op
- */
-
- call common_abort
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_UNUSED_E6FF: /* 0x1e6 */
-/* File: x86-atom/OP_UNUSED_E6FF.S */
-/* File: x86-atom/unused.S */
- /* Copyright (C) 2008 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
- /*
- * File: unused.S
- *
- * Code: Common code for unused bytecodes. Uses no subtitutions.
- *
- * For: all unused bytecodes
- *
- * Description: aborts if executed.
- *
- * Format: ØØ|op (10x)
- *
- * Syntax: op
- */
-
- call common_abort
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_UNUSED_E7FF: /* 0x1e7 */
-/* File: x86-atom/OP_UNUSED_E7FF.S */
-/* File: x86-atom/unused.S */
- /* Copyright (C) 2008 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
- /*
- * File: unused.S
- *
- * Code: Common code for unused bytecodes. Uses no subtitutions.
- *
- * For: all unused bytecodes
- *
- * Description: aborts if executed.
- *
- * Format: ØØ|op (10x)
- *
- * Syntax: op
- */
-
- call common_abort
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_UNUSED_E8FF: /* 0x1e8 */
-/* File: x86-atom/OP_UNUSED_E8FF.S */
-/* File: x86-atom/unused.S */
- /* Copyright (C) 2008 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
- /*
- * File: unused.S
- *
- * Code: Common code for unused bytecodes. Uses no subtitutions.
- *
- * For: all unused bytecodes
- *
- * Description: aborts if executed.
- *
- * Format: ØØ|op (10x)
- *
- * Syntax: op
- */
-
- call common_abort
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_UNUSED_E9FF: /* 0x1e9 */
-/* File: x86-atom/OP_UNUSED_E9FF.S */
-/* File: x86-atom/unused.S */
- /* Copyright (C) 2008 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
- /*
- * File: unused.S
- *
- * Code: Common code for unused bytecodes. Uses no subtitutions.
- *
- * For: all unused bytecodes
- *
- * Description: aborts if executed.
- *
- * Format: ØØ|op (10x)
- *
- * Syntax: op
- */
-
- call common_abort
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_UNUSED_EAFF: /* 0x1ea */
-/* File: x86-atom/OP_UNUSED_EAFF.S */
-/* File: x86-atom/unused.S */
- /* Copyright (C) 2008 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
- /*
- * File: unused.S
- *
- * Code: Common code for unused bytecodes. Uses no subtitutions.
- *
- * For: all unused bytecodes
- *
- * Description: aborts if executed.
- *
- * Format: ØØ|op (10x)
- *
- * Syntax: op
- */
-
- call common_abort
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_UNUSED_EBFF: /* 0x1eb */
-/* File: x86-atom/OP_UNUSED_EBFF.S */
-/* File: x86-atom/unused.S */
- /* Copyright (C) 2008 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
- /*
- * File: unused.S
- *
- * Code: Common code for unused bytecodes. Uses no subtitutions.
- *
- * For: all unused bytecodes
- *
- * Description: aborts if executed.
- *
- * Format: ØØ|op (10x)
- *
- * Syntax: op
- */
-
- call common_abort
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_UNUSED_ECFF: /* 0x1ec */
-/* File: x86-atom/OP_UNUSED_ECFF.S */
-/* File: x86-atom/unused.S */
- /* Copyright (C) 2008 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
- /*
- * File: unused.S
- *
- * Code: Common code for unused bytecodes. Uses no subtitutions.
- *
- * For: all unused bytecodes
- *
- * Description: aborts if executed.
- *
- * Format: ØØ|op (10x)
- *
- * Syntax: op
- */
-
- call common_abort
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_UNUSED_EDFF: /* 0x1ed */
-/* File: x86-atom/OP_UNUSED_EDFF.S */
-/* File: x86-atom/unused.S */
- /* Copyright (C) 2008 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
- /*
- * File: unused.S
- *
- * Code: Common code for unused bytecodes. Uses no subtitutions.
- *
- * For: all unused bytecodes
- *
- * Description: aborts if executed.
- *
- * Format: ØØ|op (10x)
- *
- * Syntax: op
- */
-
- call common_abort
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_UNUSED_EEFF: /* 0x1ee */
-/* File: x86-atom/OP_UNUSED_EEFF.S */
-/* File: x86-atom/unused.S */
- /* Copyright (C) 2008 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
- /*
- * File: unused.S
- *
- * Code: Common code for unused bytecodes. Uses no subtitutions.
- *
- * For: all unused bytecodes
- *
- * Description: aborts if executed.
- *
- * Format: ØØ|op (10x)
- *
- * Syntax: op
- */
-
- call common_abort
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_UNUSED_EFFF: /* 0x1ef */
-/* File: x86-atom/OP_UNUSED_EFFF.S */
-/* File: x86-atom/unused.S */
- /* Copyright (C) 2008 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
- /*
- * File: unused.S
- *
- * Code: Common code for unused bytecodes. Uses no subtitutions.
- *
- * For: all unused bytecodes
- *
- * Description: aborts if executed.
- *
- * Format: ØØ|op (10x)
- *
- * Syntax: op
- */
-
- call common_abort
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_UNUSED_F0FF: /* 0x1f0 */
-/* File: x86-atom/OP_UNUSED_F0FF.S */
-/* File: x86-atom/unused.S */
- /* Copyright (C) 2008 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
- /*
- * File: unused.S
- *
- * Code: Common code for unused bytecodes. Uses no subtitutions.
- *
- * For: all unused bytecodes
- *
- * Description: aborts if executed.
- *
- * Format: ØØ|op (10x)
- *
- * Syntax: op
- */
-
- call common_abort
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_UNUSED_F1FF: /* 0x1f1 */
-/* File: x86-atom/OP_UNUSED_F1FF.S */
-/* File: x86-atom/unused.S */
- /* Copyright (C) 2008 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
- /*
- * File: unused.S
- *
- * Code: Common code for unused bytecodes. Uses no subtitutions.
- *
- * For: all unused bytecodes
- *
- * Description: aborts if executed.
- *
- * Format: ØØ|op (10x)
- *
- * Syntax: op
- */
-
- call common_abort
-
-
-/* ------------------------------ */
- .balign 64
-.L_OP_INVOKE_OBJECT_INIT_JUMBO: /* 0x1f2 */
- /* Copyright (C) 2008 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
- /*
- * File: stub.S
- */
-
- SAVE_PC_FP_TO_GLUE %edx # save program counter and frame pointer
- pushl rGLUE # push parameter glue
- call dvmMterp_OP_INVOKE_OBJECT_INIT_JUMBO # call c-based implementation
- lea 4(%esp), %esp
- LOAD_PC_FP_FROM_GLUE # restore program counter and frame pointer
- FINISH_A # jump to next instruction
-/* ------------------------------ */
- .balign 64
-.L_OP_IGET_VOLATILE_JUMBO: /* 0x1f3 */
- /* Copyright (C) 2008 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
- /*
- * File: stub.S
- */
-
- SAVE_PC_FP_TO_GLUE %edx # save program counter and frame pointer
- pushl rGLUE # push parameter glue
- call dvmMterp_OP_IGET_VOLATILE_JUMBO # call c-based implementation
- lea 4(%esp), %esp
- LOAD_PC_FP_FROM_GLUE # restore program counter and frame pointer
- FINISH_A # jump to next instruction
-/* ------------------------------ */
- .balign 64
-.L_OP_IGET_WIDE_VOLATILE_JUMBO: /* 0x1f4 */
- /* Copyright (C) 2008 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
- /*
- * File: stub.S
- */
-
- SAVE_PC_FP_TO_GLUE %edx # save program counter and frame pointer
- pushl rGLUE # push parameter glue
- call dvmMterp_OP_IGET_WIDE_VOLATILE_JUMBO # call c-based implementation
- lea 4(%esp), %esp
- LOAD_PC_FP_FROM_GLUE # restore program counter and frame pointer
- FINISH_A # jump to next instruction
-/* ------------------------------ */
- .balign 64
-.L_OP_IGET_OBJECT_VOLATILE_JUMBO: /* 0x1f5 */
- /* Copyright (C) 2008 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
- /*
- * File: stub.S
- */
-
- SAVE_PC_FP_TO_GLUE %edx # save program counter and frame pointer
- pushl rGLUE # push parameter glue
- call dvmMterp_OP_IGET_OBJECT_VOLATILE_JUMBO # call c-based implementation
- lea 4(%esp), %esp
- LOAD_PC_FP_FROM_GLUE # restore program counter and frame pointer
- FINISH_A # jump to next instruction
-/* ------------------------------ */
- .balign 64
-.L_OP_IPUT_VOLATILE_JUMBO: /* 0x1f6 */
- /* Copyright (C) 2008 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
- /*
- * File: stub.S
- */
-
- SAVE_PC_FP_TO_GLUE %edx # save program counter and frame pointer
- pushl rGLUE # push parameter glue
- call dvmMterp_OP_IPUT_VOLATILE_JUMBO # call c-based implementation
- lea 4(%esp), %esp
- LOAD_PC_FP_FROM_GLUE # restore program counter and frame pointer
- FINISH_A # jump to next instruction
-/* ------------------------------ */
- .balign 64
-.L_OP_IPUT_WIDE_VOLATILE_JUMBO: /* 0x1f7 */
- /* Copyright (C) 2008 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
- /*
- * File: stub.S
- */
-
- SAVE_PC_FP_TO_GLUE %edx # save program counter and frame pointer
- pushl rGLUE # push parameter glue
- call dvmMterp_OP_IPUT_WIDE_VOLATILE_JUMBO # call c-based implementation
- lea 4(%esp), %esp
- LOAD_PC_FP_FROM_GLUE # restore program counter and frame pointer
- FINISH_A # jump to next instruction
-/* ------------------------------ */
- .balign 64
-.L_OP_IPUT_OBJECT_VOLATILE_JUMBO: /* 0x1f8 */
- /* Copyright (C) 2008 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
- /*
- * File: stub.S
- */
-
- SAVE_PC_FP_TO_GLUE %edx # save program counter and frame pointer
- pushl rGLUE # push parameter glue
- call dvmMterp_OP_IPUT_OBJECT_VOLATILE_JUMBO # call c-based implementation
- lea 4(%esp), %esp
- LOAD_PC_FP_FROM_GLUE # restore program counter and frame pointer
- FINISH_A # jump to next instruction
-/* ------------------------------ */
- .balign 64
-.L_OP_SGET_VOLATILE_JUMBO: /* 0x1f9 */
- /* Copyright (C) 2008 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
- /*
- * File: stub.S
- */
-
- SAVE_PC_FP_TO_GLUE %edx # save program counter and frame pointer
- pushl rGLUE # push parameter glue
- call dvmMterp_OP_SGET_VOLATILE_JUMBO # call c-based implementation
- lea 4(%esp), %esp
- LOAD_PC_FP_FROM_GLUE # restore program counter and frame pointer
- FINISH_A # jump to next instruction
-/* ------------------------------ */
- .balign 64
-.L_OP_SGET_WIDE_VOLATILE_JUMBO: /* 0x1fa */
- /* Copyright (C) 2008 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
- /*
- * File: stub.S
- */
-
- SAVE_PC_FP_TO_GLUE %edx # save program counter and frame pointer
- pushl rGLUE # push parameter glue
- call dvmMterp_OP_SGET_WIDE_VOLATILE_JUMBO # call c-based implementation
- lea 4(%esp), %esp
- LOAD_PC_FP_FROM_GLUE # restore program counter and frame pointer
- FINISH_A # jump to next instruction
-/* ------------------------------ */
- .balign 64
-.L_OP_SGET_OBJECT_VOLATILE_JUMBO: /* 0x1fb */
- /* Copyright (C) 2008 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
- /*
- * File: stub.S
- */
-
- SAVE_PC_FP_TO_GLUE %edx # save program counter and frame pointer
- pushl rGLUE # push parameter glue
- call dvmMterp_OP_SGET_OBJECT_VOLATILE_JUMBO # call c-based implementation
- lea 4(%esp), %esp
- LOAD_PC_FP_FROM_GLUE # restore program counter and frame pointer
- FINISH_A # jump to next instruction
-/* ------------------------------ */
- .balign 64
-.L_OP_SPUT_VOLATILE_JUMBO: /* 0x1fc */
- /* Copyright (C) 2008 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
- /*
- * File: stub.S
- */
-
- SAVE_PC_FP_TO_GLUE %edx # save program counter and frame pointer
- pushl rGLUE # push parameter glue
- call dvmMterp_OP_SPUT_VOLATILE_JUMBO # call c-based implementation
- lea 4(%esp), %esp
- LOAD_PC_FP_FROM_GLUE # restore program counter and frame pointer
- FINISH_A # jump to next instruction
-/* ------------------------------ */
- .balign 64
-.L_OP_SPUT_WIDE_VOLATILE_JUMBO: /* 0x1fd */
- /* Copyright (C) 2008 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
- /*
- * File: stub.S
- */
-
- SAVE_PC_FP_TO_GLUE %edx # save program counter and frame pointer
- pushl rGLUE # push parameter glue
- call dvmMterp_OP_SPUT_WIDE_VOLATILE_JUMBO # call c-based implementation
- lea 4(%esp), %esp
- LOAD_PC_FP_FROM_GLUE # restore program counter and frame pointer
- FINISH_A # jump to next instruction
-/* ------------------------------ */
- .balign 64
-.L_OP_SPUT_OBJECT_VOLATILE_JUMBO: /* 0x1fe */
- /* Copyright (C) 2008 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
- /*
- * File: stub.S
- */
-
- SAVE_PC_FP_TO_GLUE %edx # save program counter and frame pointer
- pushl rGLUE # push parameter glue
- call dvmMterp_OP_SPUT_OBJECT_VOLATILE_JUMBO # call c-based implementation
- lea 4(%esp), %esp
- LOAD_PC_FP_FROM_GLUE # restore program counter and frame pointer
- FINISH_A # jump to next instruction
-/* ------------------------------ */
- .balign 64
-.L_OP_THROW_VERIFICATION_ERROR_JUMBO: /* 0x1ff */
-/* File: x86-atom/OP_THROW_VERIFICATION_ERROR_JUMBO.S */
/* File: x86-atom/unused.S */
/* Copyright (C) 2008 The Android Open Source Project
*
@@ -27198,7 +17839,7 @@ dvmAsmInstructionJmpTable = .LdvmAsmInstructionJmpTable
.long .L_OP_IPUT_OBJECT_VOLATILE
.long .L_OP_SGET_OBJECT_VOLATILE
.long .L_OP_SPUT_OBJECT_VOLATILE
-.long .L_OP_DISPATCH_FF
+.long .L_OP_UNUSED_FF
/* File: x86-atom/footer.S */
/* Copyright (C) 2008 The Android Open Source Project
diff --git a/vm/mterp/out/InterpAsm-x86.S b/vm/mterp/out/InterpAsm-x86.S
index 41b261ca1..de8dd55e4 100644
--- a/vm/mterp/out/InterpAsm-x86.S
+++ b/vm/mterp/out/InterpAsm-x86.S
@@ -233,16 +233,6 @@ Notes:
jmp *(rIBASE,\_reg,4)
.endm
- /*
- * Jumbo version of GOTO_NEXT that assumes _reg preloaded with table
- * offset of the jumbo instruction, which is the top half of the extended
- * opcode + 0x100. Loads rINST with BBBB field, similar to GOTO_NEXT_R
- */
-.macro GOTO_NEXT_JUMBO_R _reg
- movzwl 6(rPC),rINST
- jmp *(rIBASE,\_reg,4)
-.endm
-
/*
* Get/set the 32-bit value from a Dalvik register.
*/
@@ -7931,3553 +7921,12 @@ dvmAsmInstructionStartCode = .L_OP_NOP
/* ------------------------------ */
-.L_OP_DISPATCH_FF: /* 0xff */
-/* File: x86/OP_DISPATCH_FF.S */
- leal 256(rINST),%ecx
- GOTO_NEXT_JUMBO_R %ecx
-
-/* ------------------------------ */
-.L_OP_CONST_CLASS_JUMBO: /* 0x100 */
-/* File: x86/OP_CONST_CLASS_JUMBO.S */
- /* const-class/jumbo vBBBB, Class@AAAAAAAA */
- movl rSELF,%ecx
- movl 2(rPC),%eax # eax<- AAAAAAAA
- movl offThread_methodClassDex(%ecx),%ecx# ecx<- self->methodClassDex
- movl offDvmDex_pResClasses(%ecx),%ecx # ecx<- dvmDex->pResClasses
- movl (%ecx,%eax,4),%eax # eax<- rResClasses[AAAAAAAA]
- FETCH_INST_OPCODE 4 %ecx
- testl %eax,%eax # resolved yet?
- je .LOP_CONST_CLASS_JUMBO_resolve
- SET_VREG %eax rINST # vBBBB<- rResClasses[AAAAAAAA]
- ADVANCE_PC 4
- GOTO_NEXT_R %ecx
-
-/* This is the less common path, so we'll redo some work
- here rather than force spills on the common path */
-.LOP_CONST_CLASS_JUMBO_resolve:
- movl rSELF,%eax
- EXPORT_PC
- movl offThread_method(%eax),%eax # eax<- self->method
- movl $1,OUT_ARG2(%esp) # true
- movl 2(rPC),%ecx # ecx<- AAAAAAAA
- movl offMethod_clazz(%eax),%eax
- movl %ecx,OUT_ARG1(%esp)
- movl %eax,OUT_ARG0(%esp)
- SPILL(rIBASE)
- call dvmResolveClass # go resolve
- UNSPILL(rIBASE)
- testl %eax,%eax # failed?
- je common_exceptionThrown
- FETCH_INST_OPCODE 4 %ecx
- SET_VREG %eax rINST
- ADVANCE_PC 4
- GOTO_NEXT_R %ecx
-
-/* ------------------------------ */
-.L_OP_CHECK_CAST_JUMBO: /* 0x101 */
-/* File: x86/OP_CHECK_CAST_JUMBO.S */
- /*
- * Check to see if a cast from one class to another is allowed.
- */
- /* check-cast/jumbo vBBBB, class@AAAAAAAA */
- movl rSELF,%ecx
- GET_VREG_R rINST,rINST # rINST<- vBBBB (object)
- movl 2(rPC),%eax # eax<- AAAAAAAA
- movl offThread_methodClassDex(%ecx),%ecx # ecx<- pDvmDex
- testl rINST,rINST # is oject null?
- movl offDvmDex_pResClasses(%ecx),%ecx # ecx<- pDvmDex->pResClasses
- je .LOP_CHECK_CAST_JUMBO_okay # null obj, cast always succeeds
- movl (%ecx,%eax,4),%eax # eax<- resolved class
- movl offObject_clazz(rINST),%ecx # ecx<- obj->clazz
- testl %eax,%eax # have we resolved this before?
- je .LOP_CHECK_CAST_JUMBO_resolve # no, go do it now
-.LOP_CHECK_CAST_JUMBO_resolved:
- cmpl %eax,%ecx # same class (trivial success)?
- jne .LOP_CHECK_CAST_JUMBO_fullcheck # no, do full check
-.LOP_CHECK_CAST_JUMBO_okay:
- FETCH_INST_OPCODE 4 %ecx
- ADVANCE_PC 4
- GOTO_NEXT_R %ecx
-
- /*
- * Trivial test failed, need to perform full check. This is common.
- * ecx holds obj->clazz
- * eax holds class resolved from AAAAAAAA
- * rINST holds object
- */
-.LOP_CHECK_CAST_JUMBO_fullcheck:
- movl %eax,sReg0 # we'll need the desired class on failure
- movl %eax,OUT_ARG1(%esp)
- movl %ecx,OUT_ARG0(%esp)
- SPILL(rIBASE)
- call dvmInstanceofNonTrivial # eax<- boolean result
- UNSPILL(rIBASE)
- testl %eax,%eax # failed?
- jne .LOP_CHECK_CAST_JUMBO_okay # no, success
-
- # A cast has failed. We need to throw a ClassCastException.
- EXPORT_PC
- movl offObject_clazz(rINST),%eax
- movl %eax,OUT_ARG0(%esp) # arg0<- obj->clazz
- movl sReg0,%ecx
- movl %ecx,OUT_ARG1(%esp) # arg1<- desired class
- call dvmThrowClassCastException
- jmp common_exceptionThrown
-
- /*
- * Resolution required. This is the least-likely path, and we're
- * going to have to recreate some data.
- *
- * rINST holds object
- */
-.LOP_CHECK_CAST_JUMBO_resolve:
- movl rSELF,%ecx
- EXPORT_PC
- movl 2(rPC),%eax # eax<- AAAAAAAA
- movl offThread_method(%ecx),%ecx # ecx<- self->method
- movl %eax,OUT_ARG1(%esp) # arg1<- AAAAAAAA
- movl offMethod_clazz(%ecx),%ecx # ecx<- metho->clazz
- movl $0,OUT_ARG2(%esp) # arg2<- false
- movl %ecx,OUT_ARG0(%esp) # arg0<- method->clazz
- SPILL(rIBASE)
- call dvmResolveClass # eax<- resolved ClassObject ptr
- UNSPILL(rIBASE)
- testl %eax,%eax # got null?
- je common_exceptionThrown # yes, handle exception
- movl offObject_clazz(rINST),%ecx # ecx<- obj->clazz
- jmp .LOP_CHECK_CAST_JUMBO_resolved # pick up where we left off
-
-/* ------------------------------ */
-.L_OP_INSTANCE_OF_JUMBO: /* 0x102 */
-/* File: x86/OP_INSTANCE_OF_JUMBO.S */
- /*
- * Check to see if an object reference is an instance of a class.
- *
- * Most common situation is a non-null object, being compared against
- * an already-resolved class.
- */
- /* instance-of/jumbo vBBBB, vCCCC, class@AAAAAAAA */
- movzwl 8(rPC),%eax # eax<- CCCC
- GET_VREG_R %eax %eax # eax<- vCCCC (obj)
- movl rSELF,%ecx
- testl %eax,%eax # object null?
- movl offThread_methodClassDex(%ecx),%ecx # ecx<- pDvmDex
- SPILL(rIBASE) # preserve rIBASE
- je .LOP_INSTANCE_OF_JUMBO_store # null obj, not instance, store it
- movl 2(rPC),rIBASE # edx<- AAAAAAAA
- movl offDvmDex_pResClasses(%ecx),%ecx # ecx<- pDvmDex->pResClasses
- movl (%ecx,rIBASE,4),%ecx # ecx<- resolved class
- movl offObject_clazz(%eax),%eax # eax<- obj->clazz
- testl %ecx,%ecx # have we resolved this before?
- je .LOP_INSTANCE_OF_JUMBO_resolve # not resolved, do it now
-.LOP_INSTANCE_OF_JUMBO_resolved: # eax<- obj->clazz, ecx<- resolved class
- cmpl %eax,%ecx # same class (trivial success)?
- je .LOP_INSTANCE_OF_JUMBO_trivial # yes, trivial finish
- /*
- * Trivial test failed, need to perform full check. This is common.
- * eax holds obj->clazz
- * ecx holds class resolved from BBBB
- * rINST has BA
- */
- movl %eax,OUT_ARG0(%esp)
- movl %ecx,OUT_ARG1(%esp)
- call dvmInstanceofNonTrivial # eax<- boolean result
- # fall through to OP_INSTANCE_OF_JUMBO_store
-
- /*
- * eax holds boolean result
- * rINST holds BBBB
- */
-.LOP_INSTANCE_OF_JUMBO_store:
- FETCH_INST_OPCODE 5 %ecx
- UNSPILL(rIBASE)
- ADVANCE_PC 5
- SET_VREG %eax rINST # vBBBB<- eax
- GOTO_NEXT_R %ecx
-
- /*
- * Trivial test succeeded, save and bail.
- * r9 holds BBBB
- */
-.LOP_INSTANCE_OF_JUMBO_trivial:
- FETCH_INST_OPCODE 5 %ecx
- UNSPILL(rIBASE)
- ADVANCE_PC 5
- movl $1,%eax
- SET_VREG %eax rINST # vBBBB<- true
- GOTO_NEXT_R %ecx
-
- /*
- * Resolution required. This is the least-likely path.
- *
- * edx holds AAAAAAAA
- */
-.LOP_INSTANCE_OF_JUMBO_resolve:
- movl rIBASE,OUT_ARG1(%esp) # arg1<- AAAAAAAA
- movl rSELF,%ecx
- movl offThread_method(%ecx),%ecx
- movl $1,OUT_ARG2(%esp) # arg2<- true
- movl offMethod_clazz(%ecx),%ecx # ecx<- method->clazz
- EXPORT_PC
- movl %ecx,OUT_ARG0(%esp) # arg0<- method->clazz
- call dvmResolveClass # eax<- resolved ClassObject ptr
- testl %eax,%eax # success?
- je common_exceptionThrown # no, handle exception
-/* Now, we need to sync up with fast path. We need eax to
- * hold the obj->clazz, and ecx to hold the resolved class
- */
- movl %eax,%ecx # ecx<- resolved class
- movzwl 8(rPC),%eax # eax<- CCCC
- GET_VREG_R %eax %eax # eax<- vCCCC (obj)
- movl offObject_clazz(%eax),%eax # eax<- obj->clazz
- jmp .LOP_INSTANCE_OF_JUMBO_resolved
-
-/* ------------------------------ */
-.L_OP_NEW_INSTANCE_JUMBO: /* 0x103 */
-/* File: x86/OP_NEW_INSTANCE_JUMBO.S */
- /*
- * Create a new instance of a class.
- */
- /* new-instance/jumbo vBBBB, class@AAAAAAAA */
- movl rSELF,%ecx
- movl 2(rPC),%eax # eax<- AAAAAAAA
- movl offThread_methodClassDex(%ecx),%ecx # ecx<- pDvmDex
- movl offDvmDex_pResClasses(%ecx),%ecx # ecx<- pDvmDex->pResClasses
- EXPORT_PC
- movl (%ecx,%eax,4),%ecx # ecx<- resolved class
- SPILL(rIBASE)
- testl %ecx,%ecx # resolved?
- je .LOP_NEW_INSTANCE_JUMBO_resolve # no, go do it
-.LOP_NEW_INSTANCE_JUMBO_resolved: # on entry, ecx<- class
- cmpb $CLASS_INITIALIZED,offClassObject_status(%ecx)
- jne .LOP_NEW_INSTANCE_JUMBO_needinit
-.LOP_NEW_INSTANCE_JUMBO_initialized: # on entry, ecx<- class
- movl $ALLOC_DONT_TRACK,OUT_ARG1(%esp)
- movl %ecx,OUT_ARG0(%esp)
- call dvmAllocObject # eax<- new object
- UNSPILL(rIBASE)
- FETCH_INST_OPCODE 4 %ecx
- testl %eax,%eax # success?
- je common_exceptionThrown # no, bail out
- SET_VREG %eax rINST
- ADVANCE_PC 4
- GOTO_NEXT_R %ecx
-
- /*
- * Class initialization required.
- *
- * ecx holds class object
- */
-.LOP_NEW_INSTANCE_JUMBO_needinit:
- SPILL_TMP1(%ecx) # save object
- movl %ecx,OUT_ARG0(%esp)
- call dvmInitClass # initialize class
- UNSPILL_TMP1(%ecx) # restore object
- testl %eax,%eax # success?
- jne .LOP_NEW_INSTANCE_JUMBO_initialized # success, continue
- jmp common_exceptionThrown # go deal with init exception
-
- /*
- * Resolution required. This is the least-likely path.
- *
- */
-.LOP_NEW_INSTANCE_JUMBO_resolve:
- movl rSELF,%ecx
- movl 2(rPC),%eax # eax<- AAAAAAAA
- movl offThread_method(%ecx),%ecx # ecx<- self->method
- movl %eax,OUT_ARG1(%esp)
- movl offMethod_clazz(%ecx),%ecx # ecx<- method->clazz
- movl $0,OUT_ARG2(%esp)
- movl %ecx,OUT_ARG0(%esp)
- call dvmResolveClass # call(clazz,off,flags)
- movl %eax,%ecx # ecx<- resolved ClassObject ptr
- testl %ecx,%ecx # success?
- jne .LOP_NEW_INSTANCE_JUMBO_resolved # good to go
- jmp common_exceptionThrown # no, handle exception
-
-/* ------------------------------ */
-.L_OP_NEW_ARRAY_JUMBO: /* 0x104 */
-/* File: x86/OP_NEW_ARRAY_JUMBO.S */
- /*
- * Allocate an array of objects, specified with the array class
- * and a count.
- *
- * The verifier guarantees that this is an array class, so we don't
- * check for it here.
- */
- /* new-array/jumbo vBBBB, vCCCC, class@AAAAAAAA */
- movl rSELF,%ecx
- EXPORT_PC
- movl offThread_methodClassDex(%ecx),%ecx # ecx<- pDvmDex
- movl 2(rPC),%eax # eax<- AAAAAAAA
- movl offDvmDex_pResClasses(%ecx),%ecx # ecx<- pDvmDex->pResClasses
- SPILL(rIBASE)
- movl (%ecx,%eax,4),%ecx # ecx<- resolved class
- movzwl 8(rPC),%eax # eax<- CCCC
- GET_VREG_R %eax %eax # eax<- vCCCC (array length)
- testl %eax,%eax
- js common_errNegativeArraySize # bail, passing len in eax
- testl %ecx,%ecx # already resolved?
- jne .LOP_NEW_ARRAY_JUMBO_finish # yes, fast path
- /*
- * Resolve class. (This is an uncommon case.)
- * ecx holds class (null here)
- * eax holds array length (vCCCC)
- */
- movl rSELF,%ecx
- SPILL_TMP1(%eax) # save array length
- movl offThread_method(%ecx),%ecx # ecx<- self->method
- movl 2(rPC),%eax # eax<- AAAAAAAA
- movl offMethod_clazz(%ecx),%ecx # ecx<- method->clazz
- movl %eax,OUT_ARG1(%esp)
- movl $0,OUT_ARG2(%esp)
- movl %ecx,OUT_ARG0(%esp)
- call dvmResolveClass # eax<- call(clazz,ref,flag)
- movl %eax,%ecx
- UNSPILL_TMP1(%eax)
- testl %ecx,%ecx # successful resolution?
- je common_exceptionThrown # no, bail.
-# fall through to OP_NEW_ARRAY_JUMBO_finish
-
- /*
- * Finish allocation
- *
- * ecx holds class
- * eax holds array length (vCCCC)
- */
-.LOP_NEW_ARRAY_JUMBO_finish:
- movl %ecx,OUT_ARG0(%esp)
- movl %eax,OUT_ARG1(%esp)
- movl $ALLOC_DONT_TRACK,OUT_ARG2(%esp)
- call dvmAllocArrayByClass # eax<- call(clazz,length,flags)
- UNSPILL(rIBASE)
- FETCH_INST_OPCODE 5 %ecx
- testl %eax,%eax # failed?
- je common_exceptionThrown # yup - go handle
- SET_VREG %eax rINST
- ADVANCE_PC 5
- GOTO_NEXT_R %ecx
-
-/* ------------------------------ */
-.L_OP_FILLED_NEW_ARRAY_JUMBO: /* 0x105 */
-/* File: x86/OP_FILLED_NEW_ARRAY_JUMBO.S */
- /*
- * Create a new array with elements filled from registers.
- */
- /* filled-new-array/jumbo {vCCCC..v(CCCC+BBBB-1)}, type@AAAAAAAA */
- movl rSELF,%eax
- movl offThread_methodClassDex(%eax),%eax # eax<- pDvmDex
- movl 2(rPC),%ecx # ecx<- AAAAAAAA
- movl offDvmDex_pResClasses(%eax),%eax # eax<- pDvmDex->pResClasses
- movl (%eax,%ecx,4),%eax # eax<- resolved class
- EXPORT_PC
- testl %eax,%eax # already resolved?
- jne .LOP_FILLED_NEW_ARRAY_JUMBO_continue # yes, continue
- # less frequent path, so we'll redo some work
- movl rSELF,%eax
- movl $0,OUT_ARG2(%esp) # arg2<- false
- movl %ecx,OUT_ARG1(%esp) # arg1<- AAAAAAAA
- movl offThread_method(%eax),%eax # eax<- self->method
- movl offMethod_clazz(%eax),%eax # eax<- method->clazz
- movl %eax,OUT_ARG0(%esp) # arg0<- clazz
- SPILL(rIBASE)
- call dvmResolveClass # eax<- call(clazz,ref,flag)
- UNSPILL(rIBASE)
- testl %eax,%eax # null?
- je common_exceptionThrown # yes, handle it
-
- # note: fall through to .LOP_FILLED_NEW_ARRAY_JUMBO_continue
-
- /*
- * On entry:
- * eax holds array class [r0]
- * ecx is scratch
- */
-.LOP_FILLED_NEW_ARRAY_JUMBO_continue:
- movl offClassObject_descriptor(%eax),%ecx # ecx<- arrayClass->descriptor
- movl $ALLOC_DONT_TRACK,OUT_ARG2(%esp) # arg2<- flags
- movzbl 1(%ecx),%ecx # ecx<- descriptor[1]
- movl %eax,OUT_ARG0(%esp) # arg0<- arrayClass
- movl rSELF,%eax
- cmpb $'I',%cl # supported?
- je 1f
- cmpb $'L',%cl
- je 1f
- cmpb $'[',%cl
- jne .LOP_FILLED_NEW_ARRAY_JUMBO_notimpl # no, not handled yet
-1:
- movl %ecx,offThread_retval+4(%eax) # save type
- movl rINST,OUT_ARG1(%esp) # arg1<- BBBB (length)
- SPILL(rIBASE)
- call dvmAllocArrayByClass # eax<- call(arrayClass, length, flags)
- UNSPILL(rIBASE)
- movl rSELF,%ecx
- testl %eax,%eax # alloc successful?
- je common_exceptionThrown # no, handle exception
- movl %eax,offThread_retval(%ecx) # retval.l<- new array
- movzwl 8(rPC),%ecx # ecx<- CCCC
- leal offArrayObject_contents(%eax),%eax # eax<- newArray->contents
-
-/* at this point:
- * eax is pointer to tgt
- * rINST is length
- * ecx is CCCC
- * We now need to copy values from registers into the array
- */
-
- # set up src pointer
- SPILL_TMP2(%esi)
- SPILL_TMP3(%edi)
- leal (rFP,%ecx,4),%esi # set up src ptr
- movl %eax,%edi # set up dst ptr
- movl rINST,%ecx # load count register
- rep
- movsd
- UNSPILL_TMP2(%esi)
- UNSPILL_TMP3(%edi)
- movl rSELF,%ecx
- movl offThread_retval+4(%ecx),%eax # eax<- type
-
- cmpb $'I',%al # Int array?
- je 5f # skip card mark if so
- movl offThread_retval(%ecx),%eax # eax<- object head
- movl offThread_cardTable(%ecx),%ecx # card table base
- shrl $GC_CARD_SHIFT,%eax # convert to card num
- movb %cl,(%ecx,%eax) # mark card based on object head
-5:
- FETCH_INST_OPCODE 5 %ecx
- ADVANCE_PC 5
- GOTO_NEXT_R %ecx
-
-
- /*
- * Throw an exception indicating that we have not implemented this
- * mode of filled-new-array.
- */
-.LOP_FILLED_NEW_ARRAY_JUMBO_notimpl:
- movl $.LstrFilledNewArrayNotImplA,%eax
- movl %eax,OUT_ARG0(%esp)
- call dvmThrowInternalError
- jmp common_exceptionThrown
-
-/* ------------------------------ */
-.L_OP_IGET_JUMBO: /* 0x106 */
-/* File: x86/OP_IGET_JUMBO.S */
- /*
- * Jumbo 32-bit instance field get.
- *
- * for: iget/jumbo, iget-object/jumbo, iget-boolean/jumbo, iget-byte/jumbo,
- * iget-char/jumbo, iget-short/jumbo
- */
- /* exop vBBBB, vCCCC, field@AAAAAAAA */
- movl rSELF,%ecx
- SPILL(rIBASE) # preserve rIBASE
- movl 2(rPC),rIBASE # rIBASE<- AAAAAAAA
- movl offThread_methodClassDex(%ecx),%eax # eax<- DvmDex
- movzwl 8(rPC),%ecx # ecx<- CCCC
- movl offDvmDex_pResFields(%eax),%eax # eax<- pDvmDex->pResFields
- GET_VREG_R %ecx %ecx # ecx<- fp[CCCC], the object ptr
- movl (%eax,rIBASE,4),%eax # resolved entry
- testl %eax,%eax # is resolved entry null?
- jne .LOP_IGET_JUMBO_finish # no, already resolved
- movl rIBASE,OUT_ARG1(%esp) # needed by dvmResolveInstField
- movl rSELF,rIBASE
- EXPORT_PC
- movl offThread_method(rIBASE),rIBASE # rIBASE<- current method
- movl offMethod_clazz(rIBASE),rIBASE # rIBASE<- method->clazz
- SPILL_TMP1(%ecx) # save obj pointer across call
- movl rIBASE,OUT_ARG0(%esp) # pass in method->clazz
- call dvmResolveInstField # ... to dvmResolveInstField
- UNSPILL_TMP1(%ecx)
- testl %eax,%eax # returns InstrField ptr
- jne .LOP_IGET_JUMBO_finish
- jmp common_exceptionThrown
-
-.LOP_IGET_JUMBO_finish:
- /*
- * Currently:
- * eax holds resolved field
- * ecx holds object
- * rINST holds BBBB
- */
- movl offInstField_byteOffset(%eax),%eax # eax<- byte offset of field
- testl %ecx,%ecx # object null?
- je common_errNullObject # object was null
- movl (%ecx,%eax,1),%ecx # ecx<- obj.field (8/16/32 bits)
- FETCH_INST_OPCODE 5 %eax
- UNSPILL(rIBASE) # restore rIBASE
- SET_VREG %ecx rINST
- ADVANCE_PC 5
- GOTO_NEXT_R %eax
-
-/* ------------------------------ */
-.L_OP_IGET_WIDE_JUMBO: /* 0x107 */
-/* File: x86/OP_IGET_WIDE_JUMBO.S */
- /*
- * Jumbo 64-bit instance field get.
- */
- /* iget-wide/jumbo vBBBB, vCCCC, field@AAAA */
- movl rSELF,%ecx
- SPILL(rIBASE) # preserve rIBASE
- movl 2(rPC),rIBASE # rIBASE<- AAAAAAAA
- movl offThread_methodClassDex(%ecx),%eax # eax<- DvmDex
- movzwl 8(rPC),%ecx # ecx<- CCCC
- movl offDvmDex_pResFields(%eax),%eax # eax<- pDvmDex->pResFields
- GET_VREG_R %ecx %ecx # ecx<- fp[CCCC], the object ptr
- movl (%eax,rIBASE,4),%eax # resolved entry
- testl %eax,%eax # is resolved entry null?
- jne .LOP_IGET_WIDE_JUMBO_finish # no, already resolved
- movl rIBASE,OUT_ARG1(%esp) # for dvmResolveInstField
- movl rSELF,rIBASE
- EXPORT_PC
- movl offThread_method(rIBASE),rIBASE # rIBASE<- current method
- movl offMethod_clazz(rIBASE),rIBASE # rIBASE<- method->clazz
- SPILL_TMP1(%ecx) # save objpointer across call
- movl rIBASE,OUT_ARG0(%esp) # pass in method->clazz
- call dvmResolveInstField # ... to dvmResolveInstField
- UNSPILL_TMP1(%ecx)
- testl %eax,%eax # returns InstrField ptr
- jne .LOP_IGET_WIDE_JUMBO_finish
- jmp common_exceptionThrown
-
-.LOP_IGET_WIDE_JUMBO_finish:
- /*
- * Currently:
- * eax holds resolved field
- * ecx holds object
- * rINST holds BBBB
- */
- movl offInstField_byteOffset(%eax),%eax # eax<- byte offset of field
- testl %ecx,%ecx # object null?
- je common_errNullObject # object was null
- leal (%ecx,%eax,1),%eax # eax<- address of field
- movl (%eax),%ecx # ecx<- lsw
- movl 4(%eax),%eax # eax<- msw
- SET_VREG_WORD %ecx rINST 0
- FETCH_INST_OPCODE 5 %ecx
- UNSPILL(rIBASE) # restore rIBASE
- SET_VREG_WORD %eax rINST 1
- ADVANCE_PC 5
- GOTO_NEXT_R %ecx
-
-/* ------------------------------ */
-.L_OP_IGET_OBJECT_JUMBO: /* 0x108 */
-/* File: x86/OP_IGET_OBJECT_JUMBO.S */
-/* File: x86/OP_IGET_JUMBO.S */
- /*
- * Jumbo 32-bit instance field get.
- *
- * for: iget/jumbo, iget-object/jumbo, iget-boolean/jumbo, iget-byte/jumbo,
- * iget-char/jumbo, iget-short/jumbo
- */
- /* exop vBBBB, vCCCC, field@AAAAAAAA */
- movl rSELF,%ecx
- SPILL(rIBASE) # preserve rIBASE
- movl 2(rPC),rIBASE # rIBASE<- AAAAAAAA
- movl offThread_methodClassDex(%ecx),%eax # eax<- DvmDex
- movzwl 8(rPC),%ecx # ecx<- CCCC
- movl offDvmDex_pResFields(%eax),%eax # eax<- pDvmDex->pResFields
- GET_VREG_R %ecx %ecx # ecx<- fp[CCCC], the object ptr
- movl (%eax,rIBASE,4),%eax # resolved entry
- testl %eax,%eax # is resolved entry null?
- jne .LOP_IGET_OBJECT_JUMBO_finish # no, already resolved
- movl rIBASE,OUT_ARG1(%esp) # needed by dvmResolveInstField
- movl rSELF,rIBASE
- EXPORT_PC
- movl offThread_method(rIBASE),rIBASE # rIBASE<- current method
- movl offMethod_clazz(rIBASE),rIBASE # rIBASE<- method->clazz
- SPILL_TMP1(%ecx) # save obj pointer across call
- movl rIBASE,OUT_ARG0(%esp) # pass in method->clazz
- call dvmResolveInstField # ... to dvmResolveInstField
- UNSPILL_TMP1(%ecx)
- testl %eax,%eax # returns InstrField ptr
- jne .LOP_IGET_OBJECT_JUMBO_finish
- jmp common_exceptionThrown
-
-.LOP_IGET_OBJECT_JUMBO_finish:
- /*
- * Currently:
- * eax holds resolved field
- * ecx holds object
- * rINST holds BBBB
- */
- movl offInstField_byteOffset(%eax),%eax # eax<- byte offset of field
- testl %ecx,%ecx # object null?
- je common_errNullObject # object was null
- movl (%ecx,%eax,1),%ecx # ecx<- obj.field (8/16/32 bits)
- FETCH_INST_OPCODE 5 %eax
- UNSPILL(rIBASE) # restore rIBASE
- SET_VREG %ecx rINST
- ADVANCE_PC 5
- GOTO_NEXT_R %eax
-
-
-/* ------------------------------ */
-.L_OP_IGET_BOOLEAN_JUMBO: /* 0x109 */
-/* File: x86/OP_IGET_BOOLEAN_JUMBO.S */
-/* File: x86/OP_IGET_JUMBO.S */
- /*
- * Jumbo 32-bit instance field get.
- *
- * for: iget/jumbo, iget-object/jumbo, iget-boolean/jumbo, iget-byte/jumbo,
- * iget-char/jumbo, iget-short/jumbo
- */
- /* exop vBBBB, vCCCC, field@AAAAAAAA */
- movl rSELF,%ecx
- SPILL(rIBASE) # preserve rIBASE
- movl 2(rPC),rIBASE # rIBASE<- AAAAAAAA
- movl offThread_methodClassDex(%ecx),%eax # eax<- DvmDex
- movzwl 8(rPC),%ecx # ecx<- CCCC
- movl offDvmDex_pResFields(%eax),%eax # eax<- pDvmDex->pResFields
- GET_VREG_R %ecx %ecx # ecx<- fp[CCCC], the object ptr
- movl (%eax,rIBASE,4),%eax # resolved entry
- testl %eax,%eax # is resolved entry null?
- jne .LOP_IGET_BOOLEAN_JUMBO_finish # no, already resolved
- movl rIBASE,OUT_ARG1(%esp) # needed by dvmResolveInstField
- movl rSELF,rIBASE
- EXPORT_PC
- movl offThread_method(rIBASE),rIBASE # rIBASE<- current method
- movl offMethod_clazz(rIBASE),rIBASE # rIBASE<- method->clazz
- SPILL_TMP1(%ecx) # save obj pointer across call
- movl rIBASE,OUT_ARG0(%esp) # pass in method->clazz
- call dvmResolveInstField # ... to dvmResolveInstField
- UNSPILL_TMP1(%ecx)
- testl %eax,%eax # returns InstrField ptr
- jne .LOP_IGET_BOOLEAN_JUMBO_finish
- jmp common_exceptionThrown
-
-.LOP_IGET_BOOLEAN_JUMBO_finish:
- /*
- * Currently:
- * eax holds resolved field
- * ecx holds object
- * rINST holds BBBB
- */
- movl offInstField_byteOffset(%eax),%eax # eax<- byte offset of field
- testl %ecx,%ecx # object null?
- je common_errNullObject # object was null
- movzbl (%ecx,%eax,1),%ecx # ecx<- obj.field (8/16/32 bits)
- FETCH_INST_OPCODE 5 %eax
- UNSPILL(rIBASE) # restore rIBASE
- SET_VREG %ecx rINST
- ADVANCE_PC 5
- GOTO_NEXT_R %eax
-
-
-/* ------------------------------ */
-.L_OP_IGET_BYTE_JUMBO: /* 0x10a */
-/* File: x86/OP_IGET_BYTE_JUMBO.S */
-/* File: x86/OP_IGET_JUMBO.S */
- /*
- * Jumbo 32-bit instance field get.
- *
- * for: iget/jumbo, iget-object/jumbo, iget-boolean/jumbo, iget-byte/jumbo,
- * iget-char/jumbo, iget-short/jumbo
- */
- /* exop vBBBB, vCCCC, field@AAAAAAAA */
- movl rSELF,%ecx
- SPILL(rIBASE) # preserve rIBASE
- movl 2(rPC),rIBASE # rIBASE<- AAAAAAAA
- movl offThread_methodClassDex(%ecx),%eax # eax<- DvmDex
- movzwl 8(rPC),%ecx # ecx<- CCCC
- movl offDvmDex_pResFields(%eax),%eax # eax<- pDvmDex->pResFields
- GET_VREG_R %ecx %ecx # ecx<- fp[CCCC], the object ptr
- movl (%eax,rIBASE,4),%eax # resolved entry
- testl %eax,%eax # is resolved entry null?
- jne .LOP_IGET_BYTE_JUMBO_finish # no, already resolved
- movl rIBASE,OUT_ARG1(%esp) # needed by dvmResolveInstField
- movl rSELF,rIBASE
- EXPORT_PC
- movl offThread_method(rIBASE),rIBASE # rIBASE<- current method
- movl offMethod_clazz(rIBASE),rIBASE # rIBASE<- method->clazz
- SPILL_TMP1(%ecx) # save obj pointer across call
- movl rIBASE,OUT_ARG0(%esp) # pass in method->clazz
- call dvmResolveInstField # ... to dvmResolveInstField
- UNSPILL_TMP1(%ecx)
- testl %eax,%eax # returns InstrField ptr
- jne .LOP_IGET_BYTE_JUMBO_finish
- jmp common_exceptionThrown
-
-.LOP_IGET_BYTE_JUMBO_finish:
- /*
- * Currently:
- * eax holds resolved field
- * ecx holds object
- * rINST holds BBBB
- */
- movl offInstField_byteOffset(%eax),%eax # eax<- byte offset of field
- testl %ecx,%ecx # object null?
- je common_errNullObject # object was null
- movsbl (%ecx,%eax,1),%ecx # ecx<- obj.field (8/16/32 bits)
- FETCH_INST_OPCODE 5 %eax
- UNSPILL(rIBASE) # restore rIBASE
- SET_VREG %ecx rINST
- ADVANCE_PC 5
- GOTO_NEXT_R %eax
-
-
-/* ------------------------------ */
-.L_OP_IGET_CHAR_JUMBO: /* 0x10b */
-/* File: x86/OP_IGET_CHAR_JUMBO.S */
-/* File: x86/OP_IGET_JUMBO.S */
- /*
- * Jumbo 32-bit instance field get.
- *
- * for: iget/jumbo, iget-object/jumbo, iget-boolean/jumbo, iget-byte/jumbo,
- * iget-char/jumbo, iget-short/jumbo
- */
- /* exop vBBBB, vCCCC, field@AAAAAAAA */
- movl rSELF,%ecx
- SPILL(rIBASE) # preserve rIBASE
- movl 2(rPC),rIBASE # rIBASE<- AAAAAAAA
- movl offThread_methodClassDex(%ecx),%eax # eax<- DvmDex
- movzwl 8(rPC),%ecx # ecx<- CCCC
- movl offDvmDex_pResFields(%eax),%eax # eax<- pDvmDex->pResFields
- GET_VREG_R %ecx %ecx # ecx<- fp[CCCC], the object ptr
- movl (%eax,rIBASE,4),%eax # resolved entry
- testl %eax,%eax # is resolved entry null?
- jne .LOP_IGET_CHAR_JUMBO_finish # no, already resolved
- movl rIBASE,OUT_ARG1(%esp) # needed by dvmResolveInstField
- movl rSELF,rIBASE
- EXPORT_PC
- movl offThread_method(rIBASE),rIBASE # rIBASE<- current method
- movl offMethod_clazz(rIBASE),rIBASE # rIBASE<- method->clazz
- SPILL_TMP1(%ecx) # save obj pointer across call
- movl rIBASE,OUT_ARG0(%esp) # pass in method->clazz
- call dvmResolveInstField # ... to dvmResolveInstField
- UNSPILL_TMP1(%ecx)
- testl %eax,%eax # returns InstrField ptr
- jne .LOP_IGET_CHAR_JUMBO_finish
- jmp common_exceptionThrown
-
-.LOP_IGET_CHAR_JUMBO_finish:
- /*
- * Currently:
- * eax holds resolved field
- * ecx holds object
- * rINST holds BBBB
- */
- movl offInstField_byteOffset(%eax),%eax # eax<- byte offset of field
- testl %ecx,%ecx # object null?
- je common_errNullObject # object was null
- movzwl (%ecx,%eax,1),%ecx # ecx<- obj.field (8/16/32 bits)
- FETCH_INST_OPCODE 5 %eax
- UNSPILL(rIBASE) # restore rIBASE
- SET_VREG %ecx rINST
- ADVANCE_PC 5
- GOTO_NEXT_R %eax
-
-
-/* ------------------------------ */
-.L_OP_IGET_SHORT_JUMBO: /* 0x10c */
-/* File: x86/OP_IGET_SHORT_JUMBO.S */
-/* File: x86/OP_IGET_JUMBO.S */
- /*
- * Jumbo 32-bit instance field get.
- *
- * for: iget/jumbo, iget-object/jumbo, iget-boolean/jumbo, iget-byte/jumbo,
- * iget-char/jumbo, iget-short/jumbo
- */
- /* exop vBBBB, vCCCC, field@AAAAAAAA */
- movl rSELF,%ecx
- SPILL(rIBASE) # preserve rIBASE
- movl 2(rPC),rIBASE # rIBASE<- AAAAAAAA
- movl offThread_methodClassDex(%ecx),%eax # eax<- DvmDex
- movzwl 8(rPC),%ecx # ecx<- CCCC
- movl offDvmDex_pResFields(%eax),%eax # eax<- pDvmDex->pResFields
- GET_VREG_R %ecx %ecx # ecx<- fp[CCCC], the object ptr
- movl (%eax,rIBASE,4),%eax # resolved entry
- testl %eax,%eax # is resolved entry null?
- jne .LOP_IGET_SHORT_JUMBO_finish # no, already resolved
- movl rIBASE,OUT_ARG1(%esp) # needed by dvmResolveInstField
- movl rSELF,rIBASE
- EXPORT_PC
- movl offThread_method(rIBASE),rIBASE # rIBASE<- current method
- movl offMethod_clazz(rIBASE),rIBASE # rIBASE<- method->clazz
- SPILL_TMP1(%ecx) # save obj pointer across call
- movl rIBASE,OUT_ARG0(%esp) # pass in method->clazz
- call dvmResolveInstField # ... to dvmResolveInstField
- UNSPILL_TMP1(%ecx)
- testl %eax,%eax # returns InstrField ptr
- jne .LOP_IGET_SHORT_JUMBO_finish
- jmp common_exceptionThrown
-
-.LOP_IGET_SHORT_JUMBO_finish:
- /*
- * Currently:
- * eax holds resolved field
- * ecx holds object
- * rINST holds BBBB
- */
- movl offInstField_byteOffset(%eax),%eax # eax<- byte offset of field
- testl %ecx,%ecx # object null?
- je common_errNullObject # object was null
- movswl (%ecx,%eax,1),%ecx # ecx<- obj.field (8/16/32 bits)
- FETCH_INST_OPCODE 5 %eax
- UNSPILL(rIBASE) # restore rIBASE
- SET_VREG %ecx rINST
- ADVANCE_PC 5
- GOTO_NEXT_R %eax
-
-
-/* ------------------------------ */
-.L_OP_IPUT_JUMBO: /* 0x10d */
-/* File: x86/OP_IPUT_JUMBO.S */
- /*
- * Jumbo 32-bit instance field put.
- *
- * for: iput/jumbo, iput-object/jumbo, iput-boolean/jumbo, iput-byte/jumbo,
- iput-char/jumbo, iput-short/jumbo
- */
- /* exop vBBBB, vCCCC, field@AAAAAAAA */
- movl rSELF,%ecx
- SPILL(rIBASE)
- movl 2(rPC),rIBASE # rIBASE<- AAAAAAAA
- movl offThread_methodClassDex(%ecx),%eax # eax<- DvmDex
- movzwl 8(rPC),%ecx # ecx<- CCCC
- movl offDvmDex_pResFields(%eax),%eax # eax<- pDvmDex->pResFields
- GET_VREG_R %ecx %ecx # ecx<- fp[CCCC], the object ptr
- movl (%eax,rIBASE,4),%eax # resolved entry
- testl %eax,%eax # is resolved entry null?
- jne .LOP_IPUT_JUMBO_finish # no, already resolved
- movl rIBASE,OUT_ARG1(%esp)
- movl rSELF,rIBASE
- EXPORT_PC
- movl offThread_method(rIBASE),rIBASE # rIBASE<- current method
- movl offMethod_clazz(rIBASE),rIBASE # rIBASE<- method->clazz
- SPILL_TMP1(%ecx) # save obj pointer across call
- movl rIBASE,OUT_ARG0(%esp) # pass in method->clazz
- call dvmResolveInstField # ... to dvmResolveInstField
- UNSPILL_TMP1(%ecx)
- testl %eax,%eax # returns InstrField ptr
- jne .LOP_IPUT_JUMBO_finish
- jmp common_exceptionThrown
-
-.LOP_IPUT_JUMBO_finish:
- /*
- * Currently:
- * eax holds resolved field
- * ecx holds object
- * rINST holds BBBB
- */
- GET_VREG_R rINST rINST # rINST<- v[BBBB]
- movl offInstField_byteOffset(%eax),%eax # eax<- byte offset of field
- testl %ecx,%ecx # object null?
- je common_errNullObject # object was null
- movl rINST,(%ecx,%eax,1) # obj.field <- v[BBBB](8/16/32 bits)
- FETCH_INST_OPCODE 5 %ecx
- UNSPILL(rIBASE)
- ADVANCE_PC 5
- GOTO_NEXT_R %ecx
-
-/* ------------------------------ */
-.L_OP_IPUT_WIDE_JUMBO: /* 0x10e */
-/* File: x86/OP_IPUT_WIDE_JUMBO.S */
- /*
- * Jumbo 64-bit instance field put.
- */
- /* iput-wide/jumbo vBBBB, vCCCC, field@AAAAAAAA */
- movl rSELF,%ecx
- SPILL(rIBASE)
- movl 2(rPC),rIBASE # rIBASE<- AAAAAAAA
- movl offThread_methodClassDex(%ecx),%eax # eax<- DvmDex
- movzwl 8(rPC),%ecx # ecx<- CCCC
- movl offDvmDex_pResFields(%eax),%eax # eax<- pDvmDex->pResFields
- GET_VREG_R %ecx %ecx # ecx<- fp[CCCC], the object ptr
- movl (%eax,rIBASE,4),%eax # resolved entry
- testl %eax,%eax # is resolved entry null?
- jne .LOP_IPUT_WIDE_JUMBO_finish # no, already resolved
- movl rIBASE,OUT_ARG1(%esp)
- movl rSELF,rIBASE
- EXPORT_PC
- movl offThread_method(rIBASE),rIBASE # rIBASE<- current method
- movl offMethod_clazz(rIBASE),rIBASE # rIBASE<- method->clazz
- SPILL_TMP1(%ecx) # save obj pointer across call
- movl rIBASE,OUT_ARG0(%esp) # pass in method->clazz
- call dvmResolveInstField # ... to dvmResolveInstField
- UNSPILL_TMP1(%ecx)
- testl %eax,%eax # ... which returns InstrField ptr
- jne .LOP_IPUT_WIDE_JUMBO_finish
- jmp common_exceptionThrown
-
-.LOP_IPUT_WIDE_JUMBO_finish:
- /*
- * Currently:
- * eax holds resolved field
- * ecx holds object
- * rIBASE is scratch, but needs to be unspilled
- * rINST holds BBBB
- */
- movl offInstField_byteOffset(%eax),%eax # eax<- byte offset of field
- testl %ecx,%ecx # object null?
- je common_errNullObject # object was null
- leal (%ecx,%eax,1),%eax # eax<- address of field
- GET_VREG_WORD %ecx rINST 0 # ecx<- lsw
- GET_VREG_WORD rINST rINST 1 # rINST<- msw
- movl rINST,4(%eax)
- movl %ecx,(%eax)
- FETCH_INST_OPCODE 5 %ecx
- UNSPILL(rIBASE)
- ADVANCE_PC 5
- GOTO_NEXT_R %ecx
-
-/* ------------------------------ */
-.L_OP_IPUT_OBJECT_JUMBO: /* 0x10f */
-/* File: x86/OP_IPUT_OBJECT_JUMBO.S */
- /*
- * Jumbo object field put.
- */
- /* iput-object/jumbo vBBBB, vCCCC, field@AAAAAAAA */
- movl rSELF,%ecx
- SPILL(rIBASE)
- movl 2(rPC),rIBASE # rIBASE<- AAAAAAAA
- movl offThread_methodClassDex(%ecx),%eax # eax<- DvmDex
- movzwl 8(rPC),%ecx # ecx<- CCCC
- movl offDvmDex_pResFields(%eax),%eax # eax<- pDvmDex->pResFields
- GET_VREG_R %ecx %ecx # ecx<- fp[CCCC], the object ptr
- movl (%eax,rIBASE,4),%eax # resolved entry
- testl %eax,%eax # is resolved entry null?
- jne .LOP_IPUT_OBJECT_JUMBO_finish # no, already resolved
- movl rIBASE,OUT_ARG1(%esp)
- movl rSELF,rIBASE
- EXPORT_PC
- movl offThread_method(rIBASE),rIBASE # rIBASE<- current method
- movl offMethod_clazz(rIBASE),rIBASE # rIBASE<- method->clazz
- SPILL_TMP1(%ecx) # save obj pointer across call
- movl rIBASE,OUT_ARG0(%esp) # pass in method->clazz
- call dvmResolveInstField # ... to dvmResolveInstField
- UNSPILL_TMP1(%ecx)
- testl %eax,%eax # returns InstrField ptr
- jne .LOP_IPUT_OBJECT_JUMBO_finish
- jmp common_exceptionThrown
-
-.LOP_IPUT_OBJECT_JUMBO_finish:
- /*
- * Currently:
- * eax holds resolved field
- * ecx holds object
- * rIBASE is scratch, but needs to be unspilled
- * rINST holds BBBB
- */
- GET_VREG_R rINST rINST # rINST<- v[BBBB]
- movl offInstField_byteOffset(%eax),%eax # eax<- byte offset of field
- testl %ecx,%ecx # object null?
- je common_errNullObject # object was null
- movl rINST,(%ecx,%eax) # obj.field <- v[BBBB](8/16/32 bits)
- movl rSELF,%eax
- testl rINST,rINST # stored a NULL?
- movl offThread_cardTable(%eax),%eax # get card table base
- je 1f # skip card mark if null store
- shrl $GC_CARD_SHIFT,%ecx # object head to card number
- movb %al,(%eax,%ecx) # mark card using object head
-1:
- FETCH_INST_OPCODE 5 %ecx
- UNSPILL(rIBASE)
- ADVANCE_PC 5
- GOTO_NEXT_R %ecx
-
-/* ------------------------------ */
-.L_OP_IPUT_BOOLEAN_JUMBO: /* 0x110 */
-/* File: x86/OP_IPUT_BOOLEAN_JUMBO.S */
-/* File: x86/OP_IPUT_JUMBO.S */
- /*
- * Jumbo 32-bit instance field put.
- *
- * for: iput/jumbo, iput-object/jumbo, iput-boolean/jumbo, iput-byte/jumbo,
- iput-char/jumbo, iput-short/jumbo
- */
- /* exop vBBBB, vCCCC, field@AAAAAAAA */
- movl rSELF,%ecx
- SPILL(rIBASE)
- movl 2(rPC),rIBASE # rIBASE<- AAAAAAAA
- movl offThread_methodClassDex(%ecx),%eax # eax<- DvmDex
- movzwl 8(rPC),%ecx # ecx<- CCCC
- movl offDvmDex_pResFields(%eax),%eax # eax<- pDvmDex->pResFields
- GET_VREG_R %ecx %ecx # ecx<- fp[CCCC], the object ptr
- movl (%eax,rIBASE,4),%eax # resolved entry
- testl %eax,%eax # is resolved entry null?
- jne .LOP_IPUT_BOOLEAN_JUMBO_finish # no, already resolved
- movl rIBASE,OUT_ARG1(%esp)
- movl rSELF,rIBASE
- EXPORT_PC
- movl offThread_method(rIBASE),rIBASE # rIBASE<- current method
- movl offMethod_clazz(rIBASE),rIBASE # rIBASE<- method->clazz
- SPILL_TMP1(%ecx) # save obj pointer across call
- movl rIBASE,OUT_ARG0(%esp) # pass in method->clazz
- call dvmResolveInstField # ... to dvmResolveInstField
- UNSPILL_TMP1(%ecx)
- testl %eax,%eax # returns InstrField ptr
- jne .LOP_IPUT_BOOLEAN_JUMBO_finish
- jmp common_exceptionThrown
-
-.LOP_IPUT_BOOLEAN_JUMBO_finish:
- /*
- * Currently:
- * eax holds resolved field
- * ecx holds object
- * rINST holds BBBB
- */
- GET_VREG_R rINST rINST # rINST<- v[BBBB]
- movl offInstField_byteOffset(%eax),%eax # eax<- byte offset of field
- testl %ecx,%ecx # object null?
- je common_errNullObject # object was null
- movb rINSTbl,(%ecx,%eax,1) # obj.field <- v[BBBB](8/16/32 bits)
- FETCH_INST_OPCODE 5 %ecx
- UNSPILL(rIBASE)
- ADVANCE_PC 5
- GOTO_NEXT_R %ecx
-
-
-/* ------------------------------ */
-.L_OP_IPUT_BYTE_JUMBO: /* 0x111 */
-/* File: x86/OP_IPUT_BYTE_JUMBO.S */
-/* File: x86/OP_IPUT_JUMBO.S */
- /*
- * Jumbo 32-bit instance field put.
- *
- * for: iput/jumbo, iput-object/jumbo, iput-boolean/jumbo, iput-byte/jumbo,
- iput-char/jumbo, iput-short/jumbo
- */
- /* exop vBBBB, vCCCC, field@AAAAAAAA */
- movl rSELF,%ecx
- SPILL(rIBASE)
- movl 2(rPC),rIBASE # rIBASE<- AAAAAAAA
- movl offThread_methodClassDex(%ecx),%eax # eax<- DvmDex
- movzwl 8(rPC),%ecx # ecx<- CCCC
- movl offDvmDex_pResFields(%eax),%eax # eax<- pDvmDex->pResFields
- GET_VREG_R %ecx %ecx # ecx<- fp[CCCC], the object ptr
- movl (%eax,rIBASE,4),%eax # resolved entry
- testl %eax,%eax # is resolved entry null?
- jne .LOP_IPUT_BYTE_JUMBO_finish # no, already resolved
- movl rIBASE,OUT_ARG1(%esp)
- movl rSELF,rIBASE
- EXPORT_PC
- movl offThread_method(rIBASE),rIBASE # rIBASE<- current method
- movl offMethod_clazz(rIBASE),rIBASE # rIBASE<- method->clazz
- SPILL_TMP1(%ecx) # save obj pointer across call
- movl rIBASE,OUT_ARG0(%esp) # pass in method->clazz
- call dvmResolveInstField # ... to dvmResolveInstField
- UNSPILL_TMP1(%ecx)
- testl %eax,%eax # returns InstrField ptr
- jne .LOP_IPUT_BYTE_JUMBO_finish
- jmp common_exceptionThrown
-
-.LOP_IPUT_BYTE_JUMBO_finish:
- /*
- * Currently:
- * eax holds resolved field
- * ecx holds object
- * rINST holds BBBB
- */
- GET_VREG_R rINST rINST # rINST<- v[BBBB]
- movl offInstField_byteOffset(%eax),%eax # eax<- byte offset of field
- testl %ecx,%ecx # object null?
- je common_errNullObject # object was null
- movb rINSTbl,(%ecx,%eax,1) # obj.field <- v[BBBB](8/16/32 bits)
- FETCH_INST_OPCODE 5 %ecx
- UNSPILL(rIBASE)
- ADVANCE_PC 5
- GOTO_NEXT_R %ecx
-
-
-/* ------------------------------ */
-.L_OP_IPUT_CHAR_JUMBO: /* 0x112 */
-/* File: x86/OP_IPUT_CHAR_JUMBO.S */
-/* File: x86/OP_IPUT_JUMBO.S */
- /*
- * Jumbo 32-bit instance field put.
- *
- * for: iput/jumbo, iput-object/jumbo, iput-boolean/jumbo, iput-byte/jumbo,
- iput-char/jumbo, iput-short/jumbo
- */
- /* exop vBBBB, vCCCC, field@AAAAAAAA */
- movl rSELF,%ecx
- SPILL(rIBASE)
- movl 2(rPC),rIBASE # rIBASE<- AAAAAAAA
- movl offThread_methodClassDex(%ecx),%eax # eax<- DvmDex
- movzwl 8(rPC),%ecx # ecx<- CCCC
- movl offDvmDex_pResFields(%eax),%eax # eax<- pDvmDex->pResFields
- GET_VREG_R %ecx %ecx # ecx<- fp[CCCC], the object ptr
- movl (%eax,rIBASE,4),%eax # resolved entry
- testl %eax,%eax # is resolved entry null?
- jne .LOP_IPUT_CHAR_JUMBO_finish # no, already resolved
- movl rIBASE,OUT_ARG1(%esp)
- movl rSELF,rIBASE
- EXPORT_PC
- movl offThread_method(rIBASE),rIBASE # rIBASE<- current method
- movl offMethod_clazz(rIBASE),rIBASE # rIBASE<- method->clazz
- SPILL_TMP1(%ecx) # save obj pointer across call
- movl rIBASE,OUT_ARG0(%esp) # pass in method->clazz
- call dvmResolveInstField # ... to dvmResolveInstField
- UNSPILL_TMP1(%ecx)
- testl %eax,%eax # returns InstrField ptr
- jne .LOP_IPUT_CHAR_JUMBO_finish
- jmp common_exceptionThrown
-
-.LOP_IPUT_CHAR_JUMBO_finish:
- /*
- * Currently:
- * eax holds resolved field
- * ecx holds object
- * rINST holds BBBB
- */
- GET_VREG_R rINST rINST # rINST<- v[BBBB]
- movl offInstField_byteOffset(%eax),%eax # eax<- byte offset of field
- testl %ecx,%ecx # object null?
- je common_errNullObject # object was null
- movw rINSTw,(%ecx,%eax,1) # obj.field <- v[BBBB](8/16/32 bits)
- FETCH_INST_OPCODE 5 %ecx
- UNSPILL(rIBASE)
- ADVANCE_PC 5
- GOTO_NEXT_R %ecx
-
-
-/* ------------------------------ */
-.L_OP_IPUT_SHORT_JUMBO: /* 0x113 */
-/* File: x86/OP_IPUT_SHORT_JUMBO.S */
-/* File: x86/OP_IPUT_JUMBO.S */
- /*
- * Jumbo 32-bit instance field put.
- *
- * for: iput/jumbo, iput-object/jumbo, iput-boolean/jumbo, iput-byte/jumbo,
- iput-char/jumbo, iput-short/jumbo
- */
- /* exop vBBBB, vCCCC, field@AAAAAAAA */
- movl rSELF,%ecx
- SPILL(rIBASE)
- movl 2(rPC),rIBASE # rIBASE<- AAAAAAAA
- movl offThread_methodClassDex(%ecx),%eax # eax<- DvmDex
- movzwl 8(rPC),%ecx # ecx<- CCCC
- movl offDvmDex_pResFields(%eax),%eax # eax<- pDvmDex->pResFields
- GET_VREG_R %ecx %ecx # ecx<- fp[CCCC], the object ptr
- movl (%eax,rIBASE,4),%eax # resolved entry
- testl %eax,%eax # is resolved entry null?
- jne .LOP_IPUT_SHORT_JUMBO_finish # no, already resolved
- movl rIBASE,OUT_ARG1(%esp)
- movl rSELF,rIBASE
- EXPORT_PC
- movl offThread_method(rIBASE),rIBASE # rIBASE<- current method
- movl offMethod_clazz(rIBASE),rIBASE # rIBASE<- method->clazz
- SPILL_TMP1(%ecx) # save obj pointer across call
- movl rIBASE,OUT_ARG0(%esp) # pass in method->clazz
- call dvmResolveInstField # ... to dvmResolveInstField
- UNSPILL_TMP1(%ecx)
- testl %eax,%eax # returns InstrField ptr
- jne .LOP_IPUT_SHORT_JUMBO_finish
- jmp common_exceptionThrown
-
-.LOP_IPUT_SHORT_JUMBO_finish:
- /*
- * Currently:
- * eax holds resolved field
- * ecx holds object
- * rINST holds BBBB
- */
- GET_VREG_R rINST rINST # rINST<- v[BBBB]
- movl offInstField_byteOffset(%eax),%eax # eax<- byte offset of field
- testl %ecx,%ecx # object null?
- je common_errNullObject # object was null
- movw rINSTw,(%ecx,%eax,1) # obj.field <- v[BBBB](8/16/32 bits)
- FETCH_INST_OPCODE 5 %ecx
- UNSPILL(rIBASE)
- ADVANCE_PC 5
- GOTO_NEXT_R %ecx
-
-
-/* ------------------------------ */
-.L_OP_SGET_JUMBO: /* 0x114 */
-/* File: x86/OP_SGET_JUMBO.S */
- /*
- * Jumbo 32-bit SGET handler.
- *
- * for: sget/jumbo, sget-object/jumbo, sget-boolean/jumbo, sget-byte/jumbo,
- * sget-char/jumbo, sget-short/jumbo
- */
- /* exop vBBBB, field@AAAAAAAA */
- movl rSELF,%ecx
- movl offThread_methodClassDex(%ecx),%ecx # ecx<- DvmDex
- movl 2(rPC),%eax # eax<- field ref AAAAAAAA
- movl offDvmDex_pResFields(%ecx),%ecx # ecx<- dvmDex->pResFields
- movl (%ecx,%eax,4),%eax # eax<- resolved StaticField ptr
- testl %eax,%eax # resolved entry null?
- je .LOP_SGET_JUMBO_resolve # if not, make it so
-.LOP_SGET_JUMBO_finish: # field ptr in eax
- movl offStaticField_value(%eax),%eax
- FETCH_INST_OPCODE 4 %ecx
- ADVANCE_PC 4
- SET_VREG %eax rINST
- GOTO_NEXT_R %ecx
-
- /*
- * Go resolve the field
- */
-.LOP_SGET_JUMBO_resolve:
- movl rSELF,%ecx
- movl 2(rPC),%eax # eax<- field ref AAAAAAAA
- movl offThread_method(%ecx),%ecx # ecx<- current method
- EXPORT_PC # could throw, need to export
- movl offMethod_clazz(%ecx),%ecx # ecx<- method->clazz
- movl %eax,OUT_ARG1(%esp)
- movl %ecx,OUT_ARG0(%esp)
- SPILL(rIBASE)
- call dvmResolveStaticField # eax<- resolved StaticField ptr
- UNSPILL(rIBASE)
- testl %eax,%eax
- jne .LOP_SGET_JUMBO_finish # success, continue
- jmp common_exceptionThrown # no, handle exception
-
-/* ------------------------------ */
-.L_OP_SGET_WIDE_JUMBO: /* 0x115 */
-/* File: x86/OP_SGET_WIDE_JUMBO.S */
- /*
- * Jumbo 64-bit SGET handler.
- *
- */
- /* sget-wide/jumbo vBBBB, field@AAAAAAAA */
- movl rSELF,%ecx
- movl offThread_methodClassDex(%ecx),%ecx # ecx<- DvmDex
- movl 2(rPC),%eax # eax<- field ref AAAAAAAA
- movl offDvmDex_pResFields(%ecx),%ecx # ecx<- dvmDex->pResFields
- movl (%ecx,%eax,4),%eax # eax<- resolved StaticField ptr
- testl %eax,%eax # resolved entry null?
- je .LOP_SGET_WIDE_JUMBO_resolve # if not, make it so
-.LOP_SGET_WIDE_JUMBO_finish: # field ptr in eax
- movl offStaticField_value(%eax),%ecx # ecx<- lsw
- movl 4+offStaticField_value(%eax),%eax # eax<- msw
- SET_VREG_WORD %ecx rINST 0
- FETCH_INST_OPCODE 2 %ecx
- SET_VREG_WORD %eax rINST 1
- ADVANCE_PC 2
- GOTO_NEXT_R %ecx
-
- /*
- * Go resolve the field
- */
-.LOP_SGET_WIDE_JUMBO_resolve:
- movl rSELF,%ecx
- movl 2(rPC),%eax # eax<- field ref AAAAAAAA
- movl offThread_method(%ecx),%ecx # ecx<- current method
- EXPORT_PC # could throw, need to export
- movl offMethod_clazz(%ecx),%ecx # ecx<- method->clazz
- movl %eax,OUT_ARG1(%esp)
- movl %ecx,OUT_ARG0(%esp)
- SPILL(rIBASE)
- call dvmResolveStaticField # eax<- resolved StaticField ptr
- UNSPILL(rIBASE)
- testl %eax,%eax
- jne .LOP_SGET_WIDE_JUMBO_finish # success, continue
- jmp common_exceptionThrown # no, handle exception
-
-/* ------------------------------ */
-.L_OP_SGET_OBJECT_JUMBO: /* 0x116 */
-/* File: x86/OP_SGET_OBJECT_JUMBO.S */
-/* File: x86/OP_SGET_JUMBO.S */
- /*
- * Jumbo 32-bit SGET handler.
- *
- * for: sget/jumbo, sget-object/jumbo, sget-boolean/jumbo, sget-byte/jumbo,
- * sget-char/jumbo, sget-short/jumbo
- */
- /* exop vBBBB, field@AAAAAAAA */
- movl rSELF,%ecx
- movl offThread_methodClassDex(%ecx),%ecx # ecx<- DvmDex
- movl 2(rPC),%eax # eax<- field ref AAAAAAAA
- movl offDvmDex_pResFields(%ecx),%ecx # ecx<- dvmDex->pResFields
- movl (%ecx,%eax,4),%eax # eax<- resolved StaticField ptr
- testl %eax,%eax # resolved entry null?
- je .LOP_SGET_OBJECT_JUMBO_resolve # if not, make it so
-.LOP_SGET_OBJECT_JUMBO_finish: # field ptr in eax
- movl offStaticField_value(%eax),%eax
- FETCH_INST_OPCODE 4 %ecx
- ADVANCE_PC 4
- SET_VREG %eax rINST
- GOTO_NEXT_R %ecx
-
- /*
- * Go resolve the field
- */
-.LOP_SGET_OBJECT_JUMBO_resolve:
- movl rSELF,%ecx
- movl 2(rPC),%eax # eax<- field ref AAAAAAAA
- movl offThread_method(%ecx),%ecx # ecx<- current method
- EXPORT_PC # could throw, need to export
- movl offMethod_clazz(%ecx),%ecx # ecx<- method->clazz
- movl %eax,OUT_ARG1(%esp)
- movl %ecx,OUT_ARG0(%esp)
- SPILL(rIBASE)
- call dvmResolveStaticField # eax<- resolved StaticField ptr
- UNSPILL(rIBASE)
- testl %eax,%eax
- jne .LOP_SGET_OBJECT_JUMBO_finish # success, continue
- jmp common_exceptionThrown # no, handle exception
-
-
-/* ------------------------------ */
-.L_OP_SGET_BOOLEAN_JUMBO: /* 0x117 */
-/* File: x86/OP_SGET_BOOLEAN_JUMBO.S */
-/* File: x86/OP_SGET_JUMBO.S */
- /*
- * Jumbo 32-bit SGET handler.
- *
- * for: sget/jumbo, sget-object/jumbo, sget-boolean/jumbo, sget-byte/jumbo,
- * sget-char/jumbo, sget-short/jumbo
- */
- /* exop vBBBB, field@AAAAAAAA */
- movl rSELF,%ecx
- movl offThread_methodClassDex(%ecx),%ecx # ecx<- DvmDex
- movl 2(rPC),%eax # eax<- field ref AAAAAAAA
- movl offDvmDex_pResFields(%ecx),%ecx # ecx<- dvmDex->pResFields
- movl (%ecx,%eax,4),%eax # eax<- resolved StaticField ptr
- testl %eax,%eax # resolved entry null?
- je .LOP_SGET_BOOLEAN_JUMBO_resolve # if not, make it so
-.LOP_SGET_BOOLEAN_JUMBO_finish: # field ptr in eax
- movl offStaticField_value(%eax),%eax
- FETCH_INST_OPCODE 4 %ecx
- ADVANCE_PC 4
- SET_VREG %eax rINST
- GOTO_NEXT_R %ecx
-
- /*
- * Go resolve the field
- */
-.LOP_SGET_BOOLEAN_JUMBO_resolve:
- movl rSELF,%ecx
- movl 2(rPC),%eax # eax<- field ref AAAAAAAA
- movl offThread_method(%ecx),%ecx # ecx<- current method
- EXPORT_PC # could throw, need to export
- movl offMethod_clazz(%ecx),%ecx # ecx<- method->clazz
- movl %eax,OUT_ARG1(%esp)
- movl %ecx,OUT_ARG0(%esp)
- SPILL(rIBASE)
- call dvmResolveStaticField # eax<- resolved StaticField ptr
- UNSPILL(rIBASE)
- testl %eax,%eax
- jne .LOP_SGET_BOOLEAN_JUMBO_finish # success, continue
- jmp common_exceptionThrown # no, handle exception
-
-
-/* ------------------------------ */
-.L_OP_SGET_BYTE_JUMBO: /* 0x118 */
-/* File: x86/OP_SGET_BYTE_JUMBO.S */
-/* File: x86/OP_SGET_JUMBO.S */
- /*
- * Jumbo 32-bit SGET handler.
- *
- * for: sget/jumbo, sget-object/jumbo, sget-boolean/jumbo, sget-byte/jumbo,
- * sget-char/jumbo, sget-short/jumbo
- */
- /* exop vBBBB, field@AAAAAAAA */
- movl rSELF,%ecx
- movl offThread_methodClassDex(%ecx),%ecx # ecx<- DvmDex
- movl 2(rPC),%eax # eax<- field ref AAAAAAAA
- movl offDvmDex_pResFields(%ecx),%ecx # ecx<- dvmDex->pResFields
- movl (%ecx,%eax,4),%eax # eax<- resolved StaticField ptr
- testl %eax,%eax # resolved entry null?
- je .LOP_SGET_BYTE_JUMBO_resolve # if not, make it so
-.LOP_SGET_BYTE_JUMBO_finish: # field ptr in eax
- movl offStaticField_value(%eax),%eax
- FETCH_INST_OPCODE 4 %ecx
- ADVANCE_PC 4
- SET_VREG %eax rINST
- GOTO_NEXT_R %ecx
-
- /*
- * Go resolve the field
- */
-.LOP_SGET_BYTE_JUMBO_resolve:
- movl rSELF,%ecx
- movl 2(rPC),%eax # eax<- field ref AAAAAAAA
- movl offThread_method(%ecx),%ecx # ecx<- current method
- EXPORT_PC # could throw, need to export
- movl offMethod_clazz(%ecx),%ecx # ecx<- method->clazz
- movl %eax,OUT_ARG1(%esp)
- movl %ecx,OUT_ARG0(%esp)
- SPILL(rIBASE)
- call dvmResolveStaticField # eax<- resolved StaticField ptr
- UNSPILL(rIBASE)
- testl %eax,%eax
- jne .LOP_SGET_BYTE_JUMBO_finish # success, continue
- jmp common_exceptionThrown # no, handle exception
-
-
-/* ------------------------------ */
-.L_OP_SGET_CHAR_JUMBO: /* 0x119 */
-/* File: x86/OP_SGET_CHAR_JUMBO.S */
-/* File: x86/OP_SGET_JUMBO.S */
- /*
- * Jumbo 32-bit SGET handler.
- *
- * for: sget/jumbo, sget-object/jumbo, sget-boolean/jumbo, sget-byte/jumbo,
- * sget-char/jumbo, sget-short/jumbo
- */
- /* exop vBBBB, field@AAAAAAAA */
- movl rSELF,%ecx
- movl offThread_methodClassDex(%ecx),%ecx # ecx<- DvmDex
- movl 2(rPC),%eax # eax<- field ref AAAAAAAA
- movl offDvmDex_pResFields(%ecx),%ecx # ecx<- dvmDex->pResFields
- movl (%ecx,%eax,4),%eax # eax<- resolved StaticField ptr
- testl %eax,%eax # resolved entry null?
- je .LOP_SGET_CHAR_JUMBO_resolve # if not, make it so
-.LOP_SGET_CHAR_JUMBO_finish: # field ptr in eax
- movl offStaticField_value(%eax),%eax
- FETCH_INST_OPCODE 4 %ecx
- ADVANCE_PC 4
- SET_VREG %eax rINST
- GOTO_NEXT_R %ecx
-
- /*
- * Go resolve the field
- */
-.LOP_SGET_CHAR_JUMBO_resolve:
- movl rSELF,%ecx
- movl 2(rPC),%eax # eax<- field ref AAAAAAAA
- movl offThread_method(%ecx),%ecx # ecx<- current method
- EXPORT_PC # could throw, need to export
- movl offMethod_clazz(%ecx),%ecx # ecx<- method->clazz
- movl %eax,OUT_ARG1(%esp)
- movl %ecx,OUT_ARG0(%esp)
- SPILL(rIBASE)
- call dvmResolveStaticField # eax<- resolved StaticField ptr
- UNSPILL(rIBASE)
- testl %eax,%eax
- jne .LOP_SGET_CHAR_JUMBO_finish # success, continue
- jmp common_exceptionThrown # no, handle exception
-
-
-/* ------------------------------ */
-.L_OP_SGET_SHORT_JUMBO: /* 0x11a */
-/* File: x86/OP_SGET_SHORT_JUMBO.S */
-/* File: x86/OP_SGET_JUMBO.S */
- /*
- * Jumbo 32-bit SGET handler.
- *
- * for: sget/jumbo, sget-object/jumbo, sget-boolean/jumbo, sget-byte/jumbo,
- * sget-char/jumbo, sget-short/jumbo
- */
- /* exop vBBBB, field@AAAAAAAA */
- movl rSELF,%ecx
- movl offThread_methodClassDex(%ecx),%ecx # ecx<- DvmDex
- movl 2(rPC),%eax # eax<- field ref AAAAAAAA
- movl offDvmDex_pResFields(%ecx),%ecx # ecx<- dvmDex->pResFields
- movl (%ecx,%eax,4),%eax # eax<- resolved StaticField ptr
- testl %eax,%eax # resolved entry null?
- je .LOP_SGET_SHORT_JUMBO_resolve # if not, make it so
-.LOP_SGET_SHORT_JUMBO_finish: # field ptr in eax
- movl offStaticField_value(%eax),%eax
- FETCH_INST_OPCODE 4 %ecx
- ADVANCE_PC 4
- SET_VREG %eax rINST
- GOTO_NEXT_R %ecx
-
- /*
- * Go resolve the field
- */
-.LOP_SGET_SHORT_JUMBO_resolve:
- movl rSELF,%ecx
- movl 2(rPC),%eax # eax<- field ref AAAAAAAA
- movl offThread_method(%ecx),%ecx # ecx<- current method
- EXPORT_PC # could throw, need to export
- movl offMethod_clazz(%ecx),%ecx # ecx<- method->clazz
- movl %eax,OUT_ARG1(%esp)
- movl %ecx,OUT_ARG0(%esp)
- SPILL(rIBASE)
- call dvmResolveStaticField # eax<- resolved StaticField ptr
- UNSPILL(rIBASE)
- testl %eax,%eax
- jne .LOP_SGET_SHORT_JUMBO_finish # success, continue
- jmp common_exceptionThrown # no, handle exception
-
-
-/* ------------------------------ */
-.L_OP_SPUT_JUMBO: /* 0x11b */
-/* File: x86/OP_SPUT_JUMBO.S */
- /*
- * Jumbo 32-bit SPUT handler.
- *
- * for: sput/jumbo, sput-boolean/jumbo, sput-byte/jumbo, sput-char/jumbo,
- * sput-short/jumbo
- */
- /* exop vBBBB, field@AAAAAAAA */
- movl rSELF,%ecx
- movl offThread_methodClassDex(%ecx),%ecx # ecx<- DvmDex
- movl 2(rPC),%eax # eax<- field ref AAAAAAAA
- movl offDvmDex_pResFields(%ecx),%ecx # ecx<- dvmDex->pResFields
- movl (%ecx,%eax,4),%eax # eax<- resolved StaticField ptr
- testl %eax,%eax # resolved entry null?
- je .LOP_SPUT_JUMBO_resolve # if not, make it so
-.LOP_SPUT_JUMBO_finish: # field ptr in eax
- GET_VREG_R rINST rINST
- FETCH_INST_OPCODE 4 %ecx
- ADVANCE_PC 4
- movl rINST,offStaticField_value(%eax)
- GOTO_NEXT_R %ecx
-
- /*
- * Go resolve the field
- */
-.LOP_SPUT_JUMBO_resolve:
- movl rSELF,%ecx
- movl 2(rPC),%eax # eax<- field ref AAAAAAAA
- movl offThread_method(%ecx),%ecx # ecx<- current method
- EXPORT_PC # could throw, need to export
- movl offMethod_clazz(%ecx),%ecx # ecx<- method->clazz
- movl %eax,OUT_ARG1(%esp)
- movl %ecx,OUT_ARG0(%esp)
- SPILL(rIBASE)
- call dvmResolveStaticField # eax<- resolved StaticField ptr
- UNSPILL(rIBASE)
- testl %eax,%eax
- jne .LOP_SPUT_JUMBO_finish # success, continue
- jmp common_exceptionThrown # no, handle exception
-
-/* ------------------------------ */
-.L_OP_SPUT_WIDE_JUMBO: /* 0x11c */
-/* File: x86/OP_SPUT_WIDE_JUMBO.S */
- /*
- * Jumbo 64-bit SPUT handler.
- */
- /* sput-wide/jumbo vBBBB, field@AAAAAAAA */
- movl rSELF,%ecx
- movl offThread_methodClassDex(%ecx),%ecx # ecx<- DvmDex
- movl 2(rPC),%eax # eax<- field ref AAAAAAAA
- movl offDvmDex_pResFields(%ecx),%ecx # ecx<- dvmDex->pResFields
- movl (%ecx,%eax,4),%eax # eax<- resolved StaticField ptr
- testl %eax,%eax # resolved entry null?
- je .LOP_SPUT_WIDE_JUMBO_resolve # if not, make it so
-.LOP_SPUT_WIDE_JUMBO_finish: # field ptr in eax
- GET_VREG_WORD %ecx rINST 0 # ecx<- lsw
- GET_VREG_WORD rINST rINST 1 # rINST<- msw
- movl %ecx,offStaticField_value(%eax)
- FETCH_INST_OPCODE 4 %ecx
- movl rINST,4+offStaticField_value(%eax)
- ADVANCE_PC 4
- GOTO_NEXT_R %ecx
-
- /*
- * Go resolve the field
- */
-.LOP_SPUT_WIDE_JUMBO_resolve:
- movl rSELF,%ecx
- movl 2(rPC),%eax # eax<- field ref AAAAAAAA
- movl offThread_method(%ecx),%ecx # ecx<- current method
- EXPORT_PC # could throw, need to export
- movl offMethod_clazz(%ecx),%ecx # ecx<- method->clazz
- movl %eax,OUT_ARG1(%esp)
- movl %ecx,OUT_ARG0(%esp)
- SPILL(rIBASE)
- call dvmResolveStaticField # eax<- resolved StaticField ptr
- UNSPILL(rIBASE)
- testl %eax,%eax
- jne .LOP_SPUT_WIDE_JUMBO_finish # success, continue
- jmp common_exceptionThrown # no, handle exception
-
-/* ------------------------------ */
-.L_OP_SPUT_OBJECT_JUMBO: /* 0x11d */
-/* File: x86/OP_SPUT_OBJECT_JUMBO.S */
- /*
- * Jumbo SPUT object handler.
- */
- /* sput-object/jumbo vBBBB, field@AAAAAAAA */
- movl rSELF,%ecx
- movl 2(rPC),%eax # eax<- field ref AAAAAAAA
- movl offThread_methodClassDex(%ecx),%ecx # ecx<- DvmDex
- movl offDvmDex_pResFields(%ecx),%ecx # ecx<- dvmDex->pResFields
- movl (%ecx,%eax,4),%eax # eax<- resolved StaticField
- testl %eax,%eax # resolved entry null?
- je .LOP_SPUT_OBJECT_JUMBO_resolve # if not, make it so
-.LOP_SPUT_OBJECT_JUMBO_finish: # field ptr in eax
- GET_VREG_R %ecx rINST
- movl %ecx,offStaticField_value(%eax) # do the store
- testl %ecx,%ecx # stored null object ptr?
- je 1f # skip card mark if null
- movl rSELF,%ecx
- movl offField_clazz(%eax),%eax # eax<- method->clazz
- movl offThread_cardTable(%ecx),%ecx # get card table base
- shrl $GC_CARD_SHIFT,%eax # head to card number
- movb %cl,(%ecx,%eax) # mark card
-1:
- FETCH_INST_OPCODE 4 %ecx
- ADVANCE_PC 4
- GOTO_NEXT_R %ecx
-
-.LOP_SPUT_OBJECT_JUMBO_resolve:
- movl rSELF,%ecx
- movl 2(rPC),%eax # eax<- field ref AAAAAAAA
- movl offThread_method(%ecx),%ecx # ecx<- current method
- EXPORT_PC # could throw, need to export
- movl offMethod_clazz(%ecx),%ecx # ecx<- method->clazz
- movl %eax,OUT_ARG1(%esp)
- movl %ecx,OUT_ARG0(%esp)
- SPILL(rIBASE)
- call dvmResolveStaticField # eax<- resolved StaticField ptr
- UNSPILL(rIBASE)
- testl %eax,%eax
- jne .LOP_SPUT_OBJECT_JUMBO_finish # success, continue
- jmp common_exceptionThrown # no, handle exception
-
-/* ------------------------------ */
-.L_OP_SPUT_BOOLEAN_JUMBO: /* 0x11e */
-/* File: x86/OP_SPUT_BOOLEAN_JUMBO.S */
-/* File: x86/OP_SPUT_JUMBO.S */
- /*
- * Jumbo 32-bit SPUT handler.
- *
- * for: sput/jumbo, sput-boolean/jumbo, sput-byte/jumbo, sput-char/jumbo,
- * sput-short/jumbo
- */
- /* exop vBBBB, field@AAAAAAAA */
- movl rSELF,%ecx
- movl offThread_methodClassDex(%ecx),%ecx # ecx<- DvmDex
- movl 2(rPC),%eax # eax<- field ref AAAAAAAA
- movl offDvmDex_pResFields(%ecx),%ecx # ecx<- dvmDex->pResFields
- movl (%ecx,%eax,4),%eax # eax<- resolved StaticField ptr
- testl %eax,%eax # resolved entry null?
- je .LOP_SPUT_BOOLEAN_JUMBO_resolve # if not, make it so
-.LOP_SPUT_BOOLEAN_JUMBO_finish: # field ptr in eax
- GET_VREG_R rINST rINST
- FETCH_INST_OPCODE 4 %ecx
- ADVANCE_PC 4
- movl rINST,offStaticField_value(%eax)
- GOTO_NEXT_R %ecx
-
- /*
- * Go resolve the field
- */
-.LOP_SPUT_BOOLEAN_JUMBO_resolve:
- movl rSELF,%ecx
- movl 2(rPC),%eax # eax<- field ref AAAAAAAA
- movl offThread_method(%ecx),%ecx # ecx<- current method
- EXPORT_PC # could throw, need to export
- movl offMethod_clazz(%ecx),%ecx # ecx<- method->clazz
- movl %eax,OUT_ARG1(%esp)
- movl %ecx,OUT_ARG0(%esp)
- SPILL(rIBASE)
- call dvmResolveStaticField # eax<- resolved StaticField ptr
- UNSPILL(rIBASE)
- testl %eax,%eax
- jne .LOP_SPUT_BOOLEAN_JUMBO_finish # success, continue
- jmp common_exceptionThrown # no, handle exception
-
-
-/* ------------------------------ */
-.L_OP_SPUT_BYTE_JUMBO: /* 0x11f */
-/* File: x86/OP_SPUT_BYTE_JUMBO.S */
-/* File: x86/OP_SPUT_JUMBO.S */
- /*
- * Jumbo 32-bit SPUT handler.
- *
- * for: sput/jumbo, sput-boolean/jumbo, sput-byte/jumbo, sput-char/jumbo,
- * sput-short/jumbo
- */
- /* exop vBBBB, field@AAAAAAAA */
- movl rSELF,%ecx
- movl offThread_methodClassDex(%ecx),%ecx # ecx<- DvmDex
- movl 2(rPC),%eax # eax<- field ref AAAAAAAA
- movl offDvmDex_pResFields(%ecx),%ecx # ecx<- dvmDex->pResFields
- movl (%ecx,%eax,4),%eax # eax<- resolved StaticField ptr
- testl %eax,%eax # resolved entry null?
- je .LOP_SPUT_BYTE_JUMBO_resolve # if not, make it so
-.LOP_SPUT_BYTE_JUMBO_finish: # field ptr in eax
- GET_VREG_R rINST rINST
- FETCH_INST_OPCODE 4 %ecx
- ADVANCE_PC 4
- movl rINST,offStaticField_value(%eax)
- GOTO_NEXT_R %ecx
-
- /*
- * Go resolve the field
- */
-.LOP_SPUT_BYTE_JUMBO_resolve:
- movl rSELF,%ecx
- movl 2(rPC),%eax # eax<- field ref AAAAAAAA
- movl offThread_method(%ecx),%ecx # ecx<- current method
- EXPORT_PC # could throw, need to export
- movl offMethod_clazz(%ecx),%ecx # ecx<- method->clazz
- movl %eax,OUT_ARG1(%esp)
- movl %ecx,OUT_ARG0(%esp)
- SPILL(rIBASE)
- call dvmResolveStaticField # eax<- resolved StaticField ptr
- UNSPILL(rIBASE)
- testl %eax,%eax
- jne .LOP_SPUT_BYTE_JUMBO_finish # success, continue
- jmp common_exceptionThrown # no, handle exception
-
-
-/* ------------------------------ */
-.L_OP_SPUT_CHAR_JUMBO: /* 0x120 */
-/* File: x86/OP_SPUT_CHAR_JUMBO.S */
-/* File: x86/OP_SPUT_JUMBO.S */
- /*
- * Jumbo 32-bit SPUT handler.
- *
- * for: sput/jumbo, sput-boolean/jumbo, sput-byte/jumbo, sput-char/jumbo,
- * sput-short/jumbo
- */
- /* exop vBBBB, field@AAAAAAAA */
- movl rSELF,%ecx
- movl offThread_methodClassDex(%ecx),%ecx # ecx<- DvmDex
- movl 2(rPC),%eax # eax<- field ref AAAAAAAA
- movl offDvmDex_pResFields(%ecx),%ecx # ecx<- dvmDex->pResFields
- movl (%ecx,%eax,4),%eax # eax<- resolved StaticField ptr
- testl %eax,%eax # resolved entry null?
- je .LOP_SPUT_CHAR_JUMBO_resolve # if not, make it so
-.LOP_SPUT_CHAR_JUMBO_finish: # field ptr in eax
- GET_VREG_R rINST rINST
- FETCH_INST_OPCODE 4 %ecx
- ADVANCE_PC 4
- movl rINST,offStaticField_value(%eax)
- GOTO_NEXT_R %ecx
-
- /*
- * Go resolve the field
- */
-.LOP_SPUT_CHAR_JUMBO_resolve:
- movl rSELF,%ecx
- movl 2(rPC),%eax # eax<- field ref AAAAAAAA
- movl offThread_method(%ecx),%ecx # ecx<- current method
- EXPORT_PC # could throw, need to export
- movl offMethod_clazz(%ecx),%ecx # ecx<- method->clazz
- movl %eax,OUT_ARG1(%esp)
- movl %ecx,OUT_ARG0(%esp)
- SPILL(rIBASE)
- call dvmResolveStaticField # eax<- resolved StaticField ptr
- UNSPILL(rIBASE)
- testl %eax,%eax
- jne .LOP_SPUT_CHAR_JUMBO_finish # success, continue
- jmp common_exceptionThrown # no, handle exception
-
-
-/* ------------------------------ */
-.L_OP_SPUT_SHORT_JUMBO: /* 0x121 */
-/* File: x86/OP_SPUT_SHORT_JUMBO.S */
-/* File: x86/OP_SPUT_JUMBO.S */
- /*
- * Jumbo 32-bit SPUT handler.
- *
- * for: sput/jumbo, sput-boolean/jumbo, sput-byte/jumbo, sput-char/jumbo,
- * sput-short/jumbo
- */
- /* exop vBBBB, field@AAAAAAAA */
- movl rSELF,%ecx
- movl offThread_methodClassDex(%ecx),%ecx # ecx<- DvmDex
- movl 2(rPC),%eax # eax<- field ref AAAAAAAA
- movl offDvmDex_pResFields(%ecx),%ecx # ecx<- dvmDex->pResFields
- movl (%ecx,%eax,4),%eax # eax<- resolved StaticField ptr
- testl %eax,%eax # resolved entry null?
- je .LOP_SPUT_SHORT_JUMBO_resolve # if not, make it so
-.LOP_SPUT_SHORT_JUMBO_finish: # field ptr in eax
- GET_VREG_R rINST rINST
- FETCH_INST_OPCODE 4 %ecx
- ADVANCE_PC 4
- movl rINST,offStaticField_value(%eax)
- GOTO_NEXT_R %ecx
-
- /*
- * Go resolve the field
- */
-.LOP_SPUT_SHORT_JUMBO_resolve:
- movl rSELF,%ecx
- movl 2(rPC),%eax # eax<- field ref AAAAAAAA
- movl offThread_method(%ecx),%ecx # ecx<- current method
- EXPORT_PC # could throw, need to export
- movl offMethod_clazz(%ecx),%ecx # ecx<- method->clazz
- movl %eax,OUT_ARG1(%esp)
- movl %ecx,OUT_ARG0(%esp)
- SPILL(rIBASE)
- call dvmResolveStaticField # eax<- resolved StaticField ptr
- UNSPILL(rIBASE)
- testl %eax,%eax
- jne .LOP_SPUT_SHORT_JUMBO_finish # success, continue
- jmp common_exceptionThrown # no, handle exception
-
-
-/* ------------------------------ */
-.L_OP_INVOKE_VIRTUAL_JUMBO: /* 0x122 */
-/* File: x86/OP_INVOKE_VIRTUAL_JUMBO.S */
- /*
- * Handle a jumbo virtual method call.
- */
- /* invoke-virtual/jumbo vBBBB, {vCCCC..v(CCCC+BBBB-1)}, meth@AAAAAAAA */
- movl rSELF,%eax
- movl 2(rPC),%ecx # ecx<- AAAAAAAA
- movl offThread_methodClassDex(%eax),%eax # eax<- pDvmDex
- EXPORT_PC
- movl offDvmDex_pResMethods(%eax),%eax # eax<- pDvmDex->pResMethods
- movl (%eax,%ecx,4),%eax # eax<- resolved baseMethod
- testl %eax,%eax # already resolved?
- jne .LOP_INVOKE_VIRTUAL_JUMBO_continue # yes, continue
- movl rSELF,%eax
- movl %ecx,OUT_ARG1(%esp) # arg1<- ref
- movl offThread_method(%eax),%eax # eax<- self->method
- movl offMethod_clazz(%eax),%eax # ecx<- method->clazz
- movl %eax,OUT_ARG0(%esp) # arg0<- clazz
- movl $METHOD_VIRTUAL,OUT_ARG2(%esp) # arg2<- flags
- call dvmResolveMethod # eax<- call(clazz, ref, flags)
- testl %eax,%eax # got null?
- jne .LOP_INVOKE_VIRTUAL_JUMBO_continue # no, continue
- jmp common_exceptionThrown # yes, handle exception
-
- /* At this point:
- * eax = resolved base method
- * ecx = scratch
- */
-.LOP_INVOKE_VIRTUAL_JUMBO_continue:
- movzwl 8(rPC),%ecx # ecx<- CCCC
- GET_VREG_R %ecx %ecx # ecx<- "this"
- movzwl offMethod_methodIndex(%eax),%eax # eax<- baseMethod->methodIndex
- testl %ecx,%ecx # null this?
- je common_errNullObject # go if so
- movl offObject_clazz(%ecx),%ecx # ecx<- thisPtr->clazz
- movl offClassObject_vtable(%ecx),%ecx # ecx<- thisPtr->clazz->vtable
- movl (%ecx,%eax,4),%eax # eax<- vtable[methodIndex]
- jmp common_invokeMethodJumbo
-
-/* ------------------------------ */
-.L_OP_INVOKE_SUPER_JUMBO: /* 0x123 */
-/* File: x86/OP_INVOKE_SUPER_JUMBO.S */
- /*
- * Handle a jumbo "super" method call.
- */
- /* invoke-super/jumbo {vCCCC..v(CCCC+BBBB-1)}, meth@AAAAAAAA */
- movl rSELF,rINST
- movl 2(rPC),%eax # eax<- AAAAAAAA
- movl offThread_methodClassDex(rINST),%ecx # ecx<- pDvmDex
- EXPORT_PC
- movl offDvmDex_pResMethods(%ecx),%ecx # ecx<- pDvmDex->pResMethods
- movl (%ecx,%eax,4),%ecx # ecx<- resolved baseMethod
- movl offThread_method(rINST),%eax # eax<- method
- movzwl 8(rPC),rINST # rINST<- CCCC
- GET_VREG_R rINST rINST # rINST<- "this" ptr
- testl rINST,rINST # null "this"?
- je common_errNullObject # yes, throw
- movl offMethod_clazz(%eax),%eax # eax<- method->clazz
- testl %ecx,%ecx # already resolved?
- je .LOP_INVOKE_SUPER_JUMBO_resolve
- /*
- * At this point:
- * ecx = resolved base method [r0]
- * eax = method->clazz [r9]
- */
-.LOP_INVOKE_SUPER_JUMBO_continue:
- movl offClassObject_super(%eax),%eax # eax<- method->clazz->super
- movzwl offMethod_methodIndex(%ecx),%ecx # ecx<- baseMthod->methodIndex
- cmpl offClassObject_vtableCount(%eax),%ecx # compare(methodIndex,vtableCount)
- jae .LOP_INVOKE_SUPER_JUMBO_nsm # method not present in superclass
- movl offClassObject_vtable(%eax),%eax # eax<- ...clazz->super->vtable
- movl (%eax,%ecx,4),%eax # eax<- vtable[methodIndex]
- jmp common_invokeMethodJumbo
-
-
- /* At this point:
- * ecx = null (needs to be resolved base method)
- * eax = method->clazz
- */
-.LOP_INVOKE_SUPER_JUMBO_resolve:
- SPILL_TMP1(%eax) # method->clazz
- movl %eax,OUT_ARG0(%esp) # arg0<- method->clazz
- movl 2(rPC),%ecx # ecx<- AAAAAAAA
- movl $METHOD_VIRTUAL,OUT_ARG2(%esp) # arg2<- resolver method type
- movl %ecx,OUT_ARG1(%esp) # arg1<- ref
- call dvmResolveMethod # eax<- call(clazz, ref, flags)
- testl %eax,%eax # got null?
- movl %eax,%ecx # ecx<- resolved base method
- UNSPILL_TMP1(%eax) # restore method->clazz
- jne .LOP_INVOKE_SUPER_JUMBO_continue # good to go - continue
- jmp common_exceptionThrown # handle exception
-
- /*
- * Throw a NoSuchMethodError with the method name as the message.
- * ecx = resolved base method
- */
-.LOP_INVOKE_SUPER_JUMBO_nsm:
- movl offMethod_name(%ecx),%eax
- jmp common_errNoSuchMethod
-
-/* ------------------------------ */
-.L_OP_INVOKE_DIRECT_JUMBO: /* 0x124 */
-/* File: x86/OP_INVOKE_DIRECT_JUMBO.S */
- /*
- * Handle a jumbo direct method call.
- *
- * (We could defer the "is 'this' pointer null" test to the common
- * method invocation code, and use a flag to indicate that static
- * calls don't count. If we do this as part of copying the arguments
- * out we could avoiding loading the first arg twice.)
- */
- /* invoke-direct/jumbo {vCCCC..v(CCCC+BBBB-1)}, meth@AAAAAAAA */
- movl rSELF,%ecx
- movl 2(rPC),%eax # eax<- AAAAAAAA
- movl offThread_methodClassDex(%ecx),%ecx # ecx<- pDvmDex
- EXPORT_PC
- movl offDvmDex_pResMethods(%ecx),%ecx # ecx<- pDvmDex->pResMethods
- movzwl 8(rPC),rIBASE # rIBASE<- CCCC
- movl (%ecx,%eax,4),%eax # eax<- resolved methodToCall
- testl %eax,%eax # already resolved?
- GET_VREG_R %ecx rIBASE # ecx<- "this" ptr
- je .LOP_INVOKE_DIRECT_JUMBO_resolve # not resolved, do it now
-.LOP_INVOKE_DIRECT_JUMBO_finish:
- testl %ecx,%ecx # null "this"?
- jne common_invokeMethodJumbo # no, continue on
- jmp common_errNullObject
-
- /*
- * On entry:
- * TMP_SPILL <- "this" register
- * Things a bit ugly on this path, but it's the less
- * frequent one. We'll have to do some reloading.
- */
-.LOP_INVOKE_DIRECT_JUMBO_resolve:
- SPILL_TMP1(%ecx)
- movl rSELF,%ecx
- movl offThread_method(%ecx),%ecx # ecx<- self->method
- movl 2(rPC),%eax # reference AAAAAAAA
- movl offMethod_clazz(%ecx),%ecx # ecx<- method->clazz
- movl $METHOD_DIRECT,OUT_ARG2(%esp)
- movl %eax,OUT_ARG1(%esp)
- movl %ecx,OUT_ARG0(%esp)
- call dvmResolveMethod # eax<- call(clazz, ref, flags)
- UNSPILL_TMP1(%ecx)
- testl %eax,%eax
- jne .LOP_INVOKE_DIRECT_JUMBO_finish
- jmp common_exceptionThrown
-
-/* ------------------------------ */
-.L_OP_INVOKE_STATIC_JUMBO: /* 0x125 */
-/* File: x86/OP_INVOKE_STATIC_JUMBO.S */
- /*
- * Handle a jumbo static method call.
- */
- /* invoke-static/jumbo {vCCCC..v(CCCC+BBBB-1)}, meth@AAAAAAAA */
- movl rSELF,%ecx
- movl 2(rPC),%eax # eax<- AAAAAAAA
- movl offThread_methodClassDex(%ecx),%ecx # ecx<- pDvmDex
- EXPORT_PC
- movl offDvmDex_pResMethods(%ecx),%ecx # ecx<- pDvmDex->pResMethods
- movl (%ecx,%eax,4),%eax # eax<- resolved methodToCall
- testl %eax,%eax
- jne common_invokeMethodJumbo
- movl rSELF,%ecx
- movl offThread_method(%ecx),%ecx # ecx<- self->method
- movl 2(rPC),%eax # eax<- AAAAAAAA
- movl offMethod_clazz(%ecx),%ecx# ecx<- method->clazz
- movl %eax,OUT_ARG1(%esp) # arg1<- AAAAAAAA
- movl %ecx,OUT_ARG0(%esp) # arg0<- clazz
- movl $METHOD_STATIC,%eax
- movl %eax,OUT_ARG2(%esp) # arg2<- flags
- call dvmResolveMethod # call(clazz,ref,flags)
- testl %eax,%eax # got null?
- jne common_invokeMethodJumbo
- jmp common_exceptionThrown
-
-/* ------------------------------ */
-.L_OP_INVOKE_INTERFACE_JUMBO: /* 0x126 */
-/* File: x86/OP_INVOKE_INTERFACE_JUMBO.S */
- /*
- * Handle a jumbo interface method call.
- */
- /* invoke-interface/jumbo {vCCCC..v(CCCC+BBBB-1)}, meth@AAAAAAAA */
- movzwl 8(rPC),%eax # eax<- CCCC
- movl rSELF,%ecx
- GET_VREG_R %eax %eax # eax<- "this"
- EXPORT_PC
- testl %eax,%eax # null this?
- je common_errNullObject # yes, fail
- movl offObject_clazz(%eax),%eax# eax<- thisPtr->clazz
- movl %eax,OUT_ARG0(%esp) # arg0<- class
- movl offThread_methodClassDex(%ecx),%eax # eax<- methodClassDex
- movl offThread_method(%ecx),%ecx # ecx<- method
- movl %eax,OUT_ARG3(%esp) # arg3<- dex
- movl 2(rPC),%eax # eax<- AAAAAAAA
- movl %ecx,OUT_ARG2(%esp) # arg2<- method
- movl %eax,OUT_ARG1(%esp) # arg1<- AAAAAAAA
- call dvmFindInterfaceMethodInCache # eax<- call(class, ref, method, dex)
- testl %eax,%eax
- je common_exceptionThrown
- jmp common_invokeMethodJumbo
-
-/* ------------------------------ */
-.L_OP_UNUSED_27FF: /* 0x127 */
-/* File: x86/OP_UNUSED_27FF.S */
-/* File: x86/unused.S */
- jmp common_abort
-
-
-/* ------------------------------ */
-.L_OP_UNUSED_28FF: /* 0x128 */
-/* File: x86/OP_UNUSED_28FF.S */
-/* File: x86/unused.S */
- jmp common_abort
-
-
-/* ------------------------------ */
-.L_OP_UNUSED_29FF: /* 0x129 */
-/* File: x86/OP_UNUSED_29FF.S */
-/* File: x86/unused.S */
- jmp common_abort
-
-
-/* ------------------------------ */
-.L_OP_UNUSED_2AFF: /* 0x12a */
-/* File: x86/OP_UNUSED_2AFF.S */
-/* File: x86/unused.S */
- jmp common_abort
-
-
-/* ------------------------------ */
-.L_OP_UNUSED_2BFF: /* 0x12b */
-/* File: x86/OP_UNUSED_2BFF.S */
-/* File: x86/unused.S */
- jmp common_abort
-
-
-/* ------------------------------ */
-.L_OP_UNUSED_2CFF: /* 0x12c */
-/* File: x86/OP_UNUSED_2CFF.S */
-/* File: x86/unused.S */
- jmp common_abort
-
-
-/* ------------------------------ */
-.L_OP_UNUSED_2DFF: /* 0x12d */
-/* File: x86/OP_UNUSED_2DFF.S */
-/* File: x86/unused.S */
- jmp common_abort
-
-
-/* ------------------------------ */
-.L_OP_UNUSED_2EFF: /* 0x12e */
-/* File: x86/OP_UNUSED_2EFF.S */
-/* File: x86/unused.S */
- jmp common_abort
-
-
-/* ------------------------------ */
-.L_OP_UNUSED_2FFF: /* 0x12f */
-/* File: x86/OP_UNUSED_2FFF.S */
-/* File: x86/unused.S */
- jmp common_abort
-
-
-/* ------------------------------ */
-.L_OP_UNUSED_30FF: /* 0x130 */
-/* File: x86/OP_UNUSED_30FF.S */
-/* File: x86/unused.S */
- jmp common_abort
-
-
-/* ------------------------------ */
-.L_OP_UNUSED_31FF: /* 0x131 */
-/* File: x86/OP_UNUSED_31FF.S */
-/* File: x86/unused.S */
- jmp common_abort
-
-
-/* ------------------------------ */
-.L_OP_UNUSED_32FF: /* 0x132 */
-/* File: x86/OP_UNUSED_32FF.S */
-/* File: x86/unused.S */
- jmp common_abort
-
-
-/* ------------------------------ */
-.L_OP_UNUSED_33FF: /* 0x133 */
-/* File: x86/OP_UNUSED_33FF.S */
-/* File: x86/unused.S */
- jmp common_abort
-
-
-/* ------------------------------ */
-.L_OP_UNUSED_34FF: /* 0x134 */
-/* File: x86/OP_UNUSED_34FF.S */
-/* File: x86/unused.S */
- jmp common_abort
-
-
-/* ------------------------------ */
-.L_OP_UNUSED_35FF: /* 0x135 */
-/* File: x86/OP_UNUSED_35FF.S */
-/* File: x86/unused.S */
- jmp common_abort
-
-
-/* ------------------------------ */
-.L_OP_UNUSED_36FF: /* 0x136 */
-/* File: x86/OP_UNUSED_36FF.S */
-/* File: x86/unused.S */
- jmp common_abort
-
-
-/* ------------------------------ */
-.L_OP_UNUSED_37FF: /* 0x137 */
-/* File: x86/OP_UNUSED_37FF.S */
-/* File: x86/unused.S */
- jmp common_abort
-
-
-/* ------------------------------ */
-.L_OP_UNUSED_38FF: /* 0x138 */
-/* File: x86/OP_UNUSED_38FF.S */
-/* File: x86/unused.S */
- jmp common_abort
-
-
-/* ------------------------------ */
-.L_OP_UNUSED_39FF: /* 0x139 */
-/* File: x86/OP_UNUSED_39FF.S */
-/* File: x86/unused.S */
- jmp common_abort
-
-
-/* ------------------------------ */
-.L_OP_UNUSED_3AFF: /* 0x13a */
-/* File: x86/OP_UNUSED_3AFF.S */
-/* File: x86/unused.S */
- jmp common_abort
-
-
-/* ------------------------------ */
-.L_OP_UNUSED_3BFF: /* 0x13b */
-/* File: x86/OP_UNUSED_3BFF.S */
-/* File: x86/unused.S */
- jmp common_abort
-
-
-/* ------------------------------ */
-.L_OP_UNUSED_3CFF: /* 0x13c */
-/* File: x86/OP_UNUSED_3CFF.S */
-/* File: x86/unused.S */
- jmp common_abort
-
-
-/* ------------------------------ */
-.L_OP_UNUSED_3DFF: /* 0x13d */
-/* File: x86/OP_UNUSED_3DFF.S */
-/* File: x86/unused.S */
- jmp common_abort
-
-
-/* ------------------------------ */
-.L_OP_UNUSED_3EFF: /* 0x13e */
-/* File: x86/OP_UNUSED_3EFF.S */
-/* File: x86/unused.S */
- jmp common_abort
-
-
-/* ------------------------------ */
-.L_OP_UNUSED_3FFF: /* 0x13f */
-/* File: x86/OP_UNUSED_3FFF.S */
-/* File: x86/unused.S */
- jmp common_abort
-
-
-/* ------------------------------ */
-.L_OP_UNUSED_40FF: /* 0x140 */
-/* File: x86/OP_UNUSED_40FF.S */
-/* File: x86/unused.S */
- jmp common_abort
-
-
-/* ------------------------------ */
-.L_OP_UNUSED_41FF: /* 0x141 */
-/* File: x86/OP_UNUSED_41FF.S */
-/* File: x86/unused.S */
- jmp common_abort
-
-
-/* ------------------------------ */
-.L_OP_UNUSED_42FF: /* 0x142 */
-/* File: x86/OP_UNUSED_42FF.S */
-/* File: x86/unused.S */
- jmp common_abort
-
-
-/* ------------------------------ */
-.L_OP_UNUSED_43FF: /* 0x143 */
-/* File: x86/OP_UNUSED_43FF.S */
-/* File: x86/unused.S */
- jmp common_abort
-
-
-/* ------------------------------ */
-.L_OP_UNUSED_44FF: /* 0x144 */
-/* File: x86/OP_UNUSED_44FF.S */
-/* File: x86/unused.S */
- jmp common_abort
-
-
-/* ------------------------------ */
-.L_OP_UNUSED_45FF: /* 0x145 */
-/* File: x86/OP_UNUSED_45FF.S */
-/* File: x86/unused.S */
- jmp common_abort
-
-
-/* ------------------------------ */
-.L_OP_UNUSED_46FF: /* 0x146 */
-/* File: x86/OP_UNUSED_46FF.S */
-/* File: x86/unused.S */
- jmp common_abort
-
-
-/* ------------------------------ */
-.L_OP_UNUSED_47FF: /* 0x147 */
-/* File: x86/OP_UNUSED_47FF.S */
-/* File: x86/unused.S */
- jmp common_abort
-
-
-/* ------------------------------ */
-.L_OP_UNUSED_48FF: /* 0x148 */
-/* File: x86/OP_UNUSED_48FF.S */
-/* File: x86/unused.S */
- jmp common_abort
-
-
-/* ------------------------------ */
-.L_OP_UNUSED_49FF: /* 0x149 */
-/* File: x86/OP_UNUSED_49FF.S */
-/* File: x86/unused.S */
- jmp common_abort
-
-
-/* ------------------------------ */
-.L_OP_UNUSED_4AFF: /* 0x14a */
-/* File: x86/OP_UNUSED_4AFF.S */
-/* File: x86/unused.S */
- jmp common_abort
-
-
-/* ------------------------------ */
-.L_OP_UNUSED_4BFF: /* 0x14b */
-/* File: x86/OP_UNUSED_4BFF.S */
-/* File: x86/unused.S */
- jmp common_abort
-
-
-/* ------------------------------ */
-.L_OP_UNUSED_4CFF: /* 0x14c */
-/* File: x86/OP_UNUSED_4CFF.S */
-/* File: x86/unused.S */
- jmp common_abort
-
-
-/* ------------------------------ */
-.L_OP_UNUSED_4DFF: /* 0x14d */
-/* File: x86/OP_UNUSED_4DFF.S */
-/* File: x86/unused.S */
- jmp common_abort
-
-
-/* ------------------------------ */
-.L_OP_UNUSED_4EFF: /* 0x14e */
-/* File: x86/OP_UNUSED_4EFF.S */
-/* File: x86/unused.S */
- jmp common_abort
-
-
-/* ------------------------------ */
-.L_OP_UNUSED_4FFF: /* 0x14f */
-/* File: x86/OP_UNUSED_4FFF.S */
-/* File: x86/unused.S */
- jmp common_abort
-
-
-/* ------------------------------ */
-.L_OP_UNUSED_50FF: /* 0x150 */
-/* File: x86/OP_UNUSED_50FF.S */
-/* File: x86/unused.S */
- jmp common_abort
-
-
-/* ------------------------------ */
-.L_OP_UNUSED_51FF: /* 0x151 */
-/* File: x86/OP_UNUSED_51FF.S */
-/* File: x86/unused.S */
- jmp common_abort
-
-
-/* ------------------------------ */
-.L_OP_UNUSED_52FF: /* 0x152 */
-/* File: x86/OP_UNUSED_52FF.S */
-/* File: x86/unused.S */
- jmp common_abort
-
-
-/* ------------------------------ */
-.L_OP_UNUSED_53FF: /* 0x153 */
-/* File: x86/OP_UNUSED_53FF.S */
-/* File: x86/unused.S */
- jmp common_abort
-
-
-/* ------------------------------ */
-.L_OP_UNUSED_54FF: /* 0x154 */
-/* File: x86/OP_UNUSED_54FF.S */
-/* File: x86/unused.S */
- jmp common_abort
-
-
-/* ------------------------------ */
-.L_OP_UNUSED_55FF: /* 0x155 */
-/* File: x86/OP_UNUSED_55FF.S */
-/* File: x86/unused.S */
- jmp common_abort
-
-
-/* ------------------------------ */
-.L_OP_UNUSED_56FF: /* 0x156 */
-/* File: x86/OP_UNUSED_56FF.S */
-/* File: x86/unused.S */
- jmp common_abort
-
-
-/* ------------------------------ */
-.L_OP_UNUSED_57FF: /* 0x157 */
-/* File: x86/OP_UNUSED_57FF.S */
-/* File: x86/unused.S */
- jmp common_abort
-
-
-/* ------------------------------ */
-.L_OP_UNUSED_58FF: /* 0x158 */
-/* File: x86/OP_UNUSED_58FF.S */
-/* File: x86/unused.S */
- jmp common_abort
-
-
-/* ------------------------------ */
-.L_OP_UNUSED_59FF: /* 0x159 */
-/* File: x86/OP_UNUSED_59FF.S */
-/* File: x86/unused.S */
- jmp common_abort
-
-
-/* ------------------------------ */
-.L_OP_UNUSED_5AFF: /* 0x15a */
-/* File: x86/OP_UNUSED_5AFF.S */
-/* File: x86/unused.S */
- jmp common_abort
-
-
-/* ------------------------------ */
-.L_OP_UNUSED_5BFF: /* 0x15b */
-/* File: x86/OP_UNUSED_5BFF.S */
-/* File: x86/unused.S */
- jmp common_abort
-
-
-/* ------------------------------ */
-.L_OP_UNUSED_5CFF: /* 0x15c */
-/* File: x86/OP_UNUSED_5CFF.S */
-/* File: x86/unused.S */
- jmp common_abort
-
-
-/* ------------------------------ */
-.L_OP_UNUSED_5DFF: /* 0x15d */
-/* File: x86/OP_UNUSED_5DFF.S */
-/* File: x86/unused.S */
- jmp common_abort
-
-
-/* ------------------------------ */
-.L_OP_UNUSED_5EFF: /* 0x15e */
-/* File: x86/OP_UNUSED_5EFF.S */
-/* File: x86/unused.S */
- jmp common_abort
-
-
-/* ------------------------------ */
-.L_OP_UNUSED_5FFF: /* 0x15f */
-/* File: x86/OP_UNUSED_5FFF.S */
-/* File: x86/unused.S */
- jmp common_abort
-
-
-/* ------------------------------ */
-.L_OP_UNUSED_60FF: /* 0x160 */
-/* File: x86/OP_UNUSED_60FF.S */
-/* File: x86/unused.S */
- jmp common_abort
-
-
-/* ------------------------------ */
-.L_OP_UNUSED_61FF: /* 0x161 */
-/* File: x86/OP_UNUSED_61FF.S */
-/* File: x86/unused.S */
- jmp common_abort
-
-
-/* ------------------------------ */
-.L_OP_UNUSED_62FF: /* 0x162 */
-/* File: x86/OP_UNUSED_62FF.S */
-/* File: x86/unused.S */
- jmp common_abort
-
-
-/* ------------------------------ */
-.L_OP_UNUSED_63FF: /* 0x163 */
-/* File: x86/OP_UNUSED_63FF.S */
-/* File: x86/unused.S */
- jmp common_abort
-
-
-/* ------------------------------ */
-.L_OP_UNUSED_64FF: /* 0x164 */
-/* File: x86/OP_UNUSED_64FF.S */
-/* File: x86/unused.S */
- jmp common_abort
-
-
-/* ------------------------------ */
-.L_OP_UNUSED_65FF: /* 0x165 */
-/* File: x86/OP_UNUSED_65FF.S */
-/* File: x86/unused.S */
- jmp common_abort
-
-
-/* ------------------------------ */
-.L_OP_UNUSED_66FF: /* 0x166 */
-/* File: x86/OP_UNUSED_66FF.S */
-/* File: x86/unused.S */
- jmp common_abort
-
-
-/* ------------------------------ */
-.L_OP_UNUSED_67FF: /* 0x167 */
-/* File: x86/OP_UNUSED_67FF.S */
-/* File: x86/unused.S */
- jmp common_abort
-
-
-/* ------------------------------ */
-.L_OP_UNUSED_68FF: /* 0x168 */
-/* File: x86/OP_UNUSED_68FF.S */
-/* File: x86/unused.S */
- jmp common_abort
-
-
-/* ------------------------------ */
-.L_OP_UNUSED_69FF: /* 0x169 */
-/* File: x86/OP_UNUSED_69FF.S */
-/* File: x86/unused.S */
- jmp common_abort
-
-
-/* ------------------------------ */
-.L_OP_UNUSED_6AFF: /* 0x16a */
-/* File: x86/OP_UNUSED_6AFF.S */
-/* File: x86/unused.S */
- jmp common_abort
-
-
-/* ------------------------------ */
-.L_OP_UNUSED_6BFF: /* 0x16b */
-/* File: x86/OP_UNUSED_6BFF.S */
-/* File: x86/unused.S */
- jmp common_abort
-
-
-/* ------------------------------ */
-.L_OP_UNUSED_6CFF: /* 0x16c */
-/* File: x86/OP_UNUSED_6CFF.S */
-/* File: x86/unused.S */
- jmp common_abort
-
-
-/* ------------------------------ */
-.L_OP_UNUSED_6DFF: /* 0x16d */
-/* File: x86/OP_UNUSED_6DFF.S */
-/* File: x86/unused.S */
- jmp common_abort
-
-
-/* ------------------------------ */
-.L_OP_UNUSED_6EFF: /* 0x16e */
-/* File: x86/OP_UNUSED_6EFF.S */
-/* File: x86/unused.S */
- jmp common_abort
-
-
-/* ------------------------------ */
-.L_OP_UNUSED_6FFF: /* 0x16f */
-/* File: x86/OP_UNUSED_6FFF.S */
-/* File: x86/unused.S */
- jmp common_abort
-
-
-/* ------------------------------ */
-.L_OP_UNUSED_70FF: /* 0x170 */
-/* File: x86/OP_UNUSED_70FF.S */
-/* File: x86/unused.S */
- jmp common_abort
-
-
-/* ------------------------------ */
-.L_OP_UNUSED_71FF: /* 0x171 */
-/* File: x86/OP_UNUSED_71FF.S */
-/* File: x86/unused.S */
- jmp common_abort
-
-
-/* ------------------------------ */
-.L_OP_UNUSED_72FF: /* 0x172 */
-/* File: x86/OP_UNUSED_72FF.S */
-/* File: x86/unused.S */
- jmp common_abort
-
-
-/* ------------------------------ */
-.L_OP_UNUSED_73FF: /* 0x173 */
-/* File: x86/OP_UNUSED_73FF.S */
-/* File: x86/unused.S */
- jmp common_abort
-
-
-/* ------------------------------ */
-.L_OP_UNUSED_74FF: /* 0x174 */
-/* File: x86/OP_UNUSED_74FF.S */
-/* File: x86/unused.S */
- jmp common_abort
-
-
-/* ------------------------------ */
-.L_OP_UNUSED_75FF: /* 0x175 */
-/* File: x86/OP_UNUSED_75FF.S */
-/* File: x86/unused.S */
- jmp common_abort
-
-
-/* ------------------------------ */
-.L_OP_UNUSED_76FF: /* 0x176 */
-/* File: x86/OP_UNUSED_76FF.S */
-/* File: x86/unused.S */
- jmp common_abort
-
-
-/* ------------------------------ */
-.L_OP_UNUSED_77FF: /* 0x177 */
-/* File: x86/OP_UNUSED_77FF.S */
-/* File: x86/unused.S */
- jmp common_abort
-
-
-/* ------------------------------ */
-.L_OP_UNUSED_78FF: /* 0x178 */
-/* File: x86/OP_UNUSED_78FF.S */
-/* File: x86/unused.S */
- jmp common_abort
-
-
-/* ------------------------------ */
-.L_OP_UNUSED_79FF: /* 0x179 */
-/* File: x86/OP_UNUSED_79FF.S */
-/* File: x86/unused.S */
- jmp common_abort
-
-
-/* ------------------------------ */
-.L_OP_UNUSED_7AFF: /* 0x17a */
-/* File: x86/OP_UNUSED_7AFF.S */
-/* File: x86/unused.S */
- jmp common_abort
-
-
-/* ------------------------------ */
-.L_OP_UNUSED_7BFF: /* 0x17b */
-/* File: x86/OP_UNUSED_7BFF.S */
-/* File: x86/unused.S */
- jmp common_abort
-
-
-/* ------------------------------ */
-.L_OP_UNUSED_7CFF: /* 0x17c */
-/* File: x86/OP_UNUSED_7CFF.S */
-/* File: x86/unused.S */
- jmp common_abort
-
-
-/* ------------------------------ */
-.L_OP_UNUSED_7DFF: /* 0x17d */
-/* File: x86/OP_UNUSED_7DFF.S */
-/* File: x86/unused.S */
- jmp common_abort
-
-
-/* ------------------------------ */
-.L_OP_UNUSED_7EFF: /* 0x17e */
-/* File: x86/OP_UNUSED_7EFF.S */
-/* File: x86/unused.S */
- jmp common_abort
-
-
-/* ------------------------------ */
-.L_OP_UNUSED_7FFF: /* 0x17f */
-/* File: x86/OP_UNUSED_7FFF.S */
-/* File: x86/unused.S */
- jmp common_abort
-
-
-/* ------------------------------ */
-.L_OP_UNUSED_80FF: /* 0x180 */
-/* File: x86/OP_UNUSED_80FF.S */
-/* File: x86/unused.S */
- jmp common_abort
-
-
-/* ------------------------------ */
-.L_OP_UNUSED_81FF: /* 0x181 */
-/* File: x86/OP_UNUSED_81FF.S */
-/* File: x86/unused.S */
- jmp common_abort
-
-
-/* ------------------------------ */
-.L_OP_UNUSED_82FF: /* 0x182 */
-/* File: x86/OP_UNUSED_82FF.S */
-/* File: x86/unused.S */
- jmp common_abort
-
-
-/* ------------------------------ */
-.L_OP_UNUSED_83FF: /* 0x183 */
-/* File: x86/OP_UNUSED_83FF.S */
-/* File: x86/unused.S */
- jmp common_abort
-
-
-/* ------------------------------ */
-.L_OP_UNUSED_84FF: /* 0x184 */
-/* File: x86/OP_UNUSED_84FF.S */
-/* File: x86/unused.S */
- jmp common_abort
-
-
-/* ------------------------------ */
-.L_OP_UNUSED_85FF: /* 0x185 */
-/* File: x86/OP_UNUSED_85FF.S */
-/* File: x86/unused.S */
- jmp common_abort
-
-
-/* ------------------------------ */
-.L_OP_UNUSED_86FF: /* 0x186 */
-/* File: x86/OP_UNUSED_86FF.S */
-/* File: x86/unused.S */
- jmp common_abort
-
-
-/* ------------------------------ */
-.L_OP_UNUSED_87FF: /* 0x187 */
-/* File: x86/OP_UNUSED_87FF.S */
-/* File: x86/unused.S */
- jmp common_abort
-
-
-/* ------------------------------ */
-.L_OP_UNUSED_88FF: /* 0x188 */
-/* File: x86/OP_UNUSED_88FF.S */
-/* File: x86/unused.S */
- jmp common_abort
-
-
-/* ------------------------------ */
-.L_OP_UNUSED_89FF: /* 0x189 */
-/* File: x86/OP_UNUSED_89FF.S */
-/* File: x86/unused.S */
- jmp common_abort
-
-
-/* ------------------------------ */
-.L_OP_UNUSED_8AFF: /* 0x18a */
-/* File: x86/OP_UNUSED_8AFF.S */
-/* File: x86/unused.S */
- jmp common_abort
-
-
-/* ------------------------------ */
-.L_OP_UNUSED_8BFF: /* 0x18b */
-/* File: x86/OP_UNUSED_8BFF.S */
-/* File: x86/unused.S */
- jmp common_abort
-
-
-/* ------------------------------ */
-.L_OP_UNUSED_8CFF: /* 0x18c */
-/* File: x86/OP_UNUSED_8CFF.S */
-/* File: x86/unused.S */
- jmp common_abort
-
-
-/* ------------------------------ */
-.L_OP_UNUSED_8DFF: /* 0x18d */
-/* File: x86/OP_UNUSED_8DFF.S */
-/* File: x86/unused.S */
- jmp common_abort
-
-
-/* ------------------------------ */
-.L_OP_UNUSED_8EFF: /* 0x18e */
-/* File: x86/OP_UNUSED_8EFF.S */
-/* File: x86/unused.S */
- jmp common_abort
-
-
-/* ------------------------------ */
-.L_OP_UNUSED_8FFF: /* 0x18f */
-/* File: x86/OP_UNUSED_8FFF.S */
-/* File: x86/unused.S */
- jmp common_abort
-
-
-/* ------------------------------ */
-.L_OP_UNUSED_90FF: /* 0x190 */
-/* File: x86/OP_UNUSED_90FF.S */
-/* File: x86/unused.S */
- jmp common_abort
-
-
-/* ------------------------------ */
-.L_OP_UNUSED_91FF: /* 0x191 */
-/* File: x86/OP_UNUSED_91FF.S */
-/* File: x86/unused.S */
- jmp common_abort
-
-
-/* ------------------------------ */
-.L_OP_UNUSED_92FF: /* 0x192 */
-/* File: x86/OP_UNUSED_92FF.S */
-/* File: x86/unused.S */
- jmp common_abort
-
-
-/* ------------------------------ */
-.L_OP_UNUSED_93FF: /* 0x193 */
-/* File: x86/OP_UNUSED_93FF.S */
-/* File: x86/unused.S */
- jmp common_abort
-
-
-/* ------------------------------ */
-.L_OP_UNUSED_94FF: /* 0x194 */
-/* File: x86/OP_UNUSED_94FF.S */
-/* File: x86/unused.S */
- jmp common_abort
-
-
-/* ------------------------------ */
-.L_OP_UNUSED_95FF: /* 0x195 */
-/* File: x86/OP_UNUSED_95FF.S */
-/* File: x86/unused.S */
- jmp common_abort
-
-
-/* ------------------------------ */
-.L_OP_UNUSED_96FF: /* 0x196 */
-/* File: x86/OP_UNUSED_96FF.S */
-/* File: x86/unused.S */
- jmp common_abort
-
-
-/* ------------------------------ */
-.L_OP_UNUSED_97FF: /* 0x197 */
-/* File: x86/OP_UNUSED_97FF.S */
-/* File: x86/unused.S */
- jmp common_abort
-
-
-/* ------------------------------ */
-.L_OP_UNUSED_98FF: /* 0x198 */
-/* File: x86/OP_UNUSED_98FF.S */
-/* File: x86/unused.S */
- jmp common_abort
-
-
-/* ------------------------------ */
-.L_OP_UNUSED_99FF: /* 0x199 */
-/* File: x86/OP_UNUSED_99FF.S */
-/* File: x86/unused.S */
- jmp common_abort
-
-
-/* ------------------------------ */
-.L_OP_UNUSED_9AFF: /* 0x19a */
-/* File: x86/OP_UNUSED_9AFF.S */
-/* File: x86/unused.S */
- jmp common_abort
-
-
-/* ------------------------------ */
-.L_OP_UNUSED_9BFF: /* 0x19b */
-/* File: x86/OP_UNUSED_9BFF.S */
-/* File: x86/unused.S */
- jmp common_abort
-
-
-/* ------------------------------ */
-.L_OP_UNUSED_9CFF: /* 0x19c */
-/* File: x86/OP_UNUSED_9CFF.S */
-/* File: x86/unused.S */
- jmp common_abort
-
-
-/* ------------------------------ */
-.L_OP_UNUSED_9DFF: /* 0x19d */
-/* File: x86/OP_UNUSED_9DFF.S */
-/* File: x86/unused.S */
- jmp common_abort
-
-
-/* ------------------------------ */
-.L_OP_UNUSED_9EFF: /* 0x19e */
-/* File: x86/OP_UNUSED_9EFF.S */
-/* File: x86/unused.S */
- jmp common_abort
-
-
-/* ------------------------------ */
-.L_OP_UNUSED_9FFF: /* 0x19f */
-/* File: x86/OP_UNUSED_9FFF.S */
-/* File: x86/unused.S */
- jmp common_abort
-
-
-/* ------------------------------ */
-.L_OP_UNUSED_A0FF: /* 0x1a0 */
-/* File: x86/OP_UNUSED_A0FF.S */
-/* File: x86/unused.S */
- jmp common_abort
-
-
-/* ------------------------------ */
-.L_OP_UNUSED_A1FF: /* 0x1a1 */
-/* File: x86/OP_UNUSED_A1FF.S */
-/* File: x86/unused.S */
- jmp common_abort
-
-
-/* ------------------------------ */
-.L_OP_UNUSED_A2FF: /* 0x1a2 */
-/* File: x86/OP_UNUSED_A2FF.S */
-/* File: x86/unused.S */
- jmp common_abort
-
-
-/* ------------------------------ */
-.L_OP_UNUSED_A3FF: /* 0x1a3 */
-/* File: x86/OP_UNUSED_A3FF.S */
-/* File: x86/unused.S */
- jmp common_abort
-
-
-/* ------------------------------ */
-.L_OP_UNUSED_A4FF: /* 0x1a4 */
-/* File: x86/OP_UNUSED_A4FF.S */
-/* File: x86/unused.S */
- jmp common_abort
-
-
-/* ------------------------------ */
-.L_OP_UNUSED_A5FF: /* 0x1a5 */
-/* File: x86/OP_UNUSED_A5FF.S */
-/* File: x86/unused.S */
- jmp common_abort
-
-
-/* ------------------------------ */
-.L_OP_UNUSED_A6FF: /* 0x1a6 */
-/* File: x86/OP_UNUSED_A6FF.S */
-/* File: x86/unused.S */
- jmp common_abort
-
-
-/* ------------------------------ */
-.L_OP_UNUSED_A7FF: /* 0x1a7 */
-/* File: x86/OP_UNUSED_A7FF.S */
-/* File: x86/unused.S */
- jmp common_abort
-
-
-/* ------------------------------ */
-.L_OP_UNUSED_A8FF: /* 0x1a8 */
-/* File: x86/OP_UNUSED_A8FF.S */
-/* File: x86/unused.S */
- jmp common_abort
-
-
-/* ------------------------------ */
-.L_OP_UNUSED_A9FF: /* 0x1a9 */
-/* File: x86/OP_UNUSED_A9FF.S */
-/* File: x86/unused.S */
- jmp common_abort
-
-
-/* ------------------------------ */
-.L_OP_UNUSED_AAFF: /* 0x1aa */
-/* File: x86/OP_UNUSED_AAFF.S */
-/* File: x86/unused.S */
- jmp common_abort
-
-
-/* ------------------------------ */
-.L_OP_UNUSED_ABFF: /* 0x1ab */
-/* File: x86/OP_UNUSED_ABFF.S */
-/* File: x86/unused.S */
- jmp common_abort
-
-
-/* ------------------------------ */
-.L_OP_UNUSED_ACFF: /* 0x1ac */
-/* File: x86/OP_UNUSED_ACFF.S */
-/* File: x86/unused.S */
- jmp common_abort
-
-
-/* ------------------------------ */
-.L_OP_UNUSED_ADFF: /* 0x1ad */
-/* File: x86/OP_UNUSED_ADFF.S */
-/* File: x86/unused.S */
- jmp common_abort
-
-
-/* ------------------------------ */
-.L_OP_UNUSED_AEFF: /* 0x1ae */
-/* File: x86/OP_UNUSED_AEFF.S */
-/* File: x86/unused.S */
- jmp common_abort
-
-
-/* ------------------------------ */
-.L_OP_UNUSED_AFFF: /* 0x1af */
-/* File: x86/OP_UNUSED_AFFF.S */
-/* File: x86/unused.S */
- jmp common_abort
-
-
-/* ------------------------------ */
-.L_OP_UNUSED_B0FF: /* 0x1b0 */
-/* File: x86/OP_UNUSED_B0FF.S */
-/* File: x86/unused.S */
- jmp common_abort
-
-
-/* ------------------------------ */
-.L_OP_UNUSED_B1FF: /* 0x1b1 */
-/* File: x86/OP_UNUSED_B1FF.S */
-/* File: x86/unused.S */
- jmp common_abort
-
-
-/* ------------------------------ */
-.L_OP_UNUSED_B2FF: /* 0x1b2 */
-/* File: x86/OP_UNUSED_B2FF.S */
-/* File: x86/unused.S */
- jmp common_abort
-
-
-/* ------------------------------ */
-.L_OP_UNUSED_B3FF: /* 0x1b3 */
-/* File: x86/OP_UNUSED_B3FF.S */
-/* File: x86/unused.S */
- jmp common_abort
-
-
-/* ------------------------------ */
-.L_OP_UNUSED_B4FF: /* 0x1b4 */
-/* File: x86/OP_UNUSED_B4FF.S */
-/* File: x86/unused.S */
- jmp common_abort
-
-
-/* ------------------------------ */
-.L_OP_UNUSED_B5FF: /* 0x1b5 */
-/* File: x86/OP_UNUSED_B5FF.S */
-/* File: x86/unused.S */
- jmp common_abort
-
-
-/* ------------------------------ */
-.L_OP_UNUSED_B6FF: /* 0x1b6 */
-/* File: x86/OP_UNUSED_B6FF.S */
-/* File: x86/unused.S */
- jmp common_abort
-
-
-/* ------------------------------ */
-.L_OP_UNUSED_B7FF: /* 0x1b7 */
-/* File: x86/OP_UNUSED_B7FF.S */
-/* File: x86/unused.S */
- jmp common_abort
-
-
-/* ------------------------------ */
-.L_OP_UNUSED_B8FF: /* 0x1b8 */
-/* File: x86/OP_UNUSED_B8FF.S */
-/* File: x86/unused.S */
- jmp common_abort
-
-
-/* ------------------------------ */
-.L_OP_UNUSED_B9FF: /* 0x1b9 */
-/* File: x86/OP_UNUSED_B9FF.S */
-/* File: x86/unused.S */
- jmp common_abort
-
-
-/* ------------------------------ */
-.L_OP_UNUSED_BAFF: /* 0x1ba */
-/* File: x86/OP_UNUSED_BAFF.S */
-/* File: x86/unused.S */
- jmp common_abort
-
-
-/* ------------------------------ */
-.L_OP_UNUSED_BBFF: /* 0x1bb */
-/* File: x86/OP_UNUSED_BBFF.S */
-/* File: x86/unused.S */
- jmp common_abort
-
-
-/* ------------------------------ */
-.L_OP_UNUSED_BCFF: /* 0x1bc */
-/* File: x86/OP_UNUSED_BCFF.S */
-/* File: x86/unused.S */
- jmp common_abort
-
-
-/* ------------------------------ */
-.L_OP_UNUSED_BDFF: /* 0x1bd */
-/* File: x86/OP_UNUSED_BDFF.S */
-/* File: x86/unused.S */
- jmp common_abort
-
-
-/* ------------------------------ */
-.L_OP_UNUSED_BEFF: /* 0x1be */
-/* File: x86/OP_UNUSED_BEFF.S */
-/* File: x86/unused.S */
- jmp common_abort
-
-
-/* ------------------------------ */
-.L_OP_UNUSED_BFFF: /* 0x1bf */
-/* File: x86/OP_UNUSED_BFFF.S */
-/* File: x86/unused.S */
- jmp common_abort
-
-
-/* ------------------------------ */
-.L_OP_UNUSED_C0FF: /* 0x1c0 */
-/* File: x86/OP_UNUSED_C0FF.S */
-/* File: x86/unused.S */
- jmp common_abort
-
-
-/* ------------------------------ */
-.L_OP_UNUSED_C1FF: /* 0x1c1 */
-/* File: x86/OP_UNUSED_C1FF.S */
-/* File: x86/unused.S */
- jmp common_abort
-
-
-/* ------------------------------ */
-.L_OP_UNUSED_C2FF: /* 0x1c2 */
-/* File: x86/OP_UNUSED_C2FF.S */
-/* File: x86/unused.S */
- jmp common_abort
-
-
-/* ------------------------------ */
-.L_OP_UNUSED_C3FF: /* 0x1c3 */
-/* File: x86/OP_UNUSED_C3FF.S */
-/* File: x86/unused.S */
- jmp common_abort
-
-
-/* ------------------------------ */
-.L_OP_UNUSED_C4FF: /* 0x1c4 */
-/* File: x86/OP_UNUSED_C4FF.S */
-/* File: x86/unused.S */
- jmp common_abort
-
-
-/* ------------------------------ */
-.L_OP_UNUSED_C5FF: /* 0x1c5 */
-/* File: x86/OP_UNUSED_C5FF.S */
-/* File: x86/unused.S */
- jmp common_abort
-
-
-/* ------------------------------ */
-.L_OP_UNUSED_C6FF: /* 0x1c6 */
-/* File: x86/OP_UNUSED_C6FF.S */
-/* File: x86/unused.S */
- jmp common_abort
-
-
-/* ------------------------------ */
-.L_OP_UNUSED_C7FF: /* 0x1c7 */
-/* File: x86/OP_UNUSED_C7FF.S */
-/* File: x86/unused.S */
- jmp common_abort
-
-
-/* ------------------------------ */
-.L_OP_UNUSED_C8FF: /* 0x1c8 */
-/* File: x86/OP_UNUSED_C8FF.S */
-/* File: x86/unused.S */
- jmp common_abort
-
-
-/* ------------------------------ */
-.L_OP_UNUSED_C9FF: /* 0x1c9 */
-/* File: x86/OP_UNUSED_C9FF.S */
-/* File: x86/unused.S */
- jmp common_abort
-
-
-/* ------------------------------ */
-.L_OP_UNUSED_CAFF: /* 0x1ca */
-/* File: x86/OP_UNUSED_CAFF.S */
-/* File: x86/unused.S */
- jmp common_abort
-
-
-/* ------------------------------ */
-.L_OP_UNUSED_CBFF: /* 0x1cb */
-/* File: x86/OP_UNUSED_CBFF.S */
-/* File: x86/unused.S */
- jmp common_abort
-
-
-/* ------------------------------ */
-.L_OP_UNUSED_CCFF: /* 0x1cc */
-/* File: x86/OP_UNUSED_CCFF.S */
-/* File: x86/unused.S */
- jmp common_abort
-
-
-/* ------------------------------ */
-.L_OP_UNUSED_CDFF: /* 0x1cd */
-/* File: x86/OP_UNUSED_CDFF.S */
-/* File: x86/unused.S */
- jmp common_abort
-
-
-/* ------------------------------ */
-.L_OP_UNUSED_CEFF: /* 0x1ce */
-/* File: x86/OP_UNUSED_CEFF.S */
-/* File: x86/unused.S */
- jmp common_abort
-
-
-/* ------------------------------ */
-.L_OP_UNUSED_CFFF: /* 0x1cf */
-/* File: x86/OP_UNUSED_CFFF.S */
-/* File: x86/unused.S */
- jmp common_abort
-
-
-/* ------------------------------ */
-.L_OP_UNUSED_D0FF: /* 0x1d0 */
-/* File: x86/OP_UNUSED_D0FF.S */
-/* File: x86/unused.S */
- jmp common_abort
-
-
-/* ------------------------------ */
-.L_OP_UNUSED_D1FF: /* 0x1d1 */
-/* File: x86/OP_UNUSED_D1FF.S */
-/* File: x86/unused.S */
- jmp common_abort
-
-
-/* ------------------------------ */
-.L_OP_UNUSED_D2FF: /* 0x1d2 */
-/* File: x86/OP_UNUSED_D2FF.S */
-/* File: x86/unused.S */
- jmp common_abort
-
-
-/* ------------------------------ */
-.L_OP_UNUSED_D3FF: /* 0x1d3 */
-/* File: x86/OP_UNUSED_D3FF.S */
-/* File: x86/unused.S */
- jmp common_abort
-
-
-/* ------------------------------ */
-.L_OP_UNUSED_D4FF: /* 0x1d4 */
-/* File: x86/OP_UNUSED_D4FF.S */
-/* File: x86/unused.S */
- jmp common_abort
-
-
-/* ------------------------------ */
-.L_OP_UNUSED_D5FF: /* 0x1d5 */
-/* File: x86/OP_UNUSED_D5FF.S */
-/* File: x86/unused.S */
- jmp common_abort
-
-
-/* ------------------------------ */
-.L_OP_UNUSED_D6FF: /* 0x1d6 */
-/* File: x86/OP_UNUSED_D6FF.S */
-/* File: x86/unused.S */
- jmp common_abort
-
-
-/* ------------------------------ */
-.L_OP_UNUSED_D7FF: /* 0x1d7 */
-/* File: x86/OP_UNUSED_D7FF.S */
-/* File: x86/unused.S */
- jmp common_abort
-
-
-/* ------------------------------ */
-.L_OP_UNUSED_D8FF: /* 0x1d8 */
-/* File: x86/OP_UNUSED_D8FF.S */
-/* File: x86/unused.S */
- jmp common_abort
-
-
-/* ------------------------------ */
-.L_OP_UNUSED_D9FF: /* 0x1d9 */
-/* File: x86/OP_UNUSED_D9FF.S */
-/* File: x86/unused.S */
- jmp common_abort
-
-
-/* ------------------------------ */
-.L_OP_UNUSED_DAFF: /* 0x1da */
-/* File: x86/OP_UNUSED_DAFF.S */
-/* File: x86/unused.S */
- jmp common_abort
-
-
-/* ------------------------------ */
-.L_OP_UNUSED_DBFF: /* 0x1db */
-/* File: x86/OP_UNUSED_DBFF.S */
-/* File: x86/unused.S */
- jmp common_abort
-
-
-/* ------------------------------ */
-.L_OP_UNUSED_DCFF: /* 0x1dc */
-/* File: x86/OP_UNUSED_DCFF.S */
-/* File: x86/unused.S */
- jmp common_abort
-
-
-/* ------------------------------ */
-.L_OP_UNUSED_DDFF: /* 0x1dd */
-/* File: x86/OP_UNUSED_DDFF.S */
-/* File: x86/unused.S */
- jmp common_abort
-
-
-/* ------------------------------ */
-.L_OP_UNUSED_DEFF: /* 0x1de */
-/* File: x86/OP_UNUSED_DEFF.S */
-/* File: x86/unused.S */
- jmp common_abort
-
-
-/* ------------------------------ */
-.L_OP_UNUSED_DFFF: /* 0x1df */
-/* File: x86/OP_UNUSED_DFFF.S */
-/* File: x86/unused.S */
- jmp common_abort
-
-
-/* ------------------------------ */
-.L_OP_UNUSED_E0FF: /* 0x1e0 */
-/* File: x86/OP_UNUSED_E0FF.S */
-/* File: x86/unused.S */
- jmp common_abort
-
-
-/* ------------------------------ */
-.L_OP_UNUSED_E1FF: /* 0x1e1 */
-/* File: x86/OP_UNUSED_E1FF.S */
-/* File: x86/unused.S */
- jmp common_abort
-
-
-/* ------------------------------ */
-.L_OP_UNUSED_E2FF: /* 0x1e2 */
-/* File: x86/OP_UNUSED_E2FF.S */
-/* File: x86/unused.S */
- jmp common_abort
-
-
-/* ------------------------------ */
-.L_OP_UNUSED_E3FF: /* 0x1e3 */
-/* File: x86/OP_UNUSED_E3FF.S */
-/* File: x86/unused.S */
- jmp common_abort
-
-
-/* ------------------------------ */
-.L_OP_UNUSED_E4FF: /* 0x1e4 */
-/* File: x86/OP_UNUSED_E4FF.S */
-/* File: x86/unused.S */
- jmp common_abort
-
-
-/* ------------------------------ */
-.L_OP_UNUSED_E5FF: /* 0x1e5 */
-/* File: x86/OP_UNUSED_E5FF.S */
-/* File: x86/unused.S */
- jmp common_abort
-
-
-/* ------------------------------ */
-.L_OP_UNUSED_E6FF: /* 0x1e6 */
-/* File: x86/OP_UNUSED_E6FF.S */
-/* File: x86/unused.S */
- jmp common_abort
-
-
-/* ------------------------------ */
-.L_OP_UNUSED_E7FF: /* 0x1e7 */
-/* File: x86/OP_UNUSED_E7FF.S */
-/* File: x86/unused.S */
- jmp common_abort
-
-
-/* ------------------------------ */
-.L_OP_UNUSED_E8FF: /* 0x1e8 */
-/* File: x86/OP_UNUSED_E8FF.S */
-/* File: x86/unused.S */
- jmp common_abort
-
-
-/* ------------------------------ */
-.L_OP_UNUSED_E9FF: /* 0x1e9 */
-/* File: x86/OP_UNUSED_E9FF.S */
-/* File: x86/unused.S */
- jmp common_abort
-
-
-/* ------------------------------ */
-.L_OP_UNUSED_EAFF: /* 0x1ea */
-/* File: x86/OP_UNUSED_EAFF.S */
-/* File: x86/unused.S */
- jmp common_abort
-
-
-/* ------------------------------ */
-.L_OP_UNUSED_EBFF: /* 0x1eb */
-/* File: x86/OP_UNUSED_EBFF.S */
-/* File: x86/unused.S */
- jmp common_abort
-
-
-/* ------------------------------ */
-.L_OP_UNUSED_ECFF: /* 0x1ec */
-/* File: x86/OP_UNUSED_ECFF.S */
-/* File: x86/unused.S */
- jmp common_abort
-
-
-/* ------------------------------ */
-.L_OP_UNUSED_EDFF: /* 0x1ed */
-/* File: x86/OP_UNUSED_EDFF.S */
-/* File: x86/unused.S */
- jmp common_abort
-
-
-/* ------------------------------ */
-.L_OP_UNUSED_EEFF: /* 0x1ee */
-/* File: x86/OP_UNUSED_EEFF.S */
+.L_OP_UNUSED_FF: /* 0xff */
+/* File: x86/OP_UNUSED_FF.S */
/* File: x86/unused.S */
jmp common_abort
-/* ------------------------------ */
-.L_OP_UNUSED_EFFF: /* 0x1ef */
-/* File: x86/OP_UNUSED_EFFF.S */
-/* File: x86/unused.S */
- jmp common_abort
-
-
-/* ------------------------------ */
-.L_OP_UNUSED_F0FF: /* 0x1f0 */
-/* File: x86/OP_UNUSED_F0FF.S */
-/* File: x86/unused.S */
- jmp common_abort
-
-
-/* ------------------------------ */
-.L_OP_UNUSED_F1FF: /* 0x1f1 */
-/* File: x86/OP_UNUSED_F1FF.S */
-/* File: x86/unused.S */
- jmp common_abort
-
-
-/* ------------------------------ */
-.L_OP_INVOKE_OBJECT_INIT_JUMBO: /* 0x1f2 */
- /* (stub) */
- SAVE_PC_FP_TO_SELF %ecx # leaves rSELF in %ecx
- movl %ecx,OUT_ARG0(%esp) # self is first arg to function
- call dvmMterp_OP_INVOKE_OBJECT_INIT_JUMBO # do the real work
- movl rSELF,%ecx
- LOAD_PC_FP_FROM_SELF # retrieve updated values
- movl offThread_curHandlerTable(%ecx),rIBASE # set up rIBASE
- FETCH_INST
- GOTO_NEXT
-/* ------------------------------ */
-.L_OP_IGET_VOLATILE_JUMBO: /* 0x1f3 */
- /* (stub) */
- SAVE_PC_FP_TO_SELF %ecx # leaves rSELF in %ecx
- movl %ecx,OUT_ARG0(%esp) # self is first arg to function
- call dvmMterp_OP_IGET_VOLATILE_JUMBO # do the real work
- movl rSELF,%ecx
- LOAD_PC_FP_FROM_SELF # retrieve updated values
- movl offThread_curHandlerTable(%ecx),rIBASE # set up rIBASE
- FETCH_INST
- GOTO_NEXT
-/* ------------------------------ */
-.L_OP_IGET_WIDE_VOLATILE_JUMBO: /* 0x1f4 */
- /* (stub) */
- SAVE_PC_FP_TO_SELF %ecx # leaves rSELF in %ecx
- movl %ecx,OUT_ARG0(%esp) # self is first arg to function
- call dvmMterp_OP_IGET_WIDE_VOLATILE_JUMBO # do the real work
- movl rSELF,%ecx
- LOAD_PC_FP_FROM_SELF # retrieve updated values
- movl offThread_curHandlerTable(%ecx),rIBASE # set up rIBASE
- FETCH_INST
- GOTO_NEXT
-/* ------------------------------ */
-.L_OP_IGET_OBJECT_VOLATILE_JUMBO: /* 0x1f5 */
- /* (stub) */
- SAVE_PC_FP_TO_SELF %ecx # leaves rSELF in %ecx
- movl %ecx,OUT_ARG0(%esp) # self is first arg to function
- call dvmMterp_OP_IGET_OBJECT_VOLATILE_JUMBO # do the real work
- movl rSELF,%ecx
- LOAD_PC_FP_FROM_SELF # retrieve updated values
- movl offThread_curHandlerTable(%ecx),rIBASE # set up rIBASE
- FETCH_INST
- GOTO_NEXT
-/* ------------------------------ */
-.L_OP_IPUT_VOLATILE_JUMBO: /* 0x1f6 */
- /* (stub) */
- SAVE_PC_FP_TO_SELF %ecx # leaves rSELF in %ecx
- movl %ecx,OUT_ARG0(%esp) # self is first arg to function
- call dvmMterp_OP_IPUT_VOLATILE_JUMBO # do the real work
- movl rSELF,%ecx
- LOAD_PC_FP_FROM_SELF # retrieve updated values
- movl offThread_curHandlerTable(%ecx),rIBASE # set up rIBASE
- FETCH_INST
- GOTO_NEXT
-/* ------------------------------ */
-.L_OP_IPUT_WIDE_VOLATILE_JUMBO: /* 0x1f7 */
- /* (stub) */
- SAVE_PC_FP_TO_SELF %ecx # leaves rSELF in %ecx
- movl %ecx,OUT_ARG0(%esp) # self is first arg to function
- call dvmMterp_OP_IPUT_WIDE_VOLATILE_JUMBO # do the real work
- movl rSELF,%ecx
- LOAD_PC_FP_FROM_SELF # retrieve updated values
- movl offThread_curHandlerTable(%ecx),rIBASE # set up rIBASE
- FETCH_INST
- GOTO_NEXT
-/* ------------------------------ */
-.L_OP_IPUT_OBJECT_VOLATILE_JUMBO: /* 0x1f8 */
- /* (stub) */
- SAVE_PC_FP_TO_SELF %ecx # leaves rSELF in %ecx
- movl %ecx,OUT_ARG0(%esp) # self is first arg to function
- call dvmMterp_OP_IPUT_OBJECT_VOLATILE_JUMBO # do the real work
- movl rSELF,%ecx
- LOAD_PC_FP_FROM_SELF # retrieve updated values
- movl offThread_curHandlerTable(%ecx),rIBASE # set up rIBASE
- FETCH_INST
- GOTO_NEXT
-/* ------------------------------ */
-.L_OP_SGET_VOLATILE_JUMBO: /* 0x1f9 */
- /* (stub) */
- SAVE_PC_FP_TO_SELF %ecx # leaves rSELF in %ecx
- movl %ecx,OUT_ARG0(%esp) # self is first arg to function
- call dvmMterp_OP_SGET_VOLATILE_JUMBO # do the real work
- movl rSELF,%ecx
- LOAD_PC_FP_FROM_SELF # retrieve updated values
- movl offThread_curHandlerTable(%ecx),rIBASE # set up rIBASE
- FETCH_INST
- GOTO_NEXT
-/* ------------------------------ */
-.L_OP_SGET_WIDE_VOLATILE_JUMBO: /* 0x1fa */
- /* (stub) */
- SAVE_PC_FP_TO_SELF %ecx # leaves rSELF in %ecx
- movl %ecx,OUT_ARG0(%esp) # self is first arg to function
- call dvmMterp_OP_SGET_WIDE_VOLATILE_JUMBO # do the real work
- movl rSELF,%ecx
- LOAD_PC_FP_FROM_SELF # retrieve updated values
- movl offThread_curHandlerTable(%ecx),rIBASE # set up rIBASE
- FETCH_INST
- GOTO_NEXT
-/* ------------------------------ */
-.L_OP_SGET_OBJECT_VOLATILE_JUMBO: /* 0x1fb */
- /* (stub) */
- SAVE_PC_FP_TO_SELF %ecx # leaves rSELF in %ecx
- movl %ecx,OUT_ARG0(%esp) # self is first arg to function
- call dvmMterp_OP_SGET_OBJECT_VOLATILE_JUMBO # do the real work
- movl rSELF,%ecx
- LOAD_PC_FP_FROM_SELF # retrieve updated values
- movl offThread_curHandlerTable(%ecx),rIBASE # set up rIBASE
- FETCH_INST
- GOTO_NEXT
-/* ------------------------------ */
-.L_OP_SPUT_VOLATILE_JUMBO: /* 0x1fc */
- /* (stub) */
- SAVE_PC_FP_TO_SELF %ecx # leaves rSELF in %ecx
- movl %ecx,OUT_ARG0(%esp) # self is first arg to function
- call dvmMterp_OP_SPUT_VOLATILE_JUMBO # do the real work
- movl rSELF,%ecx
- LOAD_PC_FP_FROM_SELF # retrieve updated values
- movl offThread_curHandlerTable(%ecx),rIBASE # set up rIBASE
- FETCH_INST
- GOTO_NEXT
-/* ------------------------------ */
-.L_OP_SPUT_WIDE_VOLATILE_JUMBO: /* 0x1fd */
- /* (stub) */
- SAVE_PC_FP_TO_SELF %ecx # leaves rSELF in %ecx
- movl %ecx,OUT_ARG0(%esp) # self is first arg to function
- call dvmMterp_OP_SPUT_WIDE_VOLATILE_JUMBO # do the real work
- movl rSELF,%ecx
- LOAD_PC_FP_FROM_SELF # retrieve updated values
- movl offThread_curHandlerTable(%ecx),rIBASE # set up rIBASE
- FETCH_INST
- GOTO_NEXT
-/* ------------------------------ */
-.L_OP_SPUT_OBJECT_VOLATILE_JUMBO: /* 0x1fe */
- /* (stub) */
- SAVE_PC_FP_TO_SELF %ecx # leaves rSELF in %ecx
- movl %ecx,OUT_ARG0(%esp) # self is first arg to function
- call dvmMterp_OP_SPUT_OBJECT_VOLATILE_JUMBO # do the real work
- movl rSELF,%ecx
- LOAD_PC_FP_FROM_SELF # retrieve updated values
- movl offThread_curHandlerTable(%ecx),rIBASE # set up rIBASE
- FETCH_INST
- GOTO_NEXT
-/* ------------------------------ */
-.L_OP_THROW_VERIFICATION_ERROR_JUMBO: /* 0x1ff */
-/* File: x86/OP_THROW_VERIFICATION_ERROR_JUMBO.S */
- /*
- * Handle a jumbo throw-verification-error instruction. This throws an
- * exception for an error discovered during verification. The
- * exception is indicated by BBBB, with some detail provided by AAAAAAAA.
- */
- /* exop BBBB, ref@AAAAAAAA */
- movl rSELF,%ecx
- movl 2(rPC),%eax # eax<- AAAAAAAA
- movl offThread_method(%ecx),%ecx # ecx<- self->method
- EXPORT_PC
- movl %eax,OUT_ARG2(%esp) # arg2<- AAAAAAAA
- movl rINST,OUT_ARG1(%esp) # arg1<- BBBB
- movl %ecx,OUT_ARG0(%esp) # arg0<- method
- call dvmThrowVerificationError # call(method, kind, ref)
- jmp common_exceptionThrown # handle exception
-
.size dvmAsmInstructionStartCode, .-dvmAsmInstructionStartCode
.global dvmAsmInstructionEndCode
dvmAsmInstructionEndCode:
@@ -18118,1344 +14567,7 @@ dvmAsmAltInstructionStartCode = .L_ALT_OP_NOP
jmp *dvmAsmInstructionStart+(254*4)
/* ------------------------------ */
-.L_ALT_OP_DISPATCH_FF: /* 0xff */
-/* File: x86/ALT_OP_DISPATCH_FF.S */
-/*
- * Unlike other alt stubs, we don't want to call dvmCheckBefore() here.
- * Instead, just treat this as a trampoline to reach the real alt
- * handler (which will do the dvmCheckBefore() call.
- */
- leal 256(rINST),%ecx
- GOTO_NEXT_JUMBO_R %ecx
-
-/* ------------------------------ */
-.L_ALT_OP_CONST_CLASS_JUMBO: /* 0x100 */
-/* File: x86/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Unlike the Arm handler, we can't do this as a tail call
- * because rIBASE is caller save and we need to reload it.
- *
- * Note that unlike in the Arm implementation, we should never arrive
- * here with a zero breakFlag because we always refresh rIBASE on
- * return.
- */
- EXPORT_PC
- movl rSELF, %eax
- movl rPC, OUT_ARG0(%esp)
- cmpb $0,offThread_breakFlags(%eax) # anything to do?
- movl rFP, OUT_ARG1(%esp)
- je 1f # reload rIBASE & resume if not
- movl %eax, OUT_ARG2(%esp)
- call dvmCheckBefore # (dPC, dFP, self)
- movl rSELF, %eax
-1:
- movl offThread_curHandlerTable(%eax), rIBASE # reload rIBASE
- jmp *dvmAsmInstructionStart+(256*4)
-
-/* ------------------------------ */
-.L_ALT_OP_CHECK_CAST_JUMBO: /* 0x101 */
-/* File: x86/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Unlike the Arm handler, we can't do this as a tail call
- * because rIBASE is caller save and we need to reload it.
- *
- * Note that unlike in the Arm implementation, we should never arrive
- * here with a zero breakFlag because we always refresh rIBASE on
- * return.
- */
- EXPORT_PC
- movl rSELF, %eax
- movl rPC, OUT_ARG0(%esp)
- cmpb $0,offThread_breakFlags(%eax) # anything to do?
- movl rFP, OUT_ARG1(%esp)
- je 1f # reload rIBASE & resume if not
- movl %eax, OUT_ARG2(%esp)
- call dvmCheckBefore # (dPC, dFP, self)
- movl rSELF, %eax
-1:
- movl offThread_curHandlerTable(%eax), rIBASE # reload rIBASE
- jmp *dvmAsmInstructionStart+(257*4)
-
-/* ------------------------------ */
-.L_ALT_OP_INSTANCE_OF_JUMBO: /* 0x102 */
-/* File: x86/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Unlike the Arm handler, we can't do this as a tail call
- * because rIBASE is caller save and we need to reload it.
- *
- * Note that unlike in the Arm implementation, we should never arrive
- * here with a zero breakFlag because we always refresh rIBASE on
- * return.
- */
- EXPORT_PC
- movl rSELF, %eax
- movl rPC, OUT_ARG0(%esp)
- cmpb $0,offThread_breakFlags(%eax) # anything to do?
- movl rFP, OUT_ARG1(%esp)
- je 1f # reload rIBASE & resume if not
- movl %eax, OUT_ARG2(%esp)
- call dvmCheckBefore # (dPC, dFP, self)
- movl rSELF, %eax
-1:
- movl offThread_curHandlerTable(%eax), rIBASE # reload rIBASE
- jmp *dvmAsmInstructionStart+(258*4)
-
-/* ------------------------------ */
-.L_ALT_OP_NEW_INSTANCE_JUMBO: /* 0x103 */
-/* File: x86/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Unlike the Arm handler, we can't do this as a tail call
- * because rIBASE is caller save and we need to reload it.
- *
- * Note that unlike in the Arm implementation, we should never arrive
- * here with a zero breakFlag because we always refresh rIBASE on
- * return.
- */
- EXPORT_PC
- movl rSELF, %eax
- movl rPC, OUT_ARG0(%esp)
- cmpb $0,offThread_breakFlags(%eax) # anything to do?
- movl rFP, OUT_ARG1(%esp)
- je 1f # reload rIBASE & resume if not
- movl %eax, OUT_ARG2(%esp)
- call dvmCheckBefore # (dPC, dFP, self)
- movl rSELF, %eax
-1:
- movl offThread_curHandlerTable(%eax), rIBASE # reload rIBASE
- jmp *dvmAsmInstructionStart+(259*4)
-
-/* ------------------------------ */
-.L_ALT_OP_NEW_ARRAY_JUMBO: /* 0x104 */
-/* File: x86/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Unlike the Arm handler, we can't do this as a tail call
- * because rIBASE is caller save and we need to reload it.
- *
- * Note that unlike in the Arm implementation, we should never arrive
- * here with a zero breakFlag because we always refresh rIBASE on
- * return.
- */
- EXPORT_PC
- movl rSELF, %eax
- movl rPC, OUT_ARG0(%esp)
- cmpb $0,offThread_breakFlags(%eax) # anything to do?
- movl rFP, OUT_ARG1(%esp)
- je 1f # reload rIBASE & resume if not
- movl %eax, OUT_ARG2(%esp)
- call dvmCheckBefore # (dPC, dFP, self)
- movl rSELF, %eax
-1:
- movl offThread_curHandlerTable(%eax), rIBASE # reload rIBASE
- jmp *dvmAsmInstructionStart+(260*4)
-
-/* ------------------------------ */
-.L_ALT_OP_FILLED_NEW_ARRAY_JUMBO: /* 0x105 */
-/* File: x86/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Unlike the Arm handler, we can't do this as a tail call
- * because rIBASE is caller save and we need to reload it.
- *
- * Note that unlike in the Arm implementation, we should never arrive
- * here with a zero breakFlag because we always refresh rIBASE on
- * return.
- */
- EXPORT_PC
- movl rSELF, %eax
- movl rPC, OUT_ARG0(%esp)
- cmpb $0,offThread_breakFlags(%eax) # anything to do?
- movl rFP, OUT_ARG1(%esp)
- je 1f # reload rIBASE & resume if not
- movl %eax, OUT_ARG2(%esp)
- call dvmCheckBefore # (dPC, dFP, self)
- movl rSELF, %eax
-1:
- movl offThread_curHandlerTable(%eax), rIBASE # reload rIBASE
- jmp *dvmAsmInstructionStart+(261*4)
-
-/* ------------------------------ */
-.L_ALT_OP_IGET_JUMBO: /* 0x106 */
-/* File: x86/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Unlike the Arm handler, we can't do this as a tail call
- * because rIBASE is caller save and we need to reload it.
- *
- * Note that unlike in the Arm implementation, we should never arrive
- * here with a zero breakFlag because we always refresh rIBASE on
- * return.
- */
- EXPORT_PC
- movl rSELF, %eax
- movl rPC, OUT_ARG0(%esp)
- cmpb $0,offThread_breakFlags(%eax) # anything to do?
- movl rFP, OUT_ARG1(%esp)
- je 1f # reload rIBASE & resume if not
- movl %eax, OUT_ARG2(%esp)
- call dvmCheckBefore # (dPC, dFP, self)
- movl rSELF, %eax
-1:
- movl offThread_curHandlerTable(%eax), rIBASE # reload rIBASE
- jmp *dvmAsmInstructionStart+(262*4)
-
-/* ------------------------------ */
-.L_ALT_OP_IGET_WIDE_JUMBO: /* 0x107 */
-/* File: x86/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Unlike the Arm handler, we can't do this as a tail call
- * because rIBASE is caller save and we need to reload it.
- *
- * Note that unlike in the Arm implementation, we should never arrive
- * here with a zero breakFlag because we always refresh rIBASE on
- * return.
- */
- EXPORT_PC
- movl rSELF, %eax
- movl rPC, OUT_ARG0(%esp)
- cmpb $0,offThread_breakFlags(%eax) # anything to do?
- movl rFP, OUT_ARG1(%esp)
- je 1f # reload rIBASE & resume if not
- movl %eax, OUT_ARG2(%esp)
- call dvmCheckBefore # (dPC, dFP, self)
- movl rSELF, %eax
-1:
- movl offThread_curHandlerTable(%eax), rIBASE # reload rIBASE
- jmp *dvmAsmInstructionStart+(263*4)
-
-/* ------------------------------ */
-.L_ALT_OP_IGET_OBJECT_JUMBO: /* 0x108 */
-/* File: x86/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Unlike the Arm handler, we can't do this as a tail call
- * because rIBASE is caller save and we need to reload it.
- *
- * Note that unlike in the Arm implementation, we should never arrive
- * here with a zero breakFlag because we always refresh rIBASE on
- * return.
- */
- EXPORT_PC
- movl rSELF, %eax
- movl rPC, OUT_ARG0(%esp)
- cmpb $0,offThread_breakFlags(%eax) # anything to do?
- movl rFP, OUT_ARG1(%esp)
- je 1f # reload rIBASE & resume if not
- movl %eax, OUT_ARG2(%esp)
- call dvmCheckBefore # (dPC, dFP, self)
- movl rSELF, %eax
-1:
- movl offThread_curHandlerTable(%eax), rIBASE # reload rIBASE
- jmp *dvmAsmInstructionStart+(264*4)
-
-/* ------------------------------ */
-.L_ALT_OP_IGET_BOOLEAN_JUMBO: /* 0x109 */
-/* File: x86/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Unlike the Arm handler, we can't do this as a tail call
- * because rIBASE is caller save and we need to reload it.
- *
- * Note that unlike in the Arm implementation, we should never arrive
- * here with a zero breakFlag because we always refresh rIBASE on
- * return.
- */
- EXPORT_PC
- movl rSELF, %eax
- movl rPC, OUT_ARG0(%esp)
- cmpb $0,offThread_breakFlags(%eax) # anything to do?
- movl rFP, OUT_ARG1(%esp)
- je 1f # reload rIBASE & resume if not
- movl %eax, OUT_ARG2(%esp)
- call dvmCheckBefore # (dPC, dFP, self)
- movl rSELF, %eax
-1:
- movl offThread_curHandlerTable(%eax), rIBASE # reload rIBASE
- jmp *dvmAsmInstructionStart+(265*4)
-
-/* ------------------------------ */
-.L_ALT_OP_IGET_BYTE_JUMBO: /* 0x10a */
-/* File: x86/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Unlike the Arm handler, we can't do this as a tail call
- * because rIBASE is caller save and we need to reload it.
- *
- * Note that unlike in the Arm implementation, we should never arrive
- * here with a zero breakFlag because we always refresh rIBASE on
- * return.
- */
- EXPORT_PC
- movl rSELF, %eax
- movl rPC, OUT_ARG0(%esp)
- cmpb $0,offThread_breakFlags(%eax) # anything to do?
- movl rFP, OUT_ARG1(%esp)
- je 1f # reload rIBASE & resume if not
- movl %eax, OUT_ARG2(%esp)
- call dvmCheckBefore # (dPC, dFP, self)
- movl rSELF, %eax
-1:
- movl offThread_curHandlerTable(%eax), rIBASE # reload rIBASE
- jmp *dvmAsmInstructionStart+(266*4)
-
-/* ------------------------------ */
-.L_ALT_OP_IGET_CHAR_JUMBO: /* 0x10b */
-/* File: x86/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Unlike the Arm handler, we can't do this as a tail call
- * because rIBASE is caller save and we need to reload it.
- *
- * Note that unlike in the Arm implementation, we should never arrive
- * here with a zero breakFlag because we always refresh rIBASE on
- * return.
- */
- EXPORT_PC
- movl rSELF, %eax
- movl rPC, OUT_ARG0(%esp)
- cmpb $0,offThread_breakFlags(%eax) # anything to do?
- movl rFP, OUT_ARG1(%esp)
- je 1f # reload rIBASE & resume if not
- movl %eax, OUT_ARG2(%esp)
- call dvmCheckBefore # (dPC, dFP, self)
- movl rSELF, %eax
-1:
- movl offThread_curHandlerTable(%eax), rIBASE # reload rIBASE
- jmp *dvmAsmInstructionStart+(267*4)
-
-/* ------------------------------ */
-.L_ALT_OP_IGET_SHORT_JUMBO: /* 0x10c */
-/* File: x86/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Unlike the Arm handler, we can't do this as a tail call
- * because rIBASE is caller save and we need to reload it.
- *
- * Note that unlike in the Arm implementation, we should never arrive
- * here with a zero breakFlag because we always refresh rIBASE on
- * return.
- */
- EXPORT_PC
- movl rSELF, %eax
- movl rPC, OUT_ARG0(%esp)
- cmpb $0,offThread_breakFlags(%eax) # anything to do?
- movl rFP, OUT_ARG1(%esp)
- je 1f # reload rIBASE & resume if not
- movl %eax, OUT_ARG2(%esp)
- call dvmCheckBefore # (dPC, dFP, self)
- movl rSELF, %eax
-1:
- movl offThread_curHandlerTable(%eax), rIBASE # reload rIBASE
- jmp *dvmAsmInstructionStart+(268*4)
-
-/* ------------------------------ */
-.L_ALT_OP_IPUT_JUMBO: /* 0x10d */
-/* File: x86/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Unlike the Arm handler, we can't do this as a tail call
- * because rIBASE is caller save and we need to reload it.
- *
- * Note that unlike in the Arm implementation, we should never arrive
- * here with a zero breakFlag because we always refresh rIBASE on
- * return.
- */
- EXPORT_PC
- movl rSELF, %eax
- movl rPC, OUT_ARG0(%esp)
- cmpb $0,offThread_breakFlags(%eax) # anything to do?
- movl rFP, OUT_ARG1(%esp)
- je 1f # reload rIBASE & resume if not
- movl %eax, OUT_ARG2(%esp)
- call dvmCheckBefore # (dPC, dFP, self)
- movl rSELF, %eax
-1:
- movl offThread_curHandlerTable(%eax), rIBASE # reload rIBASE
- jmp *dvmAsmInstructionStart+(269*4)
-
-/* ------------------------------ */
-.L_ALT_OP_IPUT_WIDE_JUMBO: /* 0x10e */
-/* File: x86/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Unlike the Arm handler, we can't do this as a tail call
- * because rIBASE is caller save and we need to reload it.
- *
- * Note that unlike in the Arm implementation, we should never arrive
- * here with a zero breakFlag because we always refresh rIBASE on
- * return.
- */
- EXPORT_PC
- movl rSELF, %eax
- movl rPC, OUT_ARG0(%esp)
- cmpb $0,offThread_breakFlags(%eax) # anything to do?
- movl rFP, OUT_ARG1(%esp)
- je 1f # reload rIBASE & resume if not
- movl %eax, OUT_ARG2(%esp)
- call dvmCheckBefore # (dPC, dFP, self)
- movl rSELF, %eax
-1:
- movl offThread_curHandlerTable(%eax), rIBASE # reload rIBASE
- jmp *dvmAsmInstructionStart+(270*4)
-
-/* ------------------------------ */
-.L_ALT_OP_IPUT_OBJECT_JUMBO: /* 0x10f */
-/* File: x86/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Unlike the Arm handler, we can't do this as a tail call
- * because rIBASE is caller save and we need to reload it.
- *
- * Note that unlike in the Arm implementation, we should never arrive
- * here with a zero breakFlag because we always refresh rIBASE on
- * return.
- */
- EXPORT_PC
- movl rSELF, %eax
- movl rPC, OUT_ARG0(%esp)
- cmpb $0,offThread_breakFlags(%eax) # anything to do?
- movl rFP, OUT_ARG1(%esp)
- je 1f # reload rIBASE & resume if not
- movl %eax, OUT_ARG2(%esp)
- call dvmCheckBefore # (dPC, dFP, self)
- movl rSELF, %eax
-1:
- movl offThread_curHandlerTable(%eax), rIBASE # reload rIBASE
- jmp *dvmAsmInstructionStart+(271*4)
-
-/* ------------------------------ */
-.L_ALT_OP_IPUT_BOOLEAN_JUMBO: /* 0x110 */
-/* File: x86/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Unlike the Arm handler, we can't do this as a tail call
- * because rIBASE is caller save and we need to reload it.
- *
- * Note that unlike in the Arm implementation, we should never arrive
- * here with a zero breakFlag because we always refresh rIBASE on
- * return.
- */
- EXPORT_PC
- movl rSELF, %eax
- movl rPC, OUT_ARG0(%esp)
- cmpb $0,offThread_breakFlags(%eax) # anything to do?
- movl rFP, OUT_ARG1(%esp)
- je 1f # reload rIBASE & resume if not
- movl %eax, OUT_ARG2(%esp)
- call dvmCheckBefore # (dPC, dFP, self)
- movl rSELF, %eax
-1:
- movl offThread_curHandlerTable(%eax), rIBASE # reload rIBASE
- jmp *dvmAsmInstructionStart+(272*4)
-
-/* ------------------------------ */
-.L_ALT_OP_IPUT_BYTE_JUMBO: /* 0x111 */
-/* File: x86/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Unlike the Arm handler, we can't do this as a tail call
- * because rIBASE is caller save and we need to reload it.
- *
- * Note that unlike in the Arm implementation, we should never arrive
- * here with a zero breakFlag because we always refresh rIBASE on
- * return.
- */
- EXPORT_PC
- movl rSELF, %eax
- movl rPC, OUT_ARG0(%esp)
- cmpb $0,offThread_breakFlags(%eax) # anything to do?
- movl rFP, OUT_ARG1(%esp)
- je 1f # reload rIBASE & resume if not
- movl %eax, OUT_ARG2(%esp)
- call dvmCheckBefore # (dPC, dFP, self)
- movl rSELF, %eax
-1:
- movl offThread_curHandlerTable(%eax), rIBASE # reload rIBASE
- jmp *dvmAsmInstructionStart+(273*4)
-
-/* ------------------------------ */
-.L_ALT_OP_IPUT_CHAR_JUMBO: /* 0x112 */
-/* File: x86/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Unlike the Arm handler, we can't do this as a tail call
- * because rIBASE is caller save and we need to reload it.
- *
- * Note that unlike in the Arm implementation, we should never arrive
- * here with a zero breakFlag because we always refresh rIBASE on
- * return.
- */
- EXPORT_PC
- movl rSELF, %eax
- movl rPC, OUT_ARG0(%esp)
- cmpb $0,offThread_breakFlags(%eax) # anything to do?
- movl rFP, OUT_ARG1(%esp)
- je 1f # reload rIBASE & resume if not
- movl %eax, OUT_ARG2(%esp)
- call dvmCheckBefore # (dPC, dFP, self)
- movl rSELF, %eax
-1:
- movl offThread_curHandlerTable(%eax), rIBASE # reload rIBASE
- jmp *dvmAsmInstructionStart+(274*4)
-
-/* ------------------------------ */
-.L_ALT_OP_IPUT_SHORT_JUMBO: /* 0x113 */
-/* File: x86/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Unlike the Arm handler, we can't do this as a tail call
- * because rIBASE is caller save and we need to reload it.
- *
- * Note that unlike in the Arm implementation, we should never arrive
- * here with a zero breakFlag because we always refresh rIBASE on
- * return.
- */
- EXPORT_PC
- movl rSELF, %eax
- movl rPC, OUT_ARG0(%esp)
- cmpb $0,offThread_breakFlags(%eax) # anything to do?
- movl rFP, OUT_ARG1(%esp)
- je 1f # reload rIBASE & resume if not
- movl %eax, OUT_ARG2(%esp)
- call dvmCheckBefore # (dPC, dFP, self)
- movl rSELF, %eax
-1:
- movl offThread_curHandlerTable(%eax), rIBASE # reload rIBASE
- jmp *dvmAsmInstructionStart+(275*4)
-
-/* ------------------------------ */
-.L_ALT_OP_SGET_JUMBO: /* 0x114 */
-/* File: x86/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Unlike the Arm handler, we can't do this as a tail call
- * because rIBASE is caller save and we need to reload it.
- *
- * Note that unlike in the Arm implementation, we should never arrive
- * here with a zero breakFlag because we always refresh rIBASE on
- * return.
- */
- EXPORT_PC
- movl rSELF, %eax
- movl rPC, OUT_ARG0(%esp)
- cmpb $0,offThread_breakFlags(%eax) # anything to do?
- movl rFP, OUT_ARG1(%esp)
- je 1f # reload rIBASE & resume if not
- movl %eax, OUT_ARG2(%esp)
- call dvmCheckBefore # (dPC, dFP, self)
- movl rSELF, %eax
-1:
- movl offThread_curHandlerTable(%eax), rIBASE # reload rIBASE
- jmp *dvmAsmInstructionStart+(276*4)
-
-/* ------------------------------ */
-.L_ALT_OP_SGET_WIDE_JUMBO: /* 0x115 */
-/* File: x86/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Unlike the Arm handler, we can't do this as a tail call
- * because rIBASE is caller save and we need to reload it.
- *
- * Note that unlike in the Arm implementation, we should never arrive
- * here with a zero breakFlag because we always refresh rIBASE on
- * return.
- */
- EXPORT_PC
- movl rSELF, %eax
- movl rPC, OUT_ARG0(%esp)
- cmpb $0,offThread_breakFlags(%eax) # anything to do?
- movl rFP, OUT_ARG1(%esp)
- je 1f # reload rIBASE & resume if not
- movl %eax, OUT_ARG2(%esp)
- call dvmCheckBefore # (dPC, dFP, self)
- movl rSELF, %eax
-1:
- movl offThread_curHandlerTable(%eax), rIBASE # reload rIBASE
- jmp *dvmAsmInstructionStart+(277*4)
-
-/* ------------------------------ */
-.L_ALT_OP_SGET_OBJECT_JUMBO: /* 0x116 */
-/* File: x86/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Unlike the Arm handler, we can't do this as a tail call
- * because rIBASE is caller save and we need to reload it.
- *
- * Note that unlike in the Arm implementation, we should never arrive
- * here with a zero breakFlag because we always refresh rIBASE on
- * return.
- */
- EXPORT_PC
- movl rSELF, %eax
- movl rPC, OUT_ARG0(%esp)
- cmpb $0,offThread_breakFlags(%eax) # anything to do?
- movl rFP, OUT_ARG1(%esp)
- je 1f # reload rIBASE & resume if not
- movl %eax, OUT_ARG2(%esp)
- call dvmCheckBefore # (dPC, dFP, self)
- movl rSELF, %eax
-1:
- movl offThread_curHandlerTable(%eax), rIBASE # reload rIBASE
- jmp *dvmAsmInstructionStart+(278*4)
-
-/* ------------------------------ */
-.L_ALT_OP_SGET_BOOLEAN_JUMBO: /* 0x117 */
-/* File: x86/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Unlike the Arm handler, we can't do this as a tail call
- * because rIBASE is caller save and we need to reload it.
- *
- * Note that unlike in the Arm implementation, we should never arrive
- * here with a zero breakFlag because we always refresh rIBASE on
- * return.
- */
- EXPORT_PC
- movl rSELF, %eax
- movl rPC, OUT_ARG0(%esp)
- cmpb $0,offThread_breakFlags(%eax) # anything to do?
- movl rFP, OUT_ARG1(%esp)
- je 1f # reload rIBASE & resume if not
- movl %eax, OUT_ARG2(%esp)
- call dvmCheckBefore # (dPC, dFP, self)
- movl rSELF, %eax
-1:
- movl offThread_curHandlerTable(%eax), rIBASE # reload rIBASE
- jmp *dvmAsmInstructionStart+(279*4)
-
-/* ------------------------------ */
-.L_ALT_OP_SGET_BYTE_JUMBO: /* 0x118 */
-/* File: x86/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Unlike the Arm handler, we can't do this as a tail call
- * because rIBASE is caller save and we need to reload it.
- *
- * Note that unlike in the Arm implementation, we should never arrive
- * here with a zero breakFlag because we always refresh rIBASE on
- * return.
- */
- EXPORT_PC
- movl rSELF, %eax
- movl rPC, OUT_ARG0(%esp)
- cmpb $0,offThread_breakFlags(%eax) # anything to do?
- movl rFP, OUT_ARG1(%esp)
- je 1f # reload rIBASE & resume if not
- movl %eax, OUT_ARG2(%esp)
- call dvmCheckBefore # (dPC, dFP, self)
- movl rSELF, %eax
-1:
- movl offThread_curHandlerTable(%eax), rIBASE # reload rIBASE
- jmp *dvmAsmInstructionStart+(280*4)
-
-/* ------------------------------ */
-.L_ALT_OP_SGET_CHAR_JUMBO: /* 0x119 */
-/* File: x86/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Unlike the Arm handler, we can't do this as a tail call
- * because rIBASE is caller save and we need to reload it.
- *
- * Note that unlike in the Arm implementation, we should never arrive
- * here with a zero breakFlag because we always refresh rIBASE on
- * return.
- */
- EXPORT_PC
- movl rSELF, %eax
- movl rPC, OUT_ARG0(%esp)
- cmpb $0,offThread_breakFlags(%eax) # anything to do?
- movl rFP, OUT_ARG1(%esp)
- je 1f # reload rIBASE & resume if not
- movl %eax, OUT_ARG2(%esp)
- call dvmCheckBefore # (dPC, dFP, self)
- movl rSELF, %eax
-1:
- movl offThread_curHandlerTable(%eax), rIBASE # reload rIBASE
- jmp *dvmAsmInstructionStart+(281*4)
-
-/* ------------------------------ */
-.L_ALT_OP_SGET_SHORT_JUMBO: /* 0x11a */
-/* File: x86/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Unlike the Arm handler, we can't do this as a tail call
- * because rIBASE is caller save and we need to reload it.
- *
- * Note that unlike in the Arm implementation, we should never arrive
- * here with a zero breakFlag because we always refresh rIBASE on
- * return.
- */
- EXPORT_PC
- movl rSELF, %eax
- movl rPC, OUT_ARG0(%esp)
- cmpb $0,offThread_breakFlags(%eax) # anything to do?
- movl rFP, OUT_ARG1(%esp)
- je 1f # reload rIBASE & resume if not
- movl %eax, OUT_ARG2(%esp)
- call dvmCheckBefore # (dPC, dFP, self)
- movl rSELF, %eax
-1:
- movl offThread_curHandlerTable(%eax), rIBASE # reload rIBASE
- jmp *dvmAsmInstructionStart+(282*4)
-
-/* ------------------------------ */
-.L_ALT_OP_SPUT_JUMBO: /* 0x11b */
-/* File: x86/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Unlike the Arm handler, we can't do this as a tail call
- * because rIBASE is caller save and we need to reload it.
- *
- * Note that unlike in the Arm implementation, we should never arrive
- * here with a zero breakFlag because we always refresh rIBASE on
- * return.
- */
- EXPORT_PC
- movl rSELF, %eax
- movl rPC, OUT_ARG0(%esp)
- cmpb $0,offThread_breakFlags(%eax) # anything to do?
- movl rFP, OUT_ARG1(%esp)
- je 1f # reload rIBASE & resume if not
- movl %eax, OUT_ARG2(%esp)
- call dvmCheckBefore # (dPC, dFP, self)
- movl rSELF, %eax
-1:
- movl offThread_curHandlerTable(%eax), rIBASE # reload rIBASE
- jmp *dvmAsmInstructionStart+(283*4)
-
-/* ------------------------------ */
-.L_ALT_OP_SPUT_WIDE_JUMBO: /* 0x11c */
-/* File: x86/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Unlike the Arm handler, we can't do this as a tail call
- * because rIBASE is caller save and we need to reload it.
- *
- * Note that unlike in the Arm implementation, we should never arrive
- * here with a zero breakFlag because we always refresh rIBASE on
- * return.
- */
- EXPORT_PC
- movl rSELF, %eax
- movl rPC, OUT_ARG0(%esp)
- cmpb $0,offThread_breakFlags(%eax) # anything to do?
- movl rFP, OUT_ARG1(%esp)
- je 1f # reload rIBASE & resume if not
- movl %eax, OUT_ARG2(%esp)
- call dvmCheckBefore # (dPC, dFP, self)
- movl rSELF, %eax
-1:
- movl offThread_curHandlerTable(%eax), rIBASE # reload rIBASE
- jmp *dvmAsmInstructionStart+(284*4)
-
-/* ------------------------------ */
-.L_ALT_OP_SPUT_OBJECT_JUMBO: /* 0x11d */
-/* File: x86/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Unlike the Arm handler, we can't do this as a tail call
- * because rIBASE is caller save and we need to reload it.
- *
- * Note that unlike in the Arm implementation, we should never arrive
- * here with a zero breakFlag because we always refresh rIBASE on
- * return.
- */
- EXPORT_PC
- movl rSELF, %eax
- movl rPC, OUT_ARG0(%esp)
- cmpb $0,offThread_breakFlags(%eax) # anything to do?
- movl rFP, OUT_ARG1(%esp)
- je 1f # reload rIBASE & resume if not
- movl %eax, OUT_ARG2(%esp)
- call dvmCheckBefore # (dPC, dFP, self)
- movl rSELF, %eax
-1:
- movl offThread_curHandlerTable(%eax), rIBASE # reload rIBASE
- jmp *dvmAsmInstructionStart+(285*4)
-
-/* ------------------------------ */
-.L_ALT_OP_SPUT_BOOLEAN_JUMBO: /* 0x11e */
-/* File: x86/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Unlike the Arm handler, we can't do this as a tail call
- * because rIBASE is caller save and we need to reload it.
- *
- * Note that unlike in the Arm implementation, we should never arrive
- * here with a zero breakFlag because we always refresh rIBASE on
- * return.
- */
- EXPORT_PC
- movl rSELF, %eax
- movl rPC, OUT_ARG0(%esp)
- cmpb $0,offThread_breakFlags(%eax) # anything to do?
- movl rFP, OUT_ARG1(%esp)
- je 1f # reload rIBASE & resume if not
- movl %eax, OUT_ARG2(%esp)
- call dvmCheckBefore # (dPC, dFP, self)
- movl rSELF, %eax
-1:
- movl offThread_curHandlerTable(%eax), rIBASE # reload rIBASE
- jmp *dvmAsmInstructionStart+(286*4)
-
-/* ------------------------------ */
-.L_ALT_OP_SPUT_BYTE_JUMBO: /* 0x11f */
-/* File: x86/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Unlike the Arm handler, we can't do this as a tail call
- * because rIBASE is caller save and we need to reload it.
- *
- * Note that unlike in the Arm implementation, we should never arrive
- * here with a zero breakFlag because we always refresh rIBASE on
- * return.
- */
- EXPORT_PC
- movl rSELF, %eax
- movl rPC, OUT_ARG0(%esp)
- cmpb $0,offThread_breakFlags(%eax) # anything to do?
- movl rFP, OUT_ARG1(%esp)
- je 1f # reload rIBASE & resume if not
- movl %eax, OUT_ARG2(%esp)
- call dvmCheckBefore # (dPC, dFP, self)
- movl rSELF, %eax
-1:
- movl offThread_curHandlerTable(%eax), rIBASE # reload rIBASE
- jmp *dvmAsmInstructionStart+(287*4)
-
-/* ------------------------------ */
-.L_ALT_OP_SPUT_CHAR_JUMBO: /* 0x120 */
-/* File: x86/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Unlike the Arm handler, we can't do this as a tail call
- * because rIBASE is caller save and we need to reload it.
- *
- * Note that unlike in the Arm implementation, we should never arrive
- * here with a zero breakFlag because we always refresh rIBASE on
- * return.
- */
- EXPORT_PC
- movl rSELF, %eax
- movl rPC, OUT_ARG0(%esp)
- cmpb $0,offThread_breakFlags(%eax) # anything to do?
- movl rFP, OUT_ARG1(%esp)
- je 1f # reload rIBASE & resume if not
- movl %eax, OUT_ARG2(%esp)
- call dvmCheckBefore # (dPC, dFP, self)
- movl rSELF, %eax
-1:
- movl offThread_curHandlerTable(%eax), rIBASE # reload rIBASE
- jmp *dvmAsmInstructionStart+(288*4)
-
-/* ------------------------------ */
-.L_ALT_OP_SPUT_SHORT_JUMBO: /* 0x121 */
-/* File: x86/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Unlike the Arm handler, we can't do this as a tail call
- * because rIBASE is caller save and we need to reload it.
- *
- * Note that unlike in the Arm implementation, we should never arrive
- * here with a zero breakFlag because we always refresh rIBASE on
- * return.
- */
- EXPORT_PC
- movl rSELF, %eax
- movl rPC, OUT_ARG0(%esp)
- cmpb $0,offThread_breakFlags(%eax) # anything to do?
- movl rFP, OUT_ARG1(%esp)
- je 1f # reload rIBASE & resume if not
- movl %eax, OUT_ARG2(%esp)
- call dvmCheckBefore # (dPC, dFP, self)
- movl rSELF, %eax
-1:
- movl offThread_curHandlerTable(%eax), rIBASE # reload rIBASE
- jmp *dvmAsmInstructionStart+(289*4)
-
-/* ------------------------------ */
-.L_ALT_OP_INVOKE_VIRTUAL_JUMBO: /* 0x122 */
-/* File: x86/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Unlike the Arm handler, we can't do this as a tail call
- * because rIBASE is caller save and we need to reload it.
- *
- * Note that unlike in the Arm implementation, we should never arrive
- * here with a zero breakFlag because we always refresh rIBASE on
- * return.
- */
- EXPORT_PC
- movl rSELF, %eax
- movl rPC, OUT_ARG0(%esp)
- cmpb $0,offThread_breakFlags(%eax) # anything to do?
- movl rFP, OUT_ARG1(%esp)
- je 1f # reload rIBASE & resume if not
- movl %eax, OUT_ARG2(%esp)
- call dvmCheckBefore # (dPC, dFP, self)
- movl rSELF, %eax
-1:
- movl offThread_curHandlerTable(%eax), rIBASE # reload rIBASE
- jmp *dvmAsmInstructionStart+(290*4)
-
-/* ------------------------------ */
-.L_ALT_OP_INVOKE_SUPER_JUMBO: /* 0x123 */
-/* File: x86/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Unlike the Arm handler, we can't do this as a tail call
- * because rIBASE is caller save and we need to reload it.
- *
- * Note that unlike in the Arm implementation, we should never arrive
- * here with a zero breakFlag because we always refresh rIBASE on
- * return.
- */
- EXPORT_PC
- movl rSELF, %eax
- movl rPC, OUT_ARG0(%esp)
- cmpb $0,offThread_breakFlags(%eax) # anything to do?
- movl rFP, OUT_ARG1(%esp)
- je 1f # reload rIBASE & resume if not
- movl %eax, OUT_ARG2(%esp)
- call dvmCheckBefore # (dPC, dFP, self)
- movl rSELF, %eax
-1:
- movl offThread_curHandlerTable(%eax), rIBASE # reload rIBASE
- jmp *dvmAsmInstructionStart+(291*4)
-
-/* ------------------------------ */
-.L_ALT_OP_INVOKE_DIRECT_JUMBO: /* 0x124 */
-/* File: x86/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Unlike the Arm handler, we can't do this as a tail call
- * because rIBASE is caller save and we need to reload it.
- *
- * Note that unlike in the Arm implementation, we should never arrive
- * here with a zero breakFlag because we always refresh rIBASE on
- * return.
- */
- EXPORT_PC
- movl rSELF, %eax
- movl rPC, OUT_ARG0(%esp)
- cmpb $0,offThread_breakFlags(%eax) # anything to do?
- movl rFP, OUT_ARG1(%esp)
- je 1f # reload rIBASE & resume if not
- movl %eax, OUT_ARG2(%esp)
- call dvmCheckBefore # (dPC, dFP, self)
- movl rSELF, %eax
-1:
- movl offThread_curHandlerTable(%eax), rIBASE # reload rIBASE
- jmp *dvmAsmInstructionStart+(292*4)
-
-/* ------------------------------ */
-.L_ALT_OP_INVOKE_STATIC_JUMBO: /* 0x125 */
-/* File: x86/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Unlike the Arm handler, we can't do this as a tail call
- * because rIBASE is caller save and we need to reload it.
- *
- * Note that unlike in the Arm implementation, we should never arrive
- * here with a zero breakFlag because we always refresh rIBASE on
- * return.
- */
- EXPORT_PC
- movl rSELF, %eax
- movl rPC, OUT_ARG0(%esp)
- cmpb $0,offThread_breakFlags(%eax) # anything to do?
- movl rFP, OUT_ARG1(%esp)
- je 1f # reload rIBASE & resume if not
- movl %eax, OUT_ARG2(%esp)
- call dvmCheckBefore # (dPC, dFP, self)
- movl rSELF, %eax
-1:
- movl offThread_curHandlerTable(%eax), rIBASE # reload rIBASE
- jmp *dvmAsmInstructionStart+(293*4)
-
-/* ------------------------------ */
-.L_ALT_OP_INVOKE_INTERFACE_JUMBO: /* 0x126 */
-/* File: x86/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Unlike the Arm handler, we can't do this as a tail call
- * because rIBASE is caller save and we need to reload it.
- *
- * Note that unlike in the Arm implementation, we should never arrive
- * here with a zero breakFlag because we always refresh rIBASE on
- * return.
- */
- EXPORT_PC
- movl rSELF, %eax
- movl rPC, OUT_ARG0(%esp)
- cmpb $0,offThread_breakFlags(%eax) # anything to do?
- movl rFP, OUT_ARG1(%esp)
- je 1f # reload rIBASE & resume if not
- movl %eax, OUT_ARG2(%esp)
- call dvmCheckBefore # (dPC, dFP, self)
- movl rSELF, %eax
-1:
- movl offThread_curHandlerTable(%eax), rIBASE # reload rIBASE
- jmp *dvmAsmInstructionStart+(294*4)
-
-/* ------------------------------ */
-.L_ALT_OP_UNUSED_27FF: /* 0x127 */
-/* File: x86/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Unlike the Arm handler, we can't do this as a tail call
- * because rIBASE is caller save and we need to reload it.
- *
- * Note that unlike in the Arm implementation, we should never arrive
- * here with a zero breakFlag because we always refresh rIBASE on
- * return.
- */
- EXPORT_PC
- movl rSELF, %eax
- movl rPC, OUT_ARG0(%esp)
- cmpb $0,offThread_breakFlags(%eax) # anything to do?
- movl rFP, OUT_ARG1(%esp)
- je 1f # reload rIBASE & resume if not
- movl %eax, OUT_ARG2(%esp)
- call dvmCheckBefore # (dPC, dFP, self)
- movl rSELF, %eax
-1:
- movl offThread_curHandlerTable(%eax), rIBASE # reload rIBASE
- jmp *dvmAsmInstructionStart+(295*4)
-
-/* ------------------------------ */
-.L_ALT_OP_UNUSED_28FF: /* 0x128 */
-/* File: x86/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Unlike the Arm handler, we can't do this as a tail call
- * because rIBASE is caller save and we need to reload it.
- *
- * Note that unlike in the Arm implementation, we should never arrive
- * here with a zero breakFlag because we always refresh rIBASE on
- * return.
- */
- EXPORT_PC
- movl rSELF, %eax
- movl rPC, OUT_ARG0(%esp)
- cmpb $0,offThread_breakFlags(%eax) # anything to do?
- movl rFP, OUT_ARG1(%esp)
- je 1f # reload rIBASE & resume if not
- movl %eax, OUT_ARG2(%esp)
- call dvmCheckBefore # (dPC, dFP, self)
- movl rSELF, %eax
-1:
- movl offThread_curHandlerTable(%eax), rIBASE # reload rIBASE
- jmp *dvmAsmInstructionStart+(296*4)
-
-/* ------------------------------ */
-.L_ALT_OP_UNUSED_29FF: /* 0x129 */
-/* File: x86/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Unlike the Arm handler, we can't do this as a tail call
- * because rIBASE is caller save and we need to reload it.
- *
- * Note that unlike in the Arm implementation, we should never arrive
- * here with a zero breakFlag because we always refresh rIBASE on
- * return.
- */
- EXPORT_PC
- movl rSELF, %eax
- movl rPC, OUT_ARG0(%esp)
- cmpb $0,offThread_breakFlags(%eax) # anything to do?
- movl rFP, OUT_ARG1(%esp)
- je 1f # reload rIBASE & resume if not
- movl %eax, OUT_ARG2(%esp)
- call dvmCheckBefore # (dPC, dFP, self)
- movl rSELF, %eax
-1:
- movl offThread_curHandlerTable(%eax), rIBASE # reload rIBASE
- jmp *dvmAsmInstructionStart+(297*4)
-
-/* ------------------------------ */
-.L_ALT_OP_UNUSED_2AFF: /* 0x12a */
-/* File: x86/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Unlike the Arm handler, we can't do this as a tail call
- * because rIBASE is caller save and we need to reload it.
- *
- * Note that unlike in the Arm implementation, we should never arrive
- * here with a zero breakFlag because we always refresh rIBASE on
- * return.
- */
- EXPORT_PC
- movl rSELF, %eax
- movl rPC, OUT_ARG0(%esp)
- cmpb $0,offThread_breakFlags(%eax) # anything to do?
- movl rFP, OUT_ARG1(%esp)
- je 1f # reload rIBASE & resume if not
- movl %eax, OUT_ARG2(%esp)
- call dvmCheckBefore # (dPC, dFP, self)
- movl rSELF, %eax
-1:
- movl offThread_curHandlerTable(%eax), rIBASE # reload rIBASE
- jmp *dvmAsmInstructionStart+(298*4)
-
-/* ------------------------------ */
-.L_ALT_OP_UNUSED_2BFF: /* 0x12b */
-/* File: x86/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Unlike the Arm handler, we can't do this as a tail call
- * because rIBASE is caller save and we need to reload it.
- *
- * Note that unlike in the Arm implementation, we should never arrive
- * here with a zero breakFlag because we always refresh rIBASE on
- * return.
- */
- EXPORT_PC
- movl rSELF, %eax
- movl rPC, OUT_ARG0(%esp)
- cmpb $0,offThread_breakFlags(%eax) # anything to do?
- movl rFP, OUT_ARG1(%esp)
- je 1f # reload rIBASE & resume if not
- movl %eax, OUT_ARG2(%esp)
- call dvmCheckBefore # (dPC, dFP, self)
- movl rSELF, %eax
-1:
- movl offThread_curHandlerTable(%eax), rIBASE # reload rIBASE
- jmp *dvmAsmInstructionStart+(299*4)
-
-/* ------------------------------ */
-.L_ALT_OP_UNUSED_2CFF: /* 0x12c */
-/* File: x86/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Unlike the Arm handler, we can't do this as a tail call
- * because rIBASE is caller save and we need to reload it.
- *
- * Note that unlike in the Arm implementation, we should never arrive
- * here with a zero breakFlag because we always refresh rIBASE on
- * return.
- */
- EXPORT_PC
- movl rSELF, %eax
- movl rPC, OUT_ARG0(%esp)
- cmpb $0,offThread_breakFlags(%eax) # anything to do?
- movl rFP, OUT_ARG1(%esp)
- je 1f # reload rIBASE & resume if not
- movl %eax, OUT_ARG2(%esp)
- call dvmCheckBefore # (dPC, dFP, self)
- movl rSELF, %eax
-1:
- movl offThread_curHandlerTable(%eax), rIBASE # reload rIBASE
- jmp *dvmAsmInstructionStart+(300*4)
-
-/* ------------------------------ */
-.L_ALT_OP_UNUSED_2DFF: /* 0x12d */
-/* File: x86/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Unlike the Arm handler, we can't do this as a tail call
- * because rIBASE is caller save and we need to reload it.
- *
- * Note that unlike in the Arm implementation, we should never arrive
- * here with a zero breakFlag because we always refresh rIBASE on
- * return.
- */
- EXPORT_PC
- movl rSELF, %eax
- movl rPC, OUT_ARG0(%esp)
- cmpb $0,offThread_breakFlags(%eax) # anything to do?
- movl rFP, OUT_ARG1(%esp)
- je 1f # reload rIBASE & resume if not
- movl %eax, OUT_ARG2(%esp)
- call dvmCheckBefore # (dPC, dFP, self)
- movl rSELF, %eax
-1:
- movl offThread_curHandlerTable(%eax), rIBASE # reload rIBASE
- jmp *dvmAsmInstructionStart+(301*4)
-
-/* ------------------------------ */
-.L_ALT_OP_UNUSED_2EFF: /* 0x12e */
-/* File: x86/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Unlike the Arm handler, we can't do this as a tail call
- * because rIBASE is caller save and we need to reload it.
- *
- * Note that unlike in the Arm implementation, we should never arrive
- * here with a zero breakFlag because we always refresh rIBASE on
- * return.
- */
- EXPORT_PC
- movl rSELF, %eax
- movl rPC, OUT_ARG0(%esp)
- cmpb $0,offThread_breakFlags(%eax) # anything to do?
- movl rFP, OUT_ARG1(%esp)
- je 1f # reload rIBASE & resume if not
- movl %eax, OUT_ARG2(%esp)
- call dvmCheckBefore # (dPC, dFP, self)
- movl rSELF, %eax
-1:
- movl offThread_curHandlerTable(%eax), rIBASE # reload rIBASE
- jmp *dvmAsmInstructionStart+(302*4)
-
-/* ------------------------------ */
-.L_ALT_OP_UNUSED_2FFF: /* 0x12f */
-/* File: x86/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Unlike the Arm handler, we can't do this as a tail call
- * because rIBASE is caller save and we need to reload it.
- *
- * Note that unlike in the Arm implementation, we should never arrive
- * here with a zero breakFlag because we always refresh rIBASE on
- * return.
- */
- EXPORT_PC
- movl rSELF, %eax
- movl rPC, OUT_ARG0(%esp)
- cmpb $0,offThread_breakFlags(%eax) # anything to do?
- movl rFP, OUT_ARG1(%esp)
- je 1f # reload rIBASE & resume if not
- movl %eax, OUT_ARG2(%esp)
- call dvmCheckBefore # (dPC, dFP, self)
- movl rSELF, %eax
-1:
- movl offThread_curHandlerTable(%eax), rIBASE # reload rIBASE
- jmp *dvmAsmInstructionStart+(303*4)
-
-/* ------------------------------ */
-.L_ALT_OP_UNUSED_30FF: /* 0x130 */
-/* File: x86/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Unlike the Arm handler, we can't do this as a tail call
- * because rIBASE is caller save and we need to reload it.
- *
- * Note that unlike in the Arm implementation, we should never arrive
- * here with a zero breakFlag because we always refresh rIBASE on
- * return.
- */
- EXPORT_PC
- movl rSELF, %eax
- movl rPC, OUT_ARG0(%esp)
- cmpb $0,offThread_breakFlags(%eax) # anything to do?
- movl rFP, OUT_ARG1(%esp)
- je 1f # reload rIBASE & resume if not
- movl %eax, OUT_ARG2(%esp)
- call dvmCheckBefore # (dPC, dFP, self)
- movl rSELF, %eax
-1:
- movl offThread_curHandlerTable(%eax), rIBASE # reload rIBASE
- jmp *dvmAsmInstructionStart+(304*4)
-
-/* ------------------------------ */
-.L_ALT_OP_UNUSED_31FF: /* 0x131 */
-/* File: x86/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Unlike the Arm handler, we can't do this as a tail call
- * because rIBASE is caller save and we need to reload it.
- *
- * Note that unlike in the Arm implementation, we should never arrive
- * here with a zero breakFlag because we always refresh rIBASE on
- * return.
- */
- EXPORT_PC
- movl rSELF, %eax
- movl rPC, OUT_ARG0(%esp)
- cmpb $0,offThread_breakFlags(%eax) # anything to do?
- movl rFP, OUT_ARG1(%esp)
- je 1f # reload rIBASE & resume if not
- movl %eax, OUT_ARG2(%esp)
- call dvmCheckBefore # (dPC, dFP, self)
- movl rSELF, %eax
-1:
- movl offThread_curHandlerTable(%eax), rIBASE # reload rIBASE
- jmp *dvmAsmInstructionStart+(305*4)
-
-/* ------------------------------ */
-.L_ALT_OP_UNUSED_32FF: /* 0x132 */
-/* File: x86/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Unlike the Arm handler, we can't do this as a tail call
- * because rIBASE is caller save and we need to reload it.
- *
- * Note that unlike in the Arm implementation, we should never arrive
- * here with a zero breakFlag because we always refresh rIBASE on
- * return.
- */
- EXPORT_PC
- movl rSELF, %eax
- movl rPC, OUT_ARG0(%esp)
- cmpb $0,offThread_breakFlags(%eax) # anything to do?
- movl rFP, OUT_ARG1(%esp)
- je 1f # reload rIBASE & resume if not
- movl %eax, OUT_ARG2(%esp)
- call dvmCheckBefore # (dPC, dFP, self)
- movl rSELF, %eax
-1:
- movl offThread_curHandlerTable(%eax), rIBASE # reload rIBASE
- jmp *dvmAsmInstructionStart+(306*4)
-
-/* ------------------------------ */
-.L_ALT_OP_UNUSED_33FF: /* 0x133 */
+.L_ALT_OP_UNUSED_FF: /* 0xff */
/* File: x86/alt_stub.S */
/*
* Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
@@ -19478,5311 +14590,7 @@ dvmAsmAltInstructionStartCode = .L_ALT_OP_NOP
movl rSELF, %eax
1:
movl offThread_curHandlerTable(%eax), rIBASE # reload rIBASE
- jmp *dvmAsmInstructionStart+(307*4)
-
-/* ------------------------------ */
-.L_ALT_OP_UNUSED_34FF: /* 0x134 */
-/* File: x86/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Unlike the Arm handler, we can't do this as a tail call
- * because rIBASE is caller save and we need to reload it.
- *
- * Note that unlike in the Arm implementation, we should never arrive
- * here with a zero breakFlag because we always refresh rIBASE on
- * return.
- */
- EXPORT_PC
- movl rSELF, %eax
- movl rPC, OUT_ARG0(%esp)
- cmpb $0,offThread_breakFlags(%eax) # anything to do?
- movl rFP, OUT_ARG1(%esp)
- je 1f # reload rIBASE & resume if not
- movl %eax, OUT_ARG2(%esp)
- call dvmCheckBefore # (dPC, dFP, self)
- movl rSELF, %eax
-1:
- movl offThread_curHandlerTable(%eax), rIBASE # reload rIBASE
- jmp *dvmAsmInstructionStart+(308*4)
-
-/* ------------------------------ */
-.L_ALT_OP_UNUSED_35FF: /* 0x135 */
-/* File: x86/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Unlike the Arm handler, we can't do this as a tail call
- * because rIBASE is caller save and we need to reload it.
- *
- * Note that unlike in the Arm implementation, we should never arrive
- * here with a zero breakFlag because we always refresh rIBASE on
- * return.
- */
- EXPORT_PC
- movl rSELF, %eax
- movl rPC, OUT_ARG0(%esp)
- cmpb $0,offThread_breakFlags(%eax) # anything to do?
- movl rFP, OUT_ARG1(%esp)
- je 1f # reload rIBASE & resume if not
- movl %eax, OUT_ARG2(%esp)
- call dvmCheckBefore # (dPC, dFP, self)
- movl rSELF, %eax
-1:
- movl offThread_curHandlerTable(%eax), rIBASE # reload rIBASE
- jmp *dvmAsmInstructionStart+(309*4)
-
-/* ------------------------------ */
-.L_ALT_OP_UNUSED_36FF: /* 0x136 */
-/* File: x86/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Unlike the Arm handler, we can't do this as a tail call
- * because rIBASE is caller save and we need to reload it.
- *
- * Note that unlike in the Arm implementation, we should never arrive
- * here with a zero breakFlag because we always refresh rIBASE on
- * return.
- */
- EXPORT_PC
- movl rSELF, %eax
- movl rPC, OUT_ARG0(%esp)
- cmpb $0,offThread_breakFlags(%eax) # anything to do?
- movl rFP, OUT_ARG1(%esp)
- je 1f # reload rIBASE & resume if not
- movl %eax, OUT_ARG2(%esp)
- call dvmCheckBefore # (dPC, dFP, self)
- movl rSELF, %eax
-1:
- movl offThread_curHandlerTable(%eax), rIBASE # reload rIBASE
- jmp *dvmAsmInstructionStart+(310*4)
-
-/* ------------------------------ */
-.L_ALT_OP_UNUSED_37FF: /* 0x137 */
-/* File: x86/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Unlike the Arm handler, we can't do this as a tail call
- * because rIBASE is caller save and we need to reload it.
- *
- * Note that unlike in the Arm implementation, we should never arrive
- * here with a zero breakFlag because we always refresh rIBASE on
- * return.
- */
- EXPORT_PC
- movl rSELF, %eax
- movl rPC, OUT_ARG0(%esp)
- cmpb $0,offThread_breakFlags(%eax) # anything to do?
- movl rFP, OUT_ARG1(%esp)
- je 1f # reload rIBASE & resume if not
- movl %eax, OUT_ARG2(%esp)
- call dvmCheckBefore # (dPC, dFP, self)
- movl rSELF, %eax
-1:
- movl offThread_curHandlerTable(%eax), rIBASE # reload rIBASE
- jmp *dvmAsmInstructionStart+(311*4)
-
-/* ------------------------------ */
-.L_ALT_OP_UNUSED_38FF: /* 0x138 */
-/* File: x86/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Unlike the Arm handler, we can't do this as a tail call
- * because rIBASE is caller save and we need to reload it.
- *
- * Note that unlike in the Arm implementation, we should never arrive
- * here with a zero breakFlag because we always refresh rIBASE on
- * return.
- */
- EXPORT_PC
- movl rSELF, %eax
- movl rPC, OUT_ARG0(%esp)
- cmpb $0,offThread_breakFlags(%eax) # anything to do?
- movl rFP, OUT_ARG1(%esp)
- je 1f # reload rIBASE & resume if not
- movl %eax, OUT_ARG2(%esp)
- call dvmCheckBefore # (dPC, dFP, self)
- movl rSELF, %eax
-1:
- movl offThread_curHandlerTable(%eax), rIBASE # reload rIBASE
- jmp *dvmAsmInstructionStart+(312*4)
-
-/* ------------------------------ */
-.L_ALT_OP_UNUSED_39FF: /* 0x139 */
-/* File: x86/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Unlike the Arm handler, we can't do this as a tail call
- * because rIBASE is caller save and we need to reload it.
- *
- * Note that unlike in the Arm implementation, we should never arrive
- * here with a zero breakFlag because we always refresh rIBASE on
- * return.
- */
- EXPORT_PC
- movl rSELF, %eax
- movl rPC, OUT_ARG0(%esp)
- cmpb $0,offThread_breakFlags(%eax) # anything to do?
- movl rFP, OUT_ARG1(%esp)
- je 1f # reload rIBASE & resume if not
- movl %eax, OUT_ARG2(%esp)
- call dvmCheckBefore # (dPC, dFP, self)
- movl rSELF, %eax
-1:
- movl offThread_curHandlerTable(%eax), rIBASE # reload rIBASE
- jmp *dvmAsmInstructionStart+(313*4)
-
-/* ------------------------------ */
-.L_ALT_OP_UNUSED_3AFF: /* 0x13a */
-/* File: x86/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Unlike the Arm handler, we can't do this as a tail call
- * because rIBASE is caller save and we need to reload it.
- *
- * Note that unlike in the Arm implementation, we should never arrive
- * here with a zero breakFlag because we always refresh rIBASE on
- * return.
- */
- EXPORT_PC
- movl rSELF, %eax
- movl rPC, OUT_ARG0(%esp)
- cmpb $0,offThread_breakFlags(%eax) # anything to do?
- movl rFP, OUT_ARG1(%esp)
- je 1f # reload rIBASE & resume if not
- movl %eax, OUT_ARG2(%esp)
- call dvmCheckBefore # (dPC, dFP, self)
- movl rSELF, %eax
-1:
- movl offThread_curHandlerTable(%eax), rIBASE # reload rIBASE
- jmp *dvmAsmInstructionStart+(314*4)
-
-/* ------------------------------ */
-.L_ALT_OP_UNUSED_3BFF: /* 0x13b */
-/* File: x86/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Unlike the Arm handler, we can't do this as a tail call
- * because rIBASE is caller save and we need to reload it.
- *
- * Note that unlike in the Arm implementation, we should never arrive
- * here with a zero breakFlag because we always refresh rIBASE on
- * return.
- */
- EXPORT_PC
- movl rSELF, %eax
- movl rPC, OUT_ARG0(%esp)
- cmpb $0,offThread_breakFlags(%eax) # anything to do?
- movl rFP, OUT_ARG1(%esp)
- je 1f # reload rIBASE & resume if not
- movl %eax, OUT_ARG2(%esp)
- call dvmCheckBefore # (dPC, dFP, self)
- movl rSELF, %eax
-1:
- movl offThread_curHandlerTable(%eax), rIBASE # reload rIBASE
- jmp *dvmAsmInstructionStart+(315*4)
-
-/* ------------------------------ */
-.L_ALT_OP_UNUSED_3CFF: /* 0x13c */
-/* File: x86/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Unlike the Arm handler, we can't do this as a tail call
- * because rIBASE is caller save and we need to reload it.
- *
- * Note that unlike in the Arm implementation, we should never arrive
- * here with a zero breakFlag because we always refresh rIBASE on
- * return.
- */
- EXPORT_PC
- movl rSELF, %eax
- movl rPC, OUT_ARG0(%esp)
- cmpb $0,offThread_breakFlags(%eax) # anything to do?
- movl rFP, OUT_ARG1(%esp)
- je 1f # reload rIBASE & resume if not
- movl %eax, OUT_ARG2(%esp)
- call dvmCheckBefore # (dPC, dFP, self)
- movl rSELF, %eax
-1:
- movl offThread_curHandlerTable(%eax), rIBASE # reload rIBASE
- jmp *dvmAsmInstructionStart+(316*4)
-
-/* ------------------------------ */
-.L_ALT_OP_UNUSED_3DFF: /* 0x13d */
-/* File: x86/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Unlike the Arm handler, we can't do this as a tail call
- * because rIBASE is caller save and we need to reload it.
- *
- * Note that unlike in the Arm implementation, we should never arrive
- * here with a zero breakFlag because we always refresh rIBASE on
- * return.
- */
- EXPORT_PC
- movl rSELF, %eax
- movl rPC, OUT_ARG0(%esp)
- cmpb $0,offThread_breakFlags(%eax) # anything to do?
- movl rFP, OUT_ARG1(%esp)
- je 1f # reload rIBASE & resume if not
- movl %eax, OUT_ARG2(%esp)
- call dvmCheckBefore # (dPC, dFP, self)
- movl rSELF, %eax
-1:
- movl offThread_curHandlerTable(%eax), rIBASE # reload rIBASE
- jmp *dvmAsmInstructionStart+(317*4)
-
-/* ------------------------------ */
-.L_ALT_OP_UNUSED_3EFF: /* 0x13e */
-/* File: x86/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Unlike the Arm handler, we can't do this as a tail call
- * because rIBASE is caller save and we need to reload it.
- *
- * Note that unlike in the Arm implementation, we should never arrive
- * here with a zero breakFlag because we always refresh rIBASE on
- * return.
- */
- EXPORT_PC
- movl rSELF, %eax
- movl rPC, OUT_ARG0(%esp)
- cmpb $0,offThread_breakFlags(%eax) # anything to do?
- movl rFP, OUT_ARG1(%esp)
- je 1f # reload rIBASE & resume if not
- movl %eax, OUT_ARG2(%esp)
- call dvmCheckBefore # (dPC, dFP, self)
- movl rSELF, %eax
-1:
- movl offThread_curHandlerTable(%eax), rIBASE # reload rIBASE
- jmp *dvmAsmInstructionStart+(318*4)
-
-/* ------------------------------ */
-.L_ALT_OP_UNUSED_3FFF: /* 0x13f */
-/* File: x86/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Unlike the Arm handler, we can't do this as a tail call
- * because rIBASE is caller save and we need to reload it.
- *
- * Note that unlike in the Arm implementation, we should never arrive
- * here with a zero breakFlag because we always refresh rIBASE on
- * return.
- */
- EXPORT_PC
- movl rSELF, %eax
- movl rPC, OUT_ARG0(%esp)
- cmpb $0,offThread_breakFlags(%eax) # anything to do?
- movl rFP, OUT_ARG1(%esp)
- je 1f # reload rIBASE & resume if not
- movl %eax, OUT_ARG2(%esp)
- call dvmCheckBefore # (dPC, dFP, self)
- movl rSELF, %eax
-1:
- movl offThread_curHandlerTable(%eax), rIBASE # reload rIBASE
- jmp *dvmAsmInstructionStart+(319*4)
-
-/* ------------------------------ */
-.L_ALT_OP_UNUSED_40FF: /* 0x140 */
-/* File: x86/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Unlike the Arm handler, we can't do this as a tail call
- * because rIBASE is caller save and we need to reload it.
- *
- * Note that unlike in the Arm implementation, we should never arrive
- * here with a zero breakFlag because we always refresh rIBASE on
- * return.
- */
- EXPORT_PC
- movl rSELF, %eax
- movl rPC, OUT_ARG0(%esp)
- cmpb $0,offThread_breakFlags(%eax) # anything to do?
- movl rFP, OUT_ARG1(%esp)
- je 1f # reload rIBASE & resume if not
- movl %eax, OUT_ARG2(%esp)
- call dvmCheckBefore # (dPC, dFP, self)
- movl rSELF, %eax
-1:
- movl offThread_curHandlerTable(%eax), rIBASE # reload rIBASE
- jmp *dvmAsmInstructionStart+(320*4)
-
-/* ------------------------------ */
-.L_ALT_OP_UNUSED_41FF: /* 0x141 */
-/* File: x86/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Unlike the Arm handler, we can't do this as a tail call
- * because rIBASE is caller save and we need to reload it.
- *
- * Note that unlike in the Arm implementation, we should never arrive
- * here with a zero breakFlag because we always refresh rIBASE on
- * return.
- */
- EXPORT_PC
- movl rSELF, %eax
- movl rPC, OUT_ARG0(%esp)
- cmpb $0,offThread_breakFlags(%eax) # anything to do?
- movl rFP, OUT_ARG1(%esp)
- je 1f # reload rIBASE & resume if not
- movl %eax, OUT_ARG2(%esp)
- call dvmCheckBefore # (dPC, dFP, self)
- movl rSELF, %eax
-1:
- movl offThread_curHandlerTable(%eax), rIBASE # reload rIBASE
- jmp *dvmAsmInstructionStart+(321*4)
-
-/* ------------------------------ */
-.L_ALT_OP_UNUSED_42FF: /* 0x142 */
-/* File: x86/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Unlike the Arm handler, we can't do this as a tail call
- * because rIBASE is caller save and we need to reload it.
- *
- * Note that unlike in the Arm implementation, we should never arrive
- * here with a zero breakFlag because we always refresh rIBASE on
- * return.
- */
- EXPORT_PC
- movl rSELF, %eax
- movl rPC, OUT_ARG0(%esp)
- cmpb $0,offThread_breakFlags(%eax) # anything to do?
- movl rFP, OUT_ARG1(%esp)
- je 1f # reload rIBASE & resume if not
- movl %eax, OUT_ARG2(%esp)
- call dvmCheckBefore # (dPC, dFP, self)
- movl rSELF, %eax
-1:
- movl offThread_curHandlerTable(%eax), rIBASE # reload rIBASE
- jmp *dvmAsmInstructionStart+(322*4)
-
-/* ------------------------------ */
-.L_ALT_OP_UNUSED_43FF: /* 0x143 */
-/* File: x86/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Unlike the Arm handler, we can't do this as a tail call
- * because rIBASE is caller save and we need to reload it.
- *
- * Note that unlike in the Arm implementation, we should never arrive
- * here with a zero breakFlag because we always refresh rIBASE on
- * return.
- */
- EXPORT_PC
- movl rSELF, %eax
- movl rPC, OUT_ARG0(%esp)
- cmpb $0,offThread_breakFlags(%eax) # anything to do?
- movl rFP, OUT_ARG1(%esp)
- je 1f # reload rIBASE & resume if not
- movl %eax, OUT_ARG2(%esp)
- call dvmCheckBefore # (dPC, dFP, self)
- movl rSELF, %eax
-1:
- movl offThread_curHandlerTable(%eax), rIBASE # reload rIBASE
- jmp *dvmAsmInstructionStart+(323*4)
-
-/* ------------------------------ */
-.L_ALT_OP_UNUSED_44FF: /* 0x144 */
-/* File: x86/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Unlike the Arm handler, we can't do this as a tail call
- * because rIBASE is caller save and we need to reload it.
- *
- * Note that unlike in the Arm implementation, we should never arrive
- * here with a zero breakFlag because we always refresh rIBASE on
- * return.
- */
- EXPORT_PC
- movl rSELF, %eax
- movl rPC, OUT_ARG0(%esp)
- cmpb $0,offThread_breakFlags(%eax) # anything to do?
- movl rFP, OUT_ARG1(%esp)
- je 1f # reload rIBASE & resume if not
- movl %eax, OUT_ARG2(%esp)
- call dvmCheckBefore # (dPC, dFP, self)
- movl rSELF, %eax
-1:
- movl offThread_curHandlerTable(%eax), rIBASE # reload rIBASE
- jmp *dvmAsmInstructionStart+(324*4)
-
-/* ------------------------------ */
-.L_ALT_OP_UNUSED_45FF: /* 0x145 */
-/* File: x86/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Unlike the Arm handler, we can't do this as a tail call
- * because rIBASE is caller save and we need to reload it.
- *
- * Note that unlike in the Arm implementation, we should never arrive
- * here with a zero breakFlag because we always refresh rIBASE on
- * return.
- */
- EXPORT_PC
- movl rSELF, %eax
- movl rPC, OUT_ARG0(%esp)
- cmpb $0,offThread_breakFlags(%eax) # anything to do?
- movl rFP, OUT_ARG1(%esp)
- je 1f # reload rIBASE & resume if not
- movl %eax, OUT_ARG2(%esp)
- call dvmCheckBefore # (dPC, dFP, self)
- movl rSELF, %eax
-1:
- movl offThread_curHandlerTable(%eax), rIBASE # reload rIBASE
- jmp *dvmAsmInstructionStart+(325*4)
-
-/* ------------------------------ */
-.L_ALT_OP_UNUSED_46FF: /* 0x146 */
-/* File: x86/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Unlike the Arm handler, we can't do this as a tail call
- * because rIBASE is caller save and we need to reload it.
- *
- * Note that unlike in the Arm implementation, we should never arrive
- * here with a zero breakFlag because we always refresh rIBASE on
- * return.
- */
- EXPORT_PC
- movl rSELF, %eax
- movl rPC, OUT_ARG0(%esp)
- cmpb $0,offThread_breakFlags(%eax) # anything to do?
- movl rFP, OUT_ARG1(%esp)
- je 1f # reload rIBASE & resume if not
- movl %eax, OUT_ARG2(%esp)
- call dvmCheckBefore # (dPC, dFP, self)
- movl rSELF, %eax
-1:
- movl offThread_curHandlerTable(%eax), rIBASE # reload rIBASE
- jmp *dvmAsmInstructionStart+(326*4)
-
-/* ------------------------------ */
-.L_ALT_OP_UNUSED_47FF: /* 0x147 */
-/* File: x86/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Unlike the Arm handler, we can't do this as a tail call
- * because rIBASE is caller save and we need to reload it.
- *
- * Note that unlike in the Arm implementation, we should never arrive
- * here with a zero breakFlag because we always refresh rIBASE on
- * return.
- */
- EXPORT_PC
- movl rSELF, %eax
- movl rPC, OUT_ARG0(%esp)
- cmpb $0,offThread_breakFlags(%eax) # anything to do?
- movl rFP, OUT_ARG1(%esp)
- je 1f # reload rIBASE & resume if not
- movl %eax, OUT_ARG2(%esp)
- call dvmCheckBefore # (dPC, dFP, self)
- movl rSELF, %eax
-1:
- movl offThread_curHandlerTable(%eax), rIBASE # reload rIBASE
- jmp *dvmAsmInstructionStart+(327*4)
-
-/* ------------------------------ */
-.L_ALT_OP_UNUSED_48FF: /* 0x148 */
-/* File: x86/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Unlike the Arm handler, we can't do this as a tail call
- * because rIBASE is caller save and we need to reload it.
- *
- * Note that unlike in the Arm implementation, we should never arrive
- * here with a zero breakFlag because we always refresh rIBASE on
- * return.
- */
- EXPORT_PC
- movl rSELF, %eax
- movl rPC, OUT_ARG0(%esp)
- cmpb $0,offThread_breakFlags(%eax) # anything to do?
- movl rFP, OUT_ARG1(%esp)
- je 1f # reload rIBASE & resume if not
- movl %eax, OUT_ARG2(%esp)
- call dvmCheckBefore # (dPC, dFP, self)
- movl rSELF, %eax
-1:
- movl offThread_curHandlerTable(%eax), rIBASE # reload rIBASE
- jmp *dvmAsmInstructionStart+(328*4)
-
-/* ------------------------------ */
-.L_ALT_OP_UNUSED_49FF: /* 0x149 */
-/* File: x86/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Unlike the Arm handler, we can't do this as a tail call
- * because rIBASE is caller save and we need to reload it.
- *
- * Note that unlike in the Arm implementation, we should never arrive
- * here with a zero breakFlag because we always refresh rIBASE on
- * return.
- */
- EXPORT_PC
- movl rSELF, %eax
- movl rPC, OUT_ARG0(%esp)
- cmpb $0,offThread_breakFlags(%eax) # anything to do?
- movl rFP, OUT_ARG1(%esp)
- je 1f # reload rIBASE & resume if not
- movl %eax, OUT_ARG2(%esp)
- call dvmCheckBefore # (dPC, dFP, self)
- movl rSELF, %eax
-1:
- movl offThread_curHandlerTable(%eax), rIBASE # reload rIBASE
- jmp *dvmAsmInstructionStart+(329*4)
-
-/* ------------------------------ */
-.L_ALT_OP_UNUSED_4AFF: /* 0x14a */
-/* File: x86/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Unlike the Arm handler, we can't do this as a tail call
- * because rIBASE is caller save and we need to reload it.
- *
- * Note that unlike in the Arm implementation, we should never arrive
- * here with a zero breakFlag because we always refresh rIBASE on
- * return.
- */
- EXPORT_PC
- movl rSELF, %eax
- movl rPC, OUT_ARG0(%esp)
- cmpb $0,offThread_breakFlags(%eax) # anything to do?
- movl rFP, OUT_ARG1(%esp)
- je 1f # reload rIBASE & resume if not
- movl %eax, OUT_ARG2(%esp)
- call dvmCheckBefore # (dPC, dFP, self)
- movl rSELF, %eax
-1:
- movl offThread_curHandlerTable(%eax), rIBASE # reload rIBASE
- jmp *dvmAsmInstructionStart+(330*4)
-
-/* ------------------------------ */
-.L_ALT_OP_UNUSED_4BFF: /* 0x14b */
-/* File: x86/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Unlike the Arm handler, we can't do this as a tail call
- * because rIBASE is caller save and we need to reload it.
- *
- * Note that unlike in the Arm implementation, we should never arrive
- * here with a zero breakFlag because we always refresh rIBASE on
- * return.
- */
- EXPORT_PC
- movl rSELF, %eax
- movl rPC, OUT_ARG0(%esp)
- cmpb $0,offThread_breakFlags(%eax) # anything to do?
- movl rFP, OUT_ARG1(%esp)
- je 1f # reload rIBASE & resume if not
- movl %eax, OUT_ARG2(%esp)
- call dvmCheckBefore # (dPC, dFP, self)
- movl rSELF, %eax
-1:
- movl offThread_curHandlerTable(%eax), rIBASE # reload rIBASE
- jmp *dvmAsmInstructionStart+(331*4)
-
-/* ------------------------------ */
-.L_ALT_OP_UNUSED_4CFF: /* 0x14c */
-/* File: x86/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Unlike the Arm handler, we can't do this as a tail call
- * because rIBASE is caller save and we need to reload it.
- *
- * Note that unlike in the Arm implementation, we should never arrive
- * here with a zero breakFlag because we always refresh rIBASE on
- * return.
- */
- EXPORT_PC
- movl rSELF, %eax
- movl rPC, OUT_ARG0(%esp)
- cmpb $0,offThread_breakFlags(%eax) # anything to do?
- movl rFP, OUT_ARG1(%esp)
- je 1f # reload rIBASE & resume if not
- movl %eax, OUT_ARG2(%esp)
- call dvmCheckBefore # (dPC, dFP, self)
- movl rSELF, %eax
-1:
- movl offThread_curHandlerTable(%eax), rIBASE # reload rIBASE
- jmp *dvmAsmInstructionStart+(332*4)
-
-/* ------------------------------ */
-.L_ALT_OP_UNUSED_4DFF: /* 0x14d */
-/* File: x86/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Unlike the Arm handler, we can't do this as a tail call
- * because rIBASE is caller save and we need to reload it.
- *
- * Note that unlike in the Arm implementation, we should never arrive
- * here with a zero breakFlag because we always refresh rIBASE on
- * return.
- */
- EXPORT_PC
- movl rSELF, %eax
- movl rPC, OUT_ARG0(%esp)
- cmpb $0,offThread_breakFlags(%eax) # anything to do?
- movl rFP, OUT_ARG1(%esp)
- je 1f # reload rIBASE & resume if not
- movl %eax, OUT_ARG2(%esp)
- call dvmCheckBefore # (dPC, dFP, self)
- movl rSELF, %eax
-1:
- movl offThread_curHandlerTable(%eax), rIBASE # reload rIBASE
- jmp *dvmAsmInstructionStart+(333*4)
-
-/* ------------------------------ */
-.L_ALT_OP_UNUSED_4EFF: /* 0x14e */
-/* File: x86/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Unlike the Arm handler, we can't do this as a tail call
- * because rIBASE is caller save and we need to reload it.
- *
- * Note that unlike in the Arm implementation, we should never arrive
- * here with a zero breakFlag because we always refresh rIBASE on
- * return.
- */
- EXPORT_PC
- movl rSELF, %eax
- movl rPC, OUT_ARG0(%esp)
- cmpb $0,offThread_breakFlags(%eax) # anything to do?
- movl rFP, OUT_ARG1(%esp)
- je 1f # reload rIBASE & resume if not
- movl %eax, OUT_ARG2(%esp)
- call dvmCheckBefore # (dPC, dFP, self)
- movl rSELF, %eax
-1:
- movl offThread_curHandlerTable(%eax), rIBASE # reload rIBASE
- jmp *dvmAsmInstructionStart+(334*4)
-
-/* ------------------------------ */
-.L_ALT_OP_UNUSED_4FFF: /* 0x14f */
-/* File: x86/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Unlike the Arm handler, we can't do this as a tail call
- * because rIBASE is caller save and we need to reload it.
- *
- * Note that unlike in the Arm implementation, we should never arrive
- * here with a zero breakFlag because we always refresh rIBASE on
- * return.
- */
- EXPORT_PC
- movl rSELF, %eax
- movl rPC, OUT_ARG0(%esp)
- cmpb $0,offThread_breakFlags(%eax) # anything to do?
- movl rFP, OUT_ARG1(%esp)
- je 1f # reload rIBASE & resume if not
- movl %eax, OUT_ARG2(%esp)
- call dvmCheckBefore # (dPC, dFP, self)
- movl rSELF, %eax
-1:
- movl offThread_curHandlerTable(%eax), rIBASE # reload rIBASE
- jmp *dvmAsmInstructionStart+(335*4)
-
-/* ------------------------------ */
-.L_ALT_OP_UNUSED_50FF: /* 0x150 */
-/* File: x86/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Unlike the Arm handler, we can't do this as a tail call
- * because rIBASE is caller save and we need to reload it.
- *
- * Note that unlike in the Arm implementation, we should never arrive
- * here with a zero breakFlag because we always refresh rIBASE on
- * return.
- */
- EXPORT_PC
- movl rSELF, %eax
- movl rPC, OUT_ARG0(%esp)
- cmpb $0,offThread_breakFlags(%eax) # anything to do?
- movl rFP, OUT_ARG1(%esp)
- je 1f # reload rIBASE & resume if not
- movl %eax, OUT_ARG2(%esp)
- call dvmCheckBefore # (dPC, dFP, self)
- movl rSELF, %eax
-1:
- movl offThread_curHandlerTable(%eax), rIBASE # reload rIBASE
- jmp *dvmAsmInstructionStart+(336*4)
-
-/* ------------------------------ */
-.L_ALT_OP_UNUSED_51FF: /* 0x151 */
-/* File: x86/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Unlike the Arm handler, we can't do this as a tail call
- * because rIBASE is caller save and we need to reload it.
- *
- * Note that unlike in the Arm implementation, we should never arrive
- * here with a zero breakFlag because we always refresh rIBASE on
- * return.
- */
- EXPORT_PC
- movl rSELF, %eax
- movl rPC, OUT_ARG0(%esp)
- cmpb $0,offThread_breakFlags(%eax) # anything to do?
- movl rFP, OUT_ARG1(%esp)
- je 1f # reload rIBASE & resume if not
- movl %eax, OUT_ARG2(%esp)
- call dvmCheckBefore # (dPC, dFP, self)
- movl rSELF, %eax
-1:
- movl offThread_curHandlerTable(%eax), rIBASE # reload rIBASE
- jmp *dvmAsmInstructionStart+(337*4)
-
-/* ------------------------------ */
-.L_ALT_OP_UNUSED_52FF: /* 0x152 */
-/* File: x86/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Unlike the Arm handler, we can't do this as a tail call
- * because rIBASE is caller save and we need to reload it.
- *
- * Note that unlike in the Arm implementation, we should never arrive
- * here with a zero breakFlag because we always refresh rIBASE on
- * return.
- */
- EXPORT_PC
- movl rSELF, %eax
- movl rPC, OUT_ARG0(%esp)
- cmpb $0,offThread_breakFlags(%eax) # anything to do?
- movl rFP, OUT_ARG1(%esp)
- je 1f # reload rIBASE & resume if not
- movl %eax, OUT_ARG2(%esp)
- call dvmCheckBefore # (dPC, dFP, self)
- movl rSELF, %eax
-1:
- movl offThread_curHandlerTable(%eax), rIBASE # reload rIBASE
- jmp *dvmAsmInstructionStart+(338*4)
-
-/* ------------------------------ */
-.L_ALT_OP_UNUSED_53FF: /* 0x153 */
-/* File: x86/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Unlike the Arm handler, we can't do this as a tail call
- * because rIBASE is caller save and we need to reload it.
- *
- * Note that unlike in the Arm implementation, we should never arrive
- * here with a zero breakFlag because we always refresh rIBASE on
- * return.
- */
- EXPORT_PC
- movl rSELF, %eax
- movl rPC, OUT_ARG0(%esp)
- cmpb $0,offThread_breakFlags(%eax) # anything to do?
- movl rFP, OUT_ARG1(%esp)
- je 1f # reload rIBASE & resume if not
- movl %eax, OUT_ARG2(%esp)
- call dvmCheckBefore # (dPC, dFP, self)
- movl rSELF, %eax
-1:
- movl offThread_curHandlerTable(%eax), rIBASE # reload rIBASE
- jmp *dvmAsmInstructionStart+(339*4)
-
-/* ------------------------------ */
-.L_ALT_OP_UNUSED_54FF: /* 0x154 */
-/* File: x86/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Unlike the Arm handler, we can't do this as a tail call
- * because rIBASE is caller save and we need to reload it.
- *
- * Note that unlike in the Arm implementation, we should never arrive
- * here with a zero breakFlag because we always refresh rIBASE on
- * return.
- */
- EXPORT_PC
- movl rSELF, %eax
- movl rPC, OUT_ARG0(%esp)
- cmpb $0,offThread_breakFlags(%eax) # anything to do?
- movl rFP, OUT_ARG1(%esp)
- je 1f # reload rIBASE & resume if not
- movl %eax, OUT_ARG2(%esp)
- call dvmCheckBefore # (dPC, dFP, self)
- movl rSELF, %eax
-1:
- movl offThread_curHandlerTable(%eax), rIBASE # reload rIBASE
- jmp *dvmAsmInstructionStart+(340*4)
-
-/* ------------------------------ */
-.L_ALT_OP_UNUSED_55FF: /* 0x155 */
-/* File: x86/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Unlike the Arm handler, we can't do this as a tail call
- * because rIBASE is caller save and we need to reload it.
- *
- * Note that unlike in the Arm implementation, we should never arrive
- * here with a zero breakFlag because we always refresh rIBASE on
- * return.
- */
- EXPORT_PC
- movl rSELF, %eax
- movl rPC, OUT_ARG0(%esp)
- cmpb $0,offThread_breakFlags(%eax) # anything to do?
- movl rFP, OUT_ARG1(%esp)
- je 1f # reload rIBASE & resume if not
- movl %eax, OUT_ARG2(%esp)
- call dvmCheckBefore # (dPC, dFP, self)
- movl rSELF, %eax
-1:
- movl offThread_curHandlerTable(%eax), rIBASE # reload rIBASE
- jmp *dvmAsmInstructionStart+(341*4)
-
-/* ------------------------------ */
-.L_ALT_OP_UNUSED_56FF: /* 0x156 */
-/* File: x86/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Unlike the Arm handler, we can't do this as a tail call
- * because rIBASE is caller save and we need to reload it.
- *
- * Note that unlike in the Arm implementation, we should never arrive
- * here with a zero breakFlag because we always refresh rIBASE on
- * return.
- */
- EXPORT_PC
- movl rSELF, %eax
- movl rPC, OUT_ARG0(%esp)
- cmpb $0,offThread_breakFlags(%eax) # anything to do?
- movl rFP, OUT_ARG1(%esp)
- je 1f # reload rIBASE & resume if not
- movl %eax, OUT_ARG2(%esp)
- call dvmCheckBefore # (dPC, dFP, self)
- movl rSELF, %eax
-1:
- movl offThread_curHandlerTable(%eax), rIBASE # reload rIBASE
- jmp *dvmAsmInstructionStart+(342*4)
-
-/* ------------------------------ */
-.L_ALT_OP_UNUSED_57FF: /* 0x157 */
-/* File: x86/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Unlike the Arm handler, we can't do this as a tail call
- * because rIBASE is caller save and we need to reload it.
- *
- * Note that unlike in the Arm implementation, we should never arrive
- * here with a zero breakFlag because we always refresh rIBASE on
- * return.
- */
- EXPORT_PC
- movl rSELF, %eax
- movl rPC, OUT_ARG0(%esp)
- cmpb $0,offThread_breakFlags(%eax) # anything to do?
- movl rFP, OUT_ARG1(%esp)
- je 1f # reload rIBASE & resume if not
- movl %eax, OUT_ARG2(%esp)
- call dvmCheckBefore # (dPC, dFP, self)
- movl rSELF, %eax
-1:
- movl offThread_curHandlerTable(%eax), rIBASE # reload rIBASE
- jmp *dvmAsmInstructionStart+(343*4)
-
-/* ------------------------------ */
-.L_ALT_OP_UNUSED_58FF: /* 0x158 */
-/* File: x86/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Unlike the Arm handler, we can't do this as a tail call
- * because rIBASE is caller save and we need to reload it.
- *
- * Note that unlike in the Arm implementation, we should never arrive
- * here with a zero breakFlag because we always refresh rIBASE on
- * return.
- */
- EXPORT_PC
- movl rSELF, %eax
- movl rPC, OUT_ARG0(%esp)
- cmpb $0,offThread_breakFlags(%eax) # anything to do?
- movl rFP, OUT_ARG1(%esp)
- je 1f # reload rIBASE & resume if not
- movl %eax, OUT_ARG2(%esp)
- call dvmCheckBefore # (dPC, dFP, self)
- movl rSELF, %eax
-1:
- movl offThread_curHandlerTable(%eax), rIBASE # reload rIBASE
- jmp *dvmAsmInstructionStart+(344*4)
-
-/* ------------------------------ */
-.L_ALT_OP_UNUSED_59FF: /* 0x159 */
-/* File: x86/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Unlike the Arm handler, we can't do this as a tail call
- * because rIBASE is caller save and we need to reload it.
- *
- * Note that unlike in the Arm implementation, we should never arrive
- * here with a zero breakFlag because we always refresh rIBASE on
- * return.
- */
- EXPORT_PC
- movl rSELF, %eax
- movl rPC, OUT_ARG0(%esp)
- cmpb $0,offThread_breakFlags(%eax) # anything to do?
- movl rFP, OUT_ARG1(%esp)
- je 1f # reload rIBASE & resume if not
- movl %eax, OUT_ARG2(%esp)
- call dvmCheckBefore # (dPC, dFP, self)
- movl rSELF, %eax
-1:
- movl offThread_curHandlerTable(%eax), rIBASE # reload rIBASE
- jmp *dvmAsmInstructionStart+(345*4)
-
-/* ------------------------------ */
-.L_ALT_OP_UNUSED_5AFF: /* 0x15a */
-/* File: x86/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Unlike the Arm handler, we can't do this as a tail call
- * because rIBASE is caller save and we need to reload it.
- *
- * Note that unlike in the Arm implementation, we should never arrive
- * here with a zero breakFlag because we always refresh rIBASE on
- * return.
- */
- EXPORT_PC
- movl rSELF, %eax
- movl rPC, OUT_ARG0(%esp)
- cmpb $0,offThread_breakFlags(%eax) # anything to do?
- movl rFP, OUT_ARG1(%esp)
- je 1f # reload rIBASE & resume if not
- movl %eax, OUT_ARG2(%esp)
- call dvmCheckBefore # (dPC, dFP, self)
- movl rSELF, %eax
-1:
- movl offThread_curHandlerTable(%eax), rIBASE # reload rIBASE
- jmp *dvmAsmInstructionStart+(346*4)
-
-/* ------------------------------ */
-.L_ALT_OP_UNUSED_5BFF: /* 0x15b */
-/* File: x86/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Unlike the Arm handler, we can't do this as a tail call
- * because rIBASE is caller save and we need to reload it.
- *
- * Note that unlike in the Arm implementation, we should never arrive
- * here with a zero breakFlag because we always refresh rIBASE on
- * return.
- */
- EXPORT_PC
- movl rSELF, %eax
- movl rPC, OUT_ARG0(%esp)
- cmpb $0,offThread_breakFlags(%eax) # anything to do?
- movl rFP, OUT_ARG1(%esp)
- je 1f # reload rIBASE & resume if not
- movl %eax, OUT_ARG2(%esp)
- call dvmCheckBefore # (dPC, dFP, self)
- movl rSELF, %eax
-1:
- movl offThread_curHandlerTable(%eax), rIBASE # reload rIBASE
- jmp *dvmAsmInstructionStart+(347*4)
-
-/* ------------------------------ */
-.L_ALT_OP_UNUSED_5CFF: /* 0x15c */
-/* File: x86/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Unlike the Arm handler, we can't do this as a tail call
- * because rIBASE is caller save and we need to reload it.
- *
- * Note that unlike in the Arm implementation, we should never arrive
- * here with a zero breakFlag because we always refresh rIBASE on
- * return.
- */
- EXPORT_PC
- movl rSELF, %eax
- movl rPC, OUT_ARG0(%esp)
- cmpb $0,offThread_breakFlags(%eax) # anything to do?
- movl rFP, OUT_ARG1(%esp)
- je 1f # reload rIBASE & resume if not
- movl %eax, OUT_ARG2(%esp)
- call dvmCheckBefore # (dPC, dFP, self)
- movl rSELF, %eax
-1:
- movl offThread_curHandlerTable(%eax), rIBASE # reload rIBASE
- jmp *dvmAsmInstructionStart+(348*4)
-
-/* ------------------------------ */
-.L_ALT_OP_UNUSED_5DFF: /* 0x15d */
-/* File: x86/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Unlike the Arm handler, we can't do this as a tail call
- * because rIBASE is caller save and we need to reload it.
- *
- * Note that unlike in the Arm implementation, we should never arrive
- * here with a zero breakFlag because we always refresh rIBASE on
- * return.
- */
- EXPORT_PC
- movl rSELF, %eax
- movl rPC, OUT_ARG0(%esp)
- cmpb $0,offThread_breakFlags(%eax) # anything to do?
- movl rFP, OUT_ARG1(%esp)
- je 1f # reload rIBASE & resume if not
- movl %eax, OUT_ARG2(%esp)
- call dvmCheckBefore # (dPC, dFP, self)
- movl rSELF, %eax
-1:
- movl offThread_curHandlerTable(%eax), rIBASE # reload rIBASE
- jmp *dvmAsmInstructionStart+(349*4)
-
-/* ------------------------------ */
-.L_ALT_OP_UNUSED_5EFF: /* 0x15e */
-/* File: x86/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Unlike the Arm handler, we can't do this as a tail call
- * because rIBASE is caller save and we need to reload it.
- *
- * Note that unlike in the Arm implementation, we should never arrive
- * here with a zero breakFlag because we always refresh rIBASE on
- * return.
- */
- EXPORT_PC
- movl rSELF, %eax
- movl rPC, OUT_ARG0(%esp)
- cmpb $0,offThread_breakFlags(%eax) # anything to do?
- movl rFP, OUT_ARG1(%esp)
- je 1f # reload rIBASE & resume if not
- movl %eax, OUT_ARG2(%esp)
- call dvmCheckBefore # (dPC, dFP, self)
- movl rSELF, %eax
-1:
- movl offThread_curHandlerTable(%eax), rIBASE # reload rIBASE
- jmp *dvmAsmInstructionStart+(350*4)
-
-/* ------------------------------ */
-.L_ALT_OP_UNUSED_5FFF: /* 0x15f */
-/* File: x86/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Unlike the Arm handler, we can't do this as a tail call
- * because rIBASE is caller save and we need to reload it.
- *
- * Note that unlike in the Arm implementation, we should never arrive
- * here with a zero breakFlag because we always refresh rIBASE on
- * return.
- */
- EXPORT_PC
- movl rSELF, %eax
- movl rPC, OUT_ARG0(%esp)
- cmpb $0,offThread_breakFlags(%eax) # anything to do?
- movl rFP, OUT_ARG1(%esp)
- je 1f # reload rIBASE & resume if not
- movl %eax, OUT_ARG2(%esp)
- call dvmCheckBefore # (dPC, dFP, self)
- movl rSELF, %eax
-1:
- movl offThread_curHandlerTable(%eax), rIBASE # reload rIBASE
- jmp *dvmAsmInstructionStart+(351*4)
-
-/* ------------------------------ */
-.L_ALT_OP_UNUSED_60FF: /* 0x160 */
-/* File: x86/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Unlike the Arm handler, we can't do this as a tail call
- * because rIBASE is caller save and we need to reload it.
- *
- * Note that unlike in the Arm implementation, we should never arrive
- * here with a zero breakFlag because we always refresh rIBASE on
- * return.
- */
- EXPORT_PC
- movl rSELF, %eax
- movl rPC, OUT_ARG0(%esp)
- cmpb $0,offThread_breakFlags(%eax) # anything to do?
- movl rFP, OUT_ARG1(%esp)
- je 1f # reload rIBASE & resume if not
- movl %eax, OUT_ARG2(%esp)
- call dvmCheckBefore # (dPC, dFP, self)
- movl rSELF, %eax
-1:
- movl offThread_curHandlerTable(%eax), rIBASE # reload rIBASE
- jmp *dvmAsmInstructionStart+(352*4)
-
-/* ------------------------------ */
-.L_ALT_OP_UNUSED_61FF: /* 0x161 */
-/* File: x86/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Unlike the Arm handler, we can't do this as a tail call
- * because rIBASE is caller save and we need to reload it.
- *
- * Note that unlike in the Arm implementation, we should never arrive
- * here with a zero breakFlag because we always refresh rIBASE on
- * return.
- */
- EXPORT_PC
- movl rSELF, %eax
- movl rPC, OUT_ARG0(%esp)
- cmpb $0,offThread_breakFlags(%eax) # anything to do?
- movl rFP, OUT_ARG1(%esp)
- je 1f # reload rIBASE & resume if not
- movl %eax, OUT_ARG2(%esp)
- call dvmCheckBefore # (dPC, dFP, self)
- movl rSELF, %eax
-1:
- movl offThread_curHandlerTable(%eax), rIBASE # reload rIBASE
- jmp *dvmAsmInstructionStart+(353*4)
-
-/* ------------------------------ */
-.L_ALT_OP_UNUSED_62FF: /* 0x162 */
-/* File: x86/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Unlike the Arm handler, we can't do this as a tail call
- * because rIBASE is caller save and we need to reload it.
- *
- * Note that unlike in the Arm implementation, we should never arrive
- * here with a zero breakFlag because we always refresh rIBASE on
- * return.
- */
- EXPORT_PC
- movl rSELF, %eax
- movl rPC, OUT_ARG0(%esp)
- cmpb $0,offThread_breakFlags(%eax) # anything to do?
- movl rFP, OUT_ARG1(%esp)
- je 1f # reload rIBASE & resume if not
- movl %eax, OUT_ARG2(%esp)
- call dvmCheckBefore # (dPC, dFP, self)
- movl rSELF, %eax
-1:
- movl offThread_curHandlerTable(%eax), rIBASE # reload rIBASE
- jmp *dvmAsmInstructionStart+(354*4)
-
-/* ------------------------------ */
-.L_ALT_OP_UNUSED_63FF: /* 0x163 */
-/* File: x86/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Unlike the Arm handler, we can't do this as a tail call
- * because rIBASE is caller save and we need to reload it.
- *
- * Note that unlike in the Arm implementation, we should never arrive
- * here with a zero breakFlag because we always refresh rIBASE on
- * return.
- */
- EXPORT_PC
- movl rSELF, %eax
- movl rPC, OUT_ARG0(%esp)
- cmpb $0,offThread_breakFlags(%eax) # anything to do?
- movl rFP, OUT_ARG1(%esp)
- je 1f # reload rIBASE & resume if not
- movl %eax, OUT_ARG2(%esp)
- call dvmCheckBefore # (dPC, dFP, self)
- movl rSELF, %eax
-1:
- movl offThread_curHandlerTable(%eax), rIBASE # reload rIBASE
- jmp *dvmAsmInstructionStart+(355*4)
-
-/* ------------------------------ */
-.L_ALT_OP_UNUSED_64FF: /* 0x164 */
-/* File: x86/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Unlike the Arm handler, we can't do this as a tail call
- * because rIBASE is caller save and we need to reload it.
- *
- * Note that unlike in the Arm implementation, we should never arrive
- * here with a zero breakFlag because we always refresh rIBASE on
- * return.
- */
- EXPORT_PC
- movl rSELF, %eax
- movl rPC, OUT_ARG0(%esp)
- cmpb $0,offThread_breakFlags(%eax) # anything to do?
- movl rFP, OUT_ARG1(%esp)
- je 1f # reload rIBASE & resume if not
- movl %eax, OUT_ARG2(%esp)
- call dvmCheckBefore # (dPC, dFP, self)
- movl rSELF, %eax
-1:
- movl offThread_curHandlerTable(%eax), rIBASE # reload rIBASE
- jmp *dvmAsmInstructionStart+(356*4)
-
-/* ------------------------------ */
-.L_ALT_OP_UNUSED_65FF: /* 0x165 */
-/* File: x86/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Unlike the Arm handler, we can't do this as a tail call
- * because rIBASE is caller save and we need to reload it.
- *
- * Note that unlike in the Arm implementation, we should never arrive
- * here with a zero breakFlag because we always refresh rIBASE on
- * return.
- */
- EXPORT_PC
- movl rSELF, %eax
- movl rPC, OUT_ARG0(%esp)
- cmpb $0,offThread_breakFlags(%eax) # anything to do?
- movl rFP, OUT_ARG1(%esp)
- je 1f # reload rIBASE & resume if not
- movl %eax, OUT_ARG2(%esp)
- call dvmCheckBefore # (dPC, dFP, self)
- movl rSELF, %eax
-1:
- movl offThread_curHandlerTable(%eax), rIBASE # reload rIBASE
- jmp *dvmAsmInstructionStart+(357*4)
-
-/* ------------------------------ */
-.L_ALT_OP_UNUSED_66FF: /* 0x166 */
-/* File: x86/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Unlike the Arm handler, we can't do this as a tail call
- * because rIBASE is caller save and we need to reload it.
- *
- * Note that unlike in the Arm implementation, we should never arrive
- * here with a zero breakFlag because we always refresh rIBASE on
- * return.
- */
- EXPORT_PC
- movl rSELF, %eax
- movl rPC, OUT_ARG0(%esp)
- cmpb $0,offThread_breakFlags(%eax) # anything to do?
- movl rFP, OUT_ARG1(%esp)
- je 1f # reload rIBASE & resume if not
- movl %eax, OUT_ARG2(%esp)
- call dvmCheckBefore # (dPC, dFP, self)
- movl rSELF, %eax
-1:
- movl offThread_curHandlerTable(%eax), rIBASE # reload rIBASE
- jmp *dvmAsmInstructionStart+(358*4)
-
-/* ------------------------------ */
-.L_ALT_OP_UNUSED_67FF: /* 0x167 */
-/* File: x86/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Unlike the Arm handler, we can't do this as a tail call
- * because rIBASE is caller save and we need to reload it.
- *
- * Note that unlike in the Arm implementation, we should never arrive
- * here with a zero breakFlag because we always refresh rIBASE on
- * return.
- */
- EXPORT_PC
- movl rSELF, %eax
- movl rPC, OUT_ARG0(%esp)
- cmpb $0,offThread_breakFlags(%eax) # anything to do?
- movl rFP, OUT_ARG1(%esp)
- je 1f # reload rIBASE & resume if not
- movl %eax, OUT_ARG2(%esp)
- call dvmCheckBefore # (dPC, dFP, self)
- movl rSELF, %eax
-1:
- movl offThread_curHandlerTable(%eax), rIBASE # reload rIBASE
- jmp *dvmAsmInstructionStart+(359*4)
-
-/* ------------------------------ */
-.L_ALT_OP_UNUSED_68FF: /* 0x168 */
-/* File: x86/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Unlike the Arm handler, we can't do this as a tail call
- * because rIBASE is caller save and we need to reload it.
- *
- * Note that unlike in the Arm implementation, we should never arrive
- * here with a zero breakFlag because we always refresh rIBASE on
- * return.
- */
- EXPORT_PC
- movl rSELF, %eax
- movl rPC, OUT_ARG0(%esp)
- cmpb $0,offThread_breakFlags(%eax) # anything to do?
- movl rFP, OUT_ARG1(%esp)
- je 1f # reload rIBASE & resume if not
- movl %eax, OUT_ARG2(%esp)
- call dvmCheckBefore # (dPC, dFP, self)
- movl rSELF, %eax
-1:
- movl offThread_curHandlerTable(%eax), rIBASE # reload rIBASE
- jmp *dvmAsmInstructionStart+(360*4)
-
-/* ------------------------------ */
-.L_ALT_OP_UNUSED_69FF: /* 0x169 */
-/* File: x86/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Unlike the Arm handler, we can't do this as a tail call
- * because rIBASE is caller save and we need to reload it.
- *
- * Note that unlike in the Arm implementation, we should never arrive
- * here with a zero breakFlag because we always refresh rIBASE on
- * return.
- */
- EXPORT_PC
- movl rSELF, %eax
- movl rPC, OUT_ARG0(%esp)
- cmpb $0,offThread_breakFlags(%eax) # anything to do?
- movl rFP, OUT_ARG1(%esp)
- je 1f # reload rIBASE & resume if not
- movl %eax, OUT_ARG2(%esp)
- call dvmCheckBefore # (dPC, dFP, self)
- movl rSELF, %eax
-1:
- movl offThread_curHandlerTable(%eax), rIBASE # reload rIBASE
- jmp *dvmAsmInstructionStart+(361*4)
-
-/* ------------------------------ */
-.L_ALT_OP_UNUSED_6AFF: /* 0x16a */
-/* File: x86/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Unlike the Arm handler, we can't do this as a tail call
- * because rIBASE is caller save and we need to reload it.
- *
- * Note that unlike in the Arm implementation, we should never arrive
- * here with a zero breakFlag because we always refresh rIBASE on
- * return.
- */
- EXPORT_PC
- movl rSELF, %eax
- movl rPC, OUT_ARG0(%esp)
- cmpb $0,offThread_breakFlags(%eax) # anything to do?
- movl rFP, OUT_ARG1(%esp)
- je 1f # reload rIBASE & resume if not
- movl %eax, OUT_ARG2(%esp)
- call dvmCheckBefore # (dPC, dFP, self)
- movl rSELF, %eax
-1:
- movl offThread_curHandlerTable(%eax), rIBASE # reload rIBASE
- jmp *dvmAsmInstructionStart+(362*4)
-
-/* ------------------------------ */
-.L_ALT_OP_UNUSED_6BFF: /* 0x16b */
-/* File: x86/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Unlike the Arm handler, we can't do this as a tail call
- * because rIBASE is caller save and we need to reload it.
- *
- * Note that unlike in the Arm implementation, we should never arrive
- * here with a zero breakFlag because we always refresh rIBASE on
- * return.
- */
- EXPORT_PC
- movl rSELF, %eax
- movl rPC, OUT_ARG0(%esp)
- cmpb $0,offThread_breakFlags(%eax) # anything to do?
- movl rFP, OUT_ARG1(%esp)
- je 1f # reload rIBASE & resume if not
- movl %eax, OUT_ARG2(%esp)
- call dvmCheckBefore # (dPC, dFP, self)
- movl rSELF, %eax
-1:
- movl offThread_curHandlerTable(%eax), rIBASE # reload rIBASE
- jmp *dvmAsmInstructionStart+(363*4)
-
-/* ------------------------------ */
-.L_ALT_OP_UNUSED_6CFF: /* 0x16c */
-/* File: x86/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Unlike the Arm handler, we can't do this as a tail call
- * because rIBASE is caller save and we need to reload it.
- *
- * Note that unlike in the Arm implementation, we should never arrive
- * here with a zero breakFlag because we always refresh rIBASE on
- * return.
- */
- EXPORT_PC
- movl rSELF, %eax
- movl rPC, OUT_ARG0(%esp)
- cmpb $0,offThread_breakFlags(%eax) # anything to do?
- movl rFP, OUT_ARG1(%esp)
- je 1f # reload rIBASE & resume if not
- movl %eax, OUT_ARG2(%esp)
- call dvmCheckBefore # (dPC, dFP, self)
- movl rSELF, %eax
-1:
- movl offThread_curHandlerTable(%eax), rIBASE # reload rIBASE
- jmp *dvmAsmInstructionStart+(364*4)
-
-/* ------------------------------ */
-.L_ALT_OP_UNUSED_6DFF: /* 0x16d */
-/* File: x86/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Unlike the Arm handler, we can't do this as a tail call
- * because rIBASE is caller save and we need to reload it.
- *
- * Note that unlike in the Arm implementation, we should never arrive
- * here with a zero breakFlag because we always refresh rIBASE on
- * return.
- */
- EXPORT_PC
- movl rSELF, %eax
- movl rPC, OUT_ARG0(%esp)
- cmpb $0,offThread_breakFlags(%eax) # anything to do?
- movl rFP, OUT_ARG1(%esp)
- je 1f # reload rIBASE & resume if not
- movl %eax, OUT_ARG2(%esp)
- call dvmCheckBefore # (dPC, dFP, self)
- movl rSELF, %eax
-1:
- movl offThread_curHandlerTable(%eax), rIBASE # reload rIBASE
- jmp *dvmAsmInstructionStart+(365*4)
-
-/* ------------------------------ */
-.L_ALT_OP_UNUSED_6EFF: /* 0x16e */
-/* File: x86/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Unlike the Arm handler, we can't do this as a tail call
- * because rIBASE is caller save and we need to reload it.
- *
- * Note that unlike in the Arm implementation, we should never arrive
- * here with a zero breakFlag because we always refresh rIBASE on
- * return.
- */
- EXPORT_PC
- movl rSELF, %eax
- movl rPC, OUT_ARG0(%esp)
- cmpb $0,offThread_breakFlags(%eax) # anything to do?
- movl rFP, OUT_ARG1(%esp)
- je 1f # reload rIBASE & resume if not
- movl %eax, OUT_ARG2(%esp)
- call dvmCheckBefore # (dPC, dFP, self)
- movl rSELF, %eax
-1:
- movl offThread_curHandlerTable(%eax), rIBASE # reload rIBASE
- jmp *dvmAsmInstructionStart+(366*4)
-
-/* ------------------------------ */
-.L_ALT_OP_UNUSED_6FFF: /* 0x16f */
-/* File: x86/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Unlike the Arm handler, we can't do this as a tail call
- * because rIBASE is caller save and we need to reload it.
- *
- * Note that unlike in the Arm implementation, we should never arrive
- * here with a zero breakFlag because we always refresh rIBASE on
- * return.
- */
- EXPORT_PC
- movl rSELF, %eax
- movl rPC, OUT_ARG0(%esp)
- cmpb $0,offThread_breakFlags(%eax) # anything to do?
- movl rFP, OUT_ARG1(%esp)
- je 1f # reload rIBASE & resume if not
- movl %eax, OUT_ARG2(%esp)
- call dvmCheckBefore # (dPC, dFP, self)
- movl rSELF, %eax
-1:
- movl offThread_curHandlerTable(%eax), rIBASE # reload rIBASE
- jmp *dvmAsmInstructionStart+(367*4)
-
-/* ------------------------------ */
-.L_ALT_OP_UNUSED_70FF: /* 0x170 */
-/* File: x86/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Unlike the Arm handler, we can't do this as a tail call
- * because rIBASE is caller save and we need to reload it.
- *
- * Note that unlike in the Arm implementation, we should never arrive
- * here with a zero breakFlag because we always refresh rIBASE on
- * return.
- */
- EXPORT_PC
- movl rSELF, %eax
- movl rPC, OUT_ARG0(%esp)
- cmpb $0,offThread_breakFlags(%eax) # anything to do?
- movl rFP, OUT_ARG1(%esp)
- je 1f # reload rIBASE & resume if not
- movl %eax, OUT_ARG2(%esp)
- call dvmCheckBefore # (dPC, dFP, self)
- movl rSELF, %eax
-1:
- movl offThread_curHandlerTable(%eax), rIBASE # reload rIBASE
- jmp *dvmAsmInstructionStart+(368*4)
-
-/* ------------------------------ */
-.L_ALT_OP_UNUSED_71FF: /* 0x171 */
-/* File: x86/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Unlike the Arm handler, we can't do this as a tail call
- * because rIBASE is caller save and we need to reload it.
- *
- * Note that unlike in the Arm implementation, we should never arrive
- * here with a zero breakFlag because we always refresh rIBASE on
- * return.
- */
- EXPORT_PC
- movl rSELF, %eax
- movl rPC, OUT_ARG0(%esp)
- cmpb $0,offThread_breakFlags(%eax) # anything to do?
- movl rFP, OUT_ARG1(%esp)
- je 1f # reload rIBASE & resume if not
- movl %eax, OUT_ARG2(%esp)
- call dvmCheckBefore # (dPC, dFP, self)
- movl rSELF, %eax
-1:
- movl offThread_curHandlerTable(%eax), rIBASE # reload rIBASE
- jmp *dvmAsmInstructionStart+(369*4)
-
-/* ------------------------------ */
-.L_ALT_OP_UNUSED_72FF: /* 0x172 */
-/* File: x86/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Unlike the Arm handler, we can't do this as a tail call
- * because rIBASE is caller save and we need to reload it.
- *
- * Note that unlike in the Arm implementation, we should never arrive
- * here with a zero breakFlag because we always refresh rIBASE on
- * return.
- */
- EXPORT_PC
- movl rSELF, %eax
- movl rPC, OUT_ARG0(%esp)
- cmpb $0,offThread_breakFlags(%eax) # anything to do?
- movl rFP, OUT_ARG1(%esp)
- je 1f # reload rIBASE & resume if not
- movl %eax, OUT_ARG2(%esp)
- call dvmCheckBefore # (dPC, dFP, self)
- movl rSELF, %eax
-1:
- movl offThread_curHandlerTable(%eax), rIBASE # reload rIBASE
- jmp *dvmAsmInstructionStart+(370*4)
-
-/* ------------------------------ */
-.L_ALT_OP_UNUSED_73FF: /* 0x173 */
-/* File: x86/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Unlike the Arm handler, we can't do this as a tail call
- * because rIBASE is caller save and we need to reload it.
- *
- * Note that unlike in the Arm implementation, we should never arrive
- * here with a zero breakFlag because we always refresh rIBASE on
- * return.
- */
- EXPORT_PC
- movl rSELF, %eax
- movl rPC, OUT_ARG0(%esp)
- cmpb $0,offThread_breakFlags(%eax) # anything to do?
- movl rFP, OUT_ARG1(%esp)
- je 1f # reload rIBASE & resume if not
- movl %eax, OUT_ARG2(%esp)
- call dvmCheckBefore # (dPC, dFP, self)
- movl rSELF, %eax
-1:
- movl offThread_curHandlerTable(%eax), rIBASE # reload rIBASE
- jmp *dvmAsmInstructionStart+(371*4)
-
-/* ------------------------------ */
-.L_ALT_OP_UNUSED_74FF: /* 0x174 */
-/* File: x86/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Unlike the Arm handler, we can't do this as a tail call
- * because rIBASE is caller save and we need to reload it.
- *
- * Note that unlike in the Arm implementation, we should never arrive
- * here with a zero breakFlag because we always refresh rIBASE on
- * return.
- */
- EXPORT_PC
- movl rSELF, %eax
- movl rPC, OUT_ARG0(%esp)
- cmpb $0,offThread_breakFlags(%eax) # anything to do?
- movl rFP, OUT_ARG1(%esp)
- je 1f # reload rIBASE & resume if not
- movl %eax, OUT_ARG2(%esp)
- call dvmCheckBefore # (dPC, dFP, self)
- movl rSELF, %eax
-1:
- movl offThread_curHandlerTable(%eax), rIBASE # reload rIBASE
- jmp *dvmAsmInstructionStart+(372*4)
-
-/* ------------------------------ */
-.L_ALT_OP_UNUSED_75FF: /* 0x175 */
-/* File: x86/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Unlike the Arm handler, we can't do this as a tail call
- * because rIBASE is caller save and we need to reload it.
- *
- * Note that unlike in the Arm implementation, we should never arrive
- * here with a zero breakFlag because we always refresh rIBASE on
- * return.
- */
- EXPORT_PC
- movl rSELF, %eax
- movl rPC, OUT_ARG0(%esp)
- cmpb $0,offThread_breakFlags(%eax) # anything to do?
- movl rFP, OUT_ARG1(%esp)
- je 1f # reload rIBASE & resume if not
- movl %eax, OUT_ARG2(%esp)
- call dvmCheckBefore # (dPC, dFP, self)
- movl rSELF, %eax
-1:
- movl offThread_curHandlerTable(%eax), rIBASE # reload rIBASE
- jmp *dvmAsmInstructionStart+(373*4)
-
-/* ------------------------------ */
-.L_ALT_OP_UNUSED_76FF: /* 0x176 */
-/* File: x86/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Unlike the Arm handler, we can't do this as a tail call
- * because rIBASE is caller save and we need to reload it.
- *
- * Note that unlike in the Arm implementation, we should never arrive
- * here with a zero breakFlag because we always refresh rIBASE on
- * return.
- */
- EXPORT_PC
- movl rSELF, %eax
- movl rPC, OUT_ARG0(%esp)
- cmpb $0,offThread_breakFlags(%eax) # anything to do?
- movl rFP, OUT_ARG1(%esp)
- je 1f # reload rIBASE & resume if not
- movl %eax, OUT_ARG2(%esp)
- call dvmCheckBefore # (dPC, dFP, self)
- movl rSELF, %eax
-1:
- movl offThread_curHandlerTable(%eax), rIBASE # reload rIBASE
- jmp *dvmAsmInstructionStart+(374*4)
-
-/* ------------------------------ */
-.L_ALT_OP_UNUSED_77FF: /* 0x177 */
-/* File: x86/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Unlike the Arm handler, we can't do this as a tail call
- * because rIBASE is caller save and we need to reload it.
- *
- * Note that unlike in the Arm implementation, we should never arrive
- * here with a zero breakFlag because we always refresh rIBASE on
- * return.
- */
- EXPORT_PC
- movl rSELF, %eax
- movl rPC, OUT_ARG0(%esp)
- cmpb $0,offThread_breakFlags(%eax) # anything to do?
- movl rFP, OUT_ARG1(%esp)
- je 1f # reload rIBASE & resume if not
- movl %eax, OUT_ARG2(%esp)
- call dvmCheckBefore # (dPC, dFP, self)
- movl rSELF, %eax
-1:
- movl offThread_curHandlerTable(%eax), rIBASE # reload rIBASE
- jmp *dvmAsmInstructionStart+(375*4)
-
-/* ------------------------------ */
-.L_ALT_OP_UNUSED_78FF: /* 0x178 */
-/* File: x86/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Unlike the Arm handler, we can't do this as a tail call
- * because rIBASE is caller save and we need to reload it.
- *
- * Note that unlike in the Arm implementation, we should never arrive
- * here with a zero breakFlag because we always refresh rIBASE on
- * return.
- */
- EXPORT_PC
- movl rSELF, %eax
- movl rPC, OUT_ARG0(%esp)
- cmpb $0,offThread_breakFlags(%eax) # anything to do?
- movl rFP, OUT_ARG1(%esp)
- je 1f # reload rIBASE & resume if not
- movl %eax, OUT_ARG2(%esp)
- call dvmCheckBefore # (dPC, dFP, self)
- movl rSELF, %eax
-1:
- movl offThread_curHandlerTable(%eax), rIBASE # reload rIBASE
- jmp *dvmAsmInstructionStart+(376*4)
-
-/* ------------------------------ */
-.L_ALT_OP_UNUSED_79FF: /* 0x179 */
-/* File: x86/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Unlike the Arm handler, we can't do this as a tail call
- * because rIBASE is caller save and we need to reload it.
- *
- * Note that unlike in the Arm implementation, we should never arrive
- * here with a zero breakFlag because we always refresh rIBASE on
- * return.
- */
- EXPORT_PC
- movl rSELF, %eax
- movl rPC, OUT_ARG0(%esp)
- cmpb $0,offThread_breakFlags(%eax) # anything to do?
- movl rFP, OUT_ARG1(%esp)
- je 1f # reload rIBASE & resume if not
- movl %eax, OUT_ARG2(%esp)
- call dvmCheckBefore # (dPC, dFP, self)
- movl rSELF, %eax
-1:
- movl offThread_curHandlerTable(%eax), rIBASE # reload rIBASE
- jmp *dvmAsmInstructionStart+(377*4)
-
-/* ------------------------------ */
-.L_ALT_OP_UNUSED_7AFF: /* 0x17a */
-/* File: x86/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Unlike the Arm handler, we can't do this as a tail call
- * because rIBASE is caller save and we need to reload it.
- *
- * Note that unlike in the Arm implementation, we should never arrive
- * here with a zero breakFlag because we always refresh rIBASE on
- * return.
- */
- EXPORT_PC
- movl rSELF, %eax
- movl rPC, OUT_ARG0(%esp)
- cmpb $0,offThread_breakFlags(%eax) # anything to do?
- movl rFP, OUT_ARG1(%esp)
- je 1f # reload rIBASE & resume if not
- movl %eax, OUT_ARG2(%esp)
- call dvmCheckBefore # (dPC, dFP, self)
- movl rSELF, %eax
-1:
- movl offThread_curHandlerTable(%eax), rIBASE # reload rIBASE
- jmp *dvmAsmInstructionStart+(378*4)
-
-/* ------------------------------ */
-.L_ALT_OP_UNUSED_7BFF: /* 0x17b */
-/* File: x86/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Unlike the Arm handler, we can't do this as a tail call
- * because rIBASE is caller save and we need to reload it.
- *
- * Note that unlike in the Arm implementation, we should never arrive
- * here with a zero breakFlag because we always refresh rIBASE on
- * return.
- */
- EXPORT_PC
- movl rSELF, %eax
- movl rPC, OUT_ARG0(%esp)
- cmpb $0,offThread_breakFlags(%eax) # anything to do?
- movl rFP, OUT_ARG1(%esp)
- je 1f # reload rIBASE & resume if not
- movl %eax, OUT_ARG2(%esp)
- call dvmCheckBefore # (dPC, dFP, self)
- movl rSELF, %eax
-1:
- movl offThread_curHandlerTable(%eax), rIBASE # reload rIBASE
- jmp *dvmAsmInstructionStart+(379*4)
-
-/* ------------------------------ */
-.L_ALT_OP_UNUSED_7CFF: /* 0x17c */
-/* File: x86/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Unlike the Arm handler, we can't do this as a tail call
- * because rIBASE is caller save and we need to reload it.
- *
- * Note that unlike in the Arm implementation, we should never arrive
- * here with a zero breakFlag because we always refresh rIBASE on
- * return.
- */
- EXPORT_PC
- movl rSELF, %eax
- movl rPC, OUT_ARG0(%esp)
- cmpb $0,offThread_breakFlags(%eax) # anything to do?
- movl rFP, OUT_ARG1(%esp)
- je 1f # reload rIBASE & resume if not
- movl %eax, OUT_ARG2(%esp)
- call dvmCheckBefore # (dPC, dFP, self)
- movl rSELF, %eax
-1:
- movl offThread_curHandlerTable(%eax), rIBASE # reload rIBASE
- jmp *dvmAsmInstructionStart+(380*4)
-
-/* ------------------------------ */
-.L_ALT_OP_UNUSED_7DFF: /* 0x17d */
-/* File: x86/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Unlike the Arm handler, we can't do this as a tail call
- * because rIBASE is caller save and we need to reload it.
- *
- * Note that unlike in the Arm implementation, we should never arrive
- * here with a zero breakFlag because we always refresh rIBASE on
- * return.
- */
- EXPORT_PC
- movl rSELF, %eax
- movl rPC, OUT_ARG0(%esp)
- cmpb $0,offThread_breakFlags(%eax) # anything to do?
- movl rFP, OUT_ARG1(%esp)
- je 1f # reload rIBASE & resume if not
- movl %eax, OUT_ARG2(%esp)
- call dvmCheckBefore # (dPC, dFP, self)
- movl rSELF, %eax
-1:
- movl offThread_curHandlerTable(%eax), rIBASE # reload rIBASE
- jmp *dvmAsmInstructionStart+(381*4)
-
-/* ------------------------------ */
-.L_ALT_OP_UNUSED_7EFF: /* 0x17e */
-/* File: x86/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Unlike the Arm handler, we can't do this as a tail call
- * because rIBASE is caller save and we need to reload it.
- *
- * Note that unlike in the Arm implementation, we should never arrive
- * here with a zero breakFlag because we always refresh rIBASE on
- * return.
- */
- EXPORT_PC
- movl rSELF, %eax
- movl rPC, OUT_ARG0(%esp)
- cmpb $0,offThread_breakFlags(%eax) # anything to do?
- movl rFP, OUT_ARG1(%esp)
- je 1f # reload rIBASE & resume if not
- movl %eax, OUT_ARG2(%esp)
- call dvmCheckBefore # (dPC, dFP, self)
- movl rSELF, %eax
-1:
- movl offThread_curHandlerTable(%eax), rIBASE # reload rIBASE
- jmp *dvmAsmInstructionStart+(382*4)
-
-/* ------------------------------ */
-.L_ALT_OP_UNUSED_7FFF: /* 0x17f */
-/* File: x86/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Unlike the Arm handler, we can't do this as a tail call
- * because rIBASE is caller save and we need to reload it.
- *
- * Note that unlike in the Arm implementation, we should never arrive
- * here with a zero breakFlag because we always refresh rIBASE on
- * return.
- */
- EXPORT_PC
- movl rSELF, %eax
- movl rPC, OUT_ARG0(%esp)
- cmpb $0,offThread_breakFlags(%eax) # anything to do?
- movl rFP, OUT_ARG1(%esp)
- je 1f # reload rIBASE & resume if not
- movl %eax, OUT_ARG2(%esp)
- call dvmCheckBefore # (dPC, dFP, self)
- movl rSELF, %eax
-1:
- movl offThread_curHandlerTable(%eax), rIBASE # reload rIBASE
- jmp *dvmAsmInstructionStart+(383*4)
-
-/* ------------------------------ */
-.L_ALT_OP_UNUSED_80FF: /* 0x180 */
-/* File: x86/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Unlike the Arm handler, we can't do this as a tail call
- * because rIBASE is caller save and we need to reload it.
- *
- * Note that unlike in the Arm implementation, we should never arrive
- * here with a zero breakFlag because we always refresh rIBASE on
- * return.
- */
- EXPORT_PC
- movl rSELF, %eax
- movl rPC, OUT_ARG0(%esp)
- cmpb $0,offThread_breakFlags(%eax) # anything to do?
- movl rFP, OUT_ARG1(%esp)
- je 1f # reload rIBASE & resume if not
- movl %eax, OUT_ARG2(%esp)
- call dvmCheckBefore # (dPC, dFP, self)
- movl rSELF, %eax
-1:
- movl offThread_curHandlerTable(%eax), rIBASE # reload rIBASE
- jmp *dvmAsmInstructionStart+(384*4)
-
-/* ------------------------------ */
-.L_ALT_OP_UNUSED_81FF: /* 0x181 */
-/* File: x86/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Unlike the Arm handler, we can't do this as a tail call
- * because rIBASE is caller save and we need to reload it.
- *
- * Note that unlike in the Arm implementation, we should never arrive
- * here with a zero breakFlag because we always refresh rIBASE on
- * return.
- */
- EXPORT_PC
- movl rSELF, %eax
- movl rPC, OUT_ARG0(%esp)
- cmpb $0,offThread_breakFlags(%eax) # anything to do?
- movl rFP, OUT_ARG1(%esp)
- je 1f # reload rIBASE & resume if not
- movl %eax, OUT_ARG2(%esp)
- call dvmCheckBefore # (dPC, dFP, self)
- movl rSELF, %eax
-1:
- movl offThread_curHandlerTable(%eax), rIBASE # reload rIBASE
- jmp *dvmAsmInstructionStart+(385*4)
-
-/* ------------------------------ */
-.L_ALT_OP_UNUSED_82FF: /* 0x182 */
-/* File: x86/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Unlike the Arm handler, we can't do this as a tail call
- * because rIBASE is caller save and we need to reload it.
- *
- * Note that unlike in the Arm implementation, we should never arrive
- * here with a zero breakFlag because we always refresh rIBASE on
- * return.
- */
- EXPORT_PC
- movl rSELF, %eax
- movl rPC, OUT_ARG0(%esp)
- cmpb $0,offThread_breakFlags(%eax) # anything to do?
- movl rFP, OUT_ARG1(%esp)
- je 1f # reload rIBASE & resume if not
- movl %eax, OUT_ARG2(%esp)
- call dvmCheckBefore # (dPC, dFP, self)
- movl rSELF, %eax
-1:
- movl offThread_curHandlerTable(%eax), rIBASE # reload rIBASE
- jmp *dvmAsmInstructionStart+(386*4)
-
-/* ------------------------------ */
-.L_ALT_OP_UNUSED_83FF: /* 0x183 */
-/* File: x86/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Unlike the Arm handler, we can't do this as a tail call
- * because rIBASE is caller save and we need to reload it.
- *
- * Note that unlike in the Arm implementation, we should never arrive
- * here with a zero breakFlag because we always refresh rIBASE on
- * return.
- */
- EXPORT_PC
- movl rSELF, %eax
- movl rPC, OUT_ARG0(%esp)
- cmpb $0,offThread_breakFlags(%eax) # anything to do?
- movl rFP, OUT_ARG1(%esp)
- je 1f # reload rIBASE & resume if not
- movl %eax, OUT_ARG2(%esp)
- call dvmCheckBefore # (dPC, dFP, self)
- movl rSELF, %eax
-1:
- movl offThread_curHandlerTable(%eax), rIBASE # reload rIBASE
- jmp *dvmAsmInstructionStart+(387*4)
-
-/* ------------------------------ */
-.L_ALT_OP_UNUSED_84FF: /* 0x184 */
-/* File: x86/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Unlike the Arm handler, we can't do this as a tail call
- * because rIBASE is caller save and we need to reload it.
- *
- * Note that unlike in the Arm implementation, we should never arrive
- * here with a zero breakFlag because we always refresh rIBASE on
- * return.
- */
- EXPORT_PC
- movl rSELF, %eax
- movl rPC, OUT_ARG0(%esp)
- cmpb $0,offThread_breakFlags(%eax) # anything to do?
- movl rFP, OUT_ARG1(%esp)
- je 1f # reload rIBASE & resume if not
- movl %eax, OUT_ARG2(%esp)
- call dvmCheckBefore # (dPC, dFP, self)
- movl rSELF, %eax
-1:
- movl offThread_curHandlerTable(%eax), rIBASE # reload rIBASE
- jmp *dvmAsmInstructionStart+(388*4)
-
-/* ------------------------------ */
-.L_ALT_OP_UNUSED_85FF: /* 0x185 */
-/* File: x86/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Unlike the Arm handler, we can't do this as a tail call
- * because rIBASE is caller save and we need to reload it.
- *
- * Note that unlike in the Arm implementation, we should never arrive
- * here with a zero breakFlag because we always refresh rIBASE on
- * return.
- */
- EXPORT_PC
- movl rSELF, %eax
- movl rPC, OUT_ARG0(%esp)
- cmpb $0,offThread_breakFlags(%eax) # anything to do?
- movl rFP, OUT_ARG1(%esp)
- je 1f # reload rIBASE & resume if not
- movl %eax, OUT_ARG2(%esp)
- call dvmCheckBefore # (dPC, dFP, self)
- movl rSELF, %eax
-1:
- movl offThread_curHandlerTable(%eax), rIBASE # reload rIBASE
- jmp *dvmAsmInstructionStart+(389*4)
-
-/* ------------------------------ */
-.L_ALT_OP_UNUSED_86FF: /* 0x186 */
-/* File: x86/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Unlike the Arm handler, we can't do this as a tail call
- * because rIBASE is caller save and we need to reload it.
- *
- * Note that unlike in the Arm implementation, we should never arrive
- * here with a zero breakFlag because we always refresh rIBASE on
- * return.
- */
- EXPORT_PC
- movl rSELF, %eax
- movl rPC, OUT_ARG0(%esp)
- cmpb $0,offThread_breakFlags(%eax) # anything to do?
- movl rFP, OUT_ARG1(%esp)
- je 1f # reload rIBASE & resume if not
- movl %eax, OUT_ARG2(%esp)
- call dvmCheckBefore # (dPC, dFP, self)
- movl rSELF, %eax
-1:
- movl offThread_curHandlerTable(%eax), rIBASE # reload rIBASE
- jmp *dvmAsmInstructionStart+(390*4)
-
-/* ------------------------------ */
-.L_ALT_OP_UNUSED_87FF: /* 0x187 */
-/* File: x86/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Unlike the Arm handler, we can't do this as a tail call
- * because rIBASE is caller save and we need to reload it.
- *
- * Note that unlike in the Arm implementation, we should never arrive
- * here with a zero breakFlag because we always refresh rIBASE on
- * return.
- */
- EXPORT_PC
- movl rSELF, %eax
- movl rPC, OUT_ARG0(%esp)
- cmpb $0,offThread_breakFlags(%eax) # anything to do?
- movl rFP, OUT_ARG1(%esp)
- je 1f # reload rIBASE & resume if not
- movl %eax, OUT_ARG2(%esp)
- call dvmCheckBefore # (dPC, dFP, self)
- movl rSELF, %eax
-1:
- movl offThread_curHandlerTable(%eax), rIBASE # reload rIBASE
- jmp *dvmAsmInstructionStart+(391*4)
-
-/* ------------------------------ */
-.L_ALT_OP_UNUSED_88FF: /* 0x188 */
-/* File: x86/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Unlike the Arm handler, we can't do this as a tail call
- * because rIBASE is caller save and we need to reload it.
- *
- * Note that unlike in the Arm implementation, we should never arrive
- * here with a zero breakFlag because we always refresh rIBASE on
- * return.
- */
- EXPORT_PC
- movl rSELF, %eax
- movl rPC, OUT_ARG0(%esp)
- cmpb $0,offThread_breakFlags(%eax) # anything to do?
- movl rFP, OUT_ARG1(%esp)
- je 1f # reload rIBASE & resume if not
- movl %eax, OUT_ARG2(%esp)
- call dvmCheckBefore # (dPC, dFP, self)
- movl rSELF, %eax
-1:
- movl offThread_curHandlerTable(%eax), rIBASE # reload rIBASE
- jmp *dvmAsmInstructionStart+(392*4)
-
-/* ------------------------------ */
-.L_ALT_OP_UNUSED_89FF: /* 0x189 */
-/* File: x86/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Unlike the Arm handler, we can't do this as a tail call
- * because rIBASE is caller save and we need to reload it.
- *
- * Note that unlike in the Arm implementation, we should never arrive
- * here with a zero breakFlag because we always refresh rIBASE on
- * return.
- */
- EXPORT_PC
- movl rSELF, %eax
- movl rPC, OUT_ARG0(%esp)
- cmpb $0,offThread_breakFlags(%eax) # anything to do?
- movl rFP, OUT_ARG1(%esp)
- je 1f # reload rIBASE & resume if not
- movl %eax, OUT_ARG2(%esp)
- call dvmCheckBefore # (dPC, dFP, self)
- movl rSELF, %eax
-1:
- movl offThread_curHandlerTable(%eax), rIBASE # reload rIBASE
- jmp *dvmAsmInstructionStart+(393*4)
-
-/* ------------------------------ */
-.L_ALT_OP_UNUSED_8AFF: /* 0x18a */
-/* File: x86/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Unlike the Arm handler, we can't do this as a tail call
- * because rIBASE is caller save and we need to reload it.
- *
- * Note that unlike in the Arm implementation, we should never arrive
- * here with a zero breakFlag because we always refresh rIBASE on
- * return.
- */
- EXPORT_PC
- movl rSELF, %eax
- movl rPC, OUT_ARG0(%esp)
- cmpb $0,offThread_breakFlags(%eax) # anything to do?
- movl rFP, OUT_ARG1(%esp)
- je 1f # reload rIBASE & resume if not
- movl %eax, OUT_ARG2(%esp)
- call dvmCheckBefore # (dPC, dFP, self)
- movl rSELF, %eax
-1:
- movl offThread_curHandlerTable(%eax), rIBASE # reload rIBASE
- jmp *dvmAsmInstructionStart+(394*4)
-
-/* ------------------------------ */
-.L_ALT_OP_UNUSED_8BFF: /* 0x18b */
-/* File: x86/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Unlike the Arm handler, we can't do this as a tail call
- * because rIBASE is caller save and we need to reload it.
- *
- * Note that unlike in the Arm implementation, we should never arrive
- * here with a zero breakFlag because we always refresh rIBASE on
- * return.
- */
- EXPORT_PC
- movl rSELF, %eax
- movl rPC, OUT_ARG0(%esp)
- cmpb $0,offThread_breakFlags(%eax) # anything to do?
- movl rFP, OUT_ARG1(%esp)
- je 1f # reload rIBASE & resume if not
- movl %eax, OUT_ARG2(%esp)
- call dvmCheckBefore # (dPC, dFP, self)
- movl rSELF, %eax
-1:
- movl offThread_curHandlerTable(%eax), rIBASE # reload rIBASE
- jmp *dvmAsmInstructionStart+(395*4)
-
-/* ------------------------------ */
-.L_ALT_OP_UNUSED_8CFF: /* 0x18c */
-/* File: x86/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Unlike the Arm handler, we can't do this as a tail call
- * because rIBASE is caller save and we need to reload it.
- *
- * Note that unlike in the Arm implementation, we should never arrive
- * here with a zero breakFlag because we always refresh rIBASE on
- * return.
- */
- EXPORT_PC
- movl rSELF, %eax
- movl rPC, OUT_ARG0(%esp)
- cmpb $0,offThread_breakFlags(%eax) # anything to do?
- movl rFP, OUT_ARG1(%esp)
- je 1f # reload rIBASE & resume if not
- movl %eax, OUT_ARG2(%esp)
- call dvmCheckBefore # (dPC, dFP, self)
- movl rSELF, %eax
-1:
- movl offThread_curHandlerTable(%eax), rIBASE # reload rIBASE
- jmp *dvmAsmInstructionStart+(396*4)
-
-/* ------------------------------ */
-.L_ALT_OP_UNUSED_8DFF: /* 0x18d */
-/* File: x86/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Unlike the Arm handler, we can't do this as a tail call
- * because rIBASE is caller save and we need to reload it.
- *
- * Note that unlike in the Arm implementation, we should never arrive
- * here with a zero breakFlag because we always refresh rIBASE on
- * return.
- */
- EXPORT_PC
- movl rSELF, %eax
- movl rPC, OUT_ARG0(%esp)
- cmpb $0,offThread_breakFlags(%eax) # anything to do?
- movl rFP, OUT_ARG1(%esp)
- je 1f # reload rIBASE & resume if not
- movl %eax, OUT_ARG2(%esp)
- call dvmCheckBefore # (dPC, dFP, self)
- movl rSELF, %eax
-1:
- movl offThread_curHandlerTable(%eax), rIBASE # reload rIBASE
- jmp *dvmAsmInstructionStart+(397*4)
-
-/* ------------------------------ */
-.L_ALT_OP_UNUSED_8EFF: /* 0x18e */
-/* File: x86/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Unlike the Arm handler, we can't do this as a tail call
- * because rIBASE is caller save and we need to reload it.
- *
- * Note that unlike in the Arm implementation, we should never arrive
- * here with a zero breakFlag because we always refresh rIBASE on
- * return.
- */
- EXPORT_PC
- movl rSELF, %eax
- movl rPC, OUT_ARG0(%esp)
- cmpb $0,offThread_breakFlags(%eax) # anything to do?
- movl rFP, OUT_ARG1(%esp)
- je 1f # reload rIBASE & resume if not
- movl %eax, OUT_ARG2(%esp)
- call dvmCheckBefore # (dPC, dFP, self)
- movl rSELF, %eax
-1:
- movl offThread_curHandlerTable(%eax), rIBASE # reload rIBASE
- jmp *dvmAsmInstructionStart+(398*4)
-
-/* ------------------------------ */
-.L_ALT_OP_UNUSED_8FFF: /* 0x18f */
-/* File: x86/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Unlike the Arm handler, we can't do this as a tail call
- * because rIBASE is caller save and we need to reload it.
- *
- * Note that unlike in the Arm implementation, we should never arrive
- * here with a zero breakFlag because we always refresh rIBASE on
- * return.
- */
- EXPORT_PC
- movl rSELF, %eax
- movl rPC, OUT_ARG0(%esp)
- cmpb $0,offThread_breakFlags(%eax) # anything to do?
- movl rFP, OUT_ARG1(%esp)
- je 1f # reload rIBASE & resume if not
- movl %eax, OUT_ARG2(%esp)
- call dvmCheckBefore # (dPC, dFP, self)
- movl rSELF, %eax
-1:
- movl offThread_curHandlerTable(%eax), rIBASE # reload rIBASE
- jmp *dvmAsmInstructionStart+(399*4)
-
-/* ------------------------------ */
-.L_ALT_OP_UNUSED_90FF: /* 0x190 */
-/* File: x86/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Unlike the Arm handler, we can't do this as a tail call
- * because rIBASE is caller save and we need to reload it.
- *
- * Note that unlike in the Arm implementation, we should never arrive
- * here with a zero breakFlag because we always refresh rIBASE on
- * return.
- */
- EXPORT_PC
- movl rSELF, %eax
- movl rPC, OUT_ARG0(%esp)
- cmpb $0,offThread_breakFlags(%eax) # anything to do?
- movl rFP, OUT_ARG1(%esp)
- je 1f # reload rIBASE & resume if not
- movl %eax, OUT_ARG2(%esp)
- call dvmCheckBefore # (dPC, dFP, self)
- movl rSELF, %eax
-1:
- movl offThread_curHandlerTable(%eax), rIBASE # reload rIBASE
- jmp *dvmAsmInstructionStart+(400*4)
-
-/* ------------------------------ */
-.L_ALT_OP_UNUSED_91FF: /* 0x191 */
-/* File: x86/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Unlike the Arm handler, we can't do this as a tail call
- * because rIBASE is caller save and we need to reload it.
- *
- * Note that unlike in the Arm implementation, we should never arrive
- * here with a zero breakFlag because we always refresh rIBASE on
- * return.
- */
- EXPORT_PC
- movl rSELF, %eax
- movl rPC, OUT_ARG0(%esp)
- cmpb $0,offThread_breakFlags(%eax) # anything to do?
- movl rFP, OUT_ARG1(%esp)
- je 1f # reload rIBASE & resume if not
- movl %eax, OUT_ARG2(%esp)
- call dvmCheckBefore # (dPC, dFP, self)
- movl rSELF, %eax
-1:
- movl offThread_curHandlerTable(%eax), rIBASE # reload rIBASE
- jmp *dvmAsmInstructionStart+(401*4)
-
-/* ------------------------------ */
-.L_ALT_OP_UNUSED_92FF: /* 0x192 */
-/* File: x86/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Unlike the Arm handler, we can't do this as a tail call
- * because rIBASE is caller save and we need to reload it.
- *
- * Note that unlike in the Arm implementation, we should never arrive
- * here with a zero breakFlag because we always refresh rIBASE on
- * return.
- */
- EXPORT_PC
- movl rSELF, %eax
- movl rPC, OUT_ARG0(%esp)
- cmpb $0,offThread_breakFlags(%eax) # anything to do?
- movl rFP, OUT_ARG1(%esp)
- je 1f # reload rIBASE & resume if not
- movl %eax, OUT_ARG2(%esp)
- call dvmCheckBefore # (dPC, dFP, self)
- movl rSELF, %eax
-1:
- movl offThread_curHandlerTable(%eax), rIBASE # reload rIBASE
- jmp *dvmAsmInstructionStart+(402*4)
-
-/* ------------------------------ */
-.L_ALT_OP_UNUSED_93FF: /* 0x193 */
-/* File: x86/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Unlike the Arm handler, we can't do this as a tail call
- * because rIBASE is caller save and we need to reload it.
- *
- * Note that unlike in the Arm implementation, we should never arrive
- * here with a zero breakFlag because we always refresh rIBASE on
- * return.
- */
- EXPORT_PC
- movl rSELF, %eax
- movl rPC, OUT_ARG0(%esp)
- cmpb $0,offThread_breakFlags(%eax) # anything to do?
- movl rFP, OUT_ARG1(%esp)
- je 1f # reload rIBASE & resume if not
- movl %eax, OUT_ARG2(%esp)
- call dvmCheckBefore # (dPC, dFP, self)
- movl rSELF, %eax
-1:
- movl offThread_curHandlerTable(%eax), rIBASE # reload rIBASE
- jmp *dvmAsmInstructionStart+(403*4)
-
-/* ------------------------------ */
-.L_ALT_OP_UNUSED_94FF: /* 0x194 */
-/* File: x86/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Unlike the Arm handler, we can't do this as a tail call
- * because rIBASE is caller save and we need to reload it.
- *
- * Note that unlike in the Arm implementation, we should never arrive
- * here with a zero breakFlag because we always refresh rIBASE on
- * return.
- */
- EXPORT_PC
- movl rSELF, %eax
- movl rPC, OUT_ARG0(%esp)
- cmpb $0,offThread_breakFlags(%eax) # anything to do?
- movl rFP, OUT_ARG1(%esp)
- je 1f # reload rIBASE & resume if not
- movl %eax, OUT_ARG2(%esp)
- call dvmCheckBefore # (dPC, dFP, self)
- movl rSELF, %eax
-1:
- movl offThread_curHandlerTable(%eax), rIBASE # reload rIBASE
- jmp *dvmAsmInstructionStart+(404*4)
-
-/* ------------------------------ */
-.L_ALT_OP_UNUSED_95FF: /* 0x195 */
-/* File: x86/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Unlike the Arm handler, we can't do this as a tail call
- * because rIBASE is caller save and we need to reload it.
- *
- * Note that unlike in the Arm implementation, we should never arrive
- * here with a zero breakFlag because we always refresh rIBASE on
- * return.
- */
- EXPORT_PC
- movl rSELF, %eax
- movl rPC, OUT_ARG0(%esp)
- cmpb $0,offThread_breakFlags(%eax) # anything to do?
- movl rFP, OUT_ARG1(%esp)
- je 1f # reload rIBASE & resume if not
- movl %eax, OUT_ARG2(%esp)
- call dvmCheckBefore # (dPC, dFP, self)
- movl rSELF, %eax
-1:
- movl offThread_curHandlerTable(%eax), rIBASE # reload rIBASE
- jmp *dvmAsmInstructionStart+(405*4)
-
-/* ------------------------------ */
-.L_ALT_OP_UNUSED_96FF: /* 0x196 */
-/* File: x86/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Unlike the Arm handler, we can't do this as a tail call
- * because rIBASE is caller save and we need to reload it.
- *
- * Note that unlike in the Arm implementation, we should never arrive
- * here with a zero breakFlag because we always refresh rIBASE on
- * return.
- */
- EXPORT_PC
- movl rSELF, %eax
- movl rPC, OUT_ARG0(%esp)
- cmpb $0,offThread_breakFlags(%eax) # anything to do?
- movl rFP, OUT_ARG1(%esp)
- je 1f # reload rIBASE & resume if not
- movl %eax, OUT_ARG2(%esp)
- call dvmCheckBefore # (dPC, dFP, self)
- movl rSELF, %eax
-1:
- movl offThread_curHandlerTable(%eax), rIBASE # reload rIBASE
- jmp *dvmAsmInstructionStart+(406*4)
-
-/* ------------------------------ */
-.L_ALT_OP_UNUSED_97FF: /* 0x197 */
-/* File: x86/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Unlike the Arm handler, we can't do this as a tail call
- * because rIBASE is caller save and we need to reload it.
- *
- * Note that unlike in the Arm implementation, we should never arrive
- * here with a zero breakFlag because we always refresh rIBASE on
- * return.
- */
- EXPORT_PC
- movl rSELF, %eax
- movl rPC, OUT_ARG0(%esp)
- cmpb $0,offThread_breakFlags(%eax) # anything to do?
- movl rFP, OUT_ARG1(%esp)
- je 1f # reload rIBASE & resume if not
- movl %eax, OUT_ARG2(%esp)
- call dvmCheckBefore # (dPC, dFP, self)
- movl rSELF, %eax
-1:
- movl offThread_curHandlerTable(%eax), rIBASE # reload rIBASE
- jmp *dvmAsmInstructionStart+(407*4)
-
-/* ------------------------------ */
-.L_ALT_OP_UNUSED_98FF: /* 0x198 */
-/* File: x86/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Unlike the Arm handler, we can't do this as a tail call
- * because rIBASE is caller save and we need to reload it.
- *
- * Note that unlike in the Arm implementation, we should never arrive
- * here with a zero breakFlag because we always refresh rIBASE on
- * return.
- */
- EXPORT_PC
- movl rSELF, %eax
- movl rPC, OUT_ARG0(%esp)
- cmpb $0,offThread_breakFlags(%eax) # anything to do?
- movl rFP, OUT_ARG1(%esp)
- je 1f # reload rIBASE & resume if not
- movl %eax, OUT_ARG2(%esp)
- call dvmCheckBefore # (dPC, dFP, self)
- movl rSELF, %eax
-1:
- movl offThread_curHandlerTable(%eax), rIBASE # reload rIBASE
- jmp *dvmAsmInstructionStart+(408*4)
-
-/* ------------------------------ */
-.L_ALT_OP_UNUSED_99FF: /* 0x199 */
-/* File: x86/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Unlike the Arm handler, we can't do this as a tail call
- * because rIBASE is caller save and we need to reload it.
- *
- * Note that unlike in the Arm implementation, we should never arrive
- * here with a zero breakFlag because we always refresh rIBASE on
- * return.
- */
- EXPORT_PC
- movl rSELF, %eax
- movl rPC, OUT_ARG0(%esp)
- cmpb $0,offThread_breakFlags(%eax) # anything to do?
- movl rFP, OUT_ARG1(%esp)
- je 1f # reload rIBASE & resume if not
- movl %eax, OUT_ARG2(%esp)
- call dvmCheckBefore # (dPC, dFP, self)
- movl rSELF, %eax
-1:
- movl offThread_curHandlerTable(%eax), rIBASE # reload rIBASE
- jmp *dvmAsmInstructionStart+(409*4)
-
-/* ------------------------------ */
-.L_ALT_OP_UNUSED_9AFF: /* 0x19a */
-/* File: x86/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Unlike the Arm handler, we can't do this as a tail call
- * because rIBASE is caller save and we need to reload it.
- *
- * Note that unlike in the Arm implementation, we should never arrive
- * here with a zero breakFlag because we always refresh rIBASE on
- * return.
- */
- EXPORT_PC
- movl rSELF, %eax
- movl rPC, OUT_ARG0(%esp)
- cmpb $0,offThread_breakFlags(%eax) # anything to do?
- movl rFP, OUT_ARG1(%esp)
- je 1f # reload rIBASE & resume if not
- movl %eax, OUT_ARG2(%esp)
- call dvmCheckBefore # (dPC, dFP, self)
- movl rSELF, %eax
-1:
- movl offThread_curHandlerTable(%eax), rIBASE # reload rIBASE
- jmp *dvmAsmInstructionStart+(410*4)
-
-/* ------------------------------ */
-.L_ALT_OP_UNUSED_9BFF: /* 0x19b */
-/* File: x86/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Unlike the Arm handler, we can't do this as a tail call
- * because rIBASE is caller save and we need to reload it.
- *
- * Note that unlike in the Arm implementation, we should never arrive
- * here with a zero breakFlag because we always refresh rIBASE on
- * return.
- */
- EXPORT_PC
- movl rSELF, %eax
- movl rPC, OUT_ARG0(%esp)
- cmpb $0,offThread_breakFlags(%eax) # anything to do?
- movl rFP, OUT_ARG1(%esp)
- je 1f # reload rIBASE & resume if not
- movl %eax, OUT_ARG2(%esp)
- call dvmCheckBefore # (dPC, dFP, self)
- movl rSELF, %eax
-1:
- movl offThread_curHandlerTable(%eax), rIBASE # reload rIBASE
- jmp *dvmAsmInstructionStart+(411*4)
-
-/* ------------------------------ */
-.L_ALT_OP_UNUSED_9CFF: /* 0x19c */
-/* File: x86/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Unlike the Arm handler, we can't do this as a tail call
- * because rIBASE is caller save and we need to reload it.
- *
- * Note that unlike in the Arm implementation, we should never arrive
- * here with a zero breakFlag because we always refresh rIBASE on
- * return.
- */
- EXPORT_PC
- movl rSELF, %eax
- movl rPC, OUT_ARG0(%esp)
- cmpb $0,offThread_breakFlags(%eax) # anything to do?
- movl rFP, OUT_ARG1(%esp)
- je 1f # reload rIBASE & resume if not
- movl %eax, OUT_ARG2(%esp)
- call dvmCheckBefore # (dPC, dFP, self)
- movl rSELF, %eax
-1:
- movl offThread_curHandlerTable(%eax), rIBASE # reload rIBASE
- jmp *dvmAsmInstructionStart+(412*4)
-
-/* ------------------------------ */
-.L_ALT_OP_UNUSED_9DFF: /* 0x19d */
-/* File: x86/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Unlike the Arm handler, we can't do this as a tail call
- * because rIBASE is caller save and we need to reload it.
- *
- * Note that unlike in the Arm implementation, we should never arrive
- * here with a zero breakFlag because we always refresh rIBASE on
- * return.
- */
- EXPORT_PC
- movl rSELF, %eax
- movl rPC, OUT_ARG0(%esp)
- cmpb $0,offThread_breakFlags(%eax) # anything to do?
- movl rFP, OUT_ARG1(%esp)
- je 1f # reload rIBASE & resume if not
- movl %eax, OUT_ARG2(%esp)
- call dvmCheckBefore # (dPC, dFP, self)
- movl rSELF, %eax
-1:
- movl offThread_curHandlerTable(%eax), rIBASE # reload rIBASE
- jmp *dvmAsmInstructionStart+(413*4)
-
-/* ------------------------------ */
-.L_ALT_OP_UNUSED_9EFF: /* 0x19e */
-/* File: x86/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Unlike the Arm handler, we can't do this as a tail call
- * because rIBASE is caller save and we need to reload it.
- *
- * Note that unlike in the Arm implementation, we should never arrive
- * here with a zero breakFlag because we always refresh rIBASE on
- * return.
- */
- EXPORT_PC
- movl rSELF, %eax
- movl rPC, OUT_ARG0(%esp)
- cmpb $0,offThread_breakFlags(%eax) # anything to do?
- movl rFP, OUT_ARG1(%esp)
- je 1f # reload rIBASE & resume if not
- movl %eax, OUT_ARG2(%esp)
- call dvmCheckBefore # (dPC, dFP, self)
- movl rSELF, %eax
-1:
- movl offThread_curHandlerTable(%eax), rIBASE # reload rIBASE
- jmp *dvmAsmInstructionStart+(414*4)
-
-/* ------------------------------ */
-.L_ALT_OP_UNUSED_9FFF: /* 0x19f */
-/* File: x86/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Unlike the Arm handler, we can't do this as a tail call
- * because rIBASE is caller save and we need to reload it.
- *
- * Note that unlike in the Arm implementation, we should never arrive
- * here with a zero breakFlag because we always refresh rIBASE on
- * return.
- */
- EXPORT_PC
- movl rSELF, %eax
- movl rPC, OUT_ARG0(%esp)
- cmpb $0,offThread_breakFlags(%eax) # anything to do?
- movl rFP, OUT_ARG1(%esp)
- je 1f # reload rIBASE & resume if not
- movl %eax, OUT_ARG2(%esp)
- call dvmCheckBefore # (dPC, dFP, self)
- movl rSELF, %eax
-1:
- movl offThread_curHandlerTable(%eax), rIBASE # reload rIBASE
- jmp *dvmAsmInstructionStart+(415*4)
-
-/* ------------------------------ */
-.L_ALT_OP_UNUSED_A0FF: /* 0x1a0 */
-/* File: x86/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Unlike the Arm handler, we can't do this as a tail call
- * because rIBASE is caller save and we need to reload it.
- *
- * Note that unlike in the Arm implementation, we should never arrive
- * here with a zero breakFlag because we always refresh rIBASE on
- * return.
- */
- EXPORT_PC
- movl rSELF, %eax
- movl rPC, OUT_ARG0(%esp)
- cmpb $0,offThread_breakFlags(%eax) # anything to do?
- movl rFP, OUT_ARG1(%esp)
- je 1f # reload rIBASE & resume if not
- movl %eax, OUT_ARG2(%esp)
- call dvmCheckBefore # (dPC, dFP, self)
- movl rSELF, %eax
-1:
- movl offThread_curHandlerTable(%eax), rIBASE # reload rIBASE
- jmp *dvmAsmInstructionStart+(416*4)
-
-/* ------------------------------ */
-.L_ALT_OP_UNUSED_A1FF: /* 0x1a1 */
-/* File: x86/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Unlike the Arm handler, we can't do this as a tail call
- * because rIBASE is caller save and we need to reload it.
- *
- * Note that unlike in the Arm implementation, we should never arrive
- * here with a zero breakFlag because we always refresh rIBASE on
- * return.
- */
- EXPORT_PC
- movl rSELF, %eax
- movl rPC, OUT_ARG0(%esp)
- cmpb $0,offThread_breakFlags(%eax) # anything to do?
- movl rFP, OUT_ARG1(%esp)
- je 1f # reload rIBASE & resume if not
- movl %eax, OUT_ARG2(%esp)
- call dvmCheckBefore # (dPC, dFP, self)
- movl rSELF, %eax
-1:
- movl offThread_curHandlerTable(%eax), rIBASE # reload rIBASE
- jmp *dvmAsmInstructionStart+(417*4)
-
-/* ------------------------------ */
-.L_ALT_OP_UNUSED_A2FF: /* 0x1a2 */
-/* File: x86/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Unlike the Arm handler, we can't do this as a tail call
- * because rIBASE is caller save and we need to reload it.
- *
- * Note that unlike in the Arm implementation, we should never arrive
- * here with a zero breakFlag because we always refresh rIBASE on
- * return.
- */
- EXPORT_PC
- movl rSELF, %eax
- movl rPC, OUT_ARG0(%esp)
- cmpb $0,offThread_breakFlags(%eax) # anything to do?
- movl rFP, OUT_ARG1(%esp)
- je 1f # reload rIBASE & resume if not
- movl %eax, OUT_ARG2(%esp)
- call dvmCheckBefore # (dPC, dFP, self)
- movl rSELF, %eax
-1:
- movl offThread_curHandlerTable(%eax), rIBASE # reload rIBASE
- jmp *dvmAsmInstructionStart+(418*4)
-
-/* ------------------------------ */
-.L_ALT_OP_UNUSED_A3FF: /* 0x1a3 */
-/* File: x86/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Unlike the Arm handler, we can't do this as a tail call
- * because rIBASE is caller save and we need to reload it.
- *
- * Note that unlike in the Arm implementation, we should never arrive
- * here with a zero breakFlag because we always refresh rIBASE on
- * return.
- */
- EXPORT_PC
- movl rSELF, %eax
- movl rPC, OUT_ARG0(%esp)
- cmpb $0,offThread_breakFlags(%eax) # anything to do?
- movl rFP, OUT_ARG1(%esp)
- je 1f # reload rIBASE & resume if not
- movl %eax, OUT_ARG2(%esp)
- call dvmCheckBefore # (dPC, dFP, self)
- movl rSELF, %eax
-1:
- movl offThread_curHandlerTable(%eax), rIBASE # reload rIBASE
- jmp *dvmAsmInstructionStart+(419*4)
-
-/* ------------------------------ */
-.L_ALT_OP_UNUSED_A4FF: /* 0x1a4 */
-/* File: x86/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Unlike the Arm handler, we can't do this as a tail call
- * because rIBASE is caller save and we need to reload it.
- *
- * Note that unlike in the Arm implementation, we should never arrive
- * here with a zero breakFlag because we always refresh rIBASE on
- * return.
- */
- EXPORT_PC
- movl rSELF, %eax
- movl rPC, OUT_ARG0(%esp)
- cmpb $0,offThread_breakFlags(%eax) # anything to do?
- movl rFP, OUT_ARG1(%esp)
- je 1f # reload rIBASE & resume if not
- movl %eax, OUT_ARG2(%esp)
- call dvmCheckBefore # (dPC, dFP, self)
- movl rSELF, %eax
-1:
- movl offThread_curHandlerTable(%eax), rIBASE # reload rIBASE
- jmp *dvmAsmInstructionStart+(420*4)
-
-/* ------------------------------ */
-.L_ALT_OP_UNUSED_A5FF: /* 0x1a5 */
-/* File: x86/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Unlike the Arm handler, we can't do this as a tail call
- * because rIBASE is caller save and we need to reload it.
- *
- * Note that unlike in the Arm implementation, we should never arrive
- * here with a zero breakFlag because we always refresh rIBASE on
- * return.
- */
- EXPORT_PC
- movl rSELF, %eax
- movl rPC, OUT_ARG0(%esp)
- cmpb $0,offThread_breakFlags(%eax) # anything to do?
- movl rFP, OUT_ARG1(%esp)
- je 1f # reload rIBASE & resume if not
- movl %eax, OUT_ARG2(%esp)
- call dvmCheckBefore # (dPC, dFP, self)
- movl rSELF, %eax
-1:
- movl offThread_curHandlerTable(%eax), rIBASE # reload rIBASE
- jmp *dvmAsmInstructionStart+(421*4)
-
-/* ------------------------------ */
-.L_ALT_OP_UNUSED_A6FF: /* 0x1a6 */
-/* File: x86/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Unlike the Arm handler, we can't do this as a tail call
- * because rIBASE is caller save and we need to reload it.
- *
- * Note that unlike in the Arm implementation, we should never arrive
- * here with a zero breakFlag because we always refresh rIBASE on
- * return.
- */
- EXPORT_PC
- movl rSELF, %eax
- movl rPC, OUT_ARG0(%esp)
- cmpb $0,offThread_breakFlags(%eax) # anything to do?
- movl rFP, OUT_ARG1(%esp)
- je 1f # reload rIBASE & resume if not
- movl %eax, OUT_ARG2(%esp)
- call dvmCheckBefore # (dPC, dFP, self)
- movl rSELF, %eax
-1:
- movl offThread_curHandlerTable(%eax), rIBASE # reload rIBASE
- jmp *dvmAsmInstructionStart+(422*4)
-
-/* ------------------------------ */
-.L_ALT_OP_UNUSED_A7FF: /* 0x1a7 */
-/* File: x86/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Unlike the Arm handler, we can't do this as a tail call
- * because rIBASE is caller save and we need to reload it.
- *
- * Note that unlike in the Arm implementation, we should never arrive
- * here with a zero breakFlag because we always refresh rIBASE on
- * return.
- */
- EXPORT_PC
- movl rSELF, %eax
- movl rPC, OUT_ARG0(%esp)
- cmpb $0,offThread_breakFlags(%eax) # anything to do?
- movl rFP, OUT_ARG1(%esp)
- je 1f # reload rIBASE & resume if not
- movl %eax, OUT_ARG2(%esp)
- call dvmCheckBefore # (dPC, dFP, self)
- movl rSELF, %eax
-1:
- movl offThread_curHandlerTable(%eax), rIBASE # reload rIBASE
- jmp *dvmAsmInstructionStart+(423*4)
-
-/* ------------------------------ */
-.L_ALT_OP_UNUSED_A8FF: /* 0x1a8 */
-/* File: x86/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Unlike the Arm handler, we can't do this as a tail call
- * because rIBASE is caller save and we need to reload it.
- *
- * Note that unlike in the Arm implementation, we should never arrive
- * here with a zero breakFlag because we always refresh rIBASE on
- * return.
- */
- EXPORT_PC
- movl rSELF, %eax
- movl rPC, OUT_ARG0(%esp)
- cmpb $0,offThread_breakFlags(%eax) # anything to do?
- movl rFP, OUT_ARG1(%esp)
- je 1f # reload rIBASE & resume if not
- movl %eax, OUT_ARG2(%esp)
- call dvmCheckBefore # (dPC, dFP, self)
- movl rSELF, %eax
-1:
- movl offThread_curHandlerTable(%eax), rIBASE # reload rIBASE
- jmp *dvmAsmInstructionStart+(424*4)
-
-/* ------------------------------ */
-.L_ALT_OP_UNUSED_A9FF: /* 0x1a9 */
-/* File: x86/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Unlike the Arm handler, we can't do this as a tail call
- * because rIBASE is caller save and we need to reload it.
- *
- * Note that unlike in the Arm implementation, we should never arrive
- * here with a zero breakFlag because we always refresh rIBASE on
- * return.
- */
- EXPORT_PC
- movl rSELF, %eax
- movl rPC, OUT_ARG0(%esp)
- cmpb $0,offThread_breakFlags(%eax) # anything to do?
- movl rFP, OUT_ARG1(%esp)
- je 1f # reload rIBASE & resume if not
- movl %eax, OUT_ARG2(%esp)
- call dvmCheckBefore # (dPC, dFP, self)
- movl rSELF, %eax
-1:
- movl offThread_curHandlerTable(%eax), rIBASE # reload rIBASE
- jmp *dvmAsmInstructionStart+(425*4)
-
-/* ------------------------------ */
-.L_ALT_OP_UNUSED_AAFF: /* 0x1aa */
-/* File: x86/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Unlike the Arm handler, we can't do this as a tail call
- * because rIBASE is caller save and we need to reload it.
- *
- * Note that unlike in the Arm implementation, we should never arrive
- * here with a zero breakFlag because we always refresh rIBASE on
- * return.
- */
- EXPORT_PC
- movl rSELF, %eax
- movl rPC, OUT_ARG0(%esp)
- cmpb $0,offThread_breakFlags(%eax) # anything to do?
- movl rFP, OUT_ARG1(%esp)
- je 1f # reload rIBASE & resume if not
- movl %eax, OUT_ARG2(%esp)
- call dvmCheckBefore # (dPC, dFP, self)
- movl rSELF, %eax
-1:
- movl offThread_curHandlerTable(%eax), rIBASE # reload rIBASE
- jmp *dvmAsmInstructionStart+(426*4)
-
-/* ------------------------------ */
-.L_ALT_OP_UNUSED_ABFF: /* 0x1ab */
-/* File: x86/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Unlike the Arm handler, we can't do this as a tail call
- * because rIBASE is caller save and we need to reload it.
- *
- * Note that unlike in the Arm implementation, we should never arrive
- * here with a zero breakFlag because we always refresh rIBASE on
- * return.
- */
- EXPORT_PC
- movl rSELF, %eax
- movl rPC, OUT_ARG0(%esp)
- cmpb $0,offThread_breakFlags(%eax) # anything to do?
- movl rFP, OUT_ARG1(%esp)
- je 1f # reload rIBASE & resume if not
- movl %eax, OUT_ARG2(%esp)
- call dvmCheckBefore # (dPC, dFP, self)
- movl rSELF, %eax
-1:
- movl offThread_curHandlerTable(%eax), rIBASE # reload rIBASE
- jmp *dvmAsmInstructionStart+(427*4)
-
-/* ------------------------------ */
-.L_ALT_OP_UNUSED_ACFF: /* 0x1ac */
-/* File: x86/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Unlike the Arm handler, we can't do this as a tail call
- * because rIBASE is caller save and we need to reload it.
- *
- * Note that unlike in the Arm implementation, we should never arrive
- * here with a zero breakFlag because we always refresh rIBASE on
- * return.
- */
- EXPORT_PC
- movl rSELF, %eax
- movl rPC, OUT_ARG0(%esp)
- cmpb $0,offThread_breakFlags(%eax) # anything to do?
- movl rFP, OUT_ARG1(%esp)
- je 1f # reload rIBASE & resume if not
- movl %eax, OUT_ARG2(%esp)
- call dvmCheckBefore # (dPC, dFP, self)
- movl rSELF, %eax
-1:
- movl offThread_curHandlerTable(%eax), rIBASE # reload rIBASE
- jmp *dvmAsmInstructionStart+(428*4)
-
-/* ------------------------------ */
-.L_ALT_OP_UNUSED_ADFF: /* 0x1ad */
-/* File: x86/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Unlike the Arm handler, we can't do this as a tail call
- * because rIBASE is caller save and we need to reload it.
- *
- * Note that unlike in the Arm implementation, we should never arrive
- * here with a zero breakFlag because we always refresh rIBASE on
- * return.
- */
- EXPORT_PC
- movl rSELF, %eax
- movl rPC, OUT_ARG0(%esp)
- cmpb $0,offThread_breakFlags(%eax) # anything to do?
- movl rFP, OUT_ARG1(%esp)
- je 1f # reload rIBASE & resume if not
- movl %eax, OUT_ARG2(%esp)
- call dvmCheckBefore # (dPC, dFP, self)
- movl rSELF, %eax
-1:
- movl offThread_curHandlerTable(%eax), rIBASE # reload rIBASE
- jmp *dvmAsmInstructionStart+(429*4)
-
-/* ------------------------------ */
-.L_ALT_OP_UNUSED_AEFF: /* 0x1ae */
-/* File: x86/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Unlike the Arm handler, we can't do this as a tail call
- * because rIBASE is caller save and we need to reload it.
- *
- * Note that unlike in the Arm implementation, we should never arrive
- * here with a zero breakFlag because we always refresh rIBASE on
- * return.
- */
- EXPORT_PC
- movl rSELF, %eax
- movl rPC, OUT_ARG0(%esp)
- cmpb $0,offThread_breakFlags(%eax) # anything to do?
- movl rFP, OUT_ARG1(%esp)
- je 1f # reload rIBASE & resume if not
- movl %eax, OUT_ARG2(%esp)
- call dvmCheckBefore # (dPC, dFP, self)
- movl rSELF, %eax
-1:
- movl offThread_curHandlerTable(%eax), rIBASE # reload rIBASE
- jmp *dvmAsmInstructionStart+(430*4)
-
-/* ------------------------------ */
-.L_ALT_OP_UNUSED_AFFF: /* 0x1af */
-/* File: x86/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Unlike the Arm handler, we can't do this as a tail call
- * because rIBASE is caller save and we need to reload it.
- *
- * Note that unlike in the Arm implementation, we should never arrive
- * here with a zero breakFlag because we always refresh rIBASE on
- * return.
- */
- EXPORT_PC
- movl rSELF, %eax
- movl rPC, OUT_ARG0(%esp)
- cmpb $0,offThread_breakFlags(%eax) # anything to do?
- movl rFP, OUT_ARG1(%esp)
- je 1f # reload rIBASE & resume if not
- movl %eax, OUT_ARG2(%esp)
- call dvmCheckBefore # (dPC, dFP, self)
- movl rSELF, %eax
-1:
- movl offThread_curHandlerTable(%eax), rIBASE # reload rIBASE
- jmp *dvmAsmInstructionStart+(431*4)
-
-/* ------------------------------ */
-.L_ALT_OP_UNUSED_B0FF: /* 0x1b0 */
-/* File: x86/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Unlike the Arm handler, we can't do this as a tail call
- * because rIBASE is caller save and we need to reload it.
- *
- * Note that unlike in the Arm implementation, we should never arrive
- * here with a zero breakFlag because we always refresh rIBASE on
- * return.
- */
- EXPORT_PC
- movl rSELF, %eax
- movl rPC, OUT_ARG0(%esp)
- cmpb $0,offThread_breakFlags(%eax) # anything to do?
- movl rFP, OUT_ARG1(%esp)
- je 1f # reload rIBASE & resume if not
- movl %eax, OUT_ARG2(%esp)
- call dvmCheckBefore # (dPC, dFP, self)
- movl rSELF, %eax
-1:
- movl offThread_curHandlerTable(%eax), rIBASE # reload rIBASE
- jmp *dvmAsmInstructionStart+(432*4)
-
-/* ------------------------------ */
-.L_ALT_OP_UNUSED_B1FF: /* 0x1b1 */
-/* File: x86/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Unlike the Arm handler, we can't do this as a tail call
- * because rIBASE is caller save and we need to reload it.
- *
- * Note that unlike in the Arm implementation, we should never arrive
- * here with a zero breakFlag because we always refresh rIBASE on
- * return.
- */
- EXPORT_PC
- movl rSELF, %eax
- movl rPC, OUT_ARG0(%esp)
- cmpb $0,offThread_breakFlags(%eax) # anything to do?
- movl rFP, OUT_ARG1(%esp)
- je 1f # reload rIBASE & resume if not
- movl %eax, OUT_ARG2(%esp)
- call dvmCheckBefore # (dPC, dFP, self)
- movl rSELF, %eax
-1:
- movl offThread_curHandlerTable(%eax), rIBASE # reload rIBASE
- jmp *dvmAsmInstructionStart+(433*4)
-
-/* ------------------------------ */
-.L_ALT_OP_UNUSED_B2FF: /* 0x1b2 */
-/* File: x86/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Unlike the Arm handler, we can't do this as a tail call
- * because rIBASE is caller save and we need to reload it.
- *
- * Note that unlike in the Arm implementation, we should never arrive
- * here with a zero breakFlag because we always refresh rIBASE on
- * return.
- */
- EXPORT_PC
- movl rSELF, %eax
- movl rPC, OUT_ARG0(%esp)
- cmpb $0,offThread_breakFlags(%eax) # anything to do?
- movl rFP, OUT_ARG1(%esp)
- je 1f # reload rIBASE & resume if not
- movl %eax, OUT_ARG2(%esp)
- call dvmCheckBefore # (dPC, dFP, self)
- movl rSELF, %eax
-1:
- movl offThread_curHandlerTable(%eax), rIBASE # reload rIBASE
- jmp *dvmAsmInstructionStart+(434*4)
-
-/* ------------------------------ */
-.L_ALT_OP_UNUSED_B3FF: /* 0x1b3 */
-/* File: x86/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Unlike the Arm handler, we can't do this as a tail call
- * because rIBASE is caller save and we need to reload it.
- *
- * Note that unlike in the Arm implementation, we should never arrive
- * here with a zero breakFlag because we always refresh rIBASE on
- * return.
- */
- EXPORT_PC
- movl rSELF, %eax
- movl rPC, OUT_ARG0(%esp)
- cmpb $0,offThread_breakFlags(%eax) # anything to do?
- movl rFP, OUT_ARG1(%esp)
- je 1f # reload rIBASE & resume if not
- movl %eax, OUT_ARG2(%esp)
- call dvmCheckBefore # (dPC, dFP, self)
- movl rSELF, %eax
-1:
- movl offThread_curHandlerTable(%eax), rIBASE # reload rIBASE
- jmp *dvmAsmInstructionStart+(435*4)
-
-/* ------------------------------ */
-.L_ALT_OP_UNUSED_B4FF: /* 0x1b4 */
-/* File: x86/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Unlike the Arm handler, we can't do this as a tail call
- * because rIBASE is caller save and we need to reload it.
- *
- * Note that unlike in the Arm implementation, we should never arrive
- * here with a zero breakFlag because we always refresh rIBASE on
- * return.
- */
- EXPORT_PC
- movl rSELF, %eax
- movl rPC, OUT_ARG0(%esp)
- cmpb $0,offThread_breakFlags(%eax) # anything to do?
- movl rFP, OUT_ARG1(%esp)
- je 1f # reload rIBASE & resume if not
- movl %eax, OUT_ARG2(%esp)
- call dvmCheckBefore # (dPC, dFP, self)
- movl rSELF, %eax
-1:
- movl offThread_curHandlerTable(%eax), rIBASE # reload rIBASE
- jmp *dvmAsmInstructionStart+(436*4)
-
-/* ------------------------------ */
-.L_ALT_OP_UNUSED_B5FF: /* 0x1b5 */
-/* File: x86/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Unlike the Arm handler, we can't do this as a tail call
- * because rIBASE is caller save and we need to reload it.
- *
- * Note that unlike in the Arm implementation, we should never arrive
- * here with a zero breakFlag because we always refresh rIBASE on
- * return.
- */
- EXPORT_PC
- movl rSELF, %eax
- movl rPC, OUT_ARG0(%esp)
- cmpb $0,offThread_breakFlags(%eax) # anything to do?
- movl rFP, OUT_ARG1(%esp)
- je 1f # reload rIBASE & resume if not
- movl %eax, OUT_ARG2(%esp)
- call dvmCheckBefore # (dPC, dFP, self)
- movl rSELF, %eax
-1:
- movl offThread_curHandlerTable(%eax), rIBASE # reload rIBASE
- jmp *dvmAsmInstructionStart+(437*4)
-
-/* ------------------------------ */
-.L_ALT_OP_UNUSED_B6FF: /* 0x1b6 */
-/* File: x86/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Unlike the Arm handler, we can't do this as a tail call
- * because rIBASE is caller save and we need to reload it.
- *
- * Note that unlike in the Arm implementation, we should never arrive
- * here with a zero breakFlag because we always refresh rIBASE on
- * return.
- */
- EXPORT_PC
- movl rSELF, %eax
- movl rPC, OUT_ARG0(%esp)
- cmpb $0,offThread_breakFlags(%eax) # anything to do?
- movl rFP, OUT_ARG1(%esp)
- je 1f # reload rIBASE & resume if not
- movl %eax, OUT_ARG2(%esp)
- call dvmCheckBefore # (dPC, dFP, self)
- movl rSELF, %eax
-1:
- movl offThread_curHandlerTable(%eax), rIBASE # reload rIBASE
- jmp *dvmAsmInstructionStart+(438*4)
-
-/* ------------------------------ */
-.L_ALT_OP_UNUSED_B7FF: /* 0x1b7 */
-/* File: x86/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Unlike the Arm handler, we can't do this as a tail call
- * because rIBASE is caller save and we need to reload it.
- *
- * Note that unlike in the Arm implementation, we should never arrive
- * here with a zero breakFlag because we always refresh rIBASE on
- * return.
- */
- EXPORT_PC
- movl rSELF, %eax
- movl rPC, OUT_ARG0(%esp)
- cmpb $0,offThread_breakFlags(%eax) # anything to do?
- movl rFP, OUT_ARG1(%esp)
- je 1f # reload rIBASE & resume if not
- movl %eax, OUT_ARG2(%esp)
- call dvmCheckBefore # (dPC, dFP, self)
- movl rSELF, %eax
-1:
- movl offThread_curHandlerTable(%eax), rIBASE # reload rIBASE
- jmp *dvmAsmInstructionStart+(439*4)
-
-/* ------------------------------ */
-.L_ALT_OP_UNUSED_B8FF: /* 0x1b8 */
-/* File: x86/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Unlike the Arm handler, we can't do this as a tail call
- * because rIBASE is caller save and we need to reload it.
- *
- * Note that unlike in the Arm implementation, we should never arrive
- * here with a zero breakFlag because we always refresh rIBASE on
- * return.
- */
- EXPORT_PC
- movl rSELF, %eax
- movl rPC, OUT_ARG0(%esp)
- cmpb $0,offThread_breakFlags(%eax) # anything to do?
- movl rFP, OUT_ARG1(%esp)
- je 1f # reload rIBASE & resume if not
- movl %eax, OUT_ARG2(%esp)
- call dvmCheckBefore # (dPC, dFP, self)
- movl rSELF, %eax
-1:
- movl offThread_curHandlerTable(%eax), rIBASE # reload rIBASE
- jmp *dvmAsmInstructionStart+(440*4)
-
-/* ------------------------------ */
-.L_ALT_OP_UNUSED_B9FF: /* 0x1b9 */
-/* File: x86/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Unlike the Arm handler, we can't do this as a tail call
- * because rIBASE is caller save and we need to reload it.
- *
- * Note that unlike in the Arm implementation, we should never arrive
- * here with a zero breakFlag because we always refresh rIBASE on
- * return.
- */
- EXPORT_PC
- movl rSELF, %eax
- movl rPC, OUT_ARG0(%esp)
- cmpb $0,offThread_breakFlags(%eax) # anything to do?
- movl rFP, OUT_ARG1(%esp)
- je 1f # reload rIBASE & resume if not
- movl %eax, OUT_ARG2(%esp)
- call dvmCheckBefore # (dPC, dFP, self)
- movl rSELF, %eax
-1:
- movl offThread_curHandlerTable(%eax), rIBASE # reload rIBASE
- jmp *dvmAsmInstructionStart+(441*4)
-
-/* ------------------------------ */
-.L_ALT_OP_UNUSED_BAFF: /* 0x1ba */
-/* File: x86/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Unlike the Arm handler, we can't do this as a tail call
- * because rIBASE is caller save and we need to reload it.
- *
- * Note that unlike in the Arm implementation, we should never arrive
- * here with a zero breakFlag because we always refresh rIBASE on
- * return.
- */
- EXPORT_PC
- movl rSELF, %eax
- movl rPC, OUT_ARG0(%esp)
- cmpb $0,offThread_breakFlags(%eax) # anything to do?
- movl rFP, OUT_ARG1(%esp)
- je 1f # reload rIBASE & resume if not
- movl %eax, OUT_ARG2(%esp)
- call dvmCheckBefore # (dPC, dFP, self)
- movl rSELF, %eax
-1:
- movl offThread_curHandlerTable(%eax), rIBASE # reload rIBASE
- jmp *dvmAsmInstructionStart+(442*4)
-
-/* ------------------------------ */
-.L_ALT_OP_UNUSED_BBFF: /* 0x1bb */
-/* File: x86/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Unlike the Arm handler, we can't do this as a tail call
- * because rIBASE is caller save and we need to reload it.
- *
- * Note that unlike in the Arm implementation, we should never arrive
- * here with a zero breakFlag because we always refresh rIBASE on
- * return.
- */
- EXPORT_PC
- movl rSELF, %eax
- movl rPC, OUT_ARG0(%esp)
- cmpb $0,offThread_breakFlags(%eax) # anything to do?
- movl rFP, OUT_ARG1(%esp)
- je 1f # reload rIBASE & resume if not
- movl %eax, OUT_ARG2(%esp)
- call dvmCheckBefore # (dPC, dFP, self)
- movl rSELF, %eax
-1:
- movl offThread_curHandlerTable(%eax), rIBASE # reload rIBASE
- jmp *dvmAsmInstructionStart+(443*4)
-
-/* ------------------------------ */
-.L_ALT_OP_UNUSED_BCFF: /* 0x1bc */
-/* File: x86/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Unlike the Arm handler, we can't do this as a tail call
- * because rIBASE is caller save and we need to reload it.
- *
- * Note that unlike in the Arm implementation, we should never arrive
- * here with a zero breakFlag because we always refresh rIBASE on
- * return.
- */
- EXPORT_PC
- movl rSELF, %eax
- movl rPC, OUT_ARG0(%esp)
- cmpb $0,offThread_breakFlags(%eax) # anything to do?
- movl rFP, OUT_ARG1(%esp)
- je 1f # reload rIBASE & resume if not
- movl %eax, OUT_ARG2(%esp)
- call dvmCheckBefore # (dPC, dFP, self)
- movl rSELF, %eax
-1:
- movl offThread_curHandlerTable(%eax), rIBASE # reload rIBASE
- jmp *dvmAsmInstructionStart+(444*4)
-
-/* ------------------------------ */
-.L_ALT_OP_UNUSED_BDFF: /* 0x1bd */
-/* File: x86/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Unlike the Arm handler, we can't do this as a tail call
- * because rIBASE is caller save and we need to reload it.
- *
- * Note that unlike in the Arm implementation, we should never arrive
- * here with a zero breakFlag because we always refresh rIBASE on
- * return.
- */
- EXPORT_PC
- movl rSELF, %eax
- movl rPC, OUT_ARG0(%esp)
- cmpb $0,offThread_breakFlags(%eax) # anything to do?
- movl rFP, OUT_ARG1(%esp)
- je 1f # reload rIBASE & resume if not
- movl %eax, OUT_ARG2(%esp)
- call dvmCheckBefore # (dPC, dFP, self)
- movl rSELF, %eax
-1:
- movl offThread_curHandlerTable(%eax), rIBASE # reload rIBASE
- jmp *dvmAsmInstructionStart+(445*4)
-
-/* ------------------------------ */
-.L_ALT_OP_UNUSED_BEFF: /* 0x1be */
-/* File: x86/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Unlike the Arm handler, we can't do this as a tail call
- * because rIBASE is caller save and we need to reload it.
- *
- * Note that unlike in the Arm implementation, we should never arrive
- * here with a zero breakFlag because we always refresh rIBASE on
- * return.
- */
- EXPORT_PC
- movl rSELF, %eax
- movl rPC, OUT_ARG0(%esp)
- cmpb $0,offThread_breakFlags(%eax) # anything to do?
- movl rFP, OUT_ARG1(%esp)
- je 1f # reload rIBASE & resume if not
- movl %eax, OUT_ARG2(%esp)
- call dvmCheckBefore # (dPC, dFP, self)
- movl rSELF, %eax
-1:
- movl offThread_curHandlerTable(%eax), rIBASE # reload rIBASE
- jmp *dvmAsmInstructionStart+(446*4)
-
-/* ------------------------------ */
-.L_ALT_OP_UNUSED_BFFF: /* 0x1bf */
-/* File: x86/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Unlike the Arm handler, we can't do this as a tail call
- * because rIBASE is caller save and we need to reload it.
- *
- * Note that unlike in the Arm implementation, we should never arrive
- * here with a zero breakFlag because we always refresh rIBASE on
- * return.
- */
- EXPORT_PC
- movl rSELF, %eax
- movl rPC, OUT_ARG0(%esp)
- cmpb $0,offThread_breakFlags(%eax) # anything to do?
- movl rFP, OUT_ARG1(%esp)
- je 1f # reload rIBASE & resume if not
- movl %eax, OUT_ARG2(%esp)
- call dvmCheckBefore # (dPC, dFP, self)
- movl rSELF, %eax
-1:
- movl offThread_curHandlerTable(%eax), rIBASE # reload rIBASE
- jmp *dvmAsmInstructionStart+(447*4)
-
-/* ------------------------------ */
-.L_ALT_OP_UNUSED_C0FF: /* 0x1c0 */
-/* File: x86/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Unlike the Arm handler, we can't do this as a tail call
- * because rIBASE is caller save and we need to reload it.
- *
- * Note that unlike in the Arm implementation, we should never arrive
- * here with a zero breakFlag because we always refresh rIBASE on
- * return.
- */
- EXPORT_PC
- movl rSELF, %eax
- movl rPC, OUT_ARG0(%esp)
- cmpb $0,offThread_breakFlags(%eax) # anything to do?
- movl rFP, OUT_ARG1(%esp)
- je 1f # reload rIBASE & resume if not
- movl %eax, OUT_ARG2(%esp)
- call dvmCheckBefore # (dPC, dFP, self)
- movl rSELF, %eax
-1:
- movl offThread_curHandlerTable(%eax), rIBASE # reload rIBASE
- jmp *dvmAsmInstructionStart+(448*4)
-
-/* ------------------------------ */
-.L_ALT_OP_UNUSED_C1FF: /* 0x1c1 */
-/* File: x86/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Unlike the Arm handler, we can't do this as a tail call
- * because rIBASE is caller save and we need to reload it.
- *
- * Note that unlike in the Arm implementation, we should never arrive
- * here with a zero breakFlag because we always refresh rIBASE on
- * return.
- */
- EXPORT_PC
- movl rSELF, %eax
- movl rPC, OUT_ARG0(%esp)
- cmpb $0,offThread_breakFlags(%eax) # anything to do?
- movl rFP, OUT_ARG1(%esp)
- je 1f # reload rIBASE & resume if not
- movl %eax, OUT_ARG2(%esp)
- call dvmCheckBefore # (dPC, dFP, self)
- movl rSELF, %eax
-1:
- movl offThread_curHandlerTable(%eax), rIBASE # reload rIBASE
- jmp *dvmAsmInstructionStart+(449*4)
-
-/* ------------------------------ */
-.L_ALT_OP_UNUSED_C2FF: /* 0x1c2 */
-/* File: x86/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Unlike the Arm handler, we can't do this as a tail call
- * because rIBASE is caller save and we need to reload it.
- *
- * Note that unlike in the Arm implementation, we should never arrive
- * here with a zero breakFlag because we always refresh rIBASE on
- * return.
- */
- EXPORT_PC
- movl rSELF, %eax
- movl rPC, OUT_ARG0(%esp)
- cmpb $0,offThread_breakFlags(%eax) # anything to do?
- movl rFP, OUT_ARG1(%esp)
- je 1f # reload rIBASE & resume if not
- movl %eax, OUT_ARG2(%esp)
- call dvmCheckBefore # (dPC, dFP, self)
- movl rSELF, %eax
-1:
- movl offThread_curHandlerTable(%eax), rIBASE # reload rIBASE
- jmp *dvmAsmInstructionStart+(450*4)
-
-/* ------------------------------ */
-.L_ALT_OP_UNUSED_C3FF: /* 0x1c3 */
-/* File: x86/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Unlike the Arm handler, we can't do this as a tail call
- * because rIBASE is caller save and we need to reload it.
- *
- * Note that unlike in the Arm implementation, we should never arrive
- * here with a zero breakFlag because we always refresh rIBASE on
- * return.
- */
- EXPORT_PC
- movl rSELF, %eax
- movl rPC, OUT_ARG0(%esp)
- cmpb $0,offThread_breakFlags(%eax) # anything to do?
- movl rFP, OUT_ARG1(%esp)
- je 1f # reload rIBASE & resume if not
- movl %eax, OUT_ARG2(%esp)
- call dvmCheckBefore # (dPC, dFP, self)
- movl rSELF, %eax
-1:
- movl offThread_curHandlerTable(%eax), rIBASE # reload rIBASE
- jmp *dvmAsmInstructionStart+(451*4)
-
-/* ------------------------------ */
-.L_ALT_OP_UNUSED_C4FF: /* 0x1c4 */
-/* File: x86/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Unlike the Arm handler, we can't do this as a tail call
- * because rIBASE is caller save and we need to reload it.
- *
- * Note that unlike in the Arm implementation, we should never arrive
- * here with a zero breakFlag because we always refresh rIBASE on
- * return.
- */
- EXPORT_PC
- movl rSELF, %eax
- movl rPC, OUT_ARG0(%esp)
- cmpb $0,offThread_breakFlags(%eax) # anything to do?
- movl rFP, OUT_ARG1(%esp)
- je 1f # reload rIBASE & resume if not
- movl %eax, OUT_ARG2(%esp)
- call dvmCheckBefore # (dPC, dFP, self)
- movl rSELF, %eax
-1:
- movl offThread_curHandlerTable(%eax), rIBASE # reload rIBASE
- jmp *dvmAsmInstructionStart+(452*4)
-
-/* ------------------------------ */
-.L_ALT_OP_UNUSED_C5FF: /* 0x1c5 */
-/* File: x86/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Unlike the Arm handler, we can't do this as a tail call
- * because rIBASE is caller save and we need to reload it.
- *
- * Note that unlike in the Arm implementation, we should never arrive
- * here with a zero breakFlag because we always refresh rIBASE on
- * return.
- */
- EXPORT_PC
- movl rSELF, %eax
- movl rPC, OUT_ARG0(%esp)
- cmpb $0,offThread_breakFlags(%eax) # anything to do?
- movl rFP, OUT_ARG1(%esp)
- je 1f # reload rIBASE & resume if not
- movl %eax, OUT_ARG2(%esp)
- call dvmCheckBefore # (dPC, dFP, self)
- movl rSELF, %eax
-1:
- movl offThread_curHandlerTable(%eax), rIBASE # reload rIBASE
- jmp *dvmAsmInstructionStart+(453*4)
-
-/* ------------------------------ */
-.L_ALT_OP_UNUSED_C6FF: /* 0x1c6 */
-/* File: x86/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Unlike the Arm handler, we can't do this as a tail call
- * because rIBASE is caller save and we need to reload it.
- *
- * Note that unlike in the Arm implementation, we should never arrive
- * here with a zero breakFlag because we always refresh rIBASE on
- * return.
- */
- EXPORT_PC
- movl rSELF, %eax
- movl rPC, OUT_ARG0(%esp)
- cmpb $0,offThread_breakFlags(%eax) # anything to do?
- movl rFP, OUT_ARG1(%esp)
- je 1f # reload rIBASE & resume if not
- movl %eax, OUT_ARG2(%esp)
- call dvmCheckBefore # (dPC, dFP, self)
- movl rSELF, %eax
-1:
- movl offThread_curHandlerTable(%eax), rIBASE # reload rIBASE
- jmp *dvmAsmInstructionStart+(454*4)
-
-/* ------------------------------ */
-.L_ALT_OP_UNUSED_C7FF: /* 0x1c7 */
-/* File: x86/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Unlike the Arm handler, we can't do this as a tail call
- * because rIBASE is caller save and we need to reload it.
- *
- * Note that unlike in the Arm implementation, we should never arrive
- * here with a zero breakFlag because we always refresh rIBASE on
- * return.
- */
- EXPORT_PC
- movl rSELF, %eax
- movl rPC, OUT_ARG0(%esp)
- cmpb $0,offThread_breakFlags(%eax) # anything to do?
- movl rFP, OUT_ARG1(%esp)
- je 1f # reload rIBASE & resume if not
- movl %eax, OUT_ARG2(%esp)
- call dvmCheckBefore # (dPC, dFP, self)
- movl rSELF, %eax
-1:
- movl offThread_curHandlerTable(%eax), rIBASE # reload rIBASE
- jmp *dvmAsmInstructionStart+(455*4)
-
-/* ------------------------------ */
-.L_ALT_OP_UNUSED_C8FF: /* 0x1c8 */
-/* File: x86/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Unlike the Arm handler, we can't do this as a tail call
- * because rIBASE is caller save and we need to reload it.
- *
- * Note that unlike in the Arm implementation, we should never arrive
- * here with a zero breakFlag because we always refresh rIBASE on
- * return.
- */
- EXPORT_PC
- movl rSELF, %eax
- movl rPC, OUT_ARG0(%esp)
- cmpb $0,offThread_breakFlags(%eax) # anything to do?
- movl rFP, OUT_ARG1(%esp)
- je 1f # reload rIBASE & resume if not
- movl %eax, OUT_ARG2(%esp)
- call dvmCheckBefore # (dPC, dFP, self)
- movl rSELF, %eax
-1:
- movl offThread_curHandlerTable(%eax), rIBASE # reload rIBASE
- jmp *dvmAsmInstructionStart+(456*4)
-
-/* ------------------------------ */
-.L_ALT_OP_UNUSED_C9FF: /* 0x1c9 */
-/* File: x86/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Unlike the Arm handler, we can't do this as a tail call
- * because rIBASE is caller save and we need to reload it.
- *
- * Note that unlike in the Arm implementation, we should never arrive
- * here with a zero breakFlag because we always refresh rIBASE on
- * return.
- */
- EXPORT_PC
- movl rSELF, %eax
- movl rPC, OUT_ARG0(%esp)
- cmpb $0,offThread_breakFlags(%eax) # anything to do?
- movl rFP, OUT_ARG1(%esp)
- je 1f # reload rIBASE & resume if not
- movl %eax, OUT_ARG2(%esp)
- call dvmCheckBefore # (dPC, dFP, self)
- movl rSELF, %eax
-1:
- movl offThread_curHandlerTable(%eax), rIBASE # reload rIBASE
- jmp *dvmAsmInstructionStart+(457*4)
-
-/* ------------------------------ */
-.L_ALT_OP_UNUSED_CAFF: /* 0x1ca */
-/* File: x86/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Unlike the Arm handler, we can't do this as a tail call
- * because rIBASE is caller save and we need to reload it.
- *
- * Note that unlike in the Arm implementation, we should never arrive
- * here with a zero breakFlag because we always refresh rIBASE on
- * return.
- */
- EXPORT_PC
- movl rSELF, %eax
- movl rPC, OUT_ARG0(%esp)
- cmpb $0,offThread_breakFlags(%eax) # anything to do?
- movl rFP, OUT_ARG1(%esp)
- je 1f # reload rIBASE & resume if not
- movl %eax, OUT_ARG2(%esp)
- call dvmCheckBefore # (dPC, dFP, self)
- movl rSELF, %eax
-1:
- movl offThread_curHandlerTable(%eax), rIBASE # reload rIBASE
- jmp *dvmAsmInstructionStart+(458*4)
-
-/* ------------------------------ */
-.L_ALT_OP_UNUSED_CBFF: /* 0x1cb */
-/* File: x86/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Unlike the Arm handler, we can't do this as a tail call
- * because rIBASE is caller save and we need to reload it.
- *
- * Note that unlike in the Arm implementation, we should never arrive
- * here with a zero breakFlag because we always refresh rIBASE on
- * return.
- */
- EXPORT_PC
- movl rSELF, %eax
- movl rPC, OUT_ARG0(%esp)
- cmpb $0,offThread_breakFlags(%eax) # anything to do?
- movl rFP, OUT_ARG1(%esp)
- je 1f # reload rIBASE & resume if not
- movl %eax, OUT_ARG2(%esp)
- call dvmCheckBefore # (dPC, dFP, self)
- movl rSELF, %eax
-1:
- movl offThread_curHandlerTable(%eax), rIBASE # reload rIBASE
- jmp *dvmAsmInstructionStart+(459*4)
-
-/* ------------------------------ */
-.L_ALT_OP_UNUSED_CCFF: /* 0x1cc */
-/* File: x86/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Unlike the Arm handler, we can't do this as a tail call
- * because rIBASE is caller save and we need to reload it.
- *
- * Note that unlike in the Arm implementation, we should never arrive
- * here with a zero breakFlag because we always refresh rIBASE on
- * return.
- */
- EXPORT_PC
- movl rSELF, %eax
- movl rPC, OUT_ARG0(%esp)
- cmpb $0,offThread_breakFlags(%eax) # anything to do?
- movl rFP, OUT_ARG1(%esp)
- je 1f # reload rIBASE & resume if not
- movl %eax, OUT_ARG2(%esp)
- call dvmCheckBefore # (dPC, dFP, self)
- movl rSELF, %eax
-1:
- movl offThread_curHandlerTable(%eax), rIBASE # reload rIBASE
- jmp *dvmAsmInstructionStart+(460*4)
-
-/* ------------------------------ */
-.L_ALT_OP_UNUSED_CDFF: /* 0x1cd */
-/* File: x86/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Unlike the Arm handler, we can't do this as a tail call
- * because rIBASE is caller save and we need to reload it.
- *
- * Note that unlike in the Arm implementation, we should never arrive
- * here with a zero breakFlag because we always refresh rIBASE on
- * return.
- */
- EXPORT_PC
- movl rSELF, %eax
- movl rPC, OUT_ARG0(%esp)
- cmpb $0,offThread_breakFlags(%eax) # anything to do?
- movl rFP, OUT_ARG1(%esp)
- je 1f # reload rIBASE & resume if not
- movl %eax, OUT_ARG2(%esp)
- call dvmCheckBefore # (dPC, dFP, self)
- movl rSELF, %eax
-1:
- movl offThread_curHandlerTable(%eax), rIBASE # reload rIBASE
- jmp *dvmAsmInstructionStart+(461*4)
-
-/* ------------------------------ */
-.L_ALT_OP_UNUSED_CEFF: /* 0x1ce */
-/* File: x86/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Unlike the Arm handler, we can't do this as a tail call
- * because rIBASE is caller save and we need to reload it.
- *
- * Note that unlike in the Arm implementation, we should never arrive
- * here with a zero breakFlag because we always refresh rIBASE on
- * return.
- */
- EXPORT_PC
- movl rSELF, %eax
- movl rPC, OUT_ARG0(%esp)
- cmpb $0,offThread_breakFlags(%eax) # anything to do?
- movl rFP, OUT_ARG1(%esp)
- je 1f # reload rIBASE & resume if not
- movl %eax, OUT_ARG2(%esp)
- call dvmCheckBefore # (dPC, dFP, self)
- movl rSELF, %eax
-1:
- movl offThread_curHandlerTable(%eax), rIBASE # reload rIBASE
- jmp *dvmAsmInstructionStart+(462*4)
-
-/* ------------------------------ */
-.L_ALT_OP_UNUSED_CFFF: /* 0x1cf */
-/* File: x86/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Unlike the Arm handler, we can't do this as a tail call
- * because rIBASE is caller save and we need to reload it.
- *
- * Note that unlike in the Arm implementation, we should never arrive
- * here with a zero breakFlag because we always refresh rIBASE on
- * return.
- */
- EXPORT_PC
- movl rSELF, %eax
- movl rPC, OUT_ARG0(%esp)
- cmpb $0,offThread_breakFlags(%eax) # anything to do?
- movl rFP, OUT_ARG1(%esp)
- je 1f # reload rIBASE & resume if not
- movl %eax, OUT_ARG2(%esp)
- call dvmCheckBefore # (dPC, dFP, self)
- movl rSELF, %eax
-1:
- movl offThread_curHandlerTable(%eax), rIBASE # reload rIBASE
- jmp *dvmAsmInstructionStart+(463*4)
-
-/* ------------------------------ */
-.L_ALT_OP_UNUSED_D0FF: /* 0x1d0 */
-/* File: x86/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Unlike the Arm handler, we can't do this as a tail call
- * because rIBASE is caller save and we need to reload it.
- *
- * Note that unlike in the Arm implementation, we should never arrive
- * here with a zero breakFlag because we always refresh rIBASE on
- * return.
- */
- EXPORT_PC
- movl rSELF, %eax
- movl rPC, OUT_ARG0(%esp)
- cmpb $0,offThread_breakFlags(%eax) # anything to do?
- movl rFP, OUT_ARG1(%esp)
- je 1f # reload rIBASE & resume if not
- movl %eax, OUT_ARG2(%esp)
- call dvmCheckBefore # (dPC, dFP, self)
- movl rSELF, %eax
-1:
- movl offThread_curHandlerTable(%eax), rIBASE # reload rIBASE
- jmp *dvmAsmInstructionStart+(464*4)
-
-/* ------------------------------ */
-.L_ALT_OP_UNUSED_D1FF: /* 0x1d1 */
-/* File: x86/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Unlike the Arm handler, we can't do this as a tail call
- * because rIBASE is caller save and we need to reload it.
- *
- * Note that unlike in the Arm implementation, we should never arrive
- * here with a zero breakFlag because we always refresh rIBASE on
- * return.
- */
- EXPORT_PC
- movl rSELF, %eax
- movl rPC, OUT_ARG0(%esp)
- cmpb $0,offThread_breakFlags(%eax) # anything to do?
- movl rFP, OUT_ARG1(%esp)
- je 1f # reload rIBASE & resume if not
- movl %eax, OUT_ARG2(%esp)
- call dvmCheckBefore # (dPC, dFP, self)
- movl rSELF, %eax
-1:
- movl offThread_curHandlerTable(%eax), rIBASE # reload rIBASE
- jmp *dvmAsmInstructionStart+(465*4)
-
-/* ------------------------------ */
-.L_ALT_OP_UNUSED_D2FF: /* 0x1d2 */
-/* File: x86/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Unlike the Arm handler, we can't do this as a tail call
- * because rIBASE is caller save and we need to reload it.
- *
- * Note that unlike in the Arm implementation, we should never arrive
- * here with a zero breakFlag because we always refresh rIBASE on
- * return.
- */
- EXPORT_PC
- movl rSELF, %eax
- movl rPC, OUT_ARG0(%esp)
- cmpb $0,offThread_breakFlags(%eax) # anything to do?
- movl rFP, OUT_ARG1(%esp)
- je 1f # reload rIBASE & resume if not
- movl %eax, OUT_ARG2(%esp)
- call dvmCheckBefore # (dPC, dFP, self)
- movl rSELF, %eax
-1:
- movl offThread_curHandlerTable(%eax), rIBASE # reload rIBASE
- jmp *dvmAsmInstructionStart+(466*4)
-
-/* ------------------------------ */
-.L_ALT_OP_UNUSED_D3FF: /* 0x1d3 */
-/* File: x86/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Unlike the Arm handler, we can't do this as a tail call
- * because rIBASE is caller save and we need to reload it.
- *
- * Note that unlike in the Arm implementation, we should never arrive
- * here with a zero breakFlag because we always refresh rIBASE on
- * return.
- */
- EXPORT_PC
- movl rSELF, %eax
- movl rPC, OUT_ARG0(%esp)
- cmpb $0,offThread_breakFlags(%eax) # anything to do?
- movl rFP, OUT_ARG1(%esp)
- je 1f # reload rIBASE & resume if not
- movl %eax, OUT_ARG2(%esp)
- call dvmCheckBefore # (dPC, dFP, self)
- movl rSELF, %eax
-1:
- movl offThread_curHandlerTable(%eax), rIBASE # reload rIBASE
- jmp *dvmAsmInstructionStart+(467*4)
-
-/* ------------------------------ */
-.L_ALT_OP_UNUSED_D4FF: /* 0x1d4 */
-/* File: x86/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Unlike the Arm handler, we can't do this as a tail call
- * because rIBASE is caller save and we need to reload it.
- *
- * Note that unlike in the Arm implementation, we should never arrive
- * here with a zero breakFlag because we always refresh rIBASE on
- * return.
- */
- EXPORT_PC
- movl rSELF, %eax
- movl rPC, OUT_ARG0(%esp)
- cmpb $0,offThread_breakFlags(%eax) # anything to do?
- movl rFP, OUT_ARG1(%esp)
- je 1f # reload rIBASE & resume if not
- movl %eax, OUT_ARG2(%esp)
- call dvmCheckBefore # (dPC, dFP, self)
- movl rSELF, %eax
-1:
- movl offThread_curHandlerTable(%eax), rIBASE # reload rIBASE
- jmp *dvmAsmInstructionStart+(468*4)
-
-/* ------------------------------ */
-.L_ALT_OP_UNUSED_D5FF: /* 0x1d5 */
-/* File: x86/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Unlike the Arm handler, we can't do this as a tail call
- * because rIBASE is caller save and we need to reload it.
- *
- * Note that unlike in the Arm implementation, we should never arrive
- * here with a zero breakFlag because we always refresh rIBASE on
- * return.
- */
- EXPORT_PC
- movl rSELF, %eax
- movl rPC, OUT_ARG0(%esp)
- cmpb $0,offThread_breakFlags(%eax) # anything to do?
- movl rFP, OUT_ARG1(%esp)
- je 1f # reload rIBASE & resume if not
- movl %eax, OUT_ARG2(%esp)
- call dvmCheckBefore # (dPC, dFP, self)
- movl rSELF, %eax
-1:
- movl offThread_curHandlerTable(%eax), rIBASE # reload rIBASE
- jmp *dvmAsmInstructionStart+(469*4)
-
-/* ------------------------------ */
-.L_ALT_OP_UNUSED_D6FF: /* 0x1d6 */
-/* File: x86/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Unlike the Arm handler, we can't do this as a tail call
- * because rIBASE is caller save and we need to reload it.
- *
- * Note that unlike in the Arm implementation, we should never arrive
- * here with a zero breakFlag because we always refresh rIBASE on
- * return.
- */
- EXPORT_PC
- movl rSELF, %eax
- movl rPC, OUT_ARG0(%esp)
- cmpb $0,offThread_breakFlags(%eax) # anything to do?
- movl rFP, OUT_ARG1(%esp)
- je 1f # reload rIBASE & resume if not
- movl %eax, OUT_ARG2(%esp)
- call dvmCheckBefore # (dPC, dFP, self)
- movl rSELF, %eax
-1:
- movl offThread_curHandlerTable(%eax), rIBASE # reload rIBASE
- jmp *dvmAsmInstructionStart+(470*4)
-
-/* ------------------------------ */
-.L_ALT_OP_UNUSED_D7FF: /* 0x1d7 */
-/* File: x86/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Unlike the Arm handler, we can't do this as a tail call
- * because rIBASE is caller save and we need to reload it.
- *
- * Note that unlike in the Arm implementation, we should never arrive
- * here with a zero breakFlag because we always refresh rIBASE on
- * return.
- */
- EXPORT_PC
- movl rSELF, %eax
- movl rPC, OUT_ARG0(%esp)
- cmpb $0,offThread_breakFlags(%eax) # anything to do?
- movl rFP, OUT_ARG1(%esp)
- je 1f # reload rIBASE & resume if not
- movl %eax, OUT_ARG2(%esp)
- call dvmCheckBefore # (dPC, dFP, self)
- movl rSELF, %eax
-1:
- movl offThread_curHandlerTable(%eax), rIBASE # reload rIBASE
- jmp *dvmAsmInstructionStart+(471*4)
-
-/* ------------------------------ */
-.L_ALT_OP_UNUSED_D8FF: /* 0x1d8 */
-/* File: x86/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Unlike the Arm handler, we can't do this as a tail call
- * because rIBASE is caller save and we need to reload it.
- *
- * Note that unlike in the Arm implementation, we should never arrive
- * here with a zero breakFlag because we always refresh rIBASE on
- * return.
- */
- EXPORT_PC
- movl rSELF, %eax
- movl rPC, OUT_ARG0(%esp)
- cmpb $0,offThread_breakFlags(%eax) # anything to do?
- movl rFP, OUT_ARG1(%esp)
- je 1f # reload rIBASE & resume if not
- movl %eax, OUT_ARG2(%esp)
- call dvmCheckBefore # (dPC, dFP, self)
- movl rSELF, %eax
-1:
- movl offThread_curHandlerTable(%eax), rIBASE # reload rIBASE
- jmp *dvmAsmInstructionStart+(472*4)
-
-/* ------------------------------ */
-.L_ALT_OP_UNUSED_D9FF: /* 0x1d9 */
-/* File: x86/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Unlike the Arm handler, we can't do this as a tail call
- * because rIBASE is caller save and we need to reload it.
- *
- * Note that unlike in the Arm implementation, we should never arrive
- * here with a zero breakFlag because we always refresh rIBASE on
- * return.
- */
- EXPORT_PC
- movl rSELF, %eax
- movl rPC, OUT_ARG0(%esp)
- cmpb $0,offThread_breakFlags(%eax) # anything to do?
- movl rFP, OUT_ARG1(%esp)
- je 1f # reload rIBASE & resume if not
- movl %eax, OUT_ARG2(%esp)
- call dvmCheckBefore # (dPC, dFP, self)
- movl rSELF, %eax
-1:
- movl offThread_curHandlerTable(%eax), rIBASE # reload rIBASE
- jmp *dvmAsmInstructionStart+(473*4)
-
-/* ------------------------------ */
-.L_ALT_OP_UNUSED_DAFF: /* 0x1da */
-/* File: x86/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Unlike the Arm handler, we can't do this as a tail call
- * because rIBASE is caller save and we need to reload it.
- *
- * Note that unlike in the Arm implementation, we should never arrive
- * here with a zero breakFlag because we always refresh rIBASE on
- * return.
- */
- EXPORT_PC
- movl rSELF, %eax
- movl rPC, OUT_ARG0(%esp)
- cmpb $0,offThread_breakFlags(%eax) # anything to do?
- movl rFP, OUT_ARG1(%esp)
- je 1f # reload rIBASE & resume if not
- movl %eax, OUT_ARG2(%esp)
- call dvmCheckBefore # (dPC, dFP, self)
- movl rSELF, %eax
-1:
- movl offThread_curHandlerTable(%eax), rIBASE # reload rIBASE
- jmp *dvmAsmInstructionStart+(474*4)
-
-/* ------------------------------ */
-.L_ALT_OP_UNUSED_DBFF: /* 0x1db */
-/* File: x86/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Unlike the Arm handler, we can't do this as a tail call
- * because rIBASE is caller save and we need to reload it.
- *
- * Note that unlike in the Arm implementation, we should never arrive
- * here with a zero breakFlag because we always refresh rIBASE on
- * return.
- */
- EXPORT_PC
- movl rSELF, %eax
- movl rPC, OUT_ARG0(%esp)
- cmpb $0,offThread_breakFlags(%eax) # anything to do?
- movl rFP, OUT_ARG1(%esp)
- je 1f # reload rIBASE & resume if not
- movl %eax, OUT_ARG2(%esp)
- call dvmCheckBefore # (dPC, dFP, self)
- movl rSELF, %eax
-1:
- movl offThread_curHandlerTable(%eax), rIBASE # reload rIBASE
- jmp *dvmAsmInstructionStart+(475*4)
-
-/* ------------------------------ */
-.L_ALT_OP_UNUSED_DCFF: /* 0x1dc */
-/* File: x86/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Unlike the Arm handler, we can't do this as a tail call
- * because rIBASE is caller save and we need to reload it.
- *
- * Note that unlike in the Arm implementation, we should never arrive
- * here with a zero breakFlag because we always refresh rIBASE on
- * return.
- */
- EXPORT_PC
- movl rSELF, %eax
- movl rPC, OUT_ARG0(%esp)
- cmpb $0,offThread_breakFlags(%eax) # anything to do?
- movl rFP, OUT_ARG1(%esp)
- je 1f # reload rIBASE & resume if not
- movl %eax, OUT_ARG2(%esp)
- call dvmCheckBefore # (dPC, dFP, self)
- movl rSELF, %eax
-1:
- movl offThread_curHandlerTable(%eax), rIBASE # reload rIBASE
- jmp *dvmAsmInstructionStart+(476*4)
-
-/* ------------------------------ */
-.L_ALT_OP_UNUSED_DDFF: /* 0x1dd */
-/* File: x86/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Unlike the Arm handler, we can't do this as a tail call
- * because rIBASE is caller save and we need to reload it.
- *
- * Note that unlike in the Arm implementation, we should never arrive
- * here with a zero breakFlag because we always refresh rIBASE on
- * return.
- */
- EXPORT_PC
- movl rSELF, %eax
- movl rPC, OUT_ARG0(%esp)
- cmpb $0,offThread_breakFlags(%eax) # anything to do?
- movl rFP, OUT_ARG1(%esp)
- je 1f # reload rIBASE & resume if not
- movl %eax, OUT_ARG2(%esp)
- call dvmCheckBefore # (dPC, dFP, self)
- movl rSELF, %eax
-1:
- movl offThread_curHandlerTable(%eax), rIBASE # reload rIBASE
- jmp *dvmAsmInstructionStart+(477*4)
-
-/* ------------------------------ */
-.L_ALT_OP_UNUSED_DEFF: /* 0x1de */
-/* File: x86/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Unlike the Arm handler, we can't do this as a tail call
- * because rIBASE is caller save and we need to reload it.
- *
- * Note that unlike in the Arm implementation, we should never arrive
- * here with a zero breakFlag because we always refresh rIBASE on
- * return.
- */
- EXPORT_PC
- movl rSELF, %eax
- movl rPC, OUT_ARG0(%esp)
- cmpb $0,offThread_breakFlags(%eax) # anything to do?
- movl rFP, OUT_ARG1(%esp)
- je 1f # reload rIBASE & resume if not
- movl %eax, OUT_ARG2(%esp)
- call dvmCheckBefore # (dPC, dFP, self)
- movl rSELF, %eax
-1:
- movl offThread_curHandlerTable(%eax), rIBASE # reload rIBASE
- jmp *dvmAsmInstructionStart+(478*4)
-
-/* ------------------------------ */
-.L_ALT_OP_UNUSED_DFFF: /* 0x1df */
-/* File: x86/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Unlike the Arm handler, we can't do this as a tail call
- * because rIBASE is caller save and we need to reload it.
- *
- * Note that unlike in the Arm implementation, we should never arrive
- * here with a zero breakFlag because we always refresh rIBASE on
- * return.
- */
- EXPORT_PC
- movl rSELF, %eax
- movl rPC, OUT_ARG0(%esp)
- cmpb $0,offThread_breakFlags(%eax) # anything to do?
- movl rFP, OUT_ARG1(%esp)
- je 1f # reload rIBASE & resume if not
- movl %eax, OUT_ARG2(%esp)
- call dvmCheckBefore # (dPC, dFP, self)
- movl rSELF, %eax
-1:
- movl offThread_curHandlerTable(%eax), rIBASE # reload rIBASE
- jmp *dvmAsmInstructionStart+(479*4)
-
-/* ------------------------------ */
-.L_ALT_OP_UNUSED_E0FF: /* 0x1e0 */
-/* File: x86/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Unlike the Arm handler, we can't do this as a tail call
- * because rIBASE is caller save and we need to reload it.
- *
- * Note that unlike in the Arm implementation, we should never arrive
- * here with a zero breakFlag because we always refresh rIBASE on
- * return.
- */
- EXPORT_PC
- movl rSELF, %eax
- movl rPC, OUT_ARG0(%esp)
- cmpb $0,offThread_breakFlags(%eax) # anything to do?
- movl rFP, OUT_ARG1(%esp)
- je 1f # reload rIBASE & resume if not
- movl %eax, OUT_ARG2(%esp)
- call dvmCheckBefore # (dPC, dFP, self)
- movl rSELF, %eax
-1:
- movl offThread_curHandlerTable(%eax), rIBASE # reload rIBASE
- jmp *dvmAsmInstructionStart+(480*4)
-
-/* ------------------------------ */
-.L_ALT_OP_UNUSED_E1FF: /* 0x1e1 */
-/* File: x86/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Unlike the Arm handler, we can't do this as a tail call
- * because rIBASE is caller save and we need to reload it.
- *
- * Note that unlike in the Arm implementation, we should never arrive
- * here with a zero breakFlag because we always refresh rIBASE on
- * return.
- */
- EXPORT_PC
- movl rSELF, %eax
- movl rPC, OUT_ARG0(%esp)
- cmpb $0,offThread_breakFlags(%eax) # anything to do?
- movl rFP, OUT_ARG1(%esp)
- je 1f # reload rIBASE & resume if not
- movl %eax, OUT_ARG2(%esp)
- call dvmCheckBefore # (dPC, dFP, self)
- movl rSELF, %eax
-1:
- movl offThread_curHandlerTable(%eax), rIBASE # reload rIBASE
- jmp *dvmAsmInstructionStart+(481*4)
-
-/* ------------------------------ */
-.L_ALT_OP_UNUSED_E2FF: /* 0x1e2 */
-/* File: x86/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Unlike the Arm handler, we can't do this as a tail call
- * because rIBASE is caller save and we need to reload it.
- *
- * Note that unlike in the Arm implementation, we should never arrive
- * here with a zero breakFlag because we always refresh rIBASE on
- * return.
- */
- EXPORT_PC
- movl rSELF, %eax
- movl rPC, OUT_ARG0(%esp)
- cmpb $0,offThread_breakFlags(%eax) # anything to do?
- movl rFP, OUT_ARG1(%esp)
- je 1f # reload rIBASE & resume if not
- movl %eax, OUT_ARG2(%esp)
- call dvmCheckBefore # (dPC, dFP, self)
- movl rSELF, %eax
-1:
- movl offThread_curHandlerTable(%eax), rIBASE # reload rIBASE
- jmp *dvmAsmInstructionStart+(482*4)
-
-/* ------------------------------ */
-.L_ALT_OP_UNUSED_E3FF: /* 0x1e3 */
-/* File: x86/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Unlike the Arm handler, we can't do this as a tail call
- * because rIBASE is caller save and we need to reload it.
- *
- * Note that unlike in the Arm implementation, we should never arrive
- * here with a zero breakFlag because we always refresh rIBASE on
- * return.
- */
- EXPORT_PC
- movl rSELF, %eax
- movl rPC, OUT_ARG0(%esp)
- cmpb $0,offThread_breakFlags(%eax) # anything to do?
- movl rFP, OUT_ARG1(%esp)
- je 1f # reload rIBASE & resume if not
- movl %eax, OUT_ARG2(%esp)
- call dvmCheckBefore # (dPC, dFP, self)
- movl rSELF, %eax
-1:
- movl offThread_curHandlerTable(%eax), rIBASE # reload rIBASE
- jmp *dvmAsmInstructionStart+(483*4)
-
-/* ------------------------------ */
-.L_ALT_OP_UNUSED_E4FF: /* 0x1e4 */
-/* File: x86/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Unlike the Arm handler, we can't do this as a tail call
- * because rIBASE is caller save and we need to reload it.
- *
- * Note that unlike in the Arm implementation, we should never arrive
- * here with a zero breakFlag because we always refresh rIBASE on
- * return.
- */
- EXPORT_PC
- movl rSELF, %eax
- movl rPC, OUT_ARG0(%esp)
- cmpb $0,offThread_breakFlags(%eax) # anything to do?
- movl rFP, OUT_ARG1(%esp)
- je 1f # reload rIBASE & resume if not
- movl %eax, OUT_ARG2(%esp)
- call dvmCheckBefore # (dPC, dFP, self)
- movl rSELF, %eax
-1:
- movl offThread_curHandlerTable(%eax), rIBASE # reload rIBASE
- jmp *dvmAsmInstructionStart+(484*4)
-
-/* ------------------------------ */
-.L_ALT_OP_UNUSED_E5FF: /* 0x1e5 */
-/* File: x86/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Unlike the Arm handler, we can't do this as a tail call
- * because rIBASE is caller save and we need to reload it.
- *
- * Note that unlike in the Arm implementation, we should never arrive
- * here with a zero breakFlag because we always refresh rIBASE on
- * return.
- */
- EXPORT_PC
- movl rSELF, %eax
- movl rPC, OUT_ARG0(%esp)
- cmpb $0,offThread_breakFlags(%eax) # anything to do?
- movl rFP, OUT_ARG1(%esp)
- je 1f # reload rIBASE & resume if not
- movl %eax, OUT_ARG2(%esp)
- call dvmCheckBefore # (dPC, dFP, self)
- movl rSELF, %eax
-1:
- movl offThread_curHandlerTable(%eax), rIBASE # reload rIBASE
- jmp *dvmAsmInstructionStart+(485*4)
-
-/* ------------------------------ */
-.L_ALT_OP_UNUSED_E6FF: /* 0x1e6 */
-/* File: x86/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Unlike the Arm handler, we can't do this as a tail call
- * because rIBASE is caller save and we need to reload it.
- *
- * Note that unlike in the Arm implementation, we should never arrive
- * here with a zero breakFlag because we always refresh rIBASE on
- * return.
- */
- EXPORT_PC
- movl rSELF, %eax
- movl rPC, OUT_ARG0(%esp)
- cmpb $0,offThread_breakFlags(%eax) # anything to do?
- movl rFP, OUT_ARG1(%esp)
- je 1f # reload rIBASE & resume if not
- movl %eax, OUT_ARG2(%esp)
- call dvmCheckBefore # (dPC, dFP, self)
- movl rSELF, %eax
-1:
- movl offThread_curHandlerTable(%eax), rIBASE # reload rIBASE
- jmp *dvmAsmInstructionStart+(486*4)
-
-/* ------------------------------ */
-.L_ALT_OP_UNUSED_E7FF: /* 0x1e7 */
-/* File: x86/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Unlike the Arm handler, we can't do this as a tail call
- * because rIBASE is caller save and we need to reload it.
- *
- * Note that unlike in the Arm implementation, we should never arrive
- * here with a zero breakFlag because we always refresh rIBASE on
- * return.
- */
- EXPORT_PC
- movl rSELF, %eax
- movl rPC, OUT_ARG0(%esp)
- cmpb $0,offThread_breakFlags(%eax) # anything to do?
- movl rFP, OUT_ARG1(%esp)
- je 1f # reload rIBASE & resume if not
- movl %eax, OUT_ARG2(%esp)
- call dvmCheckBefore # (dPC, dFP, self)
- movl rSELF, %eax
-1:
- movl offThread_curHandlerTable(%eax), rIBASE # reload rIBASE
- jmp *dvmAsmInstructionStart+(487*4)
-
-/* ------------------------------ */
-.L_ALT_OP_UNUSED_E8FF: /* 0x1e8 */
-/* File: x86/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Unlike the Arm handler, we can't do this as a tail call
- * because rIBASE is caller save and we need to reload it.
- *
- * Note that unlike in the Arm implementation, we should never arrive
- * here with a zero breakFlag because we always refresh rIBASE on
- * return.
- */
- EXPORT_PC
- movl rSELF, %eax
- movl rPC, OUT_ARG0(%esp)
- cmpb $0,offThread_breakFlags(%eax) # anything to do?
- movl rFP, OUT_ARG1(%esp)
- je 1f # reload rIBASE & resume if not
- movl %eax, OUT_ARG2(%esp)
- call dvmCheckBefore # (dPC, dFP, self)
- movl rSELF, %eax
-1:
- movl offThread_curHandlerTable(%eax), rIBASE # reload rIBASE
- jmp *dvmAsmInstructionStart+(488*4)
-
-/* ------------------------------ */
-.L_ALT_OP_UNUSED_E9FF: /* 0x1e9 */
-/* File: x86/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Unlike the Arm handler, we can't do this as a tail call
- * because rIBASE is caller save and we need to reload it.
- *
- * Note that unlike in the Arm implementation, we should never arrive
- * here with a zero breakFlag because we always refresh rIBASE on
- * return.
- */
- EXPORT_PC
- movl rSELF, %eax
- movl rPC, OUT_ARG0(%esp)
- cmpb $0,offThread_breakFlags(%eax) # anything to do?
- movl rFP, OUT_ARG1(%esp)
- je 1f # reload rIBASE & resume if not
- movl %eax, OUT_ARG2(%esp)
- call dvmCheckBefore # (dPC, dFP, self)
- movl rSELF, %eax
-1:
- movl offThread_curHandlerTable(%eax), rIBASE # reload rIBASE
- jmp *dvmAsmInstructionStart+(489*4)
-
-/* ------------------------------ */
-.L_ALT_OP_UNUSED_EAFF: /* 0x1ea */
-/* File: x86/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Unlike the Arm handler, we can't do this as a tail call
- * because rIBASE is caller save and we need to reload it.
- *
- * Note that unlike in the Arm implementation, we should never arrive
- * here with a zero breakFlag because we always refresh rIBASE on
- * return.
- */
- EXPORT_PC
- movl rSELF, %eax
- movl rPC, OUT_ARG0(%esp)
- cmpb $0,offThread_breakFlags(%eax) # anything to do?
- movl rFP, OUT_ARG1(%esp)
- je 1f # reload rIBASE & resume if not
- movl %eax, OUT_ARG2(%esp)
- call dvmCheckBefore # (dPC, dFP, self)
- movl rSELF, %eax
-1:
- movl offThread_curHandlerTable(%eax), rIBASE # reload rIBASE
- jmp *dvmAsmInstructionStart+(490*4)
-
-/* ------------------------------ */
-.L_ALT_OP_UNUSED_EBFF: /* 0x1eb */
-/* File: x86/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Unlike the Arm handler, we can't do this as a tail call
- * because rIBASE is caller save and we need to reload it.
- *
- * Note that unlike in the Arm implementation, we should never arrive
- * here with a zero breakFlag because we always refresh rIBASE on
- * return.
- */
- EXPORT_PC
- movl rSELF, %eax
- movl rPC, OUT_ARG0(%esp)
- cmpb $0,offThread_breakFlags(%eax) # anything to do?
- movl rFP, OUT_ARG1(%esp)
- je 1f # reload rIBASE & resume if not
- movl %eax, OUT_ARG2(%esp)
- call dvmCheckBefore # (dPC, dFP, self)
- movl rSELF, %eax
-1:
- movl offThread_curHandlerTable(%eax), rIBASE # reload rIBASE
- jmp *dvmAsmInstructionStart+(491*4)
-
-/* ------------------------------ */
-.L_ALT_OP_UNUSED_ECFF: /* 0x1ec */
-/* File: x86/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Unlike the Arm handler, we can't do this as a tail call
- * because rIBASE is caller save and we need to reload it.
- *
- * Note that unlike in the Arm implementation, we should never arrive
- * here with a zero breakFlag because we always refresh rIBASE on
- * return.
- */
- EXPORT_PC
- movl rSELF, %eax
- movl rPC, OUT_ARG0(%esp)
- cmpb $0,offThread_breakFlags(%eax) # anything to do?
- movl rFP, OUT_ARG1(%esp)
- je 1f # reload rIBASE & resume if not
- movl %eax, OUT_ARG2(%esp)
- call dvmCheckBefore # (dPC, dFP, self)
- movl rSELF, %eax
-1:
- movl offThread_curHandlerTable(%eax), rIBASE # reload rIBASE
- jmp *dvmAsmInstructionStart+(492*4)
-
-/* ------------------------------ */
-.L_ALT_OP_UNUSED_EDFF: /* 0x1ed */
-/* File: x86/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Unlike the Arm handler, we can't do this as a tail call
- * because rIBASE is caller save and we need to reload it.
- *
- * Note that unlike in the Arm implementation, we should never arrive
- * here with a zero breakFlag because we always refresh rIBASE on
- * return.
- */
- EXPORT_PC
- movl rSELF, %eax
- movl rPC, OUT_ARG0(%esp)
- cmpb $0,offThread_breakFlags(%eax) # anything to do?
- movl rFP, OUT_ARG1(%esp)
- je 1f # reload rIBASE & resume if not
- movl %eax, OUT_ARG2(%esp)
- call dvmCheckBefore # (dPC, dFP, self)
- movl rSELF, %eax
-1:
- movl offThread_curHandlerTable(%eax), rIBASE # reload rIBASE
- jmp *dvmAsmInstructionStart+(493*4)
-
-/* ------------------------------ */
-.L_ALT_OP_UNUSED_EEFF: /* 0x1ee */
-/* File: x86/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Unlike the Arm handler, we can't do this as a tail call
- * because rIBASE is caller save and we need to reload it.
- *
- * Note that unlike in the Arm implementation, we should never arrive
- * here with a zero breakFlag because we always refresh rIBASE on
- * return.
- */
- EXPORT_PC
- movl rSELF, %eax
- movl rPC, OUT_ARG0(%esp)
- cmpb $0,offThread_breakFlags(%eax) # anything to do?
- movl rFP, OUT_ARG1(%esp)
- je 1f # reload rIBASE & resume if not
- movl %eax, OUT_ARG2(%esp)
- call dvmCheckBefore # (dPC, dFP, self)
- movl rSELF, %eax
-1:
- movl offThread_curHandlerTable(%eax), rIBASE # reload rIBASE
- jmp *dvmAsmInstructionStart+(494*4)
-
-/* ------------------------------ */
-.L_ALT_OP_UNUSED_EFFF: /* 0x1ef */
-/* File: x86/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Unlike the Arm handler, we can't do this as a tail call
- * because rIBASE is caller save and we need to reload it.
- *
- * Note that unlike in the Arm implementation, we should never arrive
- * here with a zero breakFlag because we always refresh rIBASE on
- * return.
- */
- EXPORT_PC
- movl rSELF, %eax
- movl rPC, OUT_ARG0(%esp)
- cmpb $0,offThread_breakFlags(%eax) # anything to do?
- movl rFP, OUT_ARG1(%esp)
- je 1f # reload rIBASE & resume if not
- movl %eax, OUT_ARG2(%esp)
- call dvmCheckBefore # (dPC, dFP, self)
- movl rSELF, %eax
-1:
- movl offThread_curHandlerTable(%eax), rIBASE # reload rIBASE
- jmp *dvmAsmInstructionStart+(495*4)
-
-/* ------------------------------ */
-.L_ALT_OP_UNUSED_F0FF: /* 0x1f0 */
-/* File: x86/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Unlike the Arm handler, we can't do this as a tail call
- * because rIBASE is caller save and we need to reload it.
- *
- * Note that unlike in the Arm implementation, we should never arrive
- * here with a zero breakFlag because we always refresh rIBASE on
- * return.
- */
- EXPORT_PC
- movl rSELF, %eax
- movl rPC, OUT_ARG0(%esp)
- cmpb $0,offThread_breakFlags(%eax) # anything to do?
- movl rFP, OUT_ARG1(%esp)
- je 1f # reload rIBASE & resume if not
- movl %eax, OUT_ARG2(%esp)
- call dvmCheckBefore # (dPC, dFP, self)
- movl rSELF, %eax
-1:
- movl offThread_curHandlerTable(%eax), rIBASE # reload rIBASE
- jmp *dvmAsmInstructionStart+(496*4)
-
-/* ------------------------------ */
-.L_ALT_OP_UNUSED_F1FF: /* 0x1f1 */
-/* File: x86/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Unlike the Arm handler, we can't do this as a tail call
- * because rIBASE is caller save and we need to reload it.
- *
- * Note that unlike in the Arm implementation, we should never arrive
- * here with a zero breakFlag because we always refresh rIBASE on
- * return.
- */
- EXPORT_PC
- movl rSELF, %eax
- movl rPC, OUT_ARG0(%esp)
- cmpb $0,offThread_breakFlags(%eax) # anything to do?
- movl rFP, OUT_ARG1(%esp)
- je 1f # reload rIBASE & resume if not
- movl %eax, OUT_ARG2(%esp)
- call dvmCheckBefore # (dPC, dFP, self)
- movl rSELF, %eax
-1:
- movl offThread_curHandlerTable(%eax), rIBASE # reload rIBASE
- jmp *dvmAsmInstructionStart+(497*4)
-
-/* ------------------------------ */
-.L_ALT_OP_INVOKE_OBJECT_INIT_JUMBO: /* 0x1f2 */
-/* File: x86/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Unlike the Arm handler, we can't do this as a tail call
- * because rIBASE is caller save and we need to reload it.
- *
- * Note that unlike in the Arm implementation, we should never arrive
- * here with a zero breakFlag because we always refresh rIBASE on
- * return.
- */
- EXPORT_PC
- movl rSELF, %eax
- movl rPC, OUT_ARG0(%esp)
- cmpb $0,offThread_breakFlags(%eax) # anything to do?
- movl rFP, OUT_ARG1(%esp)
- je 1f # reload rIBASE & resume if not
- movl %eax, OUT_ARG2(%esp)
- call dvmCheckBefore # (dPC, dFP, self)
- movl rSELF, %eax
-1:
- movl offThread_curHandlerTable(%eax), rIBASE # reload rIBASE
- jmp *dvmAsmInstructionStart+(498*4)
-
-/* ------------------------------ */
-.L_ALT_OP_IGET_VOLATILE_JUMBO: /* 0x1f3 */
-/* File: x86/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Unlike the Arm handler, we can't do this as a tail call
- * because rIBASE is caller save and we need to reload it.
- *
- * Note that unlike in the Arm implementation, we should never arrive
- * here with a zero breakFlag because we always refresh rIBASE on
- * return.
- */
- EXPORT_PC
- movl rSELF, %eax
- movl rPC, OUT_ARG0(%esp)
- cmpb $0,offThread_breakFlags(%eax) # anything to do?
- movl rFP, OUT_ARG1(%esp)
- je 1f # reload rIBASE & resume if not
- movl %eax, OUT_ARG2(%esp)
- call dvmCheckBefore # (dPC, dFP, self)
- movl rSELF, %eax
-1:
- movl offThread_curHandlerTable(%eax), rIBASE # reload rIBASE
- jmp *dvmAsmInstructionStart+(499*4)
-
-/* ------------------------------ */
-.L_ALT_OP_IGET_WIDE_VOLATILE_JUMBO: /* 0x1f4 */
-/* File: x86/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Unlike the Arm handler, we can't do this as a tail call
- * because rIBASE is caller save and we need to reload it.
- *
- * Note that unlike in the Arm implementation, we should never arrive
- * here with a zero breakFlag because we always refresh rIBASE on
- * return.
- */
- EXPORT_PC
- movl rSELF, %eax
- movl rPC, OUT_ARG0(%esp)
- cmpb $0,offThread_breakFlags(%eax) # anything to do?
- movl rFP, OUT_ARG1(%esp)
- je 1f # reload rIBASE & resume if not
- movl %eax, OUT_ARG2(%esp)
- call dvmCheckBefore # (dPC, dFP, self)
- movl rSELF, %eax
-1:
- movl offThread_curHandlerTable(%eax), rIBASE # reload rIBASE
- jmp *dvmAsmInstructionStart+(500*4)
-
-/* ------------------------------ */
-.L_ALT_OP_IGET_OBJECT_VOLATILE_JUMBO: /* 0x1f5 */
-/* File: x86/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Unlike the Arm handler, we can't do this as a tail call
- * because rIBASE is caller save and we need to reload it.
- *
- * Note that unlike in the Arm implementation, we should never arrive
- * here with a zero breakFlag because we always refresh rIBASE on
- * return.
- */
- EXPORT_PC
- movl rSELF, %eax
- movl rPC, OUT_ARG0(%esp)
- cmpb $0,offThread_breakFlags(%eax) # anything to do?
- movl rFP, OUT_ARG1(%esp)
- je 1f # reload rIBASE & resume if not
- movl %eax, OUT_ARG2(%esp)
- call dvmCheckBefore # (dPC, dFP, self)
- movl rSELF, %eax
-1:
- movl offThread_curHandlerTable(%eax), rIBASE # reload rIBASE
- jmp *dvmAsmInstructionStart+(501*4)
-
-/* ------------------------------ */
-.L_ALT_OP_IPUT_VOLATILE_JUMBO: /* 0x1f6 */
-/* File: x86/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Unlike the Arm handler, we can't do this as a tail call
- * because rIBASE is caller save and we need to reload it.
- *
- * Note that unlike in the Arm implementation, we should never arrive
- * here with a zero breakFlag because we always refresh rIBASE on
- * return.
- */
- EXPORT_PC
- movl rSELF, %eax
- movl rPC, OUT_ARG0(%esp)
- cmpb $0,offThread_breakFlags(%eax) # anything to do?
- movl rFP, OUT_ARG1(%esp)
- je 1f # reload rIBASE & resume if not
- movl %eax, OUT_ARG2(%esp)
- call dvmCheckBefore # (dPC, dFP, self)
- movl rSELF, %eax
-1:
- movl offThread_curHandlerTable(%eax), rIBASE # reload rIBASE
- jmp *dvmAsmInstructionStart+(502*4)
-
-/* ------------------------------ */
-.L_ALT_OP_IPUT_WIDE_VOLATILE_JUMBO: /* 0x1f7 */
-/* File: x86/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Unlike the Arm handler, we can't do this as a tail call
- * because rIBASE is caller save and we need to reload it.
- *
- * Note that unlike in the Arm implementation, we should never arrive
- * here with a zero breakFlag because we always refresh rIBASE on
- * return.
- */
- EXPORT_PC
- movl rSELF, %eax
- movl rPC, OUT_ARG0(%esp)
- cmpb $0,offThread_breakFlags(%eax) # anything to do?
- movl rFP, OUT_ARG1(%esp)
- je 1f # reload rIBASE & resume if not
- movl %eax, OUT_ARG2(%esp)
- call dvmCheckBefore # (dPC, dFP, self)
- movl rSELF, %eax
-1:
- movl offThread_curHandlerTable(%eax), rIBASE # reload rIBASE
- jmp *dvmAsmInstructionStart+(503*4)
-
-/* ------------------------------ */
-.L_ALT_OP_IPUT_OBJECT_VOLATILE_JUMBO: /* 0x1f8 */
-/* File: x86/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Unlike the Arm handler, we can't do this as a tail call
- * because rIBASE is caller save and we need to reload it.
- *
- * Note that unlike in the Arm implementation, we should never arrive
- * here with a zero breakFlag because we always refresh rIBASE on
- * return.
- */
- EXPORT_PC
- movl rSELF, %eax
- movl rPC, OUT_ARG0(%esp)
- cmpb $0,offThread_breakFlags(%eax) # anything to do?
- movl rFP, OUT_ARG1(%esp)
- je 1f # reload rIBASE & resume if not
- movl %eax, OUT_ARG2(%esp)
- call dvmCheckBefore # (dPC, dFP, self)
- movl rSELF, %eax
-1:
- movl offThread_curHandlerTable(%eax), rIBASE # reload rIBASE
- jmp *dvmAsmInstructionStart+(504*4)
-
-/* ------------------------------ */
-.L_ALT_OP_SGET_VOLATILE_JUMBO: /* 0x1f9 */
-/* File: x86/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Unlike the Arm handler, we can't do this as a tail call
- * because rIBASE is caller save and we need to reload it.
- *
- * Note that unlike in the Arm implementation, we should never arrive
- * here with a zero breakFlag because we always refresh rIBASE on
- * return.
- */
- EXPORT_PC
- movl rSELF, %eax
- movl rPC, OUT_ARG0(%esp)
- cmpb $0,offThread_breakFlags(%eax) # anything to do?
- movl rFP, OUT_ARG1(%esp)
- je 1f # reload rIBASE & resume if not
- movl %eax, OUT_ARG2(%esp)
- call dvmCheckBefore # (dPC, dFP, self)
- movl rSELF, %eax
-1:
- movl offThread_curHandlerTable(%eax), rIBASE # reload rIBASE
- jmp *dvmAsmInstructionStart+(505*4)
-
-/* ------------------------------ */
-.L_ALT_OP_SGET_WIDE_VOLATILE_JUMBO: /* 0x1fa */
-/* File: x86/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Unlike the Arm handler, we can't do this as a tail call
- * because rIBASE is caller save and we need to reload it.
- *
- * Note that unlike in the Arm implementation, we should never arrive
- * here with a zero breakFlag because we always refresh rIBASE on
- * return.
- */
- EXPORT_PC
- movl rSELF, %eax
- movl rPC, OUT_ARG0(%esp)
- cmpb $0,offThread_breakFlags(%eax) # anything to do?
- movl rFP, OUT_ARG1(%esp)
- je 1f # reload rIBASE & resume if not
- movl %eax, OUT_ARG2(%esp)
- call dvmCheckBefore # (dPC, dFP, self)
- movl rSELF, %eax
-1:
- movl offThread_curHandlerTable(%eax), rIBASE # reload rIBASE
- jmp *dvmAsmInstructionStart+(506*4)
-
-/* ------------------------------ */
-.L_ALT_OP_SGET_OBJECT_VOLATILE_JUMBO: /* 0x1fb */
-/* File: x86/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Unlike the Arm handler, we can't do this as a tail call
- * because rIBASE is caller save and we need to reload it.
- *
- * Note that unlike in the Arm implementation, we should never arrive
- * here with a zero breakFlag because we always refresh rIBASE on
- * return.
- */
- EXPORT_PC
- movl rSELF, %eax
- movl rPC, OUT_ARG0(%esp)
- cmpb $0,offThread_breakFlags(%eax) # anything to do?
- movl rFP, OUT_ARG1(%esp)
- je 1f # reload rIBASE & resume if not
- movl %eax, OUT_ARG2(%esp)
- call dvmCheckBefore # (dPC, dFP, self)
- movl rSELF, %eax
-1:
- movl offThread_curHandlerTable(%eax), rIBASE # reload rIBASE
- jmp *dvmAsmInstructionStart+(507*4)
-
-/* ------------------------------ */
-.L_ALT_OP_SPUT_VOLATILE_JUMBO: /* 0x1fc */
-/* File: x86/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Unlike the Arm handler, we can't do this as a tail call
- * because rIBASE is caller save and we need to reload it.
- *
- * Note that unlike in the Arm implementation, we should never arrive
- * here with a zero breakFlag because we always refresh rIBASE on
- * return.
- */
- EXPORT_PC
- movl rSELF, %eax
- movl rPC, OUT_ARG0(%esp)
- cmpb $0,offThread_breakFlags(%eax) # anything to do?
- movl rFP, OUT_ARG1(%esp)
- je 1f # reload rIBASE & resume if not
- movl %eax, OUT_ARG2(%esp)
- call dvmCheckBefore # (dPC, dFP, self)
- movl rSELF, %eax
-1:
- movl offThread_curHandlerTable(%eax), rIBASE # reload rIBASE
- jmp *dvmAsmInstructionStart+(508*4)
-
-/* ------------------------------ */
-.L_ALT_OP_SPUT_WIDE_VOLATILE_JUMBO: /* 0x1fd */
-/* File: x86/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Unlike the Arm handler, we can't do this as a tail call
- * because rIBASE is caller save and we need to reload it.
- *
- * Note that unlike in the Arm implementation, we should never arrive
- * here with a zero breakFlag because we always refresh rIBASE on
- * return.
- */
- EXPORT_PC
- movl rSELF, %eax
- movl rPC, OUT_ARG0(%esp)
- cmpb $0,offThread_breakFlags(%eax) # anything to do?
- movl rFP, OUT_ARG1(%esp)
- je 1f # reload rIBASE & resume if not
- movl %eax, OUT_ARG2(%esp)
- call dvmCheckBefore # (dPC, dFP, self)
- movl rSELF, %eax
-1:
- movl offThread_curHandlerTable(%eax), rIBASE # reload rIBASE
- jmp *dvmAsmInstructionStart+(509*4)
-
-/* ------------------------------ */
-.L_ALT_OP_SPUT_OBJECT_VOLATILE_JUMBO: /* 0x1fe */
-/* File: x86/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Unlike the Arm handler, we can't do this as a tail call
- * because rIBASE is caller save and we need to reload it.
- *
- * Note that unlike in the Arm implementation, we should never arrive
- * here with a zero breakFlag because we always refresh rIBASE on
- * return.
- */
- EXPORT_PC
- movl rSELF, %eax
- movl rPC, OUT_ARG0(%esp)
- cmpb $0,offThread_breakFlags(%eax) # anything to do?
- movl rFP, OUT_ARG1(%esp)
- je 1f # reload rIBASE & resume if not
- movl %eax, OUT_ARG2(%esp)
- call dvmCheckBefore # (dPC, dFP, self)
- movl rSELF, %eax
-1:
- movl offThread_curHandlerTable(%eax), rIBASE # reload rIBASE
- jmp *dvmAsmInstructionStart+(510*4)
-
-/* ------------------------------ */
-.L_ALT_OP_THROW_VERIFICATION_ERROR_JUMBO: /* 0x1ff */
-/* File: x86/alt_stub.S */
-/*
- * Inter-instruction transfer stub. Call out to dvmCheckBefore to handle
- * any interesting requests and then jump to the real instruction
- * handler. Unlike the Arm handler, we can't do this as a tail call
- * because rIBASE is caller save and we need to reload it.
- *
- * Note that unlike in the Arm implementation, we should never arrive
- * here with a zero breakFlag because we always refresh rIBASE on
- * return.
- */
- EXPORT_PC
- movl rSELF, %eax
- movl rPC, OUT_ARG0(%esp)
- cmpb $0,offThread_breakFlags(%eax) # anything to do?
- movl rFP, OUT_ARG1(%esp)
- je 1f # reload rIBASE & resume if not
- movl %eax, OUT_ARG2(%esp)
- call dvmCheckBefore # (dPC, dFP, self)
- movl rSELF, %eax
-1:
- movl offThread_curHandlerTable(%eax), rIBASE # reload rIBASE
- jmp *dvmAsmInstructionStart+(511*4)
+ jmp *dvmAsmInstructionStart+(255*4)
.size dvmAsmAltInstructionStartCode, .-dvmAsmAltInstructionStartCode
.global dvmAsmAltInstructionEndCode
@@ -25046,263 +14854,7 @@ dvmAsmInstructionStart:
.long .L_OP_IPUT_OBJECT_VOLATILE /* 0xfc */
.long .L_OP_SGET_OBJECT_VOLATILE /* 0xfd */
.long .L_OP_SPUT_OBJECT_VOLATILE /* 0xfe */
- .long .L_OP_DISPATCH_FF /* 0xff */
- .long .L_OP_CONST_CLASS_JUMBO /* 0x100 */
- .long .L_OP_CHECK_CAST_JUMBO /* 0x101 */
- .long .L_OP_INSTANCE_OF_JUMBO /* 0x102 */
- .long .L_OP_NEW_INSTANCE_JUMBO /* 0x103 */
- .long .L_OP_NEW_ARRAY_JUMBO /* 0x104 */
- .long .L_OP_FILLED_NEW_ARRAY_JUMBO /* 0x105 */
- .long .L_OP_IGET_JUMBO /* 0x106 */
- .long .L_OP_IGET_WIDE_JUMBO /* 0x107 */
- .long .L_OP_IGET_OBJECT_JUMBO /* 0x108 */
- .long .L_OP_IGET_BOOLEAN_JUMBO /* 0x109 */
- .long .L_OP_IGET_BYTE_JUMBO /* 0x10a */
- .long .L_OP_IGET_CHAR_JUMBO /* 0x10b */
- .long .L_OP_IGET_SHORT_JUMBO /* 0x10c */
- .long .L_OP_IPUT_JUMBO /* 0x10d */
- .long .L_OP_IPUT_WIDE_JUMBO /* 0x10e */
- .long .L_OP_IPUT_OBJECT_JUMBO /* 0x10f */
- .long .L_OP_IPUT_BOOLEAN_JUMBO /* 0x110 */
- .long .L_OP_IPUT_BYTE_JUMBO /* 0x111 */
- .long .L_OP_IPUT_CHAR_JUMBO /* 0x112 */
- .long .L_OP_IPUT_SHORT_JUMBO /* 0x113 */
- .long .L_OP_SGET_JUMBO /* 0x114 */
- .long .L_OP_SGET_WIDE_JUMBO /* 0x115 */
- .long .L_OP_SGET_OBJECT_JUMBO /* 0x116 */
- .long .L_OP_SGET_BOOLEAN_JUMBO /* 0x117 */
- .long .L_OP_SGET_BYTE_JUMBO /* 0x118 */
- .long .L_OP_SGET_CHAR_JUMBO /* 0x119 */
- .long .L_OP_SGET_SHORT_JUMBO /* 0x11a */
- .long .L_OP_SPUT_JUMBO /* 0x11b */
- .long .L_OP_SPUT_WIDE_JUMBO /* 0x11c */
- .long .L_OP_SPUT_OBJECT_JUMBO /* 0x11d */
- .long .L_OP_SPUT_BOOLEAN_JUMBO /* 0x11e */
- .long .L_OP_SPUT_BYTE_JUMBO /* 0x11f */
- .long .L_OP_SPUT_CHAR_JUMBO /* 0x120 */
- .long .L_OP_SPUT_SHORT_JUMBO /* 0x121 */
- .long .L_OP_INVOKE_VIRTUAL_JUMBO /* 0x122 */
- .long .L_OP_INVOKE_SUPER_JUMBO /* 0x123 */
- .long .L_OP_INVOKE_DIRECT_JUMBO /* 0x124 */
- .long .L_OP_INVOKE_STATIC_JUMBO /* 0x125 */
- .long .L_OP_INVOKE_INTERFACE_JUMBO /* 0x126 */
- .long .L_OP_UNUSED_27FF /* 0x127 */
- .long .L_OP_UNUSED_28FF /* 0x128 */
- .long .L_OP_UNUSED_29FF /* 0x129 */
- .long .L_OP_UNUSED_2AFF /* 0x12a */
- .long .L_OP_UNUSED_2BFF /* 0x12b */
- .long .L_OP_UNUSED_2CFF /* 0x12c */
- .long .L_OP_UNUSED_2DFF /* 0x12d */
- .long .L_OP_UNUSED_2EFF /* 0x12e */
- .long .L_OP_UNUSED_2FFF /* 0x12f */
- .long .L_OP_UNUSED_30FF /* 0x130 */
- .long .L_OP_UNUSED_31FF /* 0x131 */
- .long .L_OP_UNUSED_32FF /* 0x132 */
- .long .L_OP_UNUSED_33FF /* 0x133 */
- .long .L_OP_UNUSED_34FF /* 0x134 */
- .long .L_OP_UNUSED_35FF /* 0x135 */
- .long .L_OP_UNUSED_36FF /* 0x136 */
- .long .L_OP_UNUSED_37FF /* 0x137 */
- .long .L_OP_UNUSED_38FF /* 0x138 */
- .long .L_OP_UNUSED_39FF /* 0x139 */
- .long .L_OP_UNUSED_3AFF /* 0x13a */
- .long .L_OP_UNUSED_3BFF /* 0x13b */
- .long .L_OP_UNUSED_3CFF /* 0x13c */
- .long .L_OP_UNUSED_3DFF /* 0x13d */
- .long .L_OP_UNUSED_3EFF /* 0x13e */
- .long .L_OP_UNUSED_3FFF /* 0x13f */
- .long .L_OP_UNUSED_40FF /* 0x140 */
- .long .L_OP_UNUSED_41FF /* 0x141 */
- .long .L_OP_UNUSED_42FF /* 0x142 */
- .long .L_OP_UNUSED_43FF /* 0x143 */
- .long .L_OP_UNUSED_44FF /* 0x144 */
- .long .L_OP_UNUSED_45FF /* 0x145 */
- .long .L_OP_UNUSED_46FF /* 0x146 */
- .long .L_OP_UNUSED_47FF /* 0x147 */
- .long .L_OP_UNUSED_48FF /* 0x148 */
- .long .L_OP_UNUSED_49FF /* 0x149 */
- .long .L_OP_UNUSED_4AFF /* 0x14a */
- .long .L_OP_UNUSED_4BFF /* 0x14b */
- .long .L_OP_UNUSED_4CFF /* 0x14c */
- .long .L_OP_UNUSED_4DFF /* 0x14d */
- .long .L_OP_UNUSED_4EFF /* 0x14e */
- .long .L_OP_UNUSED_4FFF /* 0x14f */
- .long .L_OP_UNUSED_50FF /* 0x150 */
- .long .L_OP_UNUSED_51FF /* 0x151 */
- .long .L_OP_UNUSED_52FF /* 0x152 */
- .long .L_OP_UNUSED_53FF /* 0x153 */
- .long .L_OP_UNUSED_54FF /* 0x154 */
- .long .L_OP_UNUSED_55FF /* 0x155 */
- .long .L_OP_UNUSED_56FF /* 0x156 */
- .long .L_OP_UNUSED_57FF /* 0x157 */
- .long .L_OP_UNUSED_58FF /* 0x158 */
- .long .L_OP_UNUSED_59FF /* 0x159 */
- .long .L_OP_UNUSED_5AFF /* 0x15a */
- .long .L_OP_UNUSED_5BFF /* 0x15b */
- .long .L_OP_UNUSED_5CFF /* 0x15c */
- .long .L_OP_UNUSED_5DFF /* 0x15d */
- .long .L_OP_UNUSED_5EFF /* 0x15e */
- .long .L_OP_UNUSED_5FFF /* 0x15f */
- .long .L_OP_UNUSED_60FF /* 0x160 */
- .long .L_OP_UNUSED_61FF /* 0x161 */
- .long .L_OP_UNUSED_62FF /* 0x162 */
- .long .L_OP_UNUSED_63FF /* 0x163 */
- .long .L_OP_UNUSED_64FF /* 0x164 */
- .long .L_OP_UNUSED_65FF /* 0x165 */
- .long .L_OP_UNUSED_66FF /* 0x166 */
- .long .L_OP_UNUSED_67FF /* 0x167 */
- .long .L_OP_UNUSED_68FF /* 0x168 */
- .long .L_OP_UNUSED_69FF /* 0x169 */
- .long .L_OP_UNUSED_6AFF /* 0x16a */
- .long .L_OP_UNUSED_6BFF /* 0x16b */
- .long .L_OP_UNUSED_6CFF /* 0x16c */
- .long .L_OP_UNUSED_6DFF /* 0x16d */
- .long .L_OP_UNUSED_6EFF /* 0x16e */
- .long .L_OP_UNUSED_6FFF /* 0x16f */
- .long .L_OP_UNUSED_70FF /* 0x170 */
- .long .L_OP_UNUSED_71FF /* 0x171 */
- .long .L_OP_UNUSED_72FF /* 0x172 */
- .long .L_OP_UNUSED_73FF /* 0x173 */
- .long .L_OP_UNUSED_74FF /* 0x174 */
- .long .L_OP_UNUSED_75FF /* 0x175 */
- .long .L_OP_UNUSED_76FF /* 0x176 */
- .long .L_OP_UNUSED_77FF /* 0x177 */
- .long .L_OP_UNUSED_78FF /* 0x178 */
- .long .L_OP_UNUSED_79FF /* 0x179 */
- .long .L_OP_UNUSED_7AFF /* 0x17a */
- .long .L_OP_UNUSED_7BFF /* 0x17b */
- .long .L_OP_UNUSED_7CFF /* 0x17c */
- .long .L_OP_UNUSED_7DFF /* 0x17d */
- .long .L_OP_UNUSED_7EFF /* 0x17e */
- .long .L_OP_UNUSED_7FFF /* 0x17f */
- .long .L_OP_UNUSED_80FF /* 0x180 */
- .long .L_OP_UNUSED_81FF /* 0x181 */
- .long .L_OP_UNUSED_82FF /* 0x182 */
- .long .L_OP_UNUSED_83FF /* 0x183 */
- .long .L_OP_UNUSED_84FF /* 0x184 */
- .long .L_OP_UNUSED_85FF /* 0x185 */
- .long .L_OP_UNUSED_86FF /* 0x186 */
- .long .L_OP_UNUSED_87FF /* 0x187 */
- .long .L_OP_UNUSED_88FF /* 0x188 */
- .long .L_OP_UNUSED_89FF /* 0x189 */
- .long .L_OP_UNUSED_8AFF /* 0x18a */
- .long .L_OP_UNUSED_8BFF /* 0x18b */
- .long .L_OP_UNUSED_8CFF /* 0x18c */
- .long .L_OP_UNUSED_8DFF /* 0x18d */
- .long .L_OP_UNUSED_8EFF /* 0x18e */
- .long .L_OP_UNUSED_8FFF /* 0x18f */
- .long .L_OP_UNUSED_90FF /* 0x190 */
- .long .L_OP_UNUSED_91FF /* 0x191 */
- .long .L_OP_UNUSED_92FF /* 0x192 */
- .long .L_OP_UNUSED_93FF /* 0x193 */
- .long .L_OP_UNUSED_94FF /* 0x194 */
- .long .L_OP_UNUSED_95FF /* 0x195 */
- .long .L_OP_UNUSED_96FF /* 0x196 */
- .long .L_OP_UNUSED_97FF /* 0x197 */
- .long .L_OP_UNUSED_98FF /* 0x198 */
- .long .L_OP_UNUSED_99FF /* 0x199 */
- .long .L_OP_UNUSED_9AFF /* 0x19a */
- .long .L_OP_UNUSED_9BFF /* 0x19b */
- .long .L_OP_UNUSED_9CFF /* 0x19c */
- .long .L_OP_UNUSED_9DFF /* 0x19d */
- .long .L_OP_UNUSED_9EFF /* 0x19e */
- .long .L_OP_UNUSED_9FFF /* 0x19f */
- .long .L_OP_UNUSED_A0FF /* 0x1a0 */
- .long .L_OP_UNUSED_A1FF /* 0x1a1 */
- .long .L_OP_UNUSED_A2FF /* 0x1a2 */
- .long .L_OP_UNUSED_A3FF /* 0x1a3 */
- .long .L_OP_UNUSED_A4FF /* 0x1a4 */
- .long .L_OP_UNUSED_A5FF /* 0x1a5 */
- .long .L_OP_UNUSED_A6FF /* 0x1a6 */
- .long .L_OP_UNUSED_A7FF /* 0x1a7 */
- .long .L_OP_UNUSED_A8FF /* 0x1a8 */
- .long .L_OP_UNUSED_A9FF /* 0x1a9 */
- .long .L_OP_UNUSED_AAFF /* 0x1aa */
- .long .L_OP_UNUSED_ABFF /* 0x1ab */
- .long .L_OP_UNUSED_ACFF /* 0x1ac */
- .long .L_OP_UNUSED_ADFF /* 0x1ad */
- .long .L_OP_UNUSED_AEFF /* 0x1ae */
- .long .L_OP_UNUSED_AFFF /* 0x1af */
- .long .L_OP_UNUSED_B0FF /* 0x1b0 */
- .long .L_OP_UNUSED_B1FF /* 0x1b1 */
- .long .L_OP_UNUSED_B2FF /* 0x1b2 */
- .long .L_OP_UNUSED_B3FF /* 0x1b3 */
- .long .L_OP_UNUSED_B4FF /* 0x1b4 */
- .long .L_OP_UNUSED_B5FF /* 0x1b5 */
- .long .L_OP_UNUSED_B6FF /* 0x1b6 */
- .long .L_OP_UNUSED_B7FF /* 0x1b7 */
- .long .L_OP_UNUSED_B8FF /* 0x1b8 */
- .long .L_OP_UNUSED_B9FF /* 0x1b9 */
- .long .L_OP_UNUSED_BAFF /* 0x1ba */
- .long .L_OP_UNUSED_BBFF /* 0x1bb */
- .long .L_OP_UNUSED_BCFF /* 0x1bc */
- .long .L_OP_UNUSED_BDFF /* 0x1bd */
- .long .L_OP_UNUSED_BEFF /* 0x1be */
- .long .L_OP_UNUSED_BFFF /* 0x1bf */
- .long .L_OP_UNUSED_C0FF /* 0x1c0 */
- .long .L_OP_UNUSED_C1FF /* 0x1c1 */
- .long .L_OP_UNUSED_C2FF /* 0x1c2 */
- .long .L_OP_UNUSED_C3FF /* 0x1c3 */
- .long .L_OP_UNUSED_C4FF /* 0x1c4 */
- .long .L_OP_UNUSED_C5FF /* 0x1c5 */
- .long .L_OP_UNUSED_C6FF /* 0x1c6 */
- .long .L_OP_UNUSED_C7FF /* 0x1c7 */
- .long .L_OP_UNUSED_C8FF /* 0x1c8 */
- .long .L_OP_UNUSED_C9FF /* 0x1c9 */
- .long .L_OP_UNUSED_CAFF /* 0x1ca */
- .long .L_OP_UNUSED_CBFF /* 0x1cb */
- .long .L_OP_UNUSED_CCFF /* 0x1cc */
- .long .L_OP_UNUSED_CDFF /* 0x1cd */
- .long .L_OP_UNUSED_CEFF /* 0x1ce */
- .long .L_OP_UNUSED_CFFF /* 0x1cf */
- .long .L_OP_UNUSED_D0FF /* 0x1d0 */
- .long .L_OP_UNUSED_D1FF /* 0x1d1 */
- .long .L_OP_UNUSED_D2FF /* 0x1d2 */
- .long .L_OP_UNUSED_D3FF /* 0x1d3 */
- .long .L_OP_UNUSED_D4FF /* 0x1d4 */
- .long .L_OP_UNUSED_D5FF /* 0x1d5 */
- .long .L_OP_UNUSED_D6FF /* 0x1d6 */
- .long .L_OP_UNUSED_D7FF /* 0x1d7 */
- .long .L_OP_UNUSED_D8FF /* 0x1d8 */
- .long .L_OP_UNUSED_D9FF /* 0x1d9 */
- .long .L_OP_UNUSED_DAFF /* 0x1da */
- .long .L_OP_UNUSED_DBFF /* 0x1db */
- .long .L_OP_UNUSED_DCFF /* 0x1dc */
- .long .L_OP_UNUSED_DDFF /* 0x1dd */
- .long .L_OP_UNUSED_DEFF /* 0x1de */
- .long .L_OP_UNUSED_DFFF /* 0x1df */
- .long .L_OP_UNUSED_E0FF /* 0x1e0 */
- .long .L_OP_UNUSED_E1FF /* 0x1e1 */
- .long .L_OP_UNUSED_E2FF /* 0x1e2 */
- .long .L_OP_UNUSED_E3FF /* 0x1e3 */
- .long .L_OP_UNUSED_E4FF /* 0x1e4 */
- .long .L_OP_UNUSED_E5FF /* 0x1e5 */
- .long .L_OP_UNUSED_E6FF /* 0x1e6 */
- .long .L_OP_UNUSED_E7FF /* 0x1e7 */
- .long .L_OP_UNUSED_E8FF /* 0x1e8 */
- .long .L_OP_UNUSED_E9FF /* 0x1e9 */
- .long .L_OP_UNUSED_EAFF /* 0x1ea */
- .long .L_OP_UNUSED_EBFF /* 0x1eb */
- .long .L_OP_UNUSED_ECFF /* 0x1ec */
- .long .L_OP_UNUSED_EDFF /* 0x1ed */
- .long .L_OP_UNUSED_EEFF /* 0x1ee */
- .long .L_OP_UNUSED_EFFF /* 0x1ef */
- .long .L_OP_UNUSED_F0FF /* 0x1f0 */
- .long .L_OP_UNUSED_F1FF /* 0x1f1 */
- .long .L_OP_INVOKE_OBJECT_INIT_JUMBO /* 0x1f2 */
- .long .L_OP_IGET_VOLATILE_JUMBO /* 0x1f3 */
- .long .L_OP_IGET_WIDE_VOLATILE_JUMBO /* 0x1f4 */
- .long .L_OP_IGET_OBJECT_VOLATILE_JUMBO /* 0x1f5 */
- .long .L_OP_IPUT_VOLATILE_JUMBO /* 0x1f6 */
- .long .L_OP_IPUT_WIDE_VOLATILE_JUMBO /* 0x1f7 */
- .long .L_OP_IPUT_OBJECT_VOLATILE_JUMBO /* 0x1f8 */
- .long .L_OP_SGET_VOLATILE_JUMBO /* 0x1f9 */
- .long .L_OP_SGET_WIDE_VOLATILE_JUMBO /* 0x1fa */
- .long .L_OP_SGET_OBJECT_VOLATILE_JUMBO /* 0x1fb */
- .long .L_OP_SPUT_VOLATILE_JUMBO /* 0x1fc */
- .long .L_OP_SPUT_WIDE_VOLATILE_JUMBO /* 0x1fd */
- .long .L_OP_SPUT_OBJECT_VOLATILE_JUMBO /* 0x1fe */
- .long .L_OP_THROW_VERIFICATION_ERROR_JUMBO /* 0x1ff */
+ .long .L_OP_UNUSED_FF /* 0xff */
.global dvmAsmAltInstructionStart
.text
@@ -25562,263 +15114,7 @@ dvmAsmAltInstructionStart:
.long .L_ALT_OP_IPUT_OBJECT_VOLATILE /* 0xfc */
.long .L_ALT_OP_SGET_OBJECT_VOLATILE /* 0xfd */
.long .L_ALT_OP_SPUT_OBJECT_VOLATILE /* 0xfe */
- .long .L_ALT_OP_DISPATCH_FF /* 0xff */
- .long .L_ALT_OP_CONST_CLASS_JUMBO /* 0x100 */
- .long .L_ALT_OP_CHECK_CAST_JUMBO /* 0x101 */
- .long .L_ALT_OP_INSTANCE_OF_JUMBO /* 0x102 */
- .long .L_ALT_OP_NEW_INSTANCE_JUMBO /* 0x103 */
- .long .L_ALT_OP_NEW_ARRAY_JUMBO /* 0x104 */
- .long .L_ALT_OP_FILLED_NEW_ARRAY_JUMBO /* 0x105 */
- .long .L_ALT_OP_IGET_JUMBO /* 0x106 */
- .long .L_ALT_OP_IGET_WIDE_JUMBO /* 0x107 */
- .long .L_ALT_OP_IGET_OBJECT_JUMBO /* 0x108 */
- .long .L_ALT_OP_IGET_BOOLEAN_JUMBO /* 0x109 */
- .long .L_ALT_OP_IGET_BYTE_JUMBO /* 0x10a */
- .long .L_ALT_OP_IGET_CHAR_JUMBO /* 0x10b */
- .long .L_ALT_OP_IGET_SHORT_JUMBO /* 0x10c */
- .long .L_ALT_OP_IPUT_JUMBO /* 0x10d */
- .long .L_ALT_OP_IPUT_WIDE_JUMBO /* 0x10e */
- .long .L_ALT_OP_IPUT_OBJECT_JUMBO /* 0x10f */
- .long .L_ALT_OP_IPUT_BOOLEAN_JUMBO /* 0x110 */
- .long .L_ALT_OP_IPUT_BYTE_JUMBO /* 0x111 */
- .long .L_ALT_OP_IPUT_CHAR_JUMBO /* 0x112 */
- .long .L_ALT_OP_IPUT_SHORT_JUMBO /* 0x113 */
- .long .L_ALT_OP_SGET_JUMBO /* 0x114 */
- .long .L_ALT_OP_SGET_WIDE_JUMBO /* 0x115 */
- .long .L_ALT_OP_SGET_OBJECT_JUMBO /* 0x116 */
- .long .L_ALT_OP_SGET_BOOLEAN_JUMBO /* 0x117 */
- .long .L_ALT_OP_SGET_BYTE_JUMBO /* 0x118 */
- .long .L_ALT_OP_SGET_CHAR_JUMBO /* 0x119 */
- .long .L_ALT_OP_SGET_SHORT_JUMBO /* 0x11a */
- .long .L_ALT_OP_SPUT_JUMBO /* 0x11b */
- .long .L_ALT_OP_SPUT_WIDE_JUMBO /* 0x11c */
- .long .L_ALT_OP_SPUT_OBJECT_JUMBO /* 0x11d */
- .long .L_ALT_OP_SPUT_BOOLEAN_JUMBO /* 0x11e */
- .long .L_ALT_OP_SPUT_BYTE_JUMBO /* 0x11f */
- .long .L_ALT_OP_SPUT_CHAR_JUMBO /* 0x120 */
- .long .L_ALT_OP_SPUT_SHORT_JUMBO /* 0x121 */
- .long .L_ALT_OP_INVOKE_VIRTUAL_JUMBO /* 0x122 */
- .long .L_ALT_OP_INVOKE_SUPER_JUMBO /* 0x123 */
- .long .L_ALT_OP_INVOKE_DIRECT_JUMBO /* 0x124 */
- .long .L_ALT_OP_INVOKE_STATIC_JUMBO /* 0x125 */
- .long .L_ALT_OP_INVOKE_INTERFACE_JUMBO /* 0x126 */
- .long .L_ALT_OP_UNUSED_27FF /* 0x127 */
- .long .L_ALT_OP_UNUSED_28FF /* 0x128 */
- .long .L_ALT_OP_UNUSED_29FF /* 0x129 */
- .long .L_ALT_OP_UNUSED_2AFF /* 0x12a */
- .long .L_ALT_OP_UNUSED_2BFF /* 0x12b */
- .long .L_ALT_OP_UNUSED_2CFF /* 0x12c */
- .long .L_ALT_OP_UNUSED_2DFF /* 0x12d */
- .long .L_ALT_OP_UNUSED_2EFF /* 0x12e */
- .long .L_ALT_OP_UNUSED_2FFF /* 0x12f */
- .long .L_ALT_OP_UNUSED_30FF /* 0x130 */
- .long .L_ALT_OP_UNUSED_31FF /* 0x131 */
- .long .L_ALT_OP_UNUSED_32FF /* 0x132 */
- .long .L_ALT_OP_UNUSED_33FF /* 0x133 */
- .long .L_ALT_OP_UNUSED_34FF /* 0x134 */
- .long .L_ALT_OP_UNUSED_35FF /* 0x135 */
- .long .L_ALT_OP_UNUSED_36FF /* 0x136 */
- .long .L_ALT_OP_UNUSED_37FF /* 0x137 */
- .long .L_ALT_OP_UNUSED_38FF /* 0x138 */
- .long .L_ALT_OP_UNUSED_39FF /* 0x139 */
- .long .L_ALT_OP_UNUSED_3AFF /* 0x13a */
- .long .L_ALT_OP_UNUSED_3BFF /* 0x13b */
- .long .L_ALT_OP_UNUSED_3CFF /* 0x13c */
- .long .L_ALT_OP_UNUSED_3DFF /* 0x13d */
- .long .L_ALT_OP_UNUSED_3EFF /* 0x13e */
- .long .L_ALT_OP_UNUSED_3FFF /* 0x13f */
- .long .L_ALT_OP_UNUSED_40FF /* 0x140 */
- .long .L_ALT_OP_UNUSED_41FF /* 0x141 */
- .long .L_ALT_OP_UNUSED_42FF /* 0x142 */
- .long .L_ALT_OP_UNUSED_43FF /* 0x143 */
- .long .L_ALT_OP_UNUSED_44FF /* 0x144 */
- .long .L_ALT_OP_UNUSED_45FF /* 0x145 */
- .long .L_ALT_OP_UNUSED_46FF /* 0x146 */
- .long .L_ALT_OP_UNUSED_47FF /* 0x147 */
- .long .L_ALT_OP_UNUSED_48FF /* 0x148 */
- .long .L_ALT_OP_UNUSED_49FF /* 0x149 */
- .long .L_ALT_OP_UNUSED_4AFF /* 0x14a */
- .long .L_ALT_OP_UNUSED_4BFF /* 0x14b */
- .long .L_ALT_OP_UNUSED_4CFF /* 0x14c */
- .long .L_ALT_OP_UNUSED_4DFF /* 0x14d */
- .long .L_ALT_OP_UNUSED_4EFF /* 0x14e */
- .long .L_ALT_OP_UNUSED_4FFF /* 0x14f */
- .long .L_ALT_OP_UNUSED_50FF /* 0x150 */
- .long .L_ALT_OP_UNUSED_51FF /* 0x151 */
- .long .L_ALT_OP_UNUSED_52FF /* 0x152 */
- .long .L_ALT_OP_UNUSED_53FF /* 0x153 */
- .long .L_ALT_OP_UNUSED_54FF /* 0x154 */
- .long .L_ALT_OP_UNUSED_55FF /* 0x155 */
- .long .L_ALT_OP_UNUSED_56FF /* 0x156 */
- .long .L_ALT_OP_UNUSED_57FF /* 0x157 */
- .long .L_ALT_OP_UNUSED_58FF /* 0x158 */
- .long .L_ALT_OP_UNUSED_59FF /* 0x159 */
- .long .L_ALT_OP_UNUSED_5AFF /* 0x15a */
- .long .L_ALT_OP_UNUSED_5BFF /* 0x15b */
- .long .L_ALT_OP_UNUSED_5CFF /* 0x15c */
- .long .L_ALT_OP_UNUSED_5DFF /* 0x15d */
- .long .L_ALT_OP_UNUSED_5EFF /* 0x15e */
- .long .L_ALT_OP_UNUSED_5FFF /* 0x15f */
- .long .L_ALT_OP_UNUSED_60FF /* 0x160 */
- .long .L_ALT_OP_UNUSED_61FF /* 0x161 */
- .long .L_ALT_OP_UNUSED_62FF /* 0x162 */
- .long .L_ALT_OP_UNUSED_63FF /* 0x163 */
- .long .L_ALT_OP_UNUSED_64FF /* 0x164 */
- .long .L_ALT_OP_UNUSED_65FF /* 0x165 */
- .long .L_ALT_OP_UNUSED_66FF /* 0x166 */
- .long .L_ALT_OP_UNUSED_67FF /* 0x167 */
- .long .L_ALT_OP_UNUSED_68FF /* 0x168 */
- .long .L_ALT_OP_UNUSED_69FF /* 0x169 */
- .long .L_ALT_OP_UNUSED_6AFF /* 0x16a */
- .long .L_ALT_OP_UNUSED_6BFF /* 0x16b */
- .long .L_ALT_OP_UNUSED_6CFF /* 0x16c */
- .long .L_ALT_OP_UNUSED_6DFF /* 0x16d */
- .long .L_ALT_OP_UNUSED_6EFF /* 0x16e */
- .long .L_ALT_OP_UNUSED_6FFF /* 0x16f */
- .long .L_ALT_OP_UNUSED_70FF /* 0x170 */
- .long .L_ALT_OP_UNUSED_71FF /* 0x171 */
- .long .L_ALT_OP_UNUSED_72FF /* 0x172 */
- .long .L_ALT_OP_UNUSED_73FF /* 0x173 */
- .long .L_ALT_OP_UNUSED_74FF /* 0x174 */
- .long .L_ALT_OP_UNUSED_75FF /* 0x175 */
- .long .L_ALT_OP_UNUSED_76FF /* 0x176 */
- .long .L_ALT_OP_UNUSED_77FF /* 0x177 */
- .long .L_ALT_OP_UNUSED_78FF /* 0x178 */
- .long .L_ALT_OP_UNUSED_79FF /* 0x179 */
- .long .L_ALT_OP_UNUSED_7AFF /* 0x17a */
- .long .L_ALT_OP_UNUSED_7BFF /* 0x17b */
- .long .L_ALT_OP_UNUSED_7CFF /* 0x17c */
- .long .L_ALT_OP_UNUSED_7DFF /* 0x17d */
- .long .L_ALT_OP_UNUSED_7EFF /* 0x17e */
- .long .L_ALT_OP_UNUSED_7FFF /* 0x17f */
- .long .L_ALT_OP_UNUSED_80FF /* 0x180 */
- .long .L_ALT_OP_UNUSED_81FF /* 0x181 */
- .long .L_ALT_OP_UNUSED_82FF /* 0x182 */
- .long .L_ALT_OP_UNUSED_83FF /* 0x183 */
- .long .L_ALT_OP_UNUSED_84FF /* 0x184 */
- .long .L_ALT_OP_UNUSED_85FF /* 0x185 */
- .long .L_ALT_OP_UNUSED_86FF /* 0x186 */
- .long .L_ALT_OP_UNUSED_87FF /* 0x187 */
- .long .L_ALT_OP_UNUSED_88FF /* 0x188 */
- .long .L_ALT_OP_UNUSED_89FF /* 0x189 */
- .long .L_ALT_OP_UNUSED_8AFF /* 0x18a */
- .long .L_ALT_OP_UNUSED_8BFF /* 0x18b */
- .long .L_ALT_OP_UNUSED_8CFF /* 0x18c */
- .long .L_ALT_OP_UNUSED_8DFF /* 0x18d */
- .long .L_ALT_OP_UNUSED_8EFF /* 0x18e */
- .long .L_ALT_OP_UNUSED_8FFF /* 0x18f */
- .long .L_ALT_OP_UNUSED_90FF /* 0x190 */
- .long .L_ALT_OP_UNUSED_91FF /* 0x191 */
- .long .L_ALT_OP_UNUSED_92FF /* 0x192 */
- .long .L_ALT_OP_UNUSED_93FF /* 0x193 */
- .long .L_ALT_OP_UNUSED_94FF /* 0x194 */
- .long .L_ALT_OP_UNUSED_95FF /* 0x195 */
- .long .L_ALT_OP_UNUSED_96FF /* 0x196 */
- .long .L_ALT_OP_UNUSED_97FF /* 0x197 */
- .long .L_ALT_OP_UNUSED_98FF /* 0x198 */
- .long .L_ALT_OP_UNUSED_99FF /* 0x199 */
- .long .L_ALT_OP_UNUSED_9AFF /* 0x19a */
- .long .L_ALT_OP_UNUSED_9BFF /* 0x19b */
- .long .L_ALT_OP_UNUSED_9CFF /* 0x19c */
- .long .L_ALT_OP_UNUSED_9DFF /* 0x19d */
- .long .L_ALT_OP_UNUSED_9EFF /* 0x19e */
- .long .L_ALT_OP_UNUSED_9FFF /* 0x19f */
- .long .L_ALT_OP_UNUSED_A0FF /* 0x1a0 */
- .long .L_ALT_OP_UNUSED_A1FF /* 0x1a1 */
- .long .L_ALT_OP_UNUSED_A2FF /* 0x1a2 */
- .long .L_ALT_OP_UNUSED_A3FF /* 0x1a3 */
- .long .L_ALT_OP_UNUSED_A4FF /* 0x1a4 */
- .long .L_ALT_OP_UNUSED_A5FF /* 0x1a5 */
- .long .L_ALT_OP_UNUSED_A6FF /* 0x1a6 */
- .long .L_ALT_OP_UNUSED_A7FF /* 0x1a7 */
- .long .L_ALT_OP_UNUSED_A8FF /* 0x1a8 */
- .long .L_ALT_OP_UNUSED_A9FF /* 0x1a9 */
- .long .L_ALT_OP_UNUSED_AAFF /* 0x1aa */
- .long .L_ALT_OP_UNUSED_ABFF /* 0x1ab */
- .long .L_ALT_OP_UNUSED_ACFF /* 0x1ac */
- .long .L_ALT_OP_UNUSED_ADFF /* 0x1ad */
- .long .L_ALT_OP_UNUSED_AEFF /* 0x1ae */
- .long .L_ALT_OP_UNUSED_AFFF /* 0x1af */
- .long .L_ALT_OP_UNUSED_B0FF /* 0x1b0 */
- .long .L_ALT_OP_UNUSED_B1FF /* 0x1b1 */
- .long .L_ALT_OP_UNUSED_B2FF /* 0x1b2 */
- .long .L_ALT_OP_UNUSED_B3FF /* 0x1b3 */
- .long .L_ALT_OP_UNUSED_B4FF /* 0x1b4 */
- .long .L_ALT_OP_UNUSED_B5FF /* 0x1b5 */
- .long .L_ALT_OP_UNUSED_B6FF /* 0x1b6 */
- .long .L_ALT_OP_UNUSED_B7FF /* 0x1b7 */
- .long .L_ALT_OP_UNUSED_B8FF /* 0x1b8 */
- .long .L_ALT_OP_UNUSED_B9FF /* 0x1b9 */
- .long .L_ALT_OP_UNUSED_BAFF /* 0x1ba */
- .long .L_ALT_OP_UNUSED_BBFF /* 0x1bb */
- .long .L_ALT_OP_UNUSED_BCFF /* 0x1bc */
- .long .L_ALT_OP_UNUSED_BDFF /* 0x1bd */
- .long .L_ALT_OP_UNUSED_BEFF /* 0x1be */
- .long .L_ALT_OP_UNUSED_BFFF /* 0x1bf */
- .long .L_ALT_OP_UNUSED_C0FF /* 0x1c0 */
- .long .L_ALT_OP_UNUSED_C1FF /* 0x1c1 */
- .long .L_ALT_OP_UNUSED_C2FF /* 0x1c2 */
- .long .L_ALT_OP_UNUSED_C3FF /* 0x1c3 */
- .long .L_ALT_OP_UNUSED_C4FF /* 0x1c4 */
- .long .L_ALT_OP_UNUSED_C5FF /* 0x1c5 */
- .long .L_ALT_OP_UNUSED_C6FF /* 0x1c6 */
- .long .L_ALT_OP_UNUSED_C7FF /* 0x1c7 */
- .long .L_ALT_OP_UNUSED_C8FF /* 0x1c8 */
- .long .L_ALT_OP_UNUSED_C9FF /* 0x1c9 */
- .long .L_ALT_OP_UNUSED_CAFF /* 0x1ca */
- .long .L_ALT_OP_UNUSED_CBFF /* 0x1cb */
- .long .L_ALT_OP_UNUSED_CCFF /* 0x1cc */
- .long .L_ALT_OP_UNUSED_CDFF /* 0x1cd */
- .long .L_ALT_OP_UNUSED_CEFF /* 0x1ce */
- .long .L_ALT_OP_UNUSED_CFFF /* 0x1cf */
- .long .L_ALT_OP_UNUSED_D0FF /* 0x1d0 */
- .long .L_ALT_OP_UNUSED_D1FF /* 0x1d1 */
- .long .L_ALT_OP_UNUSED_D2FF /* 0x1d2 */
- .long .L_ALT_OP_UNUSED_D3FF /* 0x1d3 */
- .long .L_ALT_OP_UNUSED_D4FF /* 0x1d4 */
- .long .L_ALT_OP_UNUSED_D5FF /* 0x1d5 */
- .long .L_ALT_OP_UNUSED_D6FF /* 0x1d6 */
- .long .L_ALT_OP_UNUSED_D7FF /* 0x1d7 */
- .long .L_ALT_OP_UNUSED_D8FF /* 0x1d8 */
- .long .L_ALT_OP_UNUSED_D9FF /* 0x1d9 */
- .long .L_ALT_OP_UNUSED_DAFF /* 0x1da */
- .long .L_ALT_OP_UNUSED_DBFF /* 0x1db */
- .long .L_ALT_OP_UNUSED_DCFF /* 0x1dc */
- .long .L_ALT_OP_UNUSED_DDFF /* 0x1dd */
- .long .L_ALT_OP_UNUSED_DEFF /* 0x1de */
- .long .L_ALT_OP_UNUSED_DFFF /* 0x1df */
- .long .L_ALT_OP_UNUSED_E0FF /* 0x1e0 */
- .long .L_ALT_OP_UNUSED_E1FF /* 0x1e1 */
- .long .L_ALT_OP_UNUSED_E2FF /* 0x1e2 */
- .long .L_ALT_OP_UNUSED_E3FF /* 0x1e3 */
- .long .L_ALT_OP_UNUSED_E4FF /* 0x1e4 */
- .long .L_ALT_OP_UNUSED_E5FF /* 0x1e5 */
- .long .L_ALT_OP_UNUSED_E6FF /* 0x1e6 */
- .long .L_ALT_OP_UNUSED_E7FF /* 0x1e7 */
- .long .L_ALT_OP_UNUSED_E8FF /* 0x1e8 */
- .long .L_ALT_OP_UNUSED_E9FF /* 0x1e9 */
- .long .L_ALT_OP_UNUSED_EAFF /* 0x1ea */
- .long .L_ALT_OP_UNUSED_EBFF /* 0x1eb */
- .long .L_ALT_OP_UNUSED_ECFF /* 0x1ec */
- .long .L_ALT_OP_UNUSED_EDFF /* 0x1ed */
- .long .L_ALT_OP_UNUSED_EEFF /* 0x1ee */
- .long .L_ALT_OP_UNUSED_EFFF /* 0x1ef */
- .long .L_ALT_OP_UNUSED_F0FF /* 0x1f0 */
- .long .L_ALT_OP_UNUSED_F1FF /* 0x1f1 */
- .long .L_ALT_OP_INVOKE_OBJECT_INIT_JUMBO /* 0x1f2 */
- .long .L_ALT_OP_IGET_VOLATILE_JUMBO /* 0x1f3 */
- .long .L_ALT_OP_IGET_WIDE_VOLATILE_JUMBO /* 0x1f4 */
- .long .L_ALT_OP_IGET_OBJECT_VOLATILE_JUMBO /* 0x1f5 */
- .long .L_ALT_OP_IPUT_VOLATILE_JUMBO /* 0x1f6 */
- .long .L_ALT_OP_IPUT_WIDE_VOLATILE_JUMBO /* 0x1f7 */
- .long .L_ALT_OP_IPUT_OBJECT_VOLATILE_JUMBO /* 0x1f8 */
- .long .L_ALT_OP_SGET_VOLATILE_JUMBO /* 0x1f9 */
- .long .L_ALT_OP_SGET_WIDE_VOLATILE_JUMBO /* 0x1fa */
- .long .L_ALT_OP_SGET_OBJECT_VOLATILE_JUMBO /* 0x1fb */
- .long .L_ALT_OP_SPUT_VOLATILE_JUMBO /* 0x1fc */
- .long .L_ALT_OP_SPUT_WIDE_VOLATILE_JUMBO /* 0x1fd */
- .long .L_ALT_OP_SPUT_OBJECT_VOLATILE_JUMBO /* 0x1fe */
- .long .L_ALT_OP_THROW_VERIFICATION_ERROR_JUMBO /* 0x1ff */
+ .long .L_ALT_OP_UNUSED_FF /* 0xff */
/* File: x86/entry.S */
/*
* Copyright (C) 2008 The Android Open Source Project
@@ -26126,30 +15422,6 @@ common_selectTrace:
/*
- * Common code for jumbo method invocation.
- *
- * On entry:
- * eax = Method* methodToCall
- * rINSTw trashed, must reload
- * rIBASE trashed, must reload before resuming interpreter
- */
-
-common_invokeMethodJumbo:
-.LinvokeNewJumbo:
-
- /*
- * prepare to copy args to "outs" area of current frame
- */
- movzwl 6(rPC),rINST # rINST<- BBBB
- movzwl 8(rPC), %ecx # %ecx<- CCCC
- ADVANCE_PC 2 # adjust pc to make return similar
- SAVEAREA_FROM_FP %edx # %edx<- &StackSaveArea
- test rINST, rINST
- movl rINST, LOCAL0_OFFSET(%ebp) # LOCAL0_OFFSET(%ebp)<- BBBB
- jz .LinvokeArgsDone # no args; jump to args done
- jmp .LinvokeRangeArgs # handle args like invoke range
-
-/*
* Common code for method invocation with range.
*
* On entry:
diff --git a/vm/mterp/out/InterpC-allstubs.cpp b/vm/mterp/out/InterpC-allstubs.cpp
index b5c7f1588..d8d2f3509 100644
--- a/vm/mterp/out/InterpC-allstubs.cpp
+++ b/vm/mterp/out/InterpC-allstubs.cpp
@@ -471,9 +471,9 @@ static inline bool checkForNullExportPC(Object* obj, u4* fp, const u2* pc)
return; \
} while(false)
-#define GOTO_invoke(_target, _methodCallRange, _jumboFormat) \
+#define GOTO_invoke(_target, _methodCallRange) \
do { \
- dvmMterp_##_target(self, _methodCallRange, _jumboFormat); \
+ dvmMterp_##_target(self, _methodCallRange); \
return; \
} while(false)
@@ -505,14 +505,14 @@ static inline bool checkForNullExportPC(Object* obj, u4* fp, const u2* pc)
/* File: c/opcommon.cpp */
/* forward declarations of goto targets */
-GOTO_TARGET_DECL(filledNewArray, bool methodCallRange, bool jumboFormat);
-GOTO_TARGET_DECL(invokeVirtual, bool methodCallRange, bool jumboFormat);
-GOTO_TARGET_DECL(invokeSuper, bool methodCallRange, bool jumboFormat);
-GOTO_TARGET_DECL(invokeInterface, bool methodCallRange, bool jumboFormat);
-GOTO_TARGET_DECL(invokeDirect, bool methodCallRange, bool jumboFormat);
-GOTO_TARGET_DECL(invokeStatic, bool methodCallRange, bool jumboFormat);
-GOTO_TARGET_DECL(invokeVirtualQuick, bool methodCallRange, bool jumboFormat);
-GOTO_TARGET_DECL(invokeSuperQuick, bool methodCallRange, bool jumboFormat);
+GOTO_TARGET_DECL(filledNewArray, bool methodCallRange);
+GOTO_TARGET_DECL(invokeVirtual, bool methodCallRange);
+GOTO_TARGET_DECL(invokeSuper, bool methodCallRange);
+GOTO_TARGET_DECL(invokeInterface, bool methodCallRange);
+GOTO_TARGET_DECL(invokeDirect, bool methodCallRange);
+GOTO_TARGET_DECL(invokeStatic, bool methodCallRange);
+GOTO_TARGET_DECL(invokeVirtualQuick, bool methodCallRange);
+GOTO_TARGET_DECL(invokeSuperQuick, bool methodCallRange);
GOTO_TARGET_DECL(invokeMethod, bool methodCallRange, const Method* methodToCall,
u2 count, u2 regs);
GOTO_TARGET_DECL(returnFromMethod);
@@ -1036,33 +1036,6 @@ GOTO_TARGET_DECL(exceptionThrown);
} \
FINISH(2);
-#define HANDLE_IGET_X_JUMBO(_opcode, _opname, _ftype, _regsize) \
- HANDLE_OPCODE(_opcode /*vBBBB, vCCCC, class@AAAAAAAA*/) \
- { \
- InstField* ifield; \
- Object* obj; \
- EXPORT_PC(); \
- ref = FETCH(1) | (u4)FETCH(2) << 16; /* field ref */ \
- vdst = FETCH(3); \
- vsrc1 = FETCH(4); /* object ptr */ \
- ILOGV("|iget%s/jumbo v%d,v%d,field@0x%08x", \
- (_opname), vdst, vsrc1, ref); \
- obj = (Object*) GET_REGISTER(vsrc1); \
- if (!checkForNull(obj)) \
- GOTO_exceptionThrown(); \
- ifield = (InstField*) dvmDexGetResolvedField(methodClassDex, ref); \
- if (ifield == NULL) { \
- ifield = dvmResolveInstField(curMethod->clazz, ref); \
- if (ifield == NULL) \
- GOTO_exceptionThrown(); \
- } \
- SET_REGISTER##_regsize(vdst, \
- dvmGetField##_ftype(obj, ifield->byteOffset)); \
- ILOGV("+ IGET '%s'=0x%08llx", ifield->field.name, \
- (u8) GET_REGISTER##_regsize(vdst)); \
- } \
- FINISH(5);
-
#define HANDLE_IGET_X_QUICK(_opcode, _opname, _ftype, _regsize) \
HANDLE_OPCODE(_opcode /*vA, vB, field@CCCC*/) \
{ \
@@ -1107,33 +1080,6 @@ GOTO_TARGET_DECL(exceptionThrown);
} \
FINISH(2);
-#define HANDLE_IPUT_X_JUMBO(_opcode, _opname, _ftype, _regsize) \
- HANDLE_OPCODE(_opcode /*vBBBB, vCCCC, class@AAAAAAAA*/) \
- { \
- InstField* ifield; \
- Object* obj; \
- EXPORT_PC(); \
- ref = FETCH(1) | (u4)FETCH(2) << 16; /* field ref */ \
- vdst = FETCH(3); \
- vsrc1 = FETCH(4); /* object ptr */ \
- ILOGV("|iput%s/jumbo v%d,v%d,field@0x%08x", \
- (_opname), vdst, vsrc1, ref); \
- obj = (Object*) GET_REGISTER(vsrc1); \
- if (!checkForNull(obj)) \
- GOTO_exceptionThrown(); \
- ifield = (InstField*) dvmDexGetResolvedField(methodClassDex, ref); \
- if (ifield == NULL) { \
- ifield = dvmResolveInstField(curMethod->clazz, ref); \
- if (ifield == NULL) \
- GOTO_exceptionThrown(); \
- } \
- dvmSetField##_ftype(obj, ifield->byteOffset, \
- GET_REGISTER##_regsize(vdst)); \
- ILOGV("+ IPUT '%s'=0x%08llx", ifield->field.name, \
- (u8) GET_REGISTER##_regsize(vdst)); \
- } \
- FINISH(5);
-
#define HANDLE_IPUT_X_QUICK(_opcode, _opname, _ftype, _regsize) \
HANDLE_OPCODE(_opcode /*vA, vB, field@CCCC*/) \
{ \
@@ -1183,29 +1129,6 @@ GOTO_TARGET_DECL(exceptionThrown);
} \
FINISH(2);
-#define HANDLE_SGET_X_JUMBO(_opcode, _opname, _ftype, _regsize) \
- HANDLE_OPCODE(_opcode /*vBBBB, class@AAAAAAAA*/) \
- { \
- StaticField* sfield; \
- ref = FETCH(1) | (u4)FETCH(2) << 16; /* field ref */ \
- vdst = FETCH(3); \
- ILOGV("|sget%s/jumbo v%d,sfield@0x%08x", (_opname), vdst, ref); \
- sfield = (StaticField*)dvmDexGetResolvedField(methodClassDex, ref); \
- if (sfield == NULL) { \
- EXPORT_PC(); \
- sfield = dvmResolveStaticField(curMethod->clazz, ref); \
- if (sfield == NULL) \
- GOTO_exceptionThrown(); \
- if (dvmDexGetResolvedField(methodClassDex, ref) == NULL) { \
- JIT_STUB_HACK(dvmJitEndTraceSelect(self,pc)); \
- } \
- } \
- SET_REGISTER##_regsize(vdst, dvmGetStaticField##_ftype(sfield)); \
- ILOGV("+ SGET '%s'=0x%08llx", \
- sfield->field.name, (u8)GET_REGISTER##_regsize(vdst)); \
- } \
- FINISH(4);
-
#define HANDLE_SPUT_X(_opcode, _opname, _ftype, _regsize) \
HANDLE_OPCODE(_opcode /*vAA, field@BBBB*/) \
{ \
@@ -1229,29 +1152,6 @@ GOTO_TARGET_DECL(exceptionThrown);
} \
FINISH(2);
-#define HANDLE_SPUT_X_JUMBO(_opcode, _opname, _ftype, _regsize) \
- HANDLE_OPCODE(_opcode /*vBBBB, class@AAAAAAAA*/) \
- { \
- StaticField* sfield; \
- ref = FETCH(1) | (u4)FETCH(2) << 16; /* field ref */ \
- vdst = FETCH(3); \
- ILOGV("|sput%s/jumbo v%d,sfield@0x%08x", (_opname), vdst, ref); \
- sfield = (StaticField*)dvmDexGetResolvedField(methodClassDex, ref); \
- if (sfield == NULL) { \
- EXPORT_PC(); \
- sfield = dvmResolveStaticField(curMethod->clazz, ref); \
- if (sfield == NULL) \
- GOTO_exceptionThrown(); \
- if (dvmDexGetResolvedField(methodClassDex, ref) == NULL) { \
- JIT_STUB_HACK(dvmJitEndTraceSelect(self,pc)); \
- } \
- } \
- dvmSetStaticField##_ftype(sfield, GET_REGISTER##_regsize(vdst)); \
- ILOGV("+ SPUT '%s'=0x%08llx", \
- sfield->field.name, (u8)GET_REGISTER##_regsize(vdst)); \
- } \
- FINISH(4);
-
/* File: c/OP_NOP.cpp */
HANDLE_OPCODE(OP_NOP)
FINISH(1);
@@ -1814,12 +1714,12 @@ OP_END
/* File: c/OP_FILLED_NEW_ARRAY.cpp */
HANDLE_OPCODE(OP_FILLED_NEW_ARRAY /*vB, {vD, vE, vF, vG, vA}, class@CCCC*/)
- GOTO_invoke(filledNewArray, false, false);
+ GOTO_invoke(filledNewArray, false);
OP_END
/* File: c/OP_FILLED_NEW_ARRAY_RANGE.cpp */
HANDLE_OPCODE(OP_FILLED_NEW_ARRAY_RANGE /*{vCCCC..v(CCCC+AA-1)}, class@BBBB*/)
- GOTO_invoke(filledNewArray, true, false);
+ GOTO_invoke(filledNewArray, true);
OP_END
/* File: c/OP_FILL_ARRAY_DATA.cpp */
@@ -2294,27 +2194,27 @@ OP_END
/* File: c/OP_INVOKE_VIRTUAL.cpp */
HANDLE_OPCODE(OP_INVOKE_VIRTUAL /*vB, {vD, vE, vF, vG, vA}, meth@CCCC*/)
- GOTO_invoke(invokeVirtual, false, false);
+ GOTO_invoke(invokeVirtual, false);
OP_END
/* File: c/OP_INVOKE_SUPER.cpp */
HANDLE_OPCODE(OP_INVOKE_SUPER /*vB, {vD, vE, vF, vG, vA}, meth@CCCC*/)
- GOTO_invoke(invokeSuper, false, false);
+ GOTO_invoke(invokeSuper, false);
OP_END
/* File: c/OP_INVOKE_DIRECT.cpp */
HANDLE_OPCODE(OP_INVOKE_DIRECT /*vB, {vD, vE, vF, vG, vA}, meth@CCCC*/)
- GOTO_invoke(invokeDirect, false, false);
+ GOTO_invoke(invokeDirect, false);
OP_END
/* File: c/OP_INVOKE_STATIC.cpp */
HANDLE_OPCODE(OP_INVOKE_STATIC /*vB, {vD, vE, vF, vG, vA}, meth@CCCC*/)
- GOTO_invoke(invokeStatic, false, false);
+ GOTO_invoke(invokeStatic, false);
OP_END
/* File: c/OP_INVOKE_INTERFACE.cpp */
HANDLE_OPCODE(OP_INVOKE_INTERFACE /*vB, {vD, vE, vF, vG, vA}, meth@CCCC*/)
- GOTO_invoke(invokeInterface, false, false);
+ GOTO_invoke(invokeInterface, false);
OP_END
/* File: c/OP_UNUSED_73.cpp */
@@ -2323,27 +2223,27 @@ OP_END
/* File: c/OP_INVOKE_VIRTUAL_RANGE.cpp */
HANDLE_OPCODE(OP_INVOKE_VIRTUAL_RANGE /*{vCCCC..v(CCCC+AA-1)}, meth@BBBB*/)
- GOTO_invoke(invokeVirtual, true, false);
+ GOTO_invoke(invokeVirtual, true);
OP_END
/* File: c/OP_INVOKE_SUPER_RANGE.cpp */
HANDLE_OPCODE(OP_INVOKE_SUPER_RANGE /*{vCCCC..v(CCCC+AA-1)}, meth@BBBB*/)
- GOTO_invoke(invokeSuper, true, false);
+ GOTO_invoke(invokeSuper, true);
OP_END
/* File: c/OP_INVOKE_DIRECT_RANGE.cpp */
HANDLE_OPCODE(OP_INVOKE_DIRECT_RANGE /*{vCCCC..v(CCCC+AA-1)}, meth@BBBB*/)
- GOTO_invoke(invokeDirect, true, false);
+ GOTO_invoke(invokeDirect, true);
OP_END
/* File: c/OP_INVOKE_STATIC_RANGE.cpp */
HANDLE_OPCODE(OP_INVOKE_STATIC_RANGE /*{vCCCC..v(CCCC+AA-1)}, meth@BBBB*/)
- GOTO_invoke(invokeStatic, true, false);
+ GOTO_invoke(invokeStatic, true);
OP_END
/* File: c/OP_INVOKE_INTERFACE_RANGE.cpp */
HANDLE_OPCODE(OP_INVOKE_INTERFACE_RANGE /*{vCCCC..v(CCCC+AA-1)}, meth@BBBB*/)
- GOTO_invoke(invokeInterface, true, false);
+ GOTO_invoke(invokeInterface, true);
OP_END
/* File: c/OP_UNUSED_79.cpp */
@@ -3028,7 +2928,7 @@ HANDLE_OPCODE(OP_INVOKE_OBJECT_INIT_RANGE /*{vCCCC..v(CCCC+AA-1)}, meth@BBBB*/)
if (self->interpBreak.ctl.subMode & kSubModeDebuggerActive) {
/* behave like OP_INVOKE_DIRECT_RANGE */
- GOTO_invoke(invokeDirect, true, false);
+ GOTO_invoke(invokeDirect, true);
}
FINISH(3);
}
@@ -3070,22 +2970,22 @@ OP_END
/* File: c/OP_INVOKE_VIRTUAL_QUICK.cpp */
HANDLE_OPCODE(OP_INVOKE_VIRTUAL_QUICK /*vB, {vD, vE, vF, vG, vA}, meth@CCCC*/)
- GOTO_invoke(invokeVirtualQuick, false, false);
+ GOTO_invoke(invokeVirtualQuick, false);
OP_END
/* File: c/OP_INVOKE_VIRTUAL_QUICK_RANGE.cpp */
HANDLE_OPCODE(OP_INVOKE_VIRTUAL_QUICK_RANGE/*{vCCCC..v(CCCC+AA-1)}, meth@BBBB*/)
- GOTO_invoke(invokeVirtualQuick, true, false);
+ GOTO_invoke(invokeVirtualQuick, true);
OP_END
/* File: c/OP_INVOKE_SUPER_QUICK.cpp */
HANDLE_OPCODE(OP_INVOKE_SUPER_QUICK /*vB, {vD, vE, vF, vG, vA}, meth@CCCC*/)
- GOTO_invoke(invokeSuperQuick, false, false);
+ GOTO_invoke(invokeSuperQuick, false);
OP_END
/* File: c/OP_INVOKE_SUPER_QUICK_RANGE.cpp */
HANDLE_OPCODE(OP_INVOKE_SUPER_QUICK_RANGE /*{vCCCC..v(CCCC+AA-1)}, meth@BBBB*/)
- GOTO_invoke(invokeSuperQuick, true, false);
+ GOTO_invoke(invokeSuperQuick, true);
OP_END
/* File: c/OP_IPUT_OBJECT_VOLATILE.cpp */
@@ -3100,1245 +3000,16 @@ OP_END
HANDLE_SPUT_X(OP_SPUT_OBJECT_VOLATILE, "-object-volatile", ObjectVolatile, _AS_OBJECT)
OP_END
-/* File: c/OP_DISPATCH_FF.cpp */
-HANDLE_OPCODE(OP_DISPATCH_FF)
- /*
- * Indicates extended opcode. Use next 8 bits to choose where to branch.
- */
- DISPATCH_EXTENDED(INST_AA(inst));
-OP_END
-
-/* File: c/OP_CONST_CLASS_JUMBO.cpp */
-HANDLE_OPCODE(OP_CONST_CLASS_JUMBO /*vBBBB, class@AAAAAAAA*/)
- {
- ClassObject* clazz;
-
- ref = FETCH(1) | (u4)FETCH(2) << 16;
- vdst = FETCH(3);
- ILOGV("|const-class/jumbo v%d class@0x%08x", vdst, ref);
- clazz = dvmDexGetResolvedClass(methodClassDex, ref);
- if (clazz == NULL) {
- EXPORT_PC();
- clazz = dvmResolveClass(curMethod->clazz, ref, true);
- if (clazz == NULL)
- GOTO_exceptionThrown();
- }
- SET_REGISTER(vdst, (u4) clazz);
- }
- FINISH(4);
-OP_END
-
-/* File: c/OP_CHECK_CAST_JUMBO.cpp */
-HANDLE_OPCODE(OP_CHECK_CAST_JUMBO /*vBBBB, class@AAAAAAAA*/)
- {
- ClassObject* clazz;
- Object* obj;
-
- EXPORT_PC();
-
- ref = FETCH(1) | (u4)FETCH(2) << 16; /* class to check against */
- vsrc1 = FETCH(3);
- ILOGV("|check-cast/jumbo v%d,class@0x%08x", vsrc1, ref);
-
- obj = (Object*)GET_REGISTER(vsrc1);
- if (obj != NULL) {
-#if defined(WITH_EXTRA_OBJECT_VALIDATION)
- if (!checkForNull(obj))
- GOTO_exceptionThrown();
-#endif
- clazz = dvmDexGetResolvedClass(methodClassDex, ref);
- if (clazz == NULL) {
- clazz = dvmResolveClass(curMethod->clazz, ref, false);
- if (clazz == NULL)
- GOTO_exceptionThrown();
- }
- if (!dvmInstanceof(obj->clazz, clazz)) {
- dvmThrowClassCastException(obj->clazz, clazz);
- GOTO_exceptionThrown();
- }
- }
- }
- FINISH(4);
-OP_END
-
-/* File: c/OP_INSTANCE_OF_JUMBO.cpp */
-HANDLE_OPCODE(OP_INSTANCE_OF_JUMBO /*vBBBB, vCCCC, class@AAAAAAAA*/)
- {
- ClassObject* clazz;
- Object* obj;
-
- ref = FETCH(1) | (u4)FETCH(2) << 16; /* class to check against */
- vdst = FETCH(3);
- vsrc1 = FETCH(4); /* object to check */
- ILOGV("|instance-of/jumbo v%d,v%d,class@0x%08x", vdst, vsrc1, ref);
-
- obj = (Object*)GET_REGISTER(vsrc1);
- if (obj == NULL) {
- SET_REGISTER(vdst, 0);
- } else {
-#if defined(WITH_EXTRA_OBJECT_VALIDATION)
- if (!checkForNullExportPC(obj, fp, pc))
- GOTO_exceptionThrown();
-#endif
- clazz = dvmDexGetResolvedClass(methodClassDex, ref);
- if (clazz == NULL) {
- EXPORT_PC();
- clazz = dvmResolveClass(curMethod->clazz, ref, true);
- if (clazz == NULL)
- GOTO_exceptionThrown();
- }
- SET_REGISTER(vdst, dvmInstanceof(obj->clazz, clazz));
- }
- }
- FINISH(5);
-OP_END
-
-/* File: c/OP_NEW_INSTANCE_JUMBO.cpp */
-HANDLE_OPCODE(OP_NEW_INSTANCE_JUMBO /*vBBBB, class@AAAAAAAA*/)
- {
- ClassObject* clazz;
- Object* newObj;
-
- EXPORT_PC();
-
- ref = FETCH(1) | (u4)FETCH(2) << 16;
- vdst = FETCH(3);
- ILOGV("|new-instance/jumbo v%d,class@0x%08x", vdst, ref);
- clazz = dvmDexGetResolvedClass(methodClassDex, ref);
- if (clazz == NULL) {
- clazz = dvmResolveClass(curMethod->clazz, ref, false);
- if (clazz == NULL)
- GOTO_exceptionThrown();
- }
-
- if (!dvmIsClassInitialized(clazz) && !dvmInitClass(clazz))
- GOTO_exceptionThrown();
-
-#if defined(WITH_JIT)
- /*
- * The JIT needs dvmDexGetResolvedClass() to return non-null.
- * Since we use the portable interpreter to build the trace, this extra
- * check is not needed for mterp.
- */
- if ((self->interpBreak.ctl.subMode & kSubModeJitTraceBuild) &&
- (!dvmDexGetResolvedClass(methodClassDex, ref))) {
- /* Class initialization is still ongoing - end the trace */
- dvmJitEndTraceSelect(self,pc);
- }
-#endif
-
- /*
- * Verifier now tests for interface/abstract class.
- */
- //if (dvmIsInterfaceClass(clazz) || dvmIsAbstractClass(clazz)) {
- // dvmThrowExceptionWithClassMessage(gDvm.exInstantiationError,
- // clazz->descriptor);
- // GOTO_exceptionThrown();
- //}
- newObj = dvmAllocObject(clazz, ALLOC_DONT_TRACK);
- if (newObj == NULL)
- GOTO_exceptionThrown();
- SET_REGISTER(vdst, (u4) newObj);
- }
- FINISH(4);
-OP_END
-
-/* File: c/OP_NEW_ARRAY_JUMBO.cpp */
-HANDLE_OPCODE(OP_NEW_ARRAY_JUMBO /*vBBBB, vCCCC, class@AAAAAAAA*/)
- {
- ClassObject* arrayClass;
- ArrayObject* newArray;
- s4 length;
-
- EXPORT_PC();
-
- ref = FETCH(1) | (u4)FETCH(2) << 16;
- vdst = FETCH(3);
- vsrc1 = FETCH(4); /* length reg */
- ILOGV("|new-array/jumbo v%d,v%d,class@0x%08x (%d elements)",
- vdst, vsrc1, ref, (s4) GET_REGISTER(vsrc1));
- length = (s4) GET_REGISTER(vsrc1);
- if (length < 0) {
- dvmThrowNegativeArraySizeException(length);
- GOTO_exceptionThrown();
- }
- arrayClass = dvmDexGetResolvedClass(methodClassDex, ref);
- if (arrayClass == NULL) {
- arrayClass = dvmResolveClass(curMethod->clazz, ref, false);
- if (arrayClass == NULL)
- GOTO_exceptionThrown();
- }
- /* verifier guarantees this is an array class */
- assert(dvmIsArrayClass(arrayClass));
- assert(dvmIsClassInitialized(arrayClass));
-
- newArray = dvmAllocArrayByClass(arrayClass, length, ALLOC_DONT_TRACK);
- if (newArray == NULL)
- GOTO_exceptionThrown();
- SET_REGISTER(vdst, (u4) newArray);
- }
- FINISH(5);
-OP_END
-
-/* File: c/OP_FILLED_NEW_ARRAY_JUMBO.cpp */
-HANDLE_OPCODE(OP_FILLED_NEW_ARRAY_JUMBO /*{vCCCC..v(CCCC+BBBB-1)}, class@AAAAAAAA*/)
- GOTO_invoke(filledNewArray, true, true);
-OP_END
-
-/* File: c/OP_IGET_JUMBO.cpp */
-HANDLE_IGET_X_JUMBO(OP_IGET_JUMBO, "", Int, )
-OP_END
-
-/* File: c/OP_IGET_WIDE_JUMBO.cpp */
-HANDLE_IGET_X_JUMBO(OP_IGET_WIDE_JUMBO, "-wide", Long, _WIDE)
-OP_END
-
-/* File: c/OP_IGET_OBJECT_JUMBO.cpp */
-HANDLE_IGET_X_JUMBO(OP_IGET_OBJECT_JUMBO, "-object", Object, _AS_OBJECT)
-OP_END
-
-/* File: c/OP_IGET_BOOLEAN_JUMBO.cpp */
-HANDLE_IGET_X_JUMBO(OP_IGET_BOOLEAN_JUMBO, "", Int, )
-OP_END
-
-/* File: c/OP_IGET_BYTE_JUMBO.cpp */
-HANDLE_IGET_X_JUMBO(OP_IGET_BYTE_JUMBO, "", Int, )
-OP_END
-
-/* File: c/OP_IGET_CHAR_JUMBO.cpp */
-HANDLE_IGET_X_JUMBO(OP_IGET_CHAR_JUMBO, "", Int, )
-OP_END
-
-/* File: c/OP_IGET_SHORT_JUMBO.cpp */
-HANDLE_IGET_X_JUMBO(OP_IGET_SHORT_JUMBO, "", Int, )
-OP_END
-
-/* File: c/OP_IPUT_JUMBO.cpp */
-HANDLE_IPUT_X_JUMBO(OP_IPUT_JUMBO, "", Int, )
-OP_END
-
-/* File: c/OP_IPUT_WIDE_JUMBO.cpp */
-HANDLE_IPUT_X_JUMBO(OP_IPUT_WIDE_JUMBO, "-wide", Long, _WIDE)
-OP_END
-
-/* File: c/OP_IPUT_OBJECT_JUMBO.cpp */
-/*
- * The VM spec says we should verify that the reference being stored into
- * the field is assignment compatible. In practice, many popular VMs don't
- * do this because it slows down a very common operation. It's not so bad
- * for us, since "dexopt" quickens it whenever possible, but it's still an
- * issue.
- *
- * To make this spec-complaint, we'd need to add a ClassObject pointer to
- * the Field struct, resolve the field's type descriptor at link or class
- * init time, and then verify the type here.
- */
-HANDLE_IPUT_X_JUMBO(OP_IPUT_OBJECT_JUMBO, "-object", Object, _AS_OBJECT)
-OP_END
-
-/* File: c/OP_IPUT_BOOLEAN_JUMBO.cpp */
-HANDLE_IPUT_X_JUMBO(OP_IPUT_BOOLEAN_JUMBO, "", Int, )
-OP_END
-
-/* File: c/OP_IPUT_BYTE_JUMBO.cpp */
-HANDLE_IPUT_X_JUMBO(OP_IPUT_BYTE_JUMBO, "", Int, )
-OP_END
-
-/* File: c/OP_IPUT_CHAR_JUMBO.cpp */
-HANDLE_IPUT_X_JUMBO(OP_IPUT_CHAR_JUMBO, "", Int, )
-OP_END
-
-/* File: c/OP_IPUT_SHORT_JUMBO.cpp */
-HANDLE_IPUT_X_JUMBO(OP_IPUT_SHORT_JUMBO, "", Int, )
-OP_END
-
-/* File: c/OP_SGET_JUMBO.cpp */
-HANDLE_SGET_X_JUMBO(OP_SGET_JUMBO, "", Int, )
-OP_END
-
-/* File: c/OP_SGET_WIDE_JUMBO.cpp */
-HANDLE_SGET_X_JUMBO(OP_SGET_WIDE_JUMBO, "-wide", Long, _WIDE)
-OP_END
-
-/* File: c/OP_SGET_OBJECT_JUMBO.cpp */
-HANDLE_SGET_X_JUMBO(OP_SGET_OBJECT_JUMBO, "-object", Object, _AS_OBJECT)
-OP_END
-
-/* File: c/OP_SGET_BOOLEAN_JUMBO.cpp */
-HANDLE_SGET_X_JUMBO(OP_SGET_BOOLEAN_JUMBO, "", Int, )
-OP_END
-
-/* File: c/OP_SGET_BYTE_JUMBO.cpp */
-HANDLE_SGET_X_JUMBO(OP_SGET_BYTE_JUMBO, "", Int, )
-OP_END
-
-/* File: c/OP_SGET_CHAR_JUMBO.cpp */
-HANDLE_SGET_X_JUMBO(OP_SGET_CHAR_JUMBO, "", Int, )
-OP_END
-
-/* File: c/OP_SGET_SHORT_JUMBO.cpp */
-HANDLE_SGET_X_JUMBO(OP_SGET_SHORT_JUMBO, "", Int, )
-OP_END
-
-/* File: c/OP_SPUT_JUMBO.cpp */
-HANDLE_SPUT_X_JUMBO(OP_SPUT_JUMBO, "", Int, )
-OP_END
-
-/* File: c/OP_SPUT_WIDE_JUMBO.cpp */
-HANDLE_SPUT_X_JUMBO(OP_SPUT_WIDE_JUMBO, "-wide", Long, _WIDE)
-OP_END
-
-/* File: c/OP_SPUT_OBJECT_JUMBO.cpp */
-HANDLE_SPUT_X_JUMBO(OP_SPUT_OBJECT_JUMBO, "-object", Object, _AS_OBJECT)
-OP_END
-
-/* File: c/OP_SPUT_BOOLEAN_JUMBO.cpp */
-HANDLE_SPUT_X_JUMBO(OP_SPUT_BOOLEAN_JUMBO, "", Int, )
-OP_END
-
-/* File: c/OP_SPUT_BYTE_JUMBO.cpp */
-HANDLE_SPUT_X_JUMBO(OP_SPUT_BYTE_JUMBO, "", Int, )
-OP_END
-
-/* File: c/OP_SPUT_CHAR_JUMBO.cpp */
-HANDLE_SPUT_X_JUMBO(OP_SPUT_CHAR_JUMBO, "", Int, )
-OP_END
-
-/* File: c/OP_SPUT_SHORT_JUMBO.cpp */
-HANDLE_SPUT_X_JUMBO(OP_SPUT_SHORT_JUMBO, "", Int, )
-OP_END
-
-/* File: c/OP_INVOKE_VIRTUAL_JUMBO.cpp */
-HANDLE_OPCODE(OP_INVOKE_VIRTUAL_JUMBO /*{vCCCC..v(CCCC+BBBB-1)}, meth@AAAAAAAA*/)
- GOTO_invoke(invokeVirtual, true, true);
-OP_END
-
-/* File: c/OP_INVOKE_SUPER_JUMBO.cpp */
-HANDLE_OPCODE(OP_INVOKE_SUPER_JUMBO /*{vCCCC..v(CCCC+BBBB-1)}, meth@AAAAAAAA*/)
- GOTO_invoke(invokeSuper, true, true);
-OP_END
-
-/* File: c/OP_INVOKE_DIRECT_JUMBO.cpp */
-HANDLE_OPCODE(OP_INVOKE_DIRECT_JUMBO /*{vCCCC..v(CCCC+BBBB-1)}, meth@AAAAAAAA*/)
- GOTO_invoke(invokeDirect, true, true);
-OP_END
-
-/* File: c/OP_INVOKE_STATIC_JUMBO.cpp */
-HANDLE_OPCODE(OP_INVOKE_STATIC_JUMBO /*{vCCCC..v(CCCC+BBBB-1)}, meth@AAAAAAAA*/)
- GOTO_invoke(invokeStatic, true, true);
-OP_END
-
-/* File: c/OP_INVOKE_INTERFACE_JUMBO.cpp */
-HANDLE_OPCODE(OP_INVOKE_INTERFACE_JUMBO /*{vCCCC..v(CCCC+BBBB-1)}, meth@AAAAAAAA*/)
- GOTO_invoke(invokeInterface, true, true);
-OP_END
-
-/* File: c/OP_UNUSED_27FF.cpp */
-HANDLE_OPCODE(OP_UNUSED_27FF)
-OP_END
-
-/* File: c/OP_UNUSED_28FF.cpp */
-HANDLE_OPCODE(OP_UNUSED_28FF)
-OP_END
-
-/* File: c/OP_UNUSED_29FF.cpp */
-HANDLE_OPCODE(OP_UNUSED_29FF)
-OP_END
-
-/* File: c/OP_UNUSED_2AFF.cpp */
-HANDLE_OPCODE(OP_UNUSED_2AFF)
-OP_END
-
-/* File: c/OP_UNUSED_2BFF.cpp */
-HANDLE_OPCODE(OP_UNUSED_2BFF)
-OP_END
-
-/* File: c/OP_UNUSED_2CFF.cpp */
-HANDLE_OPCODE(OP_UNUSED_2CFF)
-OP_END
-
-/* File: c/OP_UNUSED_2DFF.cpp */
-HANDLE_OPCODE(OP_UNUSED_2DFF)
-OP_END
-
-/* File: c/OP_UNUSED_2EFF.cpp */
-HANDLE_OPCODE(OP_UNUSED_2EFF)
-OP_END
-
-/* File: c/OP_UNUSED_2FFF.cpp */
-HANDLE_OPCODE(OP_UNUSED_2FFF)
-OP_END
-
-/* File: c/OP_UNUSED_30FF.cpp */
-HANDLE_OPCODE(OP_UNUSED_30FF)
-OP_END
-
-/* File: c/OP_UNUSED_31FF.cpp */
-HANDLE_OPCODE(OP_UNUSED_31FF)
-OP_END
-
-/* File: c/OP_UNUSED_32FF.cpp */
-HANDLE_OPCODE(OP_UNUSED_32FF)
-OP_END
-
-/* File: c/OP_UNUSED_33FF.cpp */
-HANDLE_OPCODE(OP_UNUSED_33FF)
-OP_END
-
-/* File: c/OP_UNUSED_34FF.cpp */
-HANDLE_OPCODE(OP_UNUSED_34FF)
-OP_END
-
-/* File: c/OP_UNUSED_35FF.cpp */
-HANDLE_OPCODE(OP_UNUSED_35FF)
-OP_END
-
-/* File: c/OP_UNUSED_36FF.cpp */
-HANDLE_OPCODE(OP_UNUSED_36FF)
-OP_END
-
-/* File: c/OP_UNUSED_37FF.cpp */
-HANDLE_OPCODE(OP_UNUSED_37FF)
-OP_END
-
-/* File: c/OP_UNUSED_38FF.cpp */
-HANDLE_OPCODE(OP_UNUSED_38FF)
-OP_END
-
-/* File: c/OP_UNUSED_39FF.cpp */
-HANDLE_OPCODE(OP_UNUSED_39FF)
-OP_END
-
-/* File: c/OP_UNUSED_3AFF.cpp */
-HANDLE_OPCODE(OP_UNUSED_3AFF)
-OP_END
-
-/* File: c/OP_UNUSED_3BFF.cpp */
-HANDLE_OPCODE(OP_UNUSED_3BFF)
-OP_END
-
-/* File: c/OP_UNUSED_3CFF.cpp */
-HANDLE_OPCODE(OP_UNUSED_3CFF)
-OP_END
-
-/* File: c/OP_UNUSED_3DFF.cpp */
-HANDLE_OPCODE(OP_UNUSED_3DFF)
-OP_END
-
-/* File: c/OP_UNUSED_3EFF.cpp */
-HANDLE_OPCODE(OP_UNUSED_3EFF)
-OP_END
-
-/* File: c/OP_UNUSED_3FFF.cpp */
-HANDLE_OPCODE(OP_UNUSED_3FFF)
-OP_END
-
-/* File: c/OP_UNUSED_40FF.cpp */
-HANDLE_OPCODE(OP_UNUSED_40FF)
-OP_END
-
-/* File: c/OP_UNUSED_41FF.cpp */
-HANDLE_OPCODE(OP_UNUSED_41FF)
-OP_END
-
-/* File: c/OP_UNUSED_42FF.cpp */
-HANDLE_OPCODE(OP_UNUSED_42FF)
-OP_END
-
-/* File: c/OP_UNUSED_43FF.cpp */
-HANDLE_OPCODE(OP_UNUSED_43FF)
-OP_END
-
-/* File: c/OP_UNUSED_44FF.cpp */
-HANDLE_OPCODE(OP_UNUSED_44FF)
-OP_END
-
-/* File: c/OP_UNUSED_45FF.cpp */
-HANDLE_OPCODE(OP_UNUSED_45FF)
-OP_END
-
-/* File: c/OP_UNUSED_46FF.cpp */
-HANDLE_OPCODE(OP_UNUSED_46FF)
-OP_END
-
-/* File: c/OP_UNUSED_47FF.cpp */
-HANDLE_OPCODE(OP_UNUSED_47FF)
-OP_END
-
-/* File: c/OP_UNUSED_48FF.cpp */
-HANDLE_OPCODE(OP_UNUSED_48FF)
-OP_END
-
-/* File: c/OP_UNUSED_49FF.cpp */
-HANDLE_OPCODE(OP_UNUSED_49FF)
-OP_END
-
-/* File: c/OP_UNUSED_4AFF.cpp */
-HANDLE_OPCODE(OP_UNUSED_4AFF)
-OP_END
-
-/* File: c/OP_UNUSED_4BFF.cpp */
-HANDLE_OPCODE(OP_UNUSED_4BFF)
-OP_END
-
-/* File: c/OP_UNUSED_4CFF.cpp */
-HANDLE_OPCODE(OP_UNUSED_4CFF)
-OP_END
-
-/* File: c/OP_UNUSED_4DFF.cpp */
-HANDLE_OPCODE(OP_UNUSED_4DFF)
-OP_END
-
-/* File: c/OP_UNUSED_4EFF.cpp */
-HANDLE_OPCODE(OP_UNUSED_4EFF)
-OP_END
-
-/* File: c/OP_UNUSED_4FFF.cpp */
-HANDLE_OPCODE(OP_UNUSED_4FFF)
-OP_END
-
-/* File: c/OP_UNUSED_50FF.cpp */
-HANDLE_OPCODE(OP_UNUSED_50FF)
-OP_END
-
-/* File: c/OP_UNUSED_51FF.cpp */
-HANDLE_OPCODE(OP_UNUSED_51FF)
-OP_END
-
-/* File: c/OP_UNUSED_52FF.cpp */
-HANDLE_OPCODE(OP_UNUSED_52FF)
-OP_END
-
-/* File: c/OP_UNUSED_53FF.cpp */
-HANDLE_OPCODE(OP_UNUSED_53FF)
-OP_END
-
-/* File: c/OP_UNUSED_54FF.cpp */
-HANDLE_OPCODE(OP_UNUSED_54FF)
-OP_END
-
-/* File: c/OP_UNUSED_55FF.cpp */
-HANDLE_OPCODE(OP_UNUSED_55FF)
-OP_END
-
-/* File: c/OP_UNUSED_56FF.cpp */
-HANDLE_OPCODE(OP_UNUSED_56FF)
-OP_END
-
-/* File: c/OP_UNUSED_57FF.cpp */
-HANDLE_OPCODE(OP_UNUSED_57FF)
-OP_END
-
-/* File: c/OP_UNUSED_58FF.cpp */
-HANDLE_OPCODE(OP_UNUSED_58FF)
-OP_END
-
-/* File: c/OP_UNUSED_59FF.cpp */
-HANDLE_OPCODE(OP_UNUSED_59FF)
-OP_END
-
-/* File: c/OP_UNUSED_5AFF.cpp */
-HANDLE_OPCODE(OP_UNUSED_5AFF)
-OP_END
-
-/* File: c/OP_UNUSED_5BFF.cpp */
-HANDLE_OPCODE(OP_UNUSED_5BFF)
-OP_END
-
-/* File: c/OP_UNUSED_5CFF.cpp */
-HANDLE_OPCODE(OP_UNUSED_5CFF)
-OP_END
-
-/* File: c/OP_UNUSED_5DFF.cpp */
-HANDLE_OPCODE(OP_UNUSED_5DFF)
-OP_END
-
-/* File: c/OP_UNUSED_5EFF.cpp */
-HANDLE_OPCODE(OP_UNUSED_5EFF)
-OP_END
-
-/* File: c/OP_UNUSED_5FFF.cpp */
-HANDLE_OPCODE(OP_UNUSED_5FFF)
-OP_END
-
-/* File: c/OP_UNUSED_60FF.cpp */
-HANDLE_OPCODE(OP_UNUSED_60FF)
-OP_END
-
-/* File: c/OP_UNUSED_61FF.cpp */
-HANDLE_OPCODE(OP_UNUSED_61FF)
-OP_END
-
-/* File: c/OP_UNUSED_62FF.cpp */
-HANDLE_OPCODE(OP_UNUSED_62FF)
-OP_END
-
-/* File: c/OP_UNUSED_63FF.cpp */
-HANDLE_OPCODE(OP_UNUSED_63FF)
-OP_END
-
-/* File: c/OP_UNUSED_64FF.cpp */
-HANDLE_OPCODE(OP_UNUSED_64FF)
-OP_END
-
-/* File: c/OP_UNUSED_65FF.cpp */
-HANDLE_OPCODE(OP_UNUSED_65FF)
-OP_END
-
-/* File: c/OP_UNUSED_66FF.cpp */
-HANDLE_OPCODE(OP_UNUSED_66FF)
-OP_END
-
-/* File: c/OP_UNUSED_67FF.cpp */
-HANDLE_OPCODE(OP_UNUSED_67FF)
-OP_END
-
-/* File: c/OP_UNUSED_68FF.cpp */
-HANDLE_OPCODE(OP_UNUSED_68FF)
-OP_END
-
-/* File: c/OP_UNUSED_69FF.cpp */
-HANDLE_OPCODE(OP_UNUSED_69FF)
-OP_END
-
-/* File: c/OP_UNUSED_6AFF.cpp */
-HANDLE_OPCODE(OP_UNUSED_6AFF)
-OP_END
-
-/* File: c/OP_UNUSED_6BFF.cpp */
-HANDLE_OPCODE(OP_UNUSED_6BFF)
-OP_END
-
-/* File: c/OP_UNUSED_6CFF.cpp */
-HANDLE_OPCODE(OP_UNUSED_6CFF)
-OP_END
-
-/* File: c/OP_UNUSED_6DFF.cpp */
-HANDLE_OPCODE(OP_UNUSED_6DFF)
-OP_END
-
-/* File: c/OP_UNUSED_6EFF.cpp */
-HANDLE_OPCODE(OP_UNUSED_6EFF)
-OP_END
-
-/* File: c/OP_UNUSED_6FFF.cpp */
-HANDLE_OPCODE(OP_UNUSED_6FFF)
-OP_END
-
-/* File: c/OP_UNUSED_70FF.cpp */
-HANDLE_OPCODE(OP_UNUSED_70FF)
-OP_END
-
-/* File: c/OP_UNUSED_71FF.cpp */
-HANDLE_OPCODE(OP_UNUSED_71FF)
-OP_END
-
-/* File: c/OP_UNUSED_72FF.cpp */
-HANDLE_OPCODE(OP_UNUSED_72FF)
-OP_END
-
-/* File: c/OP_UNUSED_73FF.cpp */
-HANDLE_OPCODE(OP_UNUSED_73FF)
-OP_END
-
-/* File: c/OP_UNUSED_74FF.cpp */
-HANDLE_OPCODE(OP_UNUSED_74FF)
-OP_END
-
-/* File: c/OP_UNUSED_75FF.cpp */
-HANDLE_OPCODE(OP_UNUSED_75FF)
-OP_END
-
-/* File: c/OP_UNUSED_76FF.cpp */
-HANDLE_OPCODE(OP_UNUSED_76FF)
-OP_END
-
-/* File: c/OP_UNUSED_77FF.cpp */
-HANDLE_OPCODE(OP_UNUSED_77FF)
-OP_END
-
-/* File: c/OP_UNUSED_78FF.cpp */
-HANDLE_OPCODE(OP_UNUSED_78FF)
-OP_END
-
-/* File: c/OP_UNUSED_79FF.cpp */
-HANDLE_OPCODE(OP_UNUSED_79FF)
-OP_END
-
-/* File: c/OP_UNUSED_7AFF.cpp */
-HANDLE_OPCODE(OP_UNUSED_7AFF)
-OP_END
-
-/* File: c/OP_UNUSED_7BFF.cpp */
-HANDLE_OPCODE(OP_UNUSED_7BFF)
-OP_END
-
-/* File: c/OP_UNUSED_7CFF.cpp */
-HANDLE_OPCODE(OP_UNUSED_7CFF)
-OP_END
-
-/* File: c/OP_UNUSED_7DFF.cpp */
-HANDLE_OPCODE(OP_UNUSED_7DFF)
-OP_END
-
-/* File: c/OP_UNUSED_7EFF.cpp */
-HANDLE_OPCODE(OP_UNUSED_7EFF)
-OP_END
-
-/* File: c/OP_UNUSED_7FFF.cpp */
-HANDLE_OPCODE(OP_UNUSED_7FFF)
-OP_END
-
-/* File: c/OP_UNUSED_80FF.cpp */
-HANDLE_OPCODE(OP_UNUSED_80FF)
-OP_END
-
-/* File: c/OP_UNUSED_81FF.cpp */
-HANDLE_OPCODE(OP_UNUSED_81FF)
-OP_END
-
-/* File: c/OP_UNUSED_82FF.cpp */
-HANDLE_OPCODE(OP_UNUSED_82FF)
-OP_END
-
-/* File: c/OP_UNUSED_83FF.cpp */
-HANDLE_OPCODE(OP_UNUSED_83FF)
-OP_END
-
-/* File: c/OP_UNUSED_84FF.cpp */
-HANDLE_OPCODE(OP_UNUSED_84FF)
-OP_END
-
-/* File: c/OP_UNUSED_85FF.cpp */
-HANDLE_OPCODE(OP_UNUSED_85FF)
-OP_END
-
-/* File: c/OP_UNUSED_86FF.cpp */
-HANDLE_OPCODE(OP_UNUSED_86FF)
-OP_END
-
-/* File: c/OP_UNUSED_87FF.cpp */
-HANDLE_OPCODE(OP_UNUSED_87FF)
-OP_END
-
-/* File: c/OP_UNUSED_88FF.cpp */
-HANDLE_OPCODE(OP_UNUSED_88FF)
-OP_END
-
-/* File: c/OP_UNUSED_89FF.cpp */
-HANDLE_OPCODE(OP_UNUSED_89FF)
-OP_END
-
-/* File: c/OP_UNUSED_8AFF.cpp */
-HANDLE_OPCODE(OP_UNUSED_8AFF)
-OP_END
-
-/* File: c/OP_UNUSED_8BFF.cpp */
-HANDLE_OPCODE(OP_UNUSED_8BFF)
-OP_END
-
-/* File: c/OP_UNUSED_8CFF.cpp */
-HANDLE_OPCODE(OP_UNUSED_8CFF)
-OP_END
-
-/* File: c/OP_UNUSED_8DFF.cpp */
-HANDLE_OPCODE(OP_UNUSED_8DFF)
-OP_END
-
-/* File: c/OP_UNUSED_8EFF.cpp */
-HANDLE_OPCODE(OP_UNUSED_8EFF)
-OP_END
-
-/* File: c/OP_UNUSED_8FFF.cpp */
-HANDLE_OPCODE(OP_UNUSED_8FFF)
-OP_END
-
-/* File: c/OP_UNUSED_90FF.cpp */
-HANDLE_OPCODE(OP_UNUSED_90FF)
-OP_END
-
-/* File: c/OP_UNUSED_91FF.cpp */
-HANDLE_OPCODE(OP_UNUSED_91FF)
-OP_END
-
-/* File: c/OP_UNUSED_92FF.cpp */
-HANDLE_OPCODE(OP_UNUSED_92FF)
-OP_END
-
-/* File: c/OP_UNUSED_93FF.cpp */
-HANDLE_OPCODE(OP_UNUSED_93FF)
-OP_END
-
-/* File: c/OP_UNUSED_94FF.cpp */
-HANDLE_OPCODE(OP_UNUSED_94FF)
-OP_END
-
-/* File: c/OP_UNUSED_95FF.cpp */
-HANDLE_OPCODE(OP_UNUSED_95FF)
-OP_END
-
-/* File: c/OP_UNUSED_96FF.cpp */
-HANDLE_OPCODE(OP_UNUSED_96FF)
-OP_END
-
-/* File: c/OP_UNUSED_97FF.cpp */
-HANDLE_OPCODE(OP_UNUSED_97FF)
-OP_END
-
-/* File: c/OP_UNUSED_98FF.cpp */
-HANDLE_OPCODE(OP_UNUSED_98FF)
-OP_END
-
-/* File: c/OP_UNUSED_99FF.cpp */
-HANDLE_OPCODE(OP_UNUSED_99FF)
-OP_END
-
-/* File: c/OP_UNUSED_9AFF.cpp */
-HANDLE_OPCODE(OP_UNUSED_9AFF)
-OP_END
-
-/* File: c/OP_UNUSED_9BFF.cpp */
-HANDLE_OPCODE(OP_UNUSED_9BFF)
-OP_END
-
-/* File: c/OP_UNUSED_9CFF.cpp */
-HANDLE_OPCODE(OP_UNUSED_9CFF)
-OP_END
-
-/* File: c/OP_UNUSED_9DFF.cpp */
-HANDLE_OPCODE(OP_UNUSED_9DFF)
-OP_END
-
-/* File: c/OP_UNUSED_9EFF.cpp */
-HANDLE_OPCODE(OP_UNUSED_9EFF)
-OP_END
-
-/* File: c/OP_UNUSED_9FFF.cpp */
-HANDLE_OPCODE(OP_UNUSED_9FFF)
-OP_END
-
-/* File: c/OP_UNUSED_A0FF.cpp */
-HANDLE_OPCODE(OP_UNUSED_A0FF)
-OP_END
-
-/* File: c/OP_UNUSED_A1FF.cpp */
-HANDLE_OPCODE(OP_UNUSED_A1FF)
-OP_END
-
-/* File: c/OP_UNUSED_A2FF.cpp */
-HANDLE_OPCODE(OP_UNUSED_A2FF)
-OP_END
-
-/* File: c/OP_UNUSED_A3FF.cpp */
-HANDLE_OPCODE(OP_UNUSED_A3FF)
-OP_END
-
-/* File: c/OP_UNUSED_A4FF.cpp */
-HANDLE_OPCODE(OP_UNUSED_A4FF)
-OP_END
-
-/* File: c/OP_UNUSED_A5FF.cpp */
-HANDLE_OPCODE(OP_UNUSED_A5FF)
-OP_END
-
-/* File: c/OP_UNUSED_A6FF.cpp */
-HANDLE_OPCODE(OP_UNUSED_A6FF)
-OP_END
-
-/* File: c/OP_UNUSED_A7FF.cpp */
-HANDLE_OPCODE(OP_UNUSED_A7FF)
-OP_END
-
-/* File: c/OP_UNUSED_A8FF.cpp */
-HANDLE_OPCODE(OP_UNUSED_A8FF)
-OP_END
-
-/* File: c/OP_UNUSED_A9FF.cpp */
-HANDLE_OPCODE(OP_UNUSED_A9FF)
-OP_END
-
-/* File: c/OP_UNUSED_AAFF.cpp */
-HANDLE_OPCODE(OP_UNUSED_AAFF)
-OP_END
-
-/* File: c/OP_UNUSED_ABFF.cpp */
-HANDLE_OPCODE(OP_UNUSED_ABFF)
-OP_END
-
-/* File: c/OP_UNUSED_ACFF.cpp */
-HANDLE_OPCODE(OP_UNUSED_ACFF)
-OP_END
-
-/* File: c/OP_UNUSED_ADFF.cpp */
-HANDLE_OPCODE(OP_UNUSED_ADFF)
-OP_END
-
-/* File: c/OP_UNUSED_AEFF.cpp */
-HANDLE_OPCODE(OP_UNUSED_AEFF)
-OP_END
-
-/* File: c/OP_UNUSED_AFFF.cpp */
-HANDLE_OPCODE(OP_UNUSED_AFFF)
-OP_END
-
-/* File: c/OP_UNUSED_B0FF.cpp */
-HANDLE_OPCODE(OP_UNUSED_B0FF)
-OP_END
-
-/* File: c/OP_UNUSED_B1FF.cpp */
-HANDLE_OPCODE(OP_UNUSED_B1FF)
-OP_END
-
-/* File: c/OP_UNUSED_B2FF.cpp */
-HANDLE_OPCODE(OP_UNUSED_B2FF)
-OP_END
-
-/* File: c/OP_UNUSED_B3FF.cpp */
-HANDLE_OPCODE(OP_UNUSED_B3FF)
-OP_END
-
-/* File: c/OP_UNUSED_B4FF.cpp */
-HANDLE_OPCODE(OP_UNUSED_B4FF)
-OP_END
-
-/* File: c/OP_UNUSED_B5FF.cpp */
-HANDLE_OPCODE(OP_UNUSED_B5FF)
-OP_END
-
-/* File: c/OP_UNUSED_B6FF.cpp */
-HANDLE_OPCODE(OP_UNUSED_B6FF)
-OP_END
-
-/* File: c/OP_UNUSED_B7FF.cpp */
-HANDLE_OPCODE(OP_UNUSED_B7FF)
-OP_END
-
-/* File: c/OP_UNUSED_B8FF.cpp */
-HANDLE_OPCODE(OP_UNUSED_B8FF)
-OP_END
-
-/* File: c/OP_UNUSED_B9FF.cpp */
-HANDLE_OPCODE(OP_UNUSED_B9FF)
-OP_END
-
-/* File: c/OP_UNUSED_BAFF.cpp */
-HANDLE_OPCODE(OP_UNUSED_BAFF)
-OP_END
-
-/* File: c/OP_UNUSED_BBFF.cpp */
-HANDLE_OPCODE(OP_UNUSED_BBFF)
-OP_END
-
-/* File: c/OP_UNUSED_BCFF.cpp */
-HANDLE_OPCODE(OP_UNUSED_BCFF)
-OP_END
-
-/* File: c/OP_UNUSED_BDFF.cpp */
-HANDLE_OPCODE(OP_UNUSED_BDFF)
-OP_END
-
-/* File: c/OP_UNUSED_BEFF.cpp */
-HANDLE_OPCODE(OP_UNUSED_BEFF)
-OP_END
-
-/* File: c/OP_UNUSED_BFFF.cpp */
-HANDLE_OPCODE(OP_UNUSED_BFFF)
-OP_END
-
-/* File: c/OP_UNUSED_C0FF.cpp */
-HANDLE_OPCODE(OP_UNUSED_C0FF)
-OP_END
-
-/* File: c/OP_UNUSED_C1FF.cpp */
-HANDLE_OPCODE(OP_UNUSED_C1FF)
-OP_END
-
-/* File: c/OP_UNUSED_C2FF.cpp */
-HANDLE_OPCODE(OP_UNUSED_C2FF)
-OP_END
-
-/* File: c/OP_UNUSED_C3FF.cpp */
-HANDLE_OPCODE(OP_UNUSED_C3FF)
-OP_END
-
-/* File: c/OP_UNUSED_C4FF.cpp */
-HANDLE_OPCODE(OP_UNUSED_C4FF)
-OP_END
-
-/* File: c/OP_UNUSED_C5FF.cpp */
-HANDLE_OPCODE(OP_UNUSED_C5FF)
-OP_END
-
-/* File: c/OP_UNUSED_C6FF.cpp */
-HANDLE_OPCODE(OP_UNUSED_C6FF)
-OP_END
-
-/* File: c/OP_UNUSED_C7FF.cpp */
-HANDLE_OPCODE(OP_UNUSED_C7FF)
-OP_END
-
-/* File: c/OP_UNUSED_C8FF.cpp */
-HANDLE_OPCODE(OP_UNUSED_C8FF)
-OP_END
-
-/* File: c/OP_UNUSED_C9FF.cpp */
-HANDLE_OPCODE(OP_UNUSED_C9FF)
-OP_END
-
-/* File: c/OP_UNUSED_CAFF.cpp */
-HANDLE_OPCODE(OP_UNUSED_CAFF)
-OP_END
-
-/* File: c/OP_UNUSED_CBFF.cpp */
-HANDLE_OPCODE(OP_UNUSED_CBFF)
-OP_END
-
-/* File: c/OP_UNUSED_CCFF.cpp */
-HANDLE_OPCODE(OP_UNUSED_CCFF)
-OP_END
-
-/* File: c/OP_UNUSED_CDFF.cpp */
-HANDLE_OPCODE(OP_UNUSED_CDFF)
-OP_END
-
-/* File: c/OP_UNUSED_CEFF.cpp */
-HANDLE_OPCODE(OP_UNUSED_CEFF)
-OP_END
-
-/* File: c/OP_UNUSED_CFFF.cpp */
-HANDLE_OPCODE(OP_UNUSED_CFFF)
-OP_END
-
-/* File: c/OP_UNUSED_D0FF.cpp */
-HANDLE_OPCODE(OP_UNUSED_D0FF)
-OP_END
-
-/* File: c/OP_UNUSED_D1FF.cpp */
-HANDLE_OPCODE(OP_UNUSED_D1FF)
-OP_END
-
-/* File: c/OP_UNUSED_D2FF.cpp */
-HANDLE_OPCODE(OP_UNUSED_D2FF)
-OP_END
-
-/* File: c/OP_UNUSED_D3FF.cpp */
-HANDLE_OPCODE(OP_UNUSED_D3FF)
-OP_END
-
-/* File: c/OP_UNUSED_D4FF.cpp */
-HANDLE_OPCODE(OP_UNUSED_D4FF)
-OP_END
-
-/* File: c/OP_UNUSED_D5FF.cpp */
-HANDLE_OPCODE(OP_UNUSED_D5FF)
-OP_END
-
-/* File: c/OP_UNUSED_D6FF.cpp */
-HANDLE_OPCODE(OP_UNUSED_D6FF)
-OP_END
-
-/* File: c/OP_UNUSED_D7FF.cpp */
-HANDLE_OPCODE(OP_UNUSED_D7FF)
-OP_END
-
-/* File: c/OP_UNUSED_D8FF.cpp */
-HANDLE_OPCODE(OP_UNUSED_D8FF)
-OP_END
-
-/* File: c/OP_UNUSED_D9FF.cpp */
-HANDLE_OPCODE(OP_UNUSED_D9FF)
-OP_END
-
-/* File: c/OP_UNUSED_DAFF.cpp */
-HANDLE_OPCODE(OP_UNUSED_DAFF)
-OP_END
-
-/* File: c/OP_UNUSED_DBFF.cpp */
-HANDLE_OPCODE(OP_UNUSED_DBFF)
-OP_END
-
-/* File: c/OP_UNUSED_DCFF.cpp */
-HANDLE_OPCODE(OP_UNUSED_DCFF)
-OP_END
-
-/* File: c/OP_UNUSED_DDFF.cpp */
-HANDLE_OPCODE(OP_UNUSED_DDFF)
-OP_END
-
-/* File: c/OP_UNUSED_DEFF.cpp */
-HANDLE_OPCODE(OP_UNUSED_DEFF)
-OP_END
-
-/* File: c/OP_UNUSED_DFFF.cpp */
-HANDLE_OPCODE(OP_UNUSED_DFFF)
-OP_END
-
-/* File: c/OP_UNUSED_E0FF.cpp */
-HANDLE_OPCODE(OP_UNUSED_E0FF)
-OP_END
-
-/* File: c/OP_UNUSED_E1FF.cpp */
-HANDLE_OPCODE(OP_UNUSED_E1FF)
-OP_END
-
-/* File: c/OP_UNUSED_E2FF.cpp */
-HANDLE_OPCODE(OP_UNUSED_E2FF)
-OP_END
-
-/* File: c/OP_UNUSED_E3FF.cpp */
-HANDLE_OPCODE(OP_UNUSED_E3FF)
-OP_END
-
-/* File: c/OP_UNUSED_E4FF.cpp */
-HANDLE_OPCODE(OP_UNUSED_E4FF)
-OP_END
-
-/* File: c/OP_UNUSED_E5FF.cpp */
-HANDLE_OPCODE(OP_UNUSED_E5FF)
-OP_END
-
-/* File: c/OP_UNUSED_E6FF.cpp */
-HANDLE_OPCODE(OP_UNUSED_E6FF)
-OP_END
-
-/* File: c/OP_UNUSED_E7FF.cpp */
-HANDLE_OPCODE(OP_UNUSED_E7FF)
-OP_END
-
-/* File: c/OP_UNUSED_E8FF.cpp */
-HANDLE_OPCODE(OP_UNUSED_E8FF)
-OP_END
-
-/* File: c/OP_UNUSED_E9FF.cpp */
-HANDLE_OPCODE(OP_UNUSED_E9FF)
-OP_END
-
-/* File: c/OP_UNUSED_EAFF.cpp */
-HANDLE_OPCODE(OP_UNUSED_EAFF)
-OP_END
-
-/* File: c/OP_UNUSED_EBFF.cpp */
-HANDLE_OPCODE(OP_UNUSED_EBFF)
-OP_END
-
-/* File: c/OP_UNUSED_ECFF.cpp */
-HANDLE_OPCODE(OP_UNUSED_ECFF)
-OP_END
-
-/* File: c/OP_UNUSED_EDFF.cpp */
-HANDLE_OPCODE(OP_UNUSED_EDFF)
-OP_END
-
-/* File: c/OP_UNUSED_EEFF.cpp */
-HANDLE_OPCODE(OP_UNUSED_EEFF)
-OP_END
-
-/* File: c/OP_UNUSED_EFFF.cpp */
-HANDLE_OPCODE(OP_UNUSED_EFFF)
-OP_END
-
-/* File: c/OP_UNUSED_F0FF.cpp */
-HANDLE_OPCODE(OP_UNUSED_F0FF)
-OP_END
-
-/* File: c/OP_UNUSED_F1FF.cpp */
-HANDLE_OPCODE(OP_UNUSED_F1FF)
+/* File: c/OP_UNUSED_FF.cpp */
+HANDLE_OPCODE(OP_UNUSED_FF)
/*
* In portable interp, most unused opcodes will fall through to here.
*/
- LOGE("unknown opcode 0x%04x", inst);
+ LOGE("unknown opcode 0x%02x\n", INST_INST(inst));
dvmAbort();
FINISH(1);
OP_END
-/* File: c/OP_INVOKE_OBJECT_INIT_JUMBO.cpp */
-HANDLE_OPCODE(OP_INVOKE_OBJECT_INIT_JUMBO /*{vCCCC..vNNNN}, meth@AAAAAAAA*/)
- {
- Object* obj;
-
- vsrc1 = FETCH(4); /* reg number of "this" pointer */
- obj = GET_REGISTER_AS_OBJECT(vsrc1);
-
- if (!checkForNullExportPC(obj, fp, pc))
- GOTO_exceptionThrown();
-
- /*
- * The object should be marked "finalizable" when Object.<init>
- * completes normally. We're going to assume it does complete
- * (by virtue of being nothing but a return-void) and set it now.
- */
- if (IS_CLASS_FLAG_SET(obj->clazz, CLASS_ISFINALIZABLE)) {
- EXPORT_PC();
- dvmSetFinalizable(obj);
- if (dvmGetException(self))
- GOTO_exceptionThrown();
- }
-
- if (self->interpBreak.ctl.subMode & kSubModeDebuggerActive) {
- /* behave like OP_INVOKE_DIRECT_RANGE */
- GOTO_invoke(invokeDirect, true, true);
- }
- FINISH(5);
- }
-OP_END
-
-/* File: c/OP_IGET_VOLATILE_JUMBO.cpp */
-HANDLE_IGET_X_JUMBO(OP_IGET_VOLATILE_JUMBO, "-volatile/jumbo", IntVolatile, )
-OP_END
-
-/* File: c/OP_IGET_WIDE_VOLATILE_JUMBO.cpp */
-HANDLE_IGET_X_JUMBO(OP_IGET_WIDE_VOLATILE_JUMBO, "-wide-volatile/jumbo", LongVolatile, _WIDE)
-OP_END
-
-/* File: c/OP_IGET_OBJECT_VOLATILE_JUMBO.cpp */
-HANDLE_IGET_X_JUMBO(OP_IGET_OBJECT_VOLATILE_JUMBO, "-object-volatile/jumbo", ObjectVolatile, _AS_OBJECT)
-OP_END
-
-/* File: c/OP_IPUT_VOLATILE_JUMBO.cpp */
-HANDLE_IPUT_X_JUMBO(OP_IPUT_VOLATILE_JUMBO, "-volatile/jumbo", IntVolatile, )
-OP_END
-
-/* File: c/OP_IPUT_WIDE_VOLATILE_JUMBO.cpp */
-HANDLE_IPUT_X_JUMBO(OP_IPUT_WIDE_VOLATILE_JUMBO, "-wide-volatile/jumbo", LongVolatile, _WIDE)
-OP_END
-
-/* File: c/OP_IPUT_OBJECT_VOLATILE_JUMBO.cpp */
-HANDLE_IPUT_X_JUMBO(OP_IPUT_OBJECT_VOLATILE_JUMBO, "-object-volatile/jumbo", ObjectVolatile, _AS_OBJECT)
-OP_END
-
-/* File: c/OP_SGET_VOLATILE_JUMBO.cpp */
-HANDLE_SGET_X_JUMBO(OP_SGET_VOLATILE_JUMBO, "-volatile/jumbo", IntVolatile, )
-OP_END
-
-/* File: c/OP_SGET_WIDE_VOLATILE_JUMBO.cpp */
-HANDLE_SGET_X_JUMBO(OP_SGET_WIDE_VOLATILE_JUMBO, "-wide-volatile/jumbo", LongVolatile, _WIDE)
-OP_END
-
-/* File: c/OP_SGET_OBJECT_VOLATILE_JUMBO.cpp */
-HANDLE_SGET_X_JUMBO(OP_SGET_OBJECT_VOLATILE_JUMBO, "-object-volatile/jumbo", ObjectVolatile, _AS_OBJECT)
-OP_END
-
-/* File: c/OP_SPUT_VOLATILE_JUMBO.cpp */
-HANDLE_SPUT_X_JUMBO(OP_SPUT_VOLATILE_JUMBO, "-volatile", IntVolatile, )
-OP_END
-
-/* File: c/OP_SPUT_WIDE_VOLATILE_JUMBO.cpp */
-HANDLE_SPUT_X_JUMBO(OP_SPUT_WIDE_VOLATILE_JUMBO, "-wide-volatile/jumbo", LongVolatile, _WIDE)
-OP_END
-
-/* File: c/OP_SPUT_OBJECT_VOLATILE_JUMBO.cpp */
-HANDLE_SPUT_X_JUMBO(OP_SPUT_OBJECT_VOLATILE_JUMBO, "-object-volatile/jumbo", ObjectVolatile, _AS_OBJECT)
-OP_END
-
-/* File: c/OP_THROW_VERIFICATION_ERROR_JUMBO.cpp */
-HANDLE_OPCODE(OP_THROW_VERIFICATION_ERROR_JUMBO)
- EXPORT_PC();
- vsrc1 = FETCH(3);
- ref = FETCH(1) | (u4)FETCH(2) << 16; /* class/field/method ref */
- dvmThrowVerificationError(curMethod, vsrc1, ref);
- GOTO_exceptionThrown();
-OP_END
-
/* File: cstubs/entry.cpp */
/*
* Handler function table, one entry per opcode.
@@ -4413,7 +3084,7 @@ void dvmMterpStdBail(Thread* self)
* next instruction. Here, these are subroutines that return to the caller.
*/
-GOTO_TARGET(filledNewArray, bool methodCallRange, bool jumboFormat)
+GOTO_TARGET(filledNewArray, bool methodCallRange, bool)
{
ClassObject* arrayClass;
ArrayObject* newArray;
@@ -4424,28 +3095,19 @@ GOTO_TARGET(filledNewArray, bool methodCallRange, bool jumboFormat)
EXPORT_PC();
- if (jumboFormat) {
- ref = FETCH(1) | (u4)FETCH(2) << 16; /* class ref */
- vsrc1 = FETCH(3); /* #of elements */
- vdst = FETCH(4); /* range base */
- arg5 = -1; /* silence compiler warning */
- ILOGV("|filled-new-array/jumbo args=%d @0x%08x {regs=v%d-v%d}",
+ ref = FETCH(1); /* class ref */
+ vdst = FETCH(2); /* first 4 regs -or- range base */
+
+ if (methodCallRange) {
+ vsrc1 = INST_AA(inst); /* #of elements */
+ arg5 = -1; /* silence compiler warning */
+ ILOGV("|filled-new-array-range args=%d @0x%04x {regs=v%d-v%d}",
vsrc1, ref, vdst, vdst+vsrc1-1);
} else {
- ref = FETCH(1); /* class ref */
- vdst = FETCH(2); /* first 4 regs -or- range base */
-
- if (methodCallRange) {
- vsrc1 = INST_AA(inst); /* #of elements */
- arg5 = -1; /* silence compiler warning */
- ILOGV("|filled-new-array-range args=%d @0x%04x {regs=v%d-v%d}",
- vsrc1, ref, vdst, vdst+vsrc1-1);
- } else {
- arg5 = INST_A(inst);
- vsrc1 = INST_B(inst); /* #of elements */
- ILOGV("|filled-new-array args=%d @0x%04x {regs=0x%04x %x}",
- vsrc1, ref, vdst, arg5);
- }
+ arg5 = INST_A(inst);
+ vsrc1 = INST_B(inst); /* #of elements */
+ ILOGV("|filled-new-array args=%d @0x%04x {regs=0x%04x %x}",
+ vsrc1, ref, vdst, arg5);
}
/*
@@ -4513,49 +3175,35 @@ GOTO_TARGET(filledNewArray, bool methodCallRange, bool jumboFormat)
retval.l = (Object*)newArray;
}
- if (jumboFormat) {
- FINISH(5);
- } else {
- FINISH(3);
- }
+ FINISH(3);
GOTO_TARGET_END
-GOTO_TARGET(invokeVirtual, bool methodCallRange, bool jumboFormat)
+GOTO_TARGET(invokeVirtual, bool methodCallRange, bool)
{
Method* baseMethod;
Object* thisPtr;
EXPORT_PC();
- if (jumboFormat) {
- ref = FETCH(1) | (u4)FETCH(2) << 16; /* method ref */
- vsrc1 = FETCH(3); /* count */
- vdst = FETCH(4); /* first reg */
- ADJUST_PC(2); /* advance pc partially to make returns easier */
- ILOGV("|invoke-virtual/jumbo args=%d @0x%08x {regs=v%d-v%d}",
+ vsrc1 = INST_AA(inst); /* AA (count) or BA (count + arg 5) */
+ ref = FETCH(1); /* method ref */
+ vdst = FETCH(2); /* 4 regs -or- first reg */
+
+ /*
+ * The object against which we are executing a method is always
+ * in the first argument.
+ */
+ if (methodCallRange) {
+ assert(vsrc1 > 0);
+ ILOGV("|invoke-virtual-range args=%d @0x%04x {regs=v%d-v%d}",
vsrc1, ref, vdst, vdst+vsrc1-1);
thisPtr = (Object*) GET_REGISTER(vdst);
} else {
- vsrc1 = INST_AA(inst); /* AA (count) or BA (count + arg 5) */
- ref = FETCH(1); /* method ref */
- vdst = FETCH(2); /* 4 regs -or- first reg */
-
- /*
- * The object against which we are executing a method is always
- * in the first argument.
- */
- if (methodCallRange) {
- assert(vsrc1 > 0);
- ILOGV("|invoke-virtual-range args=%d @0x%04x {regs=v%d-v%d}",
- vsrc1, ref, vdst, vdst+vsrc1-1);
- thisPtr = (Object*) GET_REGISTER(vdst);
- } else {
- assert((vsrc1>>4) > 0);
- ILOGV("|invoke-virtual args=%d @0x%04x {regs=0x%04x %x}",
- vsrc1 >> 4, ref, vdst, vsrc1 & 0x0f);
- thisPtr = (Object*) GET_REGISTER(vdst & 0x0f);
- }
+ assert((vsrc1>>4) > 0);
+ ILOGV("|invoke-virtual args=%d @0x%04x {regs=0x%04x %x}",
+ vsrc1 >> 4, ref, vdst, vsrc1 & 0x0f);
+ thisPtr = (Object*) GET_REGISTER(vdst & 0x0f);
}
if (!checkForNull(thisPtr))
@@ -4627,35 +3275,25 @@ GOTO_TARGET(invokeVirtual, bool methodCallRange, bool jumboFormat)
}
GOTO_TARGET_END
-GOTO_TARGET(invokeSuper, bool methodCallRange, bool jumboFormat)
+GOTO_TARGET(invokeSuper, bool methodCallRange)
{
Method* baseMethod;
u2 thisReg;
EXPORT_PC();
- if (jumboFormat) {
- ref = FETCH(1) | (u4)FETCH(2) << 16; /* method ref */
- vsrc1 = FETCH(3); /* count */
- vdst = FETCH(4); /* first reg */
- ADJUST_PC(2); /* advance pc partially to make returns easier */
- ILOGV("|invoke-super/jumbo args=%d @0x%08x {regs=v%d-v%d}",
+ vsrc1 = INST_AA(inst); /* AA (count) or BA (count + arg 5) */
+ ref = FETCH(1); /* method ref */
+ vdst = FETCH(2); /* 4 regs -or- first reg */
+
+ if (methodCallRange) {
+ ILOGV("|invoke-super-range args=%d @0x%04x {regs=v%d-v%d}",
vsrc1, ref, vdst, vdst+vsrc1-1);
thisReg = vdst;
} else {
- vsrc1 = INST_AA(inst); /* AA (count) or BA (count + arg 5) */
- ref = FETCH(1); /* method ref */
- vdst = FETCH(2); /* 4 regs -or- first reg */
-
- if (methodCallRange) {
- ILOGV("|invoke-super-range args=%d @0x%04x {regs=v%d-v%d}",
- vsrc1, ref, vdst, vdst+vsrc1-1);
- thisReg = vdst;
- } else {
- ILOGV("|invoke-super args=%d @0x%04x {regs=0x%04x %x}",
- vsrc1 >> 4, ref, vdst, vsrc1 & 0x0f);
- thisReg = vdst & 0x0f;
- }
+ ILOGV("|invoke-super args=%d @0x%04x {regs=0x%04x %x}",
+ vsrc1 >> 4, ref, vdst, vsrc1 & 0x0f);
+ thisReg = vdst & 0x0f;
}
/* impossible in well-formed code, but we must check nevertheless */
@@ -4715,41 +3353,31 @@ GOTO_TARGET(invokeSuper, bool methodCallRange, bool jumboFormat)
}
GOTO_TARGET_END
-GOTO_TARGET(invokeInterface, bool methodCallRange, bool jumboFormat)
+GOTO_TARGET(invokeInterface, bool methodCallRange)
{
Object* thisPtr;
ClassObject* thisClass;
EXPORT_PC();
- if (jumboFormat) {
- ref = FETCH(1) | (u4)FETCH(2) << 16; /* method ref */
- vsrc1 = FETCH(3); /* count */
- vdst = FETCH(4); /* first reg */
- ADJUST_PC(2); /* advance pc partially to make returns easier */
- ILOGV("|invoke-interface/jumbo args=%d @0x%08x {regs=v%d-v%d}",
+ vsrc1 = INST_AA(inst); /* AA (count) or BA (count + arg 5) */
+ ref = FETCH(1); /* method ref */
+ vdst = FETCH(2); /* 4 regs -or- first reg */
+
+ /*
+ * The object against which we are executing a method is always
+ * in the first argument.
+ */
+ if (methodCallRange) {
+ assert(vsrc1 > 0);
+ ILOGV("|invoke-interface-range args=%d @0x%04x {regs=v%d-v%d}",
vsrc1, ref, vdst, vdst+vsrc1-1);
thisPtr = (Object*) GET_REGISTER(vdst);
} else {
- vsrc1 = INST_AA(inst); /* AA (count) or BA (count + arg 5) */
- ref = FETCH(1); /* method ref */
- vdst = FETCH(2); /* 4 regs -or- first reg */
-
- /*
- * The object against which we are executing a method is always
- * in the first argument.
- */
- if (methodCallRange) {
- assert(vsrc1 > 0);
- ILOGV("|invoke-interface-range args=%d @0x%04x {regs=v%d-v%d}",
- vsrc1, ref, vdst, vdst+vsrc1-1);
- thisPtr = (Object*) GET_REGISTER(vdst);
- } else {
- assert((vsrc1>>4) > 0);
- ILOGV("|invoke-interface args=%d @0x%04x {regs=0x%04x %x}",
- vsrc1 >> 4, ref, vdst, vsrc1 & 0x0f);
- thisPtr = (Object*) GET_REGISTER(vdst & 0x0f);
- }
+ assert((vsrc1>>4) > 0);
+ ILOGV("|invoke-interface args=%d @0x%04x {regs=0x%04x %x}",
+ vsrc1 >> 4, ref, vdst, vsrc1 & 0x0f);
+ thisPtr = (Object*) GET_REGISTER(vdst & 0x0f);
}
if (!checkForNull(thisPtr))
@@ -4757,7 +3385,6 @@ GOTO_TARGET(invokeInterface, bool methodCallRange, bool jumboFormat)
thisClass = thisPtr->clazz;
-
/*
* Given a class and a method index, find the Method* with the
* actual code we want to execute.
@@ -4777,34 +3404,24 @@ GOTO_TARGET(invokeInterface, bool methodCallRange, bool jumboFormat)
}
GOTO_TARGET_END
-GOTO_TARGET(invokeDirect, bool methodCallRange, bool jumboFormat)
+GOTO_TARGET(invokeDirect, bool methodCallRange)
{
u2 thisReg;
EXPORT_PC();
- if (jumboFormat) {
- ref = FETCH(1) | (u4)FETCH(2) << 16; /* method ref */
- vsrc1 = FETCH(3); /* count */
- vdst = FETCH(4); /* first reg */
- ADJUST_PC(2); /* advance pc partially to make returns easier */
- ILOGV("|invoke-direct/jumbo args=%d @0x%08x {regs=v%d-v%d}",
+ vsrc1 = INST_AA(inst); /* AA (count) or BA (count + arg 5) */
+ ref = FETCH(1); /* method ref */
+ vdst = FETCH(2); /* 4 regs -or- first reg */
+
+ if (methodCallRange) {
+ ILOGV("|invoke-direct-range args=%d @0x%04x {regs=v%d-v%d}",
vsrc1, ref, vdst, vdst+vsrc1-1);
thisReg = vdst;
} else {
- vsrc1 = INST_AA(inst); /* AA (count) or BA (count + arg 5) */
- ref = FETCH(1); /* method ref */
- vdst = FETCH(2); /* 4 regs -or- first reg */
-
- if (methodCallRange) {
- ILOGV("|invoke-direct-range args=%d @0x%04x {regs=v%d-v%d}",
- vsrc1, ref, vdst, vdst+vsrc1-1);
- thisReg = vdst;
- } else {
- ILOGV("|invoke-direct args=%d @0x%04x {regs=0x%04x %x}",
- vsrc1 >> 4, ref, vdst, vsrc1 & 0x0f);
- thisReg = vdst & 0x0f;
- }
+ ILOGV("|invoke-direct args=%d @0x%04x {regs=0x%04x %x}",
+ vsrc1 >> 4, ref, vdst, vsrc1 & 0x0f);
+ thisReg = vdst & 0x0f;
}
if (!checkForNull((Object*) GET_REGISTER(thisReg)))
@@ -4823,28 +3440,19 @@ GOTO_TARGET(invokeDirect, bool methodCallRange, bool jumboFormat)
}
GOTO_TARGET_END
-GOTO_TARGET(invokeStatic, bool methodCallRange, bool jumboFormat)
+GOTO_TARGET(invokeStatic, bool methodCallRange)
EXPORT_PC();
- if (jumboFormat) {
- ref = FETCH(1) | (u4)FETCH(2) << 16; /* method ref */
- vsrc1 = FETCH(3); /* count */
- vdst = FETCH(4); /* first reg */
- ADJUST_PC(2); /* advance pc partially to make returns easier */
- ILOGV("|invoke-static/jumbo args=%d @0x%08x {regs=v%d-v%d}",
- vsrc1, ref, vdst, vdst+vsrc1-1);
- } else {
- vsrc1 = INST_AA(inst); /* AA (count) or BA (count + arg 5) */
- ref = FETCH(1); /* method ref */
- vdst = FETCH(2); /* 4 regs -or- first reg */
+ vsrc1 = INST_AA(inst); /* AA (count) or BA (count + arg 5) */
+ ref = FETCH(1); /* method ref */
+ vdst = FETCH(2); /* 4 regs -or- first reg */
- if (methodCallRange)
- ILOGV("|invoke-static-range args=%d @0x%04x {regs=v%d-v%d}",
- vsrc1, ref, vdst, vdst+vsrc1-1);
- else
- ILOGV("|invoke-static args=%d @0x%04x {regs=0x%04x %x}",
- vsrc1 >> 4, ref, vdst, vsrc1 & 0x0f);
- }
+ if (methodCallRange)
+ ILOGV("|invoke-static-range args=%d @0x%04x {regs=v%d-v%d}",
+ vsrc1, ref, vdst, vdst+vsrc1-1);
+ else
+ ILOGV("|invoke-static args=%d @0x%04x {regs=0x%04x %x}",
+ vsrc1 >> 4, ref, vdst, vsrc1 & 0x0f);
methodToCall = dvmDexGetResolvedMethod(methodClassDex, ref);
if (methodToCall == NULL) {
@@ -4870,7 +3478,7 @@ GOTO_TARGET(invokeStatic, bool methodCallRange, bool jumboFormat)
GOTO_invokeMethod(methodCallRange, methodToCall, vsrc1, vdst);
GOTO_TARGET_END
-GOTO_TARGET(invokeVirtualQuick, bool methodCallRange, bool jumboFormat)
+GOTO_TARGET(invokeVirtualQuick, bool methodCallRange)
{
Object* thisPtr;
@@ -4929,7 +3537,7 @@ GOTO_TARGET(invokeVirtualQuick, bool methodCallRange, bool jumboFormat)
}
GOTO_TARGET_END
-GOTO_TARGET(invokeSuperQuick, bool methodCallRange, bool jumboFormat)
+GOTO_TARGET(invokeSuperQuick, bool methodCallRange)
{
u2 thisReg;
diff --git a/vm/mterp/out/InterpC-armv5te-vfp.cpp b/vm/mterp/out/InterpC-armv5te-vfp.cpp
index 733036637..01246ae33 100644
--- a/vm/mterp/out/InterpC-armv5te-vfp.cpp
+++ b/vm/mterp/out/InterpC-armv5te-vfp.cpp
@@ -471,9 +471,9 @@ static inline bool checkForNullExportPC(Object* obj, u4* fp, const u2* pc)
return; \
} while(false)
-#define GOTO_invoke(_target, _methodCallRange, _jumboFormat) \
+#define GOTO_invoke(_target, _methodCallRange) \
do { \
- dvmMterp_##_target(self, _methodCallRange, _jumboFormat); \
+ dvmMterp_##_target(self, _methodCallRange); \
return; \
} while(false)
@@ -505,14 +505,14 @@ static inline bool checkForNullExportPC(Object* obj, u4* fp, const u2* pc)
/* File: c/opcommon.cpp */
/* forward declarations of goto targets */
-GOTO_TARGET_DECL(filledNewArray, bool methodCallRange, bool jumboFormat);
-GOTO_TARGET_DECL(invokeVirtual, bool methodCallRange, bool jumboFormat);
-GOTO_TARGET_DECL(invokeSuper, bool methodCallRange, bool jumboFormat);
-GOTO_TARGET_DECL(invokeInterface, bool methodCallRange, bool jumboFormat);
-GOTO_TARGET_DECL(invokeDirect, bool methodCallRange, bool jumboFormat);
-GOTO_TARGET_DECL(invokeStatic, bool methodCallRange, bool jumboFormat);
-GOTO_TARGET_DECL(invokeVirtualQuick, bool methodCallRange, bool jumboFormat);
-GOTO_TARGET_DECL(invokeSuperQuick, bool methodCallRange, bool jumboFormat);
+GOTO_TARGET_DECL(filledNewArray, bool methodCallRange);
+GOTO_TARGET_DECL(invokeVirtual, bool methodCallRange);
+GOTO_TARGET_DECL(invokeSuper, bool methodCallRange);
+GOTO_TARGET_DECL(invokeInterface, bool methodCallRange);
+GOTO_TARGET_DECL(invokeDirect, bool methodCallRange);
+GOTO_TARGET_DECL(invokeStatic, bool methodCallRange);
+GOTO_TARGET_DECL(invokeVirtualQuick, bool methodCallRange);
+GOTO_TARGET_DECL(invokeSuperQuick, bool methodCallRange);
GOTO_TARGET_DECL(invokeMethod, bool methodCallRange, const Method* methodToCall,
u2 count, u2 regs);
GOTO_TARGET_DECL(returnFromMethod);
@@ -1036,33 +1036,6 @@ GOTO_TARGET_DECL(exceptionThrown);
} \
FINISH(2);
-#define HANDLE_IGET_X_JUMBO(_opcode, _opname, _ftype, _regsize) \
- HANDLE_OPCODE(_opcode /*vBBBB, vCCCC, class@AAAAAAAA*/) \
- { \
- InstField* ifield; \
- Object* obj; \
- EXPORT_PC(); \
- ref = FETCH(1) | (u4)FETCH(2) << 16; /* field ref */ \
- vdst = FETCH(3); \
- vsrc1 = FETCH(4); /* object ptr */ \
- ILOGV("|iget%s/jumbo v%d,v%d,field@0x%08x", \
- (_opname), vdst, vsrc1, ref); \
- obj = (Object*) GET_REGISTER(vsrc1); \
- if (!checkForNull(obj)) \
- GOTO_exceptionThrown(); \
- ifield = (InstField*) dvmDexGetResolvedField(methodClassDex, ref); \
- if (ifield == NULL) { \
- ifield = dvmResolveInstField(curMethod->clazz, ref); \
- if (ifield == NULL) \
- GOTO_exceptionThrown(); \
- } \
- SET_REGISTER##_regsize(vdst, \
- dvmGetField##_ftype(obj, ifield->byteOffset)); \
- ILOGV("+ IGET '%s'=0x%08llx", ifield->field.name, \
- (u8) GET_REGISTER##_regsize(vdst)); \
- } \
- FINISH(5);
-
#define HANDLE_IGET_X_QUICK(_opcode, _opname, _ftype, _regsize) \
HANDLE_OPCODE(_opcode /*vA, vB, field@CCCC*/) \
{ \
@@ -1107,33 +1080,6 @@ GOTO_TARGET_DECL(exceptionThrown);
} \
FINISH(2);
-#define HANDLE_IPUT_X_JUMBO(_opcode, _opname, _ftype, _regsize) \
- HANDLE_OPCODE(_opcode /*vBBBB, vCCCC, class@AAAAAAAA*/) \
- { \
- InstField* ifield; \
- Object* obj; \
- EXPORT_PC(); \
- ref = FETCH(1) | (u4)FETCH(2) << 16; /* field ref */ \
- vdst = FETCH(3); \
- vsrc1 = FETCH(4); /* object ptr */ \
- ILOGV("|iput%s/jumbo v%d,v%d,field@0x%08x", \
- (_opname), vdst, vsrc1, ref); \
- obj = (Object*) GET_REGISTER(vsrc1); \
- if (!checkForNull(obj)) \
- GOTO_exceptionThrown(); \
- ifield = (InstField*) dvmDexGetResolvedField(methodClassDex, ref); \
- if (ifield == NULL) { \
- ifield = dvmResolveInstField(curMethod->clazz, ref); \
- if (ifield == NULL) \
- GOTO_exceptionThrown(); \
- } \
- dvmSetField##_ftype(obj, ifield->byteOffset, \
- GET_REGISTER##_regsize(vdst)); \
- ILOGV("+ IPUT '%s'=0x%08llx", ifield->field.name, \
- (u8) GET_REGISTER##_regsize(vdst)); \
- } \
- FINISH(5);
-
#define HANDLE_IPUT_X_QUICK(_opcode, _opname, _ftype, _regsize) \
HANDLE_OPCODE(_opcode /*vA, vB, field@CCCC*/) \
{ \
@@ -1183,29 +1129,6 @@ GOTO_TARGET_DECL(exceptionThrown);
} \
FINISH(2);
-#define HANDLE_SGET_X_JUMBO(_opcode, _opname, _ftype, _regsize) \
- HANDLE_OPCODE(_opcode /*vBBBB, class@AAAAAAAA*/) \
- { \
- StaticField* sfield; \
- ref = FETCH(1) | (u4)FETCH(2) << 16; /* field ref */ \
- vdst = FETCH(3); \
- ILOGV("|sget%s/jumbo v%d,sfield@0x%08x", (_opname), vdst, ref); \
- sfield = (StaticField*)dvmDexGetResolvedField(methodClassDex, ref); \
- if (sfield == NULL) { \
- EXPORT_PC(); \
- sfield = dvmResolveStaticField(curMethod->clazz, ref); \
- if (sfield == NULL) \
- GOTO_exceptionThrown(); \
- if (dvmDexGetResolvedField(methodClassDex, ref) == NULL) { \
- JIT_STUB_HACK(dvmJitEndTraceSelect(self,pc)); \
- } \
- } \
- SET_REGISTER##_regsize(vdst, dvmGetStaticField##_ftype(sfield)); \
- ILOGV("+ SGET '%s'=0x%08llx", \
- sfield->field.name, (u8)GET_REGISTER##_regsize(vdst)); \
- } \
- FINISH(4);
-
#define HANDLE_SPUT_X(_opcode, _opname, _ftype, _regsize) \
HANDLE_OPCODE(_opcode /*vAA, field@BBBB*/) \
{ \
@@ -1229,29 +1152,6 @@ GOTO_TARGET_DECL(exceptionThrown);
} \
FINISH(2);
-#define HANDLE_SPUT_X_JUMBO(_opcode, _opname, _ftype, _regsize) \
- HANDLE_OPCODE(_opcode /*vBBBB, class@AAAAAAAA*/) \
- { \
- StaticField* sfield; \
- ref = FETCH(1) | (u4)FETCH(2) << 16; /* field ref */ \
- vdst = FETCH(3); \
- ILOGV("|sput%s/jumbo v%d,sfield@0x%08x", (_opname), vdst, ref); \
- sfield = (StaticField*)dvmDexGetResolvedField(methodClassDex, ref); \
- if (sfield == NULL) { \
- EXPORT_PC(); \
- sfield = dvmResolveStaticField(curMethod->clazz, ref); \
- if (sfield == NULL) \
- GOTO_exceptionThrown(); \
- if (dvmDexGetResolvedField(methodClassDex, ref) == NULL) { \
- JIT_STUB_HACK(dvmJitEndTraceSelect(self,pc)); \
- } \
- } \
- dvmSetStaticField##_ftype(sfield, GET_REGISTER##_regsize(vdst)); \
- ILOGV("+ SPUT '%s'=0x%08llx", \
- sfield->field.name, (u8)GET_REGISTER##_regsize(vdst)); \
- } \
- FINISH(4);
-
/* File: cstubs/enddefs.cpp */
/* undefine "magic" name remapping */
diff --git a/vm/mterp/out/InterpC-armv5te.cpp b/vm/mterp/out/InterpC-armv5te.cpp
index 007ff8e8b..870e6829a 100644
--- a/vm/mterp/out/InterpC-armv5te.cpp
+++ b/vm/mterp/out/InterpC-armv5te.cpp
@@ -471,9 +471,9 @@ static inline bool checkForNullExportPC(Object* obj, u4* fp, const u2* pc)
return; \
} while(false)
-#define GOTO_invoke(_target, _methodCallRange, _jumboFormat) \
+#define GOTO_invoke(_target, _methodCallRange) \
do { \
- dvmMterp_##_target(self, _methodCallRange, _jumboFormat); \
+ dvmMterp_##_target(self, _methodCallRange); \
return; \
} while(false)
@@ -505,14 +505,14 @@ static inline bool checkForNullExportPC(Object* obj, u4* fp, const u2* pc)
/* File: c/opcommon.cpp */
/* forward declarations of goto targets */
-GOTO_TARGET_DECL(filledNewArray, bool methodCallRange, bool jumboFormat);
-GOTO_TARGET_DECL(invokeVirtual, bool methodCallRange, bool jumboFormat);
-GOTO_TARGET_DECL(invokeSuper, bool methodCallRange, bool jumboFormat);
-GOTO_TARGET_DECL(invokeInterface, bool methodCallRange, bool jumboFormat);
-GOTO_TARGET_DECL(invokeDirect, bool methodCallRange, bool jumboFormat);
-GOTO_TARGET_DECL(invokeStatic, bool methodCallRange, bool jumboFormat);
-GOTO_TARGET_DECL(invokeVirtualQuick, bool methodCallRange, bool jumboFormat);
-GOTO_TARGET_DECL(invokeSuperQuick, bool methodCallRange, bool jumboFormat);
+GOTO_TARGET_DECL(filledNewArray, bool methodCallRange);
+GOTO_TARGET_DECL(invokeVirtual, bool methodCallRange);
+GOTO_TARGET_DECL(invokeSuper, bool methodCallRange);
+GOTO_TARGET_DECL(invokeInterface, bool methodCallRange);
+GOTO_TARGET_DECL(invokeDirect, bool methodCallRange);
+GOTO_TARGET_DECL(invokeStatic, bool methodCallRange);
+GOTO_TARGET_DECL(invokeVirtualQuick, bool methodCallRange);
+GOTO_TARGET_DECL(invokeSuperQuick, bool methodCallRange);
GOTO_TARGET_DECL(invokeMethod, bool methodCallRange, const Method* methodToCall,
u2 count, u2 regs);
GOTO_TARGET_DECL(returnFromMethod);
@@ -1036,33 +1036,6 @@ GOTO_TARGET_DECL(exceptionThrown);
} \
FINISH(2);
-#define HANDLE_IGET_X_JUMBO(_opcode, _opname, _ftype, _regsize) \
- HANDLE_OPCODE(_opcode /*vBBBB, vCCCC, class@AAAAAAAA*/) \
- { \
- InstField* ifield; \
- Object* obj; \
- EXPORT_PC(); \
- ref = FETCH(1) | (u4)FETCH(2) << 16; /* field ref */ \
- vdst = FETCH(3); \
- vsrc1 = FETCH(4); /* object ptr */ \
- ILOGV("|iget%s/jumbo v%d,v%d,field@0x%08x", \
- (_opname), vdst, vsrc1, ref); \
- obj = (Object*) GET_REGISTER(vsrc1); \
- if (!checkForNull(obj)) \
- GOTO_exceptionThrown(); \
- ifield = (InstField*) dvmDexGetResolvedField(methodClassDex, ref); \
- if (ifield == NULL) { \
- ifield = dvmResolveInstField(curMethod->clazz, ref); \
- if (ifield == NULL) \
- GOTO_exceptionThrown(); \
- } \
- SET_REGISTER##_regsize(vdst, \
- dvmGetField##_ftype(obj, ifield->byteOffset)); \
- ILOGV("+ IGET '%s'=0x%08llx", ifield->field.name, \
- (u8) GET_REGISTER##_regsize(vdst)); \
- } \
- FINISH(5);
-
#define HANDLE_IGET_X_QUICK(_opcode, _opname, _ftype, _regsize) \
HANDLE_OPCODE(_opcode /*vA, vB, field@CCCC*/) \
{ \
@@ -1107,33 +1080,6 @@ GOTO_TARGET_DECL(exceptionThrown);
} \
FINISH(2);
-#define HANDLE_IPUT_X_JUMBO(_opcode, _opname, _ftype, _regsize) \
- HANDLE_OPCODE(_opcode /*vBBBB, vCCCC, class@AAAAAAAA*/) \
- { \
- InstField* ifield; \
- Object* obj; \
- EXPORT_PC(); \
- ref = FETCH(1) | (u4)FETCH(2) << 16; /* field ref */ \
- vdst = FETCH(3); \
- vsrc1 = FETCH(4); /* object ptr */ \
- ILOGV("|iput%s/jumbo v%d,v%d,field@0x%08x", \
- (_opname), vdst, vsrc1, ref); \
- obj = (Object*) GET_REGISTER(vsrc1); \
- if (!checkForNull(obj)) \
- GOTO_exceptionThrown(); \
- ifield = (InstField*) dvmDexGetResolvedField(methodClassDex, ref); \
- if (ifield == NULL) { \
- ifield = dvmResolveInstField(curMethod->clazz, ref); \
- if (ifield == NULL) \
- GOTO_exceptionThrown(); \
- } \
- dvmSetField##_ftype(obj, ifield->byteOffset, \
- GET_REGISTER##_regsize(vdst)); \
- ILOGV("+ IPUT '%s'=0x%08llx", ifield->field.name, \
- (u8) GET_REGISTER##_regsize(vdst)); \
- } \
- FINISH(5);
-
#define HANDLE_IPUT_X_QUICK(_opcode, _opname, _ftype, _regsize) \
HANDLE_OPCODE(_opcode /*vA, vB, field@CCCC*/) \
{ \
@@ -1183,29 +1129,6 @@ GOTO_TARGET_DECL(exceptionThrown);
} \
FINISH(2);
-#define HANDLE_SGET_X_JUMBO(_opcode, _opname, _ftype, _regsize) \
- HANDLE_OPCODE(_opcode /*vBBBB, class@AAAAAAAA*/) \
- { \
- StaticField* sfield; \
- ref = FETCH(1) | (u4)FETCH(2) << 16; /* field ref */ \
- vdst = FETCH(3); \
- ILOGV("|sget%s/jumbo v%d,sfield@0x%08x", (_opname), vdst, ref); \
- sfield = (StaticField*)dvmDexGetResolvedField(methodClassDex, ref); \
- if (sfield == NULL) { \
- EXPORT_PC(); \
- sfield = dvmResolveStaticField(curMethod->clazz, ref); \
- if (sfield == NULL) \
- GOTO_exceptionThrown(); \
- if (dvmDexGetResolvedField(methodClassDex, ref) == NULL) { \
- JIT_STUB_HACK(dvmJitEndTraceSelect(self,pc)); \
- } \
- } \
- SET_REGISTER##_regsize(vdst, dvmGetStaticField##_ftype(sfield)); \
- ILOGV("+ SGET '%s'=0x%08llx", \
- sfield->field.name, (u8)GET_REGISTER##_regsize(vdst)); \
- } \
- FINISH(4);
-
#define HANDLE_SPUT_X(_opcode, _opname, _ftype, _regsize) \
HANDLE_OPCODE(_opcode /*vAA, field@BBBB*/) \
{ \
@@ -1229,29 +1152,6 @@ GOTO_TARGET_DECL(exceptionThrown);
} \
FINISH(2);
-#define HANDLE_SPUT_X_JUMBO(_opcode, _opname, _ftype, _regsize) \
- HANDLE_OPCODE(_opcode /*vBBBB, class@AAAAAAAA*/) \
- { \
- StaticField* sfield; \
- ref = FETCH(1) | (u4)FETCH(2) << 16; /* field ref */ \
- vdst = FETCH(3); \
- ILOGV("|sput%s/jumbo v%d,sfield@0x%08x", (_opname), vdst, ref); \
- sfield = (StaticField*)dvmDexGetResolvedField(methodClassDex, ref); \
- if (sfield == NULL) { \
- EXPORT_PC(); \
- sfield = dvmResolveStaticField(curMethod->clazz, ref); \
- if (sfield == NULL) \
- GOTO_exceptionThrown(); \
- if (dvmDexGetResolvedField(methodClassDex, ref) == NULL) { \
- JIT_STUB_HACK(dvmJitEndTraceSelect(self,pc)); \
- } \
- } \
- dvmSetStaticField##_ftype(sfield, GET_REGISTER##_regsize(vdst)); \
- ILOGV("+ SPUT '%s'=0x%08llx", \
- sfield->field.name, (u8)GET_REGISTER##_regsize(vdst)); \
- } \
- FINISH(4);
-
/* File: cstubs/enddefs.cpp */
/* undefine "magic" name remapping */
diff --git a/vm/mterp/out/InterpC-armv7-a-neon.cpp b/vm/mterp/out/InterpC-armv7-a-neon.cpp
index 79104e8ca..bd9fe284b 100644
--- a/vm/mterp/out/InterpC-armv7-a-neon.cpp
+++ b/vm/mterp/out/InterpC-armv7-a-neon.cpp
@@ -471,9 +471,9 @@ static inline bool checkForNullExportPC(Object* obj, u4* fp, const u2* pc)
return; \
} while(false)
-#define GOTO_invoke(_target, _methodCallRange, _jumboFormat) \
+#define GOTO_invoke(_target, _methodCallRange) \
do { \
- dvmMterp_##_target(self, _methodCallRange, _jumboFormat); \
+ dvmMterp_##_target(self, _methodCallRange); \
return; \
} while(false)
@@ -505,14 +505,14 @@ static inline bool checkForNullExportPC(Object* obj, u4* fp, const u2* pc)
/* File: c/opcommon.cpp */
/* forward declarations of goto targets */
-GOTO_TARGET_DECL(filledNewArray, bool methodCallRange, bool jumboFormat);
-GOTO_TARGET_DECL(invokeVirtual, bool methodCallRange, bool jumboFormat);
-GOTO_TARGET_DECL(invokeSuper, bool methodCallRange, bool jumboFormat);
-GOTO_TARGET_DECL(invokeInterface, bool methodCallRange, bool jumboFormat);
-GOTO_TARGET_DECL(invokeDirect, bool methodCallRange, bool jumboFormat);
-GOTO_TARGET_DECL(invokeStatic, bool methodCallRange, bool jumboFormat);
-GOTO_TARGET_DECL(invokeVirtualQuick, bool methodCallRange, bool jumboFormat);
-GOTO_TARGET_DECL(invokeSuperQuick, bool methodCallRange, bool jumboFormat);
+GOTO_TARGET_DECL(filledNewArray, bool methodCallRange);
+GOTO_TARGET_DECL(invokeVirtual, bool methodCallRange);
+GOTO_TARGET_DECL(invokeSuper, bool methodCallRange);
+GOTO_TARGET_DECL(invokeInterface, bool methodCallRange);
+GOTO_TARGET_DECL(invokeDirect, bool methodCallRange);
+GOTO_TARGET_DECL(invokeStatic, bool methodCallRange);
+GOTO_TARGET_DECL(invokeVirtualQuick, bool methodCallRange);
+GOTO_TARGET_DECL(invokeSuperQuick, bool methodCallRange);
GOTO_TARGET_DECL(invokeMethod, bool methodCallRange, const Method* methodToCall,
u2 count, u2 regs);
GOTO_TARGET_DECL(returnFromMethod);
@@ -1036,33 +1036,6 @@ GOTO_TARGET_DECL(exceptionThrown);
} \
FINISH(2);
-#define HANDLE_IGET_X_JUMBO(_opcode, _opname, _ftype, _regsize) \
- HANDLE_OPCODE(_opcode /*vBBBB, vCCCC, class@AAAAAAAA*/) \
- { \
- InstField* ifield; \
- Object* obj; \
- EXPORT_PC(); \
- ref = FETCH(1) | (u4)FETCH(2) << 16; /* field ref */ \
- vdst = FETCH(3); \
- vsrc1 = FETCH(4); /* object ptr */ \
- ILOGV("|iget%s/jumbo v%d,v%d,field@0x%08x", \
- (_opname), vdst, vsrc1, ref); \
- obj = (Object*) GET_REGISTER(vsrc1); \
- if (!checkForNull(obj)) \
- GOTO_exceptionThrown(); \
- ifield = (InstField*) dvmDexGetResolvedField(methodClassDex, ref); \
- if (ifield == NULL) { \
- ifield = dvmResolveInstField(curMethod->clazz, ref); \
- if (ifield == NULL) \
- GOTO_exceptionThrown(); \
- } \
- SET_REGISTER##_regsize(vdst, \
- dvmGetField##_ftype(obj, ifield->byteOffset)); \
- ILOGV("+ IGET '%s'=0x%08llx", ifield->field.name, \
- (u8) GET_REGISTER##_regsize(vdst)); \
- } \
- FINISH(5);
-
#define HANDLE_IGET_X_QUICK(_opcode, _opname, _ftype, _regsize) \
HANDLE_OPCODE(_opcode /*vA, vB, field@CCCC*/) \
{ \
@@ -1107,33 +1080,6 @@ GOTO_TARGET_DECL(exceptionThrown);
} \
FINISH(2);
-#define HANDLE_IPUT_X_JUMBO(_opcode, _opname, _ftype, _regsize) \
- HANDLE_OPCODE(_opcode /*vBBBB, vCCCC, class@AAAAAAAA*/) \
- { \
- InstField* ifield; \
- Object* obj; \
- EXPORT_PC(); \
- ref = FETCH(1) | (u4)FETCH(2) << 16; /* field ref */ \
- vdst = FETCH(3); \
- vsrc1 = FETCH(4); /* object ptr */ \
- ILOGV("|iput%s/jumbo v%d,v%d,field@0x%08x", \
- (_opname), vdst, vsrc1, ref); \
- obj = (Object*) GET_REGISTER(vsrc1); \
- if (!checkForNull(obj)) \
- GOTO_exceptionThrown(); \
- ifield = (InstField*) dvmDexGetResolvedField(methodClassDex, ref); \
- if (ifield == NULL) { \
- ifield = dvmResolveInstField(curMethod->clazz, ref); \
- if (ifield == NULL) \
- GOTO_exceptionThrown(); \
- } \
- dvmSetField##_ftype(obj, ifield->byteOffset, \
- GET_REGISTER##_regsize(vdst)); \
- ILOGV("+ IPUT '%s'=0x%08llx", ifield->field.name, \
- (u8) GET_REGISTER##_regsize(vdst)); \
- } \
- FINISH(5);
-
#define HANDLE_IPUT_X_QUICK(_opcode, _opname, _ftype, _regsize) \
HANDLE_OPCODE(_opcode /*vA, vB, field@CCCC*/) \
{ \
@@ -1183,29 +1129,6 @@ GOTO_TARGET_DECL(exceptionThrown);
} \
FINISH(2);
-#define HANDLE_SGET_X_JUMBO(_opcode, _opname, _ftype, _regsize) \
- HANDLE_OPCODE(_opcode /*vBBBB, class@AAAAAAAA*/) \
- { \
- StaticField* sfield; \
- ref = FETCH(1) | (u4)FETCH(2) << 16; /* field ref */ \
- vdst = FETCH(3); \
- ILOGV("|sget%s/jumbo v%d,sfield@0x%08x", (_opname), vdst, ref); \
- sfield = (StaticField*)dvmDexGetResolvedField(methodClassDex, ref); \
- if (sfield == NULL) { \
- EXPORT_PC(); \
- sfield = dvmResolveStaticField(curMethod->clazz, ref); \
- if (sfield == NULL) \
- GOTO_exceptionThrown(); \
- if (dvmDexGetResolvedField(methodClassDex, ref) == NULL) { \
- JIT_STUB_HACK(dvmJitEndTraceSelect(self,pc)); \
- } \
- } \
- SET_REGISTER##_regsize(vdst, dvmGetStaticField##_ftype(sfield)); \
- ILOGV("+ SGET '%s'=0x%08llx", \
- sfield->field.name, (u8)GET_REGISTER##_regsize(vdst)); \
- } \
- FINISH(4);
-
#define HANDLE_SPUT_X(_opcode, _opname, _ftype, _regsize) \
HANDLE_OPCODE(_opcode /*vAA, field@BBBB*/) \
{ \
@@ -1229,29 +1152,6 @@ GOTO_TARGET_DECL(exceptionThrown);
} \
FINISH(2);
-#define HANDLE_SPUT_X_JUMBO(_opcode, _opname, _ftype, _regsize) \
- HANDLE_OPCODE(_opcode /*vBBBB, class@AAAAAAAA*/) \
- { \
- StaticField* sfield; \
- ref = FETCH(1) | (u4)FETCH(2) << 16; /* field ref */ \
- vdst = FETCH(3); \
- ILOGV("|sput%s/jumbo v%d,sfield@0x%08x", (_opname), vdst, ref); \
- sfield = (StaticField*)dvmDexGetResolvedField(methodClassDex, ref); \
- if (sfield == NULL) { \
- EXPORT_PC(); \
- sfield = dvmResolveStaticField(curMethod->clazz, ref); \
- if (sfield == NULL) \
- GOTO_exceptionThrown(); \
- if (dvmDexGetResolvedField(methodClassDex, ref) == NULL) { \
- JIT_STUB_HACK(dvmJitEndTraceSelect(self,pc)); \
- } \
- } \
- dvmSetStaticField##_ftype(sfield, GET_REGISTER##_regsize(vdst)); \
- ILOGV("+ SPUT '%s'=0x%08llx", \
- sfield->field.name, (u8)GET_REGISTER##_regsize(vdst)); \
- } \
- FINISH(4);
-
/* File: cstubs/enddefs.cpp */
/* undefine "magic" name remapping */
diff --git a/vm/mterp/out/InterpC-armv7-a.cpp b/vm/mterp/out/InterpC-armv7-a.cpp
index 3bd0bc06e..54b450932 100644
--- a/vm/mterp/out/InterpC-armv7-a.cpp
+++ b/vm/mterp/out/InterpC-armv7-a.cpp
@@ -471,9 +471,9 @@ static inline bool checkForNullExportPC(Object* obj, u4* fp, const u2* pc)
return; \
} while(false)
-#define GOTO_invoke(_target, _methodCallRange, _jumboFormat) \
+#define GOTO_invoke(_target, _methodCallRange) \
do { \
- dvmMterp_##_target(self, _methodCallRange, _jumboFormat); \
+ dvmMterp_##_target(self, _methodCallRange); \
return; \
} while(false)
@@ -505,14 +505,14 @@ static inline bool checkForNullExportPC(Object* obj, u4* fp, const u2* pc)
/* File: c/opcommon.cpp */
/* forward declarations of goto targets */
-GOTO_TARGET_DECL(filledNewArray, bool methodCallRange, bool jumboFormat);
-GOTO_TARGET_DECL(invokeVirtual, bool methodCallRange, bool jumboFormat);
-GOTO_TARGET_DECL(invokeSuper, bool methodCallRange, bool jumboFormat);
-GOTO_TARGET_DECL(invokeInterface, bool methodCallRange, bool jumboFormat);
-GOTO_TARGET_DECL(invokeDirect, bool methodCallRange, bool jumboFormat);
-GOTO_TARGET_DECL(invokeStatic, bool methodCallRange, bool jumboFormat);
-GOTO_TARGET_DECL(invokeVirtualQuick, bool methodCallRange, bool jumboFormat);
-GOTO_TARGET_DECL(invokeSuperQuick, bool methodCallRange, bool jumboFormat);
+GOTO_TARGET_DECL(filledNewArray, bool methodCallRange);
+GOTO_TARGET_DECL(invokeVirtual, bool methodCallRange);
+GOTO_TARGET_DECL(invokeSuper, bool methodCallRange);
+GOTO_TARGET_DECL(invokeInterface, bool methodCallRange);
+GOTO_TARGET_DECL(invokeDirect, bool methodCallRange);
+GOTO_TARGET_DECL(invokeStatic, bool methodCallRange);
+GOTO_TARGET_DECL(invokeVirtualQuick, bool methodCallRange);
+GOTO_TARGET_DECL(invokeSuperQuick, bool methodCallRange);
GOTO_TARGET_DECL(invokeMethod, bool methodCallRange, const Method* methodToCall,
u2 count, u2 regs);
GOTO_TARGET_DECL(returnFromMethod);
@@ -1036,33 +1036,6 @@ GOTO_TARGET_DECL(exceptionThrown);
} \
FINISH(2);
-#define HANDLE_IGET_X_JUMBO(_opcode, _opname, _ftype, _regsize) \
- HANDLE_OPCODE(_opcode /*vBBBB, vCCCC, class@AAAAAAAA*/) \
- { \
- InstField* ifield; \
- Object* obj; \
- EXPORT_PC(); \
- ref = FETCH(1) | (u4)FETCH(2) << 16; /* field ref */ \
- vdst = FETCH(3); \
- vsrc1 = FETCH(4); /* object ptr */ \
- ILOGV("|iget%s/jumbo v%d,v%d,field@0x%08x", \
- (_opname), vdst, vsrc1, ref); \
- obj = (Object*) GET_REGISTER(vsrc1); \
- if (!checkForNull(obj)) \
- GOTO_exceptionThrown(); \
- ifield = (InstField*) dvmDexGetResolvedField(methodClassDex, ref); \
- if (ifield == NULL) { \
- ifield = dvmResolveInstField(curMethod->clazz, ref); \
- if (ifield == NULL) \
- GOTO_exceptionThrown(); \
- } \
- SET_REGISTER##_regsize(vdst, \
- dvmGetField##_ftype(obj, ifield->byteOffset)); \
- ILOGV("+ IGET '%s'=0x%08llx", ifield->field.name, \
- (u8) GET_REGISTER##_regsize(vdst)); \
- } \
- FINISH(5);
-
#define HANDLE_IGET_X_QUICK(_opcode, _opname, _ftype, _regsize) \
HANDLE_OPCODE(_opcode /*vA, vB, field@CCCC*/) \
{ \
@@ -1107,33 +1080,6 @@ GOTO_TARGET_DECL(exceptionThrown);
} \
FINISH(2);
-#define HANDLE_IPUT_X_JUMBO(_opcode, _opname, _ftype, _regsize) \
- HANDLE_OPCODE(_opcode /*vBBBB, vCCCC, class@AAAAAAAA*/) \
- { \
- InstField* ifield; \
- Object* obj; \
- EXPORT_PC(); \
- ref = FETCH(1) | (u4)FETCH(2) << 16; /* field ref */ \
- vdst = FETCH(3); \
- vsrc1 = FETCH(4); /* object ptr */ \
- ILOGV("|iput%s/jumbo v%d,v%d,field@0x%08x", \
- (_opname), vdst, vsrc1, ref); \
- obj = (Object*) GET_REGISTER(vsrc1); \
- if (!checkForNull(obj)) \
- GOTO_exceptionThrown(); \
- ifield = (InstField*) dvmDexGetResolvedField(methodClassDex, ref); \
- if (ifield == NULL) { \
- ifield = dvmResolveInstField(curMethod->clazz, ref); \
- if (ifield == NULL) \
- GOTO_exceptionThrown(); \
- } \
- dvmSetField##_ftype(obj, ifield->byteOffset, \
- GET_REGISTER##_regsize(vdst)); \
- ILOGV("+ IPUT '%s'=0x%08llx", ifield->field.name, \
- (u8) GET_REGISTER##_regsize(vdst)); \
- } \
- FINISH(5);
-
#define HANDLE_IPUT_X_QUICK(_opcode, _opname, _ftype, _regsize) \
HANDLE_OPCODE(_opcode /*vA, vB, field@CCCC*/) \
{ \
@@ -1183,29 +1129,6 @@ GOTO_TARGET_DECL(exceptionThrown);
} \
FINISH(2);
-#define HANDLE_SGET_X_JUMBO(_opcode, _opname, _ftype, _regsize) \
- HANDLE_OPCODE(_opcode /*vBBBB, class@AAAAAAAA*/) \
- { \
- StaticField* sfield; \
- ref = FETCH(1) | (u4)FETCH(2) << 16; /* field ref */ \
- vdst = FETCH(3); \
- ILOGV("|sget%s/jumbo v%d,sfield@0x%08x", (_opname), vdst, ref); \
- sfield = (StaticField*)dvmDexGetResolvedField(methodClassDex, ref); \
- if (sfield == NULL) { \
- EXPORT_PC(); \
- sfield = dvmResolveStaticField(curMethod->clazz, ref); \
- if (sfield == NULL) \
- GOTO_exceptionThrown(); \
- if (dvmDexGetResolvedField(methodClassDex, ref) == NULL) { \
- JIT_STUB_HACK(dvmJitEndTraceSelect(self,pc)); \
- } \
- } \
- SET_REGISTER##_regsize(vdst, dvmGetStaticField##_ftype(sfield)); \
- ILOGV("+ SGET '%s'=0x%08llx", \
- sfield->field.name, (u8)GET_REGISTER##_regsize(vdst)); \
- } \
- FINISH(4);
-
#define HANDLE_SPUT_X(_opcode, _opname, _ftype, _regsize) \
HANDLE_OPCODE(_opcode /*vAA, field@BBBB*/) \
{ \
@@ -1229,29 +1152,6 @@ GOTO_TARGET_DECL(exceptionThrown);
} \
FINISH(2);
-#define HANDLE_SPUT_X_JUMBO(_opcode, _opname, _ftype, _regsize) \
- HANDLE_OPCODE(_opcode /*vBBBB, class@AAAAAAAA*/) \
- { \
- StaticField* sfield; \
- ref = FETCH(1) | (u4)FETCH(2) << 16; /* field ref */ \
- vdst = FETCH(3); \
- ILOGV("|sput%s/jumbo v%d,sfield@0x%08x", (_opname), vdst, ref); \
- sfield = (StaticField*)dvmDexGetResolvedField(methodClassDex, ref); \
- if (sfield == NULL) { \
- EXPORT_PC(); \
- sfield = dvmResolveStaticField(curMethod->clazz, ref); \
- if (sfield == NULL) \
- GOTO_exceptionThrown(); \
- if (dvmDexGetResolvedField(methodClassDex, ref) == NULL) { \
- JIT_STUB_HACK(dvmJitEndTraceSelect(self,pc)); \
- } \
- } \
- dvmSetStaticField##_ftype(sfield, GET_REGISTER##_regsize(vdst)); \
- ILOGV("+ SPUT '%s'=0x%08llx", \
- sfield->field.name, (u8)GET_REGISTER##_regsize(vdst)); \
- } \
- FINISH(4);
-
/* File: cstubs/enddefs.cpp */
/* undefine "magic" name remapping */
diff --git a/vm/mterp/out/InterpC-portable.cpp b/vm/mterp/out/InterpC-portable.cpp
index 3041f9cb2..558b0d4df 100644
--- a/vm/mterp/out/InterpC-portable.cpp
+++ b/vm/mterp/out/InterpC-portable.cpp
@@ -415,9 +415,6 @@ static inline bool checkForNullExportPC(Object* obj, u4* fp, const u2* pc)
# define FINISH_BKPT(_opcode) { \
goto *handlerTable[_opcode]; \
}
-# define DISPATCH_EXTENDED(_opcode) { \
- goto *handlerTable[0x100 + _opcode]; \
- }
#define OP_END
@@ -430,10 +427,9 @@ static inline bool checkForNullExportPC(Object* obj, u4* fp, const u2* pc)
#define GOTO_returnFromMethod() goto returnFromMethod;
-#define GOTO_invoke(_target, _methodCallRange, _jumboFormat) \
+#define GOTO_invoke(_target, _methodCallRange) \
do { \
methodCallRange = _methodCallRange; \
- jumboFormat = _jumboFormat; \
goto _target; \
} while(false)
@@ -457,14 +453,14 @@ static inline bool checkForNullExportPC(Object* obj, u4* fp, const u2* pc)
/* File: c/opcommon.cpp */
/* forward declarations of goto targets */
-GOTO_TARGET_DECL(filledNewArray, bool methodCallRange, bool jumboFormat);
-GOTO_TARGET_DECL(invokeVirtual, bool methodCallRange, bool jumboFormat);
-GOTO_TARGET_DECL(invokeSuper, bool methodCallRange, bool jumboFormat);
-GOTO_TARGET_DECL(invokeInterface, bool methodCallRange, bool jumboFormat);
-GOTO_TARGET_DECL(invokeDirect, bool methodCallRange, bool jumboFormat);
-GOTO_TARGET_DECL(invokeStatic, bool methodCallRange, bool jumboFormat);
-GOTO_TARGET_DECL(invokeVirtualQuick, bool methodCallRange, bool jumboFormat);
-GOTO_TARGET_DECL(invokeSuperQuick, bool methodCallRange, bool jumboFormat);
+GOTO_TARGET_DECL(filledNewArray, bool methodCallRange);
+GOTO_TARGET_DECL(invokeVirtual, bool methodCallRange);
+GOTO_TARGET_DECL(invokeSuper, bool methodCallRange);
+GOTO_TARGET_DECL(invokeInterface, bool methodCallRange);
+GOTO_TARGET_DECL(invokeDirect, bool methodCallRange);
+GOTO_TARGET_DECL(invokeStatic, bool methodCallRange);
+GOTO_TARGET_DECL(invokeVirtualQuick, bool methodCallRange);
+GOTO_TARGET_DECL(invokeSuperQuick, bool methodCallRange);
GOTO_TARGET_DECL(invokeMethod, bool methodCallRange, const Method* methodToCall,
u2 count, u2 regs);
GOTO_TARGET_DECL(returnFromMethod);
@@ -988,33 +984,6 @@ GOTO_TARGET_DECL(exceptionThrown);
} \
FINISH(2);
-#define HANDLE_IGET_X_JUMBO(_opcode, _opname, _ftype, _regsize) \
- HANDLE_OPCODE(_opcode /*vBBBB, vCCCC, class@AAAAAAAA*/) \
- { \
- InstField* ifield; \
- Object* obj; \
- EXPORT_PC(); \
- ref = FETCH(1) | (u4)FETCH(2) << 16; /* field ref */ \
- vdst = FETCH(3); \
- vsrc1 = FETCH(4); /* object ptr */ \
- ILOGV("|iget%s/jumbo v%d,v%d,field@0x%08x", \
- (_opname), vdst, vsrc1, ref); \
- obj = (Object*) GET_REGISTER(vsrc1); \
- if (!checkForNull(obj)) \
- GOTO_exceptionThrown(); \
- ifield = (InstField*) dvmDexGetResolvedField(methodClassDex, ref); \
- if (ifield == NULL) { \
- ifield = dvmResolveInstField(curMethod->clazz, ref); \
- if (ifield == NULL) \
- GOTO_exceptionThrown(); \
- } \
- SET_REGISTER##_regsize(vdst, \
- dvmGetField##_ftype(obj, ifield->byteOffset)); \
- ILOGV("+ IGET '%s'=0x%08llx", ifield->field.name, \
- (u8) GET_REGISTER##_regsize(vdst)); \
- } \
- FINISH(5);
-
#define HANDLE_IGET_X_QUICK(_opcode, _opname, _ftype, _regsize) \
HANDLE_OPCODE(_opcode /*vA, vB, field@CCCC*/) \
{ \
@@ -1059,33 +1028,6 @@ GOTO_TARGET_DECL(exceptionThrown);
} \
FINISH(2);
-#define HANDLE_IPUT_X_JUMBO(_opcode, _opname, _ftype, _regsize) \
- HANDLE_OPCODE(_opcode /*vBBBB, vCCCC, class@AAAAAAAA*/) \
- { \
- InstField* ifield; \
- Object* obj; \
- EXPORT_PC(); \
- ref = FETCH(1) | (u4)FETCH(2) << 16; /* field ref */ \
- vdst = FETCH(3); \
- vsrc1 = FETCH(4); /* object ptr */ \
- ILOGV("|iput%s/jumbo v%d,v%d,field@0x%08x", \
- (_opname), vdst, vsrc1, ref); \
- obj = (Object*) GET_REGISTER(vsrc1); \
- if (!checkForNull(obj)) \
- GOTO_exceptionThrown(); \
- ifield = (InstField*) dvmDexGetResolvedField(methodClassDex, ref); \
- if (ifield == NULL) { \
- ifield = dvmResolveInstField(curMethod->clazz, ref); \
- if (ifield == NULL) \
- GOTO_exceptionThrown(); \
- } \
- dvmSetField##_ftype(obj, ifield->byteOffset, \
- GET_REGISTER##_regsize(vdst)); \
- ILOGV("+ IPUT '%s'=0x%08llx", ifield->field.name, \
- (u8) GET_REGISTER##_regsize(vdst)); \
- } \
- FINISH(5);
-
#define HANDLE_IPUT_X_QUICK(_opcode, _opname, _ftype, _regsize) \
HANDLE_OPCODE(_opcode /*vA, vB, field@CCCC*/) \
{ \
@@ -1135,29 +1077,6 @@ GOTO_TARGET_DECL(exceptionThrown);
} \
FINISH(2);
-#define HANDLE_SGET_X_JUMBO(_opcode, _opname, _ftype, _regsize) \
- HANDLE_OPCODE(_opcode /*vBBBB, class@AAAAAAAA*/) \
- { \
- StaticField* sfield; \
- ref = FETCH(1) | (u4)FETCH(2) << 16; /* field ref */ \
- vdst = FETCH(3); \
- ILOGV("|sget%s/jumbo v%d,sfield@0x%08x", (_opname), vdst, ref); \
- sfield = (StaticField*)dvmDexGetResolvedField(methodClassDex, ref); \
- if (sfield == NULL) { \
- EXPORT_PC(); \
- sfield = dvmResolveStaticField(curMethod->clazz, ref); \
- if (sfield == NULL) \
- GOTO_exceptionThrown(); \
- if (dvmDexGetResolvedField(methodClassDex, ref) == NULL) { \
- JIT_STUB_HACK(dvmJitEndTraceSelect(self,pc)); \
- } \
- } \
- SET_REGISTER##_regsize(vdst, dvmGetStaticField##_ftype(sfield)); \
- ILOGV("+ SGET '%s'=0x%08llx", \
- sfield->field.name, (u8)GET_REGISTER##_regsize(vdst)); \
- } \
- FINISH(4);
-
#define HANDLE_SPUT_X(_opcode, _opname, _ftype, _regsize) \
HANDLE_OPCODE(_opcode /*vAA, field@BBBB*/) \
{ \
@@ -1181,29 +1100,6 @@ GOTO_TARGET_DECL(exceptionThrown);
} \
FINISH(2);
-#define HANDLE_SPUT_X_JUMBO(_opcode, _opname, _ftype, _regsize) \
- HANDLE_OPCODE(_opcode /*vBBBB, class@AAAAAAAA*/) \
- { \
- StaticField* sfield; \
- ref = FETCH(1) | (u4)FETCH(2) << 16; /* field ref */ \
- vdst = FETCH(3); \
- ILOGV("|sput%s/jumbo v%d,sfield@0x%08x", (_opname), vdst, ref); \
- sfield = (StaticField*)dvmDexGetResolvedField(methodClassDex, ref); \
- if (sfield == NULL) { \
- EXPORT_PC(); \
- sfield = dvmResolveStaticField(curMethod->clazz, ref); \
- if (sfield == NULL) \
- GOTO_exceptionThrown(); \
- if (dvmDexGetResolvedField(methodClassDex, ref) == NULL) { \
- JIT_STUB_HACK(dvmJitEndTraceSelect(self,pc)); \
- } \
- } \
- dvmSetStaticField##_ftype(sfield, GET_REGISTER##_regsize(vdst)); \
- ILOGV("+ SPUT '%s'=0x%08llx", \
- sfield->field.name, (u8)GET_REGISTER##_regsize(vdst)); \
- } \
- FINISH(4);
-
/* File: portable/entry.cpp */
/*
* Main interpreter loop.
@@ -1229,8 +1125,6 @@ void dvmInterpretPortable(Thread* self)
/* method call setup */
const Method* methodToCall;
bool methodCallRange;
- bool jumboFormat;
-
/* static computed goto table */
DEFINE_GOTO_TABLE(handlerTable);
@@ -1833,12 +1727,12 @@ OP_END
/* File: c/OP_FILLED_NEW_ARRAY.cpp */
HANDLE_OPCODE(OP_FILLED_NEW_ARRAY /*vB, {vD, vE, vF, vG, vA}, class@CCCC*/)
- GOTO_invoke(filledNewArray, false, false);
+ GOTO_invoke(filledNewArray, false);
OP_END
/* File: c/OP_FILLED_NEW_ARRAY_RANGE.cpp */
HANDLE_OPCODE(OP_FILLED_NEW_ARRAY_RANGE /*{vCCCC..v(CCCC+AA-1)}, class@BBBB*/)
- GOTO_invoke(filledNewArray, true, false);
+ GOTO_invoke(filledNewArray, true);
OP_END
/* File: c/OP_FILL_ARRAY_DATA.cpp */
@@ -2313,27 +2207,27 @@ OP_END
/* File: c/OP_INVOKE_VIRTUAL.cpp */
HANDLE_OPCODE(OP_INVOKE_VIRTUAL /*vB, {vD, vE, vF, vG, vA}, meth@CCCC*/)
- GOTO_invoke(invokeVirtual, false, false);
+ GOTO_invoke(invokeVirtual, false);
OP_END
/* File: c/OP_INVOKE_SUPER.cpp */
HANDLE_OPCODE(OP_INVOKE_SUPER /*vB, {vD, vE, vF, vG, vA}, meth@CCCC*/)
- GOTO_invoke(invokeSuper, false, false);
+ GOTO_invoke(invokeSuper, false);
OP_END
/* File: c/OP_INVOKE_DIRECT.cpp */
HANDLE_OPCODE(OP_INVOKE_DIRECT /*vB, {vD, vE, vF, vG, vA}, meth@CCCC*/)
- GOTO_invoke(invokeDirect, false, false);
+ GOTO_invoke(invokeDirect, false);
OP_END
/* File: c/OP_INVOKE_STATIC.cpp */
HANDLE_OPCODE(OP_INVOKE_STATIC /*vB, {vD, vE, vF, vG, vA}, meth@CCCC*/)
- GOTO_invoke(invokeStatic, false, false);
+ GOTO_invoke(invokeStatic, false);
OP_END
/* File: c/OP_INVOKE_INTERFACE.cpp */
HANDLE_OPCODE(OP_INVOKE_INTERFACE /*vB, {vD, vE, vF, vG, vA}, meth@CCCC*/)
- GOTO_invoke(invokeInterface, false, false);
+ GOTO_invoke(invokeInterface, false);
OP_END
/* File: c/OP_UNUSED_73.cpp */
@@ -2342,27 +2236,27 @@ OP_END
/* File: c/OP_INVOKE_VIRTUAL_RANGE.cpp */
HANDLE_OPCODE(OP_INVOKE_VIRTUAL_RANGE /*{vCCCC..v(CCCC+AA-1)}, meth@BBBB*/)
- GOTO_invoke(invokeVirtual, true, false);
+ GOTO_invoke(invokeVirtual, true);
OP_END
/* File: c/OP_INVOKE_SUPER_RANGE.cpp */
HANDLE_OPCODE(OP_INVOKE_SUPER_RANGE /*{vCCCC..v(CCCC+AA-1)}, meth@BBBB*/)
- GOTO_invoke(invokeSuper, true, false);
+ GOTO_invoke(invokeSuper, true);
OP_END
/* File: c/OP_INVOKE_DIRECT_RANGE.cpp */
HANDLE_OPCODE(OP_INVOKE_DIRECT_RANGE /*{vCCCC..v(CCCC+AA-1)}, meth@BBBB*/)
- GOTO_invoke(invokeDirect, true, false);
+ GOTO_invoke(invokeDirect, true);
OP_END
/* File: c/OP_INVOKE_STATIC_RANGE.cpp */
HANDLE_OPCODE(OP_INVOKE_STATIC_RANGE /*{vCCCC..v(CCCC+AA-1)}, meth@BBBB*/)
- GOTO_invoke(invokeStatic, true, false);
+ GOTO_invoke(invokeStatic, true);
OP_END
/* File: c/OP_INVOKE_INTERFACE_RANGE.cpp */
HANDLE_OPCODE(OP_INVOKE_INTERFACE_RANGE /*{vCCCC..v(CCCC+AA-1)}, meth@BBBB*/)
- GOTO_invoke(invokeInterface, true, false);
+ GOTO_invoke(invokeInterface, true);
OP_END
/* File: c/OP_UNUSED_79.cpp */
@@ -3047,7 +2941,7 @@ HANDLE_OPCODE(OP_INVOKE_OBJECT_INIT_RANGE /*{vCCCC..v(CCCC+AA-1)}, meth@BBBB*/)
if (self->interpBreak.ctl.subMode & kSubModeDebuggerActive) {
/* behave like OP_INVOKE_DIRECT_RANGE */
- GOTO_invoke(invokeDirect, true, false);
+ GOTO_invoke(invokeDirect, true);
}
FINISH(3);
}
@@ -3089,22 +2983,22 @@ OP_END
/* File: c/OP_INVOKE_VIRTUAL_QUICK.cpp */
HANDLE_OPCODE(OP_INVOKE_VIRTUAL_QUICK /*vB, {vD, vE, vF, vG, vA}, meth@CCCC*/)
- GOTO_invoke(invokeVirtualQuick, false, false);
+ GOTO_invoke(invokeVirtualQuick, false);
OP_END
/* File: c/OP_INVOKE_VIRTUAL_QUICK_RANGE.cpp */
HANDLE_OPCODE(OP_INVOKE_VIRTUAL_QUICK_RANGE/*{vCCCC..v(CCCC+AA-1)}, meth@BBBB*/)
- GOTO_invoke(invokeVirtualQuick, true, false);
+ GOTO_invoke(invokeVirtualQuick, true);
OP_END
/* File: c/OP_INVOKE_SUPER_QUICK.cpp */
HANDLE_OPCODE(OP_INVOKE_SUPER_QUICK /*vB, {vD, vE, vF, vG, vA}, meth@CCCC*/)
- GOTO_invoke(invokeSuperQuick, false, false);
+ GOTO_invoke(invokeSuperQuick, false);
OP_END
/* File: c/OP_INVOKE_SUPER_QUICK_RANGE.cpp */
HANDLE_OPCODE(OP_INVOKE_SUPER_QUICK_RANGE /*{vCCCC..v(CCCC+AA-1)}, meth@BBBB*/)
- GOTO_invoke(invokeSuperQuick, true, false);
+ GOTO_invoke(invokeSuperQuick, true);
OP_END
/* File: c/OP_IPUT_OBJECT_VOLATILE.cpp */
@@ -3119,1245 +3013,16 @@ OP_END
HANDLE_SPUT_X(OP_SPUT_OBJECT_VOLATILE, "-object-volatile", ObjectVolatile, _AS_OBJECT)
OP_END
-/* File: c/OP_DISPATCH_FF.cpp */
-HANDLE_OPCODE(OP_DISPATCH_FF)
- /*
- * Indicates extended opcode. Use next 8 bits to choose where to branch.
- */
- DISPATCH_EXTENDED(INST_AA(inst));
-OP_END
-
-/* File: c/OP_CONST_CLASS_JUMBO.cpp */
-HANDLE_OPCODE(OP_CONST_CLASS_JUMBO /*vBBBB, class@AAAAAAAA*/)
- {
- ClassObject* clazz;
-
- ref = FETCH(1) | (u4)FETCH(2) << 16;
- vdst = FETCH(3);
- ILOGV("|const-class/jumbo v%d class@0x%08x", vdst, ref);
- clazz = dvmDexGetResolvedClass(methodClassDex, ref);
- if (clazz == NULL) {
- EXPORT_PC();
- clazz = dvmResolveClass(curMethod->clazz, ref, true);
- if (clazz == NULL)
- GOTO_exceptionThrown();
- }
- SET_REGISTER(vdst, (u4) clazz);
- }
- FINISH(4);
-OP_END
-
-/* File: c/OP_CHECK_CAST_JUMBO.cpp */
-HANDLE_OPCODE(OP_CHECK_CAST_JUMBO /*vBBBB, class@AAAAAAAA*/)
- {
- ClassObject* clazz;
- Object* obj;
-
- EXPORT_PC();
-
- ref = FETCH(1) | (u4)FETCH(2) << 16; /* class to check against */
- vsrc1 = FETCH(3);
- ILOGV("|check-cast/jumbo v%d,class@0x%08x", vsrc1, ref);
-
- obj = (Object*)GET_REGISTER(vsrc1);
- if (obj != NULL) {
-#if defined(WITH_EXTRA_OBJECT_VALIDATION)
- if (!checkForNull(obj))
- GOTO_exceptionThrown();
-#endif
- clazz = dvmDexGetResolvedClass(methodClassDex, ref);
- if (clazz == NULL) {
- clazz = dvmResolveClass(curMethod->clazz, ref, false);
- if (clazz == NULL)
- GOTO_exceptionThrown();
- }
- if (!dvmInstanceof(obj->clazz, clazz)) {
- dvmThrowClassCastException(obj->clazz, clazz);
- GOTO_exceptionThrown();
- }
- }
- }
- FINISH(4);
-OP_END
-
-/* File: c/OP_INSTANCE_OF_JUMBO.cpp */
-HANDLE_OPCODE(OP_INSTANCE_OF_JUMBO /*vBBBB, vCCCC, class@AAAAAAAA*/)
- {
- ClassObject* clazz;
- Object* obj;
-
- ref = FETCH(1) | (u4)FETCH(2) << 16; /* class to check against */
- vdst = FETCH(3);
- vsrc1 = FETCH(4); /* object to check */
- ILOGV("|instance-of/jumbo v%d,v%d,class@0x%08x", vdst, vsrc1, ref);
-
- obj = (Object*)GET_REGISTER(vsrc1);
- if (obj == NULL) {
- SET_REGISTER(vdst, 0);
- } else {
-#if defined(WITH_EXTRA_OBJECT_VALIDATION)
- if (!checkForNullExportPC(obj, fp, pc))
- GOTO_exceptionThrown();
-#endif
- clazz = dvmDexGetResolvedClass(methodClassDex, ref);
- if (clazz == NULL) {
- EXPORT_PC();
- clazz = dvmResolveClass(curMethod->clazz, ref, true);
- if (clazz == NULL)
- GOTO_exceptionThrown();
- }
- SET_REGISTER(vdst, dvmInstanceof(obj->clazz, clazz));
- }
- }
- FINISH(5);
-OP_END
-
-/* File: c/OP_NEW_INSTANCE_JUMBO.cpp */
-HANDLE_OPCODE(OP_NEW_INSTANCE_JUMBO /*vBBBB, class@AAAAAAAA*/)
- {
- ClassObject* clazz;
- Object* newObj;
-
- EXPORT_PC();
-
- ref = FETCH(1) | (u4)FETCH(2) << 16;
- vdst = FETCH(3);
- ILOGV("|new-instance/jumbo v%d,class@0x%08x", vdst, ref);
- clazz = dvmDexGetResolvedClass(methodClassDex, ref);
- if (clazz == NULL) {
- clazz = dvmResolveClass(curMethod->clazz, ref, false);
- if (clazz == NULL)
- GOTO_exceptionThrown();
- }
-
- if (!dvmIsClassInitialized(clazz) && !dvmInitClass(clazz))
- GOTO_exceptionThrown();
-
-#if defined(WITH_JIT)
- /*
- * The JIT needs dvmDexGetResolvedClass() to return non-null.
- * Since we use the portable interpreter to build the trace, this extra
- * check is not needed for mterp.
- */
- if ((self->interpBreak.ctl.subMode & kSubModeJitTraceBuild) &&
- (!dvmDexGetResolvedClass(methodClassDex, ref))) {
- /* Class initialization is still ongoing - end the trace */
- dvmJitEndTraceSelect(self,pc);
- }
-#endif
-
- /*
- * Verifier now tests for interface/abstract class.
- */
- //if (dvmIsInterfaceClass(clazz) || dvmIsAbstractClass(clazz)) {
- // dvmThrowExceptionWithClassMessage(gDvm.exInstantiationError,
- // clazz->descriptor);
- // GOTO_exceptionThrown();
- //}
- newObj = dvmAllocObject(clazz, ALLOC_DONT_TRACK);
- if (newObj == NULL)
- GOTO_exceptionThrown();
- SET_REGISTER(vdst, (u4) newObj);
- }
- FINISH(4);
-OP_END
-
-/* File: c/OP_NEW_ARRAY_JUMBO.cpp */
-HANDLE_OPCODE(OP_NEW_ARRAY_JUMBO /*vBBBB, vCCCC, class@AAAAAAAA*/)
- {
- ClassObject* arrayClass;
- ArrayObject* newArray;
- s4 length;
-
- EXPORT_PC();
-
- ref = FETCH(1) | (u4)FETCH(2) << 16;
- vdst = FETCH(3);
- vsrc1 = FETCH(4); /* length reg */
- ILOGV("|new-array/jumbo v%d,v%d,class@0x%08x (%d elements)",
- vdst, vsrc1, ref, (s4) GET_REGISTER(vsrc1));
- length = (s4) GET_REGISTER(vsrc1);
- if (length < 0) {
- dvmThrowNegativeArraySizeException(length);
- GOTO_exceptionThrown();
- }
- arrayClass = dvmDexGetResolvedClass(methodClassDex, ref);
- if (arrayClass == NULL) {
- arrayClass = dvmResolveClass(curMethod->clazz, ref, false);
- if (arrayClass == NULL)
- GOTO_exceptionThrown();
- }
- /* verifier guarantees this is an array class */
- assert(dvmIsArrayClass(arrayClass));
- assert(dvmIsClassInitialized(arrayClass));
-
- newArray = dvmAllocArrayByClass(arrayClass, length, ALLOC_DONT_TRACK);
- if (newArray == NULL)
- GOTO_exceptionThrown();
- SET_REGISTER(vdst, (u4) newArray);
- }
- FINISH(5);
-OP_END
-
-/* File: c/OP_FILLED_NEW_ARRAY_JUMBO.cpp */
-HANDLE_OPCODE(OP_FILLED_NEW_ARRAY_JUMBO /*{vCCCC..v(CCCC+BBBB-1)}, class@AAAAAAAA*/)
- GOTO_invoke(filledNewArray, true, true);
-OP_END
-
-/* File: c/OP_IGET_JUMBO.cpp */
-HANDLE_IGET_X_JUMBO(OP_IGET_JUMBO, "", Int, )
-OP_END
-
-/* File: c/OP_IGET_WIDE_JUMBO.cpp */
-HANDLE_IGET_X_JUMBO(OP_IGET_WIDE_JUMBO, "-wide", Long, _WIDE)
-OP_END
-
-/* File: c/OP_IGET_OBJECT_JUMBO.cpp */
-HANDLE_IGET_X_JUMBO(OP_IGET_OBJECT_JUMBO, "-object", Object, _AS_OBJECT)
-OP_END
-
-/* File: c/OP_IGET_BOOLEAN_JUMBO.cpp */
-HANDLE_IGET_X_JUMBO(OP_IGET_BOOLEAN_JUMBO, "", Int, )
-OP_END
-
-/* File: c/OP_IGET_BYTE_JUMBO.cpp */
-HANDLE_IGET_X_JUMBO(OP_IGET_BYTE_JUMBO, "", Int, )
-OP_END
-
-/* File: c/OP_IGET_CHAR_JUMBO.cpp */
-HANDLE_IGET_X_JUMBO(OP_IGET_CHAR_JUMBO, "", Int, )
-OP_END
-
-/* File: c/OP_IGET_SHORT_JUMBO.cpp */
-HANDLE_IGET_X_JUMBO(OP_IGET_SHORT_JUMBO, "", Int, )
-OP_END
-
-/* File: c/OP_IPUT_JUMBO.cpp */
-HANDLE_IPUT_X_JUMBO(OP_IPUT_JUMBO, "", Int, )
-OP_END
-
-/* File: c/OP_IPUT_WIDE_JUMBO.cpp */
-HANDLE_IPUT_X_JUMBO(OP_IPUT_WIDE_JUMBO, "-wide", Long, _WIDE)
-OP_END
-
-/* File: c/OP_IPUT_OBJECT_JUMBO.cpp */
-/*
- * The VM spec says we should verify that the reference being stored into
- * the field is assignment compatible. In practice, many popular VMs don't
- * do this because it slows down a very common operation. It's not so bad
- * for us, since "dexopt" quickens it whenever possible, but it's still an
- * issue.
- *
- * To make this spec-complaint, we'd need to add a ClassObject pointer to
- * the Field struct, resolve the field's type descriptor at link or class
- * init time, and then verify the type here.
- */
-HANDLE_IPUT_X_JUMBO(OP_IPUT_OBJECT_JUMBO, "-object", Object, _AS_OBJECT)
-OP_END
-
-/* File: c/OP_IPUT_BOOLEAN_JUMBO.cpp */
-HANDLE_IPUT_X_JUMBO(OP_IPUT_BOOLEAN_JUMBO, "", Int, )
-OP_END
-
-/* File: c/OP_IPUT_BYTE_JUMBO.cpp */
-HANDLE_IPUT_X_JUMBO(OP_IPUT_BYTE_JUMBO, "", Int, )
-OP_END
-
-/* File: c/OP_IPUT_CHAR_JUMBO.cpp */
-HANDLE_IPUT_X_JUMBO(OP_IPUT_CHAR_JUMBO, "", Int, )
-OP_END
-
-/* File: c/OP_IPUT_SHORT_JUMBO.cpp */
-HANDLE_IPUT_X_JUMBO(OP_IPUT_SHORT_JUMBO, "", Int, )
-OP_END
-
-/* File: c/OP_SGET_JUMBO.cpp */
-HANDLE_SGET_X_JUMBO(OP_SGET_JUMBO, "", Int, )
-OP_END
-
-/* File: c/OP_SGET_WIDE_JUMBO.cpp */
-HANDLE_SGET_X_JUMBO(OP_SGET_WIDE_JUMBO, "-wide", Long, _WIDE)
-OP_END
-
-/* File: c/OP_SGET_OBJECT_JUMBO.cpp */
-HANDLE_SGET_X_JUMBO(OP_SGET_OBJECT_JUMBO, "-object", Object, _AS_OBJECT)
-OP_END
-
-/* File: c/OP_SGET_BOOLEAN_JUMBO.cpp */
-HANDLE_SGET_X_JUMBO(OP_SGET_BOOLEAN_JUMBO, "", Int, )
-OP_END
-
-/* File: c/OP_SGET_BYTE_JUMBO.cpp */
-HANDLE_SGET_X_JUMBO(OP_SGET_BYTE_JUMBO, "", Int, )
-OP_END
-
-/* File: c/OP_SGET_CHAR_JUMBO.cpp */
-HANDLE_SGET_X_JUMBO(OP_SGET_CHAR_JUMBO, "", Int, )
-OP_END
-
-/* File: c/OP_SGET_SHORT_JUMBO.cpp */
-HANDLE_SGET_X_JUMBO(OP_SGET_SHORT_JUMBO, "", Int, )
-OP_END
-
-/* File: c/OP_SPUT_JUMBO.cpp */
-HANDLE_SPUT_X_JUMBO(OP_SPUT_JUMBO, "", Int, )
-OP_END
-
-/* File: c/OP_SPUT_WIDE_JUMBO.cpp */
-HANDLE_SPUT_X_JUMBO(OP_SPUT_WIDE_JUMBO, "-wide", Long, _WIDE)
-OP_END
-
-/* File: c/OP_SPUT_OBJECT_JUMBO.cpp */
-HANDLE_SPUT_X_JUMBO(OP_SPUT_OBJECT_JUMBO, "-object", Object, _AS_OBJECT)
-OP_END
-
-/* File: c/OP_SPUT_BOOLEAN_JUMBO.cpp */
-HANDLE_SPUT_X_JUMBO(OP_SPUT_BOOLEAN_JUMBO, "", Int, )
-OP_END
-
-/* File: c/OP_SPUT_BYTE_JUMBO.cpp */
-HANDLE_SPUT_X_JUMBO(OP_SPUT_BYTE_JUMBO, "", Int, )
-OP_END
-
-/* File: c/OP_SPUT_CHAR_JUMBO.cpp */
-HANDLE_SPUT_X_JUMBO(OP_SPUT_CHAR_JUMBO, "", Int, )
-OP_END
-
-/* File: c/OP_SPUT_SHORT_JUMBO.cpp */
-HANDLE_SPUT_X_JUMBO(OP_SPUT_SHORT_JUMBO, "", Int, )
-OP_END
-
-/* File: c/OP_INVOKE_VIRTUAL_JUMBO.cpp */
-HANDLE_OPCODE(OP_INVOKE_VIRTUAL_JUMBO /*{vCCCC..v(CCCC+BBBB-1)}, meth@AAAAAAAA*/)
- GOTO_invoke(invokeVirtual, true, true);
-OP_END
-
-/* File: c/OP_INVOKE_SUPER_JUMBO.cpp */
-HANDLE_OPCODE(OP_INVOKE_SUPER_JUMBO /*{vCCCC..v(CCCC+BBBB-1)}, meth@AAAAAAAA*/)
- GOTO_invoke(invokeSuper, true, true);
-OP_END
-
-/* File: c/OP_INVOKE_DIRECT_JUMBO.cpp */
-HANDLE_OPCODE(OP_INVOKE_DIRECT_JUMBO /*{vCCCC..v(CCCC+BBBB-1)}, meth@AAAAAAAA*/)
- GOTO_invoke(invokeDirect, true, true);
-OP_END
-
-/* File: c/OP_INVOKE_STATIC_JUMBO.cpp */
-HANDLE_OPCODE(OP_INVOKE_STATIC_JUMBO /*{vCCCC..v(CCCC+BBBB-1)}, meth@AAAAAAAA*/)
- GOTO_invoke(invokeStatic, true, true);
-OP_END
-
-/* File: c/OP_INVOKE_INTERFACE_JUMBO.cpp */
-HANDLE_OPCODE(OP_INVOKE_INTERFACE_JUMBO /*{vCCCC..v(CCCC+BBBB-1)}, meth@AAAAAAAA*/)
- GOTO_invoke(invokeInterface, true, true);
-OP_END
-
-/* File: c/OP_UNUSED_27FF.cpp */
-HANDLE_OPCODE(OP_UNUSED_27FF)
-OP_END
-
-/* File: c/OP_UNUSED_28FF.cpp */
-HANDLE_OPCODE(OP_UNUSED_28FF)
-OP_END
-
-/* File: c/OP_UNUSED_29FF.cpp */
-HANDLE_OPCODE(OP_UNUSED_29FF)
-OP_END
-
-/* File: c/OP_UNUSED_2AFF.cpp */
-HANDLE_OPCODE(OP_UNUSED_2AFF)
-OP_END
-
-/* File: c/OP_UNUSED_2BFF.cpp */
-HANDLE_OPCODE(OP_UNUSED_2BFF)
-OP_END
-
-/* File: c/OP_UNUSED_2CFF.cpp */
-HANDLE_OPCODE(OP_UNUSED_2CFF)
-OP_END
-
-/* File: c/OP_UNUSED_2DFF.cpp */
-HANDLE_OPCODE(OP_UNUSED_2DFF)
-OP_END
-
-/* File: c/OP_UNUSED_2EFF.cpp */
-HANDLE_OPCODE(OP_UNUSED_2EFF)
-OP_END
-
-/* File: c/OP_UNUSED_2FFF.cpp */
-HANDLE_OPCODE(OP_UNUSED_2FFF)
-OP_END
-
-/* File: c/OP_UNUSED_30FF.cpp */
-HANDLE_OPCODE(OP_UNUSED_30FF)
-OP_END
-
-/* File: c/OP_UNUSED_31FF.cpp */
-HANDLE_OPCODE(OP_UNUSED_31FF)
-OP_END
-
-/* File: c/OP_UNUSED_32FF.cpp */
-HANDLE_OPCODE(OP_UNUSED_32FF)
-OP_END
-
-/* File: c/OP_UNUSED_33FF.cpp */
-HANDLE_OPCODE(OP_UNUSED_33FF)
-OP_END
-
-/* File: c/OP_UNUSED_34FF.cpp */
-HANDLE_OPCODE(OP_UNUSED_34FF)
-OP_END
-
-/* File: c/OP_UNUSED_35FF.cpp */
-HANDLE_OPCODE(OP_UNUSED_35FF)
-OP_END
-
-/* File: c/OP_UNUSED_36FF.cpp */
-HANDLE_OPCODE(OP_UNUSED_36FF)
-OP_END
-
-/* File: c/OP_UNUSED_37FF.cpp */
-HANDLE_OPCODE(OP_UNUSED_37FF)
-OP_END
-
-/* File: c/OP_UNUSED_38FF.cpp */
-HANDLE_OPCODE(OP_UNUSED_38FF)
-OP_END
-
-/* File: c/OP_UNUSED_39FF.cpp */
-HANDLE_OPCODE(OP_UNUSED_39FF)
-OP_END
-
-/* File: c/OP_UNUSED_3AFF.cpp */
-HANDLE_OPCODE(OP_UNUSED_3AFF)
-OP_END
-
-/* File: c/OP_UNUSED_3BFF.cpp */
-HANDLE_OPCODE(OP_UNUSED_3BFF)
-OP_END
-
-/* File: c/OP_UNUSED_3CFF.cpp */
-HANDLE_OPCODE(OP_UNUSED_3CFF)
-OP_END
-
-/* File: c/OP_UNUSED_3DFF.cpp */
-HANDLE_OPCODE(OP_UNUSED_3DFF)
-OP_END
-
-/* File: c/OP_UNUSED_3EFF.cpp */
-HANDLE_OPCODE(OP_UNUSED_3EFF)
-OP_END
-
-/* File: c/OP_UNUSED_3FFF.cpp */
-HANDLE_OPCODE(OP_UNUSED_3FFF)
-OP_END
-
-/* File: c/OP_UNUSED_40FF.cpp */
-HANDLE_OPCODE(OP_UNUSED_40FF)
-OP_END
-
-/* File: c/OP_UNUSED_41FF.cpp */
-HANDLE_OPCODE(OP_UNUSED_41FF)
-OP_END
-
-/* File: c/OP_UNUSED_42FF.cpp */
-HANDLE_OPCODE(OP_UNUSED_42FF)
-OP_END
-
-/* File: c/OP_UNUSED_43FF.cpp */
-HANDLE_OPCODE(OP_UNUSED_43FF)
-OP_END
-
-/* File: c/OP_UNUSED_44FF.cpp */
-HANDLE_OPCODE(OP_UNUSED_44FF)
-OP_END
-
-/* File: c/OP_UNUSED_45FF.cpp */
-HANDLE_OPCODE(OP_UNUSED_45FF)
-OP_END
-
-/* File: c/OP_UNUSED_46FF.cpp */
-HANDLE_OPCODE(OP_UNUSED_46FF)
-OP_END
-
-/* File: c/OP_UNUSED_47FF.cpp */
-HANDLE_OPCODE(OP_UNUSED_47FF)
-OP_END
-
-/* File: c/OP_UNUSED_48FF.cpp */
-HANDLE_OPCODE(OP_UNUSED_48FF)
-OP_END
-
-/* File: c/OP_UNUSED_49FF.cpp */
-HANDLE_OPCODE(OP_UNUSED_49FF)
-OP_END
-
-/* File: c/OP_UNUSED_4AFF.cpp */
-HANDLE_OPCODE(OP_UNUSED_4AFF)
-OP_END
-
-/* File: c/OP_UNUSED_4BFF.cpp */
-HANDLE_OPCODE(OP_UNUSED_4BFF)
-OP_END
-
-/* File: c/OP_UNUSED_4CFF.cpp */
-HANDLE_OPCODE(OP_UNUSED_4CFF)
-OP_END
-
-/* File: c/OP_UNUSED_4DFF.cpp */
-HANDLE_OPCODE(OP_UNUSED_4DFF)
-OP_END
-
-/* File: c/OP_UNUSED_4EFF.cpp */
-HANDLE_OPCODE(OP_UNUSED_4EFF)
-OP_END
-
-/* File: c/OP_UNUSED_4FFF.cpp */
-HANDLE_OPCODE(OP_UNUSED_4FFF)
-OP_END
-
-/* File: c/OP_UNUSED_50FF.cpp */
-HANDLE_OPCODE(OP_UNUSED_50FF)
-OP_END
-
-/* File: c/OP_UNUSED_51FF.cpp */
-HANDLE_OPCODE(OP_UNUSED_51FF)
-OP_END
-
-/* File: c/OP_UNUSED_52FF.cpp */
-HANDLE_OPCODE(OP_UNUSED_52FF)
-OP_END
-
-/* File: c/OP_UNUSED_53FF.cpp */
-HANDLE_OPCODE(OP_UNUSED_53FF)
-OP_END
-
-/* File: c/OP_UNUSED_54FF.cpp */
-HANDLE_OPCODE(OP_UNUSED_54FF)
-OP_END
-
-/* File: c/OP_UNUSED_55FF.cpp */
-HANDLE_OPCODE(OP_UNUSED_55FF)
-OP_END
-
-/* File: c/OP_UNUSED_56FF.cpp */
-HANDLE_OPCODE(OP_UNUSED_56FF)
-OP_END
-
-/* File: c/OP_UNUSED_57FF.cpp */
-HANDLE_OPCODE(OP_UNUSED_57FF)
-OP_END
-
-/* File: c/OP_UNUSED_58FF.cpp */
-HANDLE_OPCODE(OP_UNUSED_58FF)
-OP_END
-
-/* File: c/OP_UNUSED_59FF.cpp */
-HANDLE_OPCODE(OP_UNUSED_59FF)
-OP_END
-
-/* File: c/OP_UNUSED_5AFF.cpp */
-HANDLE_OPCODE(OP_UNUSED_5AFF)
-OP_END
-
-/* File: c/OP_UNUSED_5BFF.cpp */
-HANDLE_OPCODE(OP_UNUSED_5BFF)
-OP_END
-
-/* File: c/OP_UNUSED_5CFF.cpp */
-HANDLE_OPCODE(OP_UNUSED_5CFF)
-OP_END
-
-/* File: c/OP_UNUSED_5DFF.cpp */
-HANDLE_OPCODE(OP_UNUSED_5DFF)
-OP_END
-
-/* File: c/OP_UNUSED_5EFF.cpp */
-HANDLE_OPCODE(OP_UNUSED_5EFF)
-OP_END
-
-/* File: c/OP_UNUSED_5FFF.cpp */
-HANDLE_OPCODE(OP_UNUSED_5FFF)
-OP_END
-
-/* File: c/OP_UNUSED_60FF.cpp */
-HANDLE_OPCODE(OP_UNUSED_60FF)
-OP_END
-
-/* File: c/OP_UNUSED_61FF.cpp */
-HANDLE_OPCODE(OP_UNUSED_61FF)
-OP_END
-
-/* File: c/OP_UNUSED_62FF.cpp */
-HANDLE_OPCODE(OP_UNUSED_62FF)
-OP_END
-
-/* File: c/OP_UNUSED_63FF.cpp */
-HANDLE_OPCODE(OP_UNUSED_63FF)
-OP_END
-
-/* File: c/OP_UNUSED_64FF.cpp */
-HANDLE_OPCODE(OP_UNUSED_64FF)
-OP_END
-
-/* File: c/OP_UNUSED_65FF.cpp */
-HANDLE_OPCODE(OP_UNUSED_65FF)
-OP_END
-
-/* File: c/OP_UNUSED_66FF.cpp */
-HANDLE_OPCODE(OP_UNUSED_66FF)
-OP_END
-
-/* File: c/OP_UNUSED_67FF.cpp */
-HANDLE_OPCODE(OP_UNUSED_67FF)
-OP_END
-
-/* File: c/OP_UNUSED_68FF.cpp */
-HANDLE_OPCODE(OP_UNUSED_68FF)
-OP_END
-
-/* File: c/OP_UNUSED_69FF.cpp */
-HANDLE_OPCODE(OP_UNUSED_69FF)
-OP_END
-
-/* File: c/OP_UNUSED_6AFF.cpp */
-HANDLE_OPCODE(OP_UNUSED_6AFF)
-OP_END
-
-/* File: c/OP_UNUSED_6BFF.cpp */
-HANDLE_OPCODE(OP_UNUSED_6BFF)
-OP_END
-
-/* File: c/OP_UNUSED_6CFF.cpp */
-HANDLE_OPCODE(OP_UNUSED_6CFF)
-OP_END
-
-/* File: c/OP_UNUSED_6DFF.cpp */
-HANDLE_OPCODE(OP_UNUSED_6DFF)
-OP_END
-
-/* File: c/OP_UNUSED_6EFF.cpp */
-HANDLE_OPCODE(OP_UNUSED_6EFF)
-OP_END
-
-/* File: c/OP_UNUSED_6FFF.cpp */
-HANDLE_OPCODE(OP_UNUSED_6FFF)
-OP_END
-
-/* File: c/OP_UNUSED_70FF.cpp */
-HANDLE_OPCODE(OP_UNUSED_70FF)
-OP_END
-
-/* File: c/OP_UNUSED_71FF.cpp */
-HANDLE_OPCODE(OP_UNUSED_71FF)
-OP_END
-
-/* File: c/OP_UNUSED_72FF.cpp */
-HANDLE_OPCODE(OP_UNUSED_72FF)
-OP_END
-
-/* File: c/OP_UNUSED_73FF.cpp */
-HANDLE_OPCODE(OP_UNUSED_73FF)
-OP_END
-
-/* File: c/OP_UNUSED_74FF.cpp */
-HANDLE_OPCODE(OP_UNUSED_74FF)
-OP_END
-
-/* File: c/OP_UNUSED_75FF.cpp */
-HANDLE_OPCODE(OP_UNUSED_75FF)
-OP_END
-
-/* File: c/OP_UNUSED_76FF.cpp */
-HANDLE_OPCODE(OP_UNUSED_76FF)
-OP_END
-
-/* File: c/OP_UNUSED_77FF.cpp */
-HANDLE_OPCODE(OP_UNUSED_77FF)
-OP_END
-
-/* File: c/OP_UNUSED_78FF.cpp */
-HANDLE_OPCODE(OP_UNUSED_78FF)
-OP_END
-
-/* File: c/OP_UNUSED_79FF.cpp */
-HANDLE_OPCODE(OP_UNUSED_79FF)
-OP_END
-
-/* File: c/OP_UNUSED_7AFF.cpp */
-HANDLE_OPCODE(OP_UNUSED_7AFF)
-OP_END
-
-/* File: c/OP_UNUSED_7BFF.cpp */
-HANDLE_OPCODE(OP_UNUSED_7BFF)
-OP_END
-
-/* File: c/OP_UNUSED_7CFF.cpp */
-HANDLE_OPCODE(OP_UNUSED_7CFF)
-OP_END
-
-/* File: c/OP_UNUSED_7DFF.cpp */
-HANDLE_OPCODE(OP_UNUSED_7DFF)
-OP_END
-
-/* File: c/OP_UNUSED_7EFF.cpp */
-HANDLE_OPCODE(OP_UNUSED_7EFF)
-OP_END
-
-/* File: c/OP_UNUSED_7FFF.cpp */
-HANDLE_OPCODE(OP_UNUSED_7FFF)
-OP_END
-
-/* File: c/OP_UNUSED_80FF.cpp */
-HANDLE_OPCODE(OP_UNUSED_80FF)
-OP_END
-
-/* File: c/OP_UNUSED_81FF.cpp */
-HANDLE_OPCODE(OP_UNUSED_81FF)
-OP_END
-
-/* File: c/OP_UNUSED_82FF.cpp */
-HANDLE_OPCODE(OP_UNUSED_82FF)
-OP_END
-
-/* File: c/OP_UNUSED_83FF.cpp */
-HANDLE_OPCODE(OP_UNUSED_83FF)
-OP_END
-
-/* File: c/OP_UNUSED_84FF.cpp */
-HANDLE_OPCODE(OP_UNUSED_84FF)
-OP_END
-
-/* File: c/OP_UNUSED_85FF.cpp */
-HANDLE_OPCODE(OP_UNUSED_85FF)
-OP_END
-
-/* File: c/OP_UNUSED_86FF.cpp */
-HANDLE_OPCODE(OP_UNUSED_86FF)
-OP_END
-
-/* File: c/OP_UNUSED_87FF.cpp */
-HANDLE_OPCODE(OP_UNUSED_87FF)
-OP_END
-
-/* File: c/OP_UNUSED_88FF.cpp */
-HANDLE_OPCODE(OP_UNUSED_88FF)
-OP_END
-
-/* File: c/OP_UNUSED_89FF.cpp */
-HANDLE_OPCODE(OP_UNUSED_89FF)
-OP_END
-
-/* File: c/OP_UNUSED_8AFF.cpp */
-HANDLE_OPCODE(OP_UNUSED_8AFF)
-OP_END
-
-/* File: c/OP_UNUSED_8BFF.cpp */
-HANDLE_OPCODE(OP_UNUSED_8BFF)
-OP_END
-
-/* File: c/OP_UNUSED_8CFF.cpp */
-HANDLE_OPCODE(OP_UNUSED_8CFF)
-OP_END
-
-/* File: c/OP_UNUSED_8DFF.cpp */
-HANDLE_OPCODE(OP_UNUSED_8DFF)
-OP_END
-
-/* File: c/OP_UNUSED_8EFF.cpp */
-HANDLE_OPCODE(OP_UNUSED_8EFF)
-OP_END
-
-/* File: c/OP_UNUSED_8FFF.cpp */
-HANDLE_OPCODE(OP_UNUSED_8FFF)
-OP_END
-
-/* File: c/OP_UNUSED_90FF.cpp */
-HANDLE_OPCODE(OP_UNUSED_90FF)
-OP_END
-
-/* File: c/OP_UNUSED_91FF.cpp */
-HANDLE_OPCODE(OP_UNUSED_91FF)
-OP_END
-
-/* File: c/OP_UNUSED_92FF.cpp */
-HANDLE_OPCODE(OP_UNUSED_92FF)
-OP_END
-
-/* File: c/OP_UNUSED_93FF.cpp */
-HANDLE_OPCODE(OP_UNUSED_93FF)
-OP_END
-
-/* File: c/OP_UNUSED_94FF.cpp */
-HANDLE_OPCODE(OP_UNUSED_94FF)
-OP_END
-
-/* File: c/OP_UNUSED_95FF.cpp */
-HANDLE_OPCODE(OP_UNUSED_95FF)
-OP_END
-
-/* File: c/OP_UNUSED_96FF.cpp */
-HANDLE_OPCODE(OP_UNUSED_96FF)
-OP_END
-
-/* File: c/OP_UNUSED_97FF.cpp */
-HANDLE_OPCODE(OP_UNUSED_97FF)
-OP_END
-
-/* File: c/OP_UNUSED_98FF.cpp */
-HANDLE_OPCODE(OP_UNUSED_98FF)
-OP_END
-
-/* File: c/OP_UNUSED_99FF.cpp */
-HANDLE_OPCODE(OP_UNUSED_99FF)
-OP_END
-
-/* File: c/OP_UNUSED_9AFF.cpp */
-HANDLE_OPCODE(OP_UNUSED_9AFF)
-OP_END
-
-/* File: c/OP_UNUSED_9BFF.cpp */
-HANDLE_OPCODE(OP_UNUSED_9BFF)
-OP_END
-
-/* File: c/OP_UNUSED_9CFF.cpp */
-HANDLE_OPCODE(OP_UNUSED_9CFF)
-OP_END
-
-/* File: c/OP_UNUSED_9DFF.cpp */
-HANDLE_OPCODE(OP_UNUSED_9DFF)
-OP_END
-
-/* File: c/OP_UNUSED_9EFF.cpp */
-HANDLE_OPCODE(OP_UNUSED_9EFF)
-OP_END
-
-/* File: c/OP_UNUSED_9FFF.cpp */
-HANDLE_OPCODE(OP_UNUSED_9FFF)
-OP_END
-
-/* File: c/OP_UNUSED_A0FF.cpp */
-HANDLE_OPCODE(OP_UNUSED_A0FF)
-OP_END
-
-/* File: c/OP_UNUSED_A1FF.cpp */
-HANDLE_OPCODE(OP_UNUSED_A1FF)
-OP_END
-
-/* File: c/OP_UNUSED_A2FF.cpp */
-HANDLE_OPCODE(OP_UNUSED_A2FF)
-OP_END
-
-/* File: c/OP_UNUSED_A3FF.cpp */
-HANDLE_OPCODE(OP_UNUSED_A3FF)
-OP_END
-
-/* File: c/OP_UNUSED_A4FF.cpp */
-HANDLE_OPCODE(OP_UNUSED_A4FF)
-OP_END
-
-/* File: c/OP_UNUSED_A5FF.cpp */
-HANDLE_OPCODE(OP_UNUSED_A5FF)
-OP_END
-
-/* File: c/OP_UNUSED_A6FF.cpp */
-HANDLE_OPCODE(OP_UNUSED_A6FF)
-OP_END
-
-/* File: c/OP_UNUSED_A7FF.cpp */
-HANDLE_OPCODE(OP_UNUSED_A7FF)
-OP_END
-
-/* File: c/OP_UNUSED_A8FF.cpp */
-HANDLE_OPCODE(OP_UNUSED_A8FF)
-OP_END
-
-/* File: c/OP_UNUSED_A9FF.cpp */
-HANDLE_OPCODE(OP_UNUSED_A9FF)
-OP_END
-
-/* File: c/OP_UNUSED_AAFF.cpp */
-HANDLE_OPCODE(OP_UNUSED_AAFF)
-OP_END
-
-/* File: c/OP_UNUSED_ABFF.cpp */
-HANDLE_OPCODE(OP_UNUSED_ABFF)
-OP_END
-
-/* File: c/OP_UNUSED_ACFF.cpp */
-HANDLE_OPCODE(OP_UNUSED_ACFF)
-OP_END
-
-/* File: c/OP_UNUSED_ADFF.cpp */
-HANDLE_OPCODE(OP_UNUSED_ADFF)
-OP_END
-
-/* File: c/OP_UNUSED_AEFF.cpp */
-HANDLE_OPCODE(OP_UNUSED_AEFF)
-OP_END
-
-/* File: c/OP_UNUSED_AFFF.cpp */
-HANDLE_OPCODE(OP_UNUSED_AFFF)
-OP_END
-
-/* File: c/OP_UNUSED_B0FF.cpp */
-HANDLE_OPCODE(OP_UNUSED_B0FF)
-OP_END
-
-/* File: c/OP_UNUSED_B1FF.cpp */
-HANDLE_OPCODE(OP_UNUSED_B1FF)
-OP_END
-
-/* File: c/OP_UNUSED_B2FF.cpp */
-HANDLE_OPCODE(OP_UNUSED_B2FF)
-OP_END
-
-/* File: c/OP_UNUSED_B3FF.cpp */
-HANDLE_OPCODE(OP_UNUSED_B3FF)
-OP_END
-
-/* File: c/OP_UNUSED_B4FF.cpp */
-HANDLE_OPCODE(OP_UNUSED_B4FF)
-OP_END
-
-/* File: c/OP_UNUSED_B5FF.cpp */
-HANDLE_OPCODE(OP_UNUSED_B5FF)
-OP_END
-
-/* File: c/OP_UNUSED_B6FF.cpp */
-HANDLE_OPCODE(OP_UNUSED_B6FF)
-OP_END
-
-/* File: c/OP_UNUSED_B7FF.cpp */
-HANDLE_OPCODE(OP_UNUSED_B7FF)
-OP_END
-
-/* File: c/OP_UNUSED_B8FF.cpp */
-HANDLE_OPCODE(OP_UNUSED_B8FF)
-OP_END
-
-/* File: c/OP_UNUSED_B9FF.cpp */
-HANDLE_OPCODE(OP_UNUSED_B9FF)
-OP_END
-
-/* File: c/OP_UNUSED_BAFF.cpp */
-HANDLE_OPCODE(OP_UNUSED_BAFF)
-OP_END
-
-/* File: c/OP_UNUSED_BBFF.cpp */
-HANDLE_OPCODE(OP_UNUSED_BBFF)
-OP_END
-
-/* File: c/OP_UNUSED_BCFF.cpp */
-HANDLE_OPCODE(OP_UNUSED_BCFF)
-OP_END
-
-/* File: c/OP_UNUSED_BDFF.cpp */
-HANDLE_OPCODE(OP_UNUSED_BDFF)
-OP_END
-
-/* File: c/OP_UNUSED_BEFF.cpp */
-HANDLE_OPCODE(OP_UNUSED_BEFF)
-OP_END
-
-/* File: c/OP_UNUSED_BFFF.cpp */
-HANDLE_OPCODE(OP_UNUSED_BFFF)
-OP_END
-
-/* File: c/OP_UNUSED_C0FF.cpp */
-HANDLE_OPCODE(OP_UNUSED_C0FF)
-OP_END
-
-/* File: c/OP_UNUSED_C1FF.cpp */
-HANDLE_OPCODE(OP_UNUSED_C1FF)
-OP_END
-
-/* File: c/OP_UNUSED_C2FF.cpp */
-HANDLE_OPCODE(OP_UNUSED_C2FF)
-OP_END
-
-/* File: c/OP_UNUSED_C3FF.cpp */
-HANDLE_OPCODE(OP_UNUSED_C3FF)
-OP_END
-
-/* File: c/OP_UNUSED_C4FF.cpp */
-HANDLE_OPCODE(OP_UNUSED_C4FF)
-OP_END
-
-/* File: c/OP_UNUSED_C5FF.cpp */
-HANDLE_OPCODE(OP_UNUSED_C5FF)
-OP_END
-
-/* File: c/OP_UNUSED_C6FF.cpp */
-HANDLE_OPCODE(OP_UNUSED_C6FF)
-OP_END
-
-/* File: c/OP_UNUSED_C7FF.cpp */
-HANDLE_OPCODE(OP_UNUSED_C7FF)
-OP_END
-
-/* File: c/OP_UNUSED_C8FF.cpp */
-HANDLE_OPCODE(OP_UNUSED_C8FF)
-OP_END
-
-/* File: c/OP_UNUSED_C9FF.cpp */
-HANDLE_OPCODE(OP_UNUSED_C9FF)
-OP_END
-
-/* File: c/OP_UNUSED_CAFF.cpp */
-HANDLE_OPCODE(OP_UNUSED_CAFF)
-OP_END
-
-/* File: c/OP_UNUSED_CBFF.cpp */
-HANDLE_OPCODE(OP_UNUSED_CBFF)
-OP_END
-
-/* File: c/OP_UNUSED_CCFF.cpp */
-HANDLE_OPCODE(OP_UNUSED_CCFF)
-OP_END
-
-/* File: c/OP_UNUSED_CDFF.cpp */
-HANDLE_OPCODE(OP_UNUSED_CDFF)
-OP_END
-
-/* File: c/OP_UNUSED_CEFF.cpp */
-HANDLE_OPCODE(OP_UNUSED_CEFF)
-OP_END
-
-/* File: c/OP_UNUSED_CFFF.cpp */
-HANDLE_OPCODE(OP_UNUSED_CFFF)
-OP_END
-
-/* File: c/OP_UNUSED_D0FF.cpp */
-HANDLE_OPCODE(OP_UNUSED_D0FF)
-OP_END
-
-/* File: c/OP_UNUSED_D1FF.cpp */
-HANDLE_OPCODE(OP_UNUSED_D1FF)
-OP_END
-
-/* File: c/OP_UNUSED_D2FF.cpp */
-HANDLE_OPCODE(OP_UNUSED_D2FF)
-OP_END
-
-/* File: c/OP_UNUSED_D3FF.cpp */
-HANDLE_OPCODE(OP_UNUSED_D3FF)
-OP_END
-
-/* File: c/OP_UNUSED_D4FF.cpp */
-HANDLE_OPCODE(OP_UNUSED_D4FF)
-OP_END
-
-/* File: c/OP_UNUSED_D5FF.cpp */
-HANDLE_OPCODE(OP_UNUSED_D5FF)
-OP_END
-
-/* File: c/OP_UNUSED_D6FF.cpp */
-HANDLE_OPCODE(OP_UNUSED_D6FF)
-OP_END
-
-/* File: c/OP_UNUSED_D7FF.cpp */
-HANDLE_OPCODE(OP_UNUSED_D7FF)
-OP_END
-
-/* File: c/OP_UNUSED_D8FF.cpp */
-HANDLE_OPCODE(OP_UNUSED_D8FF)
-OP_END
-
-/* File: c/OP_UNUSED_D9FF.cpp */
-HANDLE_OPCODE(OP_UNUSED_D9FF)
-OP_END
-
-/* File: c/OP_UNUSED_DAFF.cpp */
-HANDLE_OPCODE(OP_UNUSED_DAFF)
-OP_END
-
-/* File: c/OP_UNUSED_DBFF.cpp */
-HANDLE_OPCODE(OP_UNUSED_DBFF)
-OP_END
-
-/* File: c/OP_UNUSED_DCFF.cpp */
-HANDLE_OPCODE(OP_UNUSED_DCFF)
-OP_END
-
-/* File: c/OP_UNUSED_DDFF.cpp */
-HANDLE_OPCODE(OP_UNUSED_DDFF)
-OP_END
-
-/* File: c/OP_UNUSED_DEFF.cpp */
-HANDLE_OPCODE(OP_UNUSED_DEFF)
-OP_END
-
-/* File: c/OP_UNUSED_DFFF.cpp */
-HANDLE_OPCODE(OP_UNUSED_DFFF)
-OP_END
-
-/* File: c/OP_UNUSED_E0FF.cpp */
-HANDLE_OPCODE(OP_UNUSED_E0FF)
-OP_END
-
-/* File: c/OP_UNUSED_E1FF.cpp */
-HANDLE_OPCODE(OP_UNUSED_E1FF)
-OP_END
-
-/* File: c/OP_UNUSED_E2FF.cpp */
-HANDLE_OPCODE(OP_UNUSED_E2FF)
-OP_END
-
-/* File: c/OP_UNUSED_E3FF.cpp */
-HANDLE_OPCODE(OP_UNUSED_E3FF)
-OP_END
-
-/* File: c/OP_UNUSED_E4FF.cpp */
-HANDLE_OPCODE(OP_UNUSED_E4FF)
-OP_END
-
-/* File: c/OP_UNUSED_E5FF.cpp */
-HANDLE_OPCODE(OP_UNUSED_E5FF)
-OP_END
-
-/* File: c/OP_UNUSED_E6FF.cpp */
-HANDLE_OPCODE(OP_UNUSED_E6FF)
-OP_END
-
-/* File: c/OP_UNUSED_E7FF.cpp */
-HANDLE_OPCODE(OP_UNUSED_E7FF)
-OP_END
-
-/* File: c/OP_UNUSED_E8FF.cpp */
-HANDLE_OPCODE(OP_UNUSED_E8FF)
-OP_END
-
-/* File: c/OP_UNUSED_E9FF.cpp */
-HANDLE_OPCODE(OP_UNUSED_E9FF)
-OP_END
-
-/* File: c/OP_UNUSED_EAFF.cpp */
-HANDLE_OPCODE(OP_UNUSED_EAFF)
-OP_END
-
-/* File: c/OP_UNUSED_EBFF.cpp */
-HANDLE_OPCODE(OP_UNUSED_EBFF)
-OP_END
-
-/* File: c/OP_UNUSED_ECFF.cpp */
-HANDLE_OPCODE(OP_UNUSED_ECFF)
-OP_END
-
-/* File: c/OP_UNUSED_EDFF.cpp */
-HANDLE_OPCODE(OP_UNUSED_EDFF)
-OP_END
-
-/* File: c/OP_UNUSED_EEFF.cpp */
-HANDLE_OPCODE(OP_UNUSED_EEFF)
-OP_END
-
-/* File: c/OP_UNUSED_EFFF.cpp */
-HANDLE_OPCODE(OP_UNUSED_EFFF)
-OP_END
-
-/* File: c/OP_UNUSED_F0FF.cpp */
-HANDLE_OPCODE(OP_UNUSED_F0FF)
-OP_END
-
-/* File: c/OP_UNUSED_F1FF.cpp */
-HANDLE_OPCODE(OP_UNUSED_F1FF)
+/* File: c/OP_UNUSED_FF.cpp */
+HANDLE_OPCODE(OP_UNUSED_FF)
/*
* In portable interp, most unused opcodes will fall through to here.
*/
- LOGE("unknown opcode 0x%04x", inst);
+ LOGE("unknown opcode 0x%02x\n", INST_INST(inst));
dvmAbort();
FINISH(1);
OP_END
-/* File: c/OP_INVOKE_OBJECT_INIT_JUMBO.cpp */
-HANDLE_OPCODE(OP_INVOKE_OBJECT_INIT_JUMBO /*{vCCCC..vNNNN}, meth@AAAAAAAA*/)
- {
- Object* obj;
-
- vsrc1 = FETCH(4); /* reg number of "this" pointer */
- obj = GET_REGISTER_AS_OBJECT(vsrc1);
-
- if (!checkForNullExportPC(obj, fp, pc))
- GOTO_exceptionThrown();
-
- /*
- * The object should be marked "finalizable" when Object.<init>
- * completes normally. We're going to assume it does complete
- * (by virtue of being nothing but a return-void) and set it now.
- */
- if (IS_CLASS_FLAG_SET(obj->clazz, CLASS_ISFINALIZABLE)) {
- EXPORT_PC();
- dvmSetFinalizable(obj);
- if (dvmGetException(self))
- GOTO_exceptionThrown();
- }
-
- if (self->interpBreak.ctl.subMode & kSubModeDebuggerActive) {
- /* behave like OP_INVOKE_DIRECT_RANGE */
- GOTO_invoke(invokeDirect, true, true);
- }
- FINISH(5);
- }
-OP_END
-
-/* File: c/OP_IGET_VOLATILE_JUMBO.cpp */
-HANDLE_IGET_X_JUMBO(OP_IGET_VOLATILE_JUMBO, "-volatile/jumbo", IntVolatile, )
-OP_END
-
-/* File: c/OP_IGET_WIDE_VOLATILE_JUMBO.cpp */
-HANDLE_IGET_X_JUMBO(OP_IGET_WIDE_VOLATILE_JUMBO, "-wide-volatile/jumbo", LongVolatile, _WIDE)
-OP_END
-
-/* File: c/OP_IGET_OBJECT_VOLATILE_JUMBO.cpp */
-HANDLE_IGET_X_JUMBO(OP_IGET_OBJECT_VOLATILE_JUMBO, "-object-volatile/jumbo", ObjectVolatile, _AS_OBJECT)
-OP_END
-
-/* File: c/OP_IPUT_VOLATILE_JUMBO.cpp */
-HANDLE_IPUT_X_JUMBO(OP_IPUT_VOLATILE_JUMBO, "-volatile/jumbo", IntVolatile, )
-OP_END
-
-/* File: c/OP_IPUT_WIDE_VOLATILE_JUMBO.cpp */
-HANDLE_IPUT_X_JUMBO(OP_IPUT_WIDE_VOLATILE_JUMBO, "-wide-volatile/jumbo", LongVolatile, _WIDE)
-OP_END
-
-/* File: c/OP_IPUT_OBJECT_VOLATILE_JUMBO.cpp */
-HANDLE_IPUT_X_JUMBO(OP_IPUT_OBJECT_VOLATILE_JUMBO, "-object-volatile/jumbo", ObjectVolatile, _AS_OBJECT)
-OP_END
-
-/* File: c/OP_SGET_VOLATILE_JUMBO.cpp */
-HANDLE_SGET_X_JUMBO(OP_SGET_VOLATILE_JUMBO, "-volatile/jumbo", IntVolatile, )
-OP_END
-
-/* File: c/OP_SGET_WIDE_VOLATILE_JUMBO.cpp */
-HANDLE_SGET_X_JUMBO(OP_SGET_WIDE_VOLATILE_JUMBO, "-wide-volatile/jumbo", LongVolatile, _WIDE)
-OP_END
-
-/* File: c/OP_SGET_OBJECT_VOLATILE_JUMBO.cpp */
-HANDLE_SGET_X_JUMBO(OP_SGET_OBJECT_VOLATILE_JUMBO, "-object-volatile/jumbo", ObjectVolatile, _AS_OBJECT)
-OP_END
-
-/* File: c/OP_SPUT_VOLATILE_JUMBO.cpp */
-HANDLE_SPUT_X_JUMBO(OP_SPUT_VOLATILE_JUMBO, "-volatile", IntVolatile, )
-OP_END
-
-/* File: c/OP_SPUT_WIDE_VOLATILE_JUMBO.cpp */
-HANDLE_SPUT_X_JUMBO(OP_SPUT_WIDE_VOLATILE_JUMBO, "-wide-volatile/jumbo", LongVolatile, _WIDE)
-OP_END
-
-/* File: c/OP_SPUT_OBJECT_VOLATILE_JUMBO.cpp */
-HANDLE_SPUT_X_JUMBO(OP_SPUT_OBJECT_VOLATILE_JUMBO, "-object-volatile/jumbo", ObjectVolatile, _AS_OBJECT)
-OP_END
-
-/* File: c/OP_THROW_VERIFICATION_ERROR_JUMBO.cpp */
-HANDLE_OPCODE(OP_THROW_VERIFICATION_ERROR_JUMBO)
- EXPORT_PC();
- vsrc1 = FETCH(3);
- ref = FETCH(1) | (u4)FETCH(2) << 16; /* class/field/method ref */
- dvmThrowVerificationError(curMethod, vsrc1, ref);
- GOTO_exceptionThrown();
-OP_END
-
/* File: c/gotoTargets.cpp */
/*
* C footer. This has some common code shared by the various targets.
@@ -4369,7 +3034,7 @@ OP_END
* next instruction. Here, these are subroutines that return to the caller.
*/
-GOTO_TARGET(filledNewArray, bool methodCallRange, bool jumboFormat)
+GOTO_TARGET(filledNewArray, bool methodCallRange, bool)
{
ClassObject* arrayClass;
ArrayObject* newArray;
@@ -4380,28 +3045,19 @@ GOTO_TARGET(filledNewArray, bool methodCallRange, bool jumboFormat)
EXPORT_PC();
- if (jumboFormat) {
- ref = FETCH(1) | (u4)FETCH(2) << 16; /* class ref */
- vsrc1 = FETCH(3); /* #of elements */
- vdst = FETCH(4); /* range base */
- arg5 = -1; /* silence compiler warning */
- ILOGV("|filled-new-array/jumbo args=%d @0x%08x {regs=v%d-v%d}",
+ ref = FETCH(1); /* class ref */
+ vdst = FETCH(2); /* first 4 regs -or- range base */
+
+ if (methodCallRange) {
+ vsrc1 = INST_AA(inst); /* #of elements */
+ arg5 = -1; /* silence compiler warning */
+ ILOGV("|filled-new-array-range args=%d @0x%04x {regs=v%d-v%d}",
vsrc1, ref, vdst, vdst+vsrc1-1);
} else {
- ref = FETCH(1); /* class ref */
- vdst = FETCH(2); /* first 4 regs -or- range base */
-
- if (methodCallRange) {
- vsrc1 = INST_AA(inst); /* #of elements */
- arg5 = -1; /* silence compiler warning */
- ILOGV("|filled-new-array-range args=%d @0x%04x {regs=v%d-v%d}",
- vsrc1, ref, vdst, vdst+vsrc1-1);
- } else {
- arg5 = INST_A(inst);
- vsrc1 = INST_B(inst); /* #of elements */
- ILOGV("|filled-new-array args=%d @0x%04x {regs=0x%04x %x}",
- vsrc1, ref, vdst, arg5);
- }
+ arg5 = INST_A(inst);
+ vsrc1 = INST_B(inst); /* #of elements */
+ ILOGV("|filled-new-array args=%d @0x%04x {regs=0x%04x %x}",
+ vsrc1, ref, vdst, arg5);
}
/*
@@ -4469,49 +3125,35 @@ GOTO_TARGET(filledNewArray, bool methodCallRange, bool jumboFormat)
retval.l = (Object*)newArray;
}
- if (jumboFormat) {
- FINISH(5);
- } else {
- FINISH(3);
- }
+ FINISH(3);
GOTO_TARGET_END
-GOTO_TARGET(invokeVirtual, bool methodCallRange, bool jumboFormat)
+GOTO_TARGET(invokeVirtual, bool methodCallRange, bool)
{
Method* baseMethod;
Object* thisPtr;
EXPORT_PC();
- if (jumboFormat) {
- ref = FETCH(1) | (u4)FETCH(2) << 16; /* method ref */
- vsrc1 = FETCH(3); /* count */
- vdst = FETCH(4); /* first reg */
- ADJUST_PC(2); /* advance pc partially to make returns easier */
- ILOGV("|invoke-virtual/jumbo args=%d @0x%08x {regs=v%d-v%d}",
+ vsrc1 = INST_AA(inst); /* AA (count) or BA (count + arg 5) */
+ ref = FETCH(1); /* method ref */
+ vdst = FETCH(2); /* 4 regs -or- first reg */
+
+ /*
+ * The object against which we are executing a method is always
+ * in the first argument.
+ */
+ if (methodCallRange) {
+ assert(vsrc1 > 0);
+ ILOGV("|invoke-virtual-range args=%d @0x%04x {regs=v%d-v%d}",
vsrc1, ref, vdst, vdst+vsrc1-1);
thisPtr = (Object*) GET_REGISTER(vdst);
} else {
- vsrc1 = INST_AA(inst); /* AA (count) or BA (count + arg 5) */
- ref = FETCH(1); /* method ref */
- vdst = FETCH(2); /* 4 regs -or- first reg */
-
- /*
- * The object against which we are executing a method is always
- * in the first argument.
- */
- if (methodCallRange) {
- assert(vsrc1 > 0);
- ILOGV("|invoke-virtual-range args=%d @0x%04x {regs=v%d-v%d}",
- vsrc1, ref, vdst, vdst+vsrc1-1);
- thisPtr = (Object*) GET_REGISTER(vdst);
- } else {
- assert((vsrc1>>4) > 0);
- ILOGV("|invoke-virtual args=%d @0x%04x {regs=0x%04x %x}",
- vsrc1 >> 4, ref, vdst, vsrc1 & 0x0f);
- thisPtr = (Object*) GET_REGISTER(vdst & 0x0f);
- }
+ assert((vsrc1>>4) > 0);
+ ILOGV("|invoke-virtual args=%d @0x%04x {regs=0x%04x %x}",
+ vsrc1 >> 4, ref, vdst, vsrc1 & 0x0f);
+ thisPtr = (Object*) GET_REGISTER(vdst & 0x0f);
}
if (!checkForNull(thisPtr))
@@ -4583,35 +3225,25 @@ GOTO_TARGET(invokeVirtual, bool methodCallRange, bool jumboFormat)
}
GOTO_TARGET_END
-GOTO_TARGET(invokeSuper, bool methodCallRange, bool jumboFormat)
+GOTO_TARGET(invokeSuper, bool methodCallRange)
{
Method* baseMethod;
u2 thisReg;
EXPORT_PC();
- if (jumboFormat) {
- ref = FETCH(1) | (u4)FETCH(2) << 16; /* method ref */
- vsrc1 = FETCH(3); /* count */
- vdst = FETCH(4); /* first reg */
- ADJUST_PC(2); /* advance pc partially to make returns easier */
- ILOGV("|invoke-super/jumbo args=%d @0x%08x {regs=v%d-v%d}",
+ vsrc1 = INST_AA(inst); /* AA (count) or BA (count + arg 5) */
+ ref = FETCH(1); /* method ref */
+ vdst = FETCH(2); /* 4 regs -or- first reg */
+
+ if (methodCallRange) {
+ ILOGV("|invoke-super-range args=%d @0x%04x {regs=v%d-v%d}",
vsrc1, ref, vdst, vdst+vsrc1-1);
thisReg = vdst;
} else {
- vsrc1 = INST_AA(inst); /* AA (count) or BA (count + arg 5) */
- ref = FETCH(1); /* method ref */
- vdst = FETCH(2); /* 4 regs -or- first reg */
-
- if (methodCallRange) {
- ILOGV("|invoke-super-range args=%d @0x%04x {regs=v%d-v%d}",
- vsrc1, ref, vdst, vdst+vsrc1-1);
- thisReg = vdst;
- } else {
- ILOGV("|invoke-super args=%d @0x%04x {regs=0x%04x %x}",
- vsrc1 >> 4, ref, vdst, vsrc1 & 0x0f);
- thisReg = vdst & 0x0f;
- }
+ ILOGV("|invoke-super args=%d @0x%04x {regs=0x%04x %x}",
+ vsrc1 >> 4, ref, vdst, vsrc1 & 0x0f);
+ thisReg = vdst & 0x0f;
}
/* impossible in well-formed code, but we must check nevertheless */
@@ -4671,41 +3303,31 @@ GOTO_TARGET(invokeSuper, bool methodCallRange, bool jumboFormat)
}
GOTO_TARGET_END
-GOTO_TARGET(invokeInterface, bool methodCallRange, bool jumboFormat)
+GOTO_TARGET(invokeInterface, bool methodCallRange)
{
Object* thisPtr;
ClassObject* thisClass;
EXPORT_PC();
- if (jumboFormat) {
- ref = FETCH(1) | (u4)FETCH(2) << 16; /* method ref */
- vsrc1 = FETCH(3); /* count */
- vdst = FETCH(4); /* first reg */
- ADJUST_PC(2); /* advance pc partially to make returns easier */
- ILOGV("|invoke-interface/jumbo args=%d @0x%08x {regs=v%d-v%d}",
+ vsrc1 = INST_AA(inst); /* AA (count) or BA (count + arg 5) */
+ ref = FETCH(1); /* method ref */
+ vdst = FETCH(2); /* 4 regs -or- first reg */
+
+ /*
+ * The object against which we are executing a method is always
+ * in the first argument.
+ */
+ if (methodCallRange) {
+ assert(vsrc1 > 0);
+ ILOGV("|invoke-interface-range args=%d @0x%04x {regs=v%d-v%d}",
vsrc1, ref, vdst, vdst+vsrc1-1);
thisPtr = (Object*) GET_REGISTER(vdst);
} else {
- vsrc1 = INST_AA(inst); /* AA (count) or BA (count + arg 5) */
- ref = FETCH(1); /* method ref */
- vdst = FETCH(2); /* 4 regs -or- first reg */
-
- /*
- * The object against which we are executing a method is always
- * in the first argument.
- */
- if (methodCallRange) {
- assert(vsrc1 > 0);
- ILOGV("|invoke-interface-range args=%d @0x%04x {regs=v%d-v%d}",
- vsrc1, ref, vdst, vdst+vsrc1-1);
- thisPtr = (Object*) GET_REGISTER(vdst);
- } else {
- assert((vsrc1>>4) > 0);
- ILOGV("|invoke-interface args=%d @0x%04x {regs=0x%04x %x}",
- vsrc1 >> 4, ref, vdst, vsrc1 & 0x0f);
- thisPtr = (Object*) GET_REGISTER(vdst & 0x0f);
- }
+ assert((vsrc1>>4) > 0);
+ ILOGV("|invoke-interface args=%d @0x%04x {regs=0x%04x %x}",
+ vsrc1 >> 4, ref, vdst, vsrc1 & 0x0f);
+ thisPtr = (Object*) GET_REGISTER(vdst & 0x0f);
}
if (!checkForNull(thisPtr))
@@ -4713,7 +3335,6 @@ GOTO_TARGET(invokeInterface, bool methodCallRange, bool jumboFormat)
thisClass = thisPtr->clazz;
-
/*
* Given a class and a method index, find the Method* with the
* actual code we want to execute.
@@ -4733,34 +3354,24 @@ GOTO_TARGET(invokeInterface, bool methodCallRange, bool jumboFormat)
}
GOTO_TARGET_END
-GOTO_TARGET(invokeDirect, bool methodCallRange, bool jumboFormat)
+GOTO_TARGET(invokeDirect, bool methodCallRange)
{
u2 thisReg;
EXPORT_PC();
- if (jumboFormat) {
- ref = FETCH(1) | (u4)FETCH(2) << 16; /* method ref */
- vsrc1 = FETCH(3); /* count */
- vdst = FETCH(4); /* first reg */
- ADJUST_PC(2); /* advance pc partially to make returns easier */
- ILOGV("|invoke-direct/jumbo args=%d @0x%08x {regs=v%d-v%d}",
+ vsrc1 = INST_AA(inst); /* AA (count) or BA (count + arg 5) */
+ ref = FETCH(1); /* method ref */
+ vdst = FETCH(2); /* 4 regs -or- first reg */
+
+ if (methodCallRange) {
+ ILOGV("|invoke-direct-range args=%d @0x%04x {regs=v%d-v%d}",
vsrc1, ref, vdst, vdst+vsrc1-1);
thisReg = vdst;
} else {
- vsrc1 = INST_AA(inst); /* AA (count) or BA (count + arg 5) */
- ref = FETCH(1); /* method ref */
- vdst = FETCH(2); /* 4 regs -or- first reg */
-
- if (methodCallRange) {
- ILOGV("|invoke-direct-range args=%d @0x%04x {regs=v%d-v%d}",
- vsrc1, ref, vdst, vdst+vsrc1-1);
- thisReg = vdst;
- } else {
- ILOGV("|invoke-direct args=%d @0x%04x {regs=0x%04x %x}",
- vsrc1 >> 4, ref, vdst, vsrc1 & 0x0f);
- thisReg = vdst & 0x0f;
- }
+ ILOGV("|invoke-direct args=%d @0x%04x {regs=0x%04x %x}",
+ vsrc1 >> 4, ref, vdst, vsrc1 & 0x0f);
+ thisReg = vdst & 0x0f;
}
if (!checkForNull((Object*) GET_REGISTER(thisReg)))
@@ -4779,28 +3390,19 @@ GOTO_TARGET(invokeDirect, bool methodCallRange, bool jumboFormat)
}
GOTO_TARGET_END
-GOTO_TARGET(invokeStatic, bool methodCallRange, bool jumboFormat)
+GOTO_TARGET(invokeStatic, bool methodCallRange)
EXPORT_PC();
- if (jumboFormat) {
- ref = FETCH(1) | (u4)FETCH(2) << 16; /* method ref */
- vsrc1 = FETCH(3); /* count */
- vdst = FETCH(4); /* first reg */
- ADJUST_PC(2); /* advance pc partially to make returns easier */
- ILOGV("|invoke-static/jumbo args=%d @0x%08x {regs=v%d-v%d}",
- vsrc1, ref, vdst, vdst+vsrc1-1);
- } else {
- vsrc1 = INST_AA(inst); /* AA (count) or BA (count + arg 5) */
- ref = FETCH(1); /* method ref */
- vdst = FETCH(2); /* 4 regs -or- first reg */
+ vsrc1 = INST_AA(inst); /* AA (count) or BA (count + arg 5) */
+ ref = FETCH(1); /* method ref */
+ vdst = FETCH(2); /* 4 regs -or- first reg */
- if (methodCallRange)
- ILOGV("|invoke-static-range args=%d @0x%04x {regs=v%d-v%d}",
- vsrc1, ref, vdst, vdst+vsrc1-1);
- else
- ILOGV("|invoke-static args=%d @0x%04x {regs=0x%04x %x}",
- vsrc1 >> 4, ref, vdst, vsrc1 & 0x0f);
- }
+ if (methodCallRange)
+ ILOGV("|invoke-static-range args=%d @0x%04x {regs=v%d-v%d}",
+ vsrc1, ref, vdst, vdst+vsrc1-1);
+ else
+ ILOGV("|invoke-static args=%d @0x%04x {regs=0x%04x %x}",
+ vsrc1 >> 4, ref, vdst, vsrc1 & 0x0f);
methodToCall = dvmDexGetResolvedMethod(methodClassDex, ref);
if (methodToCall == NULL) {
@@ -4826,7 +3428,7 @@ GOTO_TARGET(invokeStatic, bool methodCallRange, bool jumboFormat)
GOTO_invokeMethod(methodCallRange, methodToCall, vsrc1, vdst);
GOTO_TARGET_END
-GOTO_TARGET(invokeVirtualQuick, bool methodCallRange, bool jumboFormat)
+GOTO_TARGET(invokeVirtualQuick, bool methodCallRange)
{
Object* thisPtr;
@@ -4885,7 +3487,7 @@ GOTO_TARGET(invokeVirtualQuick, bool methodCallRange, bool jumboFormat)
}
GOTO_TARGET_END
-GOTO_TARGET(invokeSuperQuick, bool methodCallRange, bool jumboFormat)
+GOTO_TARGET(invokeSuperQuick, bool methodCallRange)
{
u2 thisReg;
diff --git a/vm/mterp/out/InterpC-x86-atom.cpp b/vm/mterp/out/InterpC-x86-atom.cpp
index b3f26dbf5..9ae4df476 100644
--- a/vm/mterp/out/InterpC-x86-atom.cpp
+++ b/vm/mterp/out/InterpC-x86-atom.cpp
@@ -471,9 +471,9 @@ static inline bool checkForNullExportPC(Object* obj, u4* fp, const u2* pc)
return; \
} while(false)
-#define GOTO_invoke(_target, _methodCallRange, _jumboFormat) \
+#define GOTO_invoke(_target, _methodCallRange) \
do { \
- dvmMterp_##_target(self, _methodCallRange, _jumboFormat); \
+ dvmMterp_##_target(self, _methodCallRange); \
return; \
} while(false)
@@ -505,14 +505,14 @@ static inline bool checkForNullExportPC(Object* obj, u4* fp, const u2* pc)
/* File: c/opcommon.cpp */
/* forward declarations of goto targets */
-GOTO_TARGET_DECL(filledNewArray, bool methodCallRange, bool jumboFormat);
-GOTO_TARGET_DECL(invokeVirtual, bool methodCallRange, bool jumboFormat);
-GOTO_TARGET_DECL(invokeSuper, bool methodCallRange, bool jumboFormat);
-GOTO_TARGET_DECL(invokeInterface, bool methodCallRange, bool jumboFormat);
-GOTO_TARGET_DECL(invokeDirect, bool methodCallRange, bool jumboFormat);
-GOTO_TARGET_DECL(invokeStatic, bool methodCallRange, bool jumboFormat);
-GOTO_TARGET_DECL(invokeVirtualQuick, bool methodCallRange, bool jumboFormat);
-GOTO_TARGET_DECL(invokeSuperQuick, bool methodCallRange, bool jumboFormat);
+GOTO_TARGET_DECL(filledNewArray, bool methodCallRange);
+GOTO_TARGET_DECL(invokeVirtual, bool methodCallRange);
+GOTO_TARGET_DECL(invokeSuper, bool methodCallRange);
+GOTO_TARGET_DECL(invokeInterface, bool methodCallRange);
+GOTO_TARGET_DECL(invokeDirect, bool methodCallRange);
+GOTO_TARGET_DECL(invokeStatic, bool methodCallRange);
+GOTO_TARGET_DECL(invokeVirtualQuick, bool methodCallRange);
+GOTO_TARGET_DECL(invokeSuperQuick, bool methodCallRange);
GOTO_TARGET_DECL(invokeMethod, bool methodCallRange, const Method* methodToCall,
u2 count, u2 regs);
GOTO_TARGET_DECL(returnFromMethod);
@@ -1036,33 +1036,6 @@ GOTO_TARGET_DECL(exceptionThrown);
} \
FINISH(2);
-#define HANDLE_IGET_X_JUMBO(_opcode, _opname, _ftype, _regsize) \
- HANDLE_OPCODE(_opcode /*vBBBB, vCCCC, class@AAAAAAAA*/) \
- { \
- InstField* ifield; \
- Object* obj; \
- EXPORT_PC(); \
- ref = FETCH(1) | (u4)FETCH(2) << 16; /* field ref */ \
- vdst = FETCH(3); \
- vsrc1 = FETCH(4); /* object ptr */ \
- ILOGV("|iget%s/jumbo v%d,v%d,field@0x%08x", \
- (_opname), vdst, vsrc1, ref); \
- obj = (Object*) GET_REGISTER(vsrc1); \
- if (!checkForNull(obj)) \
- GOTO_exceptionThrown(); \
- ifield = (InstField*) dvmDexGetResolvedField(methodClassDex, ref); \
- if (ifield == NULL) { \
- ifield = dvmResolveInstField(curMethod->clazz, ref); \
- if (ifield == NULL) \
- GOTO_exceptionThrown(); \
- } \
- SET_REGISTER##_regsize(vdst, \
- dvmGetField##_ftype(obj, ifield->byteOffset)); \
- ILOGV("+ IGET '%s'=0x%08llx", ifield->field.name, \
- (u8) GET_REGISTER##_regsize(vdst)); \
- } \
- FINISH(5);
-
#define HANDLE_IGET_X_QUICK(_opcode, _opname, _ftype, _regsize) \
HANDLE_OPCODE(_opcode /*vA, vB, field@CCCC*/) \
{ \
@@ -1107,33 +1080,6 @@ GOTO_TARGET_DECL(exceptionThrown);
} \
FINISH(2);
-#define HANDLE_IPUT_X_JUMBO(_opcode, _opname, _ftype, _regsize) \
- HANDLE_OPCODE(_opcode /*vBBBB, vCCCC, class@AAAAAAAA*/) \
- { \
- InstField* ifield; \
- Object* obj; \
- EXPORT_PC(); \
- ref = FETCH(1) | (u4)FETCH(2) << 16; /* field ref */ \
- vdst = FETCH(3); \
- vsrc1 = FETCH(4); /* object ptr */ \
- ILOGV("|iput%s/jumbo v%d,v%d,field@0x%08x", \
- (_opname), vdst, vsrc1, ref); \
- obj = (Object*) GET_REGISTER(vsrc1); \
- if (!checkForNull(obj)) \
- GOTO_exceptionThrown(); \
- ifield = (InstField*) dvmDexGetResolvedField(methodClassDex, ref); \
- if (ifield == NULL) { \
- ifield = dvmResolveInstField(curMethod->clazz, ref); \
- if (ifield == NULL) \
- GOTO_exceptionThrown(); \
- } \
- dvmSetField##_ftype(obj, ifield->byteOffset, \
- GET_REGISTER##_regsize(vdst)); \
- ILOGV("+ IPUT '%s'=0x%08llx", ifield->field.name, \
- (u8) GET_REGISTER##_regsize(vdst)); \
- } \
- FINISH(5);
-
#define HANDLE_IPUT_X_QUICK(_opcode, _opname, _ftype, _regsize) \
HANDLE_OPCODE(_opcode /*vA, vB, field@CCCC*/) \
{ \
@@ -1183,29 +1129,6 @@ GOTO_TARGET_DECL(exceptionThrown);
} \
FINISH(2);
-#define HANDLE_SGET_X_JUMBO(_opcode, _opname, _ftype, _regsize) \
- HANDLE_OPCODE(_opcode /*vBBBB, class@AAAAAAAA*/) \
- { \
- StaticField* sfield; \
- ref = FETCH(1) | (u4)FETCH(2) << 16; /* field ref */ \
- vdst = FETCH(3); \
- ILOGV("|sget%s/jumbo v%d,sfield@0x%08x", (_opname), vdst, ref); \
- sfield = (StaticField*)dvmDexGetResolvedField(methodClassDex, ref); \
- if (sfield == NULL) { \
- EXPORT_PC(); \
- sfield = dvmResolveStaticField(curMethod->clazz, ref); \
- if (sfield == NULL) \
- GOTO_exceptionThrown(); \
- if (dvmDexGetResolvedField(methodClassDex, ref) == NULL) { \
- JIT_STUB_HACK(dvmJitEndTraceSelect(self,pc)); \
- } \
- } \
- SET_REGISTER##_regsize(vdst, dvmGetStaticField##_ftype(sfield)); \
- ILOGV("+ SGET '%s'=0x%08llx", \
- sfield->field.name, (u8)GET_REGISTER##_regsize(vdst)); \
- } \
- FINISH(4);
-
#define HANDLE_SPUT_X(_opcode, _opname, _ftype, _regsize) \
HANDLE_OPCODE(_opcode /*vAA, field@BBBB*/) \
{ \
@@ -1229,29 +1152,6 @@ GOTO_TARGET_DECL(exceptionThrown);
} \
FINISH(2);
-#define HANDLE_SPUT_X_JUMBO(_opcode, _opname, _ftype, _regsize) \
- HANDLE_OPCODE(_opcode /*vBBBB, class@AAAAAAAA*/) \
- { \
- StaticField* sfield; \
- ref = FETCH(1) | (u4)FETCH(2) << 16; /* field ref */ \
- vdst = FETCH(3); \
- ILOGV("|sput%s/jumbo v%d,sfield@0x%08x", (_opname), vdst, ref); \
- sfield = (StaticField*)dvmDexGetResolvedField(methodClassDex, ref); \
- if (sfield == NULL) { \
- EXPORT_PC(); \
- sfield = dvmResolveStaticField(curMethod->clazz, ref); \
- if (sfield == NULL) \
- GOTO_exceptionThrown(); \
- if (dvmDexGetResolvedField(methodClassDex, ref) == NULL) { \
- JIT_STUB_HACK(dvmJitEndTraceSelect(self,pc)); \
- } \
- } \
- dvmSetStaticField##_ftype(sfield, GET_REGISTER##_regsize(vdst)); \
- ILOGV("+ SPUT '%s'=0x%08llx", \
- sfield->field.name, (u8)GET_REGISTER##_regsize(vdst)); \
- } \
- FINISH(4);
-
/* File: c/OP_IGET_VOLATILE.cpp */
HANDLE_IGET_X(OP_IGET_VOLATILE, "-volatile", IntVolatile, )
OP_END
@@ -1384,7 +1284,7 @@ HANDLE_OPCODE(OP_INVOKE_OBJECT_INIT_RANGE /*{vCCCC..v(CCCC+AA-1)}, meth@BBBB*/)
if (self->interpBreak.ctl.subMode & kSubModeDebuggerActive) {
/* behave like OP_INVOKE_DIRECT_RANGE */
- GOTO_invoke(invokeDirect, true, false);
+ GOTO_invoke(invokeDirect, true);
}
FINISH(3);
}
@@ -1412,85 +1312,6 @@ OP_END
HANDLE_SPUT_X(OP_SPUT_OBJECT_VOLATILE, "-object-volatile", ObjectVolatile, _AS_OBJECT)
OP_END
-/* File: c/OP_INVOKE_OBJECT_INIT_JUMBO.cpp */
-HANDLE_OPCODE(OP_INVOKE_OBJECT_INIT_JUMBO /*{vCCCC..vNNNN}, meth@AAAAAAAA*/)
- {
- Object* obj;
-
- vsrc1 = FETCH(4); /* reg number of "this" pointer */
- obj = GET_REGISTER_AS_OBJECT(vsrc1);
-
- if (!checkForNullExportPC(obj, fp, pc))
- GOTO_exceptionThrown();
-
- /*
- * The object should be marked "finalizable" when Object.<init>
- * completes normally. We're going to assume it does complete
- * (by virtue of being nothing but a return-void) and set it now.
- */
- if (IS_CLASS_FLAG_SET(obj->clazz, CLASS_ISFINALIZABLE)) {
- EXPORT_PC();
- dvmSetFinalizable(obj);
- if (dvmGetException(self))
- GOTO_exceptionThrown();
- }
-
- if (self->interpBreak.ctl.subMode & kSubModeDebuggerActive) {
- /* behave like OP_INVOKE_DIRECT_RANGE */
- GOTO_invoke(invokeDirect, true, true);
- }
- FINISH(5);
- }
-OP_END
-
-/* File: c/OP_IGET_VOLATILE_JUMBO.cpp */
-HANDLE_IGET_X_JUMBO(OP_IGET_VOLATILE_JUMBO, "-volatile/jumbo", IntVolatile, )
-OP_END
-
-/* File: c/OP_IGET_WIDE_VOLATILE_JUMBO.cpp */
-HANDLE_IGET_X_JUMBO(OP_IGET_WIDE_VOLATILE_JUMBO, "-wide-volatile/jumbo", LongVolatile, _WIDE)
-OP_END
-
-/* File: c/OP_IGET_OBJECT_VOLATILE_JUMBO.cpp */
-HANDLE_IGET_X_JUMBO(OP_IGET_OBJECT_VOLATILE_JUMBO, "-object-volatile/jumbo", ObjectVolatile, _AS_OBJECT)
-OP_END
-
-/* File: c/OP_IPUT_VOLATILE_JUMBO.cpp */
-HANDLE_IPUT_X_JUMBO(OP_IPUT_VOLATILE_JUMBO, "-volatile/jumbo", IntVolatile, )
-OP_END
-
-/* File: c/OP_IPUT_WIDE_VOLATILE_JUMBO.cpp */
-HANDLE_IPUT_X_JUMBO(OP_IPUT_WIDE_VOLATILE_JUMBO, "-wide-volatile/jumbo", LongVolatile, _WIDE)
-OP_END
-
-/* File: c/OP_IPUT_OBJECT_VOLATILE_JUMBO.cpp */
-HANDLE_IPUT_X_JUMBO(OP_IPUT_OBJECT_VOLATILE_JUMBO, "-object-volatile/jumbo", ObjectVolatile, _AS_OBJECT)
-OP_END
-
-/* File: c/OP_SGET_VOLATILE_JUMBO.cpp */
-HANDLE_SGET_X_JUMBO(OP_SGET_VOLATILE_JUMBO, "-volatile/jumbo", IntVolatile, )
-OP_END
-
-/* File: c/OP_SGET_WIDE_VOLATILE_JUMBO.cpp */
-HANDLE_SGET_X_JUMBO(OP_SGET_WIDE_VOLATILE_JUMBO, "-wide-volatile/jumbo", LongVolatile, _WIDE)
-OP_END
-
-/* File: c/OP_SGET_OBJECT_VOLATILE_JUMBO.cpp */
-HANDLE_SGET_X_JUMBO(OP_SGET_OBJECT_VOLATILE_JUMBO, "-object-volatile/jumbo", ObjectVolatile, _AS_OBJECT)
-OP_END
-
-/* File: c/OP_SPUT_VOLATILE_JUMBO.cpp */
-HANDLE_SPUT_X_JUMBO(OP_SPUT_VOLATILE_JUMBO, "-volatile", IntVolatile, )
-OP_END
-
-/* File: c/OP_SPUT_WIDE_VOLATILE_JUMBO.cpp */
-HANDLE_SPUT_X_JUMBO(OP_SPUT_WIDE_VOLATILE_JUMBO, "-wide-volatile/jumbo", LongVolatile, _WIDE)
-OP_END
-
-/* File: c/OP_SPUT_OBJECT_VOLATILE_JUMBO.cpp */
-HANDLE_SPUT_X_JUMBO(OP_SPUT_OBJECT_VOLATILE_JUMBO, "-object-volatile/jumbo", ObjectVolatile, _AS_OBJECT)
-OP_END
-
/* File: c/gotoTargets.cpp */
/*
* C footer. This has some common code shared by the various targets.
@@ -1502,7 +1323,7 @@ OP_END
* next instruction. Here, these are subroutines that return to the caller.
*/
-GOTO_TARGET(filledNewArray, bool methodCallRange, bool jumboFormat)
+GOTO_TARGET(filledNewArray, bool methodCallRange, bool)
{
ClassObject* arrayClass;
ArrayObject* newArray;
@@ -1513,28 +1334,19 @@ GOTO_TARGET(filledNewArray, bool methodCallRange, bool jumboFormat)
EXPORT_PC();
- if (jumboFormat) {
- ref = FETCH(1) | (u4)FETCH(2) << 16; /* class ref */
- vsrc1 = FETCH(3); /* #of elements */
- vdst = FETCH(4); /* range base */
- arg5 = -1; /* silence compiler warning */
- ILOGV("|filled-new-array/jumbo args=%d @0x%08x {regs=v%d-v%d}",
+ ref = FETCH(1); /* class ref */
+ vdst = FETCH(2); /* first 4 regs -or- range base */
+
+ if (methodCallRange) {
+ vsrc1 = INST_AA(inst); /* #of elements */
+ arg5 = -1; /* silence compiler warning */
+ ILOGV("|filled-new-array-range args=%d @0x%04x {regs=v%d-v%d}",
vsrc1, ref, vdst, vdst+vsrc1-1);
} else {
- ref = FETCH(1); /* class ref */
- vdst = FETCH(2); /* first 4 regs -or- range base */
-
- if (methodCallRange) {
- vsrc1 = INST_AA(inst); /* #of elements */
- arg5 = -1; /* silence compiler warning */
- ILOGV("|filled-new-array-range args=%d @0x%04x {regs=v%d-v%d}",
- vsrc1, ref, vdst, vdst+vsrc1-1);
- } else {
- arg5 = INST_A(inst);
- vsrc1 = INST_B(inst); /* #of elements */
- ILOGV("|filled-new-array args=%d @0x%04x {regs=0x%04x %x}",
- vsrc1, ref, vdst, arg5);
- }
+ arg5 = INST_A(inst);
+ vsrc1 = INST_B(inst); /* #of elements */
+ ILOGV("|filled-new-array args=%d @0x%04x {regs=0x%04x %x}",
+ vsrc1, ref, vdst, arg5);
}
/*
@@ -1602,49 +1414,35 @@ GOTO_TARGET(filledNewArray, bool methodCallRange, bool jumboFormat)
retval.l = (Object*)newArray;
}
- if (jumboFormat) {
- FINISH(5);
- } else {
- FINISH(3);
- }
+ FINISH(3);
GOTO_TARGET_END
-GOTO_TARGET(invokeVirtual, bool methodCallRange, bool jumboFormat)
+GOTO_TARGET(invokeVirtual, bool methodCallRange, bool)
{
Method* baseMethod;
Object* thisPtr;
EXPORT_PC();
- if (jumboFormat) {
- ref = FETCH(1) | (u4)FETCH(2) << 16; /* method ref */
- vsrc1 = FETCH(3); /* count */
- vdst = FETCH(4); /* first reg */
- ADJUST_PC(2); /* advance pc partially to make returns easier */
- ILOGV("|invoke-virtual/jumbo args=%d @0x%08x {regs=v%d-v%d}",
+ vsrc1 = INST_AA(inst); /* AA (count) or BA (count + arg 5) */
+ ref = FETCH(1); /* method ref */
+ vdst = FETCH(2); /* 4 regs -or- first reg */
+
+ /*
+ * The object against which we are executing a method is always
+ * in the first argument.
+ */
+ if (methodCallRange) {
+ assert(vsrc1 > 0);
+ ILOGV("|invoke-virtual-range args=%d @0x%04x {regs=v%d-v%d}",
vsrc1, ref, vdst, vdst+vsrc1-1);
thisPtr = (Object*) GET_REGISTER(vdst);
} else {
- vsrc1 = INST_AA(inst); /* AA (count) or BA (count + arg 5) */
- ref = FETCH(1); /* method ref */
- vdst = FETCH(2); /* 4 regs -or- first reg */
-
- /*
- * The object against which we are executing a method is always
- * in the first argument.
- */
- if (methodCallRange) {
- assert(vsrc1 > 0);
- ILOGV("|invoke-virtual-range args=%d @0x%04x {regs=v%d-v%d}",
- vsrc1, ref, vdst, vdst+vsrc1-1);
- thisPtr = (Object*) GET_REGISTER(vdst);
- } else {
- assert((vsrc1>>4) > 0);
- ILOGV("|invoke-virtual args=%d @0x%04x {regs=0x%04x %x}",
- vsrc1 >> 4, ref, vdst, vsrc1 & 0x0f);
- thisPtr = (Object*) GET_REGISTER(vdst & 0x0f);
- }
+ assert((vsrc1>>4) > 0);
+ ILOGV("|invoke-virtual args=%d @0x%04x {regs=0x%04x %x}",
+ vsrc1 >> 4, ref, vdst, vsrc1 & 0x0f);
+ thisPtr = (Object*) GET_REGISTER(vdst & 0x0f);
}
if (!checkForNull(thisPtr))
@@ -1716,35 +1514,25 @@ GOTO_TARGET(invokeVirtual, bool methodCallRange, bool jumboFormat)
}
GOTO_TARGET_END
-GOTO_TARGET(invokeSuper, bool methodCallRange, bool jumboFormat)
+GOTO_TARGET(invokeSuper, bool methodCallRange)
{
Method* baseMethod;
u2 thisReg;
EXPORT_PC();
- if (jumboFormat) {
- ref = FETCH(1) | (u4)FETCH(2) << 16; /* method ref */
- vsrc1 = FETCH(3); /* count */
- vdst = FETCH(4); /* first reg */
- ADJUST_PC(2); /* advance pc partially to make returns easier */
- ILOGV("|invoke-super/jumbo args=%d @0x%08x {regs=v%d-v%d}",
+ vsrc1 = INST_AA(inst); /* AA (count) or BA (count + arg 5) */
+ ref = FETCH(1); /* method ref */
+ vdst = FETCH(2); /* 4 regs -or- first reg */
+
+ if (methodCallRange) {
+ ILOGV("|invoke-super-range args=%d @0x%04x {regs=v%d-v%d}",
vsrc1, ref, vdst, vdst+vsrc1-1);
thisReg = vdst;
} else {
- vsrc1 = INST_AA(inst); /* AA (count) or BA (count + arg 5) */
- ref = FETCH(1); /* method ref */
- vdst = FETCH(2); /* 4 regs -or- first reg */
-
- if (methodCallRange) {
- ILOGV("|invoke-super-range args=%d @0x%04x {regs=v%d-v%d}",
- vsrc1, ref, vdst, vdst+vsrc1-1);
- thisReg = vdst;
- } else {
- ILOGV("|invoke-super args=%d @0x%04x {regs=0x%04x %x}",
- vsrc1 >> 4, ref, vdst, vsrc1 & 0x0f);
- thisReg = vdst & 0x0f;
- }
+ ILOGV("|invoke-super args=%d @0x%04x {regs=0x%04x %x}",
+ vsrc1 >> 4, ref, vdst, vsrc1 & 0x0f);
+ thisReg = vdst & 0x0f;
}
/* impossible in well-formed code, but we must check nevertheless */
@@ -1804,41 +1592,31 @@ GOTO_TARGET(invokeSuper, bool methodCallRange, bool jumboFormat)
}
GOTO_TARGET_END
-GOTO_TARGET(invokeInterface, bool methodCallRange, bool jumboFormat)
+GOTO_TARGET(invokeInterface, bool methodCallRange)
{
Object* thisPtr;
ClassObject* thisClass;
EXPORT_PC();
- if (jumboFormat) {
- ref = FETCH(1) | (u4)FETCH(2) << 16; /* method ref */
- vsrc1 = FETCH(3); /* count */
- vdst = FETCH(4); /* first reg */
- ADJUST_PC(2); /* advance pc partially to make returns easier */
- ILOGV("|invoke-interface/jumbo args=%d @0x%08x {regs=v%d-v%d}",
+ vsrc1 = INST_AA(inst); /* AA (count) or BA (count + arg 5) */
+ ref = FETCH(1); /* method ref */
+ vdst = FETCH(2); /* 4 regs -or- first reg */
+
+ /*
+ * The object against which we are executing a method is always
+ * in the first argument.
+ */
+ if (methodCallRange) {
+ assert(vsrc1 > 0);
+ ILOGV("|invoke-interface-range args=%d @0x%04x {regs=v%d-v%d}",
vsrc1, ref, vdst, vdst+vsrc1-1);
thisPtr = (Object*) GET_REGISTER(vdst);
} else {
- vsrc1 = INST_AA(inst); /* AA (count) or BA (count + arg 5) */
- ref = FETCH(1); /* method ref */
- vdst = FETCH(2); /* 4 regs -or- first reg */
-
- /*
- * The object against which we are executing a method is always
- * in the first argument.
- */
- if (methodCallRange) {
- assert(vsrc1 > 0);
- ILOGV("|invoke-interface-range args=%d @0x%04x {regs=v%d-v%d}",
- vsrc1, ref, vdst, vdst+vsrc1-1);
- thisPtr = (Object*) GET_REGISTER(vdst);
- } else {
- assert((vsrc1>>4) > 0);
- ILOGV("|invoke-interface args=%d @0x%04x {regs=0x%04x %x}",
- vsrc1 >> 4, ref, vdst, vsrc1 & 0x0f);
- thisPtr = (Object*) GET_REGISTER(vdst & 0x0f);
- }
+ assert((vsrc1>>4) > 0);
+ ILOGV("|invoke-interface args=%d @0x%04x {regs=0x%04x %x}",
+ vsrc1 >> 4, ref, vdst, vsrc1 & 0x0f);
+ thisPtr = (Object*) GET_REGISTER(vdst & 0x0f);
}
if (!checkForNull(thisPtr))
@@ -1846,7 +1624,6 @@ GOTO_TARGET(invokeInterface, bool methodCallRange, bool jumboFormat)
thisClass = thisPtr->clazz;
-
/*
* Given a class and a method index, find the Method* with the
* actual code we want to execute.
@@ -1866,34 +1643,24 @@ GOTO_TARGET(invokeInterface, bool methodCallRange, bool jumboFormat)
}
GOTO_TARGET_END
-GOTO_TARGET(invokeDirect, bool methodCallRange, bool jumboFormat)
+GOTO_TARGET(invokeDirect, bool methodCallRange)
{
u2 thisReg;
EXPORT_PC();
- if (jumboFormat) {
- ref = FETCH(1) | (u4)FETCH(2) << 16; /* method ref */
- vsrc1 = FETCH(3); /* count */
- vdst = FETCH(4); /* first reg */
- ADJUST_PC(2); /* advance pc partially to make returns easier */
- ILOGV("|invoke-direct/jumbo args=%d @0x%08x {regs=v%d-v%d}",
+ vsrc1 = INST_AA(inst); /* AA (count) or BA (count + arg 5) */
+ ref = FETCH(1); /* method ref */
+ vdst = FETCH(2); /* 4 regs -or- first reg */
+
+ if (methodCallRange) {
+ ILOGV("|invoke-direct-range args=%d @0x%04x {regs=v%d-v%d}",
vsrc1, ref, vdst, vdst+vsrc1-1);
thisReg = vdst;
} else {
- vsrc1 = INST_AA(inst); /* AA (count) or BA (count + arg 5) */
- ref = FETCH(1); /* method ref */
- vdst = FETCH(2); /* 4 regs -or- first reg */
-
- if (methodCallRange) {
- ILOGV("|invoke-direct-range args=%d @0x%04x {regs=v%d-v%d}",
- vsrc1, ref, vdst, vdst+vsrc1-1);
- thisReg = vdst;
- } else {
- ILOGV("|invoke-direct args=%d @0x%04x {regs=0x%04x %x}",
- vsrc1 >> 4, ref, vdst, vsrc1 & 0x0f);
- thisReg = vdst & 0x0f;
- }
+ ILOGV("|invoke-direct args=%d @0x%04x {regs=0x%04x %x}",
+ vsrc1 >> 4, ref, vdst, vsrc1 & 0x0f);
+ thisReg = vdst & 0x0f;
}
if (!checkForNull((Object*) GET_REGISTER(thisReg)))
@@ -1912,28 +1679,19 @@ GOTO_TARGET(invokeDirect, bool methodCallRange, bool jumboFormat)
}
GOTO_TARGET_END
-GOTO_TARGET(invokeStatic, bool methodCallRange, bool jumboFormat)
+GOTO_TARGET(invokeStatic, bool methodCallRange)
EXPORT_PC();
- if (jumboFormat) {
- ref = FETCH(1) | (u4)FETCH(2) << 16; /* method ref */
- vsrc1 = FETCH(3); /* count */
- vdst = FETCH(4); /* first reg */
- ADJUST_PC(2); /* advance pc partially to make returns easier */
- ILOGV("|invoke-static/jumbo args=%d @0x%08x {regs=v%d-v%d}",
- vsrc1, ref, vdst, vdst+vsrc1-1);
- } else {
- vsrc1 = INST_AA(inst); /* AA (count) or BA (count + arg 5) */
- ref = FETCH(1); /* method ref */
- vdst = FETCH(2); /* 4 regs -or- first reg */
+ vsrc1 = INST_AA(inst); /* AA (count) or BA (count + arg 5) */
+ ref = FETCH(1); /* method ref */
+ vdst = FETCH(2); /* 4 regs -or- first reg */
- if (methodCallRange)
- ILOGV("|invoke-static-range args=%d @0x%04x {regs=v%d-v%d}",
- vsrc1, ref, vdst, vdst+vsrc1-1);
- else
- ILOGV("|invoke-static args=%d @0x%04x {regs=0x%04x %x}",
- vsrc1 >> 4, ref, vdst, vsrc1 & 0x0f);
- }
+ if (methodCallRange)
+ ILOGV("|invoke-static-range args=%d @0x%04x {regs=v%d-v%d}",
+ vsrc1, ref, vdst, vdst+vsrc1-1);
+ else
+ ILOGV("|invoke-static args=%d @0x%04x {regs=0x%04x %x}",
+ vsrc1 >> 4, ref, vdst, vsrc1 & 0x0f);
methodToCall = dvmDexGetResolvedMethod(methodClassDex, ref);
if (methodToCall == NULL) {
@@ -1959,7 +1717,7 @@ GOTO_TARGET(invokeStatic, bool methodCallRange, bool jumboFormat)
GOTO_invokeMethod(methodCallRange, methodToCall, vsrc1, vdst);
GOTO_TARGET_END
-GOTO_TARGET(invokeVirtualQuick, bool methodCallRange, bool jumboFormat)
+GOTO_TARGET(invokeVirtualQuick, bool methodCallRange)
{
Object* thisPtr;
@@ -2018,7 +1776,7 @@ GOTO_TARGET(invokeVirtualQuick, bool methodCallRange, bool jumboFormat)
}
GOTO_TARGET_END
-GOTO_TARGET(invokeSuperQuick, bool methodCallRange, bool jumboFormat)
+GOTO_TARGET(invokeSuperQuick, bool methodCallRange)
{
u2 thisReg;
diff --git a/vm/mterp/out/InterpC-x86.cpp b/vm/mterp/out/InterpC-x86.cpp
index f300e8ce3..f755e3689 100644
--- a/vm/mterp/out/InterpC-x86.cpp
+++ b/vm/mterp/out/InterpC-x86.cpp
@@ -471,9 +471,9 @@ static inline bool checkForNullExportPC(Object* obj, u4* fp, const u2* pc)
return; \
} while(false)
-#define GOTO_invoke(_target, _methodCallRange, _jumboFormat) \
+#define GOTO_invoke(_target, _methodCallRange) \
do { \
- dvmMterp_##_target(self, _methodCallRange, _jumboFormat); \
+ dvmMterp_##_target(self, _methodCallRange); \
return; \
} while(false)
@@ -505,14 +505,14 @@ static inline bool checkForNullExportPC(Object* obj, u4* fp, const u2* pc)
/* File: c/opcommon.cpp */
/* forward declarations of goto targets */
-GOTO_TARGET_DECL(filledNewArray, bool methodCallRange, bool jumboFormat);
-GOTO_TARGET_DECL(invokeVirtual, bool methodCallRange, bool jumboFormat);
-GOTO_TARGET_DECL(invokeSuper, bool methodCallRange, bool jumboFormat);
-GOTO_TARGET_DECL(invokeInterface, bool methodCallRange, bool jumboFormat);
-GOTO_TARGET_DECL(invokeDirect, bool methodCallRange, bool jumboFormat);
-GOTO_TARGET_DECL(invokeStatic, bool methodCallRange, bool jumboFormat);
-GOTO_TARGET_DECL(invokeVirtualQuick, bool methodCallRange, bool jumboFormat);
-GOTO_TARGET_DECL(invokeSuperQuick, bool methodCallRange, bool jumboFormat);
+GOTO_TARGET_DECL(filledNewArray, bool methodCallRange);
+GOTO_TARGET_DECL(invokeVirtual, bool methodCallRange);
+GOTO_TARGET_DECL(invokeSuper, bool methodCallRange);
+GOTO_TARGET_DECL(invokeInterface, bool methodCallRange);
+GOTO_TARGET_DECL(invokeDirect, bool methodCallRange);
+GOTO_TARGET_DECL(invokeStatic, bool methodCallRange);
+GOTO_TARGET_DECL(invokeVirtualQuick, bool methodCallRange);
+GOTO_TARGET_DECL(invokeSuperQuick, bool methodCallRange);
GOTO_TARGET_DECL(invokeMethod, bool methodCallRange, const Method* methodToCall,
u2 count, u2 regs);
GOTO_TARGET_DECL(returnFromMethod);
@@ -1036,33 +1036,6 @@ GOTO_TARGET_DECL(exceptionThrown);
} \
FINISH(2);
-#define HANDLE_IGET_X_JUMBO(_opcode, _opname, _ftype, _regsize) \
- HANDLE_OPCODE(_opcode /*vBBBB, vCCCC, class@AAAAAAAA*/) \
- { \
- InstField* ifield; \
- Object* obj; \
- EXPORT_PC(); \
- ref = FETCH(1) | (u4)FETCH(2) << 16; /* field ref */ \
- vdst = FETCH(3); \
- vsrc1 = FETCH(4); /* object ptr */ \
- ILOGV("|iget%s/jumbo v%d,v%d,field@0x%08x", \
- (_opname), vdst, vsrc1, ref); \
- obj = (Object*) GET_REGISTER(vsrc1); \
- if (!checkForNull(obj)) \
- GOTO_exceptionThrown(); \
- ifield = (InstField*) dvmDexGetResolvedField(methodClassDex, ref); \
- if (ifield == NULL) { \
- ifield = dvmResolveInstField(curMethod->clazz, ref); \
- if (ifield == NULL) \
- GOTO_exceptionThrown(); \
- } \
- SET_REGISTER##_regsize(vdst, \
- dvmGetField##_ftype(obj, ifield->byteOffset)); \
- ILOGV("+ IGET '%s'=0x%08llx", ifield->field.name, \
- (u8) GET_REGISTER##_regsize(vdst)); \
- } \
- FINISH(5);
-
#define HANDLE_IGET_X_QUICK(_opcode, _opname, _ftype, _regsize) \
HANDLE_OPCODE(_opcode /*vA, vB, field@CCCC*/) \
{ \
@@ -1107,33 +1080,6 @@ GOTO_TARGET_DECL(exceptionThrown);
} \
FINISH(2);
-#define HANDLE_IPUT_X_JUMBO(_opcode, _opname, _ftype, _regsize) \
- HANDLE_OPCODE(_opcode /*vBBBB, vCCCC, class@AAAAAAAA*/) \
- { \
- InstField* ifield; \
- Object* obj; \
- EXPORT_PC(); \
- ref = FETCH(1) | (u4)FETCH(2) << 16; /* field ref */ \
- vdst = FETCH(3); \
- vsrc1 = FETCH(4); /* object ptr */ \
- ILOGV("|iput%s/jumbo v%d,v%d,field@0x%08x", \
- (_opname), vdst, vsrc1, ref); \
- obj = (Object*) GET_REGISTER(vsrc1); \
- if (!checkForNull(obj)) \
- GOTO_exceptionThrown(); \
- ifield = (InstField*) dvmDexGetResolvedField(methodClassDex, ref); \
- if (ifield == NULL) { \
- ifield = dvmResolveInstField(curMethod->clazz, ref); \
- if (ifield == NULL) \
- GOTO_exceptionThrown(); \
- } \
- dvmSetField##_ftype(obj, ifield->byteOffset, \
- GET_REGISTER##_regsize(vdst)); \
- ILOGV("+ IPUT '%s'=0x%08llx", ifield->field.name, \
- (u8) GET_REGISTER##_regsize(vdst)); \
- } \
- FINISH(5);
-
#define HANDLE_IPUT_X_QUICK(_opcode, _opname, _ftype, _regsize) \
HANDLE_OPCODE(_opcode /*vA, vB, field@CCCC*/) \
{ \
@@ -1183,29 +1129,6 @@ GOTO_TARGET_DECL(exceptionThrown);
} \
FINISH(2);
-#define HANDLE_SGET_X_JUMBO(_opcode, _opname, _ftype, _regsize) \
- HANDLE_OPCODE(_opcode /*vBBBB, class@AAAAAAAA*/) \
- { \
- StaticField* sfield; \
- ref = FETCH(1) | (u4)FETCH(2) << 16; /* field ref */ \
- vdst = FETCH(3); \
- ILOGV("|sget%s/jumbo v%d,sfield@0x%08x", (_opname), vdst, ref); \
- sfield = (StaticField*)dvmDexGetResolvedField(methodClassDex, ref); \
- if (sfield == NULL) { \
- EXPORT_PC(); \
- sfield = dvmResolveStaticField(curMethod->clazz, ref); \
- if (sfield == NULL) \
- GOTO_exceptionThrown(); \
- if (dvmDexGetResolvedField(methodClassDex, ref) == NULL) { \
- JIT_STUB_HACK(dvmJitEndTraceSelect(self,pc)); \
- } \
- } \
- SET_REGISTER##_regsize(vdst, dvmGetStaticField##_ftype(sfield)); \
- ILOGV("+ SGET '%s'=0x%08llx", \
- sfield->field.name, (u8)GET_REGISTER##_regsize(vdst)); \
- } \
- FINISH(4);
-
#define HANDLE_SPUT_X(_opcode, _opname, _ftype, _regsize) \
HANDLE_OPCODE(_opcode /*vAA, field@BBBB*/) \
{ \
@@ -1229,29 +1152,6 @@ GOTO_TARGET_DECL(exceptionThrown);
} \
FINISH(2);
-#define HANDLE_SPUT_X_JUMBO(_opcode, _opname, _ftype, _regsize) \
- HANDLE_OPCODE(_opcode /*vBBBB, class@AAAAAAAA*/) \
- { \
- StaticField* sfield; \
- ref = FETCH(1) | (u4)FETCH(2) << 16; /* field ref */ \
- vdst = FETCH(3); \
- ILOGV("|sput%s/jumbo v%d,sfield@0x%08x", (_opname), vdst, ref); \
- sfield = (StaticField*)dvmDexGetResolvedField(methodClassDex, ref); \
- if (sfield == NULL) { \
- EXPORT_PC(); \
- sfield = dvmResolveStaticField(curMethod->clazz, ref); \
- if (sfield == NULL) \
- GOTO_exceptionThrown(); \
- if (dvmDexGetResolvedField(methodClassDex, ref) == NULL) { \
- JIT_STUB_HACK(dvmJitEndTraceSelect(self,pc)); \
- } \
- } \
- dvmSetStaticField##_ftype(sfield, GET_REGISTER##_regsize(vdst)); \
- ILOGV("+ SPUT '%s'=0x%08llx", \
- sfield->field.name, (u8)GET_REGISTER##_regsize(vdst)); \
- } \
- FINISH(4);
-
/* File: c/OP_IGET_WIDE_VOLATILE.cpp */
HANDLE_IGET_X(OP_IGET_WIDE_VOLATILE, "-wide-volatile", LongVolatile, _WIDE)
OP_END
@@ -1338,7 +1238,7 @@ HANDLE_OPCODE(OP_INVOKE_OBJECT_INIT_RANGE /*{vCCCC..v(CCCC+AA-1)}, meth@BBBB*/)
if (self->interpBreak.ctl.subMode & kSubModeDebuggerActive) {
/* behave like OP_INVOKE_DIRECT_RANGE */
- GOTO_invoke(invokeDirect, true, false);
+ GOTO_invoke(invokeDirect, true);
}
FINISH(3);
}
@@ -1354,85 +1254,6 @@ HANDLE_OPCODE(OP_RETURN_VOID_BARRIER /**/)
GOTO_returnFromMethod();
OP_END
-/* File: c/OP_INVOKE_OBJECT_INIT_JUMBO.cpp */
-HANDLE_OPCODE(OP_INVOKE_OBJECT_INIT_JUMBO /*{vCCCC..vNNNN}, meth@AAAAAAAA*/)
- {
- Object* obj;
-
- vsrc1 = FETCH(4); /* reg number of "this" pointer */
- obj = GET_REGISTER_AS_OBJECT(vsrc1);
-
- if (!checkForNullExportPC(obj, fp, pc))
- GOTO_exceptionThrown();
-
- /*
- * The object should be marked "finalizable" when Object.<init>
- * completes normally. We're going to assume it does complete
- * (by virtue of being nothing but a return-void) and set it now.
- */
- if (IS_CLASS_FLAG_SET(obj->clazz, CLASS_ISFINALIZABLE)) {
- EXPORT_PC();
- dvmSetFinalizable(obj);
- if (dvmGetException(self))
- GOTO_exceptionThrown();
- }
-
- if (self->interpBreak.ctl.subMode & kSubModeDebuggerActive) {
- /* behave like OP_INVOKE_DIRECT_RANGE */
- GOTO_invoke(invokeDirect, true, true);
- }
- FINISH(5);
- }
-OP_END
-
-/* File: c/OP_IGET_VOLATILE_JUMBO.cpp */
-HANDLE_IGET_X_JUMBO(OP_IGET_VOLATILE_JUMBO, "-volatile/jumbo", IntVolatile, )
-OP_END
-
-/* File: c/OP_IGET_WIDE_VOLATILE_JUMBO.cpp */
-HANDLE_IGET_X_JUMBO(OP_IGET_WIDE_VOLATILE_JUMBO, "-wide-volatile/jumbo", LongVolatile, _WIDE)
-OP_END
-
-/* File: c/OP_IGET_OBJECT_VOLATILE_JUMBO.cpp */
-HANDLE_IGET_X_JUMBO(OP_IGET_OBJECT_VOLATILE_JUMBO, "-object-volatile/jumbo", ObjectVolatile, _AS_OBJECT)
-OP_END
-
-/* File: c/OP_IPUT_VOLATILE_JUMBO.cpp */
-HANDLE_IPUT_X_JUMBO(OP_IPUT_VOLATILE_JUMBO, "-volatile/jumbo", IntVolatile, )
-OP_END
-
-/* File: c/OP_IPUT_WIDE_VOLATILE_JUMBO.cpp */
-HANDLE_IPUT_X_JUMBO(OP_IPUT_WIDE_VOLATILE_JUMBO, "-wide-volatile/jumbo", LongVolatile, _WIDE)
-OP_END
-
-/* File: c/OP_IPUT_OBJECT_VOLATILE_JUMBO.cpp */
-HANDLE_IPUT_X_JUMBO(OP_IPUT_OBJECT_VOLATILE_JUMBO, "-object-volatile/jumbo", ObjectVolatile, _AS_OBJECT)
-OP_END
-
-/* File: c/OP_SGET_VOLATILE_JUMBO.cpp */
-HANDLE_SGET_X_JUMBO(OP_SGET_VOLATILE_JUMBO, "-volatile/jumbo", IntVolatile, )
-OP_END
-
-/* File: c/OP_SGET_WIDE_VOLATILE_JUMBO.cpp */
-HANDLE_SGET_X_JUMBO(OP_SGET_WIDE_VOLATILE_JUMBO, "-wide-volatile/jumbo", LongVolatile, _WIDE)
-OP_END
-
-/* File: c/OP_SGET_OBJECT_VOLATILE_JUMBO.cpp */
-HANDLE_SGET_X_JUMBO(OP_SGET_OBJECT_VOLATILE_JUMBO, "-object-volatile/jumbo", ObjectVolatile, _AS_OBJECT)
-OP_END
-
-/* File: c/OP_SPUT_VOLATILE_JUMBO.cpp */
-HANDLE_SPUT_X_JUMBO(OP_SPUT_VOLATILE_JUMBO, "-volatile", IntVolatile, )
-OP_END
-
-/* File: c/OP_SPUT_WIDE_VOLATILE_JUMBO.cpp */
-HANDLE_SPUT_X_JUMBO(OP_SPUT_WIDE_VOLATILE_JUMBO, "-wide-volatile/jumbo", LongVolatile, _WIDE)
-OP_END
-
-/* File: c/OP_SPUT_OBJECT_VOLATILE_JUMBO.cpp */
-HANDLE_SPUT_X_JUMBO(OP_SPUT_OBJECT_VOLATILE_JUMBO, "-object-volatile/jumbo", ObjectVolatile, _AS_OBJECT)
-OP_END
-
/* File: c/gotoTargets.cpp */
/*
* C footer. This has some common code shared by the various targets.
@@ -1444,7 +1265,7 @@ OP_END
* next instruction. Here, these are subroutines that return to the caller.
*/
-GOTO_TARGET(filledNewArray, bool methodCallRange, bool jumboFormat)
+GOTO_TARGET(filledNewArray, bool methodCallRange, bool)
{
ClassObject* arrayClass;
ArrayObject* newArray;
@@ -1455,28 +1276,19 @@ GOTO_TARGET(filledNewArray, bool methodCallRange, bool jumboFormat)
EXPORT_PC();
- if (jumboFormat) {
- ref = FETCH(1) | (u4)FETCH(2) << 16; /* class ref */
- vsrc1 = FETCH(3); /* #of elements */
- vdst = FETCH(4); /* range base */
- arg5 = -1; /* silence compiler warning */
- ILOGV("|filled-new-array/jumbo args=%d @0x%08x {regs=v%d-v%d}",
+ ref = FETCH(1); /* class ref */
+ vdst = FETCH(2); /* first 4 regs -or- range base */
+
+ if (methodCallRange) {
+ vsrc1 = INST_AA(inst); /* #of elements */
+ arg5 = -1; /* silence compiler warning */
+ ILOGV("|filled-new-array-range args=%d @0x%04x {regs=v%d-v%d}",
vsrc1, ref, vdst, vdst+vsrc1-1);
} else {
- ref = FETCH(1); /* class ref */
- vdst = FETCH(2); /* first 4 regs -or- range base */
-
- if (methodCallRange) {
- vsrc1 = INST_AA(inst); /* #of elements */
- arg5 = -1; /* silence compiler warning */
- ILOGV("|filled-new-array-range args=%d @0x%04x {regs=v%d-v%d}",
- vsrc1, ref, vdst, vdst+vsrc1-1);
- } else {
- arg5 = INST_A(inst);
- vsrc1 = INST_B(inst); /* #of elements */
- ILOGV("|filled-new-array args=%d @0x%04x {regs=0x%04x %x}",
- vsrc1, ref, vdst, arg5);
- }
+ arg5 = INST_A(inst);
+ vsrc1 = INST_B(inst); /* #of elements */
+ ILOGV("|filled-new-array args=%d @0x%04x {regs=0x%04x %x}",
+ vsrc1, ref, vdst, arg5);
}
/*
@@ -1544,49 +1356,35 @@ GOTO_TARGET(filledNewArray, bool methodCallRange, bool jumboFormat)
retval.l = (Object*)newArray;
}
- if (jumboFormat) {
- FINISH(5);
- } else {
- FINISH(3);
- }
+ FINISH(3);
GOTO_TARGET_END
-GOTO_TARGET(invokeVirtual, bool methodCallRange, bool jumboFormat)
+GOTO_TARGET(invokeVirtual, bool methodCallRange, bool)
{
Method* baseMethod;
Object* thisPtr;
EXPORT_PC();
- if (jumboFormat) {
- ref = FETCH(1) | (u4)FETCH(2) << 16; /* method ref */
- vsrc1 = FETCH(3); /* count */
- vdst = FETCH(4); /* first reg */
- ADJUST_PC(2); /* advance pc partially to make returns easier */
- ILOGV("|invoke-virtual/jumbo args=%d @0x%08x {regs=v%d-v%d}",
+ vsrc1 = INST_AA(inst); /* AA (count) or BA (count + arg 5) */
+ ref = FETCH(1); /* method ref */
+ vdst = FETCH(2); /* 4 regs -or- first reg */
+
+ /*
+ * The object against which we are executing a method is always
+ * in the first argument.
+ */
+ if (methodCallRange) {
+ assert(vsrc1 > 0);
+ ILOGV("|invoke-virtual-range args=%d @0x%04x {regs=v%d-v%d}",
vsrc1, ref, vdst, vdst+vsrc1-1);
thisPtr = (Object*) GET_REGISTER(vdst);
} else {
- vsrc1 = INST_AA(inst); /* AA (count) or BA (count + arg 5) */
- ref = FETCH(1); /* method ref */
- vdst = FETCH(2); /* 4 regs -or- first reg */
-
- /*
- * The object against which we are executing a method is always
- * in the first argument.
- */
- if (methodCallRange) {
- assert(vsrc1 > 0);
- ILOGV("|invoke-virtual-range args=%d @0x%04x {regs=v%d-v%d}",
- vsrc1, ref, vdst, vdst+vsrc1-1);
- thisPtr = (Object*) GET_REGISTER(vdst);
- } else {
- assert((vsrc1>>4) > 0);
- ILOGV("|invoke-virtual args=%d @0x%04x {regs=0x%04x %x}",
- vsrc1 >> 4, ref, vdst, vsrc1 & 0x0f);
- thisPtr = (Object*) GET_REGISTER(vdst & 0x0f);
- }
+ assert((vsrc1>>4) > 0);
+ ILOGV("|invoke-virtual args=%d @0x%04x {regs=0x%04x %x}",
+ vsrc1 >> 4, ref, vdst, vsrc1 & 0x0f);
+ thisPtr = (Object*) GET_REGISTER(vdst & 0x0f);
}
if (!checkForNull(thisPtr))
@@ -1658,35 +1456,25 @@ GOTO_TARGET(invokeVirtual, bool methodCallRange, bool jumboFormat)
}
GOTO_TARGET_END
-GOTO_TARGET(invokeSuper, bool methodCallRange, bool jumboFormat)
+GOTO_TARGET(invokeSuper, bool methodCallRange)
{
Method* baseMethod;
u2 thisReg;
EXPORT_PC();
- if (jumboFormat) {
- ref = FETCH(1) | (u4)FETCH(2) << 16; /* method ref */
- vsrc1 = FETCH(3); /* count */
- vdst = FETCH(4); /* first reg */
- ADJUST_PC(2); /* advance pc partially to make returns easier */
- ILOGV("|invoke-super/jumbo args=%d @0x%08x {regs=v%d-v%d}",
+ vsrc1 = INST_AA(inst); /* AA (count) or BA (count + arg 5) */
+ ref = FETCH(1); /* method ref */
+ vdst = FETCH(2); /* 4 regs -or- first reg */
+
+ if (methodCallRange) {
+ ILOGV("|invoke-super-range args=%d @0x%04x {regs=v%d-v%d}",
vsrc1, ref, vdst, vdst+vsrc1-1);
thisReg = vdst;
} else {
- vsrc1 = INST_AA(inst); /* AA (count) or BA (count + arg 5) */
- ref = FETCH(1); /* method ref */
- vdst = FETCH(2); /* 4 regs -or- first reg */
-
- if (methodCallRange) {
- ILOGV("|invoke-super-range args=%d @0x%04x {regs=v%d-v%d}",
- vsrc1, ref, vdst, vdst+vsrc1-1);
- thisReg = vdst;
- } else {
- ILOGV("|invoke-super args=%d @0x%04x {regs=0x%04x %x}",
- vsrc1 >> 4, ref, vdst, vsrc1 & 0x0f);
- thisReg = vdst & 0x0f;
- }
+ ILOGV("|invoke-super args=%d @0x%04x {regs=0x%04x %x}",
+ vsrc1 >> 4, ref, vdst, vsrc1 & 0x0f);
+ thisReg = vdst & 0x0f;
}
/* impossible in well-formed code, but we must check nevertheless */
@@ -1746,41 +1534,31 @@ GOTO_TARGET(invokeSuper, bool methodCallRange, bool jumboFormat)
}
GOTO_TARGET_END
-GOTO_TARGET(invokeInterface, bool methodCallRange, bool jumboFormat)
+GOTO_TARGET(invokeInterface, bool methodCallRange)
{
Object* thisPtr;
ClassObject* thisClass;
EXPORT_PC();
- if (jumboFormat) {
- ref = FETCH(1) | (u4)FETCH(2) << 16; /* method ref */
- vsrc1 = FETCH(3); /* count */
- vdst = FETCH(4); /* first reg */
- ADJUST_PC(2); /* advance pc partially to make returns easier */
- ILOGV("|invoke-interface/jumbo args=%d @0x%08x {regs=v%d-v%d}",
+ vsrc1 = INST_AA(inst); /* AA (count) or BA (count + arg 5) */
+ ref = FETCH(1); /* method ref */
+ vdst = FETCH(2); /* 4 regs -or- first reg */
+
+ /*
+ * The object against which we are executing a method is always
+ * in the first argument.
+ */
+ if (methodCallRange) {
+ assert(vsrc1 > 0);
+ ILOGV("|invoke-interface-range args=%d @0x%04x {regs=v%d-v%d}",
vsrc1, ref, vdst, vdst+vsrc1-1);
thisPtr = (Object*) GET_REGISTER(vdst);
} else {
- vsrc1 = INST_AA(inst); /* AA (count) or BA (count + arg 5) */
- ref = FETCH(1); /* method ref */
- vdst = FETCH(2); /* 4 regs -or- first reg */
-
- /*
- * The object against which we are executing a method is always
- * in the first argument.
- */
- if (methodCallRange) {
- assert(vsrc1 > 0);
- ILOGV("|invoke-interface-range args=%d @0x%04x {regs=v%d-v%d}",
- vsrc1, ref, vdst, vdst+vsrc1-1);
- thisPtr = (Object*) GET_REGISTER(vdst);
- } else {
- assert((vsrc1>>4) > 0);
- ILOGV("|invoke-interface args=%d @0x%04x {regs=0x%04x %x}",
- vsrc1 >> 4, ref, vdst, vsrc1 & 0x0f);
- thisPtr = (Object*) GET_REGISTER(vdst & 0x0f);
- }
+ assert((vsrc1>>4) > 0);
+ ILOGV("|invoke-interface args=%d @0x%04x {regs=0x%04x %x}",
+ vsrc1 >> 4, ref, vdst, vsrc1 & 0x0f);
+ thisPtr = (Object*) GET_REGISTER(vdst & 0x0f);
}
if (!checkForNull(thisPtr))
@@ -1788,7 +1566,6 @@ GOTO_TARGET(invokeInterface, bool methodCallRange, bool jumboFormat)
thisClass = thisPtr->clazz;
-
/*
* Given a class and a method index, find the Method* with the
* actual code we want to execute.
@@ -1808,34 +1585,24 @@ GOTO_TARGET(invokeInterface, bool methodCallRange, bool jumboFormat)
}
GOTO_TARGET_END
-GOTO_TARGET(invokeDirect, bool methodCallRange, bool jumboFormat)
+GOTO_TARGET(invokeDirect, bool methodCallRange)
{
u2 thisReg;
EXPORT_PC();
- if (jumboFormat) {
- ref = FETCH(1) | (u4)FETCH(2) << 16; /* method ref */
- vsrc1 = FETCH(3); /* count */
- vdst = FETCH(4); /* first reg */
- ADJUST_PC(2); /* advance pc partially to make returns easier */
- ILOGV("|invoke-direct/jumbo args=%d @0x%08x {regs=v%d-v%d}",
+ vsrc1 = INST_AA(inst); /* AA (count) or BA (count + arg 5) */
+ ref = FETCH(1); /* method ref */
+ vdst = FETCH(2); /* 4 regs -or- first reg */
+
+ if (methodCallRange) {
+ ILOGV("|invoke-direct-range args=%d @0x%04x {regs=v%d-v%d}",
vsrc1, ref, vdst, vdst+vsrc1-1);
thisReg = vdst;
} else {
- vsrc1 = INST_AA(inst); /* AA (count) or BA (count + arg 5) */
- ref = FETCH(1); /* method ref */
- vdst = FETCH(2); /* 4 regs -or- first reg */
-
- if (methodCallRange) {
- ILOGV("|invoke-direct-range args=%d @0x%04x {regs=v%d-v%d}",
- vsrc1, ref, vdst, vdst+vsrc1-1);
- thisReg = vdst;
- } else {
- ILOGV("|invoke-direct args=%d @0x%04x {regs=0x%04x %x}",
- vsrc1 >> 4, ref, vdst, vsrc1 & 0x0f);
- thisReg = vdst & 0x0f;
- }
+ ILOGV("|invoke-direct args=%d @0x%04x {regs=0x%04x %x}",
+ vsrc1 >> 4, ref, vdst, vsrc1 & 0x0f);
+ thisReg = vdst & 0x0f;
}
if (!checkForNull((Object*) GET_REGISTER(thisReg)))
@@ -1854,28 +1621,19 @@ GOTO_TARGET(invokeDirect, bool methodCallRange, bool jumboFormat)
}
GOTO_TARGET_END
-GOTO_TARGET(invokeStatic, bool methodCallRange, bool jumboFormat)
+GOTO_TARGET(invokeStatic, bool methodCallRange)
EXPORT_PC();
- if (jumboFormat) {
- ref = FETCH(1) | (u4)FETCH(2) << 16; /* method ref */
- vsrc1 = FETCH(3); /* count */
- vdst = FETCH(4); /* first reg */
- ADJUST_PC(2); /* advance pc partially to make returns easier */
- ILOGV("|invoke-static/jumbo args=%d @0x%08x {regs=v%d-v%d}",
- vsrc1, ref, vdst, vdst+vsrc1-1);
- } else {
- vsrc1 = INST_AA(inst); /* AA (count) or BA (count + arg 5) */
- ref = FETCH(1); /* method ref */
- vdst = FETCH(2); /* 4 regs -or- first reg */
+ vsrc1 = INST_AA(inst); /* AA (count) or BA (count + arg 5) */
+ ref = FETCH(1); /* method ref */
+ vdst = FETCH(2); /* 4 regs -or- first reg */
- if (methodCallRange)
- ILOGV("|invoke-static-range args=%d @0x%04x {regs=v%d-v%d}",
- vsrc1, ref, vdst, vdst+vsrc1-1);
- else
- ILOGV("|invoke-static args=%d @0x%04x {regs=0x%04x %x}",
- vsrc1 >> 4, ref, vdst, vsrc1 & 0x0f);
- }
+ if (methodCallRange)
+ ILOGV("|invoke-static-range args=%d @0x%04x {regs=v%d-v%d}",
+ vsrc1, ref, vdst, vdst+vsrc1-1);
+ else
+ ILOGV("|invoke-static args=%d @0x%04x {regs=0x%04x %x}",
+ vsrc1 >> 4, ref, vdst, vsrc1 & 0x0f);
methodToCall = dvmDexGetResolvedMethod(methodClassDex, ref);
if (methodToCall == NULL) {
@@ -1901,7 +1659,7 @@ GOTO_TARGET(invokeStatic, bool methodCallRange, bool jumboFormat)
GOTO_invokeMethod(methodCallRange, methodToCall, vsrc1, vdst);
GOTO_TARGET_END
-GOTO_TARGET(invokeVirtualQuick, bool methodCallRange, bool jumboFormat)
+GOTO_TARGET(invokeVirtualQuick, bool methodCallRange)
{
Object* thisPtr;
@@ -1960,7 +1718,7 @@ GOTO_TARGET(invokeVirtualQuick, bool methodCallRange, bool jumboFormat)
}
GOTO_TARGET_END
-GOTO_TARGET(invokeSuperQuick, bool methodCallRange, bool jumboFormat)
+GOTO_TARGET(invokeSuperQuick, bool methodCallRange)
{
u2 thisReg;
diff --git a/vm/mterp/portable/entry.cpp b/vm/mterp/portable/entry.cpp
index 39736dac6..f8c01eb26 100644
--- a/vm/mterp/portable/entry.cpp
+++ b/vm/mterp/portable/entry.cpp
@@ -22,8 +22,6 @@ void dvmInterpretPortable(Thread* self)
/* method call setup */
const Method* methodToCall;
bool methodCallRange;
- bool jumboFormat;
-
/* static computed goto table */
DEFINE_GOTO_TABLE(handlerTable);
diff --git a/vm/mterp/portable/stubdefs.cpp b/vm/mterp/portable/stubdefs.cpp
index 57ff35c25..015057e80 100644
--- a/vm/mterp/portable/stubdefs.cpp
+++ b/vm/mterp/portable/stubdefs.cpp
@@ -45,9 +45,6 @@
# define FINISH_BKPT(_opcode) { \
goto *handlerTable[_opcode]; \
}
-# define DISPATCH_EXTENDED(_opcode) { \
- goto *handlerTable[0x100 + _opcode]; \
- }
#define OP_END
@@ -60,10 +57,9 @@
#define GOTO_returnFromMethod() goto returnFromMethod;
-#define GOTO_invoke(_target, _methodCallRange, _jumboFormat) \
+#define GOTO_invoke(_target, _methodCallRange) \
do { \
methodCallRange = _methodCallRange; \
- jumboFormat = _jumboFormat; \
goto _target; \
} while(false)
diff --git a/vm/mterp/x86-atom/OP_CHECK_CAST_JUMBO.S b/vm/mterp/x86-atom/OP_CHECK_CAST_JUMBO.S
deleted file mode 100644
index ebae8b71e..000000000
--- a/vm/mterp/x86-atom/OP_CHECK_CAST_JUMBO.S
+++ /dev/null
@@ -1 +0,0 @@
-%include "x86-atom/unused.S"
diff --git a/vm/mterp/x86-atom/OP_CONST_CLASS_JUMBO.S b/vm/mterp/x86-atom/OP_CONST_CLASS_JUMBO.S
deleted file mode 100644
index ebae8b71e..000000000
--- a/vm/mterp/x86-atom/OP_CONST_CLASS_JUMBO.S
+++ /dev/null
@@ -1 +0,0 @@
-%include "x86-atom/unused.S"
diff --git a/vm/mterp/x86-atom/OP_FILLED_NEW_ARRAY_JUMBO.S b/vm/mterp/x86-atom/OP_FILLED_NEW_ARRAY_JUMBO.S
deleted file mode 100644
index ebae8b71e..000000000
--- a/vm/mterp/x86-atom/OP_FILLED_NEW_ARRAY_JUMBO.S
+++ /dev/null
@@ -1 +0,0 @@
-%include "x86-atom/unused.S"
diff --git a/vm/mterp/x86-atom/OP_IGET_BOOLEAN_JUMBO.S b/vm/mterp/x86-atom/OP_IGET_BOOLEAN_JUMBO.S
deleted file mode 100644
index ebae8b71e..000000000
--- a/vm/mterp/x86-atom/OP_IGET_BOOLEAN_JUMBO.S
+++ /dev/null
@@ -1 +0,0 @@
-%include "x86-atom/unused.S"
diff --git a/vm/mterp/x86-atom/OP_IGET_BYTE_JUMBO.S b/vm/mterp/x86-atom/OP_IGET_BYTE_JUMBO.S
deleted file mode 100644
index ebae8b71e..000000000
--- a/vm/mterp/x86-atom/OP_IGET_BYTE_JUMBO.S
+++ /dev/null
@@ -1 +0,0 @@
-%include "x86-atom/unused.S"
diff --git a/vm/mterp/x86-atom/OP_IGET_CHAR_JUMBO.S b/vm/mterp/x86-atom/OP_IGET_CHAR_JUMBO.S
deleted file mode 100644
index ebae8b71e..000000000
--- a/vm/mterp/x86-atom/OP_IGET_CHAR_JUMBO.S
+++ /dev/null
@@ -1 +0,0 @@
-%include "x86-atom/unused.S"
diff --git a/vm/mterp/x86-atom/OP_IGET_JUMBO.S b/vm/mterp/x86-atom/OP_IGET_JUMBO.S
deleted file mode 100644
index ebae8b71e..000000000
--- a/vm/mterp/x86-atom/OP_IGET_JUMBO.S
+++ /dev/null
@@ -1 +0,0 @@
-%include "x86-atom/unused.S"
diff --git a/vm/mterp/x86-atom/OP_IGET_OBJECT_JUMBO.S b/vm/mterp/x86-atom/OP_IGET_OBJECT_JUMBO.S
deleted file mode 100644
index ebae8b71e..000000000
--- a/vm/mterp/x86-atom/OP_IGET_OBJECT_JUMBO.S
+++ /dev/null
@@ -1 +0,0 @@
-%include "x86-atom/unused.S"
diff --git a/vm/mterp/x86-atom/OP_IGET_SHORT_JUMBO.S b/vm/mterp/x86-atom/OP_IGET_SHORT_JUMBO.S
deleted file mode 100644
index ebae8b71e..000000000
--- a/vm/mterp/x86-atom/OP_IGET_SHORT_JUMBO.S
+++ /dev/null
@@ -1 +0,0 @@
-%include "x86-atom/unused.S"
diff --git a/vm/mterp/x86-atom/OP_IGET_WIDE_JUMBO.S b/vm/mterp/x86-atom/OP_IGET_WIDE_JUMBO.S
deleted file mode 100644
index ebae8b71e..000000000
--- a/vm/mterp/x86-atom/OP_IGET_WIDE_JUMBO.S
+++ /dev/null
@@ -1 +0,0 @@
-%include "x86-atom/unused.S"
diff --git a/vm/mterp/x86-atom/OP_INSTANCE_OF_JUMBO.S b/vm/mterp/x86-atom/OP_INSTANCE_OF_JUMBO.S
deleted file mode 100644
index ebae8b71e..000000000
--- a/vm/mterp/x86-atom/OP_INSTANCE_OF_JUMBO.S
+++ /dev/null
@@ -1 +0,0 @@
-%include "x86-atom/unused.S"
diff --git a/vm/mterp/x86-atom/OP_INVOKE_DIRECT_JUMBO.S b/vm/mterp/x86-atom/OP_INVOKE_DIRECT_JUMBO.S
deleted file mode 100644
index ebae8b71e..000000000
--- a/vm/mterp/x86-atom/OP_INVOKE_DIRECT_JUMBO.S
+++ /dev/null
@@ -1 +0,0 @@
-%include "x86-atom/unused.S"
diff --git a/vm/mterp/x86-atom/OP_INVOKE_INTERFACE_JUMBO.S b/vm/mterp/x86-atom/OP_INVOKE_INTERFACE_JUMBO.S
deleted file mode 100644
index ebae8b71e..000000000
--- a/vm/mterp/x86-atom/OP_INVOKE_INTERFACE_JUMBO.S
+++ /dev/null
@@ -1 +0,0 @@
-%include "x86-atom/unused.S"
diff --git a/vm/mterp/x86-atom/OP_INVOKE_STATIC_JUMBO.S b/vm/mterp/x86-atom/OP_INVOKE_STATIC_JUMBO.S
deleted file mode 100644
index ebae8b71e..000000000
--- a/vm/mterp/x86-atom/OP_INVOKE_STATIC_JUMBO.S
+++ /dev/null
@@ -1 +0,0 @@
-%include "x86-atom/unused.S"
diff --git a/vm/mterp/x86-atom/OP_INVOKE_SUPER_JUMBO.S b/vm/mterp/x86-atom/OP_INVOKE_SUPER_JUMBO.S
deleted file mode 100644
index ebae8b71e..000000000
--- a/vm/mterp/x86-atom/OP_INVOKE_SUPER_JUMBO.S
+++ /dev/null
@@ -1 +0,0 @@
-%include "x86-atom/unused.S"
diff --git a/vm/mterp/x86-atom/OP_INVOKE_VIRTUAL_JUMBO.S b/vm/mterp/x86-atom/OP_INVOKE_VIRTUAL_JUMBO.S
deleted file mode 100644
index ebae8b71e..000000000
--- a/vm/mterp/x86-atom/OP_INVOKE_VIRTUAL_JUMBO.S
+++ /dev/null
@@ -1 +0,0 @@
-%include "x86-atom/unused.S"
diff --git a/vm/mterp/x86-atom/OP_IPUT_BOOLEAN_JUMBO.S b/vm/mterp/x86-atom/OP_IPUT_BOOLEAN_JUMBO.S
deleted file mode 100644
index ebae8b71e..000000000
--- a/vm/mterp/x86-atom/OP_IPUT_BOOLEAN_JUMBO.S
+++ /dev/null
@@ -1 +0,0 @@
-%include "x86-atom/unused.S"
diff --git a/vm/mterp/x86-atom/OP_IPUT_BYTE_JUMBO.S b/vm/mterp/x86-atom/OP_IPUT_BYTE_JUMBO.S
deleted file mode 100644
index ebae8b71e..000000000
--- a/vm/mterp/x86-atom/OP_IPUT_BYTE_JUMBO.S
+++ /dev/null
@@ -1 +0,0 @@
-%include "x86-atom/unused.S"
diff --git a/vm/mterp/x86-atom/OP_IPUT_CHAR_JUMBO.S b/vm/mterp/x86-atom/OP_IPUT_CHAR_JUMBO.S
deleted file mode 100644
index ebae8b71e..000000000
--- a/vm/mterp/x86-atom/OP_IPUT_CHAR_JUMBO.S
+++ /dev/null
@@ -1 +0,0 @@
-%include "x86-atom/unused.S"
diff --git a/vm/mterp/x86-atom/OP_IPUT_JUMBO.S b/vm/mterp/x86-atom/OP_IPUT_JUMBO.S
deleted file mode 100644
index ebae8b71e..000000000
--- a/vm/mterp/x86-atom/OP_IPUT_JUMBO.S
+++ /dev/null
@@ -1 +0,0 @@
-%include "x86-atom/unused.S"
diff --git a/vm/mterp/x86-atom/OP_IPUT_OBJECT_JUMBO.S b/vm/mterp/x86-atom/OP_IPUT_OBJECT_JUMBO.S
deleted file mode 100644
index ebae8b71e..000000000
--- a/vm/mterp/x86-atom/OP_IPUT_OBJECT_JUMBO.S
+++ /dev/null
@@ -1 +0,0 @@
-%include "x86-atom/unused.S"
diff --git a/vm/mterp/x86-atom/OP_IPUT_SHORT_JUMBO.S b/vm/mterp/x86-atom/OP_IPUT_SHORT_JUMBO.S
deleted file mode 100644
index ebae8b71e..000000000
--- a/vm/mterp/x86-atom/OP_IPUT_SHORT_JUMBO.S
+++ /dev/null
@@ -1 +0,0 @@
-%include "x86-atom/unused.S"
diff --git a/vm/mterp/x86-atom/OP_IPUT_WIDE_JUMBO.S b/vm/mterp/x86-atom/OP_IPUT_WIDE_JUMBO.S
deleted file mode 100644
index ebae8b71e..000000000
--- a/vm/mterp/x86-atom/OP_IPUT_WIDE_JUMBO.S
+++ /dev/null
@@ -1 +0,0 @@
-%include "x86-atom/unused.S"
diff --git a/vm/mterp/x86-atom/OP_NEW_ARRAY_JUMBO.S b/vm/mterp/x86-atom/OP_NEW_ARRAY_JUMBO.S
deleted file mode 100644
index ebae8b71e..000000000
--- a/vm/mterp/x86-atom/OP_NEW_ARRAY_JUMBO.S
+++ /dev/null
@@ -1 +0,0 @@
-%include "x86-atom/unused.S"
diff --git a/vm/mterp/x86-atom/OP_NEW_INSTANCE_JUMBO.S b/vm/mterp/x86-atom/OP_NEW_INSTANCE_JUMBO.S
deleted file mode 100644
index ebae8b71e..000000000
--- a/vm/mterp/x86-atom/OP_NEW_INSTANCE_JUMBO.S
+++ /dev/null
@@ -1 +0,0 @@
-%include "x86-atom/unused.S"
diff --git a/vm/mterp/x86-atom/OP_SGET_BOOLEAN_JUMBO.S b/vm/mterp/x86-atom/OP_SGET_BOOLEAN_JUMBO.S
deleted file mode 100644
index ebae8b71e..000000000
--- a/vm/mterp/x86-atom/OP_SGET_BOOLEAN_JUMBO.S
+++ /dev/null
@@ -1 +0,0 @@
-%include "x86-atom/unused.S"
diff --git a/vm/mterp/x86-atom/OP_SGET_BYTE_JUMBO.S b/vm/mterp/x86-atom/OP_SGET_BYTE_JUMBO.S
deleted file mode 100644
index ebae8b71e..000000000
--- a/vm/mterp/x86-atom/OP_SGET_BYTE_JUMBO.S
+++ /dev/null
@@ -1 +0,0 @@
-%include "x86-atom/unused.S"
diff --git a/vm/mterp/x86-atom/OP_SGET_CHAR_JUMBO.S b/vm/mterp/x86-atom/OP_SGET_CHAR_JUMBO.S
deleted file mode 100644
index ebae8b71e..000000000
--- a/vm/mterp/x86-atom/OP_SGET_CHAR_JUMBO.S
+++ /dev/null
@@ -1 +0,0 @@
-%include "x86-atom/unused.S"
diff --git a/vm/mterp/x86-atom/OP_SGET_JUMBO.S b/vm/mterp/x86-atom/OP_SGET_JUMBO.S
deleted file mode 100644
index ebae8b71e..000000000
--- a/vm/mterp/x86-atom/OP_SGET_JUMBO.S
+++ /dev/null
@@ -1 +0,0 @@
-%include "x86-atom/unused.S"
diff --git a/vm/mterp/x86-atom/OP_SGET_OBJECT_JUMBO.S b/vm/mterp/x86-atom/OP_SGET_OBJECT_JUMBO.S
deleted file mode 100644
index ebae8b71e..000000000
--- a/vm/mterp/x86-atom/OP_SGET_OBJECT_JUMBO.S
+++ /dev/null
@@ -1 +0,0 @@
-%include "x86-atom/unused.S"
diff --git a/vm/mterp/x86-atom/OP_SGET_SHORT_JUMBO.S b/vm/mterp/x86-atom/OP_SGET_SHORT_JUMBO.S
deleted file mode 100644
index ebae8b71e..000000000
--- a/vm/mterp/x86-atom/OP_SGET_SHORT_JUMBO.S
+++ /dev/null
@@ -1 +0,0 @@
-%include "x86-atom/unused.S"
diff --git a/vm/mterp/x86-atom/OP_SGET_WIDE_JUMBO.S b/vm/mterp/x86-atom/OP_SGET_WIDE_JUMBO.S
deleted file mode 100644
index ebae8b71e..000000000
--- a/vm/mterp/x86-atom/OP_SGET_WIDE_JUMBO.S
+++ /dev/null
@@ -1 +0,0 @@
-%include "x86-atom/unused.S"
diff --git a/vm/mterp/x86-atom/OP_SPUT_BOOLEAN_JUMBO.S b/vm/mterp/x86-atom/OP_SPUT_BOOLEAN_JUMBO.S
deleted file mode 100644
index ebae8b71e..000000000
--- a/vm/mterp/x86-atom/OP_SPUT_BOOLEAN_JUMBO.S
+++ /dev/null
@@ -1 +0,0 @@
-%include "x86-atom/unused.S"
diff --git a/vm/mterp/x86-atom/OP_SPUT_BYTE_JUMBO.S b/vm/mterp/x86-atom/OP_SPUT_BYTE_JUMBO.S
deleted file mode 100644
index ebae8b71e..000000000
--- a/vm/mterp/x86-atom/OP_SPUT_BYTE_JUMBO.S
+++ /dev/null
@@ -1 +0,0 @@
-%include "x86-atom/unused.S"
diff --git a/vm/mterp/x86-atom/OP_SPUT_CHAR_JUMBO.S b/vm/mterp/x86-atom/OP_SPUT_CHAR_JUMBO.S
deleted file mode 100644
index ebae8b71e..000000000
--- a/vm/mterp/x86-atom/OP_SPUT_CHAR_JUMBO.S
+++ /dev/null
@@ -1 +0,0 @@
-%include "x86-atom/unused.S"
diff --git a/vm/mterp/x86-atom/OP_SPUT_JUMBO.S b/vm/mterp/x86-atom/OP_SPUT_JUMBO.S
deleted file mode 100644
index ebae8b71e..000000000
--- a/vm/mterp/x86-atom/OP_SPUT_JUMBO.S
+++ /dev/null
@@ -1 +0,0 @@
-%include "x86-atom/unused.S"
diff --git a/vm/mterp/x86-atom/OP_SPUT_OBJECT_JUMBO.S b/vm/mterp/x86-atom/OP_SPUT_OBJECT_JUMBO.S
deleted file mode 100644
index ebae8b71e..000000000
--- a/vm/mterp/x86-atom/OP_SPUT_OBJECT_JUMBO.S
+++ /dev/null
@@ -1 +0,0 @@
-%include "x86-atom/unused.S"
diff --git a/vm/mterp/x86-atom/OP_SPUT_SHORT_JUMBO.S b/vm/mterp/x86-atom/OP_SPUT_SHORT_JUMBO.S
deleted file mode 100644
index ebae8b71e..000000000
--- a/vm/mterp/x86-atom/OP_SPUT_SHORT_JUMBO.S
+++ /dev/null
@@ -1 +0,0 @@
-%include "x86-atom/unused.S"
diff --git a/vm/mterp/x86-atom/OP_SPUT_WIDE_JUMBO.S b/vm/mterp/x86-atom/OP_SPUT_WIDE_JUMBO.S
deleted file mode 100644
index ebae8b71e..000000000
--- a/vm/mterp/x86-atom/OP_SPUT_WIDE_JUMBO.S
+++ /dev/null
@@ -1 +0,0 @@
-%include "x86-atom/unused.S"
diff --git a/vm/mterp/x86-atom/OP_THROW_VERIFICATION_ERROR_JUMBO.S b/vm/mterp/x86-atom/OP_THROW_VERIFICATION_ERROR_JUMBO.S
deleted file mode 100644
index ebae8b71e..000000000
--- a/vm/mterp/x86-atom/OP_THROW_VERIFICATION_ERROR_JUMBO.S
+++ /dev/null
@@ -1 +0,0 @@
-%include "x86-atom/unused.S"
diff --git a/vm/mterp/x86-atom/OP_UNUSED_27FF.S b/vm/mterp/x86-atom/OP_UNUSED_27FF.S
deleted file mode 100644
index ebae8b71e..000000000
--- a/vm/mterp/x86-atom/OP_UNUSED_27FF.S
+++ /dev/null
@@ -1 +0,0 @@
-%include "x86-atom/unused.S"
diff --git a/vm/mterp/x86-atom/OP_UNUSED_28FF.S b/vm/mterp/x86-atom/OP_UNUSED_28FF.S
deleted file mode 100644
index ebae8b71e..000000000
--- a/vm/mterp/x86-atom/OP_UNUSED_28FF.S
+++ /dev/null
@@ -1 +0,0 @@
-%include "x86-atom/unused.S"
diff --git a/vm/mterp/x86-atom/OP_UNUSED_29FF.S b/vm/mterp/x86-atom/OP_UNUSED_29FF.S
deleted file mode 100644
index ebae8b71e..000000000
--- a/vm/mterp/x86-atom/OP_UNUSED_29FF.S
+++ /dev/null
@@ -1 +0,0 @@
-%include "x86-atom/unused.S"
diff --git a/vm/mterp/x86-atom/OP_UNUSED_2AFF.S b/vm/mterp/x86-atom/OP_UNUSED_2AFF.S
deleted file mode 100644
index ebae8b71e..000000000
--- a/vm/mterp/x86-atom/OP_UNUSED_2AFF.S
+++ /dev/null
@@ -1 +0,0 @@
-%include "x86-atom/unused.S"
diff --git a/vm/mterp/x86-atom/OP_UNUSED_2BFF.S b/vm/mterp/x86-atom/OP_UNUSED_2BFF.S
deleted file mode 100644
index ebae8b71e..000000000
--- a/vm/mterp/x86-atom/OP_UNUSED_2BFF.S
+++ /dev/null
@@ -1 +0,0 @@
-%include "x86-atom/unused.S"
diff --git a/vm/mterp/x86-atom/OP_UNUSED_2CFF.S b/vm/mterp/x86-atom/OP_UNUSED_2CFF.S
deleted file mode 100644
index ebae8b71e..000000000
--- a/vm/mterp/x86-atom/OP_UNUSED_2CFF.S
+++ /dev/null
@@ -1 +0,0 @@
-%include "x86-atom/unused.S"
diff --git a/vm/mterp/x86-atom/OP_UNUSED_2DFF.S b/vm/mterp/x86-atom/OP_UNUSED_2DFF.S
deleted file mode 100644
index ebae8b71e..000000000
--- a/vm/mterp/x86-atom/OP_UNUSED_2DFF.S
+++ /dev/null
@@ -1 +0,0 @@
-%include "x86-atom/unused.S"
diff --git a/vm/mterp/x86-atom/OP_UNUSED_2EFF.S b/vm/mterp/x86-atom/OP_UNUSED_2EFF.S
deleted file mode 100644
index ebae8b71e..000000000
--- a/vm/mterp/x86-atom/OP_UNUSED_2EFF.S
+++ /dev/null
@@ -1 +0,0 @@
-%include "x86-atom/unused.S"
diff --git a/vm/mterp/x86-atom/OP_UNUSED_2FFF.S b/vm/mterp/x86-atom/OP_UNUSED_2FFF.S
deleted file mode 100644
index ebae8b71e..000000000
--- a/vm/mterp/x86-atom/OP_UNUSED_2FFF.S
+++ /dev/null
@@ -1 +0,0 @@
-%include "x86-atom/unused.S"
diff --git a/vm/mterp/x86-atom/OP_UNUSED_30FF.S b/vm/mterp/x86-atom/OP_UNUSED_30FF.S
deleted file mode 100644
index ebae8b71e..000000000
--- a/vm/mterp/x86-atom/OP_UNUSED_30FF.S
+++ /dev/null
@@ -1 +0,0 @@
-%include "x86-atom/unused.S"
diff --git a/vm/mterp/x86-atom/OP_UNUSED_31FF.S b/vm/mterp/x86-atom/OP_UNUSED_31FF.S
deleted file mode 100644
index ebae8b71e..000000000
--- a/vm/mterp/x86-atom/OP_UNUSED_31FF.S
+++ /dev/null
@@ -1 +0,0 @@
-%include "x86-atom/unused.S"
diff --git a/vm/mterp/x86-atom/OP_UNUSED_32FF.S b/vm/mterp/x86-atom/OP_UNUSED_32FF.S
deleted file mode 100644
index ebae8b71e..000000000
--- a/vm/mterp/x86-atom/OP_UNUSED_32FF.S
+++ /dev/null
@@ -1 +0,0 @@
-%include "x86-atom/unused.S"
diff --git a/vm/mterp/x86-atom/OP_UNUSED_33FF.S b/vm/mterp/x86-atom/OP_UNUSED_33FF.S
deleted file mode 100644
index ebae8b71e..000000000
--- a/vm/mterp/x86-atom/OP_UNUSED_33FF.S
+++ /dev/null
@@ -1 +0,0 @@
-%include "x86-atom/unused.S"
diff --git a/vm/mterp/x86-atom/OP_UNUSED_34FF.S b/vm/mterp/x86-atom/OP_UNUSED_34FF.S
deleted file mode 100644
index ebae8b71e..000000000
--- a/vm/mterp/x86-atom/OP_UNUSED_34FF.S
+++ /dev/null
@@ -1 +0,0 @@
-%include "x86-atom/unused.S"
diff --git a/vm/mterp/x86-atom/OP_UNUSED_35FF.S b/vm/mterp/x86-atom/OP_UNUSED_35FF.S
deleted file mode 100644
index ebae8b71e..000000000
--- a/vm/mterp/x86-atom/OP_UNUSED_35FF.S
+++ /dev/null
@@ -1 +0,0 @@
-%include "x86-atom/unused.S"
diff --git a/vm/mterp/x86-atom/OP_UNUSED_36FF.S b/vm/mterp/x86-atom/OP_UNUSED_36FF.S
deleted file mode 100644
index ebae8b71e..000000000
--- a/vm/mterp/x86-atom/OP_UNUSED_36FF.S
+++ /dev/null
@@ -1 +0,0 @@
-%include "x86-atom/unused.S"
diff --git a/vm/mterp/x86-atom/OP_UNUSED_37FF.S b/vm/mterp/x86-atom/OP_UNUSED_37FF.S
deleted file mode 100644
index ebae8b71e..000000000
--- a/vm/mterp/x86-atom/OP_UNUSED_37FF.S
+++ /dev/null
@@ -1 +0,0 @@
-%include "x86-atom/unused.S"
diff --git a/vm/mterp/x86-atom/OP_UNUSED_38FF.S b/vm/mterp/x86-atom/OP_UNUSED_38FF.S
deleted file mode 100644
index ebae8b71e..000000000
--- a/vm/mterp/x86-atom/OP_UNUSED_38FF.S
+++ /dev/null
@@ -1 +0,0 @@
-%include "x86-atom/unused.S"
diff --git a/vm/mterp/x86-atom/OP_UNUSED_39FF.S b/vm/mterp/x86-atom/OP_UNUSED_39FF.S
deleted file mode 100644
index ebae8b71e..000000000
--- a/vm/mterp/x86-atom/OP_UNUSED_39FF.S
+++ /dev/null
@@ -1 +0,0 @@
-%include "x86-atom/unused.S"
diff --git a/vm/mterp/x86-atom/OP_UNUSED_3AFF.S b/vm/mterp/x86-atom/OP_UNUSED_3AFF.S
deleted file mode 100644
index ebae8b71e..000000000
--- a/vm/mterp/x86-atom/OP_UNUSED_3AFF.S
+++ /dev/null
@@ -1 +0,0 @@
-%include "x86-atom/unused.S"
diff --git a/vm/mterp/x86-atom/OP_UNUSED_3BFF.S b/vm/mterp/x86-atom/OP_UNUSED_3BFF.S
deleted file mode 100644
index ebae8b71e..000000000
--- a/vm/mterp/x86-atom/OP_UNUSED_3BFF.S
+++ /dev/null
@@ -1 +0,0 @@
-%include "x86-atom/unused.S"
diff --git a/vm/mterp/x86-atom/OP_UNUSED_3CFF.S b/vm/mterp/x86-atom/OP_UNUSED_3CFF.S
deleted file mode 100644
index ebae8b71e..000000000
--- a/vm/mterp/x86-atom/OP_UNUSED_3CFF.S
+++ /dev/null
@@ -1 +0,0 @@
-%include "x86-atom/unused.S"
diff --git a/vm/mterp/x86-atom/OP_UNUSED_3DFF.S b/vm/mterp/x86-atom/OP_UNUSED_3DFF.S
deleted file mode 100644
index ebae8b71e..000000000
--- a/vm/mterp/x86-atom/OP_UNUSED_3DFF.S
+++ /dev/null
@@ -1 +0,0 @@
-%include "x86-atom/unused.S"
diff --git a/vm/mterp/x86-atom/OP_UNUSED_3EFF.S b/vm/mterp/x86-atom/OP_UNUSED_3EFF.S
deleted file mode 100644
index ebae8b71e..000000000
--- a/vm/mterp/x86-atom/OP_UNUSED_3EFF.S
+++ /dev/null
@@ -1 +0,0 @@
-%include "x86-atom/unused.S"
diff --git a/vm/mterp/x86-atom/OP_UNUSED_3FFF.S b/vm/mterp/x86-atom/OP_UNUSED_3FFF.S
deleted file mode 100644
index ebae8b71e..000000000
--- a/vm/mterp/x86-atom/OP_UNUSED_3FFF.S
+++ /dev/null
@@ -1 +0,0 @@
-%include "x86-atom/unused.S"
diff --git a/vm/mterp/x86-atom/OP_UNUSED_40FF.S b/vm/mterp/x86-atom/OP_UNUSED_40FF.S
deleted file mode 100644
index ebae8b71e..000000000
--- a/vm/mterp/x86-atom/OP_UNUSED_40FF.S
+++ /dev/null
@@ -1 +0,0 @@
-%include "x86-atom/unused.S"
diff --git a/vm/mterp/x86-atom/OP_UNUSED_41FF.S b/vm/mterp/x86-atom/OP_UNUSED_41FF.S
deleted file mode 100644
index ebae8b71e..000000000
--- a/vm/mterp/x86-atom/OP_UNUSED_41FF.S
+++ /dev/null
@@ -1 +0,0 @@
-%include "x86-atom/unused.S"
diff --git a/vm/mterp/x86-atom/OP_UNUSED_42FF.S b/vm/mterp/x86-atom/OP_UNUSED_42FF.S
deleted file mode 100644
index ebae8b71e..000000000
--- a/vm/mterp/x86-atom/OP_UNUSED_42FF.S
+++ /dev/null
@@ -1 +0,0 @@
-%include "x86-atom/unused.S"
diff --git a/vm/mterp/x86-atom/OP_UNUSED_43FF.S b/vm/mterp/x86-atom/OP_UNUSED_43FF.S
deleted file mode 100644
index ebae8b71e..000000000
--- a/vm/mterp/x86-atom/OP_UNUSED_43FF.S
+++ /dev/null
@@ -1 +0,0 @@
-%include "x86-atom/unused.S"
diff --git a/vm/mterp/x86-atom/OP_UNUSED_44FF.S b/vm/mterp/x86-atom/OP_UNUSED_44FF.S
deleted file mode 100644
index ebae8b71e..000000000
--- a/vm/mterp/x86-atom/OP_UNUSED_44FF.S
+++ /dev/null
@@ -1 +0,0 @@
-%include "x86-atom/unused.S"
diff --git a/vm/mterp/x86-atom/OP_UNUSED_45FF.S b/vm/mterp/x86-atom/OP_UNUSED_45FF.S
deleted file mode 100644
index ebae8b71e..000000000
--- a/vm/mterp/x86-atom/OP_UNUSED_45FF.S
+++ /dev/null
@@ -1 +0,0 @@
-%include "x86-atom/unused.S"
diff --git a/vm/mterp/x86-atom/OP_UNUSED_46FF.S b/vm/mterp/x86-atom/OP_UNUSED_46FF.S
deleted file mode 100644
index ebae8b71e..000000000
--- a/vm/mterp/x86-atom/OP_UNUSED_46FF.S
+++ /dev/null
@@ -1 +0,0 @@
-%include "x86-atom/unused.S"
diff --git a/vm/mterp/x86-atom/OP_UNUSED_47FF.S b/vm/mterp/x86-atom/OP_UNUSED_47FF.S
deleted file mode 100644
index ebae8b71e..000000000
--- a/vm/mterp/x86-atom/OP_UNUSED_47FF.S
+++ /dev/null
@@ -1 +0,0 @@
-%include "x86-atom/unused.S"
diff --git a/vm/mterp/x86-atom/OP_UNUSED_48FF.S b/vm/mterp/x86-atom/OP_UNUSED_48FF.S
deleted file mode 100644
index ebae8b71e..000000000
--- a/vm/mterp/x86-atom/OP_UNUSED_48FF.S
+++ /dev/null
@@ -1 +0,0 @@
-%include "x86-atom/unused.S"
diff --git a/vm/mterp/x86-atom/OP_UNUSED_49FF.S b/vm/mterp/x86-atom/OP_UNUSED_49FF.S
deleted file mode 100644
index ebae8b71e..000000000
--- a/vm/mterp/x86-atom/OP_UNUSED_49FF.S
+++ /dev/null
@@ -1 +0,0 @@
-%include "x86-atom/unused.S"
diff --git a/vm/mterp/x86-atom/OP_UNUSED_4AFF.S b/vm/mterp/x86-atom/OP_UNUSED_4AFF.S
deleted file mode 100644
index ebae8b71e..000000000
--- a/vm/mterp/x86-atom/OP_UNUSED_4AFF.S
+++ /dev/null
@@ -1 +0,0 @@
-%include "x86-atom/unused.S"
diff --git a/vm/mterp/x86-atom/OP_UNUSED_4BFF.S b/vm/mterp/x86-atom/OP_UNUSED_4BFF.S
deleted file mode 100644
index ebae8b71e..000000000
--- a/vm/mterp/x86-atom/OP_UNUSED_4BFF.S
+++ /dev/null
@@ -1 +0,0 @@
-%include "x86-atom/unused.S"
diff --git a/vm/mterp/x86-atom/OP_UNUSED_4CFF.S b/vm/mterp/x86-atom/OP_UNUSED_4CFF.S
deleted file mode 100644
index ebae8b71e..000000000
--- a/vm/mterp/x86-atom/OP_UNUSED_4CFF.S
+++ /dev/null
@@ -1 +0,0 @@
-%include "x86-atom/unused.S"
diff --git a/vm/mterp/x86-atom/OP_UNUSED_4DFF.S b/vm/mterp/x86-atom/OP_UNUSED_4DFF.S
deleted file mode 100644
index ebae8b71e..000000000
--- a/vm/mterp/x86-atom/OP_UNUSED_4DFF.S
+++ /dev/null
@@ -1 +0,0 @@
-%include "x86-atom/unused.S"
diff --git a/vm/mterp/x86-atom/OP_UNUSED_4EFF.S b/vm/mterp/x86-atom/OP_UNUSED_4EFF.S
deleted file mode 100644
index ebae8b71e..000000000
--- a/vm/mterp/x86-atom/OP_UNUSED_4EFF.S
+++ /dev/null
@@ -1 +0,0 @@
-%include "x86-atom/unused.S"
diff --git a/vm/mterp/x86-atom/OP_UNUSED_4FFF.S b/vm/mterp/x86-atom/OP_UNUSED_4FFF.S
deleted file mode 100644
index ebae8b71e..000000000
--- a/vm/mterp/x86-atom/OP_UNUSED_4FFF.S
+++ /dev/null
@@ -1 +0,0 @@
-%include "x86-atom/unused.S"
diff --git a/vm/mterp/x86-atom/OP_UNUSED_50FF.S b/vm/mterp/x86-atom/OP_UNUSED_50FF.S
deleted file mode 100644
index ebae8b71e..000000000
--- a/vm/mterp/x86-atom/OP_UNUSED_50FF.S
+++ /dev/null
@@ -1 +0,0 @@
-%include "x86-atom/unused.S"
diff --git a/vm/mterp/x86-atom/OP_UNUSED_51FF.S b/vm/mterp/x86-atom/OP_UNUSED_51FF.S
deleted file mode 100644
index ebae8b71e..000000000
--- a/vm/mterp/x86-atom/OP_UNUSED_51FF.S
+++ /dev/null
@@ -1 +0,0 @@
-%include "x86-atom/unused.S"
diff --git a/vm/mterp/x86-atom/OP_UNUSED_52FF.S b/vm/mterp/x86-atom/OP_UNUSED_52FF.S
deleted file mode 100644
index ebae8b71e..000000000
--- a/vm/mterp/x86-atom/OP_UNUSED_52FF.S
+++ /dev/null
@@ -1 +0,0 @@
-%include "x86-atom/unused.S"
diff --git a/vm/mterp/x86-atom/OP_UNUSED_53FF.S b/vm/mterp/x86-atom/OP_UNUSED_53FF.S
deleted file mode 100644
index ebae8b71e..000000000
--- a/vm/mterp/x86-atom/OP_UNUSED_53FF.S
+++ /dev/null
@@ -1 +0,0 @@
-%include "x86-atom/unused.S"
diff --git a/vm/mterp/x86-atom/OP_UNUSED_54FF.S b/vm/mterp/x86-atom/OP_UNUSED_54FF.S
deleted file mode 100644
index ebae8b71e..000000000
--- a/vm/mterp/x86-atom/OP_UNUSED_54FF.S
+++ /dev/null
@@ -1 +0,0 @@
-%include "x86-atom/unused.S"
diff --git a/vm/mterp/x86-atom/OP_UNUSED_55FF.S b/vm/mterp/x86-atom/OP_UNUSED_55FF.S
deleted file mode 100644
index ebae8b71e..000000000
--- a/vm/mterp/x86-atom/OP_UNUSED_55FF.S
+++ /dev/null
@@ -1 +0,0 @@
-%include "x86-atom/unused.S"
diff --git a/vm/mterp/x86-atom/OP_UNUSED_56FF.S b/vm/mterp/x86-atom/OP_UNUSED_56FF.S
deleted file mode 100644
index ebae8b71e..000000000
--- a/vm/mterp/x86-atom/OP_UNUSED_56FF.S
+++ /dev/null
@@ -1 +0,0 @@
-%include "x86-atom/unused.S"
diff --git a/vm/mterp/x86-atom/OP_UNUSED_57FF.S b/vm/mterp/x86-atom/OP_UNUSED_57FF.S
deleted file mode 100644
index ebae8b71e..000000000
--- a/vm/mterp/x86-atom/OP_UNUSED_57FF.S
+++ /dev/null
@@ -1 +0,0 @@
-%include "x86-atom/unused.S"
diff --git a/vm/mterp/x86-atom/OP_UNUSED_58FF.S b/vm/mterp/x86-atom/OP_UNUSED_58FF.S
deleted file mode 100644
index ebae8b71e..000000000
--- a/vm/mterp/x86-atom/OP_UNUSED_58FF.S
+++ /dev/null
@@ -1 +0,0 @@
-%include "x86-atom/unused.S"
diff --git a/vm/mterp/x86-atom/OP_UNUSED_59FF.S b/vm/mterp/x86-atom/OP_UNUSED_59FF.S
deleted file mode 100644
index ebae8b71e..000000000
--- a/vm/mterp/x86-atom/OP_UNUSED_59FF.S
+++ /dev/null
@@ -1 +0,0 @@
-%include "x86-atom/unused.S"
diff --git a/vm/mterp/x86-atom/OP_UNUSED_5AFF.S b/vm/mterp/x86-atom/OP_UNUSED_5AFF.S
deleted file mode 100644
index ebae8b71e..000000000
--- a/vm/mterp/x86-atom/OP_UNUSED_5AFF.S
+++ /dev/null
@@ -1 +0,0 @@
-%include "x86-atom/unused.S"
diff --git a/vm/mterp/x86-atom/OP_UNUSED_5BFF.S b/vm/mterp/x86-atom/OP_UNUSED_5BFF.S
deleted file mode 100644
index ebae8b71e..000000000
--- a/vm/mterp/x86-atom/OP_UNUSED_5BFF.S
+++ /dev/null
@@ -1 +0,0 @@
-%include "x86-atom/unused.S"
diff --git a/vm/mterp/x86-atom/OP_UNUSED_5CFF.S b/vm/mterp/x86-atom/OP_UNUSED_5CFF.S
deleted file mode 100644
index ebae8b71e..000000000
--- a/vm/mterp/x86-atom/OP_UNUSED_5CFF.S
+++ /dev/null
@@ -1 +0,0 @@
-%include "x86-atom/unused.S"
diff --git a/vm/mterp/x86-atom/OP_UNUSED_5DFF.S b/vm/mterp/x86-atom/OP_UNUSED_5DFF.S
deleted file mode 100644
index ebae8b71e..000000000
--- a/vm/mterp/x86-atom/OP_UNUSED_5DFF.S
+++ /dev/null
@@ -1 +0,0 @@
-%include "x86-atom/unused.S"
diff --git a/vm/mterp/x86-atom/OP_UNUSED_5EFF.S b/vm/mterp/x86-atom/OP_UNUSED_5EFF.S
deleted file mode 100644
index ebae8b71e..000000000
--- a/vm/mterp/x86-atom/OP_UNUSED_5EFF.S
+++ /dev/null
@@ -1 +0,0 @@
-%include "x86-atom/unused.S"
diff --git a/vm/mterp/x86-atom/OP_UNUSED_5FFF.S b/vm/mterp/x86-atom/OP_UNUSED_5FFF.S
deleted file mode 100644
index ebae8b71e..000000000
--- a/vm/mterp/x86-atom/OP_UNUSED_5FFF.S
+++ /dev/null
@@ -1 +0,0 @@
-%include "x86-atom/unused.S"
diff --git a/vm/mterp/x86-atom/OP_UNUSED_60FF.S b/vm/mterp/x86-atom/OP_UNUSED_60FF.S
deleted file mode 100644
index ebae8b71e..000000000
--- a/vm/mterp/x86-atom/OP_UNUSED_60FF.S
+++ /dev/null
@@ -1 +0,0 @@
-%include "x86-atom/unused.S"
diff --git a/vm/mterp/x86-atom/OP_UNUSED_61FF.S b/vm/mterp/x86-atom/OP_UNUSED_61FF.S
deleted file mode 100644
index ebae8b71e..000000000
--- a/vm/mterp/x86-atom/OP_UNUSED_61FF.S
+++ /dev/null
@@ -1 +0,0 @@
-%include "x86-atom/unused.S"
diff --git a/vm/mterp/x86-atom/OP_UNUSED_62FF.S b/vm/mterp/x86-atom/OP_UNUSED_62FF.S
deleted file mode 100644
index ebae8b71e..000000000
--- a/vm/mterp/x86-atom/OP_UNUSED_62FF.S
+++ /dev/null
@@ -1 +0,0 @@
-%include "x86-atom/unused.S"
diff --git a/vm/mterp/x86-atom/OP_UNUSED_63FF.S b/vm/mterp/x86-atom/OP_UNUSED_63FF.S
deleted file mode 100644
index ebae8b71e..000000000
--- a/vm/mterp/x86-atom/OP_UNUSED_63FF.S
+++ /dev/null
@@ -1 +0,0 @@
-%include "x86-atom/unused.S"
diff --git a/vm/mterp/x86-atom/OP_UNUSED_64FF.S b/vm/mterp/x86-atom/OP_UNUSED_64FF.S
deleted file mode 100644
index ebae8b71e..000000000
--- a/vm/mterp/x86-atom/OP_UNUSED_64FF.S
+++ /dev/null
@@ -1 +0,0 @@
-%include "x86-atom/unused.S"
diff --git a/vm/mterp/x86-atom/OP_UNUSED_65FF.S b/vm/mterp/x86-atom/OP_UNUSED_65FF.S
deleted file mode 100644
index ebae8b71e..000000000
--- a/vm/mterp/x86-atom/OP_UNUSED_65FF.S
+++ /dev/null
@@ -1 +0,0 @@
-%include "x86-atom/unused.S"
diff --git a/vm/mterp/x86-atom/OP_UNUSED_66FF.S b/vm/mterp/x86-atom/OP_UNUSED_66FF.S
deleted file mode 100644
index ebae8b71e..000000000
--- a/vm/mterp/x86-atom/OP_UNUSED_66FF.S
+++ /dev/null
@@ -1 +0,0 @@
-%include "x86-atom/unused.S"
diff --git a/vm/mterp/x86-atom/OP_UNUSED_67FF.S b/vm/mterp/x86-atom/OP_UNUSED_67FF.S
deleted file mode 100644
index ebae8b71e..000000000
--- a/vm/mterp/x86-atom/OP_UNUSED_67FF.S
+++ /dev/null
@@ -1 +0,0 @@
-%include "x86-atom/unused.S"
diff --git a/vm/mterp/x86-atom/OP_UNUSED_68FF.S b/vm/mterp/x86-atom/OP_UNUSED_68FF.S
deleted file mode 100644
index ebae8b71e..000000000
--- a/vm/mterp/x86-atom/OP_UNUSED_68FF.S
+++ /dev/null
@@ -1 +0,0 @@
-%include "x86-atom/unused.S"
diff --git a/vm/mterp/x86-atom/OP_UNUSED_69FF.S b/vm/mterp/x86-atom/OP_UNUSED_69FF.S
deleted file mode 100644
index ebae8b71e..000000000
--- a/vm/mterp/x86-atom/OP_UNUSED_69FF.S
+++ /dev/null
@@ -1 +0,0 @@
-%include "x86-atom/unused.S"
diff --git a/vm/mterp/x86-atom/OP_UNUSED_6AFF.S b/vm/mterp/x86-atom/OP_UNUSED_6AFF.S
deleted file mode 100644
index ebae8b71e..000000000
--- a/vm/mterp/x86-atom/OP_UNUSED_6AFF.S
+++ /dev/null
@@ -1 +0,0 @@
-%include "x86-atom/unused.S"
diff --git a/vm/mterp/x86-atom/OP_UNUSED_6BFF.S b/vm/mterp/x86-atom/OP_UNUSED_6BFF.S
deleted file mode 100644
index ebae8b71e..000000000
--- a/vm/mterp/x86-atom/OP_UNUSED_6BFF.S
+++ /dev/null
@@ -1 +0,0 @@
-%include "x86-atom/unused.S"
diff --git a/vm/mterp/x86-atom/OP_UNUSED_6CFF.S b/vm/mterp/x86-atom/OP_UNUSED_6CFF.S
deleted file mode 100644
index ebae8b71e..000000000
--- a/vm/mterp/x86-atom/OP_UNUSED_6CFF.S
+++ /dev/null
@@ -1 +0,0 @@
-%include "x86-atom/unused.S"
diff --git a/vm/mterp/x86-atom/OP_UNUSED_6DFF.S b/vm/mterp/x86-atom/OP_UNUSED_6DFF.S
deleted file mode 100644
index ebae8b71e..000000000
--- a/vm/mterp/x86-atom/OP_UNUSED_6DFF.S
+++ /dev/null
@@ -1 +0,0 @@
-%include "x86-atom/unused.S"
diff --git a/vm/mterp/x86-atom/OP_UNUSED_6EFF.S b/vm/mterp/x86-atom/OP_UNUSED_6EFF.S
deleted file mode 100644
index ebae8b71e..000000000
--- a/vm/mterp/x86-atom/OP_UNUSED_6EFF.S
+++ /dev/null
@@ -1 +0,0 @@
-%include "x86-atom/unused.S"
diff --git a/vm/mterp/x86-atom/OP_UNUSED_6FFF.S b/vm/mterp/x86-atom/OP_UNUSED_6FFF.S
deleted file mode 100644
index ebae8b71e..000000000
--- a/vm/mterp/x86-atom/OP_UNUSED_6FFF.S
+++ /dev/null
@@ -1 +0,0 @@
-%include "x86-atom/unused.S"
diff --git a/vm/mterp/x86-atom/OP_UNUSED_70FF.S b/vm/mterp/x86-atom/OP_UNUSED_70FF.S
deleted file mode 100644
index ebae8b71e..000000000
--- a/vm/mterp/x86-atom/OP_UNUSED_70FF.S
+++ /dev/null
@@ -1 +0,0 @@
-%include "x86-atom/unused.S"
diff --git a/vm/mterp/x86-atom/OP_UNUSED_71FF.S b/vm/mterp/x86-atom/OP_UNUSED_71FF.S
deleted file mode 100644
index ebae8b71e..000000000
--- a/vm/mterp/x86-atom/OP_UNUSED_71FF.S
+++ /dev/null
@@ -1 +0,0 @@
-%include "x86-atom/unused.S"
diff --git a/vm/mterp/x86-atom/OP_UNUSED_72FF.S b/vm/mterp/x86-atom/OP_UNUSED_72FF.S
deleted file mode 100644
index ebae8b71e..000000000
--- a/vm/mterp/x86-atom/OP_UNUSED_72FF.S
+++ /dev/null
@@ -1 +0,0 @@
-%include "x86-atom/unused.S"
diff --git a/vm/mterp/x86-atom/OP_UNUSED_73FF.S b/vm/mterp/x86-atom/OP_UNUSED_73FF.S
deleted file mode 100644
index ebae8b71e..000000000
--- a/vm/mterp/x86-atom/OP_UNUSED_73FF.S
+++ /dev/null
@@ -1 +0,0 @@
-%include "x86-atom/unused.S"
diff --git a/vm/mterp/x86-atom/OP_UNUSED_74FF.S b/vm/mterp/x86-atom/OP_UNUSED_74FF.S
deleted file mode 100644
index ebae8b71e..000000000
--- a/vm/mterp/x86-atom/OP_UNUSED_74FF.S
+++ /dev/null
@@ -1 +0,0 @@
-%include "x86-atom/unused.S"
diff --git a/vm/mterp/x86-atom/OP_UNUSED_75FF.S b/vm/mterp/x86-atom/OP_UNUSED_75FF.S
deleted file mode 100644
index ebae8b71e..000000000
--- a/vm/mterp/x86-atom/OP_UNUSED_75FF.S
+++ /dev/null
@@ -1 +0,0 @@
-%include "x86-atom/unused.S"
diff --git a/vm/mterp/x86-atom/OP_UNUSED_76FF.S b/vm/mterp/x86-atom/OP_UNUSED_76FF.S
deleted file mode 100644
index ebae8b71e..000000000
--- a/vm/mterp/x86-atom/OP_UNUSED_76FF.S
+++ /dev/null
@@ -1 +0,0 @@
-%include "x86-atom/unused.S"
diff --git a/vm/mterp/x86-atom/OP_UNUSED_77FF.S b/vm/mterp/x86-atom/OP_UNUSED_77FF.S
deleted file mode 100644
index ebae8b71e..000000000
--- a/vm/mterp/x86-atom/OP_UNUSED_77FF.S
+++ /dev/null
@@ -1 +0,0 @@
-%include "x86-atom/unused.S"
diff --git a/vm/mterp/x86-atom/OP_UNUSED_78FF.S b/vm/mterp/x86-atom/OP_UNUSED_78FF.S
deleted file mode 100644
index ebae8b71e..000000000
--- a/vm/mterp/x86-atom/OP_UNUSED_78FF.S
+++ /dev/null
@@ -1 +0,0 @@
-%include "x86-atom/unused.S"
diff --git a/vm/mterp/x86-atom/OP_UNUSED_79FF.S b/vm/mterp/x86-atom/OP_UNUSED_79FF.S
deleted file mode 100644
index ebae8b71e..000000000
--- a/vm/mterp/x86-atom/OP_UNUSED_79FF.S
+++ /dev/null
@@ -1 +0,0 @@
-%include "x86-atom/unused.S"
diff --git a/vm/mterp/x86-atom/OP_UNUSED_7AFF.S b/vm/mterp/x86-atom/OP_UNUSED_7AFF.S
deleted file mode 100644
index ebae8b71e..000000000
--- a/vm/mterp/x86-atom/OP_UNUSED_7AFF.S
+++ /dev/null
@@ -1 +0,0 @@
-%include "x86-atom/unused.S"
diff --git a/vm/mterp/x86-atom/OP_UNUSED_7BFF.S b/vm/mterp/x86-atom/OP_UNUSED_7BFF.S
deleted file mode 100644
index ebae8b71e..000000000
--- a/vm/mterp/x86-atom/OP_UNUSED_7BFF.S
+++ /dev/null
@@ -1 +0,0 @@
-%include "x86-atom/unused.S"
diff --git a/vm/mterp/x86-atom/OP_UNUSED_7CFF.S b/vm/mterp/x86-atom/OP_UNUSED_7CFF.S
deleted file mode 100644
index ebae8b71e..000000000
--- a/vm/mterp/x86-atom/OP_UNUSED_7CFF.S
+++ /dev/null
@@ -1 +0,0 @@
-%include "x86-atom/unused.S"
diff --git a/vm/mterp/x86-atom/OP_UNUSED_7DFF.S b/vm/mterp/x86-atom/OP_UNUSED_7DFF.S
deleted file mode 100644
index ebae8b71e..000000000
--- a/vm/mterp/x86-atom/OP_UNUSED_7DFF.S
+++ /dev/null
@@ -1 +0,0 @@
-%include "x86-atom/unused.S"
diff --git a/vm/mterp/x86-atom/OP_UNUSED_7EFF.S b/vm/mterp/x86-atom/OP_UNUSED_7EFF.S
deleted file mode 100644
index ebae8b71e..000000000
--- a/vm/mterp/x86-atom/OP_UNUSED_7EFF.S
+++ /dev/null
@@ -1 +0,0 @@
-%include "x86-atom/unused.S"
diff --git a/vm/mterp/x86-atom/OP_UNUSED_7FFF.S b/vm/mterp/x86-atom/OP_UNUSED_7FFF.S
deleted file mode 100644
index ebae8b71e..000000000
--- a/vm/mterp/x86-atom/OP_UNUSED_7FFF.S
+++ /dev/null
@@ -1 +0,0 @@
-%include "x86-atom/unused.S"
diff --git a/vm/mterp/x86-atom/OP_UNUSED_80FF.S b/vm/mterp/x86-atom/OP_UNUSED_80FF.S
deleted file mode 100644
index ebae8b71e..000000000
--- a/vm/mterp/x86-atom/OP_UNUSED_80FF.S
+++ /dev/null
@@ -1 +0,0 @@
-%include "x86-atom/unused.S"
diff --git a/vm/mterp/x86-atom/OP_UNUSED_81FF.S b/vm/mterp/x86-atom/OP_UNUSED_81FF.S
deleted file mode 100644
index ebae8b71e..000000000
--- a/vm/mterp/x86-atom/OP_UNUSED_81FF.S
+++ /dev/null
@@ -1 +0,0 @@
-%include "x86-atom/unused.S"
diff --git a/vm/mterp/x86-atom/OP_UNUSED_82FF.S b/vm/mterp/x86-atom/OP_UNUSED_82FF.S
deleted file mode 100644
index ebae8b71e..000000000
--- a/vm/mterp/x86-atom/OP_UNUSED_82FF.S
+++ /dev/null
@@ -1 +0,0 @@
-%include "x86-atom/unused.S"
diff --git a/vm/mterp/x86-atom/OP_UNUSED_83FF.S b/vm/mterp/x86-atom/OP_UNUSED_83FF.S
deleted file mode 100644
index ebae8b71e..000000000
--- a/vm/mterp/x86-atom/OP_UNUSED_83FF.S
+++ /dev/null
@@ -1 +0,0 @@
-%include "x86-atom/unused.S"
diff --git a/vm/mterp/x86-atom/OP_UNUSED_84FF.S b/vm/mterp/x86-atom/OP_UNUSED_84FF.S
deleted file mode 100644
index ebae8b71e..000000000
--- a/vm/mterp/x86-atom/OP_UNUSED_84FF.S
+++ /dev/null
@@ -1 +0,0 @@
-%include "x86-atom/unused.S"
diff --git a/vm/mterp/x86-atom/OP_UNUSED_85FF.S b/vm/mterp/x86-atom/OP_UNUSED_85FF.S
deleted file mode 100644
index ebae8b71e..000000000
--- a/vm/mterp/x86-atom/OP_UNUSED_85FF.S
+++ /dev/null
@@ -1 +0,0 @@
-%include "x86-atom/unused.S"
diff --git a/vm/mterp/x86-atom/OP_UNUSED_86FF.S b/vm/mterp/x86-atom/OP_UNUSED_86FF.S
deleted file mode 100644
index ebae8b71e..000000000
--- a/vm/mterp/x86-atom/OP_UNUSED_86FF.S
+++ /dev/null
@@ -1 +0,0 @@
-%include "x86-atom/unused.S"
diff --git a/vm/mterp/x86-atom/OP_UNUSED_87FF.S b/vm/mterp/x86-atom/OP_UNUSED_87FF.S
deleted file mode 100644
index ebae8b71e..000000000
--- a/vm/mterp/x86-atom/OP_UNUSED_87FF.S
+++ /dev/null
@@ -1 +0,0 @@
-%include "x86-atom/unused.S"
diff --git a/vm/mterp/x86-atom/OP_UNUSED_88FF.S b/vm/mterp/x86-atom/OP_UNUSED_88FF.S
deleted file mode 100644
index ebae8b71e..000000000
--- a/vm/mterp/x86-atom/OP_UNUSED_88FF.S
+++ /dev/null
@@ -1 +0,0 @@
-%include "x86-atom/unused.S"
diff --git a/vm/mterp/x86-atom/OP_UNUSED_89FF.S b/vm/mterp/x86-atom/OP_UNUSED_89FF.S
deleted file mode 100644
index ebae8b71e..000000000
--- a/vm/mterp/x86-atom/OP_UNUSED_89FF.S
+++ /dev/null
@@ -1 +0,0 @@
-%include "x86-atom/unused.S"
diff --git a/vm/mterp/x86-atom/OP_UNUSED_8AFF.S b/vm/mterp/x86-atom/OP_UNUSED_8AFF.S
deleted file mode 100644
index ebae8b71e..000000000
--- a/vm/mterp/x86-atom/OP_UNUSED_8AFF.S
+++ /dev/null
@@ -1 +0,0 @@
-%include "x86-atom/unused.S"
diff --git a/vm/mterp/x86-atom/OP_UNUSED_8BFF.S b/vm/mterp/x86-atom/OP_UNUSED_8BFF.S
deleted file mode 100644
index ebae8b71e..000000000
--- a/vm/mterp/x86-atom/OP_UNUSED_8BFF.S
+++ /dev/null
@@ -1 +0,0 @@
-%include "x86-atom/unused.S"
diff --git a/vm/mterp/x86-atom/OP_UNUSED_8CFF.S b/vm/mterp/x86-atom/OP_UNUSED_8CFF.S
deleted file mode 100644
index ebae8b71e..000000000
--- a/vm/mterp/x86-atom/OP_UNUSED_8CFF.S
+++ /dev/null
@@ -1 +0,0 @@
-%include "x86-atom/unused.S"
diff --git a/vm/mterp/x86-atom/OP_UNUSED_8DFF.S b/vm/mterp/x86-atom/OP_UNUSED_8DFF.S
deleted file mode 100644
index ebae8b71e..000000000
--- a/vm/mterp/x86-atom/OP_UNUSED_8DFF.S
+++ /dev/null
@@ -1 +0,0 @@
-%include "x86-atom/unused.S"
diff --git a/vm/mterp/x86-atom/OP_UNUSED_8EFF.S b/vm/mterp/x86-atom/OP_UNUSED_8EFF.S
deleted file mode 100644
index ebae8b71e..000000000
--- a/vm/mterp/x86-atom/OP_UNUSED_8EFF.S
+++ /dev/null
@@ -1 +0,0 @@
-%include "x86-atom/unused.S"
diff --git a/vm/mterp/x86-atom/OP_UNUSED_8FFF.S b/vm/mterp/x86-atom/OP_UNUSED_8FFF.S
deleted file mode 100644
index ebae8b71e..000000000
--- a/vm/mterp/x86-atom/OP_UNUSED_8FFF.S
+++ /dev/null
@@ -1 +0,0 @@
-%include "x86-atom/unused.S"
diff --git a/vm/mterp/x86-atom/OP_UNUSED_90FF.S b/vm/mterp/x86-atom/OP_UNUSED_90FF.S
deleted file mode 100644
index ebae8b71e..000000000
--- a/vm/mterp/x86-atom/OP_UNUSED_90FF.S
+++ /dev/null
@@ -1 +0,0 @@
-%include "x86-atom/unused.S"
diff --git a/vm/mterp/x86-atom/OP_UNUSED_91FF.S b/vm/mterp/x86-atom/OP_UNUSED_91FF.S
deleted file mode 100644
index ebae8b71e..000000000
--- a/vm/mterp/x86-atom/OP_UNUSED_91FF.S
+++ /dev/null
@@ -1 +0,0 @@
-%include "x86-atom/unused.S"
diff --git a/vm/mterp/x86-atom/OP_UNUSED_92FF.S b/vm/mterp/x86-atom/OP_UNUSED_92FF.S
deleted file mode 100644
index ebae8b71e..000000000
--- a/vm/mterp/x86-atom/OP_UNUSED_92FF.S
+++ /dev/null
@@ -1 +0,0 @@
-%include "x86-atom/unused.S"
diff --git a/vm/mterp/x86-atom/OP_UNUSED_93FF.S b/vm/mterp/x86-atom/OP_UNUSED_93FF.S
deleted file mode 100644
index ebae8b71e..000000000
--- a/vm/mterp/x86-atom/OP_UNUSED_93FF.S
+++ /dev/null
@@ -1 +0,0 @@
-%include "x86-atom/unused.S"
diff --git a/vm/mterp/x86-atom/OP_UNUSED_94FF.S b/vm/mterp/x86-atom/OP_UNUSED_94FF.S
deleted file mode 100644
index ebae8b71e..000000000
--- a/vm/mterp/x86-atom/OP_UNUSED_94FF.S
+++ /dev/null
@@ -1 +0,0 @@
-%include "x86-atom/unused.S"
diff --git a/vm/mterp/x86-atom/OP_UNUSED_95FF.S b/vm/mterp/x86-atom/OP_UNUSED_95FF.S
deleted file mode 100644
index ebae8b71e..000000000
--- a/vm/mterp/x86-atom/OP_UNUSED_95FF.S
+++ /dev/null
@@ -1 +0,0 @@
-%include "x86-atom/unused.S"
diff --git a/vm/mterp/x86-atom/OP_UNUSED_96FF.S b/vm/mterp/x86-atom/OP_UNUSED_96FF.S
deleted file mode 100644
index ebae8b71e..000000000
--- a/vm/mterp/x86-atom/OP_UNUSED_96FF.S
+++ /dev/null
@@ -1 +0,0 @@
-%include "x86-atom/unused.S"
diff --git a/vm/mterp/x86-atom/OP_UNUSED_97FF.S b/vm/mterp/x86-atom/OP_UNUSED_97FF.S
deleted file mode 100644
index ebae8b71e..000000000
--- a/vm/mterp/x86-atom/OP_UNUSED_97FF.S
+++ /dev/null
@@ -1 +0,0 @@
-%include "x86-atom/unused.S"
diff --git a/vm/mterp/x86-atom/OP_UNUSED_98FF.S b/vm/mterp/x86-atom/OP_UNUSED_98FF.S
deleted file mode 100644
index ebae8b71e..000000000
--- a/vm/mterp/x86-atom/OP_UNUSED_98FF.S
+++ /dev/null
@@ -1 +0,0 @@
-%include "x86-atom/unused.S"
diff --git a/vm/mterp/x86-atom/OP_UNUSED_99FF.S b/vm/mterp/x86-atom/OP_UNUSED_99FF.S
deleted file mode 100644
index ebae8b71e..000000000
--- a/vm/mterp/x86-atom/OP_UNUSED_99FF.S
+++ /dev/null
@@ -1 +0,0 @@
-%include "x86-atom/unused.S"
diff --git a/vm/mterp/x86-atom/OP_UNUSED_9AFF.S b/vm/mterp/x86-atom/OP_UNUSED_9AFF.S
deleted file mode 100644
index ebae8b71e..000000000
--- a/vm/mterp/x86-atom/OP_UNUSED_9AFF.S
+++ /dev/null
@@ -1 +0,0 @@
-%include "x86-atom/unused.S"
diff --git a/vm/mterp/x86-atom/OP_UNUSED_9BFF.S b/vm/mterp/x86-atom/OP_UNUSED_9BFF.S
deleted file mode 100644
index ebae8b71e..000000000
--- a/vm/mterp/x86-atom/OP_UNUSED_9BFF.S
+++ /dev/null
@@ -1 +0,0 @@
-%include "x86-atom/unused.S"
diff --git a/vm/mterp/x86-atom/OP_UNUSED_9CFF.S b/vm/mterp/x86-atom/OP_UNUSED_9CFF.S
deleted file mode 100644
index ebae8b71e..000000000
--- a/vm/mterp/x86-atom/OP_UNUSED_9CFF.S
+++ /dev/null
@@ -1 +0,0 @@
-%include "x86-atom/unused.S"
diff --git a/vm/mterp/x86-atom/OP_UNUSED_9DFF.S b/vm/mterp/x86-atom/OP_UNUSED_9DFF.S
deleted file mode 100644
index ebae8b71e..000000000
--- a/vm/mterp/x86-atom/OP_UNUSED_9DFF.S
+++ /dev/null
@@ -1 +0,0 @@
-%include "x86-atom/unused.S"
diff --git a/vm/mterp/x86-atom/OP_UNUSED_9EFF.S b/vm/mterp/x86-atom/OP_UNUSED_9EFF.S
deleted file mode 100644
index ebae8b71e..000000000
--- a/vm/mterp/x86-atom/OP_UNUSED_9EFF.S
+++ /dev/null
@@ -1 +0,0 @@
-%include "x86-atom/unused.S"
diff --git a/vm/mterp/x86-atom/OP_UNUSED_9FFF.S b/vm/mterp/x86-atom/OP_UNUSED_9FFF.S
deleted file mode 100644
index ebae8b71e..000000000
--- a/vm/mterp/x86-atom/OP_UNUSED_9FFF.S
+++ /dev/null
@@ -1 +0,0 @@
-%include "x86-atom/unused.S"
diff --git a/vm/mterp/x86-atom/OP_UNUSED_A0FF.S b/vm/mterp/x86-atom/OP_UNUSED_A0FF.S
deleted file mode 100644
index ebae8b71e..000000000
--- a/vm/mterp/x86-atom/OP_UNUSED_A0FF.S
+++ /dev/null
@@ -1 +0,0 @@
-%include "x86-atom/unused.S"
diff --git a/vm/mterp/x86-atom/OP_UNUSED_A1FF.S b/vm/mterp/x86-atom/OP_UNUSED_A1FF.S
deleted file mode 100644
index ebae8b71e..000000000
--- a/vm/mterp/x86-atom/OP_UNUSED_A1FF.S
+++ /dev/null
@@ -1 +0,0 @@
-%include "x86-atom/unused.S"
diff --git a/vm/mterp/x86-atom/OP_UNUSED_A2FF.S b/vm/mterp/x86-atom/OP_UNUSED_A2FF.S
deleted file mode 100644
index ebae8b71e..000000000
--- a/vm/mterp/x86-atom/OP_UNUSED_A2FF.S
+++ /dev/null
@@ -1 +0,0 @@
-%include "x86-atom/unused.S"
diff --git a/vm/mterp/x86-atom/OP_UNUSED_A3FF.S b/vm/mterp/x86-atom/OP_UNUSED_A3FF.S
deleted file mode 100644
index ebae8b71e..000000000
--- a/vm/mterp/x86-atom/OP_UNUSED_A3FF.S
+++ /dev/null
@@ -1 +0,0 @@
-%include "x86-atom/unused.S"
diff --git a/vm/mterp/x86-atom/OP_UNUSED_A4FF.S b/vm/mterp/x86-atom/OP_UNUSED_A4FF.S
deleted file mode 100644
index ebae8b71e..000000000
--- a/vm/mterp/x86-atom/OP_UNUSED_A4FF.S
+++ /dev/null
@@ -1 +0,0 @@
-%include "x86-atom/unused.S"
diff --git a/vm/mterp/x86-atom/OP_UNUSED_A5FF.S b/vm/mterp/x86-atom/OP_UNUSED_A5FF.S
deleted file mode 100644
index ebae8b71e..000000000
--- a/vm/mterp/x86-atom/OP_UNUSED_A5FF.S
+++ /dev/null
@@ -1 +0,0 @@
-%include "x86-atom/unused.S"
diff --git a/vm/mterp/x86-atom/OP_UNUSED_A6FF.S b/vm/mterp/x86-atom/OP_UNUSED_A6FF.S
deleted file mode 100644
index ebae8b71e..000000000
--- a/vm/mterp/x86-atom/OP_UNUSED_A6FF.S
+++ /dev/null
@@ -1 +0,0 @@
-%include "x86-atom/unused.S"
diff --git a/vm/mterp/x86-atom/OP_UNUSED_A7FF.S b/vm/mterp/x86-atom/OP_UNUSED_A7FF.S
deleted file mode 100644
index ebae8b71e..000000000
--- a/vm/mterp/x86-atom/OP_UNUSED_A7FF.S
+++ /dev/null
@@ -1 +0,0 @@
-%include "x86-atom/unused.S"
diff --git a/vm/mterp/x86-atom/OP_UNUSED_A8FF.S b/vm/mterp/x86-atom/OP_UNUSED_A8FF.S
deleted file mode 100644
index ebae8b71e..000000000
--- a/vm/mterp/x86-atom/OP_UNUSED_A8FF.S
+++ /dev/null
@@ -1 +0,0 @@
-%include "x86-atom/unused.S"
diff --git a/vm/mterp/x86-atom/OP_UNUSED_A9FF.S b/vm/mterp/x86-atom/OP_UNUSED_A9FF.S
deleted file mode 100644
index ebae8b71e..000000000
--- a/vm/mterp/x86-atom/OP_UNUSED_A9FF.S
+++ /dev/null
@@ -1 +0,0 @@
-%include "x86-atom/unused.S"
diff --git a/vm/mterp/x86-atom/OP_UNUSED_AAFF.S b/vm/mterp/x86-atom/OP_UNUSED_AAFF.S
deleted file mode 100644
index ebae8b71e..000000000
--- a/vm/mterp/x86-atom/OP_UNUSED_AAFF.S
+++ /dev/null
@@ -1 +0,0 @@
-%include "x86-atom/unused.S"
diff --git a/vm/mterp/x86-atom/OP_UNUSED_ABFF.S b/vm/mterp/x86-atom/OP_UNUSED_ABFF.S
deleted file mode 100644
index ebae8b71e..000000000
--- a/vm/mterp/x86-atom/OP_UNUSED_ABFF.S
+++ /dev/null
@@ -1 +0,0 @@
-%include "x86-atom/unused.S"
diff --git a/vm/mterp/x86-atom/OP_UNUSED_ACFF.S b/vm/mterp/x86-atom/OP_UNUSED_ACFF.S
deleted file mode 100644
index ebae8b71e..000000000
--- a/vm/mterp/x86-atom/OP_UNUSED_ACFF.S
+++ /dev/null
@@ -1 +0,0 @@
-%include "x86-atom/unused.S"
diff --git a/vm/mterp/x86-atom/OP_UNUSED_ADFF.S b/vm/mterp/x86-atom/OP_UNUSED_ADFF.S
deleted file mode 100644
index ebae8b71e..000000000
--- a/vm/mterp/x86-atom/OP_UNUSED_ADFF.S
+++ /dev/null
@@ -1 +0,0 @@
-%include "x86-atom/unused.S"
diff --git a/vm/mterp/x86-atom/OP_UNUSED_AEFF.S b/vm/mterp/x86-atom/OP_UNUSED_AEFF.S
deleted file mode 100644
index ebae8b71e..000000000
--- a/vm/mterp/x86-atom/OP_UNUSED_AEFF.S
+++ /dev/null
@@ -1 +0,0 @@
-%include "x86-atom/unused.S"
diff --git a/vm/mterp/x86-atom/OP_UNUSED_AFFF.S b/vm/mterp/x86-atom/OP_UNUSED_AFFF.S
deleted file mode 100644
index ebae8b71e..000000000
--- a/vm/mterp/x86-atom/OP_UNUSED_AFFF.S
+++ /dev/null
@@ -1 +0,0 @@
-%include "x86-atom/unused.S"
diff --git a/vm/mterp/x86-atom/OP_UNUSED_B0FF.S b/vm/mterp/x86-atom/OP_UNUSED_B0FF.S
deleted file mode 100644
index ebae8b71e..000000000
--- a/vm/mterp/x86-atom/OP_UNUSED_B0FF.S
+++ /dev/null
@@ -1 +0,0 @@
-%include "x86-atom/unused.S"
diff --git a/vm/mterp/x86-atom/OP_UNUSED_B1FF.S b/vm/mterp/x86-atom/OP_UNUSED_B1FF.S
deleted file mode 100644
index ebae8b71e..000000000
--- a/vm/mterp/x86-atom/OP_UNUSED_B1FF.S
+++ /dev/null
@@ -1 +0,0 @@
-%include "x86-atom/unused.S"
diff --git a/vm/mterp/x86-atom/OP_UNUSED_B2FF.S b/vm/mterp/x86-atom/OP_UNUSED_B2FF.S
deleted file mode 100644
index ebae8b71e..000000000
--- a/vm/mterp/x86-atom/OP_UNUSED_B2FF.S
+++ /dev/null
@@ -1 +0,0 @@
-%include "x86-atom/unused.S"
diff --git a/vm/mterp/x86-atom/OP_UNUSED_B3FF.S b/vm/mterp/x86-atom/OP_UNUSED_B3FF.S
deleted file mode 100644
index ebae8b71e..000000000
--- a/vm/mterp/x86-atom/OP_UNUSED_B3FF.S
+++ /dev/null
@@ -1 +0,0 @@
-%include "x86-atom/unused.S"
diff --git a/vm/mterp/x86-atom/OP_UNUSED_B4FF.S b/vm/mterp/x86-atom/OP_UNUSED_B4FF.S
deleted file mode 100644
index ebae8b71e..000000000
--- a/vm/mterp/x86-atom/OP_UNUSED_B4FF.S
+++ /dev/null
@@ -1 +0,0 @@
-%include "x86-atom/unused.S"
diff --git a/vm/mterp/x86-atom/OP_UNUSED_B5FF.S b/vm/mterp/x86-atom/OP_UNUSED_B5FF.S
deleted file mode 100644
index ebae8b71e..000000000
--- a/vm/mterp/x86-atom/OP_UNUSED_B5FF.S
+++ /dev/null
@@ -1 +0,0 @@
-%include "x86-atom/unused.S"
diff --git a/vm/mterp/x86-atom/OP_UNUSED_B6FF.S b/vm/mterp/x86-atom/OP_UNUSED_B6FF.S
deleted file mode 100644
index ebae8b71e..000000000
--- a/vm/mterp/x86-atom/OP_UNUSED_B6FF.S
+++ /dev/null
@@ -1 +0,0 @@
-%include "x86-atom/unused.S"
diff --git a/vm/mterp/x86-atom/OP_UNUSED_B7FF.S b/vm/mterp/x86-atom/OP_UNUSED_B7FF.S
deleted file mode 100644
index ebae8b71e..000000000
--- a/vm/mterp/x86-atom/OP_UNUSED_B7FF.S
+++ /dev/null
@@ -1 +0,0 @@
-%include "x86-atom/unused.S"
diff --git a/vm/mterp/x86-atom/OP_UNUSED_B8FF.S b/vm/mterp/x86-atom/OP_UNUSED_B8FF.S
deleted file mode 100644
index ebae8b71e..000000000
--- a/vm/mterp/x86-atom/OP_UNUSED_B8FF.S
+++ /dev/null
@@ -1 +0,0 @@
-%include "x86-atom/unused.S"
diff --git a/vm/mterp/x86-atom/OP_UNUSED_B9FF.S b/vm/mterp/x86-atom/OP_UNUSED_B9FF.S
deleted file mode 100644
index ebae8b71e..000000000
--- a/vm/mterp/x86-atom/OP_UNUSED_B9FF.S
+++ /dev/null
@@ -1 +0,0 @@
-%include "x86-atom/unused.S"
diff --git a/vm/mterp/x86-atom/OP_UNUSED_BAFF.S b/vm/mterp/x86-atom/OP_UNUSED_BAFF.S
deleted file mode 100644
index ebae8b71e..000000000
--- a/vm/mterp/x86-atom/OP_UNUSED_BAFF.S
+++ /dev/null
@@ -1 +0,0 @@
-%include "x86-atom/unused.S"
diff --git a/vm/mterp/x86-atom/OP_UNUSED_BBFF.S b/vm/mterp/x86-atom/OP_UNUSED_BBFF.S
deleted file mode 100644
index ebae8b71e..000000000
--- a/vm/mterp/x86-atom/OP_UNUSED_BBFF.S
+++ /dev/null
@@ -1 +0,0 @@
-%include "x86-atom/unused.S"
diff --git a/vm/mterp/x86-atom/OP_UNUSED_BCFF.S b/vm/mterp/x86-atom/OP_UNUSED_BCFF.S
deleted file mode 100644
index ebae8b71e..000000000
--- a/vm/mterp/x86-atom/OP_UNUSED_BCFF.S
+++ /dev/null
@@ -1 +0,0 @@
-%include "x86-atom/unused.S"
diff --git a/vm/mterp/x86-atom/OP_UNUSED_BDFF.S b/vm/mterp/x86-atom/OP_UNUSED_BDFF.S
deleted file mode 100644
index ebae8b71e..000000000
--- a/vm/mterp/x86-atom/OP_UNUSED_BDFF.S
+++ /dev/null
@@ -1 +0,0 @@
-%include "x86-atom/unused.S"
diff --git a/vm/mterp/x86-atom/OP_UNUSED_BEFF.S b/vm/mterp/x86-atom/OP_UNUSED_BEFF.S
deleted file mode 100644
index ebae8b71e..000000000
--- a/vm/mterp/x86-atom/OP_UNUSED_BEFF.S
+++ /dev/null
@@ -1 +0,0 @@
-%include "x86-atom/unused.S"
diff --git a/vm/mterp/x86-atom/OP_UNUSED_BFFF.S b/vm/mterp/x86-atom/OP_UNUSED_BFFF.S
deleted file mode 100644
index ebae8b71e..000000000
--- a/vm/mterp/x86-atom/OP_UNUSED_BFFF.S
+++ /dev/null
@@ -1 +0,0 @@
-%include "x86-atom/unused.S"
diff --git a/vm/mterp/x86-atom/OP_UNUSED_C0FF.S b/vm/mterp/x86-atom/OP_UNUSED_C0FF.S
deleted file mode 100644
index ebae8b71e..000000000
--- a/vm/mterp/x86-atom/OP_UNUSED_C0FF.S
+++ /dev/null
@@ -1 +0,0 @@
-%include "x86-atom/unused.S"
diff --git a/vm/mterp/x86-atom/OP_UNUSED_C1FF.S b/vm/mterp/x86-atom/OP_UNUSED_C1FF.S
deleted file mode 100644
index ebae8b71e..000000000
--- a/vm/mterp/x86-atom/OP_UNUSED_C1FF.S
+++ /dev/null
@@ -1 +0,0 @@
-%include "x86-atom/unused.S"
diff --git a/vm/mterp/x86-atom/OP_UNUSED_C2FF.S b/vm/mterp/x86-atom/OP_UNUSED_C2FF.S
deleted file mode 100644
index ebae8b71e..000000000
--- a/vm/mterp/x86-atom/OP_UNUSED_C2FF.S
+++ /dev/null
@@ -1 +0,0 @@
-%include "x86-atom/unused.S"
diff --git a/vm/mterp/x86-atom/OP_UNUSED_C3FF.S b/vm/mterp/x86-atom/OP_UNUSED_C3FF.S
deleted file mode 100644
index ebae8b71e..000000000
--- a/vm/mterp/x86-atom/OP_UNUSED_C3FF.S
+++ /dev/null
@@ -1 +0,0 @@
-%include "x86-atom/unused.S"
diff --git a/vm/mterp/x86-atom/OP_UNUSED_C4FF.S b/vm/mterp/x86-atom/OP_UNUSED_C4FF.S
deleted file mode 100644
index ebae8b71e..000000000
--- a/vm/mterp/x86-atom/OP_UNUSED_C4FF.S
+++ /dev/null
@@ -1 +0,0 @@
-%include "x86-atom/unused.S"
diff --git a/vm/mterp/x86-atom/OP_UNUSED_C5FF.S b/vm/mterp/x86-atom/OP_UNUSED_C5FF.S
deleted file mode 100644
index ebae8b71e..000000000
--- a/vm/mterp/x86-atom/OP_UNUSED_C5FF.S
+++ /dev/null
@@ -1 +0,0 @@
-%include "x86-atom/unused.S"
diff --git a/vm/mterp/x86-atom/OP_UNUSED_C6FF.S b/vm/mterp/x86-atom/OP_UNUSED_C6FF.S
deleted file mode 100644
index ebae8b71e..000000000
--- a/vm/mterp/x86-atom/OP_UNUSED_C6FF.S
+++ /dev/null
@@ -1 +0,0 @@
-%include "x86-atom/unused.S"
diff --git a/vm/mterp/x86-atom/OP_UNUSED_C7FF.S b/vm/mterp/x86-atom/OP_UNUSED_C7FF.S
deleted file mode 100644
index ebae8b71e..000000000
--- a/vm/mterp/x86-atom/OP_UNUSED_C7FF.S
+++ /dev/null
@@ -1 +0,0 @@
-%include "x86-atom/unused.S"
diff --git a/vm/mterp/x86-atom/OP_UNUSED_C8FF.S b/vm/mterp/x86-atom/OP_UNUSED_C8FF.S
deleted file mode 100644
index ebae8b71e..000000000
--- a/vm/mterp/x86-atom/OP_UNUSED_C8FF.S
+++ /dev/null
@@ -1 +0,0 @@
-%include "x86-atom/unused.S"
diff --git a/vm/mterp/x86-atom/OP_UNUSED_C9FF.S b/vm/mterp/x86-atom/OP_UNUSED_C9FF.S
deleted file mode 100644
index ebae8b71e..000000000
--- a/vm/mterp/x86-atom/OP_UNUSED_C9FF.S
+++ /dev/null
@@ -1 +0,0 @@
-%include "x86-atom/unused.S"
diff --git a/vm/mterp/x86-atom/OP_UNUSED_CAFF.S b/vm/mterp/x86-atom/OP_UNUSED_CAFF.S
deleted file mode 100644
index ebae8b71e..000000000
--- a/vm/mterp/x86-atom/OP_UNUSED_CAFF.S
+++ /dev/null
@@ -1 +0,0 @@
-%include "x86-atom/unused.S"
diff --git a/vm/mterp/x86-atom/OP_UNUSED_CBFF.S b/vm/mterp/x86-atom/OP_UNUSED_CBFF.S
deleted file mode 100644
index ebae8b71e..000000000
--- a/vm/mterp/x86-atom/OP_UNUSED_CBFF.S
+++ /dev/null
@@ -1 +0,0 @@
-%include "x86-atom/unused.S"
diff --git a/vm/mterp/x86-atom/OP_UNUSED_CCFF.S b/vm/mterp/x86-atom/OP_UNUSED_CCFF.S
deleted file mode 100644
index ebae8b71e..000000000
--- a/vm/mterp/x86-atom/OP_UNUSED_CCFF.S
+++ /dev/null
@@ -1 +0,0 @@
-%include "x86-atom/unused.S"
diff --git a/vm/mterp/x86-atom/OP_UNUSED_CDFF.S b/vm/mterp/x86-atom/OP_UNUSED_CDFF.S
deleted file mode 100644
index ebae8b71e..000000000
--- a/vm/mterp/x86-atom/OP_UNUSED_CDFF.S
+++ /dev/null
@@ -1 +0,0 @@
-%include "x86-atom/unused.S"
diff --git a/vm/mterp/x86-atom/OP_UNUSED_CEFF.S b/vm/mterp/x86-atom/OP_UNUSED_CEFF.S
deleted file mode 100644
index ebae8b71e..000000000
--- a/vm/mterp/x86-atom/OP_UNUSED_CEFF.S
+++ /dev/null
@@ -1 +0,0 @@
-%include "x86-atom/unused.S"
diff --git a/vm/mterp/x86-atom/OP_UNUSED_CFFF.S b/vm/mterp/x86-atom/OP_UNUSED_CFFF.S
deleted file mode 100644
index ebae8b71e..000000000
--- a/vm/mterp/x86-atom/OP_UNUSED_CFFF.S
+++ /dev/null
@@ -1 +0,0 @@
-%include "x86-atom/unused.S"
diff --git a/vm/mterp/x86-atom/OP_UNUSED_D0FF.S b/vm/mterp/x86-atom/OP_UNUSED_D0FF.S
deleted file mode 100644
index ebae8b71e..000000000
--- a/vm/mterp/x86-atom/OP_UNUSED_D0FF.S
+++ /dev/null
@@ -1 +0,0 @@
-%include "x86-atom/unused.S"
diff --git a/vm/mterp/x86-atom/OP_UNUSED_D1FF.S b/vm/mterp/x86-atom/OP_UNUSED_D1FF.S
deleted file mode 100644
index ebae8b71e..000000000
--- a/vm/mterp/x86-atom/OP_UNUSED_D1FF.S
+++ /dev/null
@@ -1 +0,0 @@
-%include "x86-atom/unused.S"
diff --git a/vm/mterp/x86-atom/OP_UNUSED_D2FF.S b/vm/mterp/x86-atom/OP_UNUSED_D2FF.S
deleted file mode 100644
index ebae8b71e..000000000
--- a/vm/mterp/x86-atom/OP_UNUSED_D2FF.S
+++ /dev/null
@@ -1 +0,0 @@
-%include "x86-atom/unused.S"
diff --git a/vm/mterp/x86-atom/OP_UNUSED_D3FF.S b/vm/mterp/x86-atom/OP_UNUSED_D3FF.S
deleted file mode 100644
index ebae8b71e..000000000
--- a/vm/mterp/x86-atom/OP_UNUSED_D3FF.S
+++ /dev/null
@@ -1 +0,0 @@
-%include "x86-atom/unused.S"
diff --git a/vm/mterp/x86-atom/OP_UNUSED_D4FF.S b/vm/mterp/x86-atom/OP_UNUSED_D4FF.S
deleted file mode 100644
index ebae8b71e..000000000
--- a/vm/mterp/x86-atom/OP_UNUSED_D4FF.S
+++ /dev/null
@@ -1 +0,0 @@
-%include "x86-atom/unused.S"
diff --git a/vm/mterp/x86-atom/OP_UNUSED_D5FF.S b/vm/mterp/x86-atom/OP_UNUSED_D5FF.S
deleted file mode 100644
index ebae8b71e..000000000
--- a/vm/mterp/x86-atom/OP_UNUSED_D5FF.S
+++ /dev/null
@@ -1 +0,0 @@
-%include "x86-atom/unused.S"
diff --git a/vm/mterp/x86-atom/OP_UNUSED_D6FF.S b/vm/mterp/x86-atom/OP_UNUSED_D6FF.S
deleted file mode 100644
index ebae8b71e..000000000
--- a/vm/mterp/x86-atom/OP_UNUSED_D6FF.S
+++ /dev/null
@@ -1 +0,0 @@
-%include "x86-atom/unused.S"
diff --git a/vm/mterp/x86-atom/OP_UNUSED_D7FF.S b/vm/mterp/x86-atom/OP_UNUSED_D7FF.S
deleted file mode 100644
index ebae8b71e..000000000
--- a/vm/mterp/x86-atom/OP_UNUSED_D7FF.S
+++ /dev/null
@@ -1 +0,0 @@
-%include "x86-atom/unused.S"
diff --git a/vm/mterp/x86-atom/OP_UNUSED_D8FF.S b/vm/mterp/x86-atom/OP_UNUSED_D8FF.S
deleted file mode 100644
index ebae8b71e..000000000
--- a/vm/mterp/x86-atom/OP_UNUSED_D8FF.S
+++ /dev/null
@@ -1 +0,0 @@
-%include "x86-atom/unused.S"
diff --git a/vm/mterp/x86-atom/OP_UNUSED_D9FF.S b/vm/mterp/x86-atom/OP_UNUSED_D9FF.S
deleted file mode 100644
index ebae8b71e..000000000
--- a/vm/mterp/x86-atom/OP_UNUSED_D9FF.S
+++ /dev/null
@@ -1 +0,0 @@
-%include "x86-atom/unused.S"
diff --git a/vm/mterp/x86-atom/OP_UNUSED_DAFF.S b/vm/mterp/x86-atom/OP_UNUSED_DAFF.S
deleted file mode 100644
index ebae8b71e..000000000
--- a/vm/mterp/x86-atom/OP_UNUSED_DAFF.S
+++ /dev/null
@@ -1 +0,0 @@
-%include "x86-atom/unused.S"
diff --git a/vm/mterp/x86-atom/OP_UNUSED_DBFF.S b/vm/mterp/x86-atom/OP_UNUSED_DBFF.S
deleted file mode 100644
index ebae8b71e..000000000
--- a/vm/mterp/x86-atom/OP_UNUSED_DBFF.S
+++ /dev/null
@@ -1 +0,0 @@
-%include "x86-atom/unused.S"
diff --git a/vm/mterp/x86-atom/OP_UNUSED_DCFF.S b/vm/mterp/x86-atom/OP_UNUSED_DCFF.S
deleted file mode 100644
index ebae8b71e..000000000
--- a/vm/mterp/x86-atom/OP_UNUSED_DCFF.S
+++ /dev/null
@@ -1 +0,0 @@
-%include "x86-atom/unused.S"
diff --git a/vm/mterp/x86-atom/OP_UNUSED_DDFF.S b/vm/mterp/x86-atom/OP_UNUSED_DDFF.S
deleted file mode 100644
index ebae8b71e..000000000
--- a/vm/mterp/x86-atom/OP_UNUSED_DDFF.S
+++ /dev/null
@@ -1 +0,0 @@
-%include "x86-atom/unused.S"
diff --git a/vm/mterp/x86-atom/OP_UNUSED_DEFF.S b/vm/mterp/x86-atom/OP_UNUSED_DEFF.S
deleted file mode 100644
index ebae8b71e..000000000
--- a/vm/mterp/x86-atom/OP_UNUSED_DEFF.S
+++ /dev/null
@@ -1 +0,0 @@
-%include "x86-atom/unused.S"
diff --git a/vm/mterp/x86-atom/OP_UNUSED_DFFF.S b/vm/mterp/x86-atom/OP_UNUSED_DFFF.S
deleted file mode 100644
index ebae8b71e..000000000
--- a/vm/mterp/x86-atom/OP_UNUSED_DFFF.S
+++ /dev/null
@@ -1 +0,0 @@
-%include "x86-atom/unused.S"
diff --git a/vm/mterp/x86-atom/OP_UNUSED_E0FF.S b/vm/mterp/x86-atom/OP_UNUSED_E0FF.S
deleted file mode 100644
index ebae8b71e..000000000
--- a/vm/mterp/x86-atom/OP_UNUSED_E0FF.S
+++ /dev/null
@@ -1 +0,0 @@
-%include "x86-atom/unused.S"
diff --git a/vm/mterp/x86-atom/OP_UNUSED_E1FF.S b/vm/mterp/x86-atom/OP_UNUSED_E1FF.S
deleted file mode 100644
index ebae8b71e..000000000
--- a/vm/mterp/x86-atom/OP_UNUSED_E1FF.S
+++ /dev/null
@@ -1 +0,0 @@
-%include "x86-atom/unused.S"
diff --git a/vm/mterp/x86-atom/OP_UNUSED_E2FF.S b/vm/mterp/x86-atom/OP_UNUSED_E2FF.S
deleted file mode 100644
index ebae8b71e..000000000
--- a/vm/mterp/x86-atom/OP_UNUSED_E2FF.S
+++ /dev/null
@@ -1 +0,0 @@
-%include "x86-atom/unused.S"
diff --git a/vm/mterp/x86-atom/OP_UNUSED_E3FF.S b/vm/mterp/x86-atom/OP_UNUSED_E3FF.S
deleted file mode 100644
index ebae8b71e..000000000
--- a/vm/mterp/x86-atom/OP_UNUSED_E3FF.S
+++ /dev/null
@@ -1 +0,0 @@
-%include "x86-atom/unused.S"
diff --git a/vm/mterp/x86-atom/OP_UNUSED_E4FF.S b/vm/mterp/x86-atom/OP_UNUSED_E4FF.S
deleted file mode 100644
index ebae8b71e..000000000
--- a/vm/mterp/x86-atom/OP_UNUSED_E4FF.S
+++ /dev/null
@@ -1 +0,0 @@
-%include "x86-atom/unused.S"
diff --git a/vm/mterp/x86-atom/OP_UNUSED_E5FF.S b/vm/mterp/x86-atom/OP_UNUSED_E5FF.S
deleted file mode 100644
index ebae8b71e..000000000
--- a/vm/mterp/x86-atom/OP_UNUSED_E5FF.S
+++ /dev/null
@@ -1 +0,0 @@
-%include "x86-atom/unused.S"
diff --git a/vm/mterp/x86-atom/OP_UNUSED_E6FF.S b/vm/mterp/x86-atom/OP_UNUSED_E6FF.S
deleted file mode 100644
index ebae8b71e..000000000
--- a/vm/mterp/x86-atom/OP_UNUSED_E6FF.S
+++ /dev/null
@@ -1 +0,0 @@
-%include "x86-atom/unused.S"
diff --git a/vm/mterp/x86-atom/OP_UNUSED_E7FF.S b/vm/mterp/x86-atom/OP_UNUSED_E7FF.S
deleted file mode 100644
index ebae8b71e..000000000
--- a/vm/mterp/x86-atom/OP_UNUSED_E7FF.S
+++ /dev/null
@@ -1 +0,0 @@
-%include "x86-atom/unused.S"
diff --git a/vm/mterp/x86-atom/OP_UNUSED_E8FF.S b/vm/mterp/x86-atom/OP_UNUSED_E8FF.S
deleted file mode 100644
index ebae8b71e..000000000
--- a/vm/mterp/x86-atom/OP_UNUSED_E8FF.S
+++ /dev/null
@@ -1 +0,0 @@
-%include "x86-atom/unused.S"
diff --git a/vm/mterp/x86-atom/OP_UNUSED_E9FF.S b/vm/mterp/x86-atom/OP_UNUSED_E9FF.S
deleted file mode 100644
index ebae8b71e..000000000
--- a/vm/mterp/x86-atom/OP_UNUSED_E9FF.S
+++ /dev/null
@@ -1 +0,0 @@
-%include "x86-atom/unused.S"
diff --git a/vm/mterp/x86-atom/OP_UNUSED_EAFF.S b/vm/mterp/x86-atom/OP_UNUSED_EAFF.S
deleted file mode 100644
index ebae8b71e..000000000
--- a/vm/mterp/x86-atom/OP_UNUSED_EAFF.S
+++ /dev/null
@@ -1 +0,0 @@
-%include "x86-atom/unused.S"
diff --git a/vm/mterp/x86-atom/OP_UNUSED_EBFF.S b/vm/mterp/x86-atom/OP_UNUSED_EBFF.S
deleted file mode 100644
index ebae8b71e..000000000
--- a/vm/mterp/x86-atom/OP_UNUSED_EBFF.S
+++ /dev/null
@@ -1 +0,0 @@
-%include "x86-atom/unused.S"
diff --git a/vm/mterp/x86-atom/OP_UNUSED_ECFF.S b/vm/mterp/x86-atom/OP_UNUSED_ECFF.S
deleted file mode 100644
index ebae8b71e..000000000
--- a/vm/mterp/x86-atom/OP_UNUSED_ECFF.S
+++ /dev/null
@@ -1 +0,0 @@
-%include "x86-atom/unused.S"
diff --git a/vm/mterp/x86-atom/OP_UNUSED_EDFF.S b/vm/mterp/x86-atom/OP_UNUSED_EDFF.S
deleted file mode 100644
index ebae8b71e..000000000
--- a/vm/mterp/x86-atom/OP_UNUSED_EDFF.S
+++ /dev/null
@@ -1 +0,0 @@
-%include "x86-atom/unused.S"
diff --git a/vm/mterp/x86-atom/OP_UNUSED_EEFF.S b/vm/mterp/x86-atom/OP_UNUSED_EEFF.S
deleted file mode 100644
index ebae8b71e..000000000
--- a/vm/mterp/x86-atom/OP_UNUSED_EEFF.S
+++ /dev/null
@@ -1 +0,0 @@
-%include "x86-atom/unused.S"
diff --git a/vm/mterp/x86-atom/OP_UNUSED_EFFF.S b/vm/mterp/x86-atom/OP_UNUSED_EFFF.S
deleted file mode 100644
index ebae8b71e..000000000
--- a/vm/mterp/x86-atom/OP_UNUSED_EFFF.S
+++ /dev/null
@@ -1 +0,0 @@
-%include "x86-atom/unused.S"
diff --git a/vm/mterp/x86-atom/OP_UNUSED_F0FF.S b/vm/mterp/x86-atom/OP_UNUSED_F0FF.S
deleted file mode 100644
index ebae8b71e..000000000
--- a/vm/mterp/x86-atom/OP_UNUSED_F0FF.S
+++ /dev/null
@@ -1 +0,0 @@
-%include "x86-atom/unused.S"
diff --git a/vm/mterp/x86-atom/OP_UNUSED_F1FF.S b/vm/mterp/x86-atom/OP_UNUSED_F1FF.S
deleted file mode 100644
index ebae8b71e..000000000
--- a/vm/mterp/x86-atom/OP_UNUSED_F1FF.S
+++ /dev/null
@@ -1 +0,0 @@
-%include "x86-atom/unused.S"
diff --git a/vm/mterp/x86-atom/OP_DISPATCH_FF.S b/vm/mterp/x86-atom/OP_UNUSED_FF.S
index 3c1c9f553..e6acc08b2 100644
--- a/vm/mterp/x86-atom/OP_DISPATCH_FF.S
+++ b/vm/mterp/x86-atom/OP_UNUSED_FF.S
@@ -13,8 +13,4 @@
* limitations under the License.
*/
- /*
- * File: OP_DISPATCH_FF.S
- */
-
%include "x86-atom/unused.S"
diff --git a/vm/mterp/x86-atom/TODO.txt b/vm/mterp/x86-atom/TODO.txt
index 228d3e2c9..4dfa06b1d 100644
--- a/vm/mterp/x86-atom/TODO.txt
+++ b/vm/mterp/x86-atom/TODO.txt
@@ -5,8 +5,6 @@ Items requiring attention:
additional argument now)
(hi) WITH_DEBUGGER and WITH_PROFILER are no longer defined (but are
assumed to be enabled)
-(hi) Implement OP_DISPATCH_FF for real. (Right now it's treated as
- an unused instruction.)
(hi) Rename dvmJitGetCodeAddr to dvmJitGetTraceAddr.
(hi) Remove references to rGLUE and replace with rSELF
(hi) Rework interpreter to co-exist the new switching model which
@@ -17,8 +15,6 @@ Items requiring attention:
debuggers.
(hi) Set self->debugIsMethodEntry in invoke code.
-(md) Add implementations for jumbo opcodes (40 instructions) and
- their volatile variants (13 instructions)
(md) Correct OP_MONITOR_EXIT (need to adjust PC before throw)
(md) OP_THROW needs to export the PC
(md) Use dvmThrowArrayIndexOutOfBoundsException(length, index) for
diff --git a/vm/mterp/x86-atom/entry.S b/vm/mterp/x86-atom/entry.S
index 38bf74275..e68e49e75 100644
--- a/vm/mterp/x86-atom/entry.S
+++ b/vm/mterp/x86-atom/entry.S
@@ -381,4 +381,4 @@ dvmAsmInstructionJmpTable = .LdvmAsmInstructionJmpTable
.long .L_OP_IPUT_OBJECT_VOLATILE
.long .L_OP_SGET_OBJECT_VOLATILE
.long .L_OP_SPUT_OBJECT_VOLATILE
-.long .L_OP_DISPATCH_FF
+.long .L_OP_UNUSED_FF
diff --git a/vm/mterp/x86/ALT_OP_DISPATCH_FF.S b/vm/mterp/x86/ALT_OP_DISPATCH_FF.S
deleted file mode 100644
index 948ff8799..000000000
--- a/vm/mterp/x86/ALT_OP_DISPATCH_FF.S
+++ /dev/null
@@ -1,8 +0,0 @@
-%verify "executed"
-/*
- * Unlike other alt stubs, we don't want to call dvmCheckBefore() here.
- * Instead, just treat this as a trampoline to reach the real alt
- * handler (which will do the dvmCheckBefore() call.
- */
- leal 256(rINST),%ecx
- GOTO_NEXT_JUMBO_R %ecx
diff --git a/vm/mterp/x86/OP_CHECK_CAST_JUMBO.S b/vm/mterp/x86/OP_CHECK_CAST_JUMBO.S
deleted file mode 100644
index bf99bd7cf..000000000
--- a/vm/mterp/x86/OP_CHECK_CAST_JUMBO.S
+++ /dev/null
@@ -1,77 +0,0 @@
-%verify "executed"
-%verify "null object"
-%verify "class cast exception thrown, with correct class name"
-%verify "class cast exception not thrown on same class"
-%verify "class cast exception not thrown on subclass"
-%verify "class not resolved"
-%verify "class already resolved"
- /*
- * Check to see if a cast from one class to another is allowed.
- */
- /* check-cast/jumbo vBBBB, class@AAAAAAAA */
- movl rSELF,%ecx
- GET_VREG_R rINST,rINST # rINST<- vBBBB (object)
- movl 2(rPC),%eax # eax<- AAAAAAAA
- movl offThread_methodClassDex(%ecx),%ecx # ecx<- pDvmDex
- testl rINST,rINST # is oject null?
- movl offDvmDex_pResClasses(%ecx),%ecx # ecx<- pDvmDex->pResClasses
- je .L${opcode}_okay # null obj, cast always succeeds
- movl (%ecx,%eax,4),%eax # eax<- resolved class
- movl offObject_clazz(rINST),%ecx # ecx<- obj->clazz
- testl %eax,%eax # have we resolved this before?
- je .L${opcode}_resolve # no, go do it now
-.L${opcode}_resolved:
- cmpl %eax,%ecx # same class (trivial success)?
- jne .L${opcode}_fullcheck # no, do full check
-.L${opcode}_okay:
- FETCH_INST_OPCODE 4 %ecx
- ADVANCE_PC 4
- GOTO_NEXT_R %ecx
-
- /*
- * Trivial test failed, need to perform full check. This is common.
- * ecx holds obj->clazz
- * eax holds class resolved from AAAAAAAA
- * rINST holds object
- */
-.L${opcode}_fullcheck:
- movl %eax,sReg0 # we'll need the desired class on failure
- movl %eax,OUT_ARG1(%esp)
- movl %ecx,OUT_ARG0(%esp)
- SPILL(rIBASE)
- call dvmInstanceofNonTrivial # eax<- boolean result
- UNSPILL(rIBASE)
- testl %eax,%eax # failed?
- jne .L${opcode}_okay # no, success
-
- # A cast has failed. We need to throw a ClassCastException.
- EXPORT_PC
- movl offObject_clazz(rINST),%eax
- movl %eax,OUT_ARG0(%esp) # arg0<- obj->clazz
- movl sReg0,%ecx
- movl %ecx,OUT_ARG1(%esp) # arg1<- desired class
- call dvmThrowClassCastException
- jmp common_exceptionThrown
-
- /*
- * Resolution required. This is the least-likely path, and we're
- * going to have to recreate some data.
- *
- * rINST holds object
- */
-.L${opcode}_resolve:
- movl rSELF,%ecx
- EXPORT_PC
- movl 2(rPC),%eax # eax<- AAAAAAAA
- movl offThread_method(%ecx),%ecx # ecx<- self->method
- movl %eax,OUT_ARG1(%esp) # arg1<- AAAAAAAA
- movl offMethod_clazz(%ecx),%ecx # ecx<- metho->clazz
- movl $$0,OUT_ARG2(%esp) # arg2<- false
- movl %ecx,OUT_ARG0(%esp) # arg0<- method->clazz
- SPILL(rIBASE)
- call dvmResolveClass # eax<- resolved ClassObject ptr
- UNSPILL(rIBASE)
- testl %eax,%eax # got null?
- je common_exceptionThrown # yes, handle exception
- movl offObject_clazz(rINST),%ecx # ecx<- obj->clazz
- jmp .L${opcode}_resolved # pick up where we left off
diff --git a/vm/mterp/x86/OP_CONST_CLASS_JUMBO.S b/vm/mterp/x86/OP_CONST_CLASS_JUMBO.S
deleted file mode 100644
index ce6482378..000000000
--- a/vm/mterp/x86/OP_CONST_CLASS_JUMBO.S
+++ /dev/null
@@ -1,36 +0,0 @@
-%verify "Class already resolved"
-%verify "Class not yet resolved"
-%verify "Class cannot be resolved"
- /* const-class/jumbo vBBBB, Class@AAAAAAAA */
- movl rSELF,%ecx
- movl 2(rPC),%eax # eax<- AAAAAAAA
- movl offThread_methodClassDex(%ecx),%ecx# ecx<- self->methodClassDex
- movl offDvmDex_pResClasses(%ecx),%ecx # ecx<- dvmDex->pResClasses
- movl (%ecx,%eax,4),%eax # eax<- rResClasses[AAAAAAAA]
- FETCH_INST_OPCODE 4 %ecx
- testl %eax,%eax # resolved yet?
- je .L${opcode}_resolve
- SET_VREG %eax rINST # vBBBB<- rResClasses[AAAAAAAA]
- ADVANCE_PC 4
- GOTO_NEXT_R %ecx
-
-/* This is the less common path, so we'll redo some work
- here rather than force spills on the common path */
-.L${opcode}_resolve:
- movl rSELF,%eax
- EXPORT_PC
- movl offThread_method(%eax),%eax # eax<- self->method
- movl $$1,OUT_ARG2(%esp) # true
- movl 2(rPC),%ecx # ecx<- AAAAAAAA
- movl offMethod_clazz(%eax),%eax
- movl %ecx,OUT_ARG1(%esp)
- movl %eax,OUT_ARG0(%esp)
- SPILL(rIBASE)
- call dvmResolveClass # go resolve
- UNSPILL(rIBASE)
- testl %eax,%eax # failed?
- je common_exceptionThrown
- FETCH_INST_OPCODE 4 %ecx
- SET_VREG %eax rINST
- ADVANCE_PC 4
- GOTO_NEXT_R %ecx
diff --git a/vm/mterp/x86/OP_DISPATCH_FF.S b/vm/mterp/x86/OP_DISPATCH_FF.S
deleted file mode 100644
index fbd5a3d08..000000000
--- a/vm/mterp/x86/OP_DISPATCH_FF.S
+++ /dev/null
@@ -1,3 +0,0 @@
-%verify "executed"
- leal 256(rINST),%ecx
- GOTO_NEXT_JUMBO_R %ecx
diff --git a/vm/mterp/x86/OP_FILLED_NEW_ARRAY_JUMBO.S b/vm/mterp/x86/OP_FILLED_NEW_ARRAY_JUMBO.S
deleted file mode 100644
index 80f2b38d6..000000000
--- a/vm/mterp/x86/OP_FILLED_NEW_ARRAY_JUMBO.S
+++ /dev/null
@@ -1,100 +0,0 @@
-%verify "executed"
-%verify "unimplemented array type"
- /*
- * Create a new array with elements filled from registers.
- */
- /* filled-new-array/jumbo {vCCCC..v(CCCC+BBBB-1)}, type@AAAAAAAA */
- movl rSELF,%eax
- movl offThread_methodClassDex(%eax),%eax # eax<- pDvmDex
- movl 2(rPC),%ecx # ecx<- AAAAAAAA
- movl offDvmDex_pResClasses(%eax),%eax # eax<- pDvmDex->pResClasses
- movl (%eax,%ecx,4),%eax # eax<- resolved class
- EXPORT_PC
- testl %eax,%eax # already resolved?
- jne .L${opcode}_continue # yes, continue
- # less frequent path, so we'll redo some work
- movl rSELF,%eax
- movl $$0,OUT_ARG2(%esp) # arg2<- false
- movl %ecx,OUT_ARG1(%esp) # arg1<- AAAAAAAA
- movl offThread_method(%eax),%eax # eax<- self->method
- movl offMethod_clazz(%eax),%eax # eax<- method->clazz
- movl %eax,OUT_ARG0(%esp) # arg0<- clazz
- SPILL(rIBASE)
- call dvmResolveClass # eax<- call(clazz,ref,flag)
- UNSPILL(rIBASE)
- testl %eax,%eax # null?
- je common_exceptionThrown # yes, handle it
-
- # note: fall through to .L${opcode}_continue
-
- /*
- * On entry:
- * eax holds array class [r0]
- * ecx is scratch
- */
-.L${opcode}_continue:
- movl offClassObject_descriptor(%eax),%ecx # ecx<- arrayClass->descriptor
- movl $$ALLOC_DONT_TRACK,OUT_ARG2(%esp) # arg2<- flags
- movzbl 1(%ecx),%ecx # ecx<- descriptor[1]
- movl %eax,OUT_ARG0(%esp) # arg0<- arrayClass
- movl rSELF,%eax
- cmpb $$'I',%cl # supported?
- je 1f
- cmpb $$'L',%cl
- je 1f
- cmpb $$'[',%cl
- jne .L${opcode}_notimpl # no, not handled yet
-1:
- movl %ecx,offThread_retval+4(%eax) # save type
- movl rINST,OUT_ARG1(%esp) # arg1<- BBBB (length)
- SPILL(rIBASE)
- call dvmAllocArrayByClass # eax<- call(arrayClass, length, flags)
- UNSPILL(rIBASE)
- movl rSELF,%ecx
- testl %eax,%eax # alloc successful?
- je common_exceptionThrown # no, handle exception
- movl %eax,offThread_retval(%ecx) # retval.l<- new array
- movzwl 8(rPC),%ecx # ecx<- CCCC
- leal offArrayObject_contents(%eax),%eax # eax<- newArray->contents
-
-/* at this point:
- * eax is pointer to tgt
- * rINST is length
- * ecx is CCCC
- * We now need to copy values from registers into the array
- */
-
- # set up src pointer
- SPILL_TMP2(%esi)
- SPILL_TMP3(%edi)
- leal (rFP,%ecx,4),%esi # set up src ptr
- movl %eax,%edi # set up dst ptr
- movl rINST,%ecx # load count register
- rep
- movsd
- UNSPILL_TMP2(%esi)
- UNSPILL_TMP3(%edi)
- movl rSELF,%ecx
- movl offThread_retval+4(%ecx),%eax # eax<- type
-
- cmpb $$'I',%al # Int array?
- je 5f # skip card mark if so
- movl offThread_retval(%ecx),%eax # eax<- object head
- movl offThread_cardTable(%ecx),%ecx # card table base
- shrl $$GC_CARD_SHIFT,%eax # convert to card num
- movb %cl,(%ecx,%eax) # mark card based on object head
-5:
- FETCH_INST_OPCODE 5 %ecx
- ADVANCE_PC 5
- GOTO_NEXT_R %ecx
-
-
- /*
- * Throw an exception indicating that we have not implemented this
- * mode of filled-new-array.
- */
-.L${opcode}_notimpl:
- movl $$.LstrFilledNewArrayNotImplA,%eax
- movl %eax,OUT_ARG0(%esp)
- call dvmThrowInternalError
- jmp common_exceptionThrown
diff --git a/vm/mterp/x86/OP_IGET_BOOLEAN_JUMBO.S b/vm/mterp/x86/OP_IGET_BOOLEAN_JUMBO.S
deleted file mode 100644
index 726fa3ee6..000000000
--- a/vm/mterp/x86/OP_IGET_BOOLEAN_JUMBO.S
+++ /dev/null
@@ -1,2 +0,0 @@
-%verify "executed"
-%include "x86/OP_IGET_JUMBO.S" { "load":"movzbl", "sqnum":"1" }
diff --git a/vm/mterp/x86/OP_IGET_BYTE_JUMBO.S b/vm/mterp/x86/OP_IGET_BYTE_JUMBO.S
deleted file mode 100644
index 88c3dfdd5..000000000
--- a/vm/mterp/x86/OP_IGET_BYTE_JUMBO.S
+++ /dev/null
@@ -1,3 +0,0 @@
-%verify "executed"
-%verify "negative value is sign-extended"
-%include "x86/OP_IGET_JUMBO.S" { "load":"movsbl", "sqnum":"2" }
diff --git a/vm/mterp/x86/OP_IGET_CHAR_JUMBO.S b/vm/mterp/x86/OP_IGET_CHAR_JUMBO.S
deleted file mode 100644
index f654d77a2..000000000
--- a/vm/mterp/x86/OP_IGET_CHAR_JUMBO.S
+++ /dev/null
@@ -1,3 +0,0 @@
-%verify "executed"
-%verify "large values are not sign-extended"
-%include "x86/OP_IGET_JUMBO.S" { "load":"movzwl", "sqnum":"3" }
diff --git a/vm/mterp/x86/OP_IGET_JUMBO.S b/vm/mterp/x86/OP_IGET_JUMBO.S
deleted file mode 100644
index da88f65ac..000000000
--- a/vm/mterp/x86/OP_IGET_JUMBO.S
+++ /dev/null
@@ -1,52 +0,0 @@
-%default { "load":"movl", "sqnum":"0" }
-%verify "executed"
-%verify "null object"
-%verify "field already resolved"
-%verify "field not yet resolved"
-%verify "field cannot be resolved"
- /*
- * Jumbo 32-bit instance field get.
- *
- * for: iget/jumbo, iget-object/jumbo, iget-boolean/jumbo, iget-byte/jumbo,
- * iget-char/jumbo, iget-short/jumbo
- */
- /* exop vBBBB, vCCCC, field@AAAAAAAA */
- movl rSELF,%ecx
- SPILL(rIBASE) # preserve rIBASE
- movl 2(rPC),rIBASE # rIBASE<- AAAAAAAA
- movl offThread_methodClassDex(%ecx),%eax # eax<- DvmDex
- movzwl 8(rPC),%ecx # ecx<- CCCC
- movl offDvmDex_pResFields(%eax),%eax # eax<- pDvmDex->pResFields
- GET_VREG_R %ecx %ecx # ecx<- fp[CCCC], the object ptr
- movl (%eax,rIBASE,4),%eax # resolved entry
- testl %eax,%eax # is resolved entry null?
- jne .L${opcode}_finish # no, already resolved
- movl rIBASE,OUT_ARG1(%esp) # needed by dvmResolveInstField
- movl rSELF,rIBASE
- EXPORT_PC
- movl offThread_method(rIBASE),rIBASE # rIBASE<- current method
- movl offMethod_clazz(rIBASE),rIBASE # rIBASE<- method->clazz
- SPILL_TMP1(%ecx) # save obj pointer across call
- movl rIBASE,OUT_ARG0(%esp) # pass in method->clazz
- call dvmResolveInstField # ... to dvmResolveInstField
- UNSPILL_TMP1(%ecx)
- testl %eax,%eax # returns InstrField ptr
- jne .L${opcode}_finish
- jmp common_exceptionThrown
-
-.L${opcode}_finish:
- /*
- * Currently:
- * eax holds resolved field
- * ecx holds object
- * rINST holds BBBB
- */
- movl offInstField_byteOffset(%eax),%eax # eax<- byte offset of field
- testl %ecx,%ecx # object null?
- je common_errNullObject # object was null
- $load (%ecx,%eax,1),%ecx # ecx<- obj.field (8/16/32 bits)
- FETCH_INST_OPCODE 5 %eax
- UNSPILL(rIBASE) # restore rIBASE
- SET_VREG %ecx rINST
- ADVANCE_PC 5
- GOTO_NEXT_R %eax
diff --git a/vm/mterp/x86/OP_IGET_OBJECT_JUMBO.S b/vm/mterp/x86/OP_IGET_OBJECT_JUMBO.S
deleted file mode 100644
index 3fc93e0a9..000000000
--- a/vm/mterp/x86/OP_IGET_OBJECT_JUMBO.S
+++ /dev/null
@@ -1,2 +0,0 @@
-%verify "executed"
-%include "x86/OP_IGET_JUMBO.S"
diff --git a/vm/mterp/x86/OP_IGET_SHORT_JUMBO.S b/vm/mterp/x86/OP_IGET_SHORT_JUMBO.S
deleted file mode 100644
index 4ead149bc..000000000
--- a/vm/mterp/x86/OP_IGET_SHORT_JUMBO.S
+++ /dev/null
@@ -1,3 +0,0 @@
-%verify "executed"
-%verify "negative value is sign-extended"
-%include "x86/OP_IGET_JUMBO.S" { "load":"movswl", "sqnum":"4" }
diff --git a/vm/mterp/x86/OP_IGET_WIDE_JUMBO.S b/vm/mterp/x86/OP_IGET_WIDE_JUMBO.S
deleted file mode 100644
index 5e253d54e..000000000
--- a/vm/mterp/x86/OP_IGET_WIDE_JUMBO.S
+++ /dev/null
@@ -1,51 +0,0 @@
-%verify "executed"
-%verify "null object"
-%verify "field already resolved"
-%verify "field not yet resolved"
-%verify "field cannot be resolved"
- /*
- * Jumbo 64-bit instance field get.
- */
- /* iget-wide/jumbo vBBBB, vCCCC, field@AAAA */
- movl rSELF,%ecx
- SPILL(rIBASE) # preserve rIBASE
- movl 2(rPC),rIBASE # rIBASE<- AAAAAAAA
- movl offThread_methodClassDex(%ecx),%eax # eax<- DvmDex
- movzwl 8(rPC),%ecx # ecx<- CCCC
- movl offDvmDex_pResFields(%eax),%eax # eax<- pDvmDex->pResFields
- GET_VREG_R %ecx %ecx # ecx<- fp[CCCC], the object ptr
- movl (%eax,rIBASE,4),%eax # resolved entry
- testl %eax,%eax # is resolved entry null?
- jne .L${opcode}_finish # no, already resolved
- movl rIBASE,OUT_ARG1(%esp) # for dvmResolveInstField
- movl rSELF,rIBASE
- EXPORT_PC
- movl offThread_method(rIBASE),rIBASE # rIBASE<- current method
- movl offMethod_clazz(rIBASE),rIBASE # rIBASE<- method->clazz
- SPILL_TMP1(%ecx) # save objpointer across call
- movl rIBASE,OUT_ARG0(%esp) # pass in method->clazz
- call dvmResolveInstField # ... to dvmResolveInstField
- UNSPILL_TMP1(%ecx)
- testl %eax,%eax # returns InstrField ptr
- jne .L${opcode}_finish
- jmp common_exceptionThrown
-
-.L${opcode}_finish:
- /*
- * Currently:
- * eax holds resolved field
- * ecx holds object
- * rINST holds BBBB
- */
- movl offInstField_byteOffset(%eax),%eax # eax<- byte offset of field
- testl %ecx,%ecx # object null?
- je common_errNullObject # object was null
- leal (%ecx,%eax,1),%eax # eax<- address of field
- movl (%eax),%ecx # ecx<- lsw
- movl 4(%eax),%eax # eax<- msw
- SET_VREG_WORD %ecx rINST 0
- FETCH_INST_OPCODE 5 %ecx
- UNSPILL(rIBASE) # restore rIBASE
- SET_VREG_WORD %eax rINST 1
- ADVANCE_PC 5
- GOTO_NEXT_R %ecx
diff --git a/vm/mterp/x86/OP_INSTANCE_OF_JUMBO.S b/vm/mterp/x86/OP_INSTANCE_OF_JUMBO.S
deleted file mode 100644
index 590277eae..000000000
--- a/vm/mterp/x86/OP_INSTANCE_OF_JUMBO.S
+++ /dev/null
@@ -1,88 +0,0 @@
-%verify "executed"
-%verify "null object"
-%verify "class cast exception thrown, with correct class name"
-%verify "class cast exception not thrown on same class"
-%verify "class cast exception not thrown on subclass"
-%verify "class not resolved"
-%verify "class already resolved"
- /*
- * Check to see if an object reference is an instance of a class.
- *
- * Most common situation is a non-null object, being compared against
- * an already-resolved class.
- */
- /* instance-of/jumbo vBBBB, vCCCC, class@AAAAAAAA */
- movzwl 8(rPC),%eax # eax<- CCCC
- GET_VREG_R %eax %eax # eax<- vCCCC (obj)
- movl rSELF,%ecx
- testl %eax,%eax # object null?
- movl offThread_methodClassDex(%ecx),%ecx # ecx<- pDvmDex
- SPILL(rIBASE) # preserve rIBASE
- je .L${opcode}_store # null obj, not instance, store it
- movl 2(rPC),rIBASE # edx<- AAAAAAAA
- movl offDvmDex_pResClasses(%ecx),%ecx # ecx<- pDvmDex->pResClasses
- movl (%ecx,rIBASE,4),%ecx # ecx<- resolved class
- movl offObject_clazz(%eax),%eax # eax<- obj->clazz
- testl %ecx,%ecx # have we resolved this before?
- je .L${opcode}_resolve # not resolved, do it now
-.L${opcode}_resolved: # eax<- obj->clazz, ecx<- resolved class
- cmpl %eax,%ecx # same class (trivial success)?
- je .L${opcode}_trivial # yes, trivial finish
- /*
- * Trivial test failed, need to perform full check. This is common.
- * eax holds obj->clazz
- * ecx holds class resolved from BBBB
- * rINST has BA
- */
- movl %eax,OUT_ARG0(%esp)
- movl %ecx,OUT_ARG1(%esp)
- call dvmInstanceofNonTrivial # eax<- boolean result
- # fall through to ${opcode}_store
-
- /*
- * eax holds boolean result
- * rINST holds BBBB
- */
-.L${opcode}_store:
- FETCH_INST_OPCODE 5 %ecx
- UNSPILL(rIBASE)
- ADVANCE_PC 5
- SET_VREG %eax rINST # vBBBB<- eax
- GOTO_NEXT_R %ecx
-
- /*
- * Trivial test succeeded, save and bail.
- * r9 holds BBBB
- */
-.L${opcode}_trivial:
- FETCH_INST_OPCODE 5 %ecx
- UNSPILL(rIBASE)
- ADVANCE_PC 5
- movl $$1,%eax
- SET_VREG %eax rINST # vBBBB<- true
- GOTO_NEXT_R %ecx
-
- /*
- * Resolution required. This is the least-likely path.
- *
- * edx holds AAAAAAAA
- */
-.L${opcode}_resolve:
- movl rIBASE,OUT_ARG1(%esp) # arg1<- AAAAAAAA
- movl rSELF,%ecx
- movl offThread_method(%ecx),%ecx
- movl $$1,OUT_ARG2(%esp) # arg2<- true
- movl offMethod_clazz(%ecx),%ecx # ecx<- method->clazz
- EXPORT_PC
- movl %ecx,OUT_ARG0(%esp) # arg0<- method->clazz
- call dvmResolveClass # eax<- resolved ClassObject ptr
- testl %eax,%eax # success?
- je common_exceptionThrown # no, handle exception
-/* Now, we need to sync up with fast path. We need eax to
- * hold the obj->clazz, and ecx to hold the resolved class
- */
- movl %eax,%ecx # ecx<- resolved class
- movzwl 8(rPC),%eax # eax<- CCCC
- GET_VREG_R %eax %eax # eax<- vCCCC (obj)
- movl offObject_clazz(%eax),%eax # eax<- obj->clazz
- jmp .L${opcode}_resolved
diff --git a/vm/mterp/x86/OP_INVOKE_DIRECT_JUMBO.S b/vm/mterp/x86/OP_INVOKE_DIRECT_JUMBO.S
deleted file mode 100644
index b1576c54c..000000000
--- a/vm/mterp/x86/OP_INVOKE_DIRECT_JUMBO.S
+++ /dev/null
@@ -1,46 +0,0 @@
-%verify "executed"
-%verify "unknown method"
- /*
- * Handle a jumbo direct method call.
- *
- * (We could defer the "is 'this' pointer null" test to the common
- * method invocation code, and use a flag to indicate that static
- * calls don't count. If we do this as part of copying the arguments
- * out we could avoiding loading the first arg twice.)
- */
- /* invoke-direct/jumbo {vCCCC..v(CCCC+BBBB-1)}, meth@AAAAAAAA */
- movl rSELF,%ecx
- movl 2(rPC),%eax # eax<- AAAAAAAA
- movl offThread_methodClassDex(%ecx),%ecx # ecx<- pDvmDex
- EXPORT_PC
- movl offDvmDex_pResMethods(%ecx),%ecx # ecx<- pDvmDex->pResMethods
- movzwl 8(rPC),rIBASE # rIBASE<- CCCC
- movl (%ecx,%eax,4),%eax # eax<- resolved methodToCall
- testl %eax,%eax # already resolved?
- GET_VREG_R %ecx rIBASE # ecx<- "this" ptr
- je .L${opcode}_resolve # not resolved, do it now
-.L${opcode}_finish:
- testl %ecx,%ecx # null "this"?
- jne common_invokeMethodJumbo # no, continue on
- jmp common_errNullObject
-
- /*
- * On entry:
- * TMP_SPILL <- "this" register
- * Things a bit ugly on this path, but it's the less
- * frequent one. We'll have to do some reloading.
- */
-.L${opcode}_resolve:
- SPILL_TMP1(%ecx)
- movl rSELF,%ecx
- movl offThread_method(%ecx),%ecx # ecx<- self->method
- movl 2(rPC),%eax # reference AAAAAAAA
- movl offMethod_clazz(%ecx),%ecx # ecx<- method->clazz
- movl $$METHOD_DIRECT,OUT_ARG2(%esp)
- movl %eax,OUT_ARG1(%esp)
- movl %ecx,OUT_ARG0(%esp)
- call dvmResolveMethod # eax<- call(clazz, ref, flags)
- UNSPILL_TMP1(%ecx)
- testl %eax,%eax
- jne .L${opcode}_finish
- jmp common_exceptionThrown
diff --git a/vm/mterp/x86/OP_INVOKE_INTERFACE_JUMBO.S b/vm/mterp/x86/OP_INVOKE_INTERFACE_JUMBO.S
deleted file mode 100644
index ee0ecdb2b..000000000
--- a/vm/mterp/x86/OP_INVOKE_INTERFACE_JUMBO.S
+++ /dev/null
@@ -1,25 +0,0 @@
-%verify "executed"
-%verify "unknown method"
-%verify "null object"
- /*
- * Handle a jumbo interface method call.
- */
- /* invoke-interface/jumbo {vCCCC..v(CCCC+BBBB-1)}, meth@AAAAAAAA */
- movzwl 8(rPC),%eax # eax<- CCCC
- movl rSELF,%ecx
- GET_VREG_R %eax %eax # eax<- "this"
- EXPORT_PC
- testl %eax,%eax # null this?
- je common_errNullObject # yes, fail
- movl offObject_clazz(%eax),%eax# eax<- thisPtr->clazz
- movl %eax,OUT_ARG0(%esp) # arg0<- class
- movl offThread_methodClassDex(%ecx),%eax # eax<- methodClassDex
- movl offThread_method(%ecx),%ecx # ecx<- method
- movl %eax,OUT_ARG3(%esp) # arg3<- dex
- movl 2(rPC),%eax # eax<- AAAAAAAA
- movl %ecx,OUT_ARG2(%esp) # arg2<- method
- movl %eax,OUT_ARG1(%esp) # arg1<- AAAAAAAA
- call dvmFindInterfaceMethodInCache # eax<- call(class, ref, method, dex)
- testl %eax,%eax
- je common_exceptionThrown
- jmp common_invokeMethodJumbo
diff --git a/vm/mterp/x86/OP_INVOKE_STATIC_JUMBO.S b/vm/mterp/x86/OP_INVOKE_STATIC_JUMBO.S
deleted file mode 100644
index 1f98d3d4a..000000000
--- a/vm/mterp/x86/OP_INVOKE_STATIC_JUMBO.S
+++ /dev/null
@@ -1,26 +0,0 @@
-%verify "executed"
-%verify "unknown method"
- /*
- * Handle a jumbo static method call.
- */
- /* invoke-static/jumbo {vCCCC..v(CCCC+BBBB-1)}, meth@AAAAAAAA */
- movl rSELF,%ecx
- movl 2(rPC),%eax # eax<- AAAAAAAA
- movl offThread_methodClassDex(%ecx),%ecx # ecx<- pDvmDex
- EXPORT_PC
- movl offDvmDex_pResMethods(%ecx),%ecx # ecx<- pDvmDex->pResMethods
- movl (%ecx,%eax,4),%eax # eax<- resolved methodToCall
- testl %eax,%eax
- jne common_invokeMethodJumbo
- movl rSELF,%ecx
- movl offThread_method(%ecx),%ecx # ecx<- self->method
- movl 2(rPC),%eax # eax<- AAAAAAAA
- movl offMethod_clazz(%ecx),%ecx# ecx<- method->clazz
- movl %eax,OUT_ARG1(%esp) # arg1<- AAAAAAAA
- movl %ecx,OUT_ARG0(%esp) # arg0<- clazz
- movl $$METHOD_STATIC,%eax
- movl %eax,OUT_ARG2(%esp) # arg2<- flags
- call dvmResolveMethod # call(clazz,ref,flags)
- testl %eax,%eax # got null?
- jne common_invokeMethodJumbo
- jmp common_exceptionThrown
diff --git a/vm/mterp/x86/OP_INVOKE_SUPER_JUMBO.S b/vm/mterp/x86/OP_INVOKE_SUPER_JUMBO.S
deleted file mode 100644
index d98e14d10..000000000
--- a/vm/mterp/x86/OP_INVOKE_SUPER_JUMBO.S
+++ /dev/null
@@ -1,59 +0,0 @@
-%verify "executed"
-%verify "unknown method"
- /*
- * Handle a jumbo "super" method call.
- */
- /* invoke-super/jumbo {vCCCC..v(CCCC+BBBB-1)}, meth@AAAAAAAA */
- movl rSELF,rINST
- movl 2(rPC),%eax # eax<- AAAAAAAA
- movl offThread_methodClassDex(rINST),%ecx # ecx<- pDvmDex
- EXPORT_PC
- movl offDvmDex_pResMethods(%ecx),%ecx # ecx<- pDvmDex->pResMethods
- movl (%ecx,%eax,4),%ecx # ecx<- resolved baseMethod
- movl offThread_method(rINST),%eax # eax<- method
- movzwl 8(rPC),rINST # rINST<- CCCC
- GET_VREG_R rINST rINST # rINST<- "this" ptr
- testl rINST,rINST # null "this"?
- je common_errNullObject # yes, throw
- movl offMethod_clazz(%eax),%eax # eax<- method->clazz
- testl %ecx,%ecx # already resolved?
- je .L${opcode}_resolve
- /*
- * At this point:
- * ecx = resolved base method [r0]
- * eax = method->clazz [r9]
- */
-.L${opcode}_continue:
- movl offClassObject_super(%eax),%eax # eax<- method->clazz->super
- movzwl offMethod_methodIndex(%ecx),%ecx # ecx<- baseMthod->methodIndex
- cmpl offClassObject_vtableCount(%eax),%ecx # compare(methodIndex,vtableCount)
- jae .L${opcode}_nsm # method not present in superclass
- movl offClassObject_vtable(%eax),%eax # eax<- ...clazz->super->vtable
- movl (%eax,%ecx,4),%eax # eax<- vtable[methodIndex]
- jmp common_invokeMethodJumbo
-
-
- /* At this point:
- * ecx = null (needs to be resolved base method)
- * eax = method->clazz
- */
-.L${opcode}_resolve:
- SPILL_TMP1(%eax) # method->clazz
- movl %eax,OUT_ARG0(%esp) # arg0<- method->clazz
- movl 2(rPC),%ecx # ecx<- AAAAAAAA
- movl $$METHOD_VIRTUAL,OUT_ARG2(%esp) # arg2<- resolver method type
- movl %ecx,OUT_ARG1(%esp) # arg1<- ref
- call dvmResolveMethod # eax<- call(clazz, ref, flags)
- testl %eax,%eax # got null?
- movl %eax,%ecx # ecx<- resolved base method
- UNSPILL_TMP1(%eax) # restore method->clazz
- jne .L${opcode}_continue # good to go - continue
- jmp common_exceptionThrown # handle exception
-
- /*
- * Throw a NoSuchMethodError with the method name as the message.
- * ecx = resolved base method
- */
-.L${opcode}_nsm:
- movl offMethod_name(%ecx),%eax
- jmp common_errNoSuchMethod
diff --git a/vm/mterp/x86/OP_INVOKE_VIRTUAL_JUMBO.S b/vm/mterp/x86/OP_INVOKE_VIRTUAL_JUMBO.S
deleted file mode 100644
index 085b59118..000000000
--- a/vm/mterp/x86/OP_INVOKE_VIRTUAL_JUMBO.S
+++ /dev/null
@@ -1,40 +0,0 @@
-%verify "executed"
-%verify "unknown method"
-%verify "null object"
- /*
- * Handle a jumbo virtual method call.
- */
- /* invoke-virtual/jumbo vBBBB, {vCCCC..v(CCCC+BBBB-1)}, meth@AAAAAAAA */
- movl rSELF,%eax
- movl 2(rPC),%ecx # ecx<- AAAAAAAA
- movl offThread_methodClassDex(%eax),%eax # eax<- pDvmDex
- EXPORT_PC
- movl offDvmDex_pResMethods(%eax),%eax # eax<- pDvmDex->pResMethods
- movl (%eax,%ecx,4),%eax # eax<- resolved baseMethod
- testl %eax,%eax # already resolved?
- jne .L${opcode}_continue # yes, continue
- movl rSELF,%eax
- movl %ecx,OUT_ARG1(%esp) # arg1<- ref
- movl offThread_method(%eax),%eax # eax<- self->method
- movl offMethod_clazz(%eax),%eax # ecx<- method->clazz
- movl %eax,OUT_ARG0(%esp) # arg0<- clazz
- movl $$METHOD_VIRTUAL,OUT_ARG2(%esp) # arg2<- flags
- call dvmResolveMethod # eax<- call(clazz, ref, flags)
- testl %eax,%eax # got null?
- jne .L${opcode}_continue # no, continue
- jmp common_exceptionThrown # yes, handle exception
-
- /* At this point:
- * eax = resolved base method
- * ecx = scratch
- */
-.L${opcode}_continue:
- movzwl 8(rPC),%ecx # ecx<- CCCC
- GET_VREG_R %ecx %ecx # ecx<- "this"
- movzwl offMethod_methodIndex(%eax),%eax # eax<- baseMethod->methodIndex
- testl %ecx,%ecx # null this?
- je common_errNullObject # go if so
- movl offObject_clazz(%ecx),%ecx # ecx<- thisPtr->clazz
- movl offClassObject_vtable(%ecx),%ecx # ecx<- thisPtr->clazz->vtable
- movl (%ecx,%eax,4),%eax # eax<- vtable[methodIndex]
- jmp common_invokeMethodJumbo
diff --git a/vm/mterp/x86/OP_IPUT_BOOLEAN_JUMBO.S b/vm/mterp/x86/OP_IPUT_BOOLEAN_JUMBO.S
deleted file mode 100644
index eb156ecf6..000000000
--- a/vm/mterp/x86/OP_IPUT_BOOLEAN_JUMBO.S
+++ /dev/null
@@ -1,2 +0,0 @@
-%verify "executed"
-%include "x86/OP_IPUT_JUMBO.S" { "store":"movb","reg":"rINSTbl", "sqnum":"1" }
diff --git a/vm/mterp/x86/OP_IPUT_BYTE_JUMBO.S b/vm/mterp/x86/OP_IPUT_BYTE_JUMBO.S
deleted file mode 100644
index e2bdf058f..000000000
--- a/vm/mterp/x86/OP_IPUT_BYTE_JUMBO.S
+++ /dev/null
@@ -1,2 +0,0 @@
-%verify "executed"
-%include "x86/OP_IPUT_JUMBO.S" { "store":"movb", "reg":"rINSTbl", "sqnum":"2" }
diff --git a/vm/mterp/x86/OP_IPUT_CHAR_JUMBO.S b/vm/mterp/x86/OP_IPUT_CHAR_JUMBO.S
deleted file mode 100644
index f2e7592ae..000000000
--- a/vm/mterp/x86/OP_IPUT_CHAR_JUMBO.S
+++ /dev/null
@@ -1,2 +0,0 @@
-%verify "executed"
-%include "x86/OP_IPUT_JUMBO.S" { "store":"movw", "reg":"rINSTw", "sqnum":"3" }
diff --git a/vm/mterp/x86/OP_IPUT_JUMBO.S b/vm/mterp/x86/OP_IPUT_JUMBO.S
deleted file mode 100644
index 474cac57b..000000000
--- a/vm/mterp/x86/OP_IPUT_JUMBO.S
+++ /dev/null
@@ -1,52 +0,0 @@
-%default { "store":"movl", "reg":"rINST", "sqnum":"0" }
-%verify "executed"
-%verify "null object"
-%verify "field already resolved"
-%verify "field not yet resolved"
-%verify "field cannot be resolved"
- /*
- * Jumbo 32-bit instance field put.
- *
- * for: iput/jumbo, iput-object/jumbo, iput-boolean/jumbo, iput-byte/jumbo,
- iput-char/jumbo, iput-short/jumbo
- */
- /* exop vBBBB, vCCCC, field@AAAAAAAA */
- movl rSELF,%ecx
- SPILL(rIBASE)
- movl 2(rPC),rIBASE # rIBASE<- AAAAAAAA
- movl offThread_methodClassDex(%ecx),%eax # eax<- DvmDex
- movzwl 8(rPC),%ecx # ecx<- CCCC
- movl offDvmDex_pResFields(%eax),%eax # eax<- pDvmDex->pResFields
- GET_VREG_R %ecx %ecx # ecx<- fp[CCCC], the object ptr
- movl (%eax,rIBASE,4),%eax # resolved entry
- testl %eax,%eax # is resolved entry null?
- jne .L${opcode}_finish # no, already resolved
- movl rIBASE,OUT_ARG1(%esp)
- movl rSELF,rIBASE
- EXPORT_PC
- movl offThread_method(rIBASE),rIBASE # rIBASE<- current method
- movl offMethod_clazz(rIBASE),rIBASE # rIBASE<- method->clazz
- SPILL_TMP1(%ecx) # save obj pointer across call
- movl rIBASE,OUT_ARG0(%esp) # pass in method->clazz
- call dvmResolveInstField # ... to dvmResolveInstField
- UNSPILL_TMP1(%ecx)
- testl %eax,%eax # returns InstrField ptr
- jne .L${opcode}_finish
- jmp common_exceptionThrown
-
-.L${opcode}_finish:
- /*
- * Currently:
- * eax holds resolved field
- * ecx holds object
- * rINST holds BBBB
- */
- GET_VREG_R rINST rINST # rINST<- v[BBBB]
- movl offInstField_byteOffset(%eax),%eax # eax<- byte offset of field
- testl %ecx,%ecx # object null?
- je common_errNullObject # object was null
- $store $reg,(%ecx,%eax,1) # obj.field <- v[BBBB](8/16/32 bits)
- FETCH_INST_OPCODE 5 %ecx
- UNSPILL(rIBASE)
- ADVANCE_PC 5
- GOTO_NEXT_R %ecx
diff --git a/vm/mterp/x86/OP_IPUT_OBJECT_JUMBO.S b/vm/mterp/x86/OP_IPUT_OBJECT_JUMBO.S
deleted file mode 100644
index c699595d9..000000000
--- a/vm/mterp/x86/OP_IPUT_OBJECT_JUMBO.S
+++ /dev/null
@@ -1,57 +0,0 @@
-%default { "sqnum":"0" }
-%verify "executed"
-%verify "null object"
-%verify "field already resolved"
-%verify "field not yet resolved"
-%verify "field cannot be resolved"
- /*
- * Jumbo object field put.
- */
- /* iput-object/jumbo vBBBB, vCCCC, field@AAAAAAAA */
- movl rSELF,%ecx
- SPILL(rIBASE)
- movl 2(rPC),rIBASE # rIBASE<- AAAAAAAA
- movl offThread_methodClassDex(%ecx),%eax # eax<- DvmDex
- movzwl 8(rPC),%ecx # ecx<- CCCC
- movl offDvmDex_pResFields(%eax),%eax # eax<- pDvmDex->pResFields
- GET_VREG_R %ecx %ecx # ecx<- fp[CCCC], the object ptr
- movl (%eax,rIBASE,4),%eax # resolved entry
- testl %eax,%eax # is resolved entry null?
- jne .L${opcode}_finish # no, already resolved
- movl rIBASE,OUT_ARG1(%esp)
- movl rSELF,rIBASE
- EXPORT_PC
- movl offThread_method(rIBASE),rIBASE # rIBASE<- current method
- movl offMethod_clazz(rIBASE),rIBASE # rIBASE<- method->clazz
- SPILL_TMP1(%ecx) # save obj pointer across call
- movl rIBASE,OUT_ARG0(%esp) # pass in method->clazz
- call dvmResolveInstField # ... to dvmResolveInstField
- UNSPILL_TMP1(%ecx)
- testl %eax,%eax # returns InstrField ptr
- jne .L${opcode}_finish
- jmp common_exceptionThrown
-
-.L${opcode}_finish:
- /*
- * Currently:
- * eax holds resolved field
- * ecx holds object
- * rIBASE is scratch, but needs to be unspilled
- * rINST holds BBBB
- */
- GET_VREG_R rINST rINST # rINST<- v[BBBB]
- movl offInstField_byteOffset(%eax),%eax # eax<- byte offset of field
- testl %ecx,%ecx # object null?
- je common_errNullObject # object was null
- movl rINST,(%ecx,%eax) # obj.field <- v[BBBB](8/16/32 bits)
- movl rSELF,%eax
- testl rINST,rINST # stored a NULL?
- movl offThread_cardTable(%eax),%eax # get card table base
- je 1f # skip card mark if null store
- shrl $$GC_CARD_SHIFT,%ecx # object head to card number
- movb %al,(%eax,%ecx) # mark card using object head
-1:
- FETCH_INST_OPCODE 5 %ecx
- UNSPILL(rIBASE)
- ADVANCE_PC 5
- GOTO_NEXT_R %ecx
diff --git a/vm/mterp/x86/OP_IPUT_SHORT_JUMBO.S b/vm/mterp/x86/OP_IPUT_SHORT_JUMBO.S
deleted file mode 100644
index c121b2822..000000000
--- a/vm/mterp/x86/OP_IPUT_SHORT_JUMBO.S
+++ /dev/null
@@ -1,2 +0,0 @@
-%verify "executed"
-%include "x86/OP_IPUT_JUMBO.S" { "store":"movw", "reg":"rINSTw", "sqnum":"4" }
diff --git a/vm/mterp/x86/OP_IPUT_WIDE_JUMBO.S b/vm/mterp/x86/OP_IPUT_WIDE_JUMBO.S
deleted file mode 100644
index 38c40b1f3..000000000
--- a/vm/mterp/x86/OP_IPUT_WIDE_JUMBO.S
+++ /dev/null
@@ -1,52 +0,0 @@
-%verify "executed"
-%verify "null object"
-%verify "field already resolved"
-%verify "field not yet resolved"
-%verify "field cannot be resolved"
- /*
- * Jumbo 64-bit instance field put.
- */
- /* iput-wide/jumbo vBBBB, vCCCC, field@AAAAAAAA */
- movl rSELF,%ecx
- SPILL(rIBASE)
- movl 2(rPC),rIBASE # rIBASE<- AAAAAAAA
- movl offThread_methodClassDex(%ecx),%eax # eax<- DvmDex
- movzwl 8(rPC),%ecx # ecx<- CCCC
- movl offDvmDex_pResFields(%eax),%eax # eax<- pDvmDex->pResFields
- GET_VREG_R %ecx %ecx # ecx<- fp[CCCC], the object ptr
- movl (%eax,rIBASE,4),%eax # resolved entry
- testl %eax,%eax # is resolved entry null?
- jne .L${opcode}_finish # no, already resolved
- movl rIBASE,OUT_ARG1(%esp)
- movl rSELF,rIBASE
- EXPORT_PC
- movl offThread_method(rIBASE),rIBASE # rIBASE<- current method
- movl offMethod_clazz(rIBASE),rIBASE # rIBASE<- method->clazz
- SPILL_TMP1(%ecx) # save obj pointer across call
- movl rIBASE,OUT_ARG0(%esp) # pass in method->clazz
- call dvmResolveInstField # ... to dvmResolveInstField
- UNSPILL_TMP1(%ecx)
- testl %eax,%eax # ... which returns InstrField ptr
- jne .L${opcode}_finish
- jmp common_exceptionThrown
-
-.L${opcode}_finish:
- /*
- * Currently:
- * eax holds resolved field
- * ecx holds object
- * rIBASE is scratch, but needs to be unspilled
- * rINST holds BBBB
- */
- movl offInstField_byteOffset(%eax),%eax # eax<- byte offset of field
- testl %ecx,%ecx # object null?
- je common_errNullObject # object was null
- leal (%ecx,%eax,1),%eax # eax<- address of field
- GET_VREG_WORD %ecx rINST 0 # ecx<- lsw
- GET_VREG_WORD rINST rINST 1 # rINST<- msw
- movl rINST,4(%eax)
- movl %ecx,(%eax)
- FETCH_INST_OPCODE 5 %ecx
- UNSPILL(rIBASE)
- ADVANCE_PC 5
- GOTO_NEXT_R %ecx
diff --git a/vm/mterp/x86/OP_NEW_ARRAY_JUMBO.S b/vm/mterp/x86/OP_NEW_ARRAY_JUMBO.S
deleted file mode 100644
index 5d727595c..000000000
--- a/vm/mterp/x86/OP_NEW_ARRAY_JUMBO.S
+++ /dev/null
@@ -1,62 +0,0 @@
-%verify "executed"
-%verify "negative array length"
-%verify "allocation fails"
- /*
- * Allocate an array of objects, specified with the array class
- * and a count.
- *
- * The verifier guarantees that this is an array class, so we don't
- * check for it here.
- */
- /* new-array/jumbo vBBBB, vCCCC, class@AAAAAAAA */
- movl rSELF,%ecx
- EXPORT_PC
- movl offThread_methodClassDex(%ecx),%ecx # ecx<- pDvmDex
- movl 2(rPC),%eax # eax<- AAAAAAAA
- movl offDvmDex_pResClasses(%ecx),%ecx # ecx<- pDvmDex->pResClasses
- SPILL(rIBASE)
- movl (%ecx,%eax,4),%ecx # ecx<- resolved class
- movzwl 8(rPC),%eax # eax<- CCCC
- GET_VREG_R %eax %eax # eax<- vCCCC (array length)
- testl %eax,%eax
- js common_errNegativeArraySize # bail, passing len in eax
- testl %ecx,%ecx # already resolved?
- jne .L${opcode}_finish # yes, fast path
- /*
- * Resolve class. (This is an uncommon case.)
- * ecx holds class (null here)
- * eax holds array length (vCCCC)
- */
- movl rSELF,%ecx
- SPILL_TMP1(%eax) # save array length
- movl offThread_method(%ecx),%ecx # ecx<- self->method
- movl 2(rPC),%eax # eax<- AAAAAAAA
- movl offMethod_clazz(%ecx),%ecx # ecx<- method->clazz
- movl %eax,OUT_ARG1(%esp)
- movl $$0,OUT_ARG2(%esp)
- movl %ecx,OUT_ARG0(%esp)
- call dvmResolveClass # eax<- call(clazz,ref,flag)
- movl %eax,%ecx
- UNSPILL_TMP1(%eax)
- testl %ecx,%ecx # successful resolution?
- je common_exceptionThrown # no, bail.
-# fall through to ${opcode}_finish
-
- /*
- * Finish allocation
- *
- * ecx holds class
- * eax holds array length (vCCCC)
- */
-.L${opcode}_finish:
- movl %ecx,OUT_ARG0(%esp)
- movl %eax,OUT_ARG1(%esp)
- movl $$ALLOC_DONT_TRACK,OUT_ARG2(%esp)
- call dvmAllocArrayByClass # eax<- call(clazz,length,flags)
- UNSPILL(rIBASE)
- FETCH_INST_OPCODE 5 %ecx
- testl %eax,%eax # failed?
- je common_exceptionThrown # yup - go handle
- SET_VREG %eax rINST
- ADVANCE_PC 5
- GOTO_NEXT_R %ecx
diff --git a/vm/mterp/x86/OP_NEW_INSTANCE_JUMBO.S b/vm/mterp/x86/OP_NEW_INSTANCE_JUMBO.S
deleted file mode 100644
index aebb2d03a..000000000
--- a/vm/mterp/x86/OP_NEW_INSTANCE_JUMBO.S
+++ /dev/null
@@ -1,67 +0,0 @@
-%verify "executed"
-%verify "class not resolved"
-%verify "class cannot be resolved"
-%verify "class not initialized"
-%verify "class fails to initialize"
-%verify "class already resolved/initialized"
-%verify "class is abstract or interface"
-%verify "allocation fails"
- /*
- * Create a new instance of a class.
- */
- /* new-instance/jumbo vBBBB, class@AAAAAAAA */
- movl rSELF,%ecx
- movl 2(rPC),%eax # eax<- AAAAAAAA
- movl offThread_methodClassDex(%ecx),%ecx # ecx<- pDvmDex
- movl offDvmDex_pResClasses(%ecx),%ecx # ecx<- pDvmDex->pResClasses
- EXPORT_PC
- movl (%ecx,%eax,4),%ecx # ecx<- resolved class
- SPILL(rIBASE)
- testl %ecx,%ecx # resolved?
- je .L${opcode}_resolve # no, go do it
-.L${opcode}_resolved: # on entry, ecx<- class
- cmpb $$CLASS_INITIALIZED,offClassObject_status(%ecx)
- jne .L${opcode}_needinit
-.L${opcode}_initialized: # on entry, ecx<- class
- movl $$ALLOC_DONT_TRACK,OUT_ARG1(%esp)
- movl %ecx,OUT_ARG0(%esp)
- call dvmAllocObject # eax<- new object
- UNSPILL(rIBASE)
- FETCH_INST_OPCODE 4 %ecx
- testl %eax,%eax # success?
- je common_exceptionThrown # no, bail out
- SET_VREG %eax rINST
- ADVANCE_PC 4
- GOTO_NEXT_R %ecx
-
- /*
- * Class initialization required.
- *
- * ecx holds class object
- */
-.L${opcode}_needinit:
- SPILL_TMP1(%ecx) # save object
- movl %ecx,OUT_ARG0(%esp)
- call dvmInitClass # initialize class
- UNSPILL_TMP1(%ecx) # restore object
- testl %eax,%eax # success?
- jne .L${opcode}_initialized # success, continue
- jmp common_exceptionThrown # go deal with init exception
-
- /*
- * Resolution required. This is the least-likely path.
- *
- */
-.L${opcode}_resolve:
- movl rSELF,%ecx
- movl 2(rPC),%eax # eax<- AAAAAAAA
- movl offThread_method(%ecx),%ecx # ecx<- self->method
- movl %eax,OUT_ARG1(%esp)
- movl offMethod_clazz(%ecx),%ecx # ecx<- method->clazz
- movl $$0,OUT_ARG2(%esp)
- movl %ecx,OUT_ARG0(%esp)
- call dvmResolveClass # call(clazz,off,flags)
- movl %eax,%ecx # ecx<- resolved ClassObject ptr
- testl %ecx,%ecx # success?
- jne .L${opcode}_resolved # good to go
- jmp common_exceptionThrown # no, handle exception
diff --git a/vm/mterp/x86/OP_SGET_BOOLEAN_JUMBO.S b/vm/mterp/x86/OP_SGET_BOOLEAN_JUMBO.S
deleted file mode 100644
index dee15fcba..000000000
--- a/vm/mterp/x86/OP_SGET_BOOLEAN_JUMBO.S
+++ /dev/null
@@ -1,2 +0,0 @@
-%verify "executed"
-%include "x86/OP_SGET_JUMBO.S"
diff --git a/vm/mterp/x86/OP_SGET_BYTE_JUMBO.S b/vm/mterp/x86/OP_SGET_BYTE_JUMBO.S
deleted file mode 100644
index dee15fcba..000000000
--- a/vm/mterp/x86/OP_SGET_BYTE_JUMBO.S
+++ /dev/null
@@ -1,2 +0,0 @@
-%verify "executed"
-%include "x86/OP_SGET_JUMBO.S"
diff --git a/vm/mterp/x86/OP_SGET_CHAR_JUMBO.S b/vm/mterp/x86/OP_SGET_CHAR_JUMBO.S
deleted file mode 100644
index dee15fcba..000000000
--- a/vm/mterp/x86/OP_SGET_CHAR_JUMBO.S
+++ /dev/null
@@ -1,2 +0,0 @@
-%verify "executed"
-%include "x86/OP_SGET_JUMBO.S"
diff --git a/vm/mterp/x86/OP_SGET_JUMBO.S b/vm/mterp/x86/OP_SGET_JUMBO.S
deleted file mode 100644
index 2b3e2a8ce..000000000
--- a/vm/mterp/x86/OP_SGET_JUMBO.S
+++ /dev/null
@@ -1,42 +0,0 @@
-%verify "executed"
-%verify "field already resolved"
-%verify "field not yet resolved"
-%verify "field cannot be resolved"
- /*
- * Jumbo 32-bit SGET handler.
- *
- * for: sget/jumbo, sget-object/jumbo, sget-boolean/jumbo, sget-byte/jumbo,
- * sget-char/jumbo, sget-short/jumbo
- */
- /* exop vBBBB, field@AAAAAAAA */
- movl rSELF,%ecx
- movl offThread_methodClassDex(%ecx),%ecx # ecx<- DvmDex
- movl 2(rPC),%eax # eax<- field ref AAAAAAAA
- movl offDvmDex_pResFields(%ecx),%ecx # ecx<- dvmDex->pResFields
- movl (%ecx,%eax,4),%eax # eax<- resolved StaticField ptr
- testl %eax,%eax # resolved entry null?
- je .L${opcode}_resolve # if not, make it so
-.L${opcode}_finish: # field ptr in eax
- movl offStaticField_value(%eax),%eax
- FETCH_INST_OPCODE 4 %ecx
- ADVANCE_PC 4
- SET_VREG %eax rINST
- GOTO_NEXT_R %ecx
-
- /*
- * Go resolve the field
- */
-.L${opcode}_resolve:
- movl rSELF,%ecx
- movl 2(rPC),%eax # eax<- field ref AAAAAAAA
- movl offThread_method(%ecx),%ecx # ecx<- current method
- EXPORT_PC # could throw, need to export
- movl offMethod_clazz(%ecx),%ecx # ecx<- method->clazz
- movl %eax,OUT_ARG1(%esp)
- movl %ecx,OUT_ARG0(%esp)
- SPILL(rIBASE)
- call dvmResolveStaticField # eax<- resolved StaticField ptr
- UNSPILL(rIBASE)
- testl %eax,%eax
- jne .L${opcode}_finish # success, continue
- jmp common_exceptionThrown # no, handle exception
diff --git a/vm/mterp/x86/OP_SGET_OBJECT_JUMBO.S b/vm/mterp/x86/OP_SGET_OBJECT_JUMBO.S
deleted file mode 100644
index dee15fcba..000000000
--- a/vm/mterp/x86/OP_SGET_OBJECT_JUMBO.S
+++ /dev/null
@@ -1,2 +0,0 @@
-%verify "executed"
-%include "x86/OP_SGET_JUMBO.S"
diff --git a/vm/mterp/x86/OP_SGET_SHORT_JUMBO.S b/vm/mterp/x86/OP_SGET_SHORT_JUMBO.S
deleted file mode 100644
index dee15fcba..000000000
--- a/vm/mterp/x86/OP_SGET_SHORT_JUMBO.S
+++ /dev/null
@@ -1,2 +0,0 @@
-%verify "executed"
-%include "x86/OP_SGET_JUMBO.S"
diff --git a/vm/mterp/x86/OP_SGET_WIDE_JUMBO.S b/vm/mterp/x86/OP_SGET_WIDE_JUMBO.S
deleted file mode 100644
index 2d8fa8f19..000000000
--- a/vm/mterp/x86/OP_SGET_WIDE_JUMBO.S
+++ /dev/null
@@ -1,42 +0,0 @@
-%verify "executed"
-%verify "field already resolved"
-%verify "field not yet resolved"
-%verify "field cannot be resolved"
- /*
- * Jumbo 64-bit SGET handler.
- *
- */
- /* sget-wide/jumbo vBBBB, field@AAAAAAAA */
- movl rSELF,%ecx
- movl offThread_methodClassDex(%ecx),%ecx # ecx<- DvmDex
- movl 2(rPC),%eax # eax<- field ref AAAAAAAA
- movl offDvmDex_pResFields(%ecx),%ecx # ecx<- dvmDex->pResFields
- movl (%ecx,%eax,4),%eax # eax<- resolved StaticField ptr
- testl %eax,%eax # resolved entry null?
- je .L${opcode}_resolve # if not, make it so
-.L${opcode}_finish: # field ptr in eax
- movl offStaticField_value(%eax),%ecx # ecx<- lsw
- movl 4+offStaticField_value(%eax),%eax # eax<- msw
- SET_VREG_WORD %ecx rINST 0
- FETCH_INST_OPCODE 2 %ecx
- SET_VREG_WORD %eax rINST 1
- ADVANCE_PC 2
- GOTO_NEXT_R %ecx
-
- /*
- * Go resolve the field
- */
-.L${opcode}_resolve:
- movl rSELF,%ecx
- movl 2(rPC),%eax # eax<- field ref AAAAAAAA
- movl offThread_method(%ecx),%ecx # ecx<- current method
- EXPORT_PC # could throw, need to export
- movl offMethod_clazz(%ecx),%ecx # ecx<- method->clazz
- movl %eax,OUT_ARG1(%esp)
- movl %ecx,OUT_ARG0(%esp)
- SPILL(rIBASE)
- call dvmResolveStaticField # eax<- resolved StaticField ptr
- UNSPILL(rIBASE)
- testl %eax,%eax
- jne .L${opcode}_finish # success, continue
- jmp common_exceptionThrown # no, handle exception
diff --git a/vm/mterp/x86/OP_SPUT_BOOLEAN_JUMBO.S b/vm/mterp/x86/OP_SPUT_BOOLEAN_JUMBO.S
deleted file mode 100644
index c791c4927..000000000
--- a/vm/mterp/x86/OP_SPUT_BOOLEAN_JUMBO.S
+++ /dev/null
@@ -1,2 +0,0 @@
-%verify "executed"
-%include "x86/OP_SPUT_JUMBO.S"
diff --git a/vm/mterp/x86/OP_SPUT_BYTE_JUMBO.S b/vm/mterp/x86/OP_SPUT_BYTE_JUMBO.S
deleted file mode 100644
index c791c4927..000000000
--- a/vm/mterp/x86/OP_SPUT_BYTE_JUMBO.S
+++ /dev/null
@@ -1,2 +0,0 @@
-%verify "executed"
-%include "x86/OP_SPUT_JUMBO.S"
diff --git a/vm/mterp/x86/OP_SPUT_CHAR_JUMBO.S b/vm/mterp/x86/OP_SPUT_CHAR_JUMBO.S
deleted file mode 100644
index c791c4927..000000000
--- a/vm/mterp/x86/OP_SPUT_CHAR_JUMBO.S
+++ /dev/null
@@ -1,2 +0,0 @@
-%verify "executed"
-%include "x86/OP_SPUT_JUMBO.S"
diff --git a/vm/mterp/x86/OP_SPUT_JUMBO.S b/vm/mterp/x86/OP_SPUT_JUMBO.S
deleted file mode 100644
index 3f3d42aa3..000000000
--- a/vm/mterp/x86/OP_SPUT_JUMBO.S
+++ /dev/null
@@ -1,42 +0,0 @@
-%verify "executed"
-%verify "field already resolved"
-%verify "field not yet resolved"
-%verify "field cannot be resolved"
- /*
- * Jumbo 32-bit SPUT handler.
- *
- * for: sput/jumbo, sput-boolean/jumbo, sput-byte/jumbo, sput-char/jumbo,
- * sput-short/jumbo
- */
- /* exop vBBBB, field@AAAAAAAA */
- movl rSELF,%ecx
- movl offThread_methodClassDex(%ecx),%ecx # ecx<- DvmDex
- movl 2(rPC),%eax # eax<- field ref AAAAAAAA
- movl offDvmDex_pResFields(%ecx),%ecx # ecx<- dvmDex->pResFields
- movl (%ecx,%eax,4),%eax # eax<- resolved StaticField ptr
- testl %eax,%eax # resolved entry null?
- je .L${opcode}_resolve # if not, make it so
-.L${opcode}_finish: # field ptr in eax
- GET_VREG_R rINST rINST
- FETCH_INST_OPCODE 4 %ecx
- ADVANCE_PC 4
- movl rINST,offStaticField_value(%eax)
- GOTO_NEXT_R %ecx
-
- /*
- * Go resolve the field
- */
-.L${opcode}_resolve:
- movl rSELF,%ecx
- movl 2(rPC),%eax # eax<- field ref AAAAAAAA
- movl offThread_method(%ecx),%ecx # ecx<- current method
- EXPORT_PC # could throw, need to export
- movl offMethod_clazz(%ecx),%ecx # ecx<- method->clazz
- movl %eax,OUT_ARG1(%esp)
- movl %ecx,OUT_ARG0(%esp)
- SPILL(rIBASE)
- call dvmResolveStaticField # eax<- resolved StaticField ptr
- UNSPILL(rIBASE)
- testl %eax,%eax
- jne .L${opcode}_finish # success, continue
- jmp common_exceptionThrown # no, handle exception
diff --git a/vm/mterp/x86/OP_SPUT_OBJECT_JUMBO.S b/vm/mterp/x86/OP_SPUT_OBJECT_JUMBO.S
deleted file mode 100644
index 5aab782f6..000000000
--- a/vm/mterp/x86/OP_SPUT_OBJECT_JUMBO.S
+++ /dev/null
@@ -1,44 +0,0 @@
-%verify "executed"
-%verify "field already resolved"
-%verify "field not yet resolved"
-%verify "field cannot be resolved"
- /*
- * Jumbo SPUT object handler.
- */
- /* sput-object/jumbo vBBBB, field@AAAAAAAA */
- movl rSELF,%ecx
- movl 2(rPC),%eax # eax<- field ref AAAAAAAA
- movl offThread_methodClassDex(%ecx),%ecx # ecx<- DvmDex
- movl offDvmDex_pResFields(%ecx),%ecx # ecx<- dvmDex->pResFields
- movl (%ecx,%eax,4),%eax # eax<- resolved StaticField
- testl %eax,%eax # resolved entry null?
- je .L${opcode}_resolve # if not, make it so
-.L${opcode}_finish: # field ptr in eax
- GET_VREG_R %ecx rINST
- movl %ecx,offStaticField_value(%eax) # do the store
- testl %ecx,%ecx # stored null object ptr?
- je 1f # skip card mark if null
- movl rSELF,%ecx
- movl offField_clazz(%eax),%eax # eax<- method->clazz
- movl offThread_cardTable(%ecx),%ecx # get card table base
- shrl $$GC_CARD_SHIFT,%eax # head to card number
- movb %cl,(%ecx,%eax) # mark card
-1:
- FETCH_INST_OPCODE 4 %ecx
- ADVANCE_PC 4
- GOTO_NEXT_R %ecx
-
-.L${opcode}_resolve:
- movl rSELF,%ecx
- movl 2(rPC),%eax # eax<- field ref AAAAAAAA
- movl offThread_method(%ecx),%ecx # ecx<- current method
- EXPORT_PC # could throw, need to export
- movl offMethod_clazz(%ecx),%ecx # ecx<- method->clazz
- movl %eax,OUT_ARG1(%esp)
- movl %ecx,OUT_ARG0(%esp)
- SPILL(rIBASE)
- call dvmResolveStaticField # eax<- resolved StaticField ptr
- UNSPILL(rIBASE)
- testl %eax,%eax
- jne .L${opcode}_finish # success, continue
- jmp common_exceptionThrown # no, handle exception
diff --git a/vm/mterp/x86/OP_SPUT_SHORT_JUMBO.S b/vm/mterp/x86/OP_SPUT_SHORT_JUMBO.S
deleted file mode 100644
index c791c4927..000000000
--- a/vm/mterp/x86/OP_SPUT_SHORT_JUMBO.S
+++ /dev/null
@@ -1,2 +0,0 @@
-%verify "executed"
-%include "x86/OP_SPUT_JUMBO.S"
diff --git a/vm/mterp/x86/OP_SPUT_WIDE_JUMBO.S b/vm/mterp/x86/OP_SPUT_WIDE_JUMBO.S
deleted file mode 100644
index 1fe544ca6..000000000
--- a/vm/mterp/x86/OP_SPUT_WIDE_JUMBO.S
+++ /dev/null
@@ -1,41 +0,0 @@
-%verify "executed"
-%verify "field already resolved"
-%verify "field not yet resolved"
-%verify "field cannot be resolved"
- /*
- * Jumbo 64-bit SPUT handler.
- */
- /* sput-wide/jumbo vBBBB, field@AAAAAAAA */
- movl rSELF,%ecx
- movl offThread_methodClassDex(%ecx),%ecx # ecx<- DvmDex
- movl 2(rPC),%eax # eax<- field ref AAAAAAAA
- movl offDvmDex_pResFields(%ecx),%ecx # ecx<- dvmDex->pResFields
- movl (%ecx,%eax,4),%eax # eax<- resolved StaticField ptr
- testl %eax,%eax # resolved entry null?
- je .L${opcode}_resolve # if not, make it so
-.L${opcode}_finish: # field ptr in eax
- GET_VREG_WORD %ecx rINST 0 # ecx<- lsw
- GET_VREG_WORD rINST rINST 1 # rINST<- msw
- movl %ecx,offStaticField_value(%eax)
- FETCH_INST_OPCODE 4 %ecx
- movl rINST,4+offStaticField_value(%eax)
- ADVANCE_PC 4
- GOTO_NEXT_R %ecx
-
- /*
- * Go resolve the field
- */
-.L${opcode}_resolve:
- movl rSELF,%ecx
- movl 2(rPC),%eax # eax<- field ref AAAAAAAA
- movl offThread_method(%ecx),%ecx # ecx<- current method
- EXPORT_PC # could throw, need to export
- movl offMethod_clazz(%ecx),%ecx # ecx<- method->clazz
- movl %eax,OUT_ARG1(%esp)
- movl %ecx,OUT_ARG0(%esp)
- SPILL(rIBASE)
- call dvmResolveStaticField # eax<- resolved StaticField ptr
- UNSPILL(rIBASE)
- testl %eax,%eax
- jne .L${opcode}_finish # success, continue
- jmp common_exceptionThrown # no, handle exception
diff --git a/vm/mterp/x86/OP_THROW_VERIFICATION_ERROR_JUMBO.S b/vm/mterp/x86/OP_THROW_VERIFICATION_ERROR_JUMBO.S
deleted file mode 100644
index a9e092d29..000000000
--- a/vm/mterp/x86/OP_THROW_VERIFICATION_ERROR_JUMBO.S
+++ /dev/null
@@ -1,16 +0,0 @@
-%verify executed
- /*
- * Handle a jumbo throw-verification-error instruction. This throws an
- * exception for an error discovered during verification. The
- * exception is indicated by BBBB, with some detail provided by AAAAAAAA.
- */
- /* exop BBBB, ref@AAAAAAAA */
- movl rSELF,%ecx
- movl 2(rPC),%eax # eax<- AAAAAAAA
- movl offThread_method(%ecx),%ecx # ecx<- self->method
- EXPORT_PC
- movl %eax,OUT_ARG2(%esp) # arg2<- AAAAAAAA
- movl rINST,OUT_ARG1(%esp) # arg1<- BBBB
- movl %ecx,OUT_ARG0(%esp) # arg0<- method
- call dvmThrowVerificationError # call(method, kind, ref)
- jmp common_exceptionThrown # handle exception
diff --git a/vm/mterp/x86/OP_UNUSED_28FF.S b/vm/mterp/x86/OP_UNUSED_28FF.S
deleted file mode 100644
index 31d98c1f3..000000000
--- a/vm/mterp/x86/OP_UNUSED_28FF.S
+++ /dev/null
@@ -1 +0,0 @@
-%include "x86/unused.S"
diff --git a/vm/mterp/x86/OP_UNUSED_29FF.S b/vm/mterp/x86/OP_UNUSED_29FF.S
deleted file mode 100644
index 31d98c1f3..000000000
--- a/vm/mterp/x86/OP_UNUSED_29FF.S
+++ /dev/null
@@ -1 +0,0 @@
-%include "x86/unused.S"
diff --git a/vm/mterp/x86/OP_UNUSED_2AFF.S b/vm/mterp/x86/OP_UNUSED_2AFF.S
deleted file mode 100644
index 31d98c1f3..000000000
--- a/vm/mterp/x86/OP_UNUSED_2AFF.S
+++ /dev/null
@@ -1 +0,0 @@
-%include "x86/unused.S"
diff --git a/vm/mterp/x86/OP_UNUSED_2BFF.S b/vm/mterp/x86/OP_UNUSED_2BFF.S
deleted file mode 100644
index 31d98c1f3..000000000
--- a/vm/mterp/x86/OP_UNUSED_2BFF.S
+++ /dev/null
@@ -1 +0,0 @@
-%include "x86/unused.S"
diff --git a/vm/mterp/x86/OP_UNUSED_2CFF.S b/vm/mterp/x86/OP_UNUSED_2CFF.S
deleted file mode 100644
index 31d98c1f3..000000000
--- a/vm/mterp/x86/OP_UNUSED_2CFF.S
+++ /dev/null
@@ -1 +0,0 @@
-%include "x86/unused.S"
diff --git a/vm/mterp/x86/OP_UNUSED_2DFF.S b/vm/mterp/x86/OP_UNUSED_2DFF.S
deleted file mode 100644
index 31d98c1f3..000000000
--- a/vm/mterp/x86/OP_UNUSED_2DFF.S
+++ /dev/null
@@ -1 +0,0 @@
-%include "x86/unused.S"
diff --git a/vm/mterp/x86/OP_UNUSED_2EFF.S b/vm/mterp/x86/OP_UNUSED_2EFF.S
deleted file mode 100644
index 31d98c1f3..000000000
--- a/vm/mterp/x86/OP_UNUSED_2EFF.S
+++ /dev/null
@@ -1 +0,0 @@
-%include "x86/unused.S"
diff --git a/vm/mterp/x86/OP_UNUSED_2FFF.S b/vm/mterp/x86/OP_UNUSED_2FFF.S
deleted file mode 100644
index 31d98c1f3..000000000
--- a/vm/mterp/x86/OP_UNUSED_2FFF.S
+++ /dev/null
@@ -1 +0,0 @@
-%include "x86/unused.S"
diff --git a/vm/mterp/x86/OP_UNUSED_30FF.S b/vm/mterp/x86/OP_UNUSED_30FF.S
deleted file mode 100644
index 31d98c1f3..000000000
--- a/vm/mterp/x86/OP_UNUSED_30FF.S
+++ /dev/null
@@ -1 +0,0 @@
-%include "x86/unused.S"
diff --git a/vm/mterp/x86/OP_UNUSED_31FF.S b/vm/mterp/x86/OP_UNUSED_31FF.S
deleted file mode 100644
index 31d98c1f3..000000000
--- a/vm/mterp/x86/OP_UNUSED_31FF.S
+++ /dev/null
@@ -1 +0,0 @@
-%include "x86/unused.S"
diff --git a/vm/mterp/x86/OP_UNUSED_32FF.S b/vm/mterp/x86/OP_UNUSED_32FF.S
deleted file mode 100644
index 31d98c1f3..000000000
--- a/vm/mterp/x86/OP_UNUSED_32FF.S
+++ /dev/null
@@ -1 +0,0 @@
-%include "x86/unused.S"
diff --git a/vm/mterp/x86/OP_UNUSED_33FF.S b/vm/mterp/x86/OP_UNUSED_33FF.S
deleted file mode 100644
index 31d98c1f3..000000000
--- a/vm/mterp/x86/OP_UNUSED_33FF.S
+++ /dev/null
@@ -1 +0,0 @@
-%include "x86/unused.S"
diff --git a/vm/mterp/x86/OP_UNUSED_34FF.S b/vm/mterp/x86/OP_UNUSED_34FF.S
deleted file mode 100644
index 31d98c1f3..000000000
--- a/vm/mterp/x86/OP_UNUSED_34FF.S
+++ /dev/null
@@ -1 +0,0 @@
-%include "x86/unused.S"
diff --git a/vm/mterp/x86/OP_UNUSED_35FF.S b/vm/mterp/x86/OP_UNUSED_35FF.S
deleted file mode 100644
index 31d98c1f3..000000000
--- a/vm/mterp/x86/OP_UNUSED_35FF.S
+++ /dev/null
@@ -1 +0,0 @@
-%include "x86/unused.S"
diff --git a/vm/mterp/x86/OP_UNUSED_36FF.S b/vm/mterp/x86/OP_UNUSED_36FF.S
deleted file mode 100644
index 31d98c1f3..000000000
--- a/vm/mterp/x86/OP_UNUSED_36FF.S
+++ /dev/null
@@ -1 +0,0 @@
-%include "x86/unused.S"
diff --git a/vm/mterp/x86/OP_UNUSED_37FF.S b/vm/mterp/x86/OP_UNUSED_37FF.S
deleted file mode 100644
index 31d98c1f3..000000000
--- a/vm/mterp/x86/OP_UNUSED_37FF.S
+++ /dev/null
@@ -1 +0,0 @@
-%include "x86/unused.S"
diff --git a/vm/mterp/x86/OP_UNUSED_38FF.S b/vm/mterp/x86/OP_UNUSED_38FF.S
deleted file mode 100644
index 31d98c1f3..000000000
--- a/vm/mterp/x86/OP_UNUSED_38FF.S
+++ /dev/null
@@ -1 +0,0 @@
-%include "x86/unused.S"
diff --git a/vm/mterp/x86/OP_UNUSED_39FF.S b/vm/mterp/x86/OP_UNUSED_39FF.S
deleted file mode 100644
index 31d98c1f3..000000000
--- a/vm/mterp/x86/OP_UNUSED_39FF.S
+++ /dev/null
@@ -1 +0,0 @@
-%include "x86/unused.S"
diff --git a/vm/mterp/x86/OP_UNUSED_3AFF.S b/vm/mterp/x86/OP_UNUSED_3AFF.S
deleted file mode 100644
index 31d98c1f3..000000000
--- a/vm/mterp/x86/OP_UNUSED_3AFF.S
+++ /dev/null
@@ -1 +0,0 @@
-%include "x86/unused.S"
diff --git a/vm/mterp/x86/OP_UNUSED_3BFF.S b/vm/mterp/x86/OP_UNUSED_3BFF.S
deleted file mode 100644
index 31d98c1f3..000000000
--- a/vm/mterp/x86/OP_UNUSED_3BFF.S
+++ /dev/null
@@ -1 +0,0 @@
-%include "x86/unused.S"
diff --git a/vm/mterp/x86/OP_UNUSED_3CFF.S b/vm/mterp/x86/OP_UNUSED_3CFF.S
deleted file mode 100644
index 31d98c1f3..000000000
--- a/vm/mterp/x86/OP_UNUSED_3CFF.S
+++ /dev/null
@@ -1 +0,0 @@
-%include "x86/unused.S"
diff --git a/vm/mterp/x86/OP_UNUSED_3DFF.S b/vm/mterp/x86/OP_UNUSED_3DFF.S
deleted file mode 100644
index 31d98c1f3..000000000
--- a/vm/mterp/x86/OP_UNUSED_3DFF.S
+++ /dev/null
@@ -1 +0,0 @@
-%include "x86/unused.S"
diff --git a/vm/mterp/x86/OP_UNUSED_3EFF.S b/vm/mterp/x86/OP_UNUSED_3EFF.S
deleted file mode 100644
index 31d98c1f3..000000000
--- a/vm/mterp/x86/OP_UNUSED_3EFF.S
+++ /dev/null
@@ -1 +0,0 @@
-%include "x86/unused.S"
diff --git a/vm/mterp/x86/OP_UNUSED_3FFF.S b/vm/mterp/x86/OP_UNUSED_3FFF.S
deleted file mode 100644
index 31d98c1f3..000000000
--- a/vm/mterp/x86/OP_UNUSED_3FFF.S
+++ /dev/null
@@ -1 +0,0 @@
-%include "x86/unused.S"
diff --git a/vm/mterp/x86/OP_UNUSED_40FF.S b/vm/mterp/x86/OP_UNUSED_40FF.S
deleted file mode 100644
index 31d98c1f3..000000000
--- a/vm/mterp/x86/OP_UNUSED_40FF.S
+++ /dev/null
@@ -1 +0,0 @@
-%include "x86/unused.S"
diff --git a/vm/mterp/x86/OP_UNUSED_41FF.S b/vm/mterp/x86/OP_UNUSED_41FF.S
deleted file mode 100644
index 31d98c1f3..000000000
--- a/vm/mterp/x86/OP_UNUSED_41FF.S
+++ /dev/null
@@ -1 +0,0 @@
-%include "x86/unused.S"
diff --git a/vm/mterp/x86/OP_UNUSED_42FF.S b/vm/mterp/x86/OP_UNUSED_42FF.S
deleted file mode 100644
index 31d98c1f3..000000000
--- a/vm/mterp/x86/OP_UNUSED_42FF.S
+++ /dev/null
@@ -1 +0,0 @@
-%include "x86/unused.S"
diff --git a/vm/mterp/x86/OP_UNUSED_43FF.S b/vm/mterp/x86/OP_UNUSED_43FF.S
deleted file mode 100644
index 31d98c1f3..000000000
--- a/vm/mterp/x86/OP_UNUSED_43FF.S
+++ /dev/null
@@ -1 +0,0 @@
-%include "x86/unused.S"
diff --git a/vm/mterp/x86/OP_UNUSED_44FF.S b/vm/mterp/x86/OP_UNUSED_44FF.S
deleted file mode 100644
index 31d98c1f3..000000000
--- a/vm/mterp/x86/OP_UNUSED_44FF.S
+++ /dev/null
@@ -1 +0,0 @@
-%include "x86/unused.S"
diff --git a/vm/mterp/x86/OP_UNUSED_45FF.S b/vm/mterp/x86/OP_UNUSED_45FF.S
deleted file mode 100644
index 31d98c1f3..000000000
--- a/vm/mterp/x86/OP_UNUSED_45FF.S
+++ /dev/null
@@ -1 +0,0 @@
-%include "x86/unused.S"
diff --git a/vm/mterp/x86/OP_UNUSED_46FF.S b/vm/mterp/x86/OP_UNUSED_46FF.S
deleted file mode 100644
index 31d98c1f3..000000000
--- a/vm/mterp/x86/OP_UNUSED_46FF.S
+++ /dev/null
@@ -1 +0,0 @@
-%include "x86/unused.S"
diff --git a/vm/mterp/x86/OP_UNUSED_47FF.S b/vm/mterp/x86/OP_UNUSED_47FF.S
deleted file mode 100644
index 31d98c1f3..000000000
--- a/vm/mterp/x86/OP_UNUSED_47FF.S
+++ /dev/null
@@ -1 +0,0 @@
-%include "x86/unused.S"
diff --git a/vm/mterp/x86/OP_UNUSED_48FF.S b/vm/mterp/x86/OP_UNUSED_48FF.S
deleted file mode 100644
index 31d98c1f3..000000000
--- a/vm/mterp/x86/OP_UNUSED_48FF.S
+++ /dev/null
@@ -1 +0,0 @@
-%include "x86/unused.S"
diff --git a/vm/mterp/x86/OP_UNUSED_49FF.S b/vm/mterp/x86/OP_UNUSED_49FF.S
deleted file mode 100644
index 31d98c1f3..000000000
--- a/vm/mterp/x86/OP_UNUSED_49FF.S
+++ /dev/null
@@ -1 +0,0 @@
-%include "x86/unused.S"
diff --git a/vm/mterp/x86/OP_UNUSED_4AFF.S b/vm/mterp/x86/OP_UNUSED_4AFF.S
deleted file mode 100644
index 31d98c1f3..000000000
--- a/vm/mterp/x86/OP_UNUSED_4AFF.S
+++ /dev/null
@@ -1 +0,0 @@
-%include "x86/unused.S"
diff --git a/vm/mterp/x86/OP_UNUSED_4BFF.S b/vm/mterp/x86/OP_UNUSED_4BFF.S
deleted file mode 100644
index 31d98c1f3..000000000
--- a/vm/mterp/x86/OP_UNUSED_4BFF.S
+++ /dev/null
@@ -1 +0,0 @@
-%include "x86/unused.S"
diff --git a/vm/mterp/x86/OP_UNUSED_4CFF.S b/vm/mterp/x86/OP_UNUSED_4CFF.S
deleted file mode 100644
index 31d98c1f3..000000000
--- a/vm/mterp/x86/OP_UNUSED_4CFF.S
+++ /dev/null
@@ -1 +0,0 @@
-%include "x86/unused.S"
diff --git a/vm/mterp/x86/OP_UNUSED_4DFF.S b/vm/mterp/x86/OP_UNUSED_4DFF.S
deleted file mode 100644
index 31d98c1f3..000000000
--- a/vm/mterp/x86/OP_UNUSED_4DFF.S
+++ /dev/null
@@ -1 +0,0 @@
-%include "x86/unused.S"
diff --git a/vm/mterp/x86/OP_UNUSED_4EFF.S b/vm/mterp/x86/OP_UNUSED_4EFF.S
deleted file mode 100644
index 31d98c1f3..000000000
--- a/vm/mterp/x86/OP_UNUSED_4EFF.S
+++ /dev/null
@@ -1 +0,0 @@
-%include "x86/unused.S"
diff --git a/vm/mterp/x86/OP_UNUSED_4FFF.S b/vm/mterp/x86/OP_UNUSED_4FFF.S
deleted file mode 100644
index 31d98c1f3..000000000
--- a/vm/mterp/x86/OP_UNUSED_4FFF.S
+++ /dev/null
@@ -1 +0,0 @@
-%include "x86/unused.S"
diff --git a/vm/mterp/x86/OP_UNUSED_50FF.S b/vm/mterp/x86/OP_UNUSED_50FF.S
deleted file mode 100644
index 31d98c1f3..000000000
--- a/vm/mterp/x86/OP_UNUSED_50FF.S
+++ /dev/null
@@ -1 +0,0 @@
-%include "x86/unused.S"
diff --git a/vm/mterp/x86/OP_UNUSED_51FF.S b/vm/mterp/x86/OP_UNUSED_51FF.S
deleted file mode 100644
index 31d98c1f3..000000000
--- a/vm/mterp/x86/OP_UNUSED_51FF.S
+++ /dev/null
@@ -1 +0,0 @@
-%include "x86/unused.S"
diff --git a/vm/mterp/x86/OP_UNUSED_52FF.S b/vm/mterp/x86/OP_UNUSED_52FF.S
deleted file mode 100644
index 31d98c1f3..000000000
--- a/vm/mterp/x86/OP_UNUSED_52FF.S
+++ /dev/null
@@ -1 +0,0 @@
-%include "x86/unused.S"
diff --git a/vm/mterp/x86/OP_UNUSED_53FF.S b/vm/mterp/x86/OP_UNUSED_53FF.S
deleted file mode 100644
index 31d98c1f3..000000000
--- a/vm/mterp/x86/OP_UNUSED_53FF.S
+++ /dev/null
@@ -1 +0,0 @@
-%include "x86/unused.S"
diff --git a/vm/mterp/x86/OP_UNUSED_54FF.S b/vm/mterp/x86/OP_UNUSED_54FF.S
deleted file mode 100644
index 31d98c1f3..000000000
--- a/vm/mterp/x86/OP_UNUSED_54FF.S
+++ /dev/null
@@ -1 +0,0 @@
-%include "x86/unused.S"
diff --git a/vm/mterp/x86/OP_UNUSED_55FF.S b/vm/mterp/x86/OP_UNUSED_55FF.S
deleted file mode 100644
index 31d98c1f3..000000000
--- a/vm/mterp/x86/OP_UNUSED_55FF.S
+++ /dev/null
@@ -1 +0,0 @@
-%include "x86/unused.S"
diff --git a/vm/mterp/x86/OP_UNUSED_56FF.S b/vm/mterp/x86/OP_UNUSED_56FF.S
deleted file mode 100644
index 31d98c1f3..000000000
--- a/vm/mterp/x86/OP_UNUSED_56FF.S
+++ /dev/null
@@ -1 +0,0 @@
-%include "x86/unused.S"
diff --git a/vm/mterp/x86/OP_UNUSED_57FF.S b/vm/mterp/x86/OP_UNUSED_57FF.S
deleted file mode 100644
index 31d98c1f3..000000000
--- a/vm/mterp/x86/OP_UNUSED_57FF.S
+++ /dev/null
@@ -1 +0,0 @@
-%include "x86/unused.S"
diff --git a/vm/mterp/x86/OP_UNUSED_58FF.S b/vm/mterp/x86/OP_UNUSED_58FF.S
deleted file mode 100644
index 31d98c1f3..000000000
--- a/vm/mterp/x86/OP_UNUSED_58FF.S
+++ /dev/null
@@ -1 +0,0 @@
-%include "x86/unused.S"
diff --git a/vm/mterp/x86/OP_UNUSED_59FF.S b/vm/mterp/x86/OP_UNUSED_59FF.S
deleted file mode 100644
index 31d98c1f3..000000000
--- a/vm/mterp/x86/OP_UNUSED_59FF.S
+++ /dev/null
@@ -1 +0,0 @@
-%include "x86/unused.S"
diff --git a/vm/mterp/x86/OP_UNUSED_5AFF.S b/vm/mterp/x86/OP_UNUSED_5AFF.S
deleted file mode 100644
index 31d98c1f3..000000000
--- a/vm/mterp/x86/OP_UNUSED_5AFF.S
+++ /dev/null
@@ -1 +0,0 @@
-%include "x86/unused.S"
diff --git a/vm/mterp/x86/OP_UNUSED_5BFF.S b/vm/mterp/x86/OP_UNUSED_5BFF.S
deleted file mode 100644
index 31d98c1f3..000000000
--- a/vm/mterp/x86/OP_UNUSED_5BFF.S
+++ /dev/null
@@ -1 +0,0 @@
-%include "x86/unused.S"
diff --git a/vm/mterp/x86/OP_UNUSED_5CFF.S b/vm/mterp/x86/OP_UNUSED_5CFF.S
deleted file mode 100644
index 31d98c1f3..000000000
--- a/vm/mterp/x86/OP_UNUSED_5CFF.S
+++ /dev/null
@@ -1 +0,0 @@
-%include "x86/unused.S"
diff --git a/vm/mterp/x86/OP_UNUSED_5DFF.S b/vm/mterp/x86/OP_UNUSED_5DFF.S
deleted file mode 100644
index 31d98c1f3..000000000
--- a/vm/mterp/x86/OP_UNUSED_5DFF.S
+++ /dev/null
@@ -1 +0,0 @@
-%include "x86/unused.S"
diff --git a/vm/mterp/x86/OP_UNUSED_5EFF.S b/vm/mterp/x86/OP_UNUSED_5EFF.S
deleted file mode 100644
index 31d98c1f3..000000000
--- a/vm/mterp/x86/OP_UNUSED_5EFF.S
+++ /dev/null
@@ -1 +0,0 @@
-%include "x86/unused.S"
diff --git a/vm/mterp/x86/OP_UNUSED_5FFF.S b/vm/mterp/x86/OP_UNUSED_5FFF.S
deleted file mode 100644
index 31d98c1f3..000000000
--- a/vm/mterp/x86/OP_UNUSED_5FFF.S
+++ /dev/null
@@ -1 +0,0 @@
-%include "x86/unused.S"
diff --git a/vm/mterp/x86/OP_UNUSED_60FF.S b/vm/mterp/x86/OP_UNUSED_60FF.S
deleted file mode 100644
index 31d98c1f3..000000000
--- a/vm/mterp/x86/OP_UNUSED_60FF.S
+++ /dev/null
@@ -1 +0,0 @@
-%include "x86/unused.S"
diff --git a/vm/mterp/x86/OP_UNUSED_61FF.S b/vm/mterp/x86/OP_UNUSED_61FF.S
deleted file mode 100644
index 31d98c1f3..000000000
--- a/vm/mterp/x86/OP_UNUSED_61FF.S
+++ /dev/null
@@ -1 +0,0 @@
-%include "x86/unused.S"
diff --git a/vm/mterp/x86/OP_UNUSED_62FF.S b/vm/mterp/x86/OP_UNUSED_62FF.S
deleted file mode 100644
index 31d98c1f3..000000000
--- a/vm/mterp/x86/OP_UNUSED_62FF.S
+++ /dev/null
@@ -1 +0,0 @@
-%include "x86/unused.S"
diff --git a/vm/mterp/x86/OP_UNUSED_63FF.S b/vm/mterp/x86/OP_UNUSED_63FF.S
deleted file mode 100644
index 31d98c1f3..000000000
--- a/vm/mterp/x86/OP_UNUSED_63FF.S
+++ /dev/null
@@ -1 +0,0 @@
-%include "x86/unused.S"
diff --git a/vm/mterp/x86/OP_UNUSED_64FF.S b/vm/mterp/x86/OP_UNUSED_64FF.S
deleted file mode 100644
index 31d98c1f3..000000000
--- a/vm/mterp/x86/OP_UNUSED_64FF.S
+++ /dev/null
@@ -1 +0,0 @@
-%include "x86/unused.S"
diff --git a/vm/mterp/x86/OP_UNUSED_65FF.S b/vm/mterp/x86/OP_UNUSED_65FF.S
deleted file mode 100644
index 31d98c1f3..000000000
--- a/vm/mterp/x86/OP_UNUSED_65FF.S
+++ /dev/null
@@ -1 +0,0 @@
-%include "x86/unused.S"
diff --git a/vm/mterp/x86/OP_UNUSED_66FF.S b/vm/mterp/x86/OP_UNUSED_66FF.S
deleted file mode 100644
index 31d98c1f3..000000000
--- a/vm/mterp/x86/OP_UNUSED_66FF.S
+++ /dev/null
@@ -1 +0,0 @@
-%include "x86/unused.S"
diff --git a/vm/mterp/x86/OP_UNUSED_67FF.S b/vm/mterp/x86/OP_UNUSED_67FF.S
deleted file mode 100644
index 31d98c1f3..000000000
--- a/vm/mterp/x86/OP_UNUSED_67FF.S
+++ /dev/null
@@ -1 +0,0 @@
-%include "x86/unused.S"
diff --git a/vm/mterp/x86/OP_UNUSED_68FF.S b/vm/mterp/x86/OP_UNUSED_68FF.S
deleted file mode 100644
index 31d98c1f3..000000000
--- a/vm/mterp/x86/OP_UNUSED_68FF.S
+++ /dev/null
@@ -1 +0,0 @@
-%include "x86/unused.S"
diff --git a/vm/mterp/x86/OP_UNUSED_69FF.S b/vm/mterp/x86/OP_UNUSED_69FF.S
deleted file mode 100644
index 31d98c1f3..000000000
--- a/vm/mterp/x86/OP_UNUSED_69FF.S
+++ /dev/null
@@ -1 +0,0 @@
-%include "x86/unused.S"
diff --git a/vm/mterp/x86/OP_UNUSED_6AFF.S b/vm/mterp/x86/OP_UNUSED_6AFF.S
deleted file mode 100644
index 31d98c1f3..000000000
--- a/vm/mterp/x86/OP_UNUSED_6AFF.S
+++ /dev/null
@@ -1 +0,0 @@
-%include "x86/unused.S"
diff --git a/vm/mterp/x86/OP_UNUSED_6BFF.S b/vm/mterp/x86/OP_UNUSED_6BFF.S
deleted file mode 100644
index 31d98c1f3..000000000
--- a/vm/mterp/x86/OP_UNUSED_6BFF.S
+++ /dev/null
@@ -1 +0,0 @@
-%include "x86/unused.S"
diff --git a/vm/mterp/x86/OP_UNUSED_6CFF.S b/vm/mterp/x86/OP_UNUSED_6CFF.S
deleted file mode 100644
index 31d98c1f3..000000000
--- a/vm/mterp/x86/OP_UNUSED_6CFF.S
+++ /dev/null
@@ -1 +0,0 @@
-%include "x86/unused.S"
diff --git a/vm/mterp/x86/OP_UNUSED_6DFF.S b/vm/mterp/x86/OP_UNUSED_6DFF.S
deleted file mode 100644
index 31d98c1f3..000000000
--- a/vm/mterp/x86/OP_UNUSED_6DFF.S
+++ /dev/null
@@ -1 +0,0 @@
-%include "x86/unused.S"
diff --git a/vm/mterp/x86/OP_UNUSED_6EFF.S b/vm/mterp/x86/OP_UNUSED_6EFF.S
deleted file mode 100644
index 31d98c1f3..000000000
--- a/vm/mterp/x86/OP_UNUSED_6EFF.S
+++ /dev/null
@@ -1 +0,0 @@
-%include "x86/unused.S"
diff --git a/vm/mterp/x86/OP_UNUSED_6FFF.S b/vm/mterp/x86/OP_UNUSED_6FFF.S
deleted file mode 100644
index 31d98c1f3..000000000
--- a/vm/mterp/x86/OP_UNUSED_6FFF.S
+++ /dev/null
@@ -1 +0,0 @@
-%include "x86/unused.S"
diff --git a/vm/mterp/x86/OP_UNUSED_70FF.S b/vm/mterp/x86/OP_UNUSED_70FF.S
deleted file mode 100644
index 31d98c1f3..000000000
--- a/vm/mterp/x86/OP_UNUSED_70FF.S
+++ /dev/null
@@ -1 +0,0 @@
-%include "x86/unused.S"
diff --git a/vm/mterp/x86/OP_UNUSED_71FF.S b/vm/mterp/x86/OP_UNUSED_71FF.S
deleted file mode 100644
index 31d98c1f3..000000000
--- a/vm/mterp/x86/OP_UNUSED_71FF.S
+++ /dev/null
@@ -1 +0,0 @@
-%include "x86/unused.S"
diff --git a/vm/mterp/x86/OP_UNUSED_72FF.S b/vm/mterp/x86/OP_UNUSED_72FF.S
deleted file mode 100644
index 31d98c1f3..000000000
--- a/vm/mterp/x86/OP_UNUSED_72FF.S
+++ /dev/null
@@ -1 +0,0 @@
-%include "x86/unused.S"
diff --git a/vm/mterp/x86/OP_UNUSED_73FF.S b/vm/mterp/x86/OP_UNUSED_73FF.S
deleted file mode 100644
index 31d98c1f3..000000000
--- a/vm/mterp/x86/OP_UNUSED_73FF.S
+++ /dev/null
@@ -1 +0,0 @@
-%include "x86/unused.S"
diff --git a/vm/mterp/x86/OP_UNUSED_74FF.S b/vm/mterp/x86/OP_UNUSED_74FF.S
deleted file mode 100644
index 31d98c1f3..000000000
--- a/vm/mterp/x86/OP_UNUSED_74FF.S
+++ /dev/null
@@ -1 +0,0 @@
-%include "x86/unused.S"
diff --git a/vm/mterp/x86/OP_UNUSED_75FF.S b/vm/mterp/x86/OP_UNUSED_75FF.S
deleted file mode 100644
index 31d98c1f3..000000000
--- a/vm/mterp/x86/OP_UNUSED_75FF.S
+++ /dev/null
@@ -1 +0,0 @@
-%include "x86/unused.S"
diff --git a/vm/mterp/x86/OP_UNUSED_76FF.S b/vm/mterp/x86/OP_UNUSED_76FF.S
deleted file mode 100644
index 31d98c1f3..000000000
--- a/vm/mterp/x86/OP_UNUSED_76FF.S
+++ /dev/null
@@ -1 +0,0 @@
-%include "x86/unused.S"
diff --git a/vm/mterp/x86/OP_UNUSED_77FF.S b/vm/mterp/x86/OP_UNUSED_77FF.S
deleted file mode 100644
index 31d98c1f3..000000000
--- a/vm/mterp/x86/OP_UNUSED_77FF.S
+++ /dev/null
@@ -1 +0,0 @@
-%include "x86/unused.S"
diff --git a/vm/mterp/x86/OP_UNUSED_78FF.S b/vm/mterp/x86/OP_UNUSED_78FF.S
deleted file mode 100644
index 31d98c1f3..000000000
--- a/vm/mterp/x86/OP_UNUSED_78FF.S
+++ /dev/null
@@ -1 +0,0 @@
-%include "x86/unused.S"
diff --git a/vm/mterp/x86/OP_UNUSED_79FF.S b/vm/mterp/x86/OP_UNUSED_79FF.S
deleted file mode 100644
index 31d98c1f3..000000000
--- a/vm/mterp/x86/OP_UNUSED_79FF.S
+++ /dev/null
@@ -1 +0,0 @@
-%include "x86/unused.S"
diff --git a/vm/mterp/x86/OP_UNUSED_7AFF.S b/vm/mterp/x86/OP_UNUSED_7AFF.S
deleted file mode 100644
index 31d98c1f3..000000000
--- a/vm/mterp/x86/OP_UNUSED_7AFF.S
+++ /dev/null
@@ -1 +0,0 @@
-%include "x86/unused.S"
diff --git a/vm/mterp/x86/OP_UNUSED_7BFF.S b/vm/mterp/x86/OP_UNUSED_7BFF.S
deleted file mode 100644
index 31d98c1f3..000000000
--- a/vm/mterp/x86/OP_UNUSED_7BFF.S
+++ /dev/null
@@ -1 +0,0 @@
-%include "x86/unused.S"
diff --git a/vm/mterp/x86/OP_UNUSED_7CFF.S b/vm/mterp/x86/OP_UNUSED_7CFF.S
deleted file mode 100644
index 31d98c1f3..000000000
--- a/vm/mterp/x86/OP_UNUSED_7CFF.S
+++ /dev/null
@@ -1 +0,0 @@
-%include "x86/unused.S"
diff --git a/vm/mterp/x86/OP_UNUSED_7DFF.S b/vm/mterp/x86/OP_UNUSED_7DFF.S
deleted file mode 100644
index 31d98c1f3..000000000
--- a/vm/mterp/x86/OP_UNUSED_7DFF.S
+++ /dev/null
@@ -1 +0,0 @@
-%include "x86/unused.S"
diff --git a/vm/mterp/x86/OP_UNUSED_7EFF.S b/vm/mterp/x86/OP_UNUSED_7EFF.S
deleted file mode 100644
index 31d98c1f3..000000000
--- a/vm/mterp/x86/OP_UNUSED_7EFF.S
+++ /dev/null
@@ -1 +0,0 @@
-%include "x86/unused.S"
diff --git a/vm/mterp/x86/OP_UNUSED_7FFF.S b/vm/mterp/x86/OP_UNUSED_7FFF.S
deleted file mode 100644
index 31d98c1f3..000000000
--- a/vm/mterp/x86/OP_UNUSED_7FFF.S
+++ /dev/null
@@ -1 +0,0 @@
-%include "x86/unused.S"
diff --git a/vm/mterp/x86/OP_UNUSED_80FF.S b/vm/mterp/x86/OP_UNUSED_80FF.S
deleted file mode 100644
index 31d98c1f3..000000000
--- a/vm/mterp/x86/OP_UNUSED_80FF.S
+++ /dev/null
@@ -1 +0,0 @@
-%include "x86/unused.S"
diff --git a/vm/mterp/x86/OP_UNUSED_81FF.S b/vm/mterp/x86/OP_UNUSED_81FF.S
deleted file mode 100644
index 31d98c1f3..000000000
--- a/vm/mterp/x86/OP_UNUSED_81FF.S
+++ /dev/null
@@ -1 +0,0 @@
-%include "x86/unused.S"
diff --git a/vm/mterp/x86/OP_UNUSED_82FF.S b/vm/mterp/x86/OP_UNUSED_82FF.S
deleted file mode 100644
index 31d98c1f3..000000000
--- a/vm/mterp/x86/OP_UNUSED_82FF.S
+++ /dev/null
@@ -1 +0,0 @@
-%include "x86/unused.S"
diff --git a/vm/mterp/x86/OP_UNUSED_83FF.S b/vm/mterp/x86/OP_UNUSED_83FF.S
deleted file mode 100644
index 31d98c1f3..000000000
--- a/vm/mterp/x86/OP_UNUSED_83FF.S
+++ /dev/null
@@ -1 +0,0 @@
-%include "x86/unused.S"
diff --git a/vm/mterp/x86/OP_UNUSED_84FF.S b/vm/mterp/x86/OP_UNUSED_84FF.S
deleted file mode 100644
index 31d98c1f3..000000000
--- a/vm/mterp/x86/OP_UNUSED_84FF.S
+++ /dev/null
@@ -1 +0,0 @@
-%include "x86/unused.S"
diff --git a/vm/mterp/x86/OP_UNUSED_85FF.S b/vm/mterp/x86/OP_UNUSED_85FF.S
deleted file mode 100644
index 31d98c1f3..000000000
--- a/vm/mterp/x86/OP_UNUSED_85FF.S
+++ /dev/null
@@ -1 +0,0 @@
-%include "x86/unused.S"
diff --git a/vm/mterp/x86/OP_UNUSED_86FF.S b/vm/mterp/x86/OP_UNUSED_86FF.S
deleted file mode 100644
index 31d98c1f3..000000000
--- a/vm/mterp/x86/OP_UNUSED_86FF.S
+++ /dev/null
@@ -1 +0,0 @@
-%include "x86/unused.S"
diff --git a/vm/mterp/x86/OP_UNUSED_87FF.S b/vm/mterp/x86/OP_UNUSED_87FF.S
deleted file mode 100644
index 31d98c1f3..000000000
--- a/vm/mterp/x86/OP_UNUSED_87FF.S
+++ /dev/null
@@ -1 +0,0 @@
-%include "x86/unused.S"
diff --git a/vm/mterp/x86/OP_UNUSED_88FF.S b/vm/mterp/x86/OP_UNUSED_88FF.S
deleted file mode 100644
index 31d98c1f3..000000000
--- a/vm/mterp/x86/OP_UNUSED_88FF.S
+++ /dev/null
@@ -1 +0,0 @@
-%include "x86/unused.S"
diff --git a/vm/mterp/x86/OP_UNUSED_89FF.S b/vm/mterp/x86/OP_UNUSED_89FF.S
deleted file mode 100644
index 31d98c1f3..000000000
--- a/vm/mterp/x86/OP_UNUSED_89FF.S
+++ /dev/null
@@ -1 +0,0 @@
-%include "x86/unused.S"
diff --git a/vm/mterp/x86/OP_UNUSED_8AFF.S b/vm/mterp/x86/OP_UNUSED_8AFF.S
deleted file mode 100644
index 31d98c1f3..000000000
--- a/vm/mterp/x86/OP_UNUSED_8AFF.S
+++ /dev/null
@@ -1 +0,0 @@
-%include "x86/unused.S"
diff --git a/vm/mterp/x86/OP_UNUSED_8BFF.S b/vm/mterp/x86/OP_UNUSED_8BFF.S
deleted file mode 100644
index 31d98c1f3..000000000
--- a/vm/mterp/x86/OP_UNUSED_8BFF.S
+++ /dev/null
@@ -1 +0,0 @@
-%include "x86/unused.S"
diff --git a/vm/mterp/x86/OP_UNUSED_8CFF.S b/vm/mterp/x86/OP_UNUSED_8CFF.S
deleted file mode 100644
index 31d98c1f3..000000000
--- a/vm/mterp/x86/OP_UNUSED_8CFF.S
+++ /dev/null
@@ -1 +0,0 @@
-%include "x86/unused.S"
diff --git a/vm/mterp/x86/OP_UNUSED_8DFF.S b/vm/mterp/x86/OP_UNUSED_8DFF.S
deleted file mode 100644
index 31d98c1f3..000000000
--- a/vm/mterp/x86/OP_UNUSED_8DFF.S
+++ /dev/null
@@ -1 +0,0 @@
-%include "x86/unused.S"
diff --git a/vm/mterp/x86/OP_UNUSED_8EFF.S b/vm/mterp/x86/OP_UNUSED_8EFF.S
deleted file mode 100644
index 31d98c1f3..000000000
--- a/vm/mterp/x86/OP_UNUSED_8EFF.S
+++ /dev/null
@@ -1 +0,0 @@
-%include "x86/unused.S"
diff --git a/vm/mterp/x86/OP_UNUSED_8FFF.S b/vm/mterp/x86/OP_UNUSED_8FFF.S
deleted file mode 100644
index 31d98c1f3..000000000
--- a/vm/mterp/x86/OP_UNUSED_8FFF.S
+++ /dev/null
@@ -1 +0,0 @@
-%include "x86/unused.S"
diff --git a/vm/mterp/x86/OP_UNUSED_90FF.S b/vm/mterp/x86/OP_UNUSED_90FF.S
deleted file mode 100644
index 31d98c1f3..000000000
--- a/vm/mterp/x86/OP_UNUSED_90FF.S
+++ /dev/null
@@ -1 +0,0 @@
-%include "x86/unused.S"
diff --git a/vm/mterp/x86/OP_UNUSED_91FF.S b/vm/mterp/x86/OP_UNUSED_91FF.S
deleted file mode 100644
index 31d98c1f3..000000000
--- a/vm/mterp/x86/OP_UNUSED_91FF.S
+++ /dev/null
@@ -1 +0,0 @@
-%include "x86/unused.S"
diff --git a/vm/mterp/x86/OP_UNUSED_92FF.S b/vm/mterp/x86/OP_UNUSED_92FF.S
deleted file mode 100644
index 31d98c1f3..000000000
--- a/vm/mterp/x86/OP_UNUSED_92FF.S
+++ /dev/null
@@ -1 +0,0 @@
-%include "x86/unused.S"
diff --git a/vm/mterp/x86/OP_UNUSED_93FF.S b/vm/mterp/x86/OP_UNUSED_93FF.S
deleted file mode 100644
index 31d98c1f3..000000000
--- a/vm/mterp/x86/OP_UNUSED_93FF.S
+++ /dev/null
@@ -1 +0,0 @@
-%include "x86/unused.S"
diff --git a/vm/mterp/x86/OP_UNUSED_94FF.S b/vm/mterp/x86/OP_UNUSED_94FF.S
deleted file mode 100644
index 31d98c1f3..000000000
--- a/vm/mterp/x86/OP_UNUSED_94FF.S
+++ /dev/null
@@ -1 +0,0 @@
-%include "x86/unused.S"
diff --git a/vm/mterp/x86/OP_UNUSED_95FF.S b/vm/mterp/x86/OP_UNUSED_95FF.S
deleted file mode 100644
index 31d98c1f3..000000000
--- a/vm/mterp/x86/OP_UNUSED_95FF.S
+++ /dev/null
@@ -1 +0,0 @@
-%include "x86/unused.S"
diff --git a/vm/mterp/x86/OP_UNUSED_96FF.S b/vm/mterp/x86/OP_UNUSED_96FF.S
deleted file mode 100644
index 31d98c1f3..000000000
--- a/vm/mterp/x86/OP_UNUSED_96FF.S
+++ /dev/null
@@ -1 +0,0 @@
-%include "x86/unused.S"
diff --git a/vm/mterp/x86/OP_UNUSED_97FF.S b/vm/mterp/x86/OP_UNUSED_97FF.S
deleted file mode 100644
index 31d98c1f3..000000000
--- a/vm/mterp/x86/OP_UNUSED_97FF.S
+++ /dev/null
@@ -1 +0,0 @@
-%include "x86/unused.S"
diff --git a/vm/mterp/x86/OP_UNUSED_98FF.S b/vm/mterp/x86/OP_UNUSED_98FF.S
deleted file mode 100644
index 31d98c1f3..000000000
--- a/vm/mterp/x86/OP_UNUSED_98FF.S
+++ /dev/null
@@ -1 +0,0 @@
-%include "x86/unused.S"
diff --git a/vm/mterp/x86/OP_UNUSED_99FF.S b/vm/mterp/x86/OP_UNUSED_99FF.S
deleted file mode 100644
index 31d98c1f3..000000000
--- a/vm/mterp/x86/OP_UNUSED_99FF.S
+++ /dev/null
@@ -1 +0,0 @@
-%include "x86/unused.S"
diff --git a/vm/mterp/x86/OP_UNUSED_9AFF.S b/vm/mterp/x86/OP_UNUSED_9AFF.S
deleted file mode 100644
index 31d98c1f3..000000000
--- a/vm/mterp/x86/OP_UNUSED_9AFF.S
+++ /dev/null
@@ -1 +0,0 @@
-%include "x86/unused.S"
diff --git a/vm/mterp/x86/OP_UNUSED_9BFF.S b/vm/mterp/x86/OP_UNUSED_9BFF.S
deleted file mode 100644
index 31d98c1f3..000000000
--- a/vm/mterp/x86/OP_UNUSED_9BFF.S
+++ /dev/null
@@ -1 +0,0 @@
-%include "x86/unused.S"
diff --git a/vm/mterp/x86/OP_UNUSED_9CFF.S b/vm/mterp/x86/OP_UNUSED_9CFF.S
deleted file mode 100644
index 31d98c1f3..000000000
--- a/vm/mterp/x86/OP_UNUSED_9CFF.S
+++ /dev/null
@@ -1 +0,0 @@
-%include "x86/unused.S"
diff --git a/vm/mterp/x86/OP_UNUSED_9DFF.S b/vm/mterp/x86/OP_UNUSED_9DFF.S
deleted file mode 100644
index 31d98c1f3..000000000
--- a/vm/mterp/x86/OP_UNUSED_9DFF.S
+++ /dev/null
@@ -1 +0,0 @@
-%include "x86/unused.S"
diff --git a/vm/mterp/x86/OP_UNUSED_9EFF.S b/vm/mterp/x86/OP_UNUSED_9EFF.S
deleted file mode 100644
index 31d98c1f3..000000000
--- a/vm/mterp/x86/OP_UNUSED_9EFF.S
+++ /dev/null
@@ -1 +0,0 @@
-%include "x86/unused.S"
diff --git a/vm/mterp/x86/OP_UNUSED_9FFF.S b/vm/mterp/x86/OP_UNUSED_9FFF.S
deleted file mode 100644
index 31d98c1f3..000000000
--- a/vm/mterp/x86/OP_UNUSED_9FFF.S
+++ /dev/null
@@ -1 +0,0 @@
-%include "x86/unused.S"
diff --git a/vm/mterp/x86/OP_UNUSED_A0FF.S b/vm/mterp/x86/OP_UNUSED_A0FF.S
deleted file mode 100644
index 31d98c1f3..000000000
--- a/vm/mterp/x86/OP_UNUSED_A0FF.S
+++ /dev/null
@@ -1 +0,0 @@
-%include "x86/unused.S"
diff --git a/vm/mterp/x86/OP_UNUSED_A1FF.S b/vm/mterp/x86/OP_UNUSED_A1FF.S
deleted file mode 100644
index 31d98c1f3..000000000
--- a/vm/mterp/x86/OP_UNUSED_A1FF.S
+++ /dev/null
@@ -1 +0,0 @@
-%include "x86/unused.S"
diff --git a/vm/mterp/x86/OP_UNUSED_A2FF.S b/vm/mterp/x86/OP_UNUSED_A2FF.S
deleted file mode 100644
index 31d98c1f3..000000000
--- a/vm/mterp/x86/OP_UNUSED_A2FF.S
+++ /dev/null
@@ -1 +0,0 @@
-%include "x86/unused.S"
diff --git a/vm/mterp/x86/OP_UNUSED_A3FF.S b/vm/mterp/x86/OP_UNUSED_A3FF.S
deleted file mode 100644
index 31d98c1f3..000000000
--- a/vm/mterp/x86/OP_UNUSED_A3FF.S
+++ /dev/null
@@ -1 +0,0 @@
-%include "x86/unused.S"
diff --git a/vm/mterp/x86/OP_UNUSED_A4FF.S b/vm/mterp/x86/OP_UNUSED_A4FF.S
deleted file mode 100644
index 31d98c1f3..000000000
--- a/vm/mterp/x86/OP_UNUSED_A4FF.S
+++ /dev/null
@@ -1 +0,0 @@
-%include "x86/unused.S"
diff --git a/vm/mterp/x86/OP_UNUSED_A5FF.S b/vm/mterp/x86/OP_UNUSED_A5FF.S
deleted file mode 100644
index 31d98c1f3..000000000
--- a/vm/mterp/x86/OP_UNUSED_A5FF.S
+++ /dev/null
@@ -1 +0,0 @@
-%include "x86/unused.S"
diff --git a/vm/mterp/x86/OP_UNUSED_A6FF.S b/vm/mterp/x86/OP_UNUSED_A6FF.S
deleted file mode 100644
index 31d98c1f3..000000000
--- a/vm/mterp/x86/OP_UNUSED_A6FF.S
+++ /dev/null
@@ -1 +0,0 @@
-%include "x86/unused.S"
diff --git a/vm/mterp/x86/OP_UNUSED_A7FF.S b/vm/mterp/x86/OP_UNUSED_A7FF.S
deleted file mode 100644
index 31d98c1f3..000000000
--- a/vm/mterp/x86/OP_UNUSED_A7FF.S
+++ /dev/null
@@ -1 +0,0 @@
-%include "x86/unused.S"
diff --git a/vm/mterp/x86/OP_UNUSED_A8FF.S b/vm/mterp/x86/OP_UNUSED_A8FF.S
deleted file mode 100644
index 31d98c1f3..000000000
--- a/vm/mterp/x86/OP_UNUSED_A8FF.S
+++ /dev/null
@@ -1 +0,0 @@
-%include "x86/unused.S"
diff --git a/vm/mterp/x86/OP_UNUSED_A9FF.S b/vm/mterp/x86/OP_UNUSED_A9FF.S
deleted file mode 100644
index 31d98c1f3..000000000
--- a/vm/mterp/x86/OP_UNUSED_A9FF.S
+++ /dev/null
@@ -1 +0,0 @@
-%include "x86/unused.S"
diff --git a/vm/mterp/x86/OP_UNUSED_AAFF.S b/vm/mterp/x86/OP_UNUSED_AAFF.S
deleted file mode 100644
index 31d98c1f3..000000000
--- a/vm/mterp/x86/OP_UNUSED_AAFF.S
+++ /dev/null
@@ -1 +0,0 @@
-%include "x86/unused.S"
diff --git a/vm/mterp/x86/OP_UNUSED_ABFF.S b/vm/mterp/x86/OP_UNUSED_ABFF.S
deleted file mode 100644
index 31d98c1f3..000000000
--- a/vm/mterp/x86/OP_UNUSED_ABFF.S
+++ /dev/null
@@ -1 +0,0 @@
-%include "x86/unused.S"
diff --git a/vm/mterp/x86/OP_UNUSED_ACFF.S b/vm/mterp/x86/OP_UNUSED_ACFF.S
deleted file mode 100644
index 31d98c1f3..000000000
--- a/vm/mterp/x86/OP_UNUSED_ACFF.S
+++ /dev/null
@@ -1 +0,0 @@
-%include "x86/unused.S"
diff --git a/vm/mterp/x86/OP_UNUSED_ADFF.S b/vm/mterp/x86/OP_UNUSED_ADFF.S
deleted file mode 100644
index 31d98c1f3..000000000
--- a/vm/mterp/x86/OP_UNUSED_ADFF.S
+++ /dev/null
@@ -1 +0,0 @@
-%include "x86/unused.S"
diff --git a/vm/mterp/x86/OP_UNUSED_AEFF.S b/vm/mterp/x86/OP_UNUSED_AEFF.S
deleted file mode 100644
index 31d98c1f3..000000000
--- a/vm/mterp/x86/OP_UNUSED_AEFF.S
+++ /dev/null
@@ -1 +0,0 @@
-%include "x86/unused.S"
diff --git a/vm/mterp/x86/OP_UNUSED_AFFF.S b/vm/mterp/x86/OP_UNUSED_AFFF.S
deleted file mode 100644
index 31d98c1f3..000000000
--- a/vm/mterp/x86/OP_UNUSED_AFFF.S
+++ /dev/null
@@ -1 +0,0 @@
-%include "x86/unused.S"
diff --git a/vm/mterp/x86/OP_UNUSED_B0FF.S b/vm/mterp/x86/OP_UNUSED_B0FF.S
deleted file mode 100644
index 31d98c1f3..000000000
--- a/vm/mterp/x86/OP_UNUSED_B0FF.S
+++ /dev/null
@@ -1 +0,0 @@
-%include "x86/unused.S"
diff --git a/vm/mterp/x86/OP_UNUSED_B1FF.S b/vm/mterp/x86/OP_UNUSED_B1FF.S
deleted file mode 100644
index 31d98c1f3..000000000
--- a/vm/mterp/x86/OP_UNUSED_B1FF.S
+++ /dev/null
@@ -1 +0,0 @@
-%include "x86/unused.S"
diff --git a/vm/mterp/x86/OP_UNUSED_B2FF.S b/vm/mterp/x86/OP_UNUSED_B2FF.S
deleted file mode 100644
index 31d98c1f3..000000000
--- a/vm/mterp/x86/OP_UNUSED_B2FF.S
+++ /dev/null
@@ -1 +0,0 @@
-%include "x86/unused.S"
diff --git a/vm/mterp/x86/OP_UNUSED_B3FF.S b/vm/mterp/x86/OP_UNUSED_B3FF.S
deleted file mode 100644
index 31d98c1f3..000000000
--- a/vm/mterp/x86/OP_UNUSED_B3FF.S
+++ /dev/null
@@ -1 +0,0 @@
-%include "x86/unused.S"
diff --git a/vm/mterp/x86/OP_UNUSED_B4FF.S b/vm/mterp/x86/OP_UNUSED_B4FF.S
deleted file mode 100644
index 31d98c1f3..000000000
--- a/vm/mterp/x86/OP_UNUSED_B4FF.S
+++ /dev/null
@@ -1 +0,0 @@
-%include "x86/unused.S"
diff --git a/vm/mterp/x86/OP_UNUSED_B5FF.S b/vm/mterp/x86/OP_UNUSED_B5FF.S
deleted file mode 100644
index 31d98c1f3..000000000
--- a/vm/mterp/x86/OP_UNUSED_B5FF.S
+++ /dev/null
@@ -1 +0,0 @@
-%include "x86/unused.S"
diff --git a/vm/mterp/x86/OP_UNUSED_B6FF.S b/vm/mterp/x86/OP_UNUSED_B6FF.S
deleted file mode 100644
index 31d98c1f3..000000000
--- a/vm/mterp/x86/OP_UNUSED_B6FF.S
+++ /dev/null
@@ -1 +0,0 @@
-%include "x86/unused.S"
diff --git a/vm/mterp/x86/OP_UNUSED_B7FF.S b/vm/mterp/x86/OP_UNUSED_B7FF.S
deleted file mode 100644
index 31d98c1f3..000000000
--- a/vm/mterp/x86/OP_UNUSED_B7FF.S
+++ /dev/null
@@ -1 +0,0 @@
-%include "x86/unused.S"
diff --git a/vm/mterp/x86/OP_UNUSED_B8FF.S b/vm/mterp/x86/OP_UNUSED_B8FF.S
deleted file mode 100644
index 31d98c1f3..000000000
--- a/vm/mterp/x86/OP_UNUSED_B8FF.S
+++ /dev/null
@@ -1 +0,0 @@
-%include "x86/unused.S"
diff --git a/vm/mterp/x86/OP_UNUSED_B9FF.S b/vm/mterp/x86/OP_UNUSED_B9FF.S
deleted file mode 100644
index 31d98c1f3..000000000
--- a/vm/mterp/x86/OP_UNUSED_B9FF.S
+++ /dev/null
@@ -1 +0,0 @@
-%include "x86/unused.S"
diff --git a/vm/mterp/x86/OP_UNUSED_BAFF.S b/vm/mterp/x86/OP_UNUSED_BAFF.S
deleted file mode 100644
index 31d98c1f3..000000000
--- a/vm/mterp/x86/OP_UNUSED_BAFF.S
+++ /dev/null
@@ -1 +0,0 @@
-%include "x86/unused.S"
diff --git a/vm/mterp/x86/OP_UNUSED_BBFF.S b/vm/mterp/x86/OP_UNUSED_BBFF.S
deleted file mode 100644
index 31d98c1f3..000000000
--- a/vm/mterp/x86/OP_UNUSED_BBFF.S
+++ /dev/null
@@ -1 +0,0 @@
-%include "x86/unused.S"
diff --git a/vm/mterp/x86/OP_UNUSED_BCFF.S b/vm/mterp/x86/OP_UNUSED_BCFF.S
deleted file mode 100644
index 31d98c1f3..000000000
--- a/vm/mterp/x86/OP_UNUSED_BCFF.S
+++ /dev/null
@@ -1 +0,0 @@
-%include "x86/unused.S"
diff --git a/vm/mterp/x86/OP_UNUSED_BDFF.S b/vm/mterp/x86/OP_UNUSED_BDFF.S
deleted file mode 100644
index 31d98c1f3..000000000
--- a/vm/mterp/x86/OP_UNUSED_BDFF.S
+++ /dev/null
@@ -1 +0,0 @@
-%include "x86/unused.S"
diff --git a/vm/mterp/x86/OP_UNUSED_BEFF.S b/vm/mterp/x86/OP_UNUSED_BEFF.S
deleted file mode 100644
index 31d98c1f3..000000000
--- a/vm/mterp/x86/OP_UNUSED_BEFF.S
+++ /dev/null
@@ -1 +0,0 @@
-%include "x86/unused.S"
diff --git a/vm/mterp/x86/OP_UNUSED_BFFF.S b/vm/mterp/x86/OP_UNUSED_BFFF.S
deleted file mode 100644
index 31d98c1f3..000000000
--- a/vm/mterp/x86/OP_UNUSED_BFFF.S
+++ /dev/null
@@ -1 +0,0 @@
-%include "x86/unused.S"
diff --git a/vm/mterp/x86/OP_UNUSED_C0FF.S b/vm/mterp/x86/OP_UNUSED_C0FF.S
deleted file mode 100644
index 31d98c1f3..000000000
--- a/vm/mterp/x86/OP_UNUSED_C0FF.S
+++ /dev/null
@@ -1 +0,0 @@
-%include "x86/unused.S"
diff --git a/vm/mterp/x86/OP_UNUSED_C1FF.S b/vm/mterp/x86/OP_UNUSED_C1FF.S
deleted file mode 100644
index 31d98c1f3..000000000
--- a/vm/mterp/x86/OP_UNUSED_C1FF.S
+++ /dev/null
@@ -1 +0,0 @@
-%include "x86/unused.S"
diff --git a/vm/mterp/x86/OP_UNUSED_C2FF.S b/vm/mterp/x86/OP_UNUSED_C2FF.S
deleted file mode 100644
index 31d98c1f3..000000000
--- a/vm/mterp/x86/OP_UNUSED_C2FF.S
+++ /dev/null
@@ -1 +0,0 @@
-%include "x86/unused.S"
diff --git a/vm/mterp/x86/OP_UNUSED_C3FF.S b/vm/mterp/x86/OP_UNUSED_C3FF.S
deleted file mode 100644
index 31d98c1f3..000000000
--- a/vm/mterp/x86/OP_UNUSED_C3FF.S
+++ /dev/null
@@ -1 +0,0 @@
-%include "x86/unused.S"
diff --git a/vm/mterp/x86/OP_UNUSED_C4FF.S b/vm/mterp/x86/OP_UNUSED_C4FF.S
deleted file mode 100644
index 31d98c1f3..000000000
--- a/vm/mterp/x86/OP_UNUSED_C4FF.S
+++ /dev/null
@@ -1 +0,0 @@
-%include "x86/unused.S"
diff --git a/vm/mterp/x86/OP_UNUSED_C5FF.S b/vm/mterp/x86/OP_UNUSED_C5FF.S
deleted file mode 100644
index 31d98c1f3..000000000
--- a/vm/mterp/x86/OP_UNUSED_C5FF.S
+++ /dev/null
@@ -1 +0,0 @@
-%include "x86/unused.S"
diff --git a/vm/mterp/x86/OP_UNUSED_C6FF.S b/vm/mterp/x86/OP_UNUSED_C6FF.S
deleted file mode 100644
index 31d98c1f3..000000000
--- a/vm/mterp/x86/OP_UNUSED_C6FF.S
+++ /dev/null
@@ -1 +0,0 @@
-%include "x86/unused.S"
diff --git a/vm/mterp/x86/OP_UNUSED_C7FF.S b/vm/mterp/x86/OP_UNUSED_C7FF.S
deleted file mode 100644
index 31d98c1f3..000000000
--- a/vm/mterp/x86/OP_UNUSED_C7FF.S
+++ /dev/null
@@ -1 +0,0 @@
-%include "x86/unused.S"
diff --git a/vm/mterp/x86/OP_UNUSED_C8FF.S b/vm/mterp/x86/OP_UNUSED_C8FF.S
deleted file mode 100644
index 31d98c1f3..000000000
--- a/vm/mterp/x86/OP_UNUSED_C8FF.S
+++ /dev/null
@@ -1 +0,0 @@
-%include "x86/unused.S"
diff --git a/vm/mterp/x86/OP_UNUSED_C9FF.S b/vm/mterp/x86/OP_UNUSED_C9FF.S
deleted file mode 100644
index 31d98c1f3..000000000
--- a/vm/mterp/x86/OP_UNUSED_C9FF.S
+++ /dev/null
@@ -1 +0,0 @@
-%include "x86/unused.S"
diff --git a/vm/mterp/x86/OP_UNUSED_CAFF.S b/vm/mterp/x86/OP_UNUSED_CAFF.S
deleted file mode 100644
index 31d98c1f3..000000000
--- a/vm/mterp/x86/OP_UNUSED_CAFF.S
+++ /dev/null
@@ -1 +0,0 @@
-%include "x86/unused.S"
diff --git a/vm/mterp/x86/OP_UNUSED_CBFF.S b/vm/mterp/x86/OP_UNUSED_CBFF.S
deleted file mode 100644
index 31d98c1f3..000000000
--- a/vm/mterp/x86/OP_UNUSED_CBFF.S
+++ /dev/null
@@ -1 +0,0 @@
-%include "x86/unused.S"
diff --git a/vm/mterp/x86/OP_UNUSED_CCFF.S b/vm/mterp/x86/OP_UNUSED_CCFF.S
deleted file mode 100644
index 31d98c1f3..000000000
--- a/vm/mterp/x86/OP_UNUSED_CCFF.S
+++ /dev/null
@@ -1 +0,0 @@
-%include "x86/unused.S"
diff --git a/vm/mterp/x86/OP_UNUSED_CDFF.S b/vm/mterp/x86/OP_UNUSED_CDFF.S
deleted file mode 100644
index 31d98c1f3..000000000
--- a/vm/mterp/x86/OP_UNUSED_CDFF.S
+++ /dev/null
@@ -1 +0,0 @@
-%include "x86/unused.S"
diff --git a/vm/mterp/x86/OP_UNUSED_CEFF.S b/vm/mterp/x86/OP_UNUSED_CEFF.S
deleted file mode 100644
index 31d98c1f3..000000000
--- a/vm/mterp/x86/OP_UNUSED_CEFF.S
+++ /dev/null
@@ -1 +0,0 @@
-%include "x86/unused.S"
diff --git a/vm/mterp/x86/OP_UNUSED_CFFF.S b/vm/mterp/x86/OP_UNUSED_CFFF.S
deleted file mode 100644
index 31d98c1f3..000000000
--- a/vm/mterp/x86/OP_UNUSED_CFFF.S
+++ /dev/null
@@ -1 +0,0 @@
-%include "x86/unused.S"
diff --git a/vm/mterp/x86/OP_UNUSED_D0FF.S b/vm/mterp/x86/OP_UNUSED_D0FF.S
deleted file mode 100644
index 31d98c1f3..000000000
--- a/vm/mterp/x86/OP_UNUSED_D0FF.S
+++ /dev/null
@@ -1 +0,0 @@
-%include "x86/unused.S"
diff --git a/vm/mterp/x86/OP_UNUSED_D1FF.S b/vm/mterp/x86/OP_UNUSED_D1FF.S
deleted file mode 100644
index 31d98c1f3..000000000
--- a/vm/mterp/x86/OP_UNUSED_D1FF.S
+++ /dev/null
@@ -1 +0,0 @@
-%include "x86/unused.S"
diff --git a/vm/mterp/x86/OP_UNUSED_D2FF.S b/vm/mterp/x86/OP_UNUSED_D2FF.S
deleted file mode 100644
index 31d98c1f3..000000000
--- a/vm/mterp/x86/OP_UNUSED_D2FF.S
+++ /dev/null
@@ -1 +0,0 @@
-%include "x86/unused.S"
diff --git a/vm/mterp/x86/OP_UNUSED_D3FF.S b/vm/mterp/x86/OP_UNUSED_D3FF.S
deleted file mode 100644
index 31d98c1f3..000000000
--- a/vm/mterp/x86/OP_UNUSED_D3FF.S
+++ /dev/null
@@ -1 +0,0 @@
-%include "x86/unused.S"
diff --git a/vm/mterp/x86/OP_UNUSED_D4FF.S b/vm/mterp/x86/OP_UNUSED_D4FF.S
deleted file mode 100644
index 31d98c1f3..000000000
--- a/vm/mterp/x86/OP_UNUSED_D4FF.S
+++ /dev/null
@@ -1 +0,0 @@
-%include "x86/unused.S"
diff --git a/vm/mterp/x86/OP_UNUSED_D5FF.S b/vm/mterp/x86/OP_UNUSED_D5FF.S
deleted file mode 100644
index 31d98c1f3..000000000
--- a/vm/mterp/x86/OP_UNUSED_D5FF.S
+++ /dev/null
@@ -1 +0,0 @@
-%include "x86/unused.S"
diff --git a/vm/mterp/x86/OP_UNUSED_D6FF.S b/vm/mterp/x86/OP_UNUSED_D6FF.S
deleted file mode 100644
index 31d98c1f3..000000000
--- a/vm/mterp/x86/OP_UNUSED_D6FF.S
+++ /dev/null
@@ -1 +0,0 @@
-%include "x86/unused.S"
diff --git a/vm/mterp/x86/OP_UNUSED_D7FF.S b/vm/mterp/x86/OP_UNUSED_D7FF.S
deleted file mode 100644
index 31d98c1f3..000000000
--- a/vm/mterp/x86/OP_UNUSED_D7FF.S
+++ /dev/null
@@ -1 +0,0 @@
-%include "x86/unused.S"
diff --git a/vm/mterp/x86/OP_UNUSED_D8FF.S b/vm/mterp/x86/OP_UNUSED_D8FF.S
deleted file mode 100644
index 31d98c1f3..000000000
--- a/vm/mterp/x86/OP_UNUSED_D8FF.S
+++ /dev/null
@@ -1 +0,0 @@
-%include "x86/unused.S"
diff --git a/vm/mterp/x86/OP_UNUSED_D9FF.S b/vm/mterp/x86/OP_UNUSED_D9FF.S
deleted file mode 100644
index 31d98c1f3..000000000
--- a/vm/mterp/x86/OP_UNUSED_D9FF.S
+++ /dev/null
@@ -1 +0,0 @@
-%include "x86/unused.S"
diff --git a/vm/mterp/x86/OP_UNUSED_DAFF.S b/vm/mterp/x86/OP_UNUSED_DAFF.S
deleted file mode 100644
index 31d98c1f3..000000000
--- a/vm/mterp/x86/OP_UNUSED_DAFF.S
+++ /dev/null
@@ -1 +0,0 @@
-%include "x86/unused.S"
diff --git a/vm/mterp/x86/OP_UNUSED_DBFF.S b/vm/mterp/x86/OP_UNUSED_DBFF.S
deleted file mode 100644
index 31d98c1f3..000000000
--- a/vm/mterp/x86/OP_UNUSED_DBFF.S
+++ /dev/null
@@ -1 +0,0 @@
-%include "x86/unused.S"
diff --git a/vm/mterp/x86/OP_UNUSED_DCFF.S b/vm/mterp/x86/OP_UNUSED_DCFF.S
deleted file mode 100644
index 31d98c1f3..000000000
--- a/vm/mterp/x86/OP_UNUSED_DCFF.S
+++ /dev/null
@@ -1 +0,0 @@
-%include "x86/unused.S"
diff --git a/vm/mterp/x86/OP_UNUSED_DDFF.S b/vm/mterp/x86/OP_UNUSED_DDFF.S
deleted file mode 100644
index 31d98c1f3..000000000
--- a/vm/mterp/x86/OP_UNUSED_DDFF.S
+++ /dev/null
@@ -1 +0,0 @@
-%include "x86/unused.S"
diff --git a/vm/mterp/x86/OP_UNUSED_DEFF.S b/vm/mterp/x86/OP_UNUSED_DEFF.S
deleted file mode 100644
index 31d98c1f3..000000000
--- a/vm/mterp/x86/OP_UNUSED_DEFF.S
+++ /dev/null
@@ -1 +0,0 @@
-%include "x86/unused.S"
diff --git a/vm/mterp/x86/OP_UNUSED_DFFF.S b/vm/mterp/x86/OP_UNUSED_DFFF.S
deleted file mode 100644
index 31d98c1f3..000000000
--- a/vm/mterp/x86/OP_UNUSED_DFFF.S
+++ /dev/null
@@ -1 +0,0 @@
-%include "x86/unused.S"
diff --git a/vm/mterp/x86/OP_UNUSED_E0FF.S b/vm/mterp/x86/OP_UNUSED_E0FF.S
deleted file mode 100644
index 31d98c1f3..000000000
--- a/vm/mterp/x86/OP_UNUSED_E0FF.S
+++ /dev/null
@@ -1 +0,0 @@
-%include "x86/unused.S"
diff --git a/vm/mterp/x86/OP_UNUSED_E1FF.S b/vm/mterp/x86/OP_UNUSED_E1FF.S
deleted file mode 100644
index 31d98c1f3..000000000
--- a/vm/mterp/x86/OP_UNUSED_E1FF.S
+++ /dev/null
@@ -1 +0,0 @@
-%include "x86/unused.S"
diff --git a/vm/mterp/x86/OP_UNUSED_E2FF.S b/vm/mterp/x86/OP_UNUSED_E2FF.S
deleted file mode 100644
index 31d98c1f3..000000000
--- a/vm/mterp/x86/OP_UNUSED_E2FF.S
+++ /dev/null
@@ -1 +0,0 @@
-%include "x86/unused.S"
diff --git a/vm/mterp/x86/OP_UNUSED_E3FF.S b/vm/mterp/x86/OP_UNUSED_E3FF.S
deleted file mode 100644
index 31d98c1f3..000000000
--- a/vm/mterp/x86/OP_UNUSED_E3FF.S
+++ /dev/null
@@ -1 +0,0 @@
-%include "x86/unused.S"
diff --git a/vm/mterp/x86/OP_UNUSED_E4FF.S b/vm/mterp/x86/OP_UNUSED_E4FF.S
deleted file mode 100644
index 31d98c1f3..000000000
--- a/vm/mterp/x86/OP_UNUSED_E4FF.S
+++ /dev/null
@@ -1 +0,0 @@
-%include "x86/unused.S"
diff --git a/vm/mterp/x86/OP_UNUSED_E5FF.S b/vm/mterp/x86/OP_UNUSED_E5FF.S
deleted file mode 100644
index 31d98c1f3..000000000
--- a/vm/mterp/x86/OP_UNUSED_E5FF.S
+++ /dev/null
@@ -1 +0,0 @@
-%include "x86/unused.S"
diff --git a/vm/mterp/x86/OP_UNUSED_E6FF.S b/vm/mterp/x86/OP_UNUSED_E6FF.S
deleted file mode 100644
index 31d98c1f3..000000000
--- a/vm/mterp/x86/OP_UNUSED_E6FF.S
+++ /dev/null
@@ -1 +0,0 @@
-%include "x86/unused.S"
diff --git a/vm/mterp/x86/OP_UNUSED_E7FF.S b/vm/mterp/x86/OP_UNUSED_E7FF.S
deleted file mode 100644
index 31d98c1f3..000000000
--- a/vm/mterp/x86/OP_UNUSED_E7FF.S
+++ /dev/null
@@ -1 +0,0 @@
-%include "x86/unused.S"
diff --git a/vm/mterp/x86/OP_UNUSED_E8FF.S b/vm/mterp/x86/OP_UNUSED_E8FF.S
deleted file mode 100644
index 31d98c1f3..000000000
--- a/vm/mterp/x86/OP_UNUSED_E8FF.S
+++ /dev/null
@@ -1 +0,0 @@
-%include "x86/unused.S"
diff --git a/vm/mterp/x86/OP_UNUSED_E9FF.S b/vm/mterp/x86/OP_UNUSED_E9FF.S
deleted file mode 100644
index 31d98c1f3..000000000
--- a/vm/mterp/x86/OP_UNUSED_E9FF.S
+++ /dev/null
@@ -1 +0,0 @@
-%include "x86/unused.S"
diff --git a/vm/mterp/x86/OP_UNUSED_EAFF.S b/vm/mterp/x86/OP_UNUSED_EAFF.S
deleted file mode 100644
index 31d98c1f3..000000000
--- a/vm/mterp/x86/OP_UNUSED_EAFF.S
+++ /dev/null
@@ -1 +0,0 @@
-%include "x86/unused.S"
diff --git a/vm/mterp/x86/OP_UNUSED_EBFF.S b/vm/mterp/x86/OP_UNUSED_EBFF.S
deleted file mode 100644
index 31d98c1f3..000000000
--- a/vm/mterp/x86/OP_UNUSED_EBFF.S
+++ /dev/null
@@ -1 +0,0 @@
-%include "x86/unused.S"
diff --git a/vm/mterp/x86/OP_UNUSED_ECFF.S b/vm/mterp/x86/OP_UNUSED_ECFF.S
deleted file mode 100644
index 31d98c1f3..000000000
--- a/vm/mterp/x86/OP_UNUSED_ECFF.S
+++ /dev/null
@@ -1 +0,0 @@
-%include "x86/unused.S"
diff --git a/vm/mterp/x86/OP_UNUSED_EDFF.S b/vm/mterp/x86/OP_UNUSED_EDFF.S
deleted file mode 100644
index 31d98c1f3..000000000
--- a/vm/mterp/x86/OP_UNUSED_EDFF.S
+++ /dev/null
@@ -1 +0,0 @@
-%include "x86/unused.S"
diff --git a/vm/mterp/x86/OP_UNUSED_EEFF.S b/vm/mterp/x86/OP_UNUSED_EEFF.S
deleted file mode 100644
index 31d98c1f3..000000000
--- a/vm/mterp/x86/OP_UNUSED_EEFF.S
+++ /dev/null
@@ -1 +0,0 @@
-%include "x86/unused.S"
diff --git a/vm/mterp/x86/OP_UNUSED_EFFF.S b/vm/mterp/x86/OP_UNUSED_EFFF.S
deleted file mode 100644
index 31d98c1f3..000000000
--- a/vm/mterp/x86/OP_UNUSED_EFFF.S
+++ /dev/null
@@ -1 +0,0 @@
-%include "x86/unused.S"
diff --git a/vm/mterp/x86/OP_UNUSED_F0FF.S b/vm/mterp/x86/OP_UNUSED_F0FF.S
deleted file mode 100644
index 31d98c1f3..000000000
--- a/vm/mterp/x86/OP_UNUSED_F0FF.S
+++ /dev/null
@@ -1 +0,0 @@
-%include "x86/unused.S"
diff --git a/vm/mterp/x86/OP_UNUSED_F1FF.S b/vm/mterp/x86/OP_UNUSED_F1FF.S
deleted file mode 100644
index 31d98c1f3..000000000
--- a/vm/mterp/x86/OP_UNUSED_F1FF.S
+++ /dev/null
@@ -1 +0,0 @@
-%include "x86/unused.S"
diff --git a/vm/mterp/x86/OP_UNUSED_27FF.S b/vm/mterp/x86/OP_UNUSED_FF.S
index 31d98c1f3..31d98c1f3 100644
--- a/vm/mterp/x86/OP_UNUSED_27FF.S
+++ b/vm/mterp/x86/OP_UNUSED_FF.S
diff --git a/vm/mterp/x86/footer.S b/vm/mterp/x86/footer.S
index d4b38a931..7860db6a8 100644
--- a/vm/mterp/x86/footer.S
+++ b/vm/mterp/x86/footer.S
@@ -210,30 +210,6 @@ common_selectTrace:
/*
- * Common code for jumbo method invocation.
- *
- * On entry:
- * eax = Method* methodToCall
- * rINSTw trashed, must reload
- * rIBASE trashed, must reload before resuming interpreter
- */
-
-common_invokeMethodJumbo:
-.LinvokeNewJumbo:
-
- /*
- * prepare to copy args to "outs" area of current frame
- */
- movzwl 6(rPC),rINST # rINST<- BBBB
- movzwl 8(rPC), %ecx # %ecx<- CCCC
- ADVANCE_PC 2 # adjust pc to make return similar
- SAVEAREA_FROM_FP %edx # %edx<- &StackSaveArea
- test rINST, rINST
- movl rINST, LOCAL0_OFFSET(%ebp) # LOCAL0_OFFSET(%ebp)<- BBBB
- jz .LinvokeArgsDone # no args; jump to args done
- jmp .LinvokeRangeArgs # handle args like invoke range
-
-/*
* Common code for method invocation with range.
*
* On entry:
diff --git a/vm/mterp/x86/header.S b/vm/mterp/x86/header.S
index 6f3be0ca1..b612fd80f 100644
--- a/vm/mterp/x86/header.S
+++ b/vm/mterp/x86/header.S
@@ -226,16 +226,6 @@ Notes:
jmp *(rIBASE,\_reg,4)
.endm
- /*
- * Jumbo version of GOTO_NEXT that assumes _reg preloaded with table
- * offset of the jumbo instruction, which is the top half of the extended
- * opcode + 0x100. Loads rINST with BBBB field, similar to GOTO_NEXT_R
- */
-.macro GOTO_NEXT_JUMBO_R _reg
- movzwl 6(rPC),rINST
- jmp *(rIBASE,\_reg,4)
-.endm
-
/*
* Get/set the 32-bit value from a Dalvik register.
*/