├── Android.bp ├── CleanSpec.mk ├── NOTICE ├── OWNERS ├── dexgen ├── Android.bp ├── README.txt └── src │ └── com │ └── android │ └── dexgen │ ├── dex │ ├── code │ │ ├── ArrayData.java │ │ ├── BlockAddresses.java │ │ ├── CatchBuilder.java │ │ ├── CatchHandlerList.java │ │ ├── CatchTable.java │ │ ├── CodeAddress.java │ │ ├── CstInsn.java │ │ ├── DalvCode.java │ │ ├── DalvInsn.java │ │ ├── DalvInsnList.java │ │ ├── DalvOps.java │ │ ├── Dop.java │ │ ├── Dops.java │ │ ├── FixedSizeInsn.java │ │ ├── HighRegisterPrefix.java │ │ ├── InsnFormat.java │ │ ├── LocalEnd.java │ │ ├── LocalList.java │ │ ├── LocalSnapshot.java │ │ ├── LocalStart.java │ │ ├── OddSpacer.java │ │ ├── OutputCollector.java │ │ ├── OutputFinisher.java │ │ ├── PositionList.java │ │ ├── RopToDop.java │ │ ├── RopTranslator.java │ │ ├── SimpleInsn.java │ │ ├── StdCatchBuilder.java │ │ ├── SwitchData.java │ │ ├── TargetInsn.java │ │ ├── VariableSizeInsn.java │ │ ├── ZeroSizeInsn.java │ │ └── form │ │ │ ├── Form10t.java │ │ │ ├── Form10x.java │ │ │ ├── Form11n.java │ │ │ ├── Form11x.java │ │ │ ├── Form12x.java │ │ │ ├── Form20t.java │ │ │ ├── Form21c.java │ │ │ ├── Form21h.java │ │ │ ├── Form21s.java │ │ │ ├── Form21t.java │ │ │ ├── Form22b.java │ │ │ ├── Form22c.java │ │ │ ├── Form22s.java │ │ │ ├── Form22t.java │ │ │ ├── Form22x.java │ │ │ ├── Form23x.java │ │ │ ├── Form30t.java │ │ │ ├── Form31c.java │ │ │ ├── Form31i.java │ │ │ ├── Form31t.java │ │ │ ├── Form32x.java │ │ │ ├── Form35c.java │ │ │ ├── Form3rc.java │ │ │ ├── Form45cc.java │ │ │ ├── Form4rcc.java │ │ │ ├── Form51l.java │ │ │ └── SpecialFormat.java │ └── file │ │ ├── AnnotationItem.java │ │ ├── AnnotationSetItem.java │ │ ├── AnnotationSetRefItem.java │ │ ├── AnnotationUtils.java │ │ ├── AnnotationsDirectoryItem.java │ │ ├── CatchStructs.java │ │ ├── ClassDataItem.java │ │ ├── ClassDefItem.java │ │ ├── ClassDefsSection.java │ │ ├── CodeItem.java │ │ ├── DebugInfoConstants.java │ │ ├── DebugInfoDecoder.java │ │ ├── DebugInfoEncoder.java │ │ ├── DebugInfoItem.java │ │ ├── DexFile.java │ │ ├── EncodedArrayItem.java │ │ ├── EncodedField.java │ │ ├── EncodedMember.java │ │ ├── EncodedMethod.java │ │ ├── FieldAnnotationStruct.java │ │ ├── FieldIdItem.java │ │ ├── FieldIdsSection.java │ │ ├── HeaderItem.java │ │ ├── HeaderSection.java │ │ ├── IdItem.java │ │ ├── IndexedItem.java │ │ ├── Item.java │ │ ├── ItemType.java │ │ ├── MapItem.java │ │ ├── MemberIdItem.java │ │ ├── MemberIdsSection.java │ │ ├── MethodAnnotationStruct.java │ │ ├── MethodIdItem.java │ │ ├── MethodIdsSection.java │ │ ├── MixedItemSection.java │ │ ├── OffsettedItem.java │ │ ├── ParameterAnnotationStruct.java │ │ ├── ProtoIdItem.java │ │ ├── ProtoIdsSection.java │ │ ├── Section.java │ │ ├── Statistics.java │ │ ├── StringDataItem.java │ │ ├── StringIdItem.java │ │ ├── StringIdsSection.java │ │ ├── TypeIdItem.java │ │ ├── TypeIdsSection.java │ │ ├── TypeListItem.java │ │ ├── UniformItemSection.java │ │ ├── UniformListItem.java │ │ └── ValueEncoder.java │ ├── rop │ ├── AttConstantValue.java │ ├── Attribute.java │ ├── AttributeList.java │ ├── BaseAttribute.java │ ├── ByteBlock.java │ ├── ByteCatchList.java │ ├── Field.java │ ├── FieldList.java │ ├── LineNumberList.java │ ├── Member.java │ ├── StdAttributeList.java │ ├── StdField.java │ ├── StdFieldList.java │ ├── StdMember.java │ ├── annotation │ │ ├── Annotation.java │ │ ├── AnnotationVisibility.java │ │ ├── Annotations.java │ │ ├── AnnotationsList.java │ │ └── NameValuePair.java │ ├── code │ │ ├── AccessFlags.java │ │ ├── BasicBlock.java │ │ ├── BasicBlockList.java │ │ ├── ConservativeTranslationAdvice.java │ │ ├── CstInsn.java │ │ ├── DexTranslationAdvice.java │ │ ├── Exceptions.java │ │ ├── FillArrayDataInsn.java │ │ ├── Insn.java │ │ ├── InsnList.java │ │ ├── LocalItem.java │ │ ├── LocalVariableExtractor.java │ │ ├── LocalVariableInfo.java │ │ ├── PlainCstInsn.java │ │ ├── PlainInsn.java │ │ ├── RegOps.java │ │ ├── RegisterSpec.java │ │ ├── RegisterSpecList.java │ │ ├── RegisterSpecSet.java │ │ ├── Rop.java │ │ ├── RopMethod.java │ │ ├── Rops.java │ │ ├── SourcePosition.java │ │ ├── SwitchInsn.java │ │ ├── ThrowingCstInsn.java │ │ ├── ThrowingInsn.java │ │ └── TranslationAdvice.java │ ├── cst │ │ ├── Constant.java │ │ ├── ConstantPool.java │ │ ├── CstAnnotation.java │ │ ├── CstArray.java │ │ ├── CstBaseMethodRef.java │ │ ├── CstBoolean.java │ │ ├── CstByte.java │ │ ├── CstChar.java │ │ ├── CstDouble.java │ │ ├── CstEnumRef.java │ │ ├── CstFieldRef.java │ │ ├── CstFloat.java │ │ ├── CstInteger.java │ │ ├── CstInterfaceMethodRef.java │ │ ├── CstKnownNull.java │ │ ├── CstLiteral32.java │ │ ├── CstLiteral64.java │ │ ├── CstLiteralBits.java │ │ ├── CstLong.java │ │ ├── CstMemberRef.java │ │ ├── CstMethodRef.java │ │ ├── CstNat.java │ │ ├── CstShort.java │ │ ├── CstString.java │ │ ├── CstType.java │ │ ├── CstUtf8.java │ │ ├── StdConstantPool.java │ │ ├── TypedConstant.java │ │ └── Zeroes.java │ └── type │ │ ├── Prototype.java │ │ ├── StdTypeList.java │ │ ├── Type.java │ │ ├── TypeBearer.java │ │ └── TypeList.java │ └── util │ ├── AnnotatedOutput.java │ ├── BitIntSet.java │ ├── Bits.java │ ├── ByteArray.java │ ├── ByteArrayAnnotatedOutput.java │ ├── DexClassLoaderHelper.java │ ├── DexClassLoadingException.java │ ├── DexJarMaker.java │ ├── ExceptionWithContext.java │ ├── FileUtils.java │ ├── FixedSizeList.java │ ├── Hex.java │ ├── HexParser.java │ ├── IndentingWriter.java │ ├── IntIterator.java │ ├── IntList.java │ ├── IntSet.java │ ├── LabeledItem.java │ ├── LabeledList.java │ ├── Leb128Utils.java │ ├── ListIntSet.java │ ├── MutabilityControl.java │ ├── MutabilityException.java │ ├── Output.java │ ├── PathHolder.java │ ├── ToHuman.java │ ├── TwoColumnOutput.java │ ├── Warning.java │ └── Writers.java ├── docs ├── dalvik-constraints.css ├── dalvik-constraints.html ├── debugger.html ├── debugmon.html ├── dexopt.html ├── embedded-vm-control.html ├── heap-profiling.html ├── hello-world.html ├── java-bytecode.css ├── java-bytecode.html ├── java-constraints.css ├── java-constraints.html ├── porting-guide.html ├── porting-proto.c.txt ├── prettify.css ├── prettify.js └── verifier.html ├── dx ├── .classpath ├── .project ├── Android.bp ├── NOTICE ├── README.txt ├── etc │ ├── dx │ ├── dx.bat │ ├── jasmin │ ├── jasmin.jar │ ├── mainDexClasses │ ├── mainDexClasses.bat │ ├── mainDexClasses.rules │ ├── mainDexClassesNoAapt.rules │ └── manifest.txt ├── junit-tests │ ├── Android.bp │ └── com │ │ └── android │ │ ├── dex │ │ └── EncodedValueReaderTest.java │ │ └── dx │ │ ├── merge │ │ └── DexMergerTest.java │ │ ├── rop │ │ ├── cst │ │ │ └── CstTypeTest.java │ │ └── type │ │ │ └── TypeTest.java │ │ └── util │ │ ├── BitIntSetTest.java │ │ ├── BitsTest.java │ │ ├── ByteArrayAnnotatedOutputTest.java │ │ ├── IntListTest.java │ │ └── ListIntSetTest.java ├── shrinkedAndroid.proguard.flags ├── src │ └── com │ │ └── android │ │ ├── dex │ │ ├── Annotation.java │ │ ├── CallSiteId.java │ │ ├── ClassData.java │ │ ├── ClassDef.java │ │ ├── Code.java │ │ ├── Dex.java │ │ ├── DexException.java │ │ ├── DexFormat.java │ │ ├── DexIndexOverflowException.java │ │ ├── EncodedValue.java │ │ ├── EncodedValueCodec.java │ │ ├── EncodedValueReader.java │ │ ├── FieldId.java │ │ ├── Leb128.java │ │ ├── MethodHandle.java │ │ ├── MethodId.java │ │ ├── Mutf8.java │ │ ├── ProtoId.java │ │ ├── SizeOf.java │ │ ├── TableOfContents.java │ │ ├── TypeList.java │ │ └── util │ │ │ ├── ByteArrayByteInput.java │ │ │ ├── ByteInput.java │ │ │ ├── ByteOutput.java │ │ │ ├── ExceptionWithContext.java │ │ │ ├── FileUtils.java │ │ │ └── Unsigned.java │ │ ├── dx │ │ ├── Version.java │ │ ├── cf │ │ │ ├── attrib │ │ │ │ ├── AttAnnotationDefault.java │ │ │ │ ├── AttBootstrapMethods.java │ │ │ │ ├── AttCode.java │ │ │ │ ├── AttConstantValue.java │ │ │ │ ├── AttDeprecated.java │ │ │ │ ├── AttEnclosingMethod.java │ │ │ │ ├── AttExceptions.java │ │ │ │ ├── AttInnerClasses.java │ │ │ │ ├── AttLineNumberTable.java │ │ │ │ ├── AttLocalVariableTable.java │ │ │ │ ├── AttLocalVariableTypeTable.java │ │ │ │ ├── AttRuntimeInvisibleAnnotations.java │ │ │ │ ├── AttRuntimeInvisibleParameterAnnotations.java │ │ │ │ ├── AttRuntimeVisibleAnnotations.java │ │ │ │ ├── AttRuntimeVisibleParameterAnnotations.java │ │ │ │ ├── AttSignature.java │ │ │ │ ├── AttSourceDebugExtension.java │ │ │ │ ├── AttSourceFile.java │ │ │ │ ├── AttSynthetic.java │ │ │ │ ├── BaseAnnotations.java │ │ │ │ ├── BaseAttribute.java │ │ │ │ ├── BaseLocalVariables.java │ │ │ │ ├── BaseParameterAnnotations.java │ │ │ │ ├── InnerClassList.java │ │ │ │ ├── RawAttribute.java │ │ │ │ └── package.html │ │ │ ├── code │ │ │ │ ├── BaseMachine.java │ │ │ │ ├── BasicBlocker.java │ │ │ │ ├── BootstrapMethodArgumentsList.java │ │ │ │ ├── BootstrapMethodsList.java │ │ │ │ ├── ByteBlock.java │ │ │ │ ├── ByteBlockList.java │ │ │ │ ├── ByteCatchList.java │ │ │ │ ├── ByteOps.java │ │ │ │ ├── BytecodeArray.java │ │ │ │ ├── ConcreteMethod.java │ │ │ │ ├── ExecutionStack.java │ │ │ │ ├── Frame.java │ │ │ │ ├── LineNumberList.java │ │ │ │ ├── LocalVariableList.java │ │ │ │ ├── LocalsArray.java │ │ │ │ ├── LocalsArraySet.java │ │ │ │ ├── Machine.java │ │ │ │ ├── Merger.java │ │ │ │ ├── OneLocalsArray.java │ │ │ │ ├── ReturnAddress.java │ │ │ │ ├── Ropper.java │ │ │ │ ├── RopperMachine.java │ │ │ │ ├── SimException.java │ │ │ │ ├── Simulator.java │ │ │ │ ├── SwitchList.java │ │ │ │ ├── ValueAwareMachine.java │ │ │ │ └── package.html │ │ │ ├── cst │ │ │ │ ├── ConstantPoolParser.java │ │ │ │ ├── ConstantTags.java │ │ │ │ └── MethodHandleKind.java │ │ │ ├── direct │ │ │ │ ├── AnnotationParser.java │ │ │ │ ├── AttributeFactory.java │ │ │ │ ├── AttributeListParser.java │ │ │ │ ├── ClassPathOpener.java │ │ │ │ ├── CodeObserver.java │ │ │ │ ├── DirectClassFile.java │ │ │ │ ├── FieldListParser.java │ │ │ │ ├── MemberListParser.java │ │ │ │ ├── MethodListParser.java │ │ │ │ ├── StdAttributeFactory.java │ │ │ │ └── package.html │ │ │ └── iface │ │ │ │ ├── Attribute.java │ │ │ │ ├── AttributeList.java │ │ │ │ ├── ClassFile.java │ │ │ │ ├── Field.java │ │ │ │ ├── FieldList.java │ │ │ │ ├── HasAttribute.java │ │ │ │ ├── Member.java │ │ │ │ ├── Method.java │ │ │ │ ├── MethodList.java │ │ │ │ ├── ParseException.java │ │ │ │ ├── ParseObserver.java │ │ │ │ ├── StdAttributeList.java │ │ │ │ ├── StdField.java │ │ │ │ ├── StdFieldList.java │ │ │ │ ├── StdMember.java │ │ │ │ ├── StdMethod.java │ │ │ │ ├── StdMethodList.java │ │ │ │ └── package.html │ │ ├── command │ │ │ ├── Main.java │ │ │ ├── UsageException.java │ │ │ ├── annotool │ │ │ │ ├── AnnotationLister.java │ │ │ │ └── Main.java │ │ │ ├── dexer │ │ │ │ ├── DxContext.java │ │ │ │ └── Main.java │ │ │ ├── dump │ │ │ │ ├── Args.java │ │ │ │ ├── BaseDumper.java │ │ │ │ ├── BlockDumper.java │ │ │ │ ├── ClassDumper.java │ │ │ │ ├── DotDumper.java │ │ │ │ ├── Main.java │ │ │ │ └── SsaDumper.java │ │ │ ├── findusages │ │ │ │ ├── FindUsages.java │ │ │ │ └── Main.java │ │ │ └── grep │ │ │ │ ├── Grep.java │ │ │ │ └── Main.java │ │ ├── dex │ │ │ ├── DexOptions.java │ │ │ ├── cf │ │ │ │ ├── AttributeTranslator.java │ │ │ │ ├── CfOptions.java │ │ │ │ ├── CfTranslator.java │ │ │ │ ├── CodeStatistics.java │ │ │ │ ├── OptimizerOptions.java │ │ │ │ └── package.html │ │ │ ├── code │ │ │ │ ├── ArrayData.java │ │ │ │ ├── BlockAddresses.java │ │ │ │ ├── CatchBuilder.java │ │ │ │ ├── CatchHandlerList.java │ │ │ │ ├── CatchTable.java │ │ │ │ ├── CodeAddress.java │ │ │ │ ├── CstInsn.java │ │ │ │ ├── DalvCode.java │ │ │ │ ├── DalvInsn.java │ │ │ │ ├── DalvInsnList.java │ │ │ │ ├── Dop.java │ │ │ │ ├── Dops.java │ │ │ │ ├── FixedSizeInsn.java │ │ │ │ ├── HighRegisterPrefix.java │ │ │ │ ├── InsnFormat.java │ │ │ │ ├── LocalList.java │ │ │ │ ├── LocalSnapshot.java │ │ │ │ ├── LocalStart.java │ │ │ │ ├── MultiCstInsn.java │ │ │ │ ├── OddSpacer.java │ │ │ │ ├── OutputCollector.java │ │ │ │ ├── OutputFinisher.java │ │ │ │ ├── PositionList.java │ │ │ │ ├── RopToDop.java │ │ │ │ ├── RopTranslator.java │ │ │ │ ├── SimpleInsn.java │ │ │ │ ├── StdCatchBuilder.java │ │ │ │ ├── SwitchData.java │ │ │ │ ├── TargetInsn.java │ │ │ │ ├── VariableSizeInsn.java │ │ │ │ ├── ZeroSizeInsn.java │ │ │ │ └── form │ │ │ │ │ ├── Form10t.java │ │ │ │ │ ├── Form10x.java │ │ │ │ │ ├── Form11n.java │ │ │ │ │ ├── Form11x.java │ │ │ │ │ ├── Form12x.java │ │ │ │ │ ├── Form20t.java │ │ │ │ │ ├── Form21c.java │ │ │ │ │ ├── Form21h.java │ │ │ │ │ ├── Form21s.java │ │ │ │ │ ├── Form21t.java │ │ │ │ │ ├── Form22b.java │ │ │ │ │ ├── Form22c.java │ │ │ │ │ ├── Form22s.java │ │ │ │ │ ├── Form22t.java │ │ │ │ │ ├── Form22x.java │ │ │ │ │ ├── Form23x.java │ │ │ │ │ ├── Form30t.java │ │ │ │ │ ├── Form31c.java │ │ │ │ │ ├── Form31i.java │ │ │ │ │ ├── Form31t.java │ │ │ │ │ ├── Form32x.java │ │ │ │ │ ├── Form35c.java │ │ │ │ │ ├── Form3rc.java │ │ │ │ │ ├── Form45cc.java │ │ │ │ │ ├── Form4rcc.java │ │ │ │ │ ├── Form51l.java │ │ │ │ │ └── SpecialFormat.java │ │ │ └── file │ │ │ │ ├── AnnotationItem.java │ │ │ │ ├── AnnotationSetItem.java │ │ │ │ ├── AnnotationSetRefItem.java │ │ │ │ ├── AnnotationUtils.java │ │ │ │ ├── AnnotationsDirectoryItem.java │ │ │ │ ├── CallSiteIdItem.java │ │ │ │ ├── CallSiteIdsSection.java │ │ │ │ ├── CallSiteItem.java │ │ │ │ ├── CatchStructs.java │ │ │ │ ├── ClassDataItem.java │ │ │ │ ├── ClassDefItem.java │ │ │ │ ├── ClassDefsSection.java │ │ │ │ ├── CodeItem.java │ │ │ │ ├── DebugInfoConstants.java │ │ │ │ ├── DebugInfoDecoder.java │ │ │ │ ├── DebugInfoEncoder.java │ │ │ │ ├── DebugInfoItem.java │ │ │ │ ├── DexFile.java │ │ │ │ ├── EncodedArrayItem.java │ │ │ │ ├── EncodedField.java │ │ │ │ ├── EncodedMember.java │ │ │ │ ├── EncodedMethod.java │ │ │ │ ├── FieldAnnotationStruct.java │ │ │ │ ├── FieldIdItem.java │ │ │ │ ├── FieldIdsSection.java │ │ │ │ ├── HeaderItem.java │ │ │ │ ├── HeaderSection.java │ │ │ │ ├── IdItem.java │ │ │ │ ├── IndexedItem.java │ │ │ │ ├── Item.java │ │ │ │ ├── ItemType.java │ │ │ │ ├── MapItem.java │ │ │ │ ├── MemberIdItem.java │ │ │ │ ├── MemberIdsSection.java │ │ │ │ ├── MethodAnnotationStruct.java │ │ │ │ ├── MethodHandleItem.java │ │ │ │ ├── MethodHandlesSection.java │ │ │ │ ├── MethodIdItem.java │ │ │ │ ├── MethodIdsSection.java │ │ │ │ ├── MixedItemSection.java │ │ │ │ ├── OffsettedItem.java │ │ │ │ ├── ParameterAnnotationStruct.java │ │ │ │ ├── ProtoIdItem.java │ │ │ │ ├── ProtoIdsSection.java │ │ │ │ ├── Section.java │ │ │ │ ├── Statistics.java │ │ │ │ ├── StringDataItem.java │ │ │ │ ├── StringIdItem.java │ │ │ │ ├── StringIdsSection.java │ │ │ │ ├── TypeIdItem.java │ │ │ │ ├── TypeIdsSection.java │ │ │ │ ├── TypeListItem.java │ │ │ │ ├── UniformItemSection.java │ │ │ │ ├── UniformListItem.java │ │ │ │ └── ValueEncoder.java │ │ ├── io │ │ │ ├── CodeReader.java │ │ │ ├── DexIndexPrinter.java │ │ │ ├── IndexType.java │ │ │ ├── OpcodeInfo.java │ │ │ ├── Opcodes.java │ │ │ └── instructions │ │ │ │ ├── AddressMap.java │ │ │ │ ├── BaseCodeCursor.java │ │ │ │ ├── CodeCursor.java │ │ │ │ ├── CodeInput.java │ │ │ │ ├── CodeOutput.java │ │ │ │ ├── DecodedInstruction.java │ │ │ │ ├── FillArrayDataPayloadDecodedInstruction.java │ │ │ │ ├── FiveRegisterDecodedInstruction.java │ │ │ │ ├── FourRegisterDecodedInstruction.java │ │ │ │ ├── InstructionCodec.java │ │ │ │ ├── InvokePolymorphicDecodedInstruction.java │ │ │ │ ├── InvokePolymorphicRangeDecodedInstruction.java │ │ │ │ ├── OneRegisterDecodedInstruction.java │ │ │ │ ├── PackedSwitchPayloadDecodedInstruction.java │ │ │ │ ├── RegisterRangeDecodedInstruction.java │ │ │ │ ├── ShortArrayCodeInput.java │ │ │ │ ├── ShortArrayCodeOutput.java │ │ │ │ ├── SparseSwitchPayloadDecodedInstruction.java │ │ │ │ ├── ThreeRegisterDecodedInstruction.java │ │ │ │ ├── TwoRegisterDecodedInstruction.java │ │ │ │ └── ZeroRegisterDecodedInstruction.java │ │ ├── merge │ │ │ ├── CollisionPolicy.java │ │ │ ├── DexMerger.java │ │ │ ├── IndexMap.java │ │ │ ├── InstructionTransformer.java │ │ │ └── SortableType.java │ │ ├── rop │ │ │ ├── annotation │ │ │ │ ├── Annotation.java │ │ │ │ ├── AnnotationVisibility.java │ │ │ │ ├── Annotations.java │ │ │ │ ├── AnnotationsList.java │ │ │ │ └── NameValuePair.java │ │ │ ├── code │ │ │ │ ├── AccessFlags.java │ │ │ │ ├── BasicBlock.java │ │ │ │ ├── BasicBlockList.java │ │ │ │ ├── ConservativeTranslationAdvice.java │ │ │ │ ├── CstInsn.java │ │ │ │ ├── DexTranslationAdvice.java │ │ │ │ ├── Exceptions.java │ │ │ │ ├── FillArrayDataInsn.java │ │ │ │ ├── Insn.java │ │ │ │ ├── InsnList.java │ │ │ │ ├── InvokePolymorphicInsn.java │ │ │ │ ├── LocalItem.java │ │ │ │ ├── LocalVariableExtractor.java │ │ │ │ ├── LocalVariableInfo.java │ │ │ │ ├── PlainCstInsn.java │ │ │ │ ├── PlainInsn.java │ │ │ │ ├── RegOps.java │ │ │ │ ├── RegisterSpec.java │ │ │ │ ├── RegisterSpecList.java │ │ │ │ ├── RegisterSpecSet.java │ │ │ │ ├── Rop.java │ │ │ │ ├── RopMethod.java │ │ │ │ ├── Rops.java │ │ │ │ ├── SourcePosition.java │ │ │ │ ├── SwitchInsn.java │ │ │ │ ├── ThrowingCstInsn.java │ │ │ │ ├── ThrowingInsn.java │ │ │ │ ├── TranslationAdvice.java │ │ │ │ └── package.html │ │ │ ├── cst │ │ │ │ ├── Constant.java │ │ │ │ ├── ConstantPool.java │ │ │ │ ├── CstAnnotation.java │ │ │ │ ├── CstArray.java │ │ │ │ ├── CstBaseMethodRef.java │ │ │ │ ├── CstBoolean.java │ │ │ │ ├── CstByte.java │ │ │ │ ├── CstCallSite.java │ │ │ │ ├── CstCallSiteRef.java │ │ │ │ ├── CstChar.java │ │ │ │ ├── CstDouble.java │ │ │ │ ├── CstEnumRef.java │ │ │ │ ├── CstFieldRef.java │ │ │ │ ├── CstFloat.java │ │ │ │ ├── CstInteger.java │ │ │ │ ├── CstInterfaceMethodRef.java │ │ │ │ ├── CstInvokeDynamic.java │ │ │ │ ├── CstKnownNull.java │ │ │ │ ├── CstLiteral32.java │ │ │ │ ├── CstLiteral64.java │ │ │ │ ├── CstLiteralBits.java │ │ │ │ ├── CstLong.java │ │ │ │ ├── CstMemberRef.java │ │ │ │ ├── CstMethodHandle.java │ │ │ │ ├── CstMethodRef.java │ │ │ │ ├── CstNat.java │ │ │ │ ├── CstProtoRef.java │ │ │ │ ├── CstShort.java │ │ │ │ ├── CstString.java │ │ │ │ ├── CstType.java │ │ │ │ ├── StdConstantPool.java │ │ │ │ ├── TypedConstant.java │ │ │ │ ├── Zeroes.java │ │ │ │ └── package.html │ │ │ ├── package-info.java │ │ │ └── type │ │ │ │ ├── Prototype.java │ │ │ │ ├── StdTypeList.java │ │ │ │ ├── Type.java │ │ │ │ ├── TypeBearer.java │ │ │ │ ├── TypeList.java │ │ │ │ └── package.html │ │ ├── ssa │ │ │ ├── BasicRegisterMapper.java │ │ │ ├── ConstCollector.java │ │ │ ├── DeadCodeRemover.java │ │ │ ├── DomFront.java │ │ │ ├── Dominators.java │ │ │ ├── EscapeAnalysis.java │ │ │ ├── InterferenceRegisterMapper.java │ │ │ ├── LiteralOpUpgrader.java │ │ │ ├── LocalVariableExtractor.java │ │ │ ├── LocalVariableInfo.java │ │ │ ├── MoveParamCombiner.java │ │ │ ├── NormalSsaInsn.java │ │ │ ├── Optimizer.java │ │ │ ├── PhiInsn.java │ │ │ ├── PhiTypeResolver.java │ │ │ ├── RegisterMapper.java │ │ │ ├── SCCP.java │ │ │ ├── SetFactory.java │ │ │ ├── SsaBasicBlock.java │ │ │ ├── SsaConverter.java │ │ │ ├── SsaInsn.java │ │ │ ├── SsaMethod.java │ │ │ ├── SsaRenamer.java │ │ │ ├── back │ │ │ │ ├── FirstFitAllocator.java │ │ │ │ ├── FirstFitLocalCombiningAllocator.java │ │ │ │ ├── IdenticalBlockCombiner.java │ │ │ │ ├── InterferenceGraph.java │ │ │ │ ├── LivenessAnalyzer.java │ │ │ │ ├── NullRegisterAllocator.java │ │ │ │ ├── RegisterAllocator.java │ │ │ │ └── SsaToRop.java │ │ │ └── package-info.java │ │ └── util │ │ │ ├── AnnotatedOutput.java │ │ │ ├── BitIntSet.java │ │ │ ├── Bits.java │ │ │ ├── ByteArray.java │ │ │ ├── ByteArrayAnnotatedOutput.java │ │ │ ├── FixedSizeList.java │ │ │ ├── Hex.java │ │ │ ├── HexParser.java │ │ │ ├── IndentingWriter.java │ │ │ ├── IntIterator.java │ │ │ ├── IntList.java │ │ │ ├── IntSet.java │ │ │ ├── LabeledItem.java │ │ │ ├── LabeledList.java │ │ │ ├── ListIntSet.java │ │ │ ├── MutabilityControl.java │ │ │ ├── MutabilityException.java │ │ │ ├── Output.java │ │ │ ├── ToHuman.java │ │ │ ├── TwoColumnOutput.java │ │ │ ├── Warning.java │ │ │ ├── Writers.java │ │ │ └── package.html │ │ └── multidex │ │ ├── ArchivePathElement.java │ │ ├── ClassPathElement.java │ │ ├── ClassReferenceListBuilder.java │ │ ├── FolderPathElement.java │ │ ├── MainDexListBuilder.java │ │ └── Path.java └── tests │ ├── 001-nop │ ├── expected.txt │ ├── info.txt │ └── run │ ├── 002-minimal-valid │ ├── expected.txt │ ├── info.txt │ ├── run │ └── small-class.txt │ ├── 003-magic-version-access │ ├── class-bad-magic.txt │ ├── class-version-44.0.txt │ ├── class-version-44.65535.txt │ ├── class-version-45.0.txt │ ├── class-version-45.65535.txt │ ├── class-version-48.0.txt │ ├── class-version-48.65535.txt │ ├── class-version-49.0.txt │ ├── class-version-49.1.txt │ ├── class-version-49.65535.txt │ ├── class-version-50.0.txt │ ├── class-version-50.1.txt │ ├── class-version-50.65535.txt │ ├── class-version-51.0.txt │ ├── class-version-51.1.txt │ ├── class-version-51.65535.txt │ ├── class-version-52.0.txt │ ├── class-version-52.1.txt │ ├── class-version-52.65535.txt │ ├── class-version-53.0.txt │ ├── class-version-53.1.txt │ ├── class-version-53.65535.txt │ ├── class-version-54.0.txt │ ├── expected.txt │ ├── info.txt │ ├── run │ └── small-class.txt │ ├── 004-cp-bottom-up │ ├── expected.txt │ ├── info.txt │ ├── run │ └── small-class.txt │ ├── 005-cp-top-down │ ├── expected.txt │ ├── info.txt │ ├── run │ └── small-class.txt │ ├── 006-interfaces │ ├── expected.txt │ ├── info.txt │ ├── run │ └── small-class.txt │ ├── 007-no-superclass │ ├── expected.txt │ ├── info.txt │ ├── run │ └── small-class.txt │ ├── 008-field │ ├── expected.txt │ ├── info.txt │ ├── run │ └── small-class.txt │ ├── 009-method │ ├── expected.txt │ ├── info.txt │ ├── run │ └── small-class.txt │ ├── 010-class-attrib-InnerClasses │ ├── expected.txt │ ├── info.txt │ ├── run │ └── small-class.txt │ ├── 011-class-attrib-Synthetic │ ├── expected.txt │ ├── info.txt │ ├── run │ └── small-class.txt │ ├── 012-class-attrib-SourceFile │ ├── expected.txt │ ├── info.txt │ ├── run │ └── small-class.txt │ ├── 013-class-attrib-Deprecated │ ├── expected.txt │ ├── info.txt │ ├── run │ └── small-class.txt │ ├── 014-field-attrib-ConstantValue │ ├── expected.txt │ ├── info.txt │ ├── run │ └── small-class.txt │ ├── 015-field-attrib-Synthetic │ ├── expected.txt │ ├── info.txt │ ├── run │ └── small-class.txt │ ├── 016-field-attrib-Deprecated │ ├── expected.txt │ ├── info.txt │ ├── run │ └── small-class.txt │ ├── 017-method-attrib-Code │ ├── expected.txt │ ├── info.txt │ ├── run │ └── small-class.txt │ ├── 018-method-attrib-Exceptions │ ├── expected.txt │ ├── info.txt │ ├── run │ └── small-class.txt │ ├── 019-method-attrib-Synthetic │ ├── expected.txt │ ├── info.txt │ ├── run │ └── small-class.txt │ ├── 020-method-attrib-Deprecated │ ├── expected.txt │ ├── info.txt │ ├── run │ └── small-class.txt │ ├── 021-code-attrib-LineNumberTable │ ├── expected.txt │ ├── info.txt │ ├── run │ └── small-class.txt │ ├── 022-code-attrib-LocalVariableTable │ ├── expected.txt │ ├── info.txt │ ├── run │ └── small-class.txt │ ├── 023-code-exception-table │ ├── expected.txt │ ├── info.txt │ ├── run │ └── small-class.txt │ ├── 024-code-bytecode │ ├── expected.txt │ ├── info.txt │ ├── run │ └── small-class.txt │ ├── 025-class-attrib-Signature │ ├── expected.txt │ ├── info.txt │ ├── run │ └── small-class.txt │ ├── 026-field-attrib-Signature │ ├── expected.txt │ ├── info.txt │ ├── run │ └── small-class.txt │ ├── 027-method-attrib-Signature │ ├── expected.txt │ ├── info.txt │ ├── run │ └── small-class.txt │ ├── 028-class-attrib-EnclosingMethod │ ├── expected.txt │ ├── info.txt │ ├── run │ ├── small-class-1.txt │ └── small-class-2.txt │ ├── 029-unit-Bits │ ├── expected.txt │ ├── info.txt │ └── run │ ├── 030-minimal-jasmin │ ├── blort.class │ ├── blort.j │ ├── build │ ├── expected.txt │ ├── info.txt │ └── run │ ├── 031-bb-dead-code │ ├── blort.class │ ├── blort.j │ ├── build │ ├── expected.txt │ ├── info.txt │ └── run │ ├── 032-bb-live-code │ ├── blort.class │ ├── blort.j │ ├── build │ ├── expected.txt │ ├── info.txt │ └── run │ ├── 033-unit-IntList │ ├── expected.txt │ ├── info.txt │ └── run │ ├── 034-dex-minimal │ ├── blort.class │ ├── blort.j │ ├── build │ ├── expected.txt │ ├── info.txt │ └── run │ ├── 035-dex-instance-var │ ├── blort.class │ ├── blort.j │ ├── build │ ├── expected.txt │ ├── info.txt │ └── run │ ├── 036-dex-static-var │ ├── blort.class │ ├── blort.j │ ├── build │ ├── expected.txt │ ├── info.txt │ └── run │ ├── 037-dex-static-final-var │ ├── blort.class │ ├── blort.j │ ├── build │ ├── expected.txt │ ├── info.txt │ └── run │ ├── 038-dex-instance-method │ ├── blort.class │ ├── blort.j │ ├── build │ ├── expected.txt │ ├── info.txt │ └── run │ ├── 039-dex-static-method │ ├── blort.class │ ├── blort.j │ ├── build │ ├── expected.txt │ ├── info.txt │ └── run │ ├── 040-dex-constructor │ ├── blort.class │ ├── blort.j │ ├── build │ ├── expected.txt │ ├── info.txt │ └── run │ ├── 041-dex-abstract-method │ ├── blort.class │ ├── blort.j │ ├── build │ ├── expected.txt │ ├── info.txt │ └── run │ ├── 042-dex-ignore-result │ ├── Blort.class │ ├── Blort.java │ ├── build │ ├── expected.txt │ ├── info.txt │ └── run │ ├── 043-dex-two-classes │ ├── Blort.class │ ├── Blort.java │ ├── Zorch.class │ ├── Zorch.java │ ├── build │ ├── expected.txt │ ├── info.txt │ └── run │ ├── 044-dex-math-ops │ ├── Blort.class │ ├── Blort.java │ ├── build │ ├── expected.txt │ ├── info.txt │ └── run │ ├── 045-dex-switch-ops │ ├── Blort.class │ ├── Blort.java │ ├── build │ ├── expected.txt │ ├── info.txt │ └── run │ ├── 046-dex-exceptions │ ├── Blort.class │ ├── Blort.java │ ├── build │ ├── expected.txt │ ├── info.txt │ └── run │ ├── 047-dex-wide-args │ ├── Blort.class │ ├── Blort.java │ ├── build │ ├── expected.txt │ ├── info.txt │ └── run │ ├── 048-dex-new-array │ ├── Blort.class │ ├── Blort.java │ ├── build │ ├── expected.txt │ ├── info.txt │ └── run │ ├── 049-dex-instanceof │ ├── Blort.class │ ├── Blort.java │ ├── build │ ├── expected.txt │ ├── info.txt │ └── run │ ├── 050-dex-checkcast │ ├── Blort.class │ ├── Blort.java │ ├── build │ ├── expected.txt │ ├── info.txt │ └── run │ ├── 051-dex-explicit-null │ ├── Blort.class │ ├── Blort.java │ ├── build │ ├── expected.txt │ ├── info.txt │ └── run │ ├── 052-dex-static-var-access │ ├── Blort.class │ ├── Blort.java │ ├── build │ ├── expected.txt │ ├── info.txt │ └── run │ ├── 053-dex-instance-var-access │ ├── Blort.class │ ├── Blort.java │ ├── build │ ├── expected.txt │ ├── info.txt │ └── run │ ├── 054-dex-high16 │ ├── Blort.class │ ├── Blort.java │ ├── build │ ├── expected.txt │ ├── info.txt │ └── run │ ├── 055-dex-explicit-throw │ ├── Blort.class │ ├── Blort.java │ ├── build │ ├── expected.txt │ ├── info.txt │ └── run │ ├── 056-dex-call-interface │ ├── Blort.class │ ├── Blort.java │ ├── Zorch.class │ ├── Zorch.java │ ├── build │ ├── expected.txt │ ├── info.txt │ └── run │ ├── 057-dex-call-virtual │ ├── Blort.class │ ├── Blort.java │ ├── Zorch.class │ ├── Zorch.java │ ├── build │ ├── expected.txt │ ├── info.txt │ └── run │ ├── 058-dex-call-direct │ ├── Blort.class │ ├── Blort.java │ ├── build │ ├── expected.txt │ ├── info.txt │ └── run │ ├── 059-dex-call-super │ ├── Blort.class │ ├── Blort.java │ ├── Zorch.class │ ├── Zorch.java │ ├── build │ ├── expected.txt │ ├── info.txt │ └── run │ ├── 060-dex-call-static │ ├── Blort.class │ ├── Blort.java │ ├── Zorch.class │ ├── Zorch.java │ ├── build │ ├── expected.txt │ ├── info.txt │ └── run │ ├── 061-dex-try-catch │ ├── Blort.class │ ├── Blort.java │ ├── build │ ├── expected.txt │ ├── info.txt │ └── run │ ├── 062-dex-synch-method │ ├── Blort.class │ ├── Blort.java │ ├── build │ ├── expected.txt │ ├── info.txt │ └── run │ ├── 063-dex-empty-switch │ ├── Blort.class │ ├── Blort.java │ ├── build │ ├── expected.txt │ ├── info.txt │ └── run │ ├── 064-dex-array-access │ ├── Blort.class │ ├── Blort.java │ ├── build │ ├── expected.txt │ ├── info.txt │ └── run │ ├── 065-dex-new-array │ ├── Blort.class │ ├── Blort.java │ ├── build │ ├── expected.txt │ ├── info.txt │ └── run │ ├── 066-dex-try-catch-rethrow │ ├── Blort.class │ ├── Blort.java │ ├── build │ ├── expected.txt │ ├── info.txt │ └── run │ ├── 067-dex-switch-and-try │ ├── Blort.class │ ├── Blort.java │ ├── build │ ├── expected.txt │ ├── info.txt │ └── run │ ├── 068-dex-infinite-loop │ ├── Blort.class │ ├── Blort.java │ ├── build │ ├── expected.txt │ ├── info.txt │ └── run │ ├── 069-dex-source-position │ ├── Blort.class │ ├── Blort.java │ ├── build │ ├── expected.txt │ ├── info.txt │ └── run │ ├── 070-dex-multianewarray │ ├── Blort.class │ ├── Blort.java │ ├── build │ ├── expected.txt │ ├── info.txt │ └── run │ ├── 071-dex-java-stack-ops │ ├── Blort.class │ ├── blort.j │ ├── build │ ├── expected.txt │ ├── info.txt │ └── run │ ├── 072-dex-switch-edge-cases │ ├── Blort.class │ ├── Blort.java │ ├── build │ ├── expected.txt │ ├── info.txt │ └── run │ ├── 073-dex-null-array-refs │ ├── Blort.class │ ├── Blort.java │ ├── build │ ├── expected.txt │ ├── info.txt │ └── run │ ├── 074-dex-form35c-edge-case │ ├── Blort.class │ ├── Blort.java │ ├── build │ ├── expected.txt │ ├── info.txt │ └── run │ ├── 075-dex-cat2-value-merge │ ├── Blort.class │ ├── Blort.java │ ├── build │ ├── expected.txt │ ├── info.txt │ └── run │ ├── 076-dex-synch-and-stack │ ├── Blort.class │ ├── Blort.java │ ├── build │ ├── expected.txt │ ├── info.txt │ └── run │ ├── 077-dex-code-alignment │ ├── Blort.class │ ├── Blort.java │ ├── build │ ├── expected.txt │ ├── info.txt │ └── run │ ├── 078-dex-local-variable-table │ ├── Blort.class │ ├── Blort.java │ ├── build │ ├── expected.txt │ ├── info.txt │ └── run │ ├── 079-dex-local-variable-renumbering │ ├── Blort.class │ ├── Blort.java │ ├── build │ ├── expected.txt │ ├── info.txt │ └── run │ ├── 080-dex-exception-tables │ ├── Blort.class │ ├── Blort.java │ ├── build │ ├── expected.txt │ ├── info.txt │ └── run │ ├── 081-dex-throws-list │ ├── Blort.class │ ├── Blort.java │ ├── build │ ├── expected.txt │ ├── info.txt │ └── run │ ├── 082-dex-throws-list-sharing │ ├── Blort.class │ ├── Blort.java │ ├── build │ ├── expected.txt │ ├── info.txt │ └── run │ ├── 083-ssa-phi-placement │ ├── Blort.class │ ├── Blort.java │ ├── build │ ├── expected.txt │ ├── info.txt │ └── run │ ├── 084-dex-high-register-moves │ ├── Blort.class │ ├── Blort.java │ ├── build │ ├── expected.txt │ ├── info.txt │ └── run │ ├── 085-dex-jsr-ret │ ├── blort.class │ ├── blort.j │ ├── build │ ├── expected.txt │ ├── info.txt │ └── run │ ├── 086-ssa-edge-split │ ├── Blort.class │ ├── Blort.java │ ├── build │ ├── expected.txt │ ├── info.txt │ └── run │ ├── 087-ssa-local-vars │ ├── Blort.class │ ├── Blort.java │ ├── build │ ├── expected.txt │ ├── info.txt │ └── run │ ├── 088-ssa-combine-blocks │ ├── Blort.class │ ├── Blort.java │ ├── build │ ├── expected.txt │ ├── info.txt │ └── run │ ├── 089-dex-define-object │ ├── Class.java │ ├── Object.java │ ├── String.java │ ├── build │ ├── expected.txt │ ├── info.txt │ ├── java │ │ └── lang │ │ │ ├── Class.class │ │ │ ├── Object.class │ │ │ └── String.class │ └── run │ ├── 090-dex-unify-arrays │ ├── Blort.class │ ├── Blort.java │ ├── build │ ├── expected.txt │ ├── info.txt │ └── run │ ├── 091-ssa-const-collector │ ├── Blort$Foo.class │ ├── Blort.class │ ├── Blort.java │ ├── build │ ├── expected.txt │ ├── info.txt │ └── run │ ├── 092-ssa-cfg-edge-cases │ ├── Blort.class │ ├── Blort.java │ ├── build │ ├── expected.txt │ ├── info.txt │ └── run │ ├── 093-ssa-invoke-range │ ├── Blort.class │ ├── Blort.java │ ├── build │ ├── expected.txt │ ├── info.txt │ └── run │ ├── 094-scala-locals │ ├── Blort.class │ ├── blort.j │ ├── build │ ├── expected.txt │ ├── info.txt │ └── run │ ├── 095-dex-const-string-jumbo │ ├── Blort.java │ ├── expected.txt │ ├── info.txt │ └── run │ ├── 096-dex-giant-catch │ ├── Blort.class │ ├── Blort.java │ ├── Zorch.class │ ├── Zorch.java │ ├── build │ ├── expected.txt │ ├── info.txt │ └── run │ ├── 097-dex-branch-offset-zero │ ├── Blort.class │ ├── Blort.java │ ├── build │ ├── expected.txt │ ├── info.txt │ └── run │ ├── 098-dex-jsr-ret-throw │ ├── ViewDebug$ViewServer.class │ ├── expected.txt │ ├── info.txt │ └── run │ ├── 099-dex-core-library-error │ ├── Blort.java │ ├── Muffins.java │ ├── Zorch.java │ ├── build │ ├── expected.txt │ ├── info.txt │ ├── java │ │ └── blort │ │ │ └── Blort.class │ ├── javax │ │ ├── net │ │ │ └── Muffins.class │ │ └── zorch │ │ │ └── Zorch.class │ └── run │ ├── 100-local-mismatch │ ├── Blort1.class │ ├── Blort1.j │ ├── Blort2.class │ ├── Blort2.j │ ├── Blort3.class │ ├── Blort3.j │ ├── Blort4.class │ ├── Blort4.j │ ├── build │ ├── expected.txt │ ├── info.txt │ └── run │ ├── 101-verify-wide-math │ ├── build │ ├── expected.txt │ ├── info.txt │ ├── op_d2f.class │ ├── op_d2f.j │ ├── op_d2i.class │ ├── op_d2i.j │ ├── op_d2l.class │ ├── op_d2l.j │ ├── op_dadd.class │ ├── op_dadd.j │ ├── op_dcmpg.class │ ├── op_dcmpg.j │ ├── op_dcmpl.class │ ├── op_dcmpl.j │ ├── op_ddiv.class │ ├── op_ddiv.j │ ├── op_dmul.class │ ├── op_dmul.j │ ├── op_dneg.class │ ├── op_dneg.j │ ├── op_drem.class │ ├── op_drem.j │ ├── op_dsub.class │ ├── op_dsub.j │ ├── op_l2d.class │ ├── op_l2d.j │ ├── op_l2f.class │ ├── op_l2f.j │ ├── op_l2i.class │ ├── op_l2i.j │ ├── op_ladd.class │ ├── op_ladd.j │ ├── op_land.class │ ├── op_land.j │ ├── op_lcmp.class │ ├── op_lcmp.j │ ├── op_ldiv.class │ ├── op_ldiv.j │ ├── op_lmul.class │ ├── op_lmul.j │ ├── op_lneg.class │ ├── op_lneg.j │ ├── op_lor.class │ ├── op_lor.j │ ├── op_lrem.class │ ├── op_lrem.j │ ├── op_lshl.class │ ├── op_lshl.j │ ├── op_lshr.class │ ├── op_lshr.j │ ├── op_lsub.class │ ├── op_lsub.j │ ├── op_lushr.class │ ├── op_lushr.j │ ├── op_lxor.class │ ├── op_lxor.j │ └── run │ ├── 102-verify-nonwide-math │ ├── build │ ├── expected.txt │ ├── info.txt │ ├── op_f2d.class │ ├── op_f2d.j │ ├── op_f2i.class │ ├── op_f2i.j │ ├── op_f2l.class │ ├── op_f2l.j │ ├── op_fadd.class │ ├── op_fadd.j │ ├── op_fdiv.class │ ├── op_fdiv.j │ ├── op_fmul.class │ ├── op_fmul.j │ ├── op_fneg.class │ ├── op_fneg.j │ ├── op_frem.class │ ├── op_frem.j │ ├── op_fsub.class │ ├── op_fsub.j │ ├── op_i2d.class │ ├── op_i2d.j │ ├── op_i2f.class │ ├── op_i2f.j │ ├── op_i2l.class │ ├── op_i2l.j │ ├── op_iadd.class │ ├── op_iadd.j │ ├── op_iand.class │ ├── op_iand.j │ ├── op_idiv.class │ ├── op_idiv.j │ ├── op_imul.class │ ├── op_imul.j │ ├── op_ineg.class │ ├── op_ineg.j │ ├── op_ior.class │ ├── op_ior.j │ ├── op_irem.class │ ├── op_irem.j │ ├── op_ishl.class │ ├── op_ishl.j │ ├── op_ishr.class │ ├── op_ishr.j │ ├── op_isub.class │ ├── op_isub.j │ ├── op_iushr.class │ ├── op_iushr.j │ ├── op_ixor.class │ ├── op_ixor.j │ └── run │ ├── 103-verify-branch-ops │ ├── build │ ├── expected.txt │ ├── info.txt │ ├── op_if_acmpeq.class │ ├── op_if_acmpeq.j │ ├── op_if_acmpne.class │ ├── op_if_acmpne.j │ ├── op_if_icmpeq.class │ ├── op_if_icmpeq.j │ ├── op_if_icmpge.class │ ├── op_if_icmpge.j │ ├── op_if_icmpgt.class │ ├── op_if_icmpgt.j │ ├── op_if_icmple.class │ ├── op_if_icmple.j │ ├── op_if_icmplt.class │ ├── op_if_icmplt.j │ ├── op_if_icmpne.class │ ├── op_if_icmpne.j │ ├── op_ifeq.class │ ├── op_ifeq.j │ ├── op_ifge.class │ ├── op_ifge.j │ ├── op_ifgt.class │ ├── op_ifgt.j │ ├── op_ifle.class │ ├── op_ifle.j │ ├── op_iflt.class │ ├── op_iflt.j │ ├── op_ifne.class │ ├── op_ifne.j │ ├── op_ifnonnull.class │ ├── op_ifnonnull.j │ ├── op_ifnull.class │ ├── op_ifnull.j │ ├── op_lookupswitch.class │ ├── op_lookupswitch.j │ ├── op_tableswitch.class │ ├── op_tableswitch.j │ └── run │ ├── 104-verify-return-ops │ ├── build │ ├── expected.txt │ ├── info.txt │ ├── op_areturn.class │ ├── op_areturn.j │ ├── op_dreturn.class │ ├── op_dreturn.j │ ├── op_freturn.class │ ├── op_freturn.j │ ├── op_ireturn.class │ ├── op_ireturn.j │ ├── op_lreturn.class │ ├── op_lreturn.j │ ├── op_sig_areturn.class │ ├── op_sig_areturn.j │ ├── op_sig_dreturn.class │ ├── op_sig_dreturn.j │ ├── op_sig_freturn.class │ ├── op_sig_freturn.j │ ├── op_sig_ireturn.class │ ├── op_sig_ireturn.j │ ├── op_sig_lreturn.class │ ├── op_sig_lreturn.j │ ├── op_sig_return.class │ ├── op_sig_return.j │ └── run │ ├── 105-verify-load-store-ops │ ├── build │ ├── expected.txt │ ├── info.txt │ ├── op_aaload.class │ ├── op_aaload.j │ ├── op_aastore.class │ ├── op_aastore.j │ ├── op_aastore2.class │ ├── op_aastore2.j │ ├── op_astore.class │ ├── op_astore.j │ ├── op_astore_0.class │ ├── op_astore_0.j │ ├── op_astore_1.class │ ├── op_astore_1.j │ ├── op_astore_2.class │ ├── op_astore_2.j │ ├── op_astore_3.class │ ├── op_astore_3.j │ ├── op_baload.class │ ├── op_baload.j │ ├── op_bastore.class │ ├── op_bastore.j │ ├── op_caload.class │ ├── op_caload.j │ ├── op_castore.class │ ├── op_castore.j │ ├── op_daload.class │ ├── op_daload.j │ ├── op_dastore.class │ ├── op_dastore.j │ ├── op_dstore.class │ ├── op_dstore.j │ ├── op_dstore_0.class │ ├── op_dstore_0.j │ ├── op_dstore_1.class │ ├── op_dstore_1.j │ ├── op_dstore_2.class │ ├── op_dstore_2.j │ ├── op_dstore_3.class │ ├── op_dstore_3.j │ ├── op_faload.class │ ├── op_faload.j │ ├── op_fastore.class │ ├── op_fastore.j │ ├── op_fstore.class │ ├── op_fstore.j │ ├── op_fstore_0.class │ ├── op_fstore_0.j │ ├── op_fstore_1.class │ ├── op_fstore_1.j │ ├── op_fstore_2.class │ ├── op_fstore_2.j │ ├── op_fstore_3.class │ ├── op_fstore_3.j │ ├── op_iaload.class │ ├── op_iaload.j │ ├── op_iastore.class │ ├── op_iastore.j │ ├── op_istore.class │ ├── op_istore.j │ ├── op_istore_0.class │ ├── op_istore_0.j │ ├── op_istore_1.class │ ├── op_istore_1.j │ ├── op_istore_2.class │ ├── op_istore_2.j │ ├── op_istore_3.class │ ├── op_istore_3.j │ ├── op_laload.class │ ├── op_laload.j │ ├── op_lastore.class │ ├── op_lastore.j │ ├── op_lstore.class │ ├── op_lstore.j │ ├── op_lstore_0.class │ ├── op_lstore_0.j │ ├── op_lstore_1.class │ ├── op_lstore_1.j │ ├── op_lstore_2.class │ ├── op_lstore_2.j │ ├── op_lstore_3.class │ ├── op_lstore_3.j │ ├── op_saload.class │ ├── op_saload.j │ ├── op_sastore.class │ ├── op_sastore.j │ └── run │ ├── 106-verify-object-ops │ ├── build │ ├── expected.txt │ ├── info.txt │ ├── op_anewarray.class │ ├── op_anewarray.j │ ├── op_arraylength.class │ ├── op_arraylength.j │ ├── op_athrow.class │ ├── op_athrow.j │ ├── op_checkcast.class │ ├── op_checkcast.j │ ├── op_getfield.class │ ├── op_getfield.j │ ├── op_instanceof.class │ ├── op_instanceof.j │ ├── op_invokeinterface.class │ ├── op_invokeinterface.j │ ├── op_invokespecial.class │ ├── op_invokespecial.j │ ├── op_invokestatic.class │ ├── op_invokestatic.j │ ├── op_invokevirtual.class │ ├── op_invokevirtual.j │ ├── op_monitorenter.class │ ├── op_monitorenter.j │ ├── op_monitorexit.class │ ├── op_monitorexit.j │ ├── op_multianewarray.class │ ├── op_multianewarray.j │ ├── op_newarray.class │ ├── op_newarray.j │ ├── op_putfield.class │ ├── op_putfield.j │ ├── op_putstatic.class │ ├── op_putstatic.j │ └── run │ ├── 107-verify-stack-ops │ ├── build │ ├── expected.txt │ ├── info.txt │ ├── op_dup.class │ ├── op_dup.j │ ├── op_dup2.class │ ├── op_dup2.j │ ├── op_dup2_case1.j │ ├── op_dup2_x1_case1.class │ ├── op_dup2_x1_case1.j │ ├── op_dup2_x1_case2.class │ ├── op_dup2_x1_case2.j │ ├── op_dup2_x1_case3.class │ ├── op_dup2_x1_case3.j │ ├── op_dup2_x2_case1.class │ ├── op_dup2_x2_case1.j │ ├── op_dup2_x2_case2.class │ ├── op_dup2_x2_case2.j │ ├── op_dup2_x2_case3.class │ ├── op_dup2_x2_case3.j │ ├── op_dup_x1_case1.class │ ├── op_dup_x1_case1.j │ ├── op_dup_x1_case2.class │ ├── op_dup_x1_case2.j │ ├── op_dup_x2_case1.class │ ├── op_dup_x2_case1.j │ ├── op_dup_x2_case2.class │ ├── op_dup_x2_case2.j │ ├── op_dup_x2_case3.class │ ├── op_dup_x2_case3.j │ ├── op_pop.class │ ├── op_pop.j │ ├── op_pop2.class │ ├── op_pop2.j │ ├── op_pop2_case2.j │ ├── op_swap_case1.class │ ├── op_swap_case1.j │ ├── op_swap_case2.class │ ├── op_swap_case2.j │ └── run │ ├── 108-string-annotation │ ├── Blort.class │ ├── Blort.java │ ├── Fizmo.class │ ├── Fizmo.java │ ├── Frotz.class │ ├── Frotz.java │ ├── build │ ├── expected.txt │ ├── info.txt │ └── run │ ├── 109-int-branch │ ├── blort.class │ ├── blort.j │ ├── build │ ├── expected.txt │ ├── info.txt │ └── run │ ├── 110-dex-preserve-this │ ├── Blort.class │ ├── Blort.java │ ├── build │ ├── expected.txt │ ├── info.txt │ └── run │ ├── 111-use-null-as-array │ ├── Blort.class │ ├── Blort.java │ ├── build │ ├── expected.txt │ ├── info.txt │ ├── multidimensional.class │ ├── multidimensional.j │ ├── multidimensional.sh │ └── run │ ├── 112-dex-return-jsr-result │ ├── blort.class │ ├── blort.j │ ├── build │ ├── expected.txt │ ├── info.txt │ └── run │ ├── 113-old-style-inner-class │ ├── Blort$1.class │ ├── Blort$2.class │ ├── Blort.class │ ├── Blort.java │ ├── build │ ├── expected.txt │ ├── info.txt │ └── run │ ├── 114-value-propagation │ ├── blort.class │ ├── blort.j │ ├── build │ ├── expected.txt │ ├── info.txt │ └── run │ ├── 115-merge │ ├── build │ ├── com │ │ └── android │ │ │ └── dx │ │ │ └── merge │ │ │ └── DexMergeTest.java │ ├── expected.txt │ ├── info.txt │ ├── run │ └── testdata │ │ ├── Annotated.java │ │ ├── Basic.java │ │ ├── FillArrayData.java │ │ ├── StaticValues.java │ │ └── TryCatchFinally.java │ ├── 116-leb128 │ ├── build │ ├── com │ │ └── android │ │ │ └── dx │ │ │ └── util │ │ │ ├── Leb128UtilsTest.class │ │ │ └── Leb128UtilsTest.java │ ├── expected.txt │ ├── info.txt │ └── run │ ├── 117-modified-utf8 │ ├── build │ ├── com │ │ └── android │ │ │ └── dx │ │ │ └── util │ │ │ ├── Mutf8Test.class │ │ │ └── Mutf8Test.java │ ├── expected.txt │ ├── info.txt │ └── run │ ├── 118-find-usages │ ├── Foo$MyList.class │ ├── Foo.class │ ├── Foo.java │ ├── build │ ├── expected.txt │ ├── info.txt │ └── run │ ├── 119-merge-conflict │ ├── build │ ├── com │ │ └── android │ │ │ └── dx │ │ │ └── merge │ │ │ └── MergeConflictTest.java │ ├── expected.txt │ ├── info.txt │ ├── run │ └── testdata │ │ ├── A.java │ │ └── B.java │ ├── 121-sccp │ ├── Blort.debug.class │ ├── Blort.java │ ├── Blort.nodebug.class │ ├── build │ ├── expected.txt │ ├── info.txt │ └── run │ ├── 122-switch-with-high-register │ ├── Blort.debug.class │ ├── Blort.java │ ├── Blort.nodebug.class │ ├── build │ ├── expected.txt │ ├── info.txt │ └── run │ ├── 123-dex-transform-invalid-virtual-to-direct │ ├── Zorch.class │ ├── Zorch.java │ ├── expected.txt │ ├── info.txt │ └── run │ ├── 124-multidex-option-no-overflow │ ├── expected.txt │ ├── info.txt │ └── run │ ├── 125-main-dex-list │ ├── build │ ├── classes │ │ └── testdata │ │ │ ├── InMainDex.class │ │ │ └── InSecondaryDex.class │ ├── com │ │ └── android │ │ │ └── dx │ │ │ └── multidex │ │ │ ├── MainDexListTest.class │ │ │ └── MainDexListTest.java │ ├── expected.txt │ ├── info.txt │ ├── main.list │ ├── run │ └── testdata │ │ ├── InMainDex.java │ │ └── InSecondaryDex.java │ ├── 126-main-dex-list-one-dex │ ├── build │ ├── classes │ │ └── testdata │ │ │ ├── InMainDex.class │ │ │ └── InSecondaryDex.class │ ├── expected.txt │ ├── info.txt │ ├── main.list │ ├── run │ └── testdata │ │ ├── InMainDex.java │ │ └── InSecondaryDex.java │ ├── 127-merge-stress │ ├── build │ ├── com │ │ └── android │ │ │ └── dx │ │ │ └── merge │ │ │ ├── MergeTest$MergeTask.class │ │ │ ├── MergeTest.class │ │ │ └── MergeTest.java │ ├── expected.txt │ ├── info.txt │ └── run │ ├── 128-multidex-option-overflow │ ├── build │ ├── classes │ │ ├── FillerField.class │ │ ├── FillerMethod.class │ │ └── FillerStatic.class │ ├── expected.txt │ ├── info.txt │ ├── run │ └── src │ │ ├── FillerField.java │ │ ├── FillerMethod.java │ │ └── FillerStatic.java │ ├── 129-numthread-deterministic │ ├── expected.txt │ ├── info.txt │ └── run │ ├── 130-numthread-multidex-deterministic │ ├── expected.txt │ ├── info.txt │ └── run │ ├── 131-perf │ ├── ClassGen.java │ ├── expected.txt │ ├── info.txt │ └── run │ ├── 132-invoke-polymorphic │ ├── TestInvokePolymorphic.class │ ├── TestInvokePolymorphic.java │ ├── build │ ├── expected.txt │ ├── info.txt │ └── run │ ├── 133-source-debug-extension │ ├── HelloKt.class │ ├── expected.txt │ ├── info.txt │ └── run │ ├── 134-maindexlist-lambdas │ ├── build │ ├── classes │ │ └── lambda │ │ │ ├── A.class │ │ │ └── B.class │ ├── expected.txt │ ├── info.txt │ ├── lambda │ │ ├── A.java │ │ └── B.java │ └── run │ ├── 135-invoke-custom │ ├── build │ ├── expected.txt │ ├── info.txt │ ├── invokecustom.jar │ ├── run │ └── src │ │ └── invokecustom │ │ ├── InvokeCustom.java │ │ └── TestGenerator.java │ ├── 136-null-constant-debug-info │ ├── NullConstant.class │ ├── NullConstant.java │ ├── build │ ├── expected.txt │ ├── info.txt │ └── run │ ├── 137-dexmerger-dex38 │ ├── build │ ├── expected.txt │ ├── info.txt │ ├── invokecustom.jar │ ├── run │ └── src │ │ └── invokecustom │ │ ├── InvokeCustom.java │ │ └── TestGenerator.java │ ├── 138-invoke-polymorphic-again │ ├── Main.class │ ├── Main.java │ ├── build │ ├── expected.txt │ ├── info.txt │ └── run │ ├── 139-lambda-metafactory │ ├── Consumer.class │ ├── Foo.class │ ├── Main.class │ ├── Main.java │ ├── build │ ├── expected.txt │ ├── info.txt │ └── run │ ├── 140-ssa-phi-overlap │ ├── Test$1.class │ ├── Test$A.class │ ├── Test$B.class │ ├── Test$C.class │ ├── Test$X.class │ ├── Test.class │ ├── Test.java │ ├── build │ ├── expected.txt │ ├── info.txt │ └── run │ ├── 141-invoke-polymorphic-varhandles │ ├── VarHandleDexTest.class │ ├── VarHandleDexTest.java │ ├── build │ ├── expected.txt │ ├── info.txt │ └── run │ ├── 142-const-method-handle │ ├── build │ ├── classes │ │ ├── Main.class │ │ └── constmethodhandle │ │ │ ├── ConstTest.class │ │ │ ├── TestGenerator$1.class │ │ │ └── TestGenerator.class │ ├── constmethodhandle.jar │ ├── expected.txt │ ├── info.txt │ ├── run │ └── src │ │ ├── Main.java │ │ └── constmethodhandle │ │ ├── ConstTest.java │ │ └── TestGenerator.java │ ├── 143-interface-methods │ ├── DefaultDefinition.java │ ├── InvokeDefault.java │ ├── InvokeStatic.java │ ├── StaticDefinition.java │ ├── expected.txt │ ├── info.txt │ └── run │ ├── run-all-tests │ └── run-test ├── opcode-gen ├── README.txt ├── bytecode.txt ├── opcode-gen ├── opcode-gen.awk └── regen-all └── tools ├── dexdeps ├── Android.bp ├── README.txt ├── etc │ ├── dexdeps │ └── manifest.txt └── src │ ├── Android.bp │ └── com │ └── android │ └── dexdeps │ ├── ClassRef.java │ ├── DexData.java │ ├── DexDataException.java │ ├── FieldRef.java │ ├── Main.java │ ├── MethodRef.java │ ├── Output.java │ └── UsageException.java ├── get-hprof └── hprof-conv ├── Android.bp └── HprofConv.c /Android.bp: -------------------------------------------------------------------------------- 1 | package { 2 | default_applicable_licenses: ["dalvik_license"], 3 | } 4 | 5 | // Added automatically by a large-scale-change 6 | // See: http://go/android-license-faq 7 | license { 8 | name: "dalvik_license", 9 | visibility: [":__subpackages__"], 10 | license_kinds: [ 11 | "SPDX-license-identifier-Apache-2.0", 12 | ], 13 | license_text: [ 14 | "NOTICE", 15 | ], 16 | } 17 | 18 | subdirs = [ 19 | "dx", 20 | "tools/hprof-conv", 21 | ] 22 | -------------------------------------------------------------------------------- /OWNERS: -------------------------------------------------------------------------------- 1 | # Studio 2 | cmw@google.com 3 | # ART / libcore 4 | dsrbecky@google.com 5 | narayan@google.com 6 | ngeoffray@google.com 7 | -------------------------------------------------------------------------------- /dexgen/README.txt: -------------------------------------------------------------------------------- 1 | Home of dexgen, the dex code generator project. It provides API for 2 | creating dex classes in runtime which is needed e.g. for class mocking. 3 | This solution is based on the dx tool and uses its classes extensively. 4 | -------------------------------------------------------------------------------- /dx/.classpath: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /dx/.project: -------------------------------------------------------------------------------- 1 | 2 | 3 | dx 4 | 5 | 6 | 7 | 8 | 9 | org.eclipse.jdt.core.javabuilder 10 | 11 | 12 | 13 | 14 | 15 | org.eclipse.jdt.core.javanature 16 | 17 | 18 | -------------------------------------------------------------------------------- /dx/README.txt: -------------------------------------------------------------------------------- 1 | Home of Dalvik eXchange, the thing that takes in class files and 2 | reformulates them for consumption in the VM. It also does a few other 3 | things; use "dx --help" to see a modicum of self-documentation. 4 | -------------------------------------------------------------------------------- /dx/etc/jasmin.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aosp-mirror/platform_dalvik/838bd34deecb3715b2b4006edede2ab79e42e336/dx/etc/jasmin.jar -------------------------------------------------------------------------------- /dx/etc/mainDexClassesNoAapt.rules: -------------------------------------------------------------------------------- 1 | -keep public class * extends android.app.Activity { 2 | (); 3 | } 4 | -keep public class * extends android.app.Service { 5 | (); 6 | } 7 | -keep public class * extends android.content.ContentProvider { 8 | (); 9 | } 10 | -keep public class * extends android.content.BroadcastReceiver { 11 | (); 12 | } 13 | 14 | -------------------------------------------------------------------------------- /dx/etc/manifest.txt: -------------------------------------------------------------------------------- 1 | Main-Class: com.android.dx.command.Main 2 | -------------------------------------------------------------------------------- /dx/src/com/android/dx/cf/attrib/package.html: -------------------------------------------------------------------------------- 1 | 2 |

Implementation of containers and utilities for all the standard Java 3 | attribute types.

4 | 5 |

PACKAGES USED: 6 |

    7 |
  • com.android.dx.cf.iface
  • 8 |
  • com.android.dx.rop.pool
  • 9 |
  • com.android.dx.util
  • 10 |
11 | 12 | -------------------------------------------------------------------------------- /dx/src/com/android/dx/cf/code/package.html: -------------------------------------------------------------------------------- 1 | 2 |

Implementation of classes having to do with Java simulation, such as 3 | is needed for verification or stack-to-register conversion.

4 | 5 |

PACKAGES USED: 6 |

    7 |
  • com.android.dx.rop.pool
  • 8 |
  • com.android.dx.util
  • 9 |
10 | 11 | -------------------------------------------------------------------------------- /dx/src/com/android/dx/cf/direct/package.html: -------------------------------------------------------------------------------- 1 | 2 |

Implementation of cf.iface.* based on a direct representation 3 | of class files as byte[]s.

4 | 5 |

PACKAGES USED: 6 |

    7 |
  • com.android.dx.cf.attrib
  • 8 |
  • com.android.dx.cf.iface
  • 9 |
  • com.android.dx.rop.pool
  • 10 |
  • com.android.dx.util
  • 11 |
12 | 13 | -------------------------------------------------------------------------------- /dx/src/com/android/dx/cf/iface/package.html: -------------------------------------------------------------------------------- 1 | 2 |

Interfaces and base classes for dealing with class files. This package 3 | doesn't have any parsing but does have basic container implementations.

4 | 5 |

PACKAGES USED: 6 |

    7 |
  • com.android.dx.rop.pool
  • 8 |
  • com.android.dx.util
  • 9 |
10 | 11 | -------------------------------------------------------------------------------- /dx/src/com/android/dx/dex/cf/package.html: -------------------------------------------------------------------------------- 1 | 2 |

Classes for translating Java classfiles into Dalvik classes.

3 | 4 |

PACKAGES USED: 5 |

    6 |
  • com.android.dx.cf.code
  • 7 |
  • com.android.dx.cf.direct
  • 8 |
  • com.android.dx.cf.iface
  • 9 |
  • com.android.dx.dex.code
  • 10 |
  • com.android.dx.dex.file
  • 11 |
  • com.android.dx.rop.code
  • 12 |
  • com.android.dx.rop.cst
  • 13 |
  • com.android.dx.util
  • 14 |
15 | 16 | -------------------------------------------------------------------------------- /dx/src/com/android/dx/rop/code/package.html: -------------------------------------------------------------------------------- 1 | 2 |

Classes relating to a register-based opcode system.

3 | 4 |

PACKAGES USED: 5 |

    6 |
  • com.android.dx.util
  • 7 |
8 | 9 | -------------------------------------------------------------------------------- /dx/src/com/android/dx/rop/cst/package.html: -------------------------------------------------------------------------------- 1 | 2 |

Interfaces and implementation of things related to the constant pool.

3 | 4 |

PACKAGES USED: 5 |

    6 |
  • com.android.dx.rop.type
  • 7 |
  • com.android.dx.util
  • 8 |
9 | 10 | -------------------------------------------------------------------------------- /dx/src/com/android/dx/rop/type/package.html: -------------------------------------------------------------------------------- 1 | 2 |

Implementation of classes that represent types (classes or primitives).

3 | 4 |

PACKAGES USED: 5 |

    6 |
  • com.android.dx.util
  • 7 |
8 | 9 | -------------------------------------------------------------------------------- /dx/src/com/android/dx/util/package.html: -------------------------------------------------------------------------------- 1 | 2 |

Utility classes for class file access/manipulation.

3 | 4 | -------------------------------------------------------------------------------- /dx/tests/001-nop/expected.txt: -------------------------------------------------------------------------------- 1 | I am a jelly donut. 2 | -------------------------------------------------------------------------------- /dx/tests/001-nop/info.txt: -------------------------------------------------------------------------------- 1 | This is a sample no-op test, which does at least serve to verify that the 2 | test harness is working. 3 | -------------------------------------------------------------------------------- /dx/tests/001-nop/run: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | # 3 | # Copyright (C) 2007 The Android Open Source Project 4 | # 5 | # Licensed under the Apache License, Version 2.0 (the "License"); 6 | # you may not use this file except in compliance with the License. 7 | # You may obtain a copy of the License at 8 | # 9 | # http://www.apache.org/licenses/LICENSE-2.0 10 | # 11 | # Unless required by applicable law or agreed to in writing, software 12 | # distributed under the License is distributed on an "AS IS" BASIS, 13 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 14 | # See the License for the specific language governing permissions and 15 | # limitations under the License. 16 | 17 | echo 'I am a jelly donut.' 18 | -------------------------------------------------------------------------------- /dx/tests/002-minimal-valid/info.txt: -------------------------------------------------------------------------------- 1 | This is just a dump of a simple but valid class. 2 | -------------------------------------------------------------------------------- /dx/tests/003-magic-version-access/class-bad-magic.txt: -------------------------------------------------------------------------------- 1 | # 2 | # classfile with a bad magic value 3 | # 4 | 5 | dead babe # magic 6 | 0000 # minor_version 7 | 0031 # major_version 8 | 0005 # constant_pool_count 9 | 10 | # 11 | # constant_pool 12 | # 13 | 01 0005 "Small" # 0001: utf8["Small"] 14 | 01 0010 "java/lang/Object" # 0002: utf8["java/lang/Object"] 15 | 07 0001 # 0003: class[Small] 16 | 07 0002 # 0004: class[java/lang/Object] 17 | 18 | ffff # access_flags 19 | 0003 # this_class 20 | 0004 # super_class 21 | 0000 # interfaces_count 22 | 0000 # fields_count 23 | 0000 # methods_count 24 | 25 | 0000 # attributes_count 26 | -------------------------------------------------------------------------------- /dx/tests/003-magic-version-access/class-version-44.0.txt: -------------------------------------------------------------------------------- 1 | # 2 | # classfile with an out-of-range version. 3 | # 4 | 5 | cafe babe # magic 6 | 0000 # minor_version 7 | 002c # major_version 8 | 0005 # constant_pool_count 9 | 10 | # 11 | # constant_pool 12 | # 13 | 01 0005 "Small" # 0001: utf8["Small"] 14 | 01 0010 "java/lang/Object" # 0002: utf8["java/lang/Object"] 15 | 07 0001 # 0003: class[Small] 16 | 07 0002 # 0004: class[java/lang/Object] 17 | 18 | ffff # access_flags 19 | 0003 # this_class 20 | 0004 # super_class 21 | 0000 # interfaces_count 22 | 0000 # fields_count 23 | 0000 # methods_count 24 | 25 | 0000 # attributes_count 26 | -------------------------------------------------------------------------------- /dx/tests/003-magic-version-access/class-version-44.65535.txt: -------------------------------------------------------------------------------- 1 | # 2 | # classfile with an out-of-range version. 3 | # 4 | 5 | cafe babe # magic 6 | ffff # minor_version 7 | 002c # major_version 8 | 0005 # constant_pool_count 9 | 10 | # 11 | # constant_pool 12 | # 13 | 01 0005 "Small" # 0001: utf8["Small"] 14 | 01 0010 "java/lang/Object" # 0002: utf8["java/lang/Object"] 15 | 07 0001 # 0003: class[Small] 16 | 07 0002 # 0004: class[java/lang/Object] 17 | 18 | ffff # access_flags 19 | 0003 # this_class 20 | 0004 # super_class 21 | 0000 # interfaces_count 22 | 0000 # fields_count 23 | 0000 # methods_count 24 | 25 | 0000 # attributes_count 26 | -------------------------------------------------------------------------------- /dx/tests/003-magic-version-access/class-version-45.0.txt: -------------------------------------------------------------------------------- 1 | # 2 | # classfile with the lowest valid version, 45.0 (0x2d.0x00) 3 | # 4 | 5 | cafe babe # magic 6 | 0000 # minor_version 7 | 002d # major_version 8 | 0005 # constant_pool_count 9 | 10 | # 11 | # constant_pool 12 | # 13 | 01 0005 "Small" # 0001: utf8["Small"] 14 | 01 0010 "java/lang/Object" # 0002: utf8["java/lang/Object"] 15 | 07 0001 # 0003: class[Small] 16 | 07 0002 # 0004: class[java/lang/Object] 17 | 18 | ffff # access_flags 19 | 0003 # this_class 20 | 0004 # super_class 21 | 0000 # interfaces_count 22 | 0000 # fields_count 23 | 0000 # methods_count 24 | 25 | 0000 # attributes_count 26 | -------------------------------------------------------------------------------- /dx/tests/003-magic-version-access/class-version-45.65535.txt: -------------------------------------------------------------------------------- 1 | # 2 | # classfile with the valid version 45.65535 (0x2d.0xffff) 3 | # 4 | 5 | cafe babe # magic 6 | ffff # minor_version 7 | 002d # major_version 8 | 0005 # constant_pool_count 9 | 10 | # 11 | # constant_pool 12 | # 13 | 01 0005 "Small" # 0001: utf8["Small"] 14 | 01 0010 "java/lang/Object" # 0002: utf8["java/lang/Object"] 15 | 07 0001 # 0003: class[Small] 16 | 07 0002 # 0004: class[java/lang/Object] 17 | 18 | ffff # access_flags 19 | 0003 # this_class 20 | 0004 # super_class 21 | 0000 # interfaces_count 22 | 0000 # fields_count 23 | 0000 # methods_count 24 | 25 | 0000 # attributes_count 26 | -------------------------------------------------------------------------------- /dx/tests/003-magic-version-access/class-version-48.0.txt: -------------------------------------------------------------------------------- 1 | # 2 | # classfile with the valid version 48.0 (0x30.0x00) 3 | # 4 | 5 | cafe babe # magic 6 | 0000 # minor_version 7 | 0030 # major_version 8 | 0005 # constant_pool_count 9 | 10 | # 11 | # constant_pool 12 | # 13 | 01 0005 "Small" # 0001: utf8["Small"] 14 | 01 0010 "java/lang/Object" # 0002: utf8["java/lang/Object"] 15 | 07 0001 # 0003: class[Small] 16 | 07 0002 # 0004: class[java/lang/Object] 17 | 18 | ffff # access_flags 19 | 0003 # this_class 20 | 0004 # super_class 21 | 0000 # interfaces_count 22 | 0000 # fields_count 23 | 0000 # methods_count 24 | 25 | 0000 # attributes_count 26 | -------------------------------------------------------------------------------- /dx/tests/003-magic-version-access/class-version-48.65535.txt: -------------------------------------------------------------------------------- 1 | # 2 | # classfile with the valid version 48.65535 (0x30.0xffff) 3 | # 4 | 5 | cafe babe # magic 6 | ffff # minor_version 7 | 0030 # major_version 8 | 0005 # constant_pool_count 9 | 10 | # 11 | # constant_pool 12 | # 13 | 01 0005 "Small" # 0001: utf8["Small"] 14 | 01 0010 "java/lang/Object" # 0002: utf8["java/lang/Object"] 15 | 07 0001 # 0003: class[Small] 16 | 07 0002 # 0004: class[java/lang/Object] 17 | 18 | ffff # access_flags 19 | 0003 # this_class 20 | 0004 # super_class 21 | 0000 # interfaces_count 22 | 0000 # fields_count 23 | 0000 # methods_count 24 | 25 | 0000 # attributes_count 26 | -------------------------------------------------------------------------------- /dx/tests/003-magic-version-access/class-version-49.0.txt: -------------------------------------------------------------------------------- 1 | # 2 | # classfile with the valid version 49.0 (0x31.0x00) 3 | # 4 | 5 | cafe babe # magic 6 | 0000 # minor_version 7 | 0031 # major_version 8 | 0005 # constant_pool_count 9 | 10 | # 11 | # constant_pool 12 | # 13 | 01 0005 "Small" # 0001: utf8["Small"] 14 | 01 0010 "java/lang/Object" # 0002: utf8["java/lang/Object"] 15 | 07 0001 # 0003: class[Small] 16 | 07 0002 # 0004: class[java/lang/Object] 17 | 18 | ffff # access_flags 19 | 0003 # this_class 20 | 0004 # super_class 21 | 0000 # interfaces_count 22 | 0000 # fields_count 23 | 0000 # methods_count 24 | 25 | 0000 # attributes_count 26 | -------------------------------------------------------------------------------- /dx/tests/003-magic-version-access/class-version-49.1.txt: -------------------------------------------------------------------------------- 1 | # 2 | # classfile with the valid version 49.1 (0x31.0x01) 3 | # 4 | 5 | cafe babe # magic 6 | 0001 # minor_version 7 | 0031 # major_version 8 | 0005 # constant_pool_count 9 | 10 | # 11 | # constant_pool 12 | # 13 | 01 0005 "Small" # 0001: utf8["Small"] 14 | 01 0010 "java/lang/Object" # 0002: utf8["java/lang/Object"] 15 | 07 0001 # 0003: class[Small] 16 | 07 0002 # 0004: class[java/lang/Object] 17 | 18 | ffff # access_flags 19 | 0003 # this_class 20 | 0004 # super_class 21 | 0000 # interfaces_count 22 | 0000 # fields_count 23 | 0000 # methods_count 24 | 25 | 0000 # attributes_count 26 | -------------------------------------------------------------------------------- /dx/tests/003-magic-version-access/class-version-49.65535.txt: -------------------------------------------------------------------------------- 1 | # 2 | # classfile with the valid version 49.65535 (0x31.0xffff) 3 | # 4 | 5 | cafe babe # magic 6 | ffff # minor_version 7 | 0031 # major_version 8 | 0005 # constant_pool_count 9 | 10 | # 11 | # constant_pool 12 | # 13 | 01 0005 "Small" # 0001: utf8["Small"] 14 | 01 0010 "java/lang/Object" # 0002: utf8["java/lang/Object"] 15 | 07 0001 # 0003: class[Small] 16 | 07 0002 # 0004: class[java/lang/Object] 17 | 18 | ffff # access_flags 19 | 0003 # this_class 20 | 0004 # super_class 21 | 0000 # interfaces_count 22 | 0000 # fields_count 23 | 0000 # methods_count 24 | 25 | 0000 # attributes_count 26 | -------------------------------------------------------------------------------- /dx/tests/003-magic-version-access/class-version-50.0.txt: -------------------------------------------------------------------------------- 1 | # 2 | # classfile with the valid version 50.0 (0x30.0x00) 3 | # 4 | 5 | cafe babe # magic 6 | 0000 # minor_version 7 | 0032 # major_version 8 | 0005 # constant_pool_count 9 | 10 | # 11 | # constant_pool 12 | # 13 | 01 0005 "Small" # 0001: utf8["Small"] 14 | 01 0010 "java/lang/Object" # 0002: utf8["java/lang/Object"] 15 | 07 0001 # 0003: class[Small] 16 | 07 0002 # 0004: class[java/lang/Object] 17 | 18 | ffff # access_flags 19 | 0003 # this_class 20 | 0004 # super_class 21 | 0000 # interfaces_count 22 | 0000 # fields_count 23 | 0000 # methods_count 24 | 25 | 0000 # attributes_count 26 | -------------------------------------------------------------------------------- /dx/tests/003-magic-version-access/class-version-50.1.txt: -------------------------------------------------------------------------------- 1 | # 2 | # classfile with the valid version 50.1 (0x32.0x01) 3 | # 4 | 5 | cafe babe # magic 6 | 0001 # minor_version 7 | 0032 # major_version 8 | 0005 # constant_pool_count 9 | 10 | # 11 | # constant_pool 12 | # 13 | 01 0005 "Small" # 0001: utf8["Small"] 14 | 01 0010 "java/lang/Object" # 0002: utf8["java/lang/Object"] 15 | 07 0001 # 0003: class[Small] 16 | 07 0002 # 0004: class[java/lang/Object] 17 | 18 | ffff # access_flags 19 | 0003 # this_class 20 | 0004 # super_class 21 | 0000 # interfaces_count 22 | 0000 # fields_count 23 | 0000 # methods_count 24 | 25 | 0000 # attributes_count 26 | -------------------------------------------------------------------------------- /dx/tests/003-magic-version-access/class-version-50.65535.txt: -------------------------------------------------------------------------------- 1 | # 2 | # classfile with the valid version 50.65535 (0x32.0xffff) 3 | # 4 | 5 | cafe babe # magic 6 | ffff # minor_version 7 | 0032 # major_version 8 | 0005 # constant_pool_count 9 | 10 | # 11 | # constant_pool 12 | # 13 | 01 0005 "Small" # 0001: utf8["Small"] 14 | 01 0010 "java/lang/Object" # 0002: utf8["java/lang/Object"] 15 | 07 0001 # 0003: class[Small] 16 | 07 0002 # 0004: class[java/lang/Object] 17 | 18 | ffff # access_flags 19 | 0003 # this_class 20 | 0004 # super_class 21 | 0000 # interfaces_count 22 | 0000 # fields_count 23 | 0000 # methods_count 24 | 25 | 0000 # attributes_count 26 | -------------------------------------------------------------------------------- /dx/tests/003-magic-version-access/class-version-51.0.txt: -------------------------------------------------------------------------------- 1 | # 2 | # classfile with the valid version 51.0 (0x33.0x00) 3 | # 4 | 5 | cafe babe # magic 6 | 0000 # minor_version 7 | 0033 # major_version 8 | 0005 # constant_pool_count 9 | 10 | # 11 | # constant_pool 12 | # 13 | 01 0005 "Small" # 0001: utf8["Small"] 14 | 01 0010 "java/lang/Object" # 0002: utf8["java/lang/Object"] 15 | 07 0001 # 0003: class[Small] 16 | 07 0002 # 0004: class[java/lang/Object] 17 | 18 | ffff # access_flags 19 | 0003 # this_class 20 | 0004 # super_class 21 | 0000 # interfaces_count 22 | 0000 # fields_count 23 | 0000 # methods_count 24 | 25 | 0000 # attributes_count 26 | -------------------------------------------------------------------------------- /dx/tests/003-magic-version-access/class-version-51.1.txt: -------------------------------------------------------------------------------- 1 | # 2 | # classfile with the valid version 51.1 (0x33.0x01) 3 | # 4 | 5 | cafe babe # magic 6 | 0001 # minor_version 7 | 0033 # major_version 8 | 0005 # constant_pool_count 9 | 10 | # 11 | # constant_pool 12 | # 13 | 01 0005 "Small" # 0001: utf8["Small"] 14 | 01 0010 "java/lang/Object" # 0002: utf8["java/lang/Object"] 15 | 07 0001 # 0003: class[Small] 16 | 07 0002 # 0004: class[java/lang/Object] 17 | 18 | ffff # access_flags 19 | 0003 # this_class 20 | 0004 # super_class 21 | 0000 # interfaces_count 22 | 0000 # fields_count 23 | 0000 # methods_count 24 | 25 | 0000 # attributes_count 26 | -------------------------------------------------------------------------------- /dx/tests/003-magic-version-access/class-version-51.65535.txt: -------------------------------------------------------------------------------- 1 | # 2 | # classfile with the valid version 51.65535 (0x33.0xffff) 3 | # 4 | 5 | cafe babe # magic 6 | ffff # minor_version 7 | 0033 # major_version 8 | 0005 # constant_pool_count 9 | 10 | # 11 | # constant_pool 12 | # 13 | 01 0005 "Small" # 0001: utf8["Small"] 14 | 01 0010 "java/lang/Object" # 0002: utf8["java/lang/Object"] 15 | 07 0001 # 0003: class[Small] 16 | 07 0002 # 0004: class[java/lang/Object] 17 | 18 | ffff # access_flags 19 | 0003 # this_class 20 | 0004 # super_class 21 | 0000 # interfaces_count 22 | 0000 # fields_count 23 | 0000 # methods_count 24 | 25 | 0000 # attributes_count 26 | -------------------------------------------------------------------------------- /dx/tests/003-magic-version-access/class-version-52.0.txt: -------------------------------------------------------------------------------- 1 | # 2 | # classfile with the valid version 52.0 (0x34.0x00) 3 | # 4 | 5 | cafe babe # magic 6 | 0000 # minor_version 7 | 0034 # major_version 8 | 0005 # constant_pool_count 9 | 10 | # 11 | # constant_pool 12 | # 13 | 01 0005 "Small" # 0001: utf8["Small"] 14 | 01 0010 "java/lang/Object" # 0002: utf8["java/lang/Object"] 15 | 07 0001 # 0003: class[Small] 16 | 07 0002 # 0004: class[java/lang/Object] 17 | 18 | ffff # access_flags 19 | 0003 # this_class 20 | 0004 # super_class 21 | 0000 # interfaces_count 22 | 0000 # fields_count 23 | 0000 # methods_count 24 | 25 | 0000 # attributes_count 26 | -------------------------------------------------------------------------------- /dx/tests/003-magic-version-access/class-version-52.1.txt: -------------------------------------------------------------------------------- 1 | # 2 | # classfile with the valid version 52.1 (0x34.0x01) 3 | # 4 | 5 | cafe babe # magic 6 | 0001 # minor_version 7 | 0034 # major_version 8 | 0005 # constant_pool_count 9 | 10 | # 11 | # constant_pool 12 | # 13 | 01 0005 "Small" # 0001: utf8["Small"] 14 | 01 0010 "java/lang/Object" # 0002: utf8["java/lang/Object"] 15 | 07 0001 # 0003: class[Small] 16 | 07 0002 # 0004: class[java/lang/Object] 17 | 18 | ffff # access_flags 19 | 0003 # this_class 20 | 0004 # super_class 21 | 0000 # interfaces_count 22 | 0000 # fields_count 23 | 0000 # methods_count 24 | 25 | 0000 # attributes_count 26 | -------------------------------------------------------------------------------- /dx/tests/003-magic-version-access/class-version-52.65535.txt: -------------------------------------------------------------------------------- 1 | # 2 | # classfile with the valid version 52.65535 (0x34.0xffff) 3 | # 4 | 5 | cafe babe # magic 6 | ffff # minor_version 7 | 0034 # major_version 8 | 0005 # constant_pool_count 9 | 10 | # 11 | # constant_pool 12 | # 13 | 01 0005 "Small" # 0001: utf8["Small"] 14 | 01 0010 "java/lang/Object" # 0002: utf8["java/lang/Object"] 15 | 07 0001 # 0003: class[Small] 16 | 07 0002 # 0004: class[java/lang/Object] 17 | 18 | ffff # access_flags 19 | 0003 # this_class 20 | 0004 # super_class 21 | 0000 # interfaces_count 22 | 0000 # fields_count 23 | 0000 # methods_count 24 | 25 | 0000 # attributes_count 26 | -------------------------------------------------------------------------------- /dx/tests/003-magic-version-access/class-version-53.0.txt: -------------------------------------------------------------------------------- 1 | # 2 | # classfile with the valid version 53.0 (0x35.0x00) 3 | # 4 | 5 | cafe babe # magic 6 | 0000 # minor_version 7 | 0035 # major_version 8 | 0005 # constant_pool_count 9 | 10 | # 11 | # constant_pool 12 | # 13 | 01 0005 "Small" # 0001: utf8["Small"] 14 | 01 0010 "java/lang/Object" # 0002: utf8["java/lang/Object"] 15 | 07 0001 # 0003: class[Small] 16 | 07 0002 # 0004: class[java/lang/Object] 17 | 18 | ffff # access_flags 19 | 0003 # this_class 20 | 0004 # super_class 21 | 0000 # interfaces_count 22 | 0000 # fields_count 23 | 0000 # methods_count 24 | 25 | 0000 # attributes_count 26 | -------------------------------------------------------------------------------- /dx/tests/003-magic-version-access/info.txt: -------------------------------------------------------------------------------- 1 | This is a dump of a simple class which is valid in structure but is overall 2 | invalid. That being said, the system should still have no trouble parsing and 3 | dumping it. 4 | 5 | The salient bits of parsing tested here are: 6 | 7 | * magic number 8 | * major / minor version numbers 9 | * class access_flags 10 | -------------------------------------------------------------------------------- /dx/tests/003-magic-version-access/small-class.txt: -------------------------------------------------------------------------------- 1 | # 2 | # sample small-but-valid classfile 3 | # 4 | 5 | cafe babe # magic 6 | 0000 # minor_version 7 | 0031 # major_version 8 | 0005 # constant_pool_count 9 | 10 | # 11 | # constant_pool 12 | # 13 | 01 0005 "Small" # 0001: utf8["Small"] 14 | 01 0010 "java/lang/Object" # 0002: utf8["java/lang/Object"] 15 | 07 0001 # 0003: class[Small] 16 | 07 0002 # 0004: class[java/lang/Object] 17 | 18 | ffff # access_flags 19 | 0003 # this_class 20 | 0004 # super_class 21 | 0000 # interfaces_count 22 | 0000 # fields_count 23 | 0000 # methods_count 24 | 25 | 0000 # attributes_count 26 | -------------------------------------------------------------------------------- /dx/tests/004-cp-bottom-up/info.txt: -------------------------------------------------------------------------------- 1 | This is a dump of a simple class which is valid in structure but is overall 2 | invalid. That being said, the system should still have no trouble parsing and 3 | dumping it. 4 | 5 | The salient bit of parsing tested here is that the constant pool contains 6 | at least one valid entry of each possible constant pool type, and that 7 | entries that are referred to by other entries always occur before the 8 | referring entries. 9 | -------------------------------------------------------------------------------- /dx/tests/005-cp-top-down/info.txt: -------------------------------------------------------------------------------- 1 | This is a dump of a simple class which is valid in structure but is overall 2 | invalid. That being said, the system should still have no trouble parsing and 3 | dumping it. 4 | 5 | The salient bit of parsing tested here is that the constant pool contains 6 | at least one valid entry of each possible constant pool type, and that 7 | entries that are referred to by other entries always occur after the 8 | referring entries. 9 | -------------------------------------------------------------------------------- /dx/tests/006-interfaces/info.txt: -------------------------------------------------------------------------------- 1 | This is a dump of a simple class which is valid in structure but is overall 2 | invalid. That being said, the system should still have no trouble parsing and 3 | dumping it. 4 | 5 | The salient bit of parsing tested here is that the class has a non-empty 6 | interfaces list. 7 | -------------------------------------------------------------------------------- /dx/tests/007-no-superclass/expected.txt: -------------------------------------------------------------------------------- 1 | reading small-class.txt... 2 | begin classfile 3 | magic: cafebabe 4 | minor_version: 0000 5 | major_version: 002e 6 | constant_pool_count: 0003 7 | 8 | constant_pool: 9 | 0001: utf8{"java/lang/Object"} 10 | 0002: type{java.lang.Object} 11 | end constant_pool 12 | access_flags: public 13 | this_class: type{java.lang.Object} 14 | super_class: (none) 15 | interfaces_count: 0000 16 | fields_count: 0000 17 | methods_count: 0000 18 | attributes_count: 0000 19 | end classfile 20 | -------------------------------------------------------------------------------- /dx/tests/007-no-superclass/info.txt: -------------------------------------------------------------------------------- 1 | This is a dump of a simple class which is valid in structure but is overall 2 | invalid. That being said, the system should still have no trouble parsing and 3 | dumping it. 4 | 5 | The salient bit of parsing tested here is that the class is Object-like and 6 | has no superclass. 7 | -------------------------------------------------------------------------------- /dx/tests/007-no-superclass/small-class.txt: -------------------------------------------------------------------------------- 1 | # 2 | # sample small-but-valid classfile 3 | # 4 | 5 | cafe babe # magic 6 | 0000 # minor_version 7 | 002e # major_version 8 | 0003 # constant_pool_count 9 | 10 | # 11 | # constant_pool 12 | # 13 | 01 0010 "java/lang/Object" # 0001: utf8["java/lang/Object"] 14 | 07 0001 # 0002: class[java/lang/Object] 15 | 16 | 0001 # access_flags 17 | 0002 # this_class 18 | 0000 # super_class 19 | 0000 # interfaces_count 20 | 21 | 0000 # fields_count 22 | 0000 # methods_count 23 | 24 | 0000 # attributes_count 25 | -------------------------------------------------------------------------------- /dx/tests/008-field/info.txt: -------------------------------------------------------------------------------- 1 | This is a dump of a simple class which is valid in structure but is overall 2 | invalid. That being said, the system should still have no trouble parsing and 3 | dumping it. 4 | 5 | The salient bit of parsing tested here is that the class has a single 6 | simple field with no attributes and with every access flag turned on 7 | (so that the names can be verified in debugging output). 8 | -------------------------------------------------------------------------------- /dx/tests/009-method/info.txt: -------------------------------------------------------------------------------- 1 | This is a dump of a simple class which is valid in structure but is overall 2 | invalid. That being said, the system should still have no trouble parsing and 3 | dumping it. 4 | 5 | The salient bit of parsing tested here is that the class has a single 6 | simple method with no attributes and with every access flag turned on 7 | (so that the names can be verified in debugging output). 8 | -------------------------------------------------------------------------------- /dx/tests/010-class-attrib-InnerClasses/info.txt: -------------------------------------------------------------------------------- 1 | This is a dump of a simple class which is valid in structure but is overall 2 | invalid. That being said, the system should still have no trouble parsing and 3 | dumping it. 4 | 5 | The salient bit of parsing tested here is that the class has a single 6 | class-level InnerClasses attribute, which is syntactically valid and contains 7 | one entry for each of the possible combinations of null-vs-valid cpe. 8 | -------------------------------------------------------------------------------- /dx/tests/011-class-attrib-Synthetic/expected.txt: -------------------------------------------------------------------------------- 1 | reading small-class.txt... 2 | begin classfile 3 | magic: cafebabe 4 | minor_version: 0000 5 | major_version: 002e 6 | constant_pool_count: 0006 7 | 8 | constant_pool: 9 | 0001: utf8{"Small"} 10 | 0002: utf8{"java/lang/Object"} 11 | 0003: type{Small} 12 | 0004: type{java.lang.Object} 13 | 0005: utf8{"Synthetic"} 14 | end constant_pool 15 | access_flags: public|super 16 | this_class: type{Small} 17 | super_class: type{java.lang.Object} 18 | interfaces_count: 0000 19 | fields_count: 0000 20 | methods_count: 0000 21 | attributes_count: 0001 22 | 23 | attributes[0]: 24 | name: Synthetic 25 | length: 00000000 26 | end attributes[0] 27 | end classfile 28 | -------------------------------------------------------------------------------- /dx/tests/011-class-attrib-Synthetic/info.txt: -------------------------------------------------------------------------------- 1 | This is a dump of a simple class which is valid in structure but is overall 2 | invalid. That being said, the system should still have no trouble parsing and 3 | dumping it. 4 | 5 | The salient bit of parsing tested here is that the class has a single 6 | class-level Synthetic attribute, which is syntactically valid. 7 | -------------------------------------------------------------------------------- /dx/tests/012-class-attrib-SourceFile/info.txt: -------------------------------------------------------------------------------- 1 | This is a dump of a simple class which is valid in structure but is overall 2 | invalid. That being said, the system should still have no trouble parsing and 3 | dumping it. 4 | 5 | The salient bit of parsing tested here is that the class has a single 6 | class-level SourceFile attribute, which is syntactically valid. 7 | -------------------------------------------------------------------------------- /dx/tests/013-class-attrib-Deprecated/expected.txt: -------------------------------------------------------------------------------- 1 | reading small-class.txt... 2 | begin classfile 3 | magic: cafebabe 4 | minor_version: 0000 5 | major_version: 002e 6 | constant_pool_count: 0006 7 | 8 | constant_pool: 9 | 0001: utf8{"Small"} 10 | 0002: utf8{"java/lang/Object"} 11 | 0003: type{Small} 12 | 0004: type{java.lang.Object} 13 | 0005: utf8{"Deprecated"} 14 | end constant_pool 15 | access_flags: public|super 16 | this_class: type{Small} 17 | super_class: type{java.lang.Object} 18 | interfaces_count: 0000 19 | fields_count: 0000 20 | methods_count: 0000 21 | attributes_count: 0001 22 | 23 | attributes[0]: 24 | name: Deprecated 25 | length: 00000000 26 | end attributes[0] 27 | end classfile 28 | -------------------------------------------------------------------------------- /dx/tests/013-class-attrib-Deprecated/info.txt: -------------------------------------------------------------------------------- 1 | This is a dump of a simple class which is valid in structure but is overall 2 | invalid. That being said, the system should still have no trouble parsing and 3 | dumping it. 4 | 5 | The salient bit of parsing tested here is that the class has a single 6 | class-level Deprecated attribute, which is syntactically valid. 7 | -------------------------------------------------------------------------------- /dx/tests/014-field-attrib-ConstantValue/info.txt: -------------------------------------------------------------------------------- 1 | This is a dump of a simple class which is valid in structure but is overall 2 | invalid. That being said, the system should still have no trouble parsing and 3 | dumping it. 4 | 5 | The salient bit of parsing tested here is that the class has a series of 6 | fields, each with a single ConstantValue attribute, which points at one 7 | of the appropriate sorts of cpes. 8 | -------------------------------------------------------------------------------- /dx/tests/015-field-attrib-Synthetic/info.txt: -------------------------------------------------------------------------------- 1 | This is a dump of a simple class which is valid in structure but is overall 2 | invalid. That being said, the system should still have no trouble parsing and 3 | dumping it. 4 | 5 | The salient bit of parsing tested here is that the class has a single 6 | field with a valid Synthetic attribute. 7 | -------------------------------------------------------------------------------- /dx/tests/016-field-attrib-Deprecated/info.txt: -------------------------------------------------------------------------------- 1 | This is a dump of a simple class which is valid in structure but is overall 2 | invalid. That being said, the system should still have no trouble parsing and 3 | dumping it. 4 | 5 | The salient bit of parsing tested here is that the class has a single 6 | field with a valid Deprecated attribute. 7 | -------------------------------------------------------------------------------- /dx/tests/017-method-attrib-Code/info.txt: -------------------------------------------------------------------------------- 1 | This is a dump of a simple class which is valid in structure but is overall 2 | invalid. That being said, the system should still have no trouble parsing and 3 | dumping it. 4 | 5 | The salient bit of parsing tested here is that the class has a single 6 | method with a minimal but syntactically valid Code attribute. 7 | -------------------------------------------------------------------------------- /dx/tests/018-method-attrib-Exceptions/info.txt: -------------------------------------------------------------------------------- 1 | This is a dump of a simple class which is valid in structure but is overall 2 | invalid. That being said, the system should still have no trouble parsing and 3 | dumping it. 4 | 5 | The salient bit of parsing tested here is that the class has a single 6 | method with a syntactically valid Exceptions attribute. 7 | -------------------------------------------------------------------------------- /dx/tests/019-method-attrib-Synthetic/info.txt: -------------------------------------------------------------------------------- 1 | This is a dump of a simple class which is valid in structure but is overall 2 | invalid. That being said, the system should still have no trouble parsing and 3 | dumping it. 4 | 5 | The salient bit of parsing tested here is that the class has a single 6 | method with a syntactically valid Synthetic attribute. 7 | -------------------------------------------------------------------------------- /dx/tests/020-method-attrib-Deprecated/info.txt: -------------------------------------------------------------------------------- 1 | This is a dump of a simple class which is valid in structure but is overall 2 | invalid. That being said, the system should still have no trouble parsing and 3 | dumping it. 4 | 5 | The salient bit of parsing tested here is that the class has a single 6 | method with a syntactically valid Deprecated attribute. 7 | -------------------------------------------------------------------------------- /dx/tests/021-code-attrib-LineNumberTable/info.txt: -------------------------------------------------------------------------------- 1 | This is a dump of a simple class which is valid in structure but is overall 2 | invalid. That being said, the system should still have no trouble parsing and 3 | dumping it. 4 | 5 | The salient bit of parsing tested here is that the class has a single 6 | method with a simple Code attribute, which itself has a syntactically 7 | valid LineNumberTable attribute. 8 | -------------------------------------------------------------------------------- /dx/tests/022-code-attrib-LocalVariableTable/info.txt: -------------------------------------------------------------------------------- 1 | This is a dump of a simple class which is valid in structure but is overall 2 | invalid. That being said, the system should still have no trouble parsing and 3 | dumping it. 4 | 5 | The salient bit of parsing tested here is that the class has a single 6 | method with a simple Code attribute, which itself has a syntactically 7 | valid LocalVariableTable attribute. 8 | -------------------------------------------------------------------------------- /dx/tests/023-code-exception-table/info.txt: -------------------------------------------------------------------------------- 1 | This is a dump of a simple class which is valid in structure but is overall 2 | invalid. That being said, the system should still have no trouble parsing and 3 | dumping it. 4 | 5 | The salient bit of parsing tested here is that the class has a single 6 | method with a minimal but syntactically valid Code attribute, which 7 | sports a non-empty syntactically valid exception table. 8 | -------------------------------------------------------------------------------- /dx/tests/024-code-bytecode/info.txt: -------------------------------------------------------------------------------- 1 | This is a dump of a simple class which is valid in structure but is overall 2 | invalid. That being said, the system should still have no trouble parsing and 3 | dumping it. 4 | 5 | The salient bit of parsing tested here is that the class has a single 6 | method with a Code attribute, and the code[] array of the attribute has 7 | one instance of each interesting variant of each possible bytecode. 8 | -------------------------------------------------------------------------------- /dx/tests/025-class-attrib-Signature/info.txt: -------------------------------------------------------------------------------- 1 | This is a dump of a simple class which is valid in structure but is overall 2 | invalid. That being said, the system should still have no trouble parsing and 3 | dumping it. 4 | 5 | The salient bit of parsing tested here is that the class has a single 6 | class-level Signature attribute, which is syntactically valid. 7 | -------------------------------------------------------------------------------- /dx/tests/026-field-attrib-Signature/info.txt: -------------------------------------------------------------------------------- 1 | This is a dump of a simple class which is valid in structure but is overall 2 | invalid. That being said, the system should still have no trouble parsing and 3 | dumping it. 4 | 5 | The salient bit of parsing tested here is that the class has a single 6 | field with a syntactically valid Signature attribute. 7 | -------------------------------------------------------------------------------- /dx/tests/027-method-attrib-Signature/info.txt: -------------------------------------------------------------------------------- 1 | This is a dump of a simple class which is valid in structure but is overall 2 | invalid. That being said, the system should still have no trouble parsing and 3 | dumping it. 4 | 5 | The salient bit of parsing tested here is that the class has a single 6 | method with a syntactically valid Signature attribute. 7 | -------------------------------------------------------------------------------- /dx/tests/028-class-attrib-EnclosingMethod/info.txt: -------------------------------------------------------------------------------- 1 | This is a dump of two simple classes which are valid in structure but 2 | are overall invalid. That being said, the system should still have no 3 | trouble parsing and dumping them. 4 | 5 | The salient bit of parsing tested here is that each class has a single 6 | class-level EnclosingMethod attribute, which is syntactically valid. There 7 | are two possible variants (method may be null), and this test contains one 8 | of each. 9 | -------------------------------------------------------------------------------- /dx/tests/029-unit-Bits/expected.txt: -------------------------------------------------------------------------------- 1 | Yay! 2 | -------------------------------------------------------------------------------- /dx/tests/029-unit-Bits/info.txt: -------------------------------------------------------------------------------- 1 | Unit test for com.android.dx.util.Bits. 2 | -------------------------------------------------------------------------------- /dx/tests/030-minimal-jasmin/blort.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aosp-mirror/platform_dalvik/838bd34deecb3715b2b4006edede2ab79e42e336/dx/tests/030-minimal-jasmin/blort.class -------------------------------------------------------------------------------- /dx/tests/030-minimal-jasmin/build: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | # 3 | # Copyright (C) 2017 The Android Open Source Project 4 | # 5 | # Licensed under the Apache License, Version 2.0 (the "License"); 6 | # you may not use this file except in compliance with the License. 7 | # You may obtain a copy of the License at 8 | # 9 | # http://www.apache.org/licenses/LICENSE-2.0 10 | # 11 | # Unless required by applicable law or agreed to in writing, software 12 | # distributed under the License is distributed on an "AS IS" BASIS, 13 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 14 | # See the License for the specific language governing permissions and 15 | # limitations under the License. 16 | 17 | jasmin -d . blort.j 18 | -------------------------------------------------------------------------------- /dx/tests/030-minimal-jasmin/expected.txt: -------------------------------------------------------------------------------- 1 | 0000: aload_0 // 00 2 | 0001: dup 3 | 0002: dup 4 | 0003: astore_1 // 01 5 | 0004: pop2 6 | 0005: return 7 | -------------------------------------------------------------------------------- /dx/tests/030-minimal-jasmin/info.txt: -------------------------------------------------------------------------------- 1 | This test is just a minimal test involving assembling a jasmin source 2 | file and then dumping it. It doesn't test any features in particular. 3 | -------------------------------------------------------------------------------- /dx/tests/031-bb-dead-code/blort.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aosp-mirror/platform_dalvik/838bd34deecb3715b2b4006edede2ab79e42e336/dx/tests/031-bb-dead-code/blort.class -------------------------------------------------------------------------------- /dx/tests/031-bb-dead-code/build: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | # 3 | # Copyright (C) 2017 The Android Open Source Project 4 | # 5 | # Licensed under the Apache License, Version 2.0 (the "License"); 6 | # you may not use this file except in compliance with the License. 7 | # You may obtain a copy of the License at 8 | # 9 | # http://www.apache.org/licenses/LICENSE-2.0 10 | # 11 | # Unless required by applicable law or agreed to in writing, software 12 | # distributed under the License is distributed on an "AS IS" BASIS, 13 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 14 | # See the License for the specific language governing permissions and 15 | # limitations under the License. 16 | 17 | jasmin -d . blort.j 18 | -------------------------------------------------------------------------------- /dx/tests/031-bb-dead-code/info.txt: -------------------------------------------------------------------------------- 1 | This test checks to see that the basic block recognizer properly omits 2 | dead code. There is at least one example of dead code after each instruction 3 | that *doesn't* flow to the next instruction. 4 | -------------------------------------------------------------------------------- /dx/tests/032-bb-live-code/blort.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aosp-mirror/platform_dalvik/838bd34deecb3715b2b4006edede2ab79e42e336/dx/tests/032-bb-live-code/blort.class -------------------------------------------------------------------------------- /dx/tests/032-bb-live-code/build: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | # 3 | # Copyright (C) 2017 The Android Open Source Project 4 | # 5 | # Licensed under the Apache License, Version 2.0 (the "License"); 6 | # you may not use this file except in compliance with the License. 7 | # You may obtain a copy of the License at 8 | # 9 | # http://www.apache.org/licenses/LICENSE-2.0 10 | # 11 | # Unless required by applicable law or agreed to in writing, software 12 | # distributed under the License is distributed on an "AS IS" BASIS, 13 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 14 | # See the License for the specific language governing permissions and 15 | # limitations under the License. 16 | 17 | jasmin -d . blort.j 18 | -------------------------------------------------------------------------------- /dx/tests/032-bb-live-code/info.txt: -------------------------------------------------------------------------------- 1 | This test checks to see that the basic block recognizer properly 2 | includes as live code all code which could possibly be flowed 3 | to. There is at least one example of each instruction which allows 4 | flow to the subsequent instruction, and all forks of each conditional 5 | branch are checked for liveness as well. 6 | -------------------------------------------------------------------------------- /dx/tests/033-unit-IntList/expected.txt: -------------------------------------------------------------------------------- 1 | Yay! 2 | -------------------------------------------------------------------------------- /dx/tests/033-unit-IntList/info.txt: -------------------------------------------------------------------------------- 1 | Unit test for com.android.dx.util.IntList. 2 | -------------------------------------------------------------------------------- /dx/tests/034-dex-minimal/blort.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aosp-mirror/platform_dalvik/838bd34deecb3715b2b4006edede2ab79e42e336/dx/tests/034-dex-minimal/blort.class -------------------------------------------------------------------------------- /dx/tests/034-dex-minimal/blort.j: -------------------------------------------------------------------------------- 1 | ; Copyright (C) 2007 The Android Open Source Project 2 | ; 3 | ; Licensed under the Apache License, Version 2.0 (the "License"); 4 | ; you may not use this file except in compliance with the License. 5 | ; You may obtain a copy of the License at 6 | ; 7 | ; http://www.apache.org/licenses/LICENSE-2.0 8 | ; 9 | ; Unless required by applicable law or agreed to in writing, software 10 | ; distributed under the License is distributed on an "AS IS" BASIS, 11 | ; WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12 | ; See the License for the specific language governing permissions and 13 | ; limitations under the License. 14 | 15 | .class blort 16 | .super java/lang/Object 17 | -------------------------------------------------------------------------------- /dx/tests/034-dex-minimal/info.txt: -------------------------------------------------------------------------------- 1 | This is a smoke test of a couple cases of minimal dex creation: 2 | 3 | The first test tries to create the truly minimal dex file by using the 4 | --no-files option. The output dump of this is checked to make sure it 5 | is exactly correct. (There is arguably only one "right" answer.) 6 | 7 | The second test tries to convert a minimal classfile and ensures that 8 | the conversion runs without failure, though the contents of the 9 | converted file are not checked for correctness. 10 | -------------------------------------------------------------------------------- /dx/tests/035-dex-instance-var/blort.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aosp-mirror/platform_dalvik/838bd34deecb3715b2b4006edede2ab79e42e336/dx/tests/035-dex-instance-var/blort.class -------------------------------------------------------------------------------- /dx/tests/035-dex-instance-var/expected.txt: -------------------------------------------------------------------------------- 1 | Good! 2 | -------------------------------------------------------------------------------- /dx/tests/035-dex-instance-var/info.txt: -------------------------------------------------------------------------------- 1 | This is a smoke test of dex conversion, which ensures that the 2 | conversion runs without failure, though the contents of the converted 3 | file are not checked for correctness. This test is of a classfile with 4 | just an instance variable. 5 | -------------------------------------------------------------------------------- /dx/tests/036-dex-static-var/blort.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aosp-mirror/platform_dalvik/838bd34deecb3715b2b4006edede2ab79e42e336/dx/tests/036-dex-static-var/blort.class -------------------------------------------------------------------------------- /dx/tests/036-dex-static-var/build: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | # 3 | # Copyright (C) 2017 The Android Open Source Project 4 | # 5 | # Licensed under the Apache License, Version 2.0 (the "License"); 6 | # you may not use this file except in compliance with the License. 7 | # You may obtain a copy of the License at 8 | # 9 | # http://www.apache.org/licenses/LICENSE-2.0 10 | # 11 | # Unless required by applicable law or agreed to in writing, software 12 | # distributed under the License is distributed on an "AS IS" BASIS, 13 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 14 | # See the License for the specific language governing permissions and 15 | # limitations under the License. 16 | 17 | jasmin -d . blort.j 18 | -------------------------------------------------------------------------------- /dx/tests/036-dex-static-var/expected.txt: -------------------------------------------------------------------------------- 1 | Good! 2 | -------------------------------------------------------------------------------- /dx/tests/036-dex-static-var/info.txt: -------------------------------------------------------------------------------- 1 | This is a smoke test of dex conversion, which ensures that the 2 | conversion runs without failure, though the contents of the converted 3 | file are not checked for correctness. This test is of a classfile with 4 | just a static variable. 5 | -------------------------------------------------------------------------------- /dx/tests/037-dex-static-final-var/blort.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aosp-mirror/platform_dalvik/838bd34deecb3715b2b4006edede2ab79e42e336/dx/tests/037-dex-static-final-var/blort.class -------------------------------------------------------------------------------- /dx/tests/037-dex-static-final-var/expected.txt: -------------------------------------------------------------------------------- 1 | Good! 2 | -------------------------------------------------------------------------------- /dx/tests/037-dex-static-final-var/info.txt: -------------------------------------------------------------------------------- 1 | This is a smoke test of dex conversion, which ensures that the 2 | conversion runs without failure, though the contents of the converted 3 | file are not checked for correctness. This test is of a classfile with 4 | just a final static variable. 5 | -------------------------------------------------------------------------------- /dx/tests/038-dex-instance-method/blort.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aosp-mirror/platform_dalvik/838bd34deecb3715b2b4006edede2ab79e42e336/dx/tests/038-dex-instance-method/blort.class -------------------------------------------------------------------------------- /dx/tests/038-dex-instance-method/expected.txt: -------------------------------------------------------------------------------- 1 | Good! 2 | -------------------------------------------------------------------------------- /dx/tests/038-dex-instance-method/info.txt: -------------------------------------------------------------------------------- 1 | This is a smoke test of dex conversion, which ensures that the 2 | conversion runs without failure, though the contents of the converted 3 | file are not checked for correctness. This test is of a classfile with 4 | just an instance method. 5 | -------------------------------------------------------------------------------- /dx/tests/039-dex-static-method/blort.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aosp-mirror/platform_dalvik/838bd34deecb3715b2b4006edede2ab79e42e336/dx/tests/039-dex-static-method/blort.class -------------------------------------------------------------------------------- /dx/tests/039-dex-static-method/build: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | # 3 | # Copyright (C) 2017 The Android Open Source Project 4 | # 5 | # Licensed under the Apache License, Version 2.0 (the "License"); 6 | # you may not use this file except in compliance with the License. 7 | # You may obtain a copy of the License at 8 | # 9 | # http://www.apache.org/licenses/LICENSE-2.0 10 | # 11 | # Unless required by applicable law or agreed to in writing, software 12 | # distributed under the License is distributed on an "AS IS" BASIS, 13 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 14 | # See the License for the specific language governing permissions and 15 | # limitations under the License. 16 | 17 | jasmin -d . blort.j 18 | -------------------------------------------------------------------------------- /dx/tests/039-dex-static-method/expected.txt: -------------------------------------------------------------------------------- 1 | Good! 2 | -------------------------------------------------------------------------------- /dx/tests/039-dex-static-method/info.txt: -------------------------------------------------------------------------------- 1 | This is a smoke test of dex conversion, which ensures that the 2 | conversion runs without failure, though the contents of the converted 3 | file are not checked for correctness. This test is of a classfile with 4 | just a static method. 5 | -------------------------------------------------------------------------------- /dx/tests/040-dex-constructor/blort.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aosp-mirror/platform_dalvik/838bd34deecb3715b2b4006edede2ab79e42e336/dx/tests/040-dex-constructor/blort.class -------------------------------------------------------------------------------- /dx/tests/040-dex-constructor/build: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | # 3 | # Copyright (C) 2017 The Android Open Source Project 4 | # 5 | # Licensed under the Apache License, Version 2.0 (the "License"); 6 | # you may not use this file except in compliance with the License. 7 | # You may obtain a copy of the License at 8 | # 9 | # http://www.apache.org/licenses/LICENSE-2.0 10 | # 11 | # Unless required by applicable law or agreed to in writing, software 12 | # distributed under the License is distributed on an "AS IS" BASIS, 13 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 14 | # See the License for the specific language governing permissions and 15 | # limitations under the License. 16 | 17 | jasmin -d . blort.j 18 | -------------------------------------------------------------------------------- /dx/tests/040-dex-constructor/expected.txt: -------------------------------------------------------------------------------- 1 | Good! 2 | -------------------------------------------------------------------------------- /dx/tests/040-dex-constructor/info.txt: -------------------------------------------------------------------------------- 1 | This is a smoke test of dex conversion, which ensures that the 2 | conversion runs without failure, though the contents of the converted 3 | file are not checked for correctness. This test is of a classfile with 4 | just a constructor. 5 | -------------------------------------------------------------------------------- /dx/tests/041-dex-abstract-method/blort.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aosp-mirror/platform_dalvik/838bd34deecb3715b2b4006edede2ab79e42e336/dx/tests/041-dex-abstract-method/blort.class -------------------------------------------------------------------------------- /dx/tests/041-dex-abstract-method/expected.txt: -------------------------------------------------------------------------------- 1 | Good! 2 | -------------------------------------------------------------------------------- /dx/tests/041-dex-abstract-method/info.txt: -------------------------------------------------------------------------------- 1 | This is a smoke test of dex conversion, which ensures that the 2 | conversion runs without failure, though the contents of the converted 3 | file are not checked for correctness. This test is of a classfile with 4 | just an abstract instance method. 5 | -------------------------------------------------------------------------------- /dx/tests/042-dex-ignore-result/Blort.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aosp-mirror/platform_dalvik/838bd34deecb3715b2b4006edede2ab79e42e336/dx/tests/042-dex-ignore-result/Blort.class -------------------------------------------------------------------------------- /dx/tests/042-dex-ignore-result/expected.txt: -------------------------------------------------------------------------------- 1 | Good! 2 | -------------------------------------------------------------------------------- /dx/tests/042-dex-ignore-result/info.txt: -------------------------------------------------------------------------------- 1 | This is a smoke test of dex conversion, which ensures that the 2 | conversion runs without failure, though the contents of the converted 3 | file are not checked for correctness. This test is of the case of a 4 | method call to a method which returns a value, where that value is 5 | ignored. 6 | -------------------------------------------------------------------------------- /dx/tests/043-dex-two-classes/Blort.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aosp-mirror/platform_dalvik/838bd34deecb3715b2b4006edede2ab79e42e336/dx/tests/043-dex-two-classes/Blort.class -------------------------------------------------------------------------------- /dx/tests/043-dex-two-classes/Zorch.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aosp-mirror/platform_dalvik/838bd34deecb3715b2b4006edede2ab79e42e336/dx/tests/043-dex-two-classes/Zorch.class -------------------------------------------------------------------------------- /dx/tests/043-dex-two-classes/expected.txt: -------------------------------------------------------------------------------- 1 | processing Blort.class... 2 | processing Zorch.class... 3 | Good! 4 | -------------------------------------------------------------------------------- /dx/tests/043-dex-two-classes/info.txt: -------------------------------------------------------------------------------- 1 | This is a smoke test of dex conversion, which ensures that the 2 | conversion runs without failure, though the contents of the converted 3 | file are not checked for correctness. This test just makes sure that 4 | an attempt to combine two classes into a .dex file succeeds. 5 | -------------------------------------------------------------------------------- /dx/tests/044-dex-math-ops/Blort.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aosp-mirror/platform_dalvik/838bd34deecb3715b2b4006edede2ab79e42e336/dx/tests/044-dex-math-ops/Blort.class -------------------------------------------------------------------------------- /dx/tests/044-dex-math-ops/info.txt: -------------------------------------------------------------------------------- 1 | This is a smoke test of dex conversion, which checks to see that 2 | simple uses of all the math ops end up getting converted reasonably. 3 | 4 | This test compares emitted code against a known-good (via eyeballing) 5 | version, so it is possible for this test to spuriously fail if other 6 | aspects of conversion end up altering the output in innocuous ways. 7 | -------------------------------------------------------------------------------- /dx/tests/045-dex-switch-ops/Blort.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aosp-mirror/platform_dalvik/838bd34deecb3715b2b4006edede2ab79e42e336/dx/tests/045-dex-switch-ops/Blort.class -------------------------------------------------------------------------------- /dx/tests/045-dex-switch-ops/info.txt: -------------------------------------------------------------------------------- 1 | This is a smoke test of dex conversion, which checks to see that 2 | both kinds of switch op get converted reasonably. 3 | 4 | This test compares emitted code against a known-good (via eyeballing) 5 | version, so it is possible for this test to spuriously fail if other 6 | aspects of conversion end up altering the output in innocuous ways. 7 | -------------------------------------------------------------------------------- /dx/tests/046-dex-exceptions/Blort.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aosp-mirror/platform_dalvik/838bd34deecb3715b2b4006edede2ab79e42e336/dx/tests/046-dex-exceptions/Blort.class -------------------------------------------------------------------------------- /dx/tests/046-dex-exceptions/info.txt: -------------------------------------------------------------------------------- 1 | This is a smoke test of dex conversion, which checks to see that 2 | a couple simple cases of exception handling get converted reasonably. 3 | 4 | This test compares emitted code against a known-good (via eyeballing) 5 | version, so it is possible for this test to spuriously fail if other 6 | aspects of conversion end up altering the output in innocuous ways. 7 | -------------------------------------------------------------------------------- /dx/tests/047-dex-wide-args/Blort.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aosp-mirror/platform_dalvik/838bd34deecb3715b2b4006edede2ab79e42e336/dx/tests/047-dex-wide-args/Blort.class -------------------------------------------------------------------------------- /dx/tests/047-dex-wide-args/info.txt: -------------------------------------------------------------------------------- 1 | This is a smoke test of dex conversion, which checks to see that 2 | wide (category-2) arguments get treated reasonably. 3 | 4 | This test compares emitted code against a known-good (via eyeballing) 5 | version, so it is possible for this test to spuriously fail if other 6 | aspects of conversion end up altering the output in innocuous ways. 7 | -------------------------------------------------------------------------------- /dx/tests/048-dex-new-array/Blort.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aosp-mirror/platform_dalvik/838bd34deecb3715b2b4006edede2ab79e42e336/dx/tests/048-dex-new-array/Blort.class -------------------------------------------------------------------------------- /dx/tests/048-dex-new-array/info.txt: -------------------------------------------------------------------------------- 1 | This is a smoke test of dex conversion, which checks to see that 2 | simple array construction expressions get converted reasonably. 3 | 4 | This test compares emitted code against a known-good (via eyeballing) 5 | version, so it is possible for this test to spuriously fail if other 6 | aspects of conversion end up altering the output in innocuous ways. 7 | -------------------------------------------------------------------------------- /dx/tests/049-dex-instanceof/Blort.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aosp-mirror/platform_dalvik/838bd34deecb3715b2b4006edede2ab79e42e336/dx/tests/049-dex-instanceof/Blort.class -------------------------------------------------------------------------------- /dx/tests/049-dex-instanceof/expected.txt: -------------------------------------------------------------------------------- 1 | Blort.test:(Ljava/lang/Object;)Z: 2 | regs: 0003; ins: 0001; outs: 0000 3 | 0000: move-object v0, v2 4 | 0001: move-object v1, v0 5 | 0002: instance-of v1, v1, Blort 6 | 0004: move v0, v1 7 | 0005: return v0 8 | -------------------------------------------------------------------------------- /dx/tests/049-dex-instanceof/info.txt: -------------------------------------------------------------------------------- 1 | This is a smoke test of dex conversion, which checks to see that 2 | instanceof expressions get converted reasonably. 3 | 4 | This test compares emitted code against a known-good (via eyeballing) 5 | version, so it is possible for this test to spuriously fail if other 6 | aspects of conversion end up altering the output in innocuous ways. 7 | -------------------------------------------------------------------------------- /dx/tests/050-dex-checkcast/Blort.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aosp-mirror/platform_dalvik/838bd34deecb3715b2b4006edede2ab79e42e336/dx/tests/050-dex-checkcast/Blort.class -------------------------------------------------------------------------------- /dx/tests/050-dex-checkcast/expected.txt: -------------------------------------------------------------------------------- 1 | Blort.test:(Ljava/lang/Object;)LBlort;: 2 | regs: 0003; ins: 0001; outs: 0000 3 | 0000: move-object v0, v2 4 | 0001: move-object v1, v0 5 | 0002: check-cast v1, Blort 6 | 0004: move-object v0, v1 7 | 0005: return-object v0 8 | -------------------------------------------------------------------------------- /dx/tests/050-dex-checkcast/info.txt: -------------------------------------------------------------------------------- 1 | This is a smoke test of dex conversion, which checks to see that 2 | checked cast expressions get converted reasonably. 3 | 4 | This test compares emitted code against a known-good (via eyeballing) 5 | version, so it is possible for this test to spuriously fail if other 6 | aspects of conversion end up altering the output in innocuous ways. 7 | -------------------------------------------------------------------------------- /dx/tests/051-dex-explicit-null/Blort.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aosp-mirror/platform_dalvik/838bd34deecb3715b2b4006edede2ab79e42e336/dx/tests/051-dex-explicit-null/Blort.class -------------------------------------------------------------------------------- /dx/tests/051-dex-explicit-null/expected.txt: -------------------------------------------------------------------------------- 1 | Blort.test1:()Ljava/lang/Object;: 2 | regs: 0001; ins: 0000; outs: 0000 3 | 0000: const/4 v0, #null // #0 4 | 0001: return-object v0 5 | Blort.test2:(Ljava/lang/Object;)V: 6 | regs: 0003; ins: 0001; outs: 0000 7 | 0000: move-object v0, v2 8 | 0001: const/4 v1, #null // #0 9 | 0002: move-object v0, v1 10 | 0003: return-void 11 | -------------------------------------------------------------------------------- /dx/tests/051-dex-explicit-null/info.txt: -------------------------------------------------------------------------------- 1 | This is a smoke test of dex conversion, which checks to see that 2 | assigning a reference variable to null works, as well as explicitly 3 | returning a null. 4 | 5 | This test compares emitted code against a known-good (via eyeballing) 6 | version, so it is possible for this test to spuriously fail if other 7 | aspects of conversion end up altering the output in innocuous ways. 8 | -------------------------------------------------------------------------------- /dx/tests/052-dex-static-var-access/Blort.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aosp-mirror/platform_dalvik/838bd34deecb3715b2b4006edede2ab79e42e336/dx/tests/052-dex-static-var-access/Blort.class -------------------------------------------------------------------------------- /dx/tests/052-dex-static-var-access/info.txt: -------------------------------------------------------------------------------- 1 | This is a smoke test of dex conversion, which checks to see that 2 | static variable access works. 3 | 4 | This test compares emitted code against a known-good (via eyeballing) 5 | version, so it is possible for this test to spuriously fail if other 6 | aspects of conversion end up altering the output in innocuous ways. 7 | -------------------------------------------------------------------------------- /dx/tests/053-dex-instance-var-access/Blort.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aosp-mirror/platform_dalvik/838bd34deecb3715b2b4006edede2ab79e42e336/dx/tests/053-dex-instance-var-access/Blort.class -------------------------------------------------------------------------------- /dx/tests/053-dex-instance-var-access/info.txt: -------------------------------------------------------------------------------- 1 | This is a smoke test of dex conversion, which checks to see that 2 | instance variable access works. 3 | 4 | This test compares emitted code against a known-good (via eyeballing) 5 | version, so it is possible for this test to spuriously fail if other 6 | aspects of conversion end up altering the output in innocuous ways. 7 | -------------------------------------------------------------------------------- /dx/tests/054-dex-high16/Blort.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aosp-mirror/platform_dalvik/838bd34deecb3715b2b4006edede2ab79e42e336/dx/tests/054-dex-high16/Blort.class -------------------------------------------------------------------------------- /dx/tests/054-dex-high16/info.txt: -------------------------------------------------------------------------------- 1 | This is a smoke test of dex conversion, which checks to see that 2 | "high16" constants get converted properly. 3 | 4 | This test compares emitted code against a known-good (via eyeballing) 5 | version, so it is possible for this test to spuriously fail if other 6 | aspects of conversion end up altering the output in innocuous ways. 7 | -------------------------------------------------------------------------------- /dx/tests/055-dex-explicit-throw/Blort.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aosp-mirror/platform_dalvik/838bd34deecb3715b2b4006edede2ab79e42e336/dx/tests/055-dex-explicit-throw/Blort.class -------------------------------------------------------------------------------- /dx/tests/055-dex-explicit-throw/expected.txt: -------------------------------------------------------------------------------- 1 | Blort.test1:()V: 2 | regs: 0001; ins: 0000; outs: 0000 3 | 0000: sget-object v0, Blort.theException:Ljava/lang/RuntimeException; 4 | 0002: throw v0 5 | Blort.test2:()I: 6 | regs: 0002; ins: 0000; outs: 0000 7 | 0000: sget-object v1, Blort.theException:Ljava/lang/RuntimeException; 8 | 0002: throw v1 9 | 0003: move-exception v1 10 | 0004: move-object v0, v1 11 | 0005: const/4 v1, #int 1 // #1 12 | 0006: move v0, v1 13 | 0007: return v0 14 | catches 15 | tries: 16 | try 0000..0003 17 | catch java.lang.RuntimeException -> 0003 18 | -------------------------------------------------------------------------------- /dx/tests/055-dex-explicit-throw/info.txt: -------------------------------------------------------------------------------- 1 | This is a smoke test of dex conversion, which checks to see that 2 | explicit use of "throw" gets converted reasonably. 3 | 4 | This test compares emitted code against a known-good (via eyeballing) 5 | version, so it is possible for this test to spuriously fail if other 6 | aspects of conversion end up altering the output in innocuous ways. 7 | -------------------------------------------------------------------------------- /dx/tests/056-dex-call-interface/Blort.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aosp-mirror/platform_dalvik/838bd34deecb3715b2b4006edede2ab79e42e336/dx/tests/056-dex-call-interface/Blort.class -------------------------------------------------------------------------------- /dx/tests/056-dex-call-interface/Zorch.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aosp-mirror/platform_dalvik/838bd34deecb3715b2b4006edede2ab79e42e336/dx/tests/056-dex-call-interface/Zorch.class -------------------------------------------------------------------------------- /dx/tests/056-dex-call-interface/info.txt: -------------------------------------------------------------------------------- 1 | This is a smoke test of dex conversion, which checks to see that 2 | a couple cases of interface method invocation work properly. 3 | 4 | This test compares emitted code against a known-good (via eyeballing) 5 | version, so it is possible for this test to spuriously fail if other 6 | aspects of conversion end up altering the output in innocuous ways. 7 | -------------------------------------------------------------------------------- /dx/tests/057-dex-call-virtual/Blort.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aosp-mirror/platform_dalvik/838bd34deecb3715b2b4006edede2ab79e42e336/dx/tests/057-dex-call-virtual/Blort.class -------------------------------------------------------------------------------- /dx/tests/057-dex-call-virtual/Zorch.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aosp-mirror/platform_dalvik/838bd34deecb3715b2b4006edede2ab79e42e336/dx/tests/057-dex-call-virtual/Zorch.class -------------------------------------------------------------------------------- /dx/tests/057-dex-call-virtual/expected.txt: -------------------------------------------------------------------------------- 1 | Blort.test:(LZorch;)I: 2 | regs: 0004; ins: 0001; outs: 0002 3 | 0000: move-object v0, v3 4 | 0001: move-object v1, v0 5 | 0002: invoke-virtual {v1}, Zorch.zorch1:()V 6 | 0005: move-object v1, v0 7 | 0006: const/4 v2, #int 5 // #5 8 | 0007: invoke-virtual {v1, v2}, Zorch.zorch2:(I)I 9 | 000a: move-result v1 10 | 000b: move v0, v1 11 | 000c: return v0 12 | -------------------------------------------------------------------------------- /dx/tests/057-dex-call-virtual/info.txt: -------------------------------------------------------------------------------- 1 | This is a smoke test of dex conversion, which checks to see that 2 | a couple cases of regular virtual method invocation work properly. 3 | 4 | This test compares emitted code against a known-good (via eyeballing) 5 | version, so it is possible for this test to spuriously fail if other 6 | aspects of conversion end up altering the output in innocuous ways. 7 | -------------------------------------------------------------------------------- /dx/tests/058-dex-call-direct/Blort.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aosp-mirror/platform_dalvik/838bd34deecb3715b2b4006edede2ab79e42e336/dx/tests/058-dex-call-direct/Blort.class -------------------------------------------------------------------------------- /dx/tests/058-dex-call-direct/expected.txt: -------------------------------------------------------------------------------- 1 | Blort.test:(LBlort;)I: 2 | regs: 0004; ins: 0001; outs: 0002 3 | 0000: move-object v0, v3 4 | 0001: move-object v1, v0 5 | 0002: invoke-direct {v1}, Blort.zorch1:()V 6 | 0005: move-object v1, v0 7 | 0006: const/4 v2, #int 5 // #5 8 | 0007: invoke-direct {v1, v2}, Blort.zorch2:(I)I 9 | 000a: move-result v1 10 | 000b: move v0, v1 11 | 000c: return v0 12 | -------------------------------------------------------------------------------- /dx/tests/058-dex-call-direct/info.txt: -------------------------------------------------------------------------------- 1 | This is a smoke test of dex conversion, which checks to see that 2 | a couple cases of direct instance method invocation work properly. 3 | 4 | This test compares emitted code against a known-good (via eyeballing) 5 | version, so it is possible for this test to spuriously fail if other 6 | aspects of conversion end up altering the output in innocuous ways. 7 | -------------------------------------------------------------------------------- /dx/tests/059-dex-call-super/Blort.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aosp-mirror/platform_dalvik/838bd34deecb3715b2b4006edede2ab79e42e336/dx/tests/059-dex-call-super/Blort.class -------------------------------------------------------------------------------- /dx/tests/059-dex-call-super/Zorch.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aosp-mirror/platform_dalvik/838bd34deecb3715b2b4006edede2ab79e42e336/dx/tests/059-dex-call-super/Zorch.class -------------------------------------------------------------------------------- /dx/tests/059-dex-call-super/expected.txt: -------------------------------------------------------------------------------- 1 | Blort.test1:()I: 2 | regs: 0004; ins: 0001; outs: 0002 3 | 0000: move-object v0, v3 4 | 0001: move-object v1, v0 5 | 0002: invoke-super {v1}, Zorch.zorch1:()V 6 | 0005: move-object v1, v0 7 | 0006: const/4 v2, #int 5 // #5 8 | 0007: invoke-super {v1, v2}, Zorch.zorch2:(I)I 9 | 000a: move-result v1 10 | 000b: move v0, v1 11 | 000c: return v0 12 | Blort.test2:()V: 13 | regs: 0003; ins: 0001; outs: 0001 14 | 0000: move-object v0, v2 15 | 0001: move-object v1, v0 16 | 0002: invoke-super {v1}, Zorch.test2:()V 17 | 0005: return-void 18 | -------------------------------------------------------------------------------- /dx/tests/059-dex-call-super/info.txt: -------------------------------------------------------------------------------- 1 | This is a smoke test of dex conversion, which checks to see that 2 | a couple cases of superclass virtual method invocation work properly. 3 | 4 | This test compares emitted code against a known-good (via eyeballing) 5 | version, so it is possible for this test to spuriously fail if other 6 | aspects of conversion end up altering the output in innocuous ways. 7 | -------------------------------------------------------------------------------- /dx/tests/060-dex-call-static/Blort.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aosp-mirror/platform_dalvik/838bd34deecb3715b2b4006edede2ab79e42e336/dx/tests/060-dex-call-static/Blort.class -------------------------------------------------------------------------------- /dx/tests/060-dex-call-static/Zorch.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aosp-mirror/platform_dalvik/838bd34deecb3715b2b4006edede2ab79e42e336/dx/tests/060-dex-call-static/Zorch.class -------------------------------------------------------------------------------- /dx/tests/060-dex-call-static/expected.txt: -------------------------------------------------------------------------------- 1 | Blort.test:()I: 2 | regs: 0001; ins: 0000; outs: 0001 3 | 0000: invoke-static {}, Zorch.zorch1:()V 4 | 0003: const/4 v0, #int 5 // #5 5 | 0004: invoke-static {v0}, Zorch.zorch2:(I)I 6 | 0007: move-result v0 7 | 0008: return v0 8 | -------------------------------------------------------------------------------- /dx/tests/060-dex-call-static/info.txt: -------------------------------------------------------------------------------- 1 | This is a smoke test of dex conversion, which checks to see that 2 | a couple cases of static method invocation work properly. 3 | 4 | This test compares emitted code against a known-good (via eyeballing) 5 | version, so it is possible for this test to spuriously fail if other 6 | aspects of conversion end up altering the output in innocuous ways. 7 | -------------------------------------------------------------------------------- /dx/tests/061-dex-try-catch/Blort.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aosp-mirror/platform_dalvik/838bd34deecb3715b2b4006edede2ab79e42e336/dx/tests/061-dex-try-catch/Blort.class -------------------------------------------------------------------------------- /dx/tests/061-dex-try-catch/info.txt: -------------------------------------------------------------------------------- 1 | This is a smoke test of dex conversion, which checks to see that 2 | a couple cases of try-catch work properly. 3 | 4 | This test compares emitted code against a known-good (via eyeballing) 5 | version, so it is possible for this test to spuriously fail if other 6 | aspects of conversion end up altering the output in innocuous ways. 7 | -------------------------------------------------------------------------------- /dx/tests/062-dex-synch-method/Blort.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aosp-mirror/platform_dalvik/838bd34deecb3715b2b4006edede2ab79e42e336/dx/tests/062-dex-synch-method/Blort.class -------------------------------------------------------------------------------- /dx/tests/062-dex-synch-method/info.txt: -------------------------------------------------------------------------------- 1 | This is a smoke test of dex conversion, which checks to see that 2 | a couple cases of synchronized methods get converted reasonably. 3 | 4 | This test compares emitted code against a known-good (via eyeballing) 5 | version, so it is possible for this test to spuriously fail if other 6 | aspects of conversion end up altering the output in innocuous ways. 7 | -------------------------------------------------------------------------------- /dx/tests/063-dex-empty-switch/Blort.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aosp-mirror/platform_dalvik/838bd34deecb3715b2b4006edede2ab79e42e336/dx/tests/063-dex-empty-switch/Blort.class -------------------------------------------------------------------------------- /dx/tests/063-dex-empty-switch/expected.txt: -------------------------------------------------------------------------------- 1 | Blort.test1:(I)I: 2 | regs: 0005; ins: 0002; outs: 0000 3 | 0000: move-object v0, v3 4 | 0001: move v1, v4 5 | 0002: move v2, v1 6 | 0003: const/4 v2, #int 1 // #1 7 | 0004: move v0, v2 8 | 0005: return v0 9 | Blort.test2:(I)I: 10 | regs: 0005; ins: 0002; outs: 0000 11 | 0000: move-object v0, v3 12 | 0001: move v1, v4 13 | 0002: move v2, v1 14 | 0003: const/4 v2, #int 1 // #1 15 | 0004: move v1, v2 16 | 0005: move v2, v1 17 | 0006: move v0, v2 18 | 0007: return v0 19 | -------------------------------------------------------------------------------- /dx/tests/063-dex-empty-switch/info.txt: -------------------------------------------------------------------------------- 1 | This is a smoke test of dex conversion, which checks to see that 2 | a couple cases of empty (that is, default-only) switch statements 3 | get converted reasonably. 4 | 5 | This test compares emitted code against a known-good (via eyeballing) 6 | version, so it is possible for this test to spuriously fail if other 7 | aspects of conversion end up altering the output in innocuous ways. 8 | -------------------------------------------------------------------------------- /dx/tests/064-dex-array-access/Blort.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aosp-mirror/platform_dalvik/838bd34deecb3715b2b4006edede2ab79e42e336/dx/tests/064-dex-array-access/Blort.class -------------------------------------------------------------------------------- /dx/tests/064-dex-array-access/info.txt: -------------------------------------------------------------------------------- 1 | This is a smoke test of dex conversion, which checks to see that 2 | a few cases of array access get converted reasonably. 3 | 4 | This test compares emitted code against a known-good (via eyeballing) 5 | version, so it is possible for this test to spuriously fail if other 6 | aspects of conversion end up altering the output in innocuous ways. 7 | -------------------------------------------------------------------------------- /dx/tests/065-dex-new-array/Blort.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aosp-mirror/platform_dalvik/838bd34deecb3715b2b4006edede2ab79e42e336/dx/tests/065-dex-new-array/Blort.class -------------------------------------------------------------------------------- /dx/tests/065-dex-new-array/info.txt: -------------------------------------------------------------------------------- 1 | This is a smoke test of dex conversion, which checks to see that 2 | a few cases of array construction get converted reasonably. 3 | 4 | This test compares emitted code against a known-good (via eyeballing) 5 | version, so it is possible for this test to spuriously fail if other 6 | aspects of conversion end up altering the output in innocuous ways. 7 | -------------------------------------------------------------------------------- /dx/tests/066-dex-try-catch-rethrow/Blort.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aosp-mirror/platform_dalvik/838bd34deecb3715b2b4006edede2ab79e42e336/dx/tests/066-dex-try-catch-rethrow/Blort.class -------------------------------------------------------------------------------- /dx/tests/066-dex-try-catch-rethrow/info.txt: -------------------------------------------------------------------------------- 1 | This is a smoke test of dex conversion, which looks at a few cases of 2 | a try-catch where the exception handler rethrows. 3 | 4 | This test compares emitted code against a known-good (via eyeballing) 5 | version, so it is possible for this test to spuriously fail if other 6 | aspects of conversion end up altering the output in innocuous ways. 7 | -------------------------------------------------------------------------------- /dx/tests/067-dex-switch-and-try/Blort.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aosp-mirror/platform_dalvik/838bd34deecb3715b2b4006edede2ab79e42e336/dx/tests/067-dex-switch-and-try/Blort.class -------------------------------------------------------------------------------- /dx/tests/067-dex-switch-and-try/info.txt: -------------------------------------------------------------------------------- 1 | This is a smoke test of dex conversion, which looks at a couple cases of 2 | embedding a switch statement in a try-catch and vice versa. This test 3 | was created specifically because of a bug with exactly this situation. 4 | 5 | This test compares emitted code against a known-good (via eyeballing) 6 | version, so it is possible for this test to spuriously fail if other 7 | aspects of conversion end up altering the output in innocuous ways. 8 | -------------------------------------------------------------------------------- /dx/tests/068-dex-infinite-loop/Blort.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aosp-mirror/platform_dalvik/838bd34deecb3715b2b4006edede2ab79e42e336/dx/tests/068-dex-infinite-loop/Blort.class -------------------------------------------------------------------------------- /dx/tests/068-dex-infinite-loop/info.txt: -------------------------------------------------------------------------------- 1 | This is a smoke test of dex conversion, which makes sure that a couple 2 | cases of (potentially) infinite loops translate reasonably. 3 | 4 | This test compares emitted code against a known-good (via eyeballing) 5 | version, so it is possible for this test to spuriously fail if other 6 | aspects of conversion end up altering the output in innocuous ways. 7 | -------------------------------------------------------------------------------- /dx/tests/069-dex-source-position/Blort.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aosp-mirror/platform_dalvik/838bd34deecb3715b2b4006edede2ab79e42e336/dx/tests/069-dex-source-position/Blort.class -------------------------------------------------------------------------------- /dx/tests/069-dex-source-position/info.txt: -------------------------------------------------------------------------------- 1 | This is a smoke test of dex conversion, which makes sure that source 2 | position information is faithfully reproduced (or not, as directed). 3 | 4 | This test compares emitted code against a known-good (via eyeballing) 5 | version, so it is possible for this test to spuriously fail if other 6 | aspects of conversion end up altering the output in innocuous ways. 7 | -------------------------------------------------------------------------------- /dx/tests/070-dex-multianewarray/Blort.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aosp-mirror/platform_dalvik/838bd34deecb3715b2b4006edede2ab79e42e336/dx/tests/070-dex-multianewarray/Blort.class -------------------------------------------------------------------------------- /dx/tests/070-dex-multianewarray/info.txt: -------------------------------------------------------------------------------- 1 | This is a smoke test of dex conversion, which checks to see that a few 2 | cases of multidimensional array construction get converted reasonably. 3 | 4 | This test compares emitted code against a known-good (via eyeballing) 5 | version, so it is possible for this test to spuriously fail if other 6 | aspects of conversion end up altering the output in innocuous ways. 7 | -------------------------------------------------------------------------------- /dx/tests/071-dex-java-stack-ops/Blort.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aosp-mirror/platform_dalvik/838bd34deecb3715b2b4006edede2ab79e42e336/dx/tests/071-dex-java-stack-ops/Blort.class -------------------------------------------------------------------------------- /dx/tests/071-dex-java-stack-ops/build: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | # 3 | # Copyright (C) 2017 The Android Open Source Project 4 | # 5 | # Licensed under the Apache License, Version 2.0 (the "License"); 6 | # you may not use this file except in compliance with the License. 7 | # You may obtain a copy of the License at 8 | # 9 | # http://www.apache.org/licenses/LICENSE-2.0 10 | # 11 | # Unless required by applicable law or agreed to in writing, software 12 | # distributed under the License is distributed on an "AS IS" BASIS, 13 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 14 | # See the License for the specific language governing permissions and 15 | # limitations under the License. 16 | 17 | jasmin -d . blort.j 18 | -------------------------------------------------------------------------------- /dx/tests/071-dex-java-stack-ops/info.txt: -------------------------------------------------------------------------------- 1 | This is a smoke test of dex conversion, which checks to see that at 2 | least one case of each of the possible forms of Java stack 3 | manipulation op translate reasonably. 4 | 5 | This test compares emitted code against a known-good (via eyeballing) 6 | version, so it is possible for this test to spuriously fail if other 7 | aspects of conversion end up altering the output in innocuous ways. 8 | -------------------------------------------------------------------------------- /dx/tests/072-dex-switch-edge-cases/Blort.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aosp-mirror/platform_dalvik/838bd34deecb3715b2b4006edede2ab79e42e336/dx/tests/072-dex-switch-edge-cases/Blort.class -------------------------------------------------------------------------------- /dx/tests/072-dex-switch-edge-cases/info.txt: -------------------------------------------------------------------------------- 1 | This is a smoke test of dex conversion, which checks to see that 2 | a bunch of switch op edge cases get converted reasonably. 3 | 4 | This test compares emitted code against a known-good (via eyeballing) 5 | version, so it is possible for this test to spuriously fail if other 6 | aspects of conversion end up altering the output in innocuous ways. 7 | -------------------------------------------------------------------------------- /dx/tests/073-dex-null-array-refs/Blort.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aosp-mirror/platform_dalvik/838bd34deecb3715b2b4006edede2ab79e42e336/dx/tests/073-dex-null-array-refs/Blort.class -------------------------------------------------------------------------------- /dx/tests/073-dex-null-array-refs/info.txt: -------------------------------------------------------------------------------- 1 | This is a smoke test of dex conversion, which checks to see that 2 | a bunch of cases convert reasonably, where necessarily or possibly 3 | null array references are used. 4 | 5 | This test compares emitted code against a known-good (via eyeballing) 6 | version, so it is possible for this test to spuriously fail if other 7 | aspects of conversion end up altering the output in innocuous ways. 8 | -------------------------------------------------------------------------------- /dx/tests/074-dex-form35c-edge-case/Blort.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aosp-mirror/platform_dalvik/838bd34deecb3715b2b4006edede2ab79e42e336/dx/tests/074-dex-form35c-edge-case/Blort.class -------------------------------------------------------------------------------- /dx/tests/074-dex-form35c-edge-case/info.txt: -------------------------------------------------------------------------------- 1 | This is a smoke test of dex conversion, which checks to see that 2 | an edge case of instruction format 35c works, where a reference 3 | is made to register 15 as a category-2 value, meaning that 4 | the instruction has to be rewritten to use a different format. 5 | 6 | This test compares emitted code against a known-good (via eyeballing) 7 | version, so it is possible for this test to spuriously fail if other 8 | aspects of conversion end up altering the output in innocuous ways. 9 | -------------------------------------------------------------------------------- /dx/tests/075-dex-cat2-value-merge/Blort.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aosp-mirror/platform_dalvik/838bd34deecb3715b2b4006edede2ab79e42e336/dx/tests/075-dex-cat2-value-merge/Blort.class -------------------------------------------------------------------------------- /dx/tests/075-dex-cat2-value-merge/expected.txt: -------------------------------------------------------------------------------- 1 | Blort.test:([J)V: 2 | regs: 0009; ins: 0001; outs: 0000 3 | 0000: move-object v1, v8 4 | 0001: const-wide/16 v4, #long 0 // #0000 5 | 0003: move-wide v2, v4 6 | 0004: move-wide v4, v2 7 | 0005: move-object v6, v1 8 | 0006: const/4 v7, #int 0 // #0 9 | 0007: aget-wide v6, v6, v7 10 | 0009: add-long/2addr v4, v6 11 | 000a: move-wide v2, v4 12 | 000b: goto 0004 // -0007 13 | -------------------------------------------------------------------------------- /dx/tests/075-dex-cat2-value-merge/info.txt: -------------------------------------------------------------------------------- 1 | This is a smoke test of dex conversion, which checks to see that 2 | when a known value of category-2 gets merged during control 3 | flow analysis, things don't break. 4 | 5 | This test compares emitted code against a known-good (via eyeballing) 6 | version, so it is possible for this test to spuriously fail if other 7 | aspects of conversion end up altering the output in innocuous ways. 8 | -------------------------------------------------------------------------------- /dx/tests/076-dex-synch-and-stack/Blort.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aosp-mirror/platform_dalvik/838bd34deecb3715b2b4006edede2ab79e42e336/dx/tests/076-dex-synch-and-stack/Blort.class -------------------------------------------------------------------------------- /dx/tests/076-dex-synch-and-stack/expected.txt: -------------------------------------------------------------------------------- 1 | Blort.test:()V: 2 | regs: 0006; ins: 0001; outs: 0001 3 | 0000: move-object v0, v5 4 | 0001: move-object v3, v5 5 | 0002: monitor-enter v3 6 | 0003: new-instance v1, java.lang.Object 7 | 0005: move-object v4, v1 8 | 0006: move-object v1, v4 9 | 0007: move-object v2, v4 10 | 0008: invoke-direct {v2}, java.lang.Object.:()V 11 | 000b: monitor-exit v3 12 | 000c: return-void 13 | 000d: move-exception v0 14 | 000e: monitor-exit v3 15 | 000f: throw v0 16 | catches 17 | tries: 18 | try 0003..000b 19 | catch -> 000d 20 | -------------------------------------------------------------------------------- /dx/tests/076-dex-synch-and-stack/info.txt: -------------------------------------------------------------------------------- 1 | This is a smoke test of dex conversion, which checks to make sure that 2 | the synchronized method conversion doesn't interact poorly with stack 3 | operation unwinding. 4 | 5 | This test compares emitted code against a known-good (via eyeballing) 6 | version, so it is possible for this test to spuriously fail if other 7 | aspects of conversion end up altering the output in innocuous ways. 8 | -------------------------------------------------------------------------------- /dx/tests/077-dex-code-alignment/Blort.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aosp-mirror/platform_dalvik/838bd34deecb3715b2b4006edede2ab79e42e336/dx/tests/077-dex-code-alignment/Blort.class -------------------------------------------------------------------------------- /dx/tests/077-dex-code-alignment/expected.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aosp-mirror/platform_dalvik/838bd34deecb3715b2b4006edede2ab79e42e336/dx/tests/077-dex-code-alignment/expected.txt -------------------------------------------------------------------------------- /dx/tests/077-dex-code-alignment/info.txt: -------------------------------------------------------------------------------- 1 | This is a smoke test of dex conversion, which checks to make sure that 2 | code arrays are 4-byte aligned within a dex file. 3 | 4 | This test compares emitted code against a known-good (via eyeballing) 5 | version, so it is possible for this test to spuriously fail if other 6 | aspects of conversion end up altering the output in innocuous ways. 7 | -------------------------------------------------------------------------------- /dx/tests/078-dex-local-variable-table/Blort.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aosp-mirror/platform_dalvik/838bd34deecb3715b2b4006edede2ab79e42e336/dx/tests/078-dex-local-variable-table/Blort.class -------------------------------------------------------------------------------- /dx/tests/078-dex-local-variable-table/info.txt: -------------------------------------------------------------------------------- 1 | This is a smoke test of dex conversion, which checks to make sure that 2 | local variable tables get emitted properly. 3 | 4 | This test compares emitted code against a known-good (via eyeballing) 5 | version, so it is possible for this test to spuriously fail if other 6 | aspects of conversion end up altering the output in innocuous ways. 7 | -------------------------------------------------------------------------------- /dx/tests/079-dex-local-variable-renumbering/Blort.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aosp-mirror/platform_dalvik/838bd34deecb3715b2b4006edede2ab79e42e336/dx/tests/079-dex-local-variable-renumbering/Blort.class -------------------------------------------------------------------------------- /dx/tests/079-dex-local-variable-renumbering/info.txt: -------------------------------------------------------------------------------- 1 | This is a smoke test of dex conversion, which checks to make sure that 2 | local variable tables stay in sync when the register set gets renumbered 3 | to make room for low scratch registers. 4 | 5 | This test compares emitted code against a known-good (via eyeballing) 6 | version, so it is possible for this test to spuriously fail if other 7 | aspects of conversion end up altering the output in innocuous ways. 8 | -------------------------------------------------------------------------------- /dx/tests/080-dex-exception-tables/Blort.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aosp-mirror/platform_dalvik/838bd34deecb3715b2b4006edede2ab79e42e336/dx/tests/080-dex-exception-tables/Blort.class -------------------------------------------------------------------------------- /dx/tests/080-dex-exception-tables/info.txt: -------------------------------------------------------------------------------- 1 | This is a smoke test of dex conversion, which checks to make sure that 2 | exception handler tables get built reasonably (combining entries that 3 | ought to be combined, listing entries in a correct and sensible order, 4 | etc.). 5 | 6 | This test compares emitted code against a known-good (via eyeballing) 7 | version, so it is possible for this test to spuriously fail if other 8 | aspects of conversion end up altering the output in innocuous ways. 9 | -------------------------------------------------------------------------------- /dx/tests/081-dex-throws-list/Blort.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aosp-mirror/platform_dalvik/838bd34deecb3715b2b4006edede2ab79e42e336/dx/tests/081-dex-throws-list/Blort.class -------------------------------------------------------------------------------- /dx/tests/081-dex-throws-list/expected.txt: -------------------------------------------------------------------------------- 1 | Blort.test1:()I: 2 | system-annotation dalvik.annotation.Throws {value: {java.lang.RuntimeException}} 3 | Blort.test2:()I: 4 | system-annotation dalvik.annotation.Throws {value: {java.lang.Throwable, java.lang.IllegalArgumentException}} 5 | -------------------------------------------------------------------------------- /dx/tests/081-dex-throws-list/info.txt: -------------------------------------------------------------------------------- 1 | This is a smoke test of dex conversion, which checks to make sure that 2 | throws lists (that is, list of declared exceptions on methods) get 3 | represented reasonably. 4 | 5 | This test compares emitted code against a known-good (via eyeballing) 6 | version, so it is possible for this test to spuriously fail if other 7 | aspects of conversion end up altering the output in innocuous ways. 8 | -------------------------------------------------------------------------------- /dx/tests/082-dex-throws-list-sharing/Blort.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aosp-mirror/platform_dalvik/838bd34deecb3715b2b4006edede2ab79e42e336/dx/tests/082-dex-throws-list-sharing/Blort.class -------------------------------------------------------------------------------- /dx/tests/082-dex-throws-list-sharing/expected.txt: -------------------------------------------------------------------------------- 1 | java.lang.RuntimeException 2 | java.lang.Error, java.lang.UnsupportedOperationException 3 | -------------------------------------------------------------------------------- /dx/tests/082-dex-throws-list-sharing/info.txt: -------------------------------------------------------------------------------- 1 | This is a smoke test of dex conversion, which checks to make sure that 2 | identical throws lists in different methods get collapsed into a single 3 | dex file structure. 4 | 5 | This test compares emitted code against a known-good (via eyeballing) 6 | version, so it is possible for this test to spuriously fail if other 7 | aspects of conversion end up altering the output in innocuous ways. 8 | -------------------------------------------------------------------------------- /dx/tests/083-ssa-phi-placement/Blort.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aosp-mirror/platform_dalvik/838bd34deecb3715b2b4006edede2ab79e42e336/dx/tests/083-ssa-phi-placement/Blort.class -------------------------------------------------------------------------------- /dx/tests/083-ssa-phi-placement/info.txt: -------------------------------------------------------------------------------- 1 | This is a test case for the phi placement algorthim used in the conversion to SSA form. 2 | 3 | This test compares emitted code against a known-good (via eyeballing) 4 | version, so it is possible for this test to spuriously fail if other 5 | aspects of conversion end up altering the output in innocuous ways. 6 | -------------------------------------------------------------------------------- /dx/tests/084-dex-high-register-moves/Blort.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aosp-mirror/platform_dalvik/838bd34deecb3715b2b4006edede2ab79e42e336/dx/tests/084-dex-high-register-moves/Blort.class -------------------------------------------------------------------------------- /dx/tests/084-dex-high-register-moves/info.txt: -------------------------------------------------------------------------------- 1 | This is a smoke test of dex conversion, which checks to make sure that 2 | high registers are moved to and from low registers with 3 | type-appropriate instructions. 4 | 5 | This test compares emitted code against a known-good (via eyeballing) 6 | version, so it is possible for this test to spuriously fail if other 7 | aspects of conversion end up altering the output in innocuous ways. 8 | -------------------------------------------------------------------------------- /dx/tests/085-dex-jsr-ret/blort.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aosp-mirror/platform_dalvik/838bd34deecb3715b2b4006edede2ab79e42e336/dx/tests/085-dex-jsr-ret/blort.class -------------------------------------------------------------------------------- /dx/tests/085-dex-jsr-ret/build: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | # 3 | # Copyright (C) 2017 The Android Open Source Project 4 | # 5 | # Licensed under the Apache License, Version 2.0 (the "License"); 6 | # you may not use this file except in compliance with the License. 7 | # You may obtain a copy of the License at 8 | # 9 | # http://www.apache.org/licenses/LICENSE-2.0 10 | # 11 | # Unless required by applicable law or agreed to in writing, software 12 | # distributed under the License is distributed on an "AS IS" BASIS, 13 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 14 | # See the License for the specific language governing permissions and 15 | # limitations under the License. 16 | 17 | jasmin -d . blort.j 18 | -------------------------------------------------------------------------------- /dx/tests/085-dex-jsr-ret/info.txt: -------------------------------------------------------------------------------- 1 | Tests handling of the Java jsr/jsr_w/ret bytecodes. 2 | -------------------------------------------------------------------------------- /dx/tests/086-ssa-edge-split/Blort.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aosp-mirror/platform_dalvik/838bd34deecb3715b2b4006edede2ab79e42e336/dx/tests/086-ssa-edge-split/Blort.class -------------------------------------------------------------------------------- /dx/tests/086-ssa-edge-split/info.txt: -------------------------------------------------------------------------------- 1 | This is a test case for the edge-splitting algorthim used in the conversion to SSA form. 2 | 3 | This test compares emitted code against a known-good (via eyeballing) 4 | version, so it is possible for this test to spuriously fail if other 5 | aspects of conversion end up altering the output in innocuous ways. 6 | -------------------------------------------------------------------------------- /dx/tests/087-ssa-local-vars/Blort.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aosp-mirror/platform_dalvik/838bd34deecb3715b2b4006edede2ab79e42e336/dx/tests/087-ssa-local-vars/Blort.class -------------------------------------------------------------------------------- /dx/tests/087-ssa-local-vars/info.txt: -------------------------------------------------------------------------------- 1 | This is a test case to ensure proper preservation of local variable information through the register renamer and dead code remover at the beginning of the SSA conversion. 2 | 3 | This test compares emitted code against a known-good (via eyeballing) 4 | version, so it is possible for this test to spuriously fail if other 5 | aspects of conversion end up altering the output in innocuous ways. 6 | -------------------------------------------------------------------------------- /dx/tests/088-ssa-combine-blocks/Blort.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aosp-mirror/platform_dalvik/838bd34deecb3715b2b4006edede2ab79e42e336/dx/tests/088-ssa-combine-blocks/Blort.class -------------------------------------------------------------------------------- /dx/tests/088-ssa-combine-blocks/info.txt: -------------------------------------------------------------------------------- 1 | This is a test case for the identical-block combining algorithm, which runs after the SSA optimizer to recombine identical blocks (usually exception handlers) created during edge-splitting. 2 | 3 | This test compares emitted code against a known-good (via eyeballing) 4 | version, so it is possible for this test to spuriously fail if other 5 | aspects of conversion end up altering the output in innocuous ways. 6 | -------------------------------------------------------------------------------- /dx/tests/089-dex-define-object/expected.txt: -------------------------------------------------------------------------------- 1 | Good! 2 | -------------------------------------------------------------------------------- /dx/tests/089-dex-define-object/info.txt: -------------------------------------------------------------------------------- 1 | This tests that a stripped down definition of the class Object can in 2 | fact be converted to a dex file. This test ensures that the conversion 3 | runs without failure, though the contents of the converted file are 4 | not checked for correctness. 5 | -------------------------------------------------------------------------------- /dx/tests/089-dex-define-object/java/lang/Class.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aosp-mirror/platform_dalvik/838bd34deecb3715b2b4006edede2ab79e42e336/dx/tests/089-dex-define-object/java/lang/Class.class -------------------------------------------------------------------------------- /dx/tests/089-dex-define-object/java/lang/Object.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aosp-mirror/platform_dalvik/838bd34deecb3715b2b4006edede2ab79e42e336/dx/tests/089-dex-define-object/java/lang/Object.class -------------------------------------------------------------------------------- /dx/tests/089-dex-define-object/java/lang/String.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aosp-mirror/platform_dalvik/838bd34deecb3715b2b4006edede2ab79e42e336/dx/tests/089-dex-define-object/java/lang/String.class -------------------------------------------------------------------------------- /dx/tests/090-dex-unify-arrays/Blort.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aosp-mirror/platform_dalvik/838bd34deecb3715b2b4006edede2ab79e42e336/dx/tests/090-dex-unify-arrays/Blort.class -------------------------------------------------------------------------------- /dx/tests/090-dex-unify-arrays/info.txt: -------------------------------------------------------------------------------- 1 | This is a smoke test of dex conversion, which checks to see that 2 | array type unification works properly. 3 | 4 | This test compares emitted code against a known-good (via eyeballing) 5 | version, so it is possible for this test to spuriously fail if other 6 | aspects of conversion end up altering the output in innocuous ways. 7 | -------------------------------------------------------------------------------- /dx/tests/091-ssa-const-collector/Blort$Foo.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aosp-mirror/platform_dalvik/838bd34deecb3715b2b4006edede2ab79e42e336/dx/tests/091-ssa-const-collector/Blort$Foo.class -------------------------------------------------------------------------------- /dx/tests/091-ssa-const-collector/Blort.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aosp-mirror/platform_dalvik/838bd34deecb3715b2b4006edede2ab79e42e336/dx/tests/091-ssa-const-collector/Blort.class -------------------------------------------------------------------------------- /dx/tests/091-ssa-const-collector/info.txt: -------------------------------------------------------------------------------- 1 | This test case tests the "const collector" optimization step. 2 | 3 | This test compares emitted code against a known-good (via eyeballing) 4 | version, so it is possible for this test to spuriously fail if other 5 | aspects of conversion end up altering the output in innocuous ways. 6 | -------------------------------------------------------------------------------- /dx/tests/092-ssa-cfg-edge-cases/Blort.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aosp-mirror/platform_dalvik/838bd34deecb3715b2b4006edede2ab79e42e336/dx/tests/092-ssa-cfg-edge-cases/Blort.class -------------------------------------------------------------------------------- /dx/tests/092-ssa-cfg-edge-cases/Blort.java: -------------------------------------------------------------------------------- 1 | 2 | class Blort { 3 | 4 | void testMultipleIdenticalSuccessors(int foo) { 5 | switch(foo) { 6 | case 1: 7 | case 2: 8 | case 3: 9 | System.out.println("foo"); 10 | break; 11 | } 12 | } 13 | 14 | void testNoPrimarySuccessor() { 15 | try { 16 | throw new RuntimeException(); 17 | } catch (RuntimeException ex){ 18 | } 19 | } 20 | } 21 | -------------------------------------------------------------------------------- /dx/tests/092-ssa-cfg-edge-cases/info.txt: -------------------------------------------------------------------------------- 1 | This test case runs a few odd control flow graphs through the optimizer. 2 | 3 | This test compares emitted code against a known-good (via eyeballing) 4 | version, so it is possible for this test to spuriously fail if other 5 | aspects of conversion end up altering the output in innocuous ways. 6 | -------------------------------------------------------------------------------- /dx/tests/093-ssa-invoke-range/Blort.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aosp-mirror/platform_dalvik/838bd34deecb3715b2b4006edede2ab79e42e336/dx/tests/093-ssa-invoke-range/Blort.class -------------------------------------------------------------------------------- /dx/tests/093-ssa-invoke-range/info.txt: -------------------------------------------------------------------------------- 1 | This test case checks the ability of the register allocator to plan 2 | for dex's invoke-range instruction. 3 | 4 | This test compares emitted code against a known-good (via eyeballing) 5 | version, so it is possible for this test to spuriously fail if other 6 | aspects of conversion end up altering the output in innocuous ways. 7 | -------------------------------------------------------------------------------- /dx/tests/094-scala-locals/Blort.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aosp-mirror/platform_dalvik/838bd34deecb3715b2b4006edede2ab79e42e336/dx/tests/094-scala-locals/Blort.class -------------------------------------------------------------------------------- /dx/tests/094-scala-locals/info.txt: -------------------------------------------------------------------------------- 1 | This is a smoke test of the SSA renamer's local variable preserver. 2 | It tests a case observed from Scala, wherein a local variable is assigned 3 | an identical value twice. The correct result should be only a single 4 | mark-local, with the second assignment eaten by copy-propogation. 5 | 6 | This test compares emitted code against a known-good (via eyeballing) 7 | version, so it is possible for this test to spuriously fail if other 8 | aspects of conversion end up altering the output in innocuous ways. 9 | -------------------------------------------------------------------------------- /dx/tests/095-dex-const-string-jumbo/expected.txt: -------------------------------------------------------------------------------- 1 | Blort.test:()V: 2 | regs: 0003; ins: 0001; outs: 0001 3 | 0000: move-object v0, v2 4 | 0001: const-string/jumbo v1, "zorch" 5 | 0004: invoke-static {v1}, Blort.consume:(Ljava/lang/String;)V 6 | 0007: return-void 7 | -------------------------------------------------------------------------------- /dx/tests/095-dex-const-string-jumbo/info.txt: -------------------------------------------------------------------------------- 1 | This is a smoke test of dex conversion, which checks to see that 2 | const-string/jumbo gets emitted appropriately. 3 | 4 | This test compares emitted code against a known-good (via eyeballing) 5 | version, so it is possible for this test to spuriously fail if other 6 | aspects of conversion end up altering the output in innocuous ways. 7 | -------------------------------------------------------------------------------- /dx/tests/096-dex-giant-catch/Blort.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aosp-mirror/platform_dalvik/838bd34deecb3715b2b4006edede2ab79e42e336/dx/tests/096-dex-giant-catch/Blort.class -------------------------------------------------------------------------------- /dx/tests/096-dex-giant-catch/Zorch.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aosp-mirror/platform_dalvik/838bd34deecb3715b2b4006edede2ab79e42e336/dx/tests/096-dex-giant-catch/Zorch.class -------------------------------------------------------------------------------- /dx/tests/096-dex-giant-catch/expected.txt: -------------------------------------------------------------------------------- 1 | catches 2 | try 0024..00010017 3 | catch java.lang.RuntimeException -> 00011260 4 | try 0001003b..0001125f 5 | catch java.lang.RuntimeException -> 00011260 6 | -------------------------------------------------------------------------------- /dx/tests/096-dex-giant-catch/info.txt: -------------------------------------------------------------------------------- 1 | This is a smoke test of dex conversion, which checks to see that 2 | very long catch ranges (that cover >= 65536 code units) get emitted 3 | appropriately. 4 | 5 | This test compares emitted code against a known-good (via eyeballing) 6 | version, so it is possible for this test to spuriously fail if other 7 | aspects of conversion end up altering the output in innocuous ways. 8 | -------------------------------------------------------------------------------- /dx/tests/097-dex-branch-offset-zero/Blort.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aosp-mirror/platform_dalvik/838bd34deecb3715b2b4006edede2ab79e42e336/dx/tests/097-dex-branch-offset-zero/Blort.class -------------------------------------------------------------------------------- /dx/tests/097-dex-branch-offset-zero/expected.txt: -------------------------------------------------------------------------------- 1 | No bad branches found. 2 | -------------------------------------------------------------------------------- /dx/tests/097-dex-branch-offset-zero/info.txt: -------------------------------------------------------------------------------- 1 | This is a smoke test of dex conversion, which checks to make sure that 2 | the only non-switch branches to offset 0 happen using the goto/32 opcode. 3 | 4 | This test compares emitted code against a known-good (via eyeballing) 5 | version, so it is possible for this test to spuriously fail if other 6 | aspects of conversion end up altering the output in innocuous ways. 7 | -------------------------------------------------------------------------------- /dx/tests/098-dex-jsr-ret-throw/ViewDebug$ViewServer.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aosp-mirror/platform_dalvik/838bd34deecb3715b2b4006edede2ab79e42e336/dx/tests/098-dex-jsr-ret-throw/ViewDebug$ViewServer.class -------------------------------------------------------------------------------- /dx/tests/098-dex-jsr-ret-throw/info.txt: -------------------------------------------------------------------------------- 1 | The enclosed class file was generated with javac version 1.5.0_13-b05. 2 | It contains an example of a subroutine being exited by a "throw" instruction in 3 | such a way that it caused the frame merge and subroutine inliner 4 | algorithms to not converge. This was bug #1137450. 5 | -------------------------------------------------------------------------------- /dx/tests/099-dex-core-library-error/Blort.java: -------------------------------------------------------------------------------- 1 | package java.blort; 2 | 3 | public class Blort { 4 | // This space intentionally left blank. 5 | } 6 | -------------------------------------------------------------------------------- /dx/tests/099-dex-core-library-error/Muffins.java: -------------------------------------------------------------------------------- 1 | package javax.net; 2 | 3 | public class Muffins { 4 | // This space intentionally left blank. 5 | } 6 | -------------------------------------------------------------------------------- /dx/tests/099-dex-core-library-error/Zorch.java: -------------------------------------------------------------------------------- 1 | package javax.zorch; 2 | 3 | public class Zorch { 4 | // This space intentionally left blank. 5 | } 6 | -------------------------------------------------------------------------------- /dx/tests/099-dex-core-library-error/expected.txt: -------------------------------------------------------------------------------- 1 | exit code: 1 2 | exit code: 1 3 | exit code: 0 4 | Found zorch.dex 5 | Done 6 | -------------------------------------------------------------------------------- /dx/tests/099-dex-core-library-error/info.txt: -------------------------------------------------------------------------------- 1 | This tests that attempts to define core classes fail and that 2 | an attempt to define a legal javax.* class succeeds. (Only *some* 3 | javax packages are considered to be off-limits.) 4 | -------------------------------------------------------------------------------- /dx/tests/099-dex-core-library-error/java/blort/Blort.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aosp-mirror/platform_dalvik/838bd34deecb3715b2b4006edede2ab79e42e336/dx/tests/099-dex-core-library-error/java/blort/Blort.class -------------------------------------------------------------------------------- /dx/tests/099-dex-core-library-error/javax/net/Muffins.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aosp-mirror/platform_dalvik/838bd34deecb3715b2b4006edede2ab79e42e336/dx/tests/099-dex-core-library-error/javax/net/Muffins.class -------------------------------------------------------------------------------- /dx/tests/099-dex-core-library-error/javax/zorch/Zorch.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aosp-mirror/platform_dalvik/838bd34deecb3715b2b4006edede2ab79e42e336/dx/tests/099-dex-core-library-error/javax/zorch/Zorch.class -------------------------------------------------------------------------------- /dx/tests/100-local-mismatch/Blort1.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aosp-mirror/platform_dalvik/838bd34deecb3715b2b4006edede2ab79e42e336/dx/tests/100-local-mismatch/Blort1.class -------------------------------------------------------------------------------- /dx/tests/100-local-mismatch/Blort2.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aosp-mirror/platform_dalvik/838bd34deecb3715b2b4006edede2ab79e42e336/dx/tests/100-local-mismatch/Blort2.class -------------------------------------------------------------------------------- /dx/tests/100-local-mismatch/Blort3.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aosp-mirror/platform_dalvik/838bd34deecb3715b2b4006edede2ab79e42e336/dx/tests/100-local-mismatch/Blort3.class -------------------------------------------------------------------------------- /dx/tests/100-local-mismatch/Blort4.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aosp-mirror/platform_dalvik/838bd34deecb3715b2b4006edede2ab79e42e336/dx/tests/100-local-mismatch/Blort4.class -------------------------------------------------------------------------------- /dx/tests/100-local-mismatch/info.txt: -------------------------------------------------------------------------------- 1 | This is a smoke test that makes sure that dx complains when a local 2 | variable table entry fundamentally disagrees with an instruction that 3 | accesses that local. 4 | -------------------------------------------------------------------------------- /dx/tests/101-verify-wide-math/info.txt: -------------------------------------------------------------------------------- 1 | This tests that wide-taking (category-2) "calculation" opcodes (math 2 | ops, comparisons, etc.) verify that their arguments are actually of 3 | the appropriate types. 4 | -------------------------------------------------------------------------------- /dx/tests/101-verify-wide-math/op_d2f.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aosp-mirror/platform_dalvik/838bd34deecb3715b2b4006edede2ab79e42e336/dx/tests/101-verify-wide-math/op_d2f.class -------------------------------------------------------------------------------- /dx/tests/101-verify-wide-math/op_d2i.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aosp-mirror/platform_dalvik/838bd34deecb3715b2b4006edede2ab79e42e336/dx/tests/101-verify-wide-math/op_d2i.class -------------------------------------------------------------------------------- /dx/tests/101-verify-wide-math/op_d2l.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aosp-mirror/platform_dalvik/838bd34deecb3715b2b4006edede2ab79e42e336/dx/tests/101-verify-wide-math/op_d2l.class -------------------------------------------------------------------------------- /dx/tests/101-verify-wide-math/op_dadd.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aosp-mirror/platform_dalvik/838bd34deecb3715b2b4006edede2ab79e42e336/dx/tests/101-verify-wide-math/op_dadd.class -------------------------------------------------------------------------------- /dx/tests/101-verify-wide-math/op_dcmpg.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aosp-mirror/platform_dalvik/838bd34deecb3715b2b4006edede2ab79e42e336/dx/tests/101-verify-wide-math/op_dcmpg.class -------------------------------------------------------------------------------- /dx/tests/101-verify-wide-math/op_dcmpl.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aosp-mirror/platform_dalvik/838bd34deecb3715b2b4006edede2ab79e42e336/dx/tests/101-verify-wide-math/op_dcmpl.class -------------------------------------------------------------------------------- /dx/tests/101-verify-wide-math/op_ddiv.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aosp-mirror/platform_dalvik/838bd34deecb3715b2b4006edede2ab79e42e336/dx/tests/101-verify-wide-math/op_ddiv.class -------------------------------------------------------------------------------- /dx/tests/101-verify-wide-math/op_dmul.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aosp-mirror/platform_dalvik/838bd34deecb3715b2b4006edede2ab79e42e336/dx/tests/101-verify-wide-math/op_dmul.class -------------------------------------------------------------------------------- /dx/tests/101-verify-wide-math/op_dneg.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aosp-mirror/platform_dalvik/838bd34deecb3715b2b4006edede2ab79e42e336/dx/tests/101-verify-wide-math/op_dneg.class -------------------------------------------------------------------------------- /dx/tests/101-verify-wide-math/op_drem.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aosp-mirror/platform_dalvik/838bd34deecb3715b2b4006edede2ab79e42e336/dx/tests/101-verify-wide-math/op_drem.class -------------------------------------------------------------------------------- /dx/tests/101-verify-wide-math/op_dsub.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aosp-mirror/platform_dalvik/838bd34deecb3715b2b4006edede2ab79e42e336/dx/tests/101-verify-wide-math/op_dsub.class -------------------------------------------------------------------------------- /dx/tests/101-verify-wide-math/op_l2d.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aosp-mirror/platform_dalvik/838bd34deecb3715b2b4006edede2ab79e42e336/dx/tests/101-verify-wide-math/op_l2d.class -------------------------------------------------------------------------------- /dx/tests/101-verify-wide-math/op_l2f.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aosp-mirror/platform_dalvik/838bd34deecb3715b2b4006edede2ab79e42e336/dx/tests/101-verify-wide-math/op_l2f.class -------------------------------------------------------------------------------- /dx/tests/101-verify-wide-math/op_l2i.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aosp-mirror/platform_dalvik/838bd34deecb3715b2b4006edede2ab79e42e336/dx/tests/101-verify-wide-math/op_l2i.class -------------------------------------------------------------------------------- /dx/tests/101-verify-wide-math/op_ladd.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aosp-mirror/platform_dalvik/838bd34deecb3715b2b4006edede2ab79e42e336/dx/tests/101-verify-wide-math/op_ladd.class -------------------------------------------------------------------------------- /dx/tests/101-verify-wide-math/op_land.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aosp-mirror/platform_dalvik/838bd34deecb3715b2b4006edede2ab79e42e336/dx/tests/101-verify-wide-math/op_land.class -------------------------------------------------------------------------------- /dx/tests/101-verify-wide-math/op_lcmp.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aosp-mirror/platform_dalvik/838bd34deecb3715b2b4006edede2ab79e42e336/dx/tests/101-verify-wide-math/op_lcmp.class -------------------------------------------------------------------------------- /dx/tests/101-verify-wide-math/op_ldiv.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aosp-mirror/platform_dalvik/838bd34deecb3715b2b4006edede2ab79e42e336/dx/tests/101-verify-wide-math/op_ldiv.class -------------------------------------------------------------------------------- /dx/tests/101-verify-wide-math/op_lmul.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aosp-mirror/platform_dalvik/838bd34deecb3715b2b4006edede2ab79e42e336/dx/tests/101-verify-wide-math/op_lmul.class -------------------------------------------------------------------------------- /dx/tests/101-verify-wide-math/op_lneg.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aosp-mirror/platform_dalvik/838bd34deecb3715b2b4006edede2ab79e42e336/dx/tests/101-verify-wide-math/op_lneg.class -------------------------------------------------------------------------------- /dx/tests/101-verify-wide-math/op_lor.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aosp-mirror/platform_dalvik/838bd34deecb3715b2b4006edede2ab79e42e336/dx/tests/101-verify-wide-math/op_lor.class -------------------------------------------------------------------------------- /dx/tests/101-verify-wide-math/op_lrem.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aosp-mirror/platform_dalvik/838bd34deecb3715b2b4006edede2ab79e42e336/dx/tests/101-verify-wide-math/op_lrem.class -------------------------------------------------------------------------------- /dx/tests/101-verify-wide-math/op_lshl.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aosp-mirror/platform_dalvik/838bd34deecb3715b2b4006edede2ab79e42e336/dx/tests/101-verify-wide-math/op_lshl.class -------------------------------------------------------------------------------- /dx/tests/101-verify-wide-math/op_lshr.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aosp-mirror/platform_dalvik/838bd34deecb3715b2b4006edede2ab79e42e336/dx/tests/101-verify-wide-math/op_lshr.class -------------------------------------------------------------------------------- /dx/tests/101-verify-wide-math/op_lsub.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aosp-mirror/platform_dalvik/838bd34deecb3715b2b4006edede2ab79e42e336/dx/tests/101-verify-wide-math/op_lsub.class -------------------------------------------------------------------------------- /dx/tests/101-verify-wide-math/op_lushr.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aosp-mirror/platform_dalvik/838bd34deecb3715b2b4006edede2ab79e42e336/dx/tests/101-verify-wide-math/op_lushr.class -------------------------------------------------------------------------------- /dx/tests/101-verify-wide-math/op_lxor.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aosp-mirror/platform_dalvik/838bd34deecb3715b2b4006edede2ab79e42e336/dx/tests/101-verify-wide-math/op_lxor.class -------------------------------------------------------------------------------- /dx/tests/102-verify-nonwide-math/info.txt: -------------------------------------------------------------------------------- 1 | This tests that non-wide-taking (category-1) "calculation" opcodes (math 2 | ops, comparisons, etc.) to verify that their arguments are actually of 3 | the appropriate types. 4 | -------------------------------------------------------------------------------- /dx/tests/102-verify-nonwide-math/op_f2d.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aosp-mirror/platform_dalvik/838bd34deecb3715b2b4006edede2ab79e42e336/dx/tests/102-verify-nonwide-math/op_f2d.class -------------------------------------------------------------------------------- /dx/tests/102-verify-nonwide-math/op_f2i.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aosp-mirror/platform_dalvik/838bd34deecb3715b2b4006edede2ab79e42e336/dx/tests/102-verify-nonwide-math/op_f2i.class -------------------------------------------------------------------------------- /dx/tests/102-verify-nonwide-math/op_f2l.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aosp-mirror/platform_dalvik/838bd34deecb3715b2b4006edede2ab79e42e336/dx/tests/102-verify-nonwide-math/op_f2l.class -------------------------------------------------------------------------------- /dx/tests/102-verify-nonwide-math/op_fadd.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aosp-mirror/platform_dalvik/838bd34deecb3715b2b4006edede2ab79e42e336/dx/tests/102-verify-nonwide-math/op_fadd.class -------------------------------------------------------------------------------- /dx/tests/102-verify-nonwide-math/op_fdiv.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aosp-mirror/platform_dalvik/838bd34deecb3715b2b4006edede2ab79e42e336/dx/tests/102-verify-nonwide-math/op_fdiv.class -------------------------------------------------------------------------------- /dx/tests/102-verify-nonwide-math/op_fmul.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aosp-mirror/platform_dalvik/838bd34deecb3715b2b4006edede2ab79e42e336/dx/tests/102-verify-nonwide-math/op_fmul.class -------------------------------------------------------------------------------- /dx/tests/102-verify-nonwide-math/op_fneg.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aosp-mirror/platform_dalvik/838bd34deecb3715b2b4006edede2ab79e42e336/dx/tests/102-verify-nonwide-math/op_fneg.class -------------------------------------------------------------------------------- /dx/tests/102-verify-nonwide-math/op_frem.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aosp-mirror/platform_dalvik/838bd34deecb3715b2b4006edede2ab79e42e336/dx/tests/102-verify-nonwide-math/op_frem.class -------------------------------------------------------------------------------- /dx/tests/102-verify-nonwide-math/op_fsub.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aosp-mirror/platform_dalvik/838bd34deecb3715b2b4006edede2ab79e42e336/dx/tests/102-verify-nonwide-math/op_fsub.class -------------------------------------------------------------------------------- /dx/tests/102-verify-nonwide-math/op_i2d.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aosp-mirror/platform_dalvik/838bd34deecb3715b2b4006edede2ab79e42e336/dx/tests/102-verify-nonwide-math/op_i2d.class -------------------------------------------------------------------------------- /dx/tests/102-verify-nonwide-math/op_i2f.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aosp-mirror/platform_dalvik/838bd34deecb3715b2b4006edede2ab79e42e336/dx/tests/102-verify-nonwide-math/op_i2f.class -------------------------------------------------------------------------------- /dx/tests/102-verify-nonwide-math/op_i2l.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aosp-mirror/platform_dalvik/838bd34deecb3715b2b4006edede2ab79e42e336/dx/tests/102-verify-nonwide-math/op_i2l.class -------------------------------------------------------------------------------- /dx/tests/102-verify-nonwide-math/op_iadd.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aosp-mirror/platform_dalvik/838bd34deecb3715b2b4006edede2ab79e42e336/dx/tests/102-verify-nonwide-math/op_iadd.class -------------------------------------------------------------------------------- /dx/tests/102-verify-nonwide-math/op_iand.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aosp-mirror/platform_dalvik/838bd34deecb3715b2b4006edede2ab79e42e336/dx/tests/102-verify-nonwide-math/op_iand.class -------------------------------------------------------------------------------- /dx/tests/102-verify-nonwide-math/op_idiv.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aosp-mirror/platform_dalvik/838bd34deecb3715b2b4006edede2ab79e42e336/dx/tests/102-verify-nonwide-math/op_idiv.class -------------------------------------------------------------------------------- /dx/tests/102-verify-nonwide-math/op_imul.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aosp-mirror/platform_dalvik/838bd34deecb3715b2b4006edede2ab79e42e336/dx/tests/102-verify-nonwide-math/op_imul.class -------------------------------------------------------------------------------- /dx/tests/102-verify-nonwide-math/op_ineg.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aosp-mirror/platform_dalvik/838bd34deecb3715b2b4006edede2ab79e42e336/dx/tests/102-verify-nonwide-math/op_ineg.class -------------------------------------------------------------------------------- /dx/tests/102-verify-nonwide-math/op_ior.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aosp-mirror/platform_dalvik/838bd34deecb3715b2b4006edede2ab79e42e336/dx/tests/102-verify-nonwide-math/op_ior.class -------------------------------------------------------------------------------- /dx/tests/102-verify-nonwide-math/op_irem.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aosp-mirror/platform_dalvik/838bd34deecb3715b2b4006edede2ab79e42e336/dx/tests/102-verify-nonwide-math/op_irem.class -------------------------------------------------------------------------------- /dx/tests/102-verify-nonwide-math/op_ishl.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aosp-mirror/platform_dalvik/838bd34deecb3715b2b4006edede2ab79e42e336/dx/tests/102-verify-nonwide-math/op_ishl.class -------------------------------------------------------------------------------- /dx/tests/102-verify-nonwide-math/op_ishr.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aosp-mirror/platform_dalvik/838bd34deecb3715b2b4006edede2ab79e42e336/dx/tests/102-verify-nonwide-math/op_ishr.class -------------------------------------------------------------------------------- /dx/tests/102-verify-nonwide-math/op_isub.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aosp-mirror/platform_dalvik/838bd34deecb3715b2b4006edede2ab79e42e336/dx/tests/102-verify-nonwide-math/op_isub.class -------------------------------------------------------------------------------- /dx/tests/102-verify-nonwide-math/op_iushr.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aosp-mirror/platform_dalvik/838bd34deecb3715b2b4006edede2ab79e42e336/dx/tests/102-verify-nonwide-math/op_iushr.class -------------------------------------------------------------------------------- /dx/tests/102-verify-nonwide-math/op_ixor.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aosp-mirror/platform_dalvik/838bd34deecb3715b2b4006edede2ab79e42e336/dx/tests/102-verify-nonwide-math/op_ixor.class -------------------------------------------------------------------------------- /dx/tests/103-verify-branch-ops/info.txt: -------------------------------------------------------------------------------- 1 | This tests branch opcodes to verify that their arguments are actually of 2 | the appropriate types. 3 | -------------------------------------------------------------------------------- /dx/tests/103-verify-branch-ops/op_if_acmpeq.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aosp-mirror/platform_dalvik/838bd34deecb3715b2b4006edede2ab79e42e336/dx/tests/103-verify-branch-ops/op_if_acmpeq.class -------------------------------------------------------------------------------- /dx/tests/103-verify-branch-ops/op_if_acmpne.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aosp-mirror/platform_dalvik/838bd34deecb3715b2b4006edede2ab79e42e336/dx/tests/103-verify-branch-ops/op_if_acmpne.class -------------------------------------------------------------------------------- /dx/tests/103-verify-branch-ops/op_if_icmpeq.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aosp-mirror/platform_dalvik/838bd34deecb3715b2b4006edede2ab79e42e336/dx/tests/103-verify-branch-ops/op_if_icmpeq.class -------------------------------------------------------------------------------- /dx/tests/103-verify-branch-ops/op_if_icmpge.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aosp-mirror/platform_dalvik/838bd34deecb3715b2b4006edede2ab79e42e336/dx/tests/103-verify-branch-ops/op_if_icmpge.class -------------------------------------------------------------------------------- /dx/tests/103-verify-branch-ops/op_if_icmpgt.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aosp-mirror/platform_dalvik/838bd34deecb3715b2b4006edede2ab79e42e336/dx/tests/103-verify-branch-ops/op_if_icmpgt.class -------------------------------------------------------------------------------- /dx/tests/103-verify-branch-ops/op_if_icmple.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aosp-mirror/platform_dalvik/838bd34deecb3715b2b4006edede2ab79e42e336/dx/tests/103-verify-branch-ops/op_if_icmple.class -------------------------------------------------------------------------------- /dx/tests/103-verify-branch-ops/op_if_icmplt.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aosp-mirror/platform_dalvik/838bd34deecb3715b2b4006edede2ab79e42e336/dx/tests/103-verify-branch-ops/op_if_icmplt.class -------------------------------------------------------------------------------- /dx/tests/103-verify-branch-ops/op_if_icmpne.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aosp-mirror/platform_dalvik/838bd34deecb3715b2b4006edede2ab79e42e336/dx/tests/103-verify-branch-ops/op_if_icmpne.class -------------------------------------------------------------------------------- /dx/tests/103-verify-branch-ops/op_ifeq.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aosp-mirror/platform_dalvik/838bd34deecb3715b2b4006edede2ab79e42e336/dx/tests/103-verify-branch-ops/op_ifeq.class -------------------------------------------------------------------------------- /dx/tests/103-verify-branch-ops/op_ifge.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aosp-mirror/platform_dalvik/838bd34deecb3715b2b4006edede2ab79e42e336/dx/tests/103-verify-branch-ops/op_ifge.class -------------------------------------------------------------------------------- /dx/tests/103-verify-branch-ops/op_ifgt.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aosp-mirror/platform_dalvik/838bd34deecb3715b2b4006edede2ab79e42e336/dx/tests/103-verify-branch-ops/op_ifgt.class -------------------------------------------------------------------------------- /dx/tests/103-verify-branch-ops/op_ifle.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aosp-mirror/platform_dalvik/838bd34deecb3715b2b4006edede2ab79e42e336/dx/tests/103-verify-branch-ops/op_ifle.class -------------------------------------------------------------------------------- /dx/tests/103-verify-branch-ops/op_iflt.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aosp-mirror/platform_dalvik/838bd34deecb3715b2b4006edede2ab79e42e336/dx/tests/103-verify-branch-ops/op_iflt.class -------------------------------------------------------------------------------- /dx/tests/103-verify-branch-ops/op_ifne.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aosp-mirror/platform_dalvik/838bd34deecb3715b2b4006edede2ab79e42e336/dx/tests/103-verify-branch-ops/op_ifne.class -------------------------------------------------------------------------------- /dx/tests/103-verify-branch-ops/op_ifnonnull.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aosp-mirror/platform_dalvik/838bd34deecb3715b2b4006edede2ab79e42e336/dx/tests/103-verify-branch-ops/op_ifnonnull.class -------------------------------------------------------------------------------- /dx/tests/103-verify-branch-ops/op_ifnull.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aosp-mirror/platform_dalvik/838bd34deecb3715b2b4006edede2ab79e42e336/dx/tests/103-verify-branch-ops/op_ifnull.class -------------------------------------------------------------------------------- /dx/tests/103-verify-branch-ops/op_lookupswitch.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aosp-mirror/platform_dalvik/838bd34deecb3715b2b4006edede2ab79e42e336/dx/tests/103-verify-branch-ops/op_lookupswitch.class -------------------------------------------------------------------------------- /dx/tests/103-verify-branch-ops/op_tableswitch.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aosp-mirror/platform_dalvik/838bd34deecb3715b2b4006edede2ab79e42e336/dx/tests/103-verify-branch-ops/op_tableswitch.class -------------------------------------------------------------------------------- /dx/tests/104-verify-return-ops/expected.txt: -------------------------------------------------------------------------------- 1 | areturn: expected failure occurred 2 | dreturn: expected failure occurred 3 | freturn: expected failure occurred 4 | ireturn: expected failure occurred 5 | lreturn: expected failure occurred 6 | sig_areturn: expected failure occurred 7 | sig_dreturn: expected failure occurred 8 | sig_freturn: expected failure occurred 9 | sig_ireturn: expected failure occurred 10 | sig_lreturn: expected failure occurred 11 | sig_return: expected failure occurred 12 | -------------------------------------------------------------------------------- /dx/tests/104-verify-return-ops/info.txt: -------------------------------------------------------------------------------- 1 | This tests that return opcodes verify that their arguments are actually of 2 | the appropriate types and that the opcode matches the method signature. 3 | -------------------------------------------------------------------------------- /dx/tests/104-verify-return-ops/op_areturn.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aosp-mirror/platform_dalvik/838bd34deecb3715b2b4006edede2ab79e42e336/dx/tests/104-verify-return-ops/op_areturn.class -------------------------------------------------------------------------------- /dx/tests/104-verify-return-ops/op_dreturn.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aosp-mirror/platform_dalvik/838bd34deecb3715b2b4006edede2ab79e42e336/dx/tests/104-verify-return-ops/op_dreturn.class -------------------------------------------------------------------------------- /dx/tests/104-verify-return-ops/op_freturn.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aosp-mirror/platform_dalvik/838bd34deecb3715b2b4006edede2ab79e42e336/dx/tests/104-verify-return-ops/op_freturn.class -------------------------------------------------------------------------------- /dx/tests/104-verify-return-ops/op_ireturn.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aosp-mirror/platform_dalvik/838bd34deecb3715b2b4006edede2ab79e42e336/dx/tests/104-verify-return-ops/op_ireturn.class -------------------------------------------------------------------------------- /dx/tests/104-verify-return-ops/op_lreturn.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aosp-mirror/platform_dalvik/838bd34deecb3715b2b4006edede2ab79e42e336/dx/tests/104-verify-return-ops/op_lreturn.class -------------------------------------------------------------------------------- /dx/tests/104-verify-return-ops/op_sig_areturn.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aosp-mirror/platform_dalvik/838bd34deecb3715b2b4006edede2ab79e42e336/dx/tests/104-verify-return-ops/op_sig_areturn.class -------------------------------------------------------------------------------- /dx/tests/104-verify-return-ops/op_sig_dreturn.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aosp-mirror/platform_dalvik/838bd34deecb3715b2b4006edede2ab79e42e336/dx/tests/104-verify-return-ops/op_sig_dreturn.class -------------------------------------------------------------------------------- /dx/tests/104-verify-return-ops/op_sig_freturn.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aosp-mirror/platform_dalvik/838bd34deecb3715b2b4006edede2ab79e42e336/dx/tests/104-verify-return-ops/op_sig_freturn.class -------------------------------------------------------------------------------- /dx/tests/104-verify-return-ops/op_sig_ireturn.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aosp-mirror/platform_dalvik/838bd34deecb3715b2b4006edede2ab79e42e336/dx/tests/104-verify-return-ops/op_sig_ireturn.class -------------------------------------------------------------------------------- /dx/tests/104-verify-return-ops/op_sig_lreturn.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aosp-mirror/platform_dalvik/838bd34deecb3715b2b4006edede2ab79e42e336/dx/tests/104-verify-return-ops/op_sig_lreturn.class -------------------------------------------------------------------------------- /dx/tests/104-verify-return-ops/op_sig_return.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aosp-mirror/platform_dalvik/838bd34deecb3715b2b4006edede2ab79e42e336/dx/tests/104-verify-return-ops/op_sig_return.class -------------------------------------------------------------------------------- /dx/tests/105-verify-load-store-ops/info.txt: -------------------------------------------------------------------------------- 1 | This tests that load and store opcodes verify that their arguments are 2 | actually of the appropriate types. 3 | -------------------------------------------------------------------------------- /dx/tests/105-verify-load-store-ops/op_aaload.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aosp-mirror/platform_dalvik/838bd34deecb3715b2b4006edede2ab79e42e336/dx/tests/105-verify-load-store-ops/op_aaload.class -------------------------------------------------------------------------------- /dx/tests/105-verify-load-store-ops/op_aastore.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aosp-mirror/platform_dalvik/838bd34deecb3715b2b4006edede2ab79e42e336/dx/tests/105-verify-load-store-ops/op_aastore.class -------------------------------------------------------------------------------- /dx/tests/105-verify-load-store-ops/op_aastore2.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aosp-mirror/platform_dalvik/838bd34deecb3715b2b4006edede2ab79e42e336/dx/tests/105-verify-load-store-ops/op_aastore2.class -------------------------------------------------------------------------------- /dx/tests/105-verify-load-store-ops/op_astore.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aosp-mirror/platform_dalvik/838bd34deecb3715b2b4006edede2ab79e42e336/dx/tests/105-verify-load-store-ops/op_astore.class -------------------------------------------------------------------------------- /dx/tests/105-verify-load-store-ops/op_astore_0.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aosp-mirror/platform_dalvik/838bd34deecb3715b2b4006edede2ab79e42e336/dx/tests/105-verify-load-store-ops/op_astore_0.class -------------------------------------------------------------------------------- /dx/tests/105-verify-load-store-ops/op_astore_1.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aosp-mirror/platform_dalvik/838bd34deecb3715b2b4006edede2ab79e42e336/dx/tests/105-verify-load-store-ops/op_astore_1.class -------------------------------------------------------------------------------- /dx/tests/105-verify-load-store-ops/op_astore_2.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aosp-mirror/platform_dalvik/838bd34deecb3715b2b4006edede2ab79e42e336/dx/tests/105-verify-load-store-ops/op_astore_2.class -------------------------------------------------------------------------------- /dx/tests/105-verify-load-store-ops/op_astore_3.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aosp-mirror/platform_dalvik/838bd34deecb3715b2b4006edede2ab79e42e336/dx/tests/105-verify-load-store-ops/op_astore_3.class -------------------------------------------------------------------------------- /dx/tests/105-verify-load-store-ops/op_baload.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aosp-mirror/platform_dalvik/838bd34deecb3715b2b4006edede2ab79e42e336/dx/tests/105-verify-load-store-ops/op_baload.class -------------------------------------------------------------------------------- /dx/tests/105-verify-load-store-ops/op_bastore.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aosp-mirror/platform_dalvik/838bd34deecb3715b2b4006edede2ab79e42e336/dx/tests/105-verify-load-store-ops/op_bastore.class -------------------------------------------------------------------------------- /dx/tests/105-verify-load-store-ops/op_caload.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aosp-mirror/platform_dalvik/838bd34deecb3715b2b4006edede2ab79e42e336/dx/tests/105-verify-load-store-ops/op_caload.class -------------------------------------------------------------------------------- /dx/tests/105-verify-load-store-ops/op_castore.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aosp-mirror/platform_dalvik/838bd34deecb3715b2b4006edede2ab79e42e336/dx/tests/105-verify-load-store-ops/op_castore.class -------------------------------------------------------------------------------- /dx/tests/105-verify-load-store-ops/op_daload.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aosp-mirror/platform_dalvik/838bd34deecb3715b2b4006edede2ab79e42e336/dx/tests/105-verify-load-store-ops/op_daload.class -------------------------------------------------------------------------------- /dx/tests/105-verify-load-store-ops/op_dastore.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aosp-mirror/platform_dalvik/838bd34deecb3715b2b4006edede2ab79e42e336/dx/tests/105-verify-load-store-ops/op_dastore.class -------------------------------------------------------------------------------- /dx/tests/105-verify-load-store-ops/op_dstore.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aosp-mirror/platform_dalvik/838bd34deecb3715b2b4006edede2ab79e42e336/dx/tests/105-verify-load-store-ops/op_dstore.class -------------------------------------------------------------------------------- /dx/tests/105-verify-load-store-ops/op_dstore_0.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aosp-mirror/platform_dalvik/838bd34deecb3715b2b4006edede2ab79e42e336/dx/tests/105-verify-load-store-ops/op_dstore_0.class -------------------------------------------------------------------------------- /dx/tests/105-verify-load-store-ops/op_dstore_1.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aosp-mirror/platform_dalvik/838bd34deecb3715b2b4006edede2ab79e42e336/dx/tests/105-verify-load-store-ops/op_dstore_1.class -------------------------------------------------------------------------------- /dx/tests/105-verify-load-store-ops/op_dstore_2.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aosp-mirror/platform_dalvik/838bd34deecb3715b2b4006edede2ab79e42e336/dx/tests/105-verify-load-store-ops/op_dstore_2.class -------------------------------------------------------------------------------- /dx/tests/105-verify-load-store-ops/op_dstore_3.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aosp-mirror/platform_dalvik/838bd34deecb3715b2b4006edede2ab79e42e336/dx/tests/105-verify-load-store-ops/op_dstore_3.class -------------------------------------------------------------------------------- /dx/tests/105-verify-load-store-ops/op_faload.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aosp-mirror/platform_dalvik/838bd34deecb3715b2b4006edede2ab79e42e336/dx/tests/105-verify-load-store-ops/op_faload.class -------------------------------------------------------------------------------- /dx/tests/105-verify-load-store-ops/op_fastore.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aosp-mirror/platform_dalvik/838bd34deecb3715b2b4006edede2ab79e42e336/dx/tests/105-verify-load-store-ops/op_fastore.class -------------------------------------------------------------------------------- /dx/tests/105-verify-load-store-ops/op_fstore.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aosp-mirror/platform_dalvik/838bd34deecb3715b2b4006edede2ab79e42e336/dx/tests/105-verify-load-store-ops/op_fstore.class -------------------------------------------------------------------------------- /dx/tests/105-verify-load-store-ops/op_fstore_0.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aosp-mirror/platform_dalvik/838bd34deecb3715b2b4006edede2ab79e42e336/dx/tests/105-verify-load-store-ops/op_fstore_0.class -------------------------------------------------------------------------------- /dx/tests/105-verify-load-store-ops/op_fstore_1.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aosp-mirror/platform_dalvik/838bd34deecb3715b2b4006edede2ab79e42e336/dx/tests/105-verify-load-store-ops/op_fstore_1.class -------------------------------------------------------------------------------- /dx/tests/105-verify-load-store-ops/op_fstore_2.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aosp-mirror/platform_dalvik/838bd34deecb3715b2b4006edede2ab79e42e336/dx/tests/105-verify-load-store-ops/op_fstore_2.class -------------------------------------------------------------------------------- /dx/tests/105-verify-load-store-ops/op_fstore_3.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aosp-mirror/platform_dalvik/838bd34deecb3715b2b4006edede2ab79e42e336/dx/tests/105-verify-load-store-ops/op_fstore_3.class -------------------------------------------------------------------------------- /dx/tests/105-verify-load-store-ops/op_iaload.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aosp-mirror/platform_dalvik/838bd34deecb3715b2b4006edede2ab79e42e336/dx/tests/105-verify-load-store-ops/op_iaload.class -------------------------------------------------------------------------------- /dx/tests/105-verify-load-store-ops/op_iastore.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aosp-mirror/platform_dalvik/838bd34deecb3715b2b4006edede2ab79e42e336/dx/tests/105-verify-load-store-ops/op_iastore.class -------------------------------------------------------------------------------- /dx/tests/105-verify-load-store-ops/op_istore.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aosp-mirror/platform_dalvik/838bd34deecb3715b2b4006edede2ab79e42e336/dx/tests/105-verify-load-store-ops/op_istore.class -------------------------------------------------------------------------------- /dx/tests/105-verify-load-store-ops/op_istore_0.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aosp-mirror/platform_dalvik/838bd34deecb3715b2b4006edede2ab79e42e336/dx/tests/105-verify-load-store-ops/op_istore_0.class -------------------------------------------------------------------------------- /dx/tests/105-verify-load-store-ops/op_istore_1.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aosp-mirror/platform_dalvik/838bd34deecb3715b2b4006edede2ab79e42e336/dx/tests/105-verify-load-store-ops/op_istore_1.class -------------------------------------------------------------------------------- /dx/tests/105-verify-load-store-ops/op_istore_2.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aosp-mirror/platform_dalvik/838bd34deecb3715b2b4006edede2ab79e42e336/dx/tests/105-verify-load-store-ops/op_istore_2.class -------------------------------------------------------------------------------- /dx/tests/105-verify-load-store-ops/op_istore_3.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aosp-mirror/platform_dalvik/838bd34deecb3715b2b4006edede2ab79e42e336/dx/tests/105-verify-load-store-ops/op_istore_3.class -------------------------------------------------------------------------------- /dx/tests/105-verify-load-store-ops/op_laload.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aosp-mirror/platform_dalvik/838bd34deecb3715b2b4006edede2ab79e42e336/dx/tests/105-verify-load-store-ops/op_laload.class -------------------------------------------------------------------------------- /dx/tests/105-verify-load-store-ops/op_lastore.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aosp-mirror/platform_dalvik/838bd34deecb3715b2b4006edede2ab79e42e336/dx/tests/105-verify-load-store-ops/op_lastore.class -------------------------------------------------------------------------------- /dx/tests/105-verify-load-store-ops/op_lstore.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aosp-mirror/platform_dalvik/838bd34deecb3715b2b4006edede2ab79e42e336/dx/tests/105-verify-load-store-ops/op_lstore.class -------------------------------------------------------------------------------- /dx/tests/105-verify-load-store-ops/op_lstore_0.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aosp-mirror/platform_dalvik/838bd34deecb3715b2b4006edede2ab79e42e336/dx/tests/105-verify-load-store-ops/op_lstore_0.class -------------------------------------------------------------------------------- /dx/tests/105-verify-load-store-ops/op_lstore_1.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aosp-mirror/platform_dalvik/838bd34deecb3715b2b4006edede2ab79e42e336/dx/tests/105-verify-load-store-ops/op_lstore_1.class -------------------------------------------------------------------------------- /dx/tests/105-verify-load-store-ops/op_lstore_2.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aosp-mirror/platform_dalvik/838bd34deecb3715b2b4006edede2ab79e42e336/dx/tests/105-verify-load-store-ops/op_lstore_2.class -------------------------------------------------------------------------------- /dx/tests/105-verify-load-store-ops/op_lstore_3.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aosp-mirror/platform_dalvik/838bd34deecb3715b2b4006edede2ab79e42e336/dx/tests/105-verify-load-store-ops/op_lstore_3.class -------------------------------------------------------------------------------- /dx/tests/105-verify-load-store-ops/op_saload.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aosp-mirror/platform_dalvik/838bd34deecb3715b2b4006edede2ab79e42e336/dx/tests/105-verify-load-store-ops/op_saload.class -------------------------------------------------------------------------------- /dx/tests/105-verify-load-store-ops/op_sastore.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aosp-mirror/platform_dalvik/838bd34deecb3715b2b4006edede2ab79e42e336/dx/tests/105-verify-load-store-ops/op_sastore.class -------------------------------------------------------------------------------- /dx/tests/106-verify-object-ops/expected.txt: -------------------------------------------------------------------------------- 1 | anewarray: expected failure occurred 2 | arraylength: expected failure occurred 3 | athrow: expected failure occurred 4 | checkcast: expected failure occurred 5 | getfield: expected failure occurred 6 | instanceof: expected failure occurred 7 | invokeinterface: expected failure occurred 8 | invokespecial: expected failure occurred 9 | invokestatic: expected failure occurred 10 | invokevirtual: expected failure occurred 11 | monitorenter: expected failure occurred 12 | monitorexit: expected failure occurred 13 | multianewarray: expected failure occurred 14 | newarray: expected failure occurred 15 | putfield: expected failure occurred 16 | putstatic: expected failure occurred 17 | -------------------------------------------------------------------------------- /dx/tests/106-verify-object-ops/info.txt: -------------------------------------------------------------------------------- 1 | This tests that the various "objecty" opcodes verify that their 2 | arguments are actually of the appropriate types. 3 | -------------------------------------------------------------------------------- /dx/tests/106-verify-object-ops/op_anewarray.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aosp-mirror/platform_dalvik/838bd34deecb3715b2b4006edede2ab79e42e336/dx/tests/106-verify-object-ops/op_anewarray.class -------------------------------------------------------------------------------- /dx/tests/106-verify-object-ops/op_arraylength.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aosp-mirror/platform_dalvik/838bd34deecb3715b2b4006edede2ab79e42e336/dx/tests/106-verify-object-ops/op_arraylength.class -------------------------------------------------------------------------------- /dx/tests/106-verify-object-ops/op_athrow.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aosp-mirror/platform_dalvik/838bd34deecb3715b2b4006edede2ab79e42e336/dx/tests/106-verify-object-ops/op_athrow.class -------------------------------------------------------------------------------- /dx/tests/106-verify-object-ops/op_checkcast.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aosp-mirror/platform_dalvik/838bd34deecb3715b2b4006edede2ab79e42e336/dx/tests/106-verify-object-ops/op_checkcast.class -------------------------------------------------------------------------------- /dx/tests/106-verify-object-ops/op_getfield.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aosp-mirror/platform_dalvik/838bd34deecb3715b2b4006edede2ab79e42e336/dx/tests/106-verify-object-ops/op_getfield.class -------------------------------------------------------------------------------- /dx/tests/106-verify-object-ops/op_instanceof.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aosp-mirror/platform_dalvik/838bd34deecb3715b2b4006edede2ab79e42e336/dx/tests/106-verify-object-ops/op_instanceof.class -------------------------------------------------------------------------------- /dx/tests/106-verify-object-ops/op_invokeinterface.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aosp-mirror/platform_dalvik/838bd34deecb3715b2b4006edede2ab79e42e336/dx/tests/106-verify-object-ops/op_invokeinterface.class -------------------------------------------------------------------------------- /dx/tests/106-verify-object-ops/op_invokespecial.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aosp-mirror/platform_dalvik/838bd34deecb3715b2b4006edede2ab79e42e336/dx/tests/106-verify-object-ops/op_invokespecial.class -------------------------------------------------------------------------------- /dx/tests/106-verify-object-ops/op_invokestatic.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aosp-mirror/platform_dalvik/838bd34deecb3715b2b4006edede2ab79e42e336/dx/tests/106-verify-object-ops/op_invokestatic.class -------------------------------------------------------------------------------- /dx/tests/106-verify-object-ops/op_invokevirtual.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aosp-mirror/platform_dalvik/838bd34deecb3715b2b4006edede2ab79e42e336/dx/tests/106-verify-object-ops/op_invokevirtual.class -------------------------------------------------------------------------------- /dx/tests/106-verify-object-ops/op_monitorenter.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aosp-mirror/platform_dalvik/838bd34deecb3715b2b4006edede2ab79e42e336/dx/tests/106-verify-object-ops/op_monitorenter.class -------------------------------------------------------------------------------- /dx/tests/106-verify-object-ops/op_monitorexit.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aosp-mirror/platform_dalvik/838bd34deecb3715b2b4006edede2ab79e42e336/dx/tests/106-verify-object-ops/op_monitorexit.class -------------------------------------------------------------------------------- /dx/tests/106-verify-object-ops/op_multianewarray.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aosp-mirror/platform_dalvik/838bd34deecb3715b2b4006edede2ab79e42e336/dx/tests/106-verify-object-ops/op_multianewarray.class -------------------------------------------------------------------------------- /dx/tests/106-verify-object-ops/op_newarray.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aosp-mirror/platform_dalvik/838bd34deecb3715b2b4006edede2ab79e42e336/dx/tests/106-verify-object-ops/op_newarray.class -------------------------------------------------------------------------------- /dx/tests/106-verify-object-ops/op_putfield.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aosp-mirror/platform_dalvik/838bd34deecb3715b2b4006edede2ab79e42e336/dx/tests/106-verify-object-ops/op_putfield.class -------------------------------------------------------------------------------- /dx/tests/106-verify-object-ops/op_putstatic.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aosp-mirror/platform_dalvik/838bd34deecb3715b2b4006edede2ab79e42e336/dx/tests/106-verify-object-ops/op_putstatic.class -------------------------------------------------------------------------------- /dx/tests/107-verify-stack-ops/info.txt: -------------------------------------------------------------------------------- 1 | This tests that the various stack manipulation opcodes verify that their 2 | arguments are actually of the appropriate categories. 3 | -------------------------------------------------------------------------------- /dx/tests/107-verify-stack-ops/op_dup.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aosp-mirror/platform_dalvik/838bd34deecb3715b2b4006edede2ab79e42e336/dx/tests/107-verify-stack-ops/op_dup.class -------------------------------------------------------------------------------- /dx/tests/107-verify-stack-ops/op_dup2.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aosp-mirror/platform_dalvik/838bd34deecb3715b2b4006edede2ab79e42e336/dx/tests/107-verify-stack-ops/op_dup2.class -------------------------------------------------------------------------------- /dx/tests/107-verify-stack-ops/op_dup2_x1_case1.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aosp-mirror/platform_dalvik/838bd34deecb3715b2b4006edede2ab79e42e336/dx/tests/107-verify-stack-ops/op_dup2_x1_case1.class -------------------------------------------------------------------------------- /dx/tests/107-verify-stack-ops/op_dup2_x1_case2.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aosp-mirror/platform_dalvik/838bd34deecb3715b2b4006edede2ab79e42e336/dx/tests/107-verify-stack-ops/op_dup2_x1_case2.class -------------------------------------------------------------------------------- /dx/tests/107-verify-stack-ops/op_dup2_x1_case3.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aosp-mirror/platform_dalvik/838bd34deecb3715b2b4006edede2ab79e42e336/dx/tests/107-verify-stack-ops/op_dup2_x1_case3.class -------------------------------------------------------------------------------- /dx/tests/107-verify-stack-ops/op_dup2_x2_case1.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aosp-mirror/platform_dalvik/838bd34deecb3715b2b4006edede2ab79e42e336/dx/tests/107-verify-stack-ops/op_dup2_x2_case1.class -------------------------------------------------------------------------------- /dx/tests/107-verify-stack-ops/op_dup2_x2_case2.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aosp-mirror/platform_dalvik/838bd34deecb3715b2b4006edede2ab79e42e336/dx/tests/107-verify-stack-ops/op_dup2_x2_case2.class -------------------------------------------------------------------------------- /dx/tests/107-verify-stack-ops/op_dup2_x2_case3.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aosp-mirror/platform_dalvik/838bd34deecb3715b2b4006edede2ab79e42e336/dx/tests/107-verify-stack-ops/op_dup2_x2_case3.class -------------------------------------------------------------------------------- /dx/tests/107-verify-stack-ops/op_dup_x1_case1.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aosp-mirror/platform_dalvik/838bd34deecb3715b2b4006edede2ab79e42e336/dx/tests/107-verify-stack-ops/op_dup_x1_case1.class -------------------------------------------------------------------------------- /dx/tests/107-verify-stack-ops/op_dup_x1_case2.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aosp-mirror/platform_dalvik/838bd34deecb3715b2b4006edede2ab79e42e336/dx/tests/107-verify-stack-ops/op_dup_x1_case2.class -------------------------------------------------------------------------------- /dx/tests/107-verify-stack-ops/op_dup_x2_case1.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aosp-mirror/platform_dalvik/838bd34deecb3715b2b4006edede2ab79e42e336/dx/tests/107-verify-stack-ops/op_dup_x2_case1.class -------------------------------------------------------------------------------- /dx/tests/107-verify-stack-ops/op_dup_x2_case2.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aosp-mirror/platform_dalvik/838bd34deecb3715b2b4006edede2ab79e42e336/dx/tests/107-verify-stack-ops/op_dup_x2_case2.class -------------------------------------------------------------------------------- /dx/tests/107-verify-stack-ops/op_dup_x2_case3.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aosp-mirror/platform_dalvik/838bd34deecb3715b2b4006edede2ab79e42e336/dx/tests/107-verify-stack-ops/op_dup_x2_case3.class -------------------------------------------------------------------------------- /dx/tests/107-verify-stack-ops/op_pop.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aosp-mirror/platform_dalvik/838bd34deecb3715b2b4006edede2ab79e42e336/dx/tests/107-verify-stack-ops/op_pop.class -------------------------------------------------------------------------------- /dx/tests/107-verify-stack-ops/op_pop2.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aosp-mirror/platform_dalvik/838bd34deecb3715b2b4006edede2ab79e42e336/dx/tests/107-verify-stack-ops/op_pop2.class -------------------------------------------------------------------------------- /dx/tests/107-verify-stack-ops/op_swap_case1.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aosp-mirror/platform_dalvik/838bd34deecb3715b2b4006edede2ab79e42e336/dx/tests/107-verify-stack-ops/op_swap_case1.class -------------------------------------------------------------------------------- /dx/tests/107-verify-stack-ops/op_swap_case2.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aosp-mirror/platform_dalvik/838bd34deecb3715b2b4006edede2ab79e42e336/dx/tests/107-verify-stack-ops/op_swap_case2.class -------------------------------------------------------------------------------- /dx/tests/108-string-annotation/Blort.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aosp-mirror/platform_dalvik/838bd34deecb3715b2b4006edede2ab79e42e336/dx/tests/108-string-annotation/Blort.class -------------------------------------------------------------------------------- /dx/tests/108-string-annotation/Fizmo.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aosp-mirror/platform_dalvik/838bd34deecb3715b2b4006edede2ab79e42e336/dx/tests/108-string-annotation/Fizmo.class -------------------------------------------------------------------------------- /dx/tests/108-string-annotation/Frotz.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aosp-mirror/platform_dalvik/838bd34deecb3715b2b4006edede2ab79e42e336/dx/tests/108-string-annotation/Frotz.class -------------------------------------------------------------------------------- /dx/tests/108-string-annotation/expected.txt: -------------------------------------------------------------------------------- 1 | 2 | elements[0]: 3 | name 4 | value: utf8 grue 5 | 6 | elements[0]: 7 | names 8 | value: array {gruesome} 9 | 10 | elements[0]: 11 | names 12 | value: array {awful, awesome} 13 | -------------------------------------------------------------------------------- /dx/tests/108-string-annotation/info.txt: -------------------------------------------------------------------------------- 1 | This is a smoke test of dex conversion, which checks to see that 2 | string annotations get represented reasonably. 3 | 4 | This test compares emitted code against a known-good (via eyeballing) 5 | version, so it is possible for this test to spuriously fail if other 6 | aspects of conversion end up altering the output in innocuous ways. 7 | -------------------------------------------------------------------------------- /dx/tests/109-int-branch/blort.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aosp-mirror/platform_dalvik/838bd34deecb3715b2b4006edede2ab79e42e336/dx/tests/109-int-branch/blort.class -------------------------------------------------------------------------------- /dx/tests/109-int-branch/build: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | # 3 | # Copyright (C) 2017 The Android Open Source Project 4 | # 5 | # Licensed under the Apache License, Version 2.0 (the "License"); 6 | # you may not use this file except in compliance with the License. 7 | # You may obtain a copy of the License at 8 | # 9 | # http://www.apache.org/licenses/LICENSE-2.0 10 | # 11 | # Unless required by applicable law or agreed to in writing, software 12 | # distributed under the License is distributed on an "AS IS" BASIS, 13 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 14 | # See the License for the specific language governing permissions and 15 | # limitations under the License. 16 | 17 | jasmin -d . blort.j 18 | -------------------------------------------------------------------------------- /dx/tests/109-int-branch/info.txt: -------------------------------------------------------------------------------- 1 | This tests that an int branch with valid arguments is properly translated. 2 | (Regression test.) 3 | 4 | This test compares emitted code against a known-good (via eyeballing) 5 | version, so it is possible for this test to spuriously fail if other 6 | aspects of conversion end up altering the output in innocuous ways. 7 | -------------------------------------------------------------------------------- /dx/tests/110-dex-preserve-this/Blort.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aosp-mirror/platform_dalvik/838bd34deecb3715b2b4006edede2ab79e42e336/dx/tests/110-dex-preserve-this/Blort.class -------------------------------------------------------------------------------- /dx/tests/110-dex-preserve-this/expected.txt: -------------------------------------------------------------------------------- 1 | this: v4 2 | -------------------------------------------------------------------------------- /dx/tests/110-dex-preserve-this/info.txt: -------------------------------------------------------------------------------- 1 | This is a smoke test of dex conversion, which checks to see that a 2 | "this" argument is never reused for a temporary. (Background: Popular 3 | debuggers will get confused if "this" is reused, and it arguably 4 | should be the case that the target object of an instance method being 5 | executed ought never be gc'ed anyway, and overwriting "this" could in 6 | fact cause that to happen.) 7 | 8 | This test compares emitted code against a known-good (via eyeballing) 9 | version, so it is possible for this test to spuriously fail if other 10 | aspects of conversion end up altering the output in innocuous ways. 11 | -------------------------------------------------------------------------------- /dx/tests/111-use-null-as-array/Blort.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aosp-mirror/platform_dalvik/838bd34deecb3715b2b4006edede2ab79e42e336/dx/tests/111-use-null-as-array/Blort.class -------------------------------------------------------------------------------- /dx/tests/111-use-null-as-array/multidimensional.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aosp-mirror/platform_dalvik/838bd34deecb3715b2b4006edede2ab79e42e336/dx/tests/111-use-null-as-array/multidimensional.class -------------------------------------------------------------------------------- /dx/tests/112-dex-return-jsr-result/blort.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aosp-mirror/platform_dalvik/838bd34deecb3715b2b4006edede2ab79e42e336/dx/tests/112-dex-return-jsr-result/blort.class -------------------------------------------------------------------------------- /dx/tests/112-dex-return-jsr-result/expected.txt: -------------------------------------------------------------------------------- 1 | total invokes: 2 2 | -------------------------------------------------------------------------------- /dx/tests/112-dex-return-jsr-result/info.txt: -------------------------------------------------------------------------------- 1 | This test checks to make sure a result returned more-or-less directly 2 | from a jsr subroutine ends up being represented appropriately. 3 | 4 | In particular, this is a regression test for a bug which caused a 5 | goto instruction to be interposed between an invoke instruction and 6 | its associated move-result. 7 | -------------------------------------------------------------------------------- /dx/tests/113-old-style-inner-class/Blort$1.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aosp-mirror/platform_dalvik/838bd34deecb3715b2b4006edede2ab79e42e336/dx/tests/113-old-style-inner-class/Blort$1.class -------------------------------------------------------------------------------- /dx/tests/113-old-style-inner-class/Blort$2.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aosp-mirror/platform_dalvik/838bd34deecb3715b2b4006edede2ab79e42e336/dx/tests/113-old-style-inner-class/Blort$2.class -------------------------------------------------------------------------------- /dx/tests/113-old-style-inner-class/Blort.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aosp-mirror/platform_dalvik/838bd34deecb3715b2b4006edede2ab79e42e336/dx/tests/113-old-style-inner-class/Blort.class -------------------------------------------------------------------------------- /dx/tests/113-old-style-inner-class/expected.txt: -------------------------------------------------------------------------------- 1 | warning: 2 | warning: 3 | -------------------------------------------------------------------------------- /dx/tests/113-old-style-inner-class/info.txt: -------------------------------------------------------------------------------- 1 | This is a smoke test of dex conversion, which makes sure that 2 | converstion of old-style anonymous inner classes (whose representation 3 | is information-lossy) causes a warning to be issued. 4 | -------------------------------------------------------------------------------- /dx/tests/114-value-propagation/blort.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aosp-mirror/platform_dalvik/838bd34deecb3715b2b4006edede2ab79e42e336/dx/tests/114-value-propagation/blort.class -------------------------------------------------------------------------------- /dx/tests/114-value-propagation/build: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | # 3 | # Copyright (C) 2017 The Android Open Source Project 4 | # 5 | # Licensed under the Apache License, Version 2.0 (the "License"); 6 | # you may not use this file except in compliance with the License. 7 | # You may obtain a copy of the License at 8 | # 9 | # http://www.apache.org/licenses/LICENSE-2.0 10 | # 11 | # Unless required by applicable law or agreed to in writing, software 12 | # distributed under the License is distributed on an "AS IS" BASIS, 13 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 14 | # See the License for the specific language governing permissions and 15 | # limitations under the License. 16 | 17 | jasmin -d . blort.j 18 | -------------------------------------------------------------------------------- /dx/tests/114-value-propagation/expected.txt: -------------------------------------------------------------------------------- 1 | blort.j:@0000: const-int(99) v1:I=99 <- . 2 | blort.j:@0002: move-int v0:I=99 <- v1:I=99 3 | -------------------------------------------------------------------------------- /dx/tests/114-value-propagation/info.txt: -------------------------------------------------------------------------------- 1 | Tests propagation of constant values, specifically when going from a 2 | stack location to a local variable. (regression test) 3 | -------------------------------------------------------------------------------- /dx/tests/115-merge/expected.txt: -------------------------------------------------------------------------------- 1 | Yay! 2 | -------------------------------------------------------------------------------- /dx/tests/115-merge/info.txt: -------------------------------------------------------------------------------- 1 | Merges two dex files into one and then loads the result. 2 | 3 | Because it loads the merged dex files, this JUnit test only works on a dalvikvm. 4 | The run script requires vogar, so you must have vogar on your $PATH to run this 5 | test. You'll also need a device or host VM for vogar to attach to. 6 | 7 | -------------------------------------------------------------------------------- /dx/tests/115-merge/testdata/Basic.java: -------------------------------------------------------------------------------- 1 | package testdata; 2 | 3 | public class Basic { 4 | 5 | String field = "this is a field"; 6 | 7 | String method() { 8 | return "this is a method result"; 9 | } 10 | } 11 | -------------------------------------------------------------------------------- /dx/tests/115-merge/testdata/FillArrayData.java: -------------------------------------------------------------------------------- 1 | package testdata; 2 | 3 | public class FillArrayData { 4 | 5 | public static byte[] newByteArray() { 6 | return new byte[] { 0, 1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89, -112, -23, 121 }; 7 | } 8 | 9 | public static char[] newCharArray() { 10 | return new char[] { 0xFFFF, 0x4321, 0xABCD, 0, 'a', 'b', 'c' }; 11 | } 12 | 13 | public static long[] newLongArray() { 14 | return new long[] { 4660046610375530309L, 7540113804746346429L, -6246583658587674878L }; 15 | } 16 | } 17 | -------------------------------------------------------------------------------- /dx/tests/115-merge/testdata/StaticValues.java: -------------------------------------------------------------------------------- 1 | package testdata; 2 | 3 | public class StaticValues { 4 | public static final byte a = 1; 5 | public static final short b = 2; 6 | public static final char c = 'C'; 7 | public static final int d = 0xabcd1234; 8 | public static final long e = 4660046610375530309L; 9 | public static final float f = 0.5f; 10 | public static final double g = -0.25; 11 | public static final String h = "this is a String"; 12 | public static final Class i = String.class; 13 | public static final int[] j = { 0, 1 }; 14 | public static final String k = null; 15 | public static final boolean l = true; 16 | public static final boolean m = false; 17 | } 18 | -------------------------------------------------------------------------------- /dx/tests/116-leb128/com/android/dx/util/Leb128UtilsTest.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aosp-mirror/platform_dalvik/838bd34deecb3715b2b4006edede2ab79e42e336/dx/tests/116-leb128/com/android/dx/util/Leb128UtilsTest.class -------------------------------------------------------------------------------- /dx/tests/116-leb128/expected.txt: -------------------------------------------------------------------------------- 1 | Yay! 2 | -------------------------------------------------------------------------------- /dx/tests/116-leb128/info.txt: -------------------------------------------------------------------------------- 1 | Performs little endian operations. 2 | 3 | The run script requires vogar, so you must have vogar on your $PATH to run this 4 | test. You'll also need a device or host VM for vogar to attach to. 5 | 6 | -------------------------------------------------------------------------------- /dx/tests/117-modified-utf8/com/android/dx/util/Mutf8Test.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aosp-mirror/platform_dalvik/838bd34deecb3715b2b4006edede2ab79e42e336/dx/tests/117-modified-utf8/com/android/dx/util/Mutf8Test.class -------------------------------------------------------------------------------- /dx/tests/117-modified-utf8/expected.txt: -------------------------------------------------------------------------------- 1 | Yay! 2 | -------------------------------------------------------------------------------- /dx/tests/117-modified-utf8/info.txt: -------------------------------------------------------------------------------- 1 | Performs modified UTF-8 operations. 2 | 3 | The run script requires vogar, so you must have vogar on your $PATH to run this 4 | test. You'll also need a device or host VM for vogar to attach to. 5 | 6 | -------------------------------------------------------------------------------- /dx/tests/118-find-usages/Foo$MyList.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aosp-mirror/platform_dalvik/838bd34deecb3715b2b4006edede2ab79e42e336/dx/tests/118-find-usages/Foo$MyList.class -------------------------------------------------------------------------------- /dx/tests/118-find-usages/Foo.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aosp-mirror/platform_dalvik/838bd34deecb3715b2b4006edede2ab79e42e336/dx/tests/118-find-usages/Foo.class -------------------------------------------------------------------------------- /dx/tests/118-find-usages/expected.txt: -------------------------------------------------------------------------------- 1 | StreamTokenizer.nval 2 | LFoo;.readStreamTokenizerNval: field reference D.nval (iget-wide) 3 | LFoo;.writeStreamTokenizerNval: field reference D.nval (iput-wide) 4 | ArrayList.remove() 5 | LFoo;.callArrayListRemoveIndex: method reference Ljava/util/ArrayList;.remove(I) (invoke-virtual) 6 | LFoo;.callArrayListRemoveValue: method reference Ljava/util/ArrayList;.remove(Ljava/lang/Object;) (invoke-virtual) 7 | Collection.remove() 8 | String.valueOf() 9 | LFoo;.callStringValueOf: method reference Ljava/lang/String;.valueOf(I) (invoke-static) 10 | -------------------------------------------------------------------------------- /dx/tests/118-find-usages/info.txt: -------------------------------------------------------------------------------- 1 | Creates a .dex file and runs find usages on it to find references and declarations. 2 | 3 | The expected output assumes this bug has not yet been fixed: http://b/3366285 -------------------------------------------------------------------------------- /dx/tests/119-merge-conflict/expected.txt: -------------------------------------------------------------------------------- 1 | Yay! 2 | -------------------------------------------------------------------------------- /dx/tests/119-merge-conflict/info.txt: -------------------------------------------------------------------------------- 1 | Merges dex files with and without conflicts. 2 | 3 | The run script requires vogar, so you must have vogar on your $PATH to run this 4 | test. You'll also need a device or host VM for vogar to attach to. 5 | 6 | -------------------------------------------------------------------------------- /dx/tests/119-merge-conflict/testdata/A.java: -------------------------------------------------------------------------------- 1 | package testdata; 2 | 3 | public class A { 4 | String hello() { 5 | return "hello from A"; 6 | } 7 | } 8 | -------------------------------------------------------------------------------- /dx/tests/119-merge-conflict/testdata/B.java: -------------------------------------------------------------------------------- 1 | package testdata; 2 | 3 | public class B { 4 | public static void main(String[] args) { 5 | System.out.println(new A().hello()); 6 | } 7 | } 8 | -------------------------------------------------------------------------------- /dx/tests/121-sccp/Blort.debug.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aosp-mirror/platform_dalvik/838bd34deecb3715b2b4006edede2ab79e42e336/dx/tests/121-sccp/Blort.debug.class -------------------------------------------------------------------------------- /dx/tests/121-sccp/Blort.nodebug.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aosp-mirror/platform_dalvik/838bd34deecb3715b2b4006edede2ab79e42e336/dx/tests/121-sccp/Blort.nodebug.class -------------------------------------------------------------------------------- /dx/tests/121-sccp/info.txt: -------------------------------------------------------------------------------- 1 | This tests various aspects of the SCCP pass for correctness, and to 2 | ensure there aren't any regressions. 3 | 4 | This test compares emitted code against a known-good (via eyeballing) 5 | version, so it is possible for this test to spuriously fail if other 6 | aspects of conversion end up altering the output in innocuous ways. 7 | -------------------------------------------------------------------------------- /dx/tests/122-switch-with-high-register/Blort.debug.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aosp-mirror/platform_dalvik/838bd34deecb3715b2b4006edede2ab79e42e336/dx/tests/122-switch-with-high-register/Blort.debug.class -------------------------------------------------------------------------------- /dx/tests/122-switch-with-high-register/Blort.nodebug.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aosp-mirror/platform_dalvik/838bd34deecb3715b2b4006edede2ab79e42e336/dx/tests/122-switch-with-high-register/Blort.nodebug.class -------------------------------------------------------------------------------- /dx/tests/122-switch-with-high-register/info.txt: -------------------------------------------------------------------------------- 1 | This test ensures that dx correctly handles switches on data in a high 2 | register (>v255) 3 | 4 | This test compares emitted code against a known-good (via eyeballing) 5 | version, so it is possible for this test to spuriously fail if other 6 | aspects of conversion end up altering the output in innocuous ways. 7 | -------------------------------------------------------------------------------- /dx/tests/123-dex-transform-invalid-virtual-to-direct/Zorch.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aosp-mirror/platform_dalvik/838bd34deecb3715b2b4006edede2ab79e42e336/dx/tests/123-dex-transform-invalid-virtual-to-direct/Zorch.class -------------------------------------------------------------------------------- /dx/tests/123-dex-transform-invalid-virtual-to-direct/expected.txt: -------------------------------------------------------------------------------- 1 | Zorch.zorch1:()V: 2 | regs: 0004; ins: 0001; outs: 0002 3 | 0000: move-object v0, v3 4 | 0001: move-object v1, v0 5 | 0002: const/4 v2, #int 0 // #0 6 | 0003: invoke-direct {v1, v2}, Zorch.zorch2:(I)I 7 | 0006: move-result v1 8 | 0007: return-void 9 | -------------------------------------------------------------------------------- /dx/tests/123-dex-transform-invalid-virtual-to-direct/info.txt: -------------------------------------------------------------------------------- 1 | This test checks that we convert invoke-virtual calls to private 2 | methods with invoke-direct calls. 3 | 4 | The Zorch.class file is manually created by compiling Zorch.java 5 | with java6 and manually editing the file to replace the opcode at 6 | position 0xE9 with 0xB6 (invokevirtual) instead of 0xB7 (invokespecial). 7 | 8 | This test compares emitted code against a known-good (via eyeballing) 9 | version, so it is possible for this test to spuriously fail if other 10 | aspects of conversion end up altering the output in innocuous ways. 11 | -------------------------------------------------------------------------------- /dx/tests/124-multidex-option-no-overflow/expected.txt: -------------------------------------------------------------------------------- 1 | classes.dex 2 | -------------------------------------------------------------------------------- /dx/tests/124-multidex-option-no-overflow/info.txt: -------------------------------------------------------------------------------- 1 | Test that dx generates one dex file when the dex index do not exceed limits and --multi-dex option 2 | is given. 3 | -------------------------------------------------------------------------------- /dx/tests/125-main-dex-list/classes/testdata/InMainDex.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aosp-mirror/platform_dalvik/838bd34deecb3715b2b4006edede2ab79e42e336/dx/tests/125-main-dex-list/classes/testdata/InMainDex.class -------------------------------------------------------------------------------- /dx/tests/125-main-dex-list/classes/testdata/InSecondaryDex.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aosp-mirror/platform_dalvik/838bd34deecb3715b2b4006edede2ab79e42e336/dx/tests/125-main-dex-list/classes/testdata/InSecondaryDex.class -------------------------------------------------------------------------------- /dx/tests/125-main-dex-list/com/android/dx/multidex/MainDexListTest.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aosp-mirror/platform_dalvik/838bd34deecb3715b2b4006edede2ab79e42e336/dx/tests/125-main-dex-list/com/android/dx/multidex/MainDexListTest.class -------------------------------------------------------------------------------- /dx/tests/125-main-dex-list/expected.txt: -------------------------------------------------------------------------------- 1 | Yay! 2 | -------------------------------------------------------------------------------- /dx/tests/125-main-dex-list/info.txt: -------------------------------------------------------------------------------- 1 | Instruct dx to build 2 dex files with specified classes in each dex file. Then run a test on 2 | dalvikvm loading the 2 dex files and checking the classes they contain. 3 | -------------------------------------------------------------------------------- /dx/tests/125-main-dex-list/main.list: -------------------------------------------------------------------------------- 1 | testdata/InMainDex.class -------------------------------------------------------------------------------- /dx/tests/126-main-dex-list-one-dex/classes/testdata/InMainDex.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aosp-mirror/platform_dalvik/838bd34deecb3715b2b4006edede2ab79e42e336/dx/tests/126-main-dex-list-one-dex/classes/testdata/InMainDex.class -------------------------------------------------------------------------------- /dx/tests/126-main-dex-list-one-dex/classes/testdata/InSecondaryDex.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aosp-mirror/platform_dalvik/838bd34deecb3715b2b4006edede2ab79e42e336/dx/tests/126-main-dex-list-one-dex/classes/testdata/InSecondaryDex.class -------------------------------------------------------------------------------- /dx/tests/126-main-dex-list-one-dex/expected.txt: -------------------------------------------------------------------------------- 1 | classes.dex 2 | -------------------------------------------------------------------------------- /dx/tests/126-main-dex-list-one-dex/info.txt: -------------------------------------------------------------------------------- 1 | Run dx with both options --multi-dex --main-dex-list, verify that only one dex is generated when 2 | indices do not overflow. -------------------------------------------------------------------------------- /dx/tests/126-main-dex-list-one-dex/main.list: -------------------------------------------------------------------------------- 1 | testdata/InMainDex.class -------------------------------------------------------------------------------- /dx/tests/127-merge-stress/com/android/dx/merge/MergeTest$MergeTask.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aosp-mirror/platform_dalvik/838bd34deecb3715b2b4006edede2ab79e42e336/dx/tests/127-merge-stress/com/android/dx/merge/MergeTest$MergeTask.class -------------------------------------------------------------------------------- /dx/tests/127-merge-stress/com/android/dx/merge/MergeTest.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aosp-mirror/platform_dalvik/838bd34deecb3715b2b4006edede2ab79e42e336/dx/tests/127-merge-stress/com/android/dx/merge/MergeTest.class -------------------------------------------------------------------------------- /dx/tests/127-merge-stress/expected.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aosp-mirror/platform_dalvik/838bd34deecb3715b2b4006edede2ab79e42e336/dx/tests/127-merge-stress/expected.txt -------------------------------------------------------------------------------- /dx/tests/127-merge-stress/info.txt: -------------------------------------------------------------------------------- 1 | This test tries to merge dex files it finds in the android tree at random, 2 by 2. 2 | -------------------------------------------------------------------------------- /dx/tests/128-multidex-option-overflow/classes/FillerField.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aosp-mirror/platform_dalvik/838bd34deecb3715b2b4006edede2ab79e42e336/dx/tests/128-multidex-option-overflow/classes/FillerField.class -------------------------------------------------------------------------------- /dx/tests/128-multidex-option-overflow/classes/FillerMethod.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aosp-mirror/platform_dalvik/838bd34deecb3715b2b4006edede2ab79e42e336/dx/tests/128-multidex-option-overflow/classes/FillerMethod.class -------------------------------------------------------------------------------- /dx/tests/128-multidex-option-overflow/classes/FillerStatic.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aosp-mirror/platform_dalvik/838bd34deecb3715b2b4006edede2ab79e42e336/dx/tests/128-multidex-option-overflow/classes/FillerStatic.class -------------------------------------------------------------------------------- /dx/tests/128-multidex-option-overflow/expected.txt: -------------------------------------------------------------------------------- 1 | classes2.dex 2 | classes3.dex 3 | classes.dex 4 | -------------------------------------------------------------------------------- /dx/tests/128-multidex-option-overflow/info.txt: -------------------------------------------------------------------------------- 1 | Test that dx generates several dex files when the application exceeds more 2 | than 65536 fields and --multi-dex option is given. 3 | -------------------------------------------------------------------------------- /dx/tests/129-numthread-deterministic/expected.txt: -------------------------------------------------------------------------------- 1 | Yay! 2 | -------------------------------------------------------------------------------- /dx/tests/129-numthread-deterministic/info.txt: -------------------------------------------------------------------------------- 1 | Test that dx generates deterministic output when using --num-threads 2 | 3 | -------------------------------------------------------------------------------- /dx/tests/130-numthread-multidex-deterministic/expected.txt: -------------------------------------------------------------------------------- 1 | Yay! 2 | -------------------------------------------------------------------------------- /dx/tests/130-numthread-multidex-deterministic/info.txt: -------------------------------------------------------------------------------- 1 | Test that dx generates deterministic output when using --num-threads 2 | 3 | -------------------------------------------------------------------------------- /dx/tests/131-perf/expected.txt: -------------------------------------------------------------------------------- 1 | 1000 / 1000 2 | Yay! 3 | -------------------------------------------------------------------------------- /dx/tests/131-perf/info.txt: -------------------------------------------------------------------------------- 1 | Script for --multi-dex --num-threads performance testing, default just test options can be used together 2 | 3 | -------------------------------------------------------------------------------- /dx/tests/132-invoke-polymorphic/TestInvokePolymorphic.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aosp-mirror/platform_dalvik/838bd34deecb3715b2b4006edede2ab79e42e336/dx/tests/132-invoke-polymorphic/TestInvokePolymorphic.class -------------------------------------------------------------------------------- /dx/tests/132-invoke-polymorphic/info.txt: -------------------------------------------------------------------------------- 1 | This test checks the conversion of signature-polymorphic methods 2 | invoked with invoke-virtual/invoke-virtual-range are converted to 3 | invoke-polymorphic/invoke-polymorphic-range. 4 | -------------------------------------------------------------------------------- /dx/tests/133-source-debug-extension/HelloKt.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aosp-mirror/platform_dalvik/838bd34deecb3715b2b4006edede2ab79e42e336/dx/tests/133-source-debug-extension/HelloKt.class -------------------------------------------------------------------------------- /dx/tests/133-source-debug-extension/expected.txt: -------------------------------------------------------------------------------- 1 | 1c1 2 | < SourceDebugExtension 3 | --- 4 | > (Ldalvik/annotation/SourceDebugExtension; 5 | -------------------------------------------------------------------------------- /dx/tests/133-source-debug-extension/info.txt: -------------------------------------------------------------------------------- 1 | This test checks that SourceDebugExtension information propagates from 2 | the class file to the DEX file emitted by dx. It extracts SMAP information 3 | from the class file and DEX file and checks the strings match. 4 | 5 | NB dalvik/dexdump does not have support for DEX annotations so the test 6 | just checks that the SMAP string appears in the DEX file and assumes 7 | it is packaged within an annotation. 8 | -------------------------------------------------------------------------------- /dx/tests/134-maindexlist-lambdas/classes/lambda/A.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aosp-mirror/platform_dalvik/838bd34deecb3715b2b4006edede2ab79e42e336/dx/tests/134-maindexlist-lambdas/classes/lambda/A.class -------------------------------------------------------------------------------- /dx/tests/134-maindexlist-lambdas/classes/lambda/B.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aosp-mirror/platform_dalvik/838bd34deecb3715b2b4006edede2ab79e42e336/dx/tests/134-maindexlist-lambdas/classes/lambda/B.class -------------------------------------------------------------------------------- /dx/tests/134-maindexlist-lambdas/expected.txt: -------------------------------------------------------------------------------- 1 | lambda/A.class 2 | lambda/B.class 3 | -------------------------------------------------------------------------------- /dx/tests/134-maindexlist-lambdas/info.txt: -------------------------------------------------------------------------------- 1 | This test that MainDexListBuilder can run on class files with InvokeDynamic, 2 | MethodType and MethodHandle entries in the constant pool. 3 | -------------------------------------------------------------------------------- /dx/tests/134-maindexlist-lambdas/lambda/A.java: -------------------------------------------------------------------------------- 1 | package lambda; 2 | 3 | public class A { 4 | 5 | public static void main(String[] args) { 6 | new A().run(new B()::doIt); 7 | new A().run(B::doItStatic); 8 | } 9 | 10 | public void run(Runnable todo) { 11 | todo.run(); 12 | } 13 | 14 | } 15 | -------------------------------------------------------------------------------- /dx/tests/134-maindexlist-lambdas/lambda/B.java: -------------------------------------------------------------------------------- 1 | package lambda; 2 | 3 | public class B { 4 | 5 | public void doIt() {} 6 | public static void doItStatic() {} 7 | 8 | } 9 | -------------------------------------------------------------------------------- /dx/tests/135-invoke-custom/info.txt: -------------------------------------------------------------------------------- 1 | This test checks the conversion of invokedynamic in classfiles to 2 | invoke-custom in DEX files. 3 | 4 | When modifying this test please ensure that the following produce the same output: 5 | $ art -cp invokecustom.dex invokecustom.InvokeCustom 6 | $ ${JAVA} -cp invokecustom.jar invokecustom.InvokeCustom 7 | -------------------------------------------------------------------------------- /dx/tests/135-invoke-custom/invokecustom.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aosp-mirror/platform_dalvik/838bd34deecb3715b2b4006edede2ab79e42e336/dx/tests/135-invoke-custom/invokecustom.jar -------------------------------------------------------------------------------- /dx/tests/136-null-constant-debug-info/NullConstant.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aosp-mirror/platform_dalvik/838bd34deecb3715b2b4006edede2ab79e42e336/dx/tests/136-null-constant-debug-info/NullConstant.class -------------------------------------------------------------------------------- /dx/tests/136-null-constant-debug-info/expected.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aosp-mirror/platform_dalvik/838bd34deecb3715b2b4006edede2ab79e42e336/dx/tests/136-null-constant-debug-info/expected.txt -------------------------------------------------------------------------------- /dx/tests/136-null-constant-debug-info/info.txt: -------------------------------------------------------------------------------- 1 | This is a non-regression test that reproduces a case where a local variable 2 | would have the java.lang.Object type because of a null constant. 3 | The type of the local variable would be transformed from "KNOWN_NULL" to 4 | "java.lang.Object", but "java.lang.Object" wouldn't be added to the types of 5 | the dex. 6 | So in the rare case where java.lang.Object wouldn't be referenced anywhere else 7 | in the compilation unit it would fail with "java.lang.IllegalArgumentException: 8 | not found: Ljava/lang/Object;" 9 | 10 | -------------------------------------------------------------------------------- /dx/tests/137-dexmerger-dex38/info.txt: -------------------------------------------------------------------------------- 1 | This test checks that dexmerger supports dex 38 features. 2 | -------------------------------------------------------------------------------- /dx/tests/137-dexmerger-dex38/invokecustom.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aosp-mirror/platform_dalvik/838bd34deecb3715b2b4006edede2ab79e42e336/dx/tests/137-dexmerger-dex38/invokecustom.jar -------------------------------------------------------------------------------- /dx/tests/138-invoke-polymorphic-again/Main.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aosp-mirror/platform_dalvik/838bd34deecb3715b2b4006edede2ab79e42e336/dx/tests/138-invoke-polymorphic-again/Main.class -------------------------------------------------------------------------------- /dx/tests/138-invoke-polymorphic-again/info.txt: -------------------------------------------------------------------------------- 1 | This tests the proper register preparation for invoke-polymorphic 2 | instructions. The test was written as the invoke-polymorphic bytecodes 3 | were mis-annotated in dx as having a return result. This led to a path 4 | that did not emit the necessary move instructions and the generated 5 | DEX file was rejected by ART. The issue was only visible when dx 6 | optimization was enabled, but the problem lay in the OutputFinisher 7 | register selection. 8 | -------------------------------------------------------------------------------- /dx/tests/139-lambda-metafactory/Consumer.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aosp-mirror/platform_dalvik/838bd34deecb3715b2b4006edede2ab79e42e336/dx/tests/139-lambda-metafactory/Consumer.class -------------------------------------------------------------------------------- /dx/tests/139-lambda-metafactory/Foo.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aosp-mirror/platform_dalvik/838bd34deecb3715b2b4006edede2ab79e42e336/dx/tests/139-lambda-metafactory/Foo.class -------------------------------------------------------------------------------- /dx/tests/139-lambda-metafactory/Main.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aosp-mirror/platform_dalvik/838bd34deecb3715b2b4006edede2ab79e42e336/dx/tests/139-lambda-metafactory/Main.class -------------------------------------------------------------------------------- /dx/tests/139-lambda-metafactory/info.txt: -------------------------------------------------------------------------------- 1 | Tests lambda metafactory constructs are convertible to DEX (b/63112734). 2 | -------------------------------------------------------------------------------- /dx/tests/140-ssa-phi-overlap/Test$1.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aosp-mirror/platform_dalvik/838bd34deecb3715b2b4006edede2ab79e42e336/dx/tests/140-ssa-phi-overlap/Test$1.class -------------------------------------------------------------------------------- /dx/tests/140-ssa-phi-overlap/Test$A.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aosp-mirror/platform_dalvik/838bd34deecb3715b2b4006edede2ab79e42e336/dx/tests/140-ssa-phi-overlap/Test$A.class -------------------------------------------------------------------------------- /dx/tests/140-ssa-phi-overlap/Test$B.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aosp-mirror/platform_dalvik/838bd34deecb3715b2b4006edede2ab79e42e336/dx/tests/140-ssa-phi-overlap/Test$B.class -------------------------------------------------------------------------------- /dx/tests/140-ssa-phi-overlap/Test$C.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aosp-mirror/platform_dalvik/838bd34deecb3715b2b4006edede2ab79e42e336/dx/tests/140-ssa-phi-overlap/Test$C.class -------------------------------------------------------------------------------- /dx/tests/140-ssa-phi-overlap/Test$X.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aosp-mirror/platform_dalvik/838bd34deecb3715b2b4006edede2ab79e42e336/dx/tests/140-ssa-phi-overlap/Test$X.class -------------------------------------------------------------------------------- /dx/tests/140-ssa-phi-overlap/Test.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aosp-mirror/platform_dalvik/838bd34deecb3715b2b4006edede2ab79e42e336/dx/tests/140-ssa-phi-overlap/Test.class -------------------------------------------------------------------------------- /dx/tests/140-ssa-phi-overlap/info.txt: -------------------------------------------------------------------------------- 1 | This test comes from jfuzz (b/63722269). The SSA optimizer was failing 2 | to identify interference between source and result registers for phi 3 | functions in the same basic block and generate a dex file with 4 | conflicting moves which was rejected by ART. 5 | -------------------------------------------------------------------------------- /dx/tests/141-invoke-polymorphic-varhandles/VarHandleDexTest.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aosp-mirror/platform_dalvik/838bd34deecb3715b2b4006edede2ab79e42e336/dx/tests/141-invoke-polymorphic-varhandles/VarHandleDexTest.class -------------------------------------------------------------------------------- /dx/tests/141-invoke-polymorphic-varhandles/info.txt: -------------------------------------------------------------------------------- 1 | This test checks the conversion of signature-polymorphic methods 2 | in the java.lang.invoke.VarHandle class. 3 | -------------------------------------------------------------------------------- /dx/tests/142-const-method-handle/classes/Main.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aosp-mirror/platform_dalvik/838bd34deecb3715b2b4006edede2ab79e42e336/dx/tests/142-const-method-handle/classes/Main.class -------------------------------------------------------------------------------- /dx/tests/142-const-method-handle/classes/constmethodhandle/ConstTest.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aosp-mirror/platform_dalvik/838bd34deecb3715b2b4006edede2ab79e42e336/dx/tests/142-const-method-handle/classes/constmethodhandle/ConstTest.class -------------------------------------------------------------------------------- /dx/tests/142-const-method-handle/classes/constmethodhandle/TestGenerator$1.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aosp-mirror/platform_dalvik/838bd34deecb3715b2b4006edede2ab79e42e336/dx/tests/142-const-method-handle/classes/constmethodhandle/TestGenerator$1.class -------------------------------------------------------------------------------- /dx/tests/142-const-method-handle/classes/constmethodhandle/TestGenerator.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aosp-mirror/platform_dalvik/838bd34deecb3715b2b4006edede2ab79e42e336/dx/tests/142-const-method-handle/classes/constmethodhandle/TestGenerator.class -------------------------------------------------------------------------------- /dx/tests/142-const-method-handle/constmethodhandle.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aosp-mirror/platform_dalvik/838bd34deecb3715b2b4006edede2ab79e42e336/dx/tests/142-const-method-handle/constmethodhandle.jar -------------------------------------------------------------------------------- /dx/tests/142-const-method-handle/expected.txt: -------------------------------------------------------------------------------- 1 | Trying SDK version 26 with const-method-handle. 2 | Trying SDK version 27 with const-method-handle. 3 | Trying SDK version 28 with const-method-handle. 4 | "dex\n039\0" 5 | const-method-handle v0, invoke-instance,method{java.lang.Object.getClass:()Ljava/lang/Class;} 6 | const-method-type v0, (CSIJFDLjava/lang/Object;)Z 7 | -------------------------------------------------------------------------------- /dx/tests/142-const-method-handle/info.txt: -------------------------------------------------------------------------------- 1 | This test checks the conversion of ldc with a MethodHandle operand 2 | and a MethodType operand. 3 | -------------------------------------------------------------------------------- /dx/tests/143-interface-methods/info.txt: -------------------------------------------------------------------------------- 1 | Tests that interface method invocation is permitted below API level 2 | 24, and interface method declaration is only permitted at level 24 3 | upwards. 4 | -------------------------------------------------------------------------------- /tools/dexdeps/etc/manifest.txt: -------------------------------------------------------------------------------- 1 | Main-Class: com.android.dexdeps.Main 2 | --------------------------------------------------------------------------------