diff options
author | The Android Open Source Project <initial-contribution@android.com> | 2009-03-03 18:28:14 -0800 |
---|---|---|
committer | The Android Open Source Project <initial-contribution@android.com> | 2009-03-03 18:28:14 -0800 |
commit | f72d5de56a522ac3be03873bdde26f23a5eeeb3c (patch) | |
tree | 4b825dc642cb6eb9a060e54bf8d69288fbee4904 /dx/tests | |
parent | 31e30105703263782efd450d356cd67ea01af3b7 (diff) | |
download | android_dalvik-f72d5de56a522ac3be03873bdde26f23a5eeeb3c.tar.gz android_dalvik-f72d5de56a522ac3be03873bdde26f23a5eeeb3c.tar.bz2 android_dalvik-f72d5de56a522ac3be03873bdde26f23a5eeeb3c.zip |
auto import from //depot/cupcake/@135843
Diffstat (limited to 'dx/tests')
617 files changed, 0 insertions, 23148 deletions
diff --git a/dx/tests/001-nop/expected.txt b/dx/tests/001-nop/expected.txt deleted file mode 100644 index d4a85ceab..000000000 --- a/dx/tests/001-nop/expected.txt +++ /dev/null @@ -1 +0,0 @@ -I am a jelly donut. diff --git a/dx/tests/001-nop/info.txt b/dx/tests/001-nop/info.txt deleted file mode 100644 index 9942f10da..000000000 --- a/dx/tests/001-nop/info.txt +++ /dev/null @@ -1,2 +0,0 @@ -This is a sample no-op test, which does at least serve to verify that the -test harness is working. diff --git a/dx/tests/001-nop/run b/dx/tests/001-nop/run deleted file mode 100644 index 51637c147..000000000 --- a/dx/tests/001-nop/run +++ /dev/null @@ -1,17 +0,0 @@ -#!/bin/bash -# -# Copyright (C) 2007 The Android Open Source Project -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -echo 'I am a jelly donut.' diff --git a/dx/tests/002-minimal-valid/expected.txt b/dx/tests/002-minimal-valid/expected.txt deleted file mode 100644 index 3877fb562..000000000 --- a/dx/tests/002-minimal-valid/expected.txt +++ /dev/null @@ -1,46 +0,0 @@ -reading small-class.txt... -begin classfile -magic: cafebabe -minor_version: 0000 -major_version: 002e -constant_pool_count: 000a - -constant_pool: - 0001: method{java.lang.Object.<init>:()V} - 0002: type{Small} - 0003: type{java.lang.Object} - 0004: utf8{"<init>"} - 0005: utf8{"()V"} - 0006: utf8{"Code"} - 0007: nat{<init>:()V} - 0008: utf8{"Small"} - 0009: utf8{"java/lang/Object"} -end constant_pool -access_flags: public|super -this_class: type{Small} -super_class: type{java.lang.Object} -interfaces_count: 0000 -fields_count: 0000 -methods_count: 0001 - -methods[0]: - access_flags: public - name: <init> - descriptor: ()V - attributes_count: 0001 - - attributes[0]: - name: Code - length: 00000011 - max_stack: 0001 - max_locals: 0001 - code_length: 00000005 - 0000: aload_0 // 00 - 0001: invokespecial method{java.lang.Object.<init>:()V} - 0004: return - exception_table_length: 0000 - attributes_count: 0000 - end attributes[0] -end methods[0] -attributes_count: 0000 -end classfile diff --git a/dx/tests/002-minimal-valid/info.txt b/dx/tests/002-minimal-valid/info.txt deleted file mode 100644 index f296af840..000000000 --- a/dx/tests/002-minimal-valid/info.txt +++ /dev/null @@ -1 +0,0 @@ -This is just a dump of a simple but valid class. diff --git a/dx/tests/002-minimal-valid/run b/dx/tests/002-minimal-valid/run deleted file mode 100644 index 16b775566..000000000 --- a/dx/tests/002-minimal-valid/run +++ /dev/null @@ -1,17 +0,0 @@ -#!/bin/bash -# -# Copyright (C) 2007 The Android Open Source Project -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -dx --debug --dump small-class.txt diff --git a/dx/tests/002-minimal-valid/small-class.txt b/dx/tests/002-minimal-valid/small-class.txt deleted file mode 100644 index 25a323fd6..000000000 --- a/dx/tests/002-minimal-valid/small-class.txt +++ /dev/null @@ -1,49 +0,0 @@ -# -# sample small-but-valid classfile -# - -cafe babe # magic -0000 # minor_version -002e # major_version -000a # constant_pool_count - -# -# constant_pool -# -0a 0003 0007 # 0001: method[0003, 0007] -07 0008 # 0002: class[0008] -07 0009 # 0003: class[0009] -01 0006 "<init>" # 0004: utf8["<init>"] -01 0003 "()V" # 0005: utf8["()V"] -01 0004 "Code" # 0006: utf8["Code"] -0c 0004 0005 # 0007: nat[0004, 0005] -01 0005 "Small" # 0008: utf8["Small"] -01 0010 "java/lang/Object" # 0009: utf8["java/lang/Object"] - -0021 # access_flags -0002 # this_class -0003 # super_class -0000 # interfaces_count -0000 # fields_count -0001 # methods_count - -# -# methods[0] -# -0001 # access_flags -0004 # name -0005 # descriptor -0001 # attributes_count -# attributes[0] -0006 # name -0000 0011 # length -0001 # max_stack -0001 # max_locals -0000 0005 # code_length -2a # 0000: aload_0 -b7 0001 # 0001: invokespecial method[java/lang/Object.<init>:()V] -b1 # 0004: return -0000 # exception_table_length -0000 # attributes_count - -0000 # attributes_count diff --git a/dx/tests/003-magic-version-access/class-bad-magic.txt b/dx/tests/003-magic-version-access/class-bad-magic.txt deleted file mode 100644 index f3c64bd0a..000000000 --- a/dx/tests/003-magic-version-access/class-bad-magic.txt +++ /dev/null @@ -1,25 +0,0 @@ -# -# classfile with a bad magic value -# - -dead babe # magic -0000 # minor_version -0031 # major_version -0005 # constant_pool_count - -# -# constant_pool -# -01 0005 "Small" # 0001: utf8["Small"] -01 0010 "java/lang/Object" # 0002: utf8["java/lang/Object"] -07 0001 # 0003: class[Small] -07 0002 # 0004: class[java/lang/Object] - -ffff # access_flags -0003 # this_class -0004 # super_class -0000 # interfaces_count -0000 # fields_count -0000 # methods_count - -0000 # attributes_count diff --git a/dx/tests/003-magic-version-access/class-version-44.0.txt b/dx/tests/003-magic-version-access/class-version-44.0.txt deleted file mode 100644 index 2d9055c61..000000000 --- a/dx/tests/003-magic-version-access/class-version-44.0.txt +++ /dev/null @@ -1,25 +0,0 @@ -# -# classfile with an out-of-range version. -# - -cafe babe # magic -0000 # minor_version -002c # major_version -0005 # constant_pool_count - -# -# constant_pool -# -01 0005 "Small" # 0001: utf8["Small"] -01 0010 "java/lang/Object" # 0002: utf8["java/lang/Object"] -07 0001 # 0003: class[Small] -07 0002 # 0004: class[java/lang/Object] - -ffff # access_flags -0003 # this_class -0004 # super_class -0000 # interfaces_count -0000 # fields_count -0000 # methods_count - -0000 # attributes_count diff --git a/dx/tests/003-magic-version-access/class-version-44.65535.txt b/dx/tests/003-magic-version-access/class-version-44.65535.txt deleted file mode 100644 index 0f2b5823f..000000000 --- a/dx/tests/003-magic-version-access/class-version-44.65535.txt +++ /dev/null @@ -1,25 +0,0 @@ -# -# classfile with an out-of-range version. -# - -cafe babe # magic -ffff # minor_version -002c # major_version -0005 # constant_pool_count - -# -# constant_pool -# -01 0005 "Small" # 0001: utf8["Small"] -01 0010 "java/lang/Object" # 0002: utf8["java/lang/Object"] -07 0001 # 0003: class[Small] -07 0002 # 0004: class[java/lang/Object] - -ffff # access_flags -0003 # this_class -0004 # super_class -0000 # interfaces_count -0000 # fields_count -0000 # methods_count - -0000 # attributes_count diff --git a/dx/tests/003-magic-version-access/class-version-45.0.txt b/dx/tests/003-magic-version-access/class-version-45.0.txt deleted file mode 100644 index 335079d9a..000000000 --- a/dx/tests/003-magic-version-access/class-version-45.0.txt +++ /dev/null @@ -1,25 +0,0 @@ -# -# classfile with the lowest valid version, 45.0 (0x2d.0x00) -# - -cafe babe # magic -0000 # minor_version -002d # major_version -0005 # constant_pool_count - -# -# constant_pool -# -01 0005 "Small" # 0001: utf8["Small"] -01 0010 "java/lang/Object" # 0002: utf8["java/lang/Object"] -07 0001 # 0003: class[Small] -07 0002 # 0004: class[java/lang/Object] - -ffff # access_flags -0003 # this_class -0004 # super_class -0000 # interfaces_count -0000 # fields_count -0000 # methods_count - -0000 # attributes_count diff --git a/dx/tests/003-magic-version-access/class-version-45.65535.txt b/dx/tests/003-magic-version-access/class-version-45.65535.txt deleted file mode 100644 index 2b3140423..000000000 --- a/dx/tests/003-magic-version-access/class-version-45.65535.txt +++ /dev/null @@ -1,25 +0,0 @@ -# -# classfile with the valid version 45.65535 (0x2d.0xffff) -# - -cafe babe # magic -ffff # minor_version -002d # major_version -0005 # constant_pool_count - -# -# constant_pool -# -01 0005 "Small" # 0001: utf8["Small"] -01 0010 "java/lang/Object" # 0002: utf8["java/lang/Object"] -07 0001 # 0003: class[Small] -07 0002 # 0004: class[java/lang/Object] - -ffff # access_flags -0003 # this_class -0004 # super_class -0000 # interfaces_count -0000 # fields_count -0000 # methods_count - -0000 # attributes_count diff --git a/dx/tests/003-magic-version-access/class-version-48.0.txt b/dx/tests/003-magic-version-access/class-version-48.0.txt deleted file mode 100644 index 551b221c1..000000000 --- a/dx/tests/003-magic-version-access/class-version-48.0.txt +++ /dev/null @@ -1,25 +0,0 @@ -# -# classfile with the valid version 48.0 (0x30.0x00) -# - -cafe babe # magic -0000 # minor_version -0030 # major_version -0005 # constant_pool_count - -# -# constant_pool -# -01 0005 "Small" # 0001: utf8["Small"] -01 0010 "java/lang/Object" # 0002: utf8["java/lang/Object"] -07 0001 # 0003: class[Small] -07 0002 # 0004: class[java/lang/Object] - -ffff # access_flags -0003 # this_class -0004 # super_class -0000 # interfaces_count -0000 # fields_count -0000 # methods_count - -0000 # attributes_count diff --git a/dx/tests/003-magic-version-access/class-version-48.65535.txt b/dx/tests/003-magic-version-access/class-version-48.65535.txt deleted file mode 100644 index ac95b52d9..000000000 --- a/dx/tests/003-magic-version-access/class-version-48.65535.txt +++ /dev/null @@ -1,25 +0,0 @@ -# -# classfile with the valid version 48.65535 (0x30.0xffff) -# - -cafe babe # magic -ffff # minor_version -0030 # major_version -0005 # constant_pool_count - -# -# constant_pool -# -01 0005 "Small" # 0001: utf8["Small"] -01 0010 "java/lang/Object" # 0002: utf8["java/lang/Object"] -07 0001 # 0003: class[Small] -07 0002 # 0004: class[java/lang/Object] - -ffff # access_flags -0003 # this_class -0004 # super_class -0000 # interfaces_count -0000 # fields_count -0000 # methods_count - -0000 # attributes_count diff --git a/dx/tests/003-magic-version-access/class-version-49.0.txt b/dx/tests/003-magic-version-access/class-version-49.0.txt deleted file mode 100644 index 0b30fcdbe..000000000 --- a/dx/tests/003-magic-version-access/class-version-49.0.txt +++ /dev/null @@ -1,25 +0,0 @@ -# -# classfile with the highest valid version, 49.0 (0x31.0x00) -# - -cafe babe # magic -0000 # minor_version -0031 # major_version -0005 # constant_pool_count - -# -# constant_pool -# -01 0005 "Small" # 0001: utf8["Small"] -01 0010 "java/lang/Object" # 0002: utf8["java/lang/Object"] -07 0001 # 0003: class[Small] -07 0002 # 0004: class[java/lang/Object] - -ffff # access_flags -0003 # this_class -0004 # super_class -0000 # interfaces_count -0000 # fields_count -0000 # methods_count - -0000 # attributes_count diff --git a/dx/tests/003-magic-version-access/class-version-49.1.txt b/dx/tests/003-magic-version-access/class-version-49.1.txt deleted file mode 100644 index 9eb477c98..000000000 --- a/dx/tests/003-magic-version-access/class-version-49.1.txt +++ /dev/null @@ -1,26 +0,0 @@ -# -# classfile with a minor version 1 higher than the highest valid -# version. 49.1 (0x31.0x01) -# - -cafe babe # magic -0001 # minor_version -0031 # major_version -0005 # constant_pool_count - -# -# constant_pool -# -01 0005 "Small" # 0001: utf8["Small"] -01 0010 "java/lang/Object" # 0002: utf8["java/lang/Object"] -07 0001 # 0003: class[Small] -07 0002 # 0004: class[java/lang/Object] - -ffff # access_flags -0003 # this_class -0004 # super_class -0000 # interfaces_count -0000 # fields_count -0000 # methods_count - -0000 # attributes_count diff --git a/dx/tests/003-magic-version-access/class-version-49.65535.txt b/dx/tests/003-magic-version-access/class-version-49.65535.txt deleted file mode 100644 index 668631b34..000000000 --- a/dx/tests/003-magic-version-access/class-version-49.65535.txt +++ /dev/null @@ -1,26 +0,0 @@ -# -# classfile with an invalid version, with the same major version -# as the highest valid version. 49.65535 (0x31.0xffff) -# - -cafe babe # magic -ffff # minor_version -0031 # major_version -0005 # constant_pool_count - -# -# constant_pool -# -01 0005 "Small" # 0001: utf8["Small"] -01 0010 "java/lang/Object" # 0002: utf8["java/lang/Object"] -07 0001 # 0003: class[Small] -07 0002 # 0004: class[java/lang/Object] - -ffff # access_flags -0003 # this_class -0004 # super_class -0000 # interfaces_count -0000 # fields_count -0000 # methods_count - -0000 # attributes_count diff --git a/dx/tests/003-magic-version-access/class-version-50.0.txt b/dx/tests/003-magic-version-access/class-version-50.0.txt deleted file mode 100644 index fa670775a..000000000 --- a/dx/tests/003-magic-version-access/class-version-50.0.txt +++ /dev/null @@ -1,26 +0,0 @@ -# -# classfile with an invalid version, with a higher major version -# than the highest valid version. 50.0 (0x32.0x00) -# - -cafe babe # magic -0000 # minor_version -0032 # major_version -0005 # constant_pool_count - -# -# constant_pool -# -01 0005 "Small" # 0001: utf8["Small"] -01 0010 "java/lang/Object" # 0002: utf8["java/lang/Object"] -07 0001 # 0003: class[Small] -07 0002 # 0004: class[java/lang/Object] - -ffff # access_flags -0003 # this_class -0004 # super_class -0000 # interfaces_count -0000 # fields_count -0000 # methods_count - -0000 # attributes_count diff --git a/dx/tests/003-magic-version-access/class-version-50.1.txt b/dx/tests/003-magic-version-access/class-version-50.1.txt deleted file mode 100644 index 9543be144..000000000 --- a/dx/tests/003-magic-version-access/class-version-50.1.txt +++ /dev/null @@ -1,26 +0,0 @@ -# -# classfile with an invalid version, with a higher major version -# than the highest valid version. 50.0 (0x32.0x00) -# - -cafe babe # magic -0001 # minor_version -0032 # major_version -0005 # constant_pool_count - -# -# constant_pool -# -01 0005 "Small" # 0001: utf8["Small"] -01 0010 "java/lang/Object" # 0002: utf8["java/lang/Object"] -07 0001 # 0003: class[Small] -07 0002 # 0004: class[java/lang/Object] - -ffff # access_flags -0003 # this_class -0004 # super_class -0000 # interfaces_count -0000 # fields_count -0000 # methods_count - -0000 # attributes_count diff --git a/dx/tests/003-magic-version-access/class-version-50.65535.txt b/dx/tests/003-magic-version-access/class-version-50.65535.txt deleted file mode 100644 index 9db1958fc..000000000 --- a/dx/tests/003-magic-version-access/class-version-50.65535.txt +++ /dev/null @@ -1,26 +0,0 @@ -# -# classfile with an invalid version, with a higher major version -# than the highest valid version. 50.0 (0x32.0x00) -# - -cafe babe # magic -ffff # minor_version -0032 # major_version -0005 # constant_pool_count - -# -# constant_pool -# -01 0005 "Small" # 0001: utf8["Small"] -01 0010 "java/lang/Object" # 0002: utf8["java/lang/Object"] -07 0001 # 0003: class[Small] -07 0002 # 0004: class[java/lang/Object] - -ffff # access_flags -0003 # this_class -0004 # super_class -0000 # interfaces_count -0000 # fields_count -0000 # methods_count - -0000 # attributes_count diff --git a/dx/tests/003-magic-version-access/class-version-51.0.txt b/dx/tests/003-magic-version-access/class-version-51.0.txt deleted file mode 100644 index 2ffb4cd16..000000000 --- a/dx/tests/003-magic-version-access/class-version-51.0.txt +++ /dev/null @@ -1,26 +0,0 @@ -# -# classfile with an invalid version, with a higher major version -# than the highest valid version. 50.0 (0x32.0x00) -# - -cafe babe # magic -0000 # minor_version -0033 # major_version -0005 # constant_pool_count - -# -# constant_pool -# -01 0005 "Small" # 0001: utf8["Small"] -01 0010 "java/lang/Object" # 0002: utf8["java/lang/Object"] -07 0001 # 0003: class[Small] -07 0002 # 0004: class[java/lang/Object] - -ffff # access_flags -0003 # this_class -0004 # super_class -0000 # interfaces_count -0000 # fields_count -0000 # methods_count - -0000 # attributes_count diff --git a/dx/tests/003-magic-version-access/expected.txt b/dx/tests/003-magic-version-access/expected.txt deleted file mode 100644 index a63292224..000000000 --- a/dx/tests/003-magic-version-access/expected.txt +++ /dev/null @@ -1,243 +0,0 @@ -reading class-bad-magic.txt... -begin classfile -magic: deadbabe -minor_version: 0000 -major_version: 0031 - -trouble parsing: -bad class file magic (deadbabe) or version (0031.0000) -...while parsing class-bad-magic.txt -reading class-version-44.0.txt... -begin classfile -magic: cafebabe -minor_version: 0000 -major_version: 002c - -trouble parsing: -bad class file magic (cafebabe) or version (002c.0000) -...while parsing class-version-44.0.txt -reading class-version-44.65535.txt... -begin classfile -magic: cafebabe -minor_version: ffff -major_version: 002c - -trouble parsing: -bad class file magic (cafebabe) or version (002c.ffff) -...while parsing class-version-44.65535.txt -reading class-version-45.0.txt... -begin classfile -magic: cafebabe -minor_version: 0000 -major_version: 002d -constant_pool_count: 0005 - -constant_pool: - 0001: utf8{"Small"} - 0002: utf8{"java/lang/Object"} - 0003: type{Small} - 0004: type{java.lang.Object} -end constant_pool -access_flags: public|final|super|interface|abstract|synthetic|annotation|enum|89ce -this_class: type{Small} -super_class: type{java.lang.Object} -interfaces_count: 0000 -fields_count: 0000 -methods_count: 0000 -attributes_count: 0000 -end classfile -reading class-version-45.65535.txt... -begin classfile -magic: cafebabe -minor_version: ffff -major_version: 002d -constant_pool_count: 0005 - -constant_pool: - 0001: utf8{"Small"} - 0002: utf8{"java/lang/Object"} - 0003: type{Small} - 0004: type{java.lang.Object} -end constant_pool -access_flags: public|final|super|interface|abstract|synthetic|annotation|enum|89ce -this_class: type{Small} -super_class: type{java.lang.Object} -interfaces_count: 0000 -fields_count: 0000 -methods_count: 0000 -attributes_count: 0000 -end classfile -reading class-version-48.0.txt... -begin classfile -magic: cafebabe -minor_version: 0000 -major_version: 0030 -constant_pool_count: 0005 - -constant_pool: - 0001: utf8{"Small"} - 0002: utf8{"java/lang/Object"} - 0003: type{Small} - 0004: type{java.lang.Object} -end constant_pool -access_flags: public|final|super|interface|abstract|synthetic|annotation|enum|89ce -this_class: type{Small} -super_class: type{java.lang.Object} -interfaces_count: 0000 -fields_count: 0000 -methods_count: 0000 -attributes_count: 0000 -end classfile -reading class-version-48.65535.txt... -begin classfile -magic: cafebabe -minor_version: ffff -major_version: 0030 -constant_pool_count: 0005 - -constant_pool: - 0001: utf8{"Small"} - 0002: utf8{"java/lang/Object"} - 0003: type{Small} - 0004: type{java.lang.Object} -end constant_pool -access_flags: public|final|super|interface|abstract|synthetic|annotation|enum|89ce -this_class: type{Small} -super_class: type{java.lang.Object} -interfaces_count: 0000 -fields_count: 0000 -methods_count: 0000 -attributes_count: 0000 -end classfile -reading class-version-49.0.txt... -begin classfile -magic: cafebabe -minor_version: 0000 -major_version: 0031 -constant_pool_count: 0005 - -constant_pool: - 0001: utf8{"Small"} - 0002: utf8{"java/lang/Object"} - 0003: type{Small} - 0004: type{java.lang.Object} -end constant_pool -access_flags: public|final|super|interface|abstract|synthetic|annotation|enum|89ce -this_class: type{Small} -super_class: type{java.lang.Object} -interfaces_count: 0000 -fields_count: 0000 -methods_count: 0000 -attributes_count: 0000 -end classfile -reading class-version-49.1.txt... -begin classfile -magic: cafebabe -minor_version: 0001 -major_version: 0031 -constant_pool_count: 0005 - -constant_pool: - 0001: utf8{"Small"} - 0002: utf8{"java/lang/Object"} - 0003: type{Small} - 0004: type{java.lang.Object} -end constant_pool -access_flags: public|final|super|interface|abstract|synthetic|annotation|enum|89ce -this_class: type{Small} -super_class: type{java.lang.Object} -interfaces_count: 0000 -fields_count: 0000 -methods_count: 0000 -attributes_count: 0000 -end classfile -reading class-version-49.65535.txt... -begin classfile -magic: cafebabe -minor_version: ffff -major_version: 0031 -constant_pool_count: 0005 - -constant_pool: - 0001: utf8{"Small"} - 0002: utf8{"java/lang/Object"} - 0003: type{Small} - 0004: type{java.lang.Object} -end constant_pool -access_flags: public|final|super|interface|abstract|synthetic|annotation|enum|89ce -this_class: type{Small} -super_class: type{java.lang.Object} -interfaces_count: 0000 -fields_count: 0000 -methods_count: 0000 -attributes_count: 0000 -end classfile -reading class-version-50.0.txt... -begin classfile -magic: cafebabe -minor_version: 0000 -major_version: 0032 -constant_pool_count: 0005 - -constant_pool: - 0001: utf8{"Small"} - 0002: utf8{"java/lang/Object"} - 0003: type{Small} - 0004: type{java.lang.Object} -end constant_pool -access_flags: public|final|super|interface|abstract|synthetic|annotation|enum|89ce -this_class: type{Small} -super_class: type{java.lang.Object} -interfaces_count: 0000 -fields_count: 0000 -methods_count: 0000 -attributes_count: 0000 -end classfile -reading class-version-50.1.txt... -begin classfile -magic: cafebabe -minor_version: 0001 -major_version: 0032 - -trouble parsing: -bad class file magic (cafebabe) or version (0032.0001) -...while parsing class-version-50.1.txt -reading class-version-50.65535.txt... -begin classfile -magic: cafebabe -minor_version: ffff -major_version: 0032 - -trouble parsing: -bad class file magic (cafebabe) or version (0032.ffff) -...while parsing class-version-50.65535.txt -reading class-version-51.0.txt... -begin classfile -magic: cafebabe -minor_version: 0000 -major_version: 0033 - -trouble parsing: -bad class file magic (cafebabe) or version (0033.0000) -...while parsing class-version-51.0.txt -reading small-class.txt... -begin classfile -magic: cafebabe -minor_version: 0000 -major_version: 0031 -constant_pool_count: 0005 - -constant_pool: - 0001: utf8{"Small"} - 0002: utf8{"java/lang/Object"} - 0003: type{Small} - 0004: type{java.lang.Object} -end constant_pool -access_flags: public|final|super|interface|abstract|synthetic|annotation|enum|89ce -this_class: type{Small} -super_class: type{java.lang.Object} -interfaces_count: 0000 -fields_count: 0000 -methods_count: 0000 -attributes_count: 0000 -end classfile diff --git a/dx/tests/003-magic-version-access/info.txt b/dx/tests/003-magic-version-access/info.txt deleted file mode 100644 index 4d6a697c1..000000000 --- a/dx/tests/003-magic-version-access/info.txt +++ /dev/null @@ -1,9 +0,0 @@ -This is a dump of a simple class which is valid in structure but is overall -invalid. That being said, the system should still have no trouble parsing and -dumping it. - -The salient bits of parsing tested here are: - -* magic number -* major / minor version numbers -* class access_flags diff --git a/dx/tests/003-magic-version-access/run b/dx/tests/003-magic-version-access/run deleted file mode 100644 index 24de48e8e..000000000 --- a/dx/tests/003-magic-version-access/run +++ /dev/null @@ -1,46 +0,0 @@ -#!/bin/bash -# -# Copyright (C) 2007 The Android Open Source Project -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -# The tests that don't specify "--debug" are expected to -# throw exceptions. If --debug is on we'll get a stack -# trace, which is unpredictable and doesn't work well with -# expected.txt vs. out.txt comparisons. - -# Bad magic (throws an expection) -dx --dump --strict class-bad-magic.txt - -# Too small (throws an exception) -dx --dump --strict class-version-44.0.txt -dx --dump --strict class-version-44.65535.txt - -# Just right -dx --debug --dump --width=100 class-version-45.0.txt -dx --debug --dump --width=100 class-version-45.65535.txt -dx --debug --dump --width=100 class-version-48.0.txt -dx --debug --dump --width=100 class-version-48.65535.txt -dx --debug --dump --width=100 class-version-49.0.txt -dx --debug --dump --width=100 class-version-49.1.txt -dx --debug --dump --width=100 class-version-49.65535.txt -dx --debug --dump --width=100 class-version-50.0.txt - -# Too big (throws an exception) -dx --dump --strict class-version-50.1.txt -dx --dump --strict class-version-50.65535.txt -dx --dump --strict class-version-51.0.txt - -# Show that we can dump the access flags even when they -# don't make any sense. -dx --debug --dump --width=100 small-class.txt diff --git a/dx/tests/003-magic-version-access/small-class.txt b/dx/tests/003-magic-version-access/small-class.txt deleted file mode 100644 index 3eb7402e9..000000000 --- a/dx/tests/003-magic-version-access/small-class.txt +++ /dev/null @@ -1,25 +0,0 @@ -# -# sample small-but-valid classfile -# - -cafe babe # magic -0000 # minor_version -0031 # major_version -0005 # constant_pool_count - -# -# constant_pool -# -01 0005 "Small" # 0001: utf8["Small"] -01 0010 "java/lang/Object" # 0002: utf8["java/lang/Object"] -07 0001 # 0003: class[Small] -07 0002 # 0004: class[java/lang/Object] - -ffff # access_flags -0003 # this_class -0004 # super_class -0000 # interfaces_count -0000 # fields_count -0000 # methods_count - -0000 # attributes_count diff --git a/dx/tests/004-cp-bottom-up/expected.txt b/dx/tests/004-cp-bottom-up/expected.txt deleted file mode 100644 index 4edbed51f..000000000 --- a/dx/tests/004-cp-bottom-up/expected.txt +++ /dev/null @@ -1,34 +0,0 @@ -reading small-class.txt... -begin classfile -magic: cafebabe -minor_version: 0000 -major_version: 002e -constant_pool_count: 0014 - -constant_pool: - 0001: utf8{"Small"} - 0002: utf8{"java/lang/Object"} - 0003: type{Small} - 0004: type{java.lang.Object} - 0005: utf8{"blort"} - 0006: utf8{"x/y/Zzz"} - 0007: utf8{"()V"} - 0008: nat{blort:x/y/Zzz} - 0009: nat{blort:()V} - 000a: field{Small.blort:x/y/Zzz} - 000b: method{Small.blort:()V} - 000c: ifaceMethod{Small.blort:()V} - 000d: string{"Small"} - 000e: int{0x12345678 / 305419896} - 000f: float{0x42f6e666 / 123.45} - 0010: long{0x123456789abcdef0 / 1311768467463790320} - 0012: double{0x411958955f8a0903 / 415269.3433} -end constant_pool -access_flags: public -this_class: type{Small} -super_class: type{java.lang.Object} -interfaces_count: 0000 -fields_count: 0000 -methods_count: 0000 -attributes_count: 0000 -end classfile diff --git a/dx/tests/004-cp-bottom-up/info.txt b/dx/tests/004-cp-bottom-up/info.txt deleted file mode 100644 index f78a6261b..000000000 --- a/dx/tests/004-cp-bottom-up/info.txt +++ /dev/null @@ -1,8 +0,0 @@ -This is a dump of a simple class which is valid in structure but is overall -invalid. That being said, the system should still have no trouble parsing and -dumping it. - -The salient bit of parsing tested here is that the constant pool contains -at least one valid entry of each possible constant pool type, and that -entries that are referred to by other entries always occur before the -referring entries. diff --git a/dx/tests/004-cp-bottom-up/run b/dx/tests/004-cp-bottom-up/run deleted file mode 100644 index 16b775566..000000000 --- a/dx/tests/004-cp-bottom-up/run +++ /dev/null @@ -1,17 +0,0 @@ -#!/bin/bash -# -# Copyright (C) 2007 The Android Open Source Project -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -dx --debug --dump small-class.txt diff --git a/dx/tests/004-cp-bottom-up/small-class.txt b/dx/tests/004-cp-bottom-up/small-class.txt deleted file mode 100644 index 8a68cbf61..000000000 --- a/dx/tests/004-cp-bottom-up/small-class.txt +++ /dev/null @@ -1,38 +0,0 @@ -# -# sample small-but-valid classfile -# - -cafe babe # magic -0000 # minor_version -002e # major_version -0014 # constant_pool_count - -# -# constant_pool -# -01 0005 "Small" # 0001: utf8["Small"] -01 0010 "java/lang/Object" # 0002: utf8["java/lang/Object"] -07 0001 # 0003: class[Small] -07 0002 # 0004: class[java/lang/Object] -01 0005 "blort" # 0005: utf8["blort"] -01 0007 "x/y/Zzz" # 0006: utf8["x/y/Zzz"] -01 0003 "()V" # 0007: utf8["()V"] -0c 0005 0006 # 0008: nat[blort:x/y/Zzz] -0c 0005 0007 # 0009: nat[blort:()V] -09 0003 0008 # 000a: field[Small.blort:x/y/Zzz] -0a 0003 0009 # 000b: method[Small.blort:()V] -0b 0003 0009 # 000c: ifaceMethod[Small.blort:()V] -08 0001 # 000d: string["Small"] -03 12345678 # 000e: integer[0x12345678] -04 42f6e666 # 000f: float[123.45] -05 12345678 9abcdef0 # 0010: long[0x1234567890abcdef0] -06 41195895 5f8a0903 # 0012: double[415269.3433] - -0001 # access_flags -0003 # this_class -0004 # super_class -0000 # interfaces_count -0000 # fields_count -0000 # methods_count - -0000 # attributes_count diff --git a/dx/tests/005-cp-top-down/expected.txt b/dx/tests/005-cp-top-down/expected.txt deleted file mode 100644 index 791b9da5f..000000000 --- a/dx/tests/005-cp-top-down/expected.txt +++ /dev/null @@ -1,34 +0,0 @@ -reading small-class.txt... -begin classfile -magic: cafebabe -minor_version: 0000 -major_version: 002e -constant_pool_count: 0014 - -constant_pool: - 0001: double{0x411958955f8a0903 / 415269.3433} - 0003: long{0x123456789abcdef0 / 1311768467463790320} - 0005: float{0x42f6e666 / 123.45} - 0006: int{0x12345678 / 305419896} - 0007: string{"Small"} - 0008: ifaceMethod{Small.blort:()V} - 0009: method{Small.blort:()V} - 000a: field{Small.blort:x/y/Zzz} - 000b: nat{blort:()V} - 000c: nat{blort:x/y/Zzz} - 000d: utf8{"()V"} - 000e: utf8{"x/y/Zzz"} - 000f: utf8{"blort"} - 0010: type{java.lang.Object} - 0011: type{Small} - 0012: utf8{"java/lang/Object"} - 0013: utf8{"Small"} -end constant_pool -access_flags: public -this_class: type{Small} -super_class: type{java.lang.Object} -interfaces_count: 0000 -fields_count: 0000 -methods_count: 0000 -attributes_count: 0000 -end classfile diff --git a/dx/tests/005-cp-top-down/info.txt b/dx/tests/005-cp-top-down/info.txt deleted file mode 100644 index 5842fb32c..000000000 --- a/dx/tests/005-cp-top-down/info.txt +++ /dev/null @@ -1,8 +0,0 @@ -This is a dump of a simple class which is valid in structure but is overall -invalid. That being said, the system should still have no trouble parsing and -dumping it. - -The salient bit of parsing tested here is that the constant pool contains -at least one valid entry of each possible constant pool type, and that -entries that are referred to by other entries always occur after the -referring entries. diff --git a/dx/tests/005-cp-top-down/run b/dx/tests/005-cp-top-down/run deleted file mode 100644 index 16b775566..000000000 --- a/dx/tests/005-cp-top-down/run +++ /dev/null @@ -1,17 +0,0 @@ -#!/bin/bash -# -# Copyright (C) 2007 The Android Open Source Project -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -dx --debug --dump small-class.txt diff --git a/dx/tests/005-cp-top-down/small-class.txt b/dx/tests/005-cp-top-down/small-class.txt deleted file mode 100644 index a681f657e..000000000 --- a/dx/tests/005-cp-top-down/small-class.txt +++ /dev/null @@ -1,38 +0,0 @@ -# -# sample small-but-valid classfile -# - -cafe babe # magic -0000 # minor_version -002e # major_version -0014 # constant_pool_count - -# -# constant_pool -# -06 41195895 5f8a0903 # 0001: double[415269.3433] -05 12345678 9abcdef0 # 0003: long[0x1234567890abcdef0] -04 42f6e666 # 0005: float[123.45] -03 12345678 # 0006: integer[0x12345678] -08 0013 # 0007: string["Small"] -0b 0011 000b # 0008: ifaceMethod[Small.blort:()V] -0a 0011 000b # 0009: method[Small.blort:()V] -09 0011 000c # 000a: field[Small.blort:x/y/Zzz] -0c 000f 000d # 000b: nat[blort:()V] -0c 000f 000e # 000c: nat[blort:x/y/Zzz] -01 0003 "()V" # 000d: utf8["()V"] -01 0007 "x/y/Zzz" # 000e: utf8["x/y/Zzz"] -01 0005 "blort" # 000f: utf8["blort"] -07 0012 # 0010: class[java/lang/Object] -07 0013 # 0011: class[Small] -01 0010 "java/lang/Object" # 0012: utf8["java/lang/Object"] -01 0005 "Small" # 0013: utf8["Small"] - -0001 # access_flags -0011 # this_class -0010 # super_class -0000 # interfaces_count -0000 # fields_count -0000 # methods_count - -0000 # attributes_count diff --git a/dx/tests/006-interfaces/expected.txt b/dx/tests/006-interfaces/expected.txt deleted file mode 100644 index 09e066b4d..000000000 --- a/dx/tests/006-interfaces/expected.txt +++ /dev/null @@ -1,31 +0,0 @@ -reading small-class.txt... -begin classfile -magic: cafebabe -minor_version: 0000 -major_version: 002e -constant_pool_count: 000b - -constant_pool: - 0001: utf8{"java/lang/Object"} - 0002: utf8{"Small"} - 0003: utf8{"Foo"} - 0004: utf8{"Bar"} - 0005: utf8{"Baz"} - 0006: type{java.lang.Object} - 0007: type{Small} - 0008: type{Foo} - 0009: type{Bar} - 000a: type{Baz} -end constant_pool -access_flags: public -this_class: type{Small} -super_class: type{java.lang.Object} -interfaces_count: 0003 -interfaces: - type{Foo} - type{Bar} - type{Baz} -fields_count: 0000 -methods_count: 0000 -attributes_count: 0000 -end classfile diff --git a/dx/tests/006-interfaces/info.txt b/dx/tests/006-interfaces/info.txt deleted file mode 100644 index 09594829c..000000000 --- a/dx/tests/006-interfaces/info.txt +++ /dev/null @@ -1,6 +0,0 @@ -This is a dump of a simple class which is valid in structure but is overall -invalid. That being said, the system should still have no trouble parsing and -dumping it. - -The salient bit of parsing tested here is that the class has a non-empty -interfaces list. diff --git a/dx/tests/006-interfaces/run b/dx/tests/006-interfaces/run deleted file mode 100644 index 16b775566..000000000 --- a/dx/tests/006-interfaces/run +++ /dev/null @@ -1,17 +0,0 @@ -#!/bin/bash -# -# Copyright (C) 2007 The Android Open Source Project -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -dx --debug --dump small-class.txt diff --git a/dx/tests/006-interfaces/small-class.txt b/dx/tests/006-interfaces/small-class.txt deleted file mode 100644 index ea249236a..000000000 --- a/dx/tests/006-interfaces/small-class.txt +++ /dev/null @@ -1,33 +0,0 @@ -# -# sample small-but-valid classfile -# - -cafe babe # magic -0000 # minor_version -002e # major_version -000b # constant_pool_count - -# -# constant_pool -# -01 0010 "java/lang/Object" # 0001: utf8["java/lang/Object"] -01 0005 "Small" # 0002: utf8["Small"] -01 0003 "Foo" # 0003: utf8["Foo"] -01 0003 "Bar" # 0004: utf8["Bar"] -01 0003 "Baz" # 0005: utf8["Baz"] -07 0001 # 0006: class[java/lang/Object] -07 0002 # 0007: class[Small] -07 0003 # 0008: class[Foo] -07 0004 # 0009: class[Bar] -07 0005 # 000a: class[Baz] - -0001 # access_flags -0007 # this_class -0006 # super_class -0003 # interfaces_count -0008 0009 000a # interfaces - -0000 # fields_count -0000 # methods_count - -0000 # attributes_count diff --git a/dx/tests/007-no-superclass/expected.txt b/dx/tests/007-no-superclass/expected.txt deleted file mode 100644 index d635c9a57..000000000 --- a/dx/tests/007-no-superclass/expected.txt +++ /dev/null @@ -1,19 +0,0 @@ -reading small-class.txt... -begin classfile -magic: cafebabe -minor_version: 0000 -major_version: 002e -constant_pool_count: 0003 - -constant_pool: - 0001: utf8{"java/lang/Object"} - 0002: type{java.lang.Object} -end constant_pool -access_flags: public -this_class: type{java.lang.Object} -super_class: (none) -interfaces_count: 0000 -fields_count: 0000 -methods_count: 0000 -attributes_count: 0000 -end classfile diff --git a/dx/tests/007-no-superclass/info.txt b/dx/tests/007-no-superclass/info.txt deleted file mode 100644 index 5f941d098..000000000 --- a/dx/tests/007-no-superclass/info.txt +++ /dev/null @@ -1,6 +0,0 @@ -This is a dump of a simple class which is valid in structure but is overall -invalid. That being said, the system should still have no trouble parsing and -dumping it. - -The salient bit of parsing tested here is that the class is Object-like and -has no superclass. diff --git a/dx/tests/007-no-superclass/run b/dx/tests/007-no-superclass/run deleted file mode 100644 index 16b775566..000000000 --- a/dx/tests/007-no-superclass/run +++ /dev/null @@ -1,17 +0,0 @@ -#!/bin/bash -# -# Copyright (C) 2007 The Android Open Source Project -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -dx --debug --dump small-class.txt diff --git a/dx/tests/007-no-superclass/small-class.txt b/dx/tests/007-no-superclass/small-class.txt deleted file mode 100644 index 6fd4408d7..000000000 --- a/dx/tests/007-no-superclass/small-class.txt +++ /dev/null @@ -1,24 +0,0 @@ -# -# sample small-but-valid classfile -# - -cafe babe # magic -0000 # minor_version -002e # major_version -0003 # constant_pool_count - -# -# constant_pool -# -01 0010 "java/lang/Object" # 0001: utf8["java/lang/Object"] -07 0001 # 0002: class[java/lang/Object] - -0001 # access_flags -0002 # this_class -0000 # super_class -0000 # interfaces_count - -0000 # fields_count -0000 # methods_count - -0000 # attributes_count diff --git a/dx/tests/008-field/expected.txt b/dx/tests/008-field/expected.txt deleted file mode 100644 index 9e3bcaf1c..000000000 --- a/dx/tests/008-field/expected.txt +++ /dev/null @@ -1,30 +0,0 @@ -reading small-class.txt... -begin classfile -magic: cafebabe -minor_version: 0000 -major_version: 002e -constant_pool_count: 0007 - -constant_pool: - 0001: utf8{"Small"} - 0002: utf8{"java/lang/Object"} - 0003: type{Small} - 0004: type{java.lang.Object} - 0005: utf8{"foo"} - 0006: utf8{"I"} -end constant_pool -access_flags: public|super -this_class: type{Small} -super_class: type{java.lang.Object} -interfaces_count: 0000 -fields_count: 0001 - -fields[0]: - access_flags: public|private|protected|static|final|volatile|transient|synthetic|enum|af20 - name: foo - descriptor: I - attributes_count: 0000 -end fields[0] -methods_count: 0000 -attributes_count: 0000 -end classfile diff --git a/dx/tests/008-field/info.txt b/dx/tests/008-field/info.txt deleted file mode 100644 index 0b8e92f3f..000000000 --- a/dx/tests/008-field/info.txt +++ /dev/null @@ -1,7 +0,0 @@ -This is a dump of a simple class which is valid in structure but is overall -invalid. That being said, the system should still have no trouble parsing and -dumping it. - -The salient bit of parsing tested here is that the class has a single -simple field with no attributes and with every access flag turned on -(so that the names can be verified in debugging output). diff --git a/dx/tests/008-field/run b/dx/tests/008-field/run deleted file mode 100644 index 1c759d60f..000000000 --- a/dx/tests/008-field/run +++ /dev/null @@ -1,17 +0,0 @@ -#!/bin/bash -# -# Copyright (C) 2007 The Android Open Source Project -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -dx --debug --dump --width=200 small-class.txt diff --git a/dx/tests/008-field/small-class.txt b/dx/tests/008-field/small-class.txt deleted file mode 100644 index 81eb16436..000000000 --- a/dx/tests/008-field/small-class.txt +++ /dev/null @@ -1,34 +0,0 @@ -# -# sample small-but-valid classfile -# - -cafe babe # magic -0000 # minor_version -002e # major_version -0007 # constant_pool_count - -# -# constant_pool -# -01 0005 "Small" # 0001: utf8["Small"] -01 0010 "java/lang/Object" # 0002: utf8["java/lang/Object"] -07 0001 # 0003: class[Small] -07 0002 # 0004: class[java/lang/Object] -01 0003 "foo" # 0005: utf8["foo"] -01 0001 "I" # 0006: utf8["I"] - -0021 # access_flags -0003 # this_class -0004 # super_class -0000 # interfaces_count - -0001 # fields_count - -# fields[0] -ffff # access_flags -0005 # name -0006 # descriptor -0000 # attributes_count - -0000 # methods_count -0000 # attributes_count diff --git a/dx/tests/009-method/expected.txt b/dx/tests/009-method/expected.txt deleted file mode 100644 index 3c0d6add3..000000000 --- a/dx/tests/009-method/expected.txt +++ /dev/null @@ -1,30 +0,0 @@ -reading small-class.txt... -begin classfile -magic: cafebabe -minor_version: 0000 -major_version: 002e -constant_pool_count: 0007 - -constant_pool: - 0001: utf8{"Small"} - 0002: utf8{"java/lang/Object"} - 0003: type{Small} - 0004: type{java.lang.Object} - 0005: utf8{"foo"} - 0006: utf8{"()V"} -end constant_pool -access_flags: public|super -this_class: type{Small} -super_class: type{java.lang.Object} -interfaces_count: 0000 -fields_count: 0000 -methods_count: 0001 - -methods[0]: - access_flags: public|private|protected|static|final|synchronized|bridge|varargs|native|abstract|strictfp|synthetic|e200 - name: foo - descriptor: ()V - attributes_count: 0000 -end methods[0] -attributes_count: 0000 -end classfile diff --git a/dx/tests/009-method/info.txt b/dx/tests/009-method/info.txt deleted file mode 100644 index 3df2f09d0..000000000 --- a/dx/tests/009-method/info.txt +++ /dev/null @@ -1,7 +0,0 @@ -This is a dump of a simple class which is valid in structure but is overall -invalid. That being said, the system should still have no trouble parsing and -dumping it. - -The salient bit of parsing tested here is that the class has a single -simple method with no attributes and with every access flag turned on -(so that the names can be verified in debugging output). diff --git a/dx/tests/009-method/run b/dx/tests/009-method/run deleted file mode 100644 index 1c759d60f..000000000 --- a/dx/tests/009-method/run +++ /dev/null @@ -1,17 +0,0 @@ -#!/bin/bash -# -# Copyright (C) 2007 The Android Open Source Project -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -dx --debug --dump --width=200 small-class.txt diff --git a/dx/tests/009-method/small-class.txt b/dx/tests/009-method/small-class.txt deleted file mode 100644 index 54fbc5fe7..000000000 --- a/dx/tests/009-method/small-class.txt +++ /dev/null @@ -1,34 +0,0 @@ -# -# sample small-but-valid classfile -# - -cafe babe # magic -0000 # minor_version -002e # major_version -0007 # constant_pool_count - -# -# constant_pool -# -01 0005 "Small" # 0001: utf8["Small"] -01 0010 "java/lang/Object" # 0002: utf8["java/lang/Object"] -07 0001 # 0003: class[Small] -07 0002 # 0004: class[java/lang/Object] -01 0003 "foo" # 0005: utf8["foo"] -01 0003 "()V" # 0006: utf8["()V"] - -0021 # access_flags -0003 # this_class -0004 # super_class -0000 # interfaces_count -0000 # fields_count - -0001 # methods_count - -# methods[0] -ffff # access_flags -0005 # name -0006 # descriptor -0000 # attributes_count - -0000 # attributes_count diff --git a/dx/tests/010-class-attrib-InnerClasses/expected.txt b/dx/tests/010-class-attrib-InnerClasses/expected.txt deleted file mode 100644 index 590ed2eab..000000000 --- a/dx/tests/010-class-attrib-InnerClasses/expected.txt +++ /dev/null @@ -1,46 +0,0 @@ -reading small-class.txt... -begin classfile -magic: cafebabe -minor_version: 0000 -major_version: 002e -constant_pool_count: 0008 - -constant_pool: - 0001: utf8{"Small"} - 0002: utf8{"java/lang/Object"} - 0003: type{Small} - 0004: type{java.lang.Object} - 0005: utf8{"InnerClasses"} - 0006: utf8{"Zorch"} - 0007: type{Zorch} -end constant_pool -access_flags: public|super -this_class: type{Small} -super_class: type{java.lang.Object} -interfaces_count: 0000 -fields_count: 0000 -methods_count: 0000 -attributes_count: 0001 - -attributes[0]: - name: InnerClasses - length: 00000022 - number_of_classes: 0004 - inner_class: type{Small} - outer_class: (none) - name: (none) - access_flags: public - inner_class: type{Small} - outer_class: (none) - name: utf8{"Small"} - access_flags: private - inner_class: type{Small} - outer_class: type{Zorch} - name: (none) - access_flags: protected - inner_class: type{Zorch} - outer_class: type{Small} - name: utf8{"Zorch"} - access_flags: public|private|protected|static|final|interface|abstract|synthetic|annotation|enum|89e0 -end attributes[0] -end classfile diff --git a/dx/tests/010-class-attrib-InnerClasses/info.txt b/dx/tests/010-class-attrib-InnerClasses/info.txt deleted file mode 100644 index 305b03506..000000000 --- a/dx/tests/010-class-attrib-InnerClasses/info.txt +++ /dev/null @@ -1,7 +0,0 @@ -This is a dump of a simple class which is valid in structure but is overall -invalid. That being said, the system should still have no trouble parsing and -dumping it. - -The salient bit of parsing tested here is that the class has a single -class-level InnerClasses attribute, which is syntactically valid and contains -one entry for each of the possible combinations of null-vs-valid cpe. diff --git a/dx/tests/010-class-attrib-InnerClasses/run b/dx/tests/010-class-attrib-InnerClasses/run deleted file mode 100644 index 1c759d60f..000000000 --- a/dx/tests/010-class-attrib-InnerClasses/run +++ /dev/null @@ -1,17 +0,0 @@ -#!/bin/bash -# -# Copyright (C) 2007 The Android Open Source Project -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -dx --debug --dump --width=200 small-class.txt diff --git a/dx/tests/010-class-attrib-InnerClasses/small-class.txt b/dx/tests/010-class-attrib-InnerClasses/small-class.txt deleted file mode 100644 index 6ad13a455..000000000 --- a/dx/tests/010-class-attrib-InnerClasses/small-class.txt +++ /dev/null @@ -1,38 +0,0 @@ -# -# sample small-but-valid classfile -# - -cafe babe # magic -0000 # minor_version -002e # major_version -0008 # constant_pool_count - -# -# constant_pool -# -01 0005 "Small" # 0001: utf8["Small"] -01 0010 "java/lang/Object" # 0002: utf8["java/lang/Object"] -07 0001 # 0003: class[Small] -07 0002 # 0004: class[java/lang/Object] -01 000c "InnerClasses" # 0005: utf8["InnerClasses"] -01 0005 "Zorch" # 0006: utf8["Zorch"] -07 0006 # 0007: class[Zorch] - -0021 # access_flags -0003 # this_class -0004 # super_class -0000 # interfaces_count -0000 # fields_count -0000 # methods_count - -0001 # attributes_count - -# attribute[0] -0005 # name -00000022 # length -0004 # number_of_classes -0003 0000 0000 0001 # Small / null / null / public -0003 0000 0001 0002 # Small / null / "Small" / private -0003 0007 0000 0004 # Small / Zorch / null / protected -0007 0003 0006 ffff # Zorch / Small / "Zorch" / all-bits - diff --git a/dx/tests/011-class-attrib-Synthetic/expected.txt b/dx/tests/011-class-attrib-Synthetic/expected.txt deleted file mode 100644 index 85e2bff0c..000000000 --- a/dx/tests/011-class-attrib-Synthetic/expected.txt +++ /dev/null @@ -1,27 +0,0 @@ -reading small-class.txt... -begin classfile -magic: cafebabe -minor_version: 0000 -major_version: 002e -constant_pool_count: 0006 - -constant_pool: - 0001: utf8{"Small"} - 0002: utf8{"java/lang/Object"} - 0003: type{Small} - 0004: type{java.lang.Object} - 0005: utf8{"Synthetic"} -end constant_pool -access_flags: public|super -this_class: type{Small} -super_class: type{java.lang.Object} -interfaces_count: 0000 -fields_count: 0000 -methods_count: 0000 -attributes_count: 0001 - -attributes[0]: - name: Synthetic - length: 00000000 -end attributes[0] -end classfile diff --git a/dx/tests/011-class-attrib-Synthetic/info.txt b/dx/tests/011-class-attrib-Synthetic/info.txt deleted file mode 100644 index bfd443e40..000000000 --- a/dx/tests/011-class-attrib-Synthetic/info.txt +++ /dev/null @@ -1,6 +0,0 @@ -This is a dump of a simple class which is valid in structure but is overall -invalid. That being said, the system should still have no trouble parsing and -dumping it. - -The salient bit of parsing tested here is that the class has a single -class-level Synthetic attribute, which is syntactically valid. diff --git a/dx/tests/011-class-attrib-Synthetic/run b/dx/tests/011-class-attrib-Synthetic/run deleted file mode 100644 index 1c759d60f..000000000 --- a/dx/tests/011-class-attrib-Synthetic/run +++ /dev/null @@ -1,17 +0,0 @@ -#!/bin/bash -# -# Copyright (C) 2007 The Android Open Source Project -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -dx --debug --dump --width=200 small-class.txt diff --git a/dx/tests/011-class-attrib-Synthetic/small-class.txt b/dx/tests/011-class-attrib-Synthetic/small-class.txt deleted file mode 100644 index bc3281bc3..000000000 --- a/dx/tests/011-class-attrib-Synthetic/small-class.txt +++ /dev/null @@ -1,30 +0,0 @@ -# -# sample small-but-valid classfile -# - -cafe babe # magic -0000 # minor_version -002e # major_version -0006 # constant_pool_count - -# -# constant_pool -# -01 0005 "Small" # 0001: utf8["Small"] -01 0010 "java/lang/Object" # 0002: utf8["java/lang/Object"] -07 0001 # 0003: class[Small] -07 0002 # 0004: class[java/lang/Object] -01 0009 "Synthetic" # 0005: utf8["Synthetic"] - -0021 # access_flags -0003 # this_class -0004 # super_class -0000 # interfaces_count -0000 # fields_count -0000 # methods_count - -0001 # attributes_count - -# attribute[0] -0005 # name -00000000 # length diff --git a/dx/tests/012-class-attrib-SourceFile/expected.txt b/dx/tests/012-class-attrib-SourceFile/expected.txt deleted file mode 100644 index c795cdeb8..000000000 --- a/dx/tests/012-class-attrib-SourceFile/expected.txt +++ /dev/null @@ -1,29 +0,0 @@ -reading small-class.txt... -begin classfile -magic: cafebabe -minor_version: 0000 -major_version: 002e -constant_pool_count: 0007 - -constant_pool: - 0001: utf8{"Small"} - 0002: utf8{"java/lang/Object"} - 0003: type{Small} - 0004: type{java.lang.Object} - 0005: utf8{"SourceFile"} - 0006: utf8{"Blort.java"} -end constant_pool -access_flags: public|super -this_class: type{Small} -super_class: type{java.lang.Object} -interfaces_count: 0000 -fields_count: 0000 -methods_count: 0000 -attributes_count: 0001 - -attributes[0]: - name: SourceFile - length: 00000002 - source: utf8{"Blort.java"} -end attributes[0] -end classfile diff --git a/dx/tests/012-class-attrib-SourceFile/info.txt b/dx/tests/012-class-attrib-SourceFile/info.txt deleted file mode 100644 index f1d898580..000000000 --- a/dx/tests/012-class-attrib-SourceFile/info.txt +++ /dev/null @@ -1,6 +0,0 @@ -This is a dump of a simple class which is valid in structure but is overall -invalid. That being said, the system should still have no trouble parsing and -dumping it. - -The salient bit of parsing tested here is that the class has a single -class-level SourceFile attribute, which is syntactically valid. diff --git a/dx/tests/012-class-attrib-SourceFile/run b/dx/tests/012-class-attrib-SourceFile/run deleted file mode 100644 index 1c759d60f..000000000 --- a/dx/tests/012-class-attrib-SourceFile/run +++ /dev/null @@ -1,17 +0,0 @@ -#!/bin/bash -# -# Copyright (C) 2007 The Android Open Source Project -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -dx --debug --dump --width=200 small-class.txt diff --git a/dx/tests/012-class-attrib-SourceFile/small-class.txt b/dx/tests/012-class-attrib-SourceFile/small-class.txt deleted file mode 100644 index 3c514be87..000000000 --- a/dx/tests/012-class-attrib-SourceFile/small-class.txt +++ /dev/null @@ -1,32 +0,0 @@ -# -# sample small-but-valid classfile -# - -cafe babe # magic -0000 # minor_version -002e # major_version -0007 # constant_pool_count - -# -# constant_pool -# -01 0005 "Small" # 0001: utf8["Small"] -01 0010 "java/lang/Object" # 0002: utf8["java/lang/Object"] -07 0001 # 0003: class[Small] -07 0002 # 0004: class[java/lang/Object] -01 000a "SourceFile" # 0005: utf8["SourceFile"] -01 000a "Blort.java" # 0006: utf8["Blort.java"] - -0021 # access_flags -0003 # this_class -0004 # super_class -0000 # interfaces_count -0000 # fields_count -0000 # methods_count - -0001 # attributes_count - -# attribute[0] -0005 # name -00000002 # length -0006 # "Blort.java" diff --git a/dx/tests/013-class-attrib-Deprecated/expected.txt b/dx/tests/013-class-attrib-Deprecated/expected.txt deleted file mode 100644 index 4476c89cd..000000000 --- a/dx/tests/013-class-attrib-Deprecated/expected.txt +++ /dev/null @@ -1,27 +0,0 @@ -reading small-class.txt... -begin classfile -magic: cafebabe -minor_version: 0000 -major_version: 002e -constant_pool_count: 0006 - -constant_pool: - 0001: utf8{"Small"} - 0002: utf8{"java/lang/Object"} - 0003: type{Small} - 0004: type{java.lang.Object} - 0005: utf8{"Deprecated"} -end constant_pool -access_flags: public|super -this_class: type{Small} -super_class: type{java.lang.Object} -interfaces_count: 0000 -fields_count: 0000 -methods_count: 0000 -attributes_count: 0001 - -attributes[0]: - name: Deprecated - length: 00000000 -end attributes[0] -end classfile diff --git a/dx/tests/013-class-attrib-Deprecated/info.txt b/dx/tests/013-class-attrib-Deprecated/info.txt deleted file mode 100644 index 8164fe1c1..000000000 --- a/dx/tests/013-class-attrib-Deprecated/info.txt +++ /dev/null @@ -1,6 +0,0 @@ -This is a dump of a simple class which is valid in structure but is overall -invalid. That being said, the system should still have no trouble parsing and -dumping it. - -The salient bit of parsing tested here is that the class has a single -class-level Deprecated attribute, which is syntactically valid. diff --git a/dx/tests/013-class-attrib-Deprecated/run b/dx/tests/013-class-attrib-Deprecated/run deleted file mode 100644 index 1c759d60f..000000000 --- a/dx/tests/013-class-attrib-Deprecated/run +++ /dev/null @@ -1,17 +0,0 @@ -#!/bin/bash -# -# Copyright (C) 2007 The Android Open Source Project -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -dx --debug --dump --width=200 small-class.txt diff --git a/dx/tests/013-class-attrib-Deprecated/small-class.txt b/dx/tests/013-class-attrib-Deprecated/small-class.txt deleted file mode 100644 index 03d7e241a..000000000 --- a/dx/tests/013-class-attrib-Deprecated/small-class.txt +++ /dev/null @@ -1,30 +0,0 @@ -# -# sample small-but-valid classfile -# - -cafe babe # magic -0000 # minor_version -002e # major_version -0006 # constant_pool_count - -# -# constant_pool -# -01 0005 "Small" # 0001: utf8["Small"] -01 0010 "java/lang/Object" # 0002: utf8["java/lang/Object"] -07 0001 # 0003: class[Small] -07 0002 # 0004: class[java/lang/Object] -01 000a "Deprecated" # 0005: utf8["Deprecated"] - -0021 # access_flags -0003 # this_class -0004 # super_class -0000 # interfaces_count -0000 # fields_count -0000 # methods_count - -0001 # attributes_count - -# attribute[0] -0005 # name -00000000 # length diff --git a/dx/tests/014-field-attrib-ConstantValue/expected.txt b/dx/tests/014-field-attrib-ConstantValue/expected.txt deleted file mode 100644 index b3d91a5eb..000000000 --- a/dx/tests/014-field-attrib-ConstantValue/expected.txt +++ /dev/null @@ -1,162 +0,0 @@ -reading small-class.txt... -begin classfile -magic: cafebabe -minor_version: 0000 -major_version: 002e -constant_pool_count: 001f - -constant_pool: - 0001: utf8{"Small"} - 0002: utf8{"java/lang/Object"} - 0003: type{Small} - 0004: type{java.lang.Object} - 0005: utf8{"ConstantValue"} - 0006: utf8{"a"} - 0007: utf8{"b"} - 0008: utf8{"c"} - 0009: utf8{"d"} - 000a: utf8{"e"} - 000b: utf8{"f"} - 000c: utf8{"g"} - 000d: utf8{"h"} - 000e: utf8{"i"} - 000f: string{"Small"} - 0010: int{0x8191a1b1 / -2121162319} - 0011: float{0xbffeb852 / -1.99} - 0012: long{0x80818283f0f1f2f3 / -9186918261664386317} - 0014: double{0xbfffd70a3d70a3d7 / -1.99} - 0016: utf8{"B"} - 0017: utf8{"C"} - 0018: utf8{"D"} - 0019: utf8{"F"} - 001a: utf8{"I"} - 001b: utf8{"J"} - 001c: utf8{"S"} - 001d: utf8{"Z"} - 001e: utf8{"Ljava/lang/String;"} -end constant_pool -access_flags: public|super -this_class: type{Small} -super_class: type{java.lang.Object} -interfaces_count: 0000 -fields_count: 0009 - -fields[0]: - access_flags: public - name: a - descriptor: B - attributes_count: 0001 - - attributes[0]: - name: ConstantValue - length: 00000002 - value: int{0x8191a1b1 / -2121162319} - end attributes[0] -end fields[0] - -fields[1]: - access_flags: private - name: b - descriptor: C - attributes_count: 0001 - - attributes[0]: - name: ConstantValue - length: 00000002 - value: int{0x8191a1b1 / -2121162319} - end attributes[0] -end fields[1] - -fields[2]: - access_flags: protected - name: c - descriptor: D - attributes_count: 0001 - - attributes[0]: - name: ConstantValue - length: 00000002 - value: double{0xbfffd70a3d70a3d7 / -1.99} - end attributes[0] -end fields[2] - -fields[3]: - access_flags: static - name: d - descriptor: F - attributes_count: 0001 - - attributes[0]: - name: ConstantValue - length: 00000002 - value: float{0xbffeb852 / -1.99} - end attributes[0] -end fields[3] - -fields[4]: - access_flags: final - name: e - descriptor: I - attributes_count: 0001 - - attributes[0]: - name: ConstantValue - length: 00000002 - value: int{0x8191a1b1 / -2121162319} - end attributes[0] -end fields[4] - -fields[5]: - access_flags: volatile - name: f - descriptor: J - attributes_count: 0001 - - attributes[0]: - name: ConstantValue - length: 00000002 - value: long{0x80818283f0f1f2f3 / -9186918261664386317} - end attributes[0] -end fields[5] - -fields[6]: - access_flags: transient - name: g - descriptor: S - attributes_count: 0001 - - attributes[0]: - name: ConstantValue - length: 00000002 - value: int{0x8191a1b1 / -2121162319} - end attributes[0] -end fields[6] - -fields[7]: - access_flags: public|static|final - name: h - descriptor: Z - attributes_count: 0001 - - attributes[0]: - name: ConstantValue - length: 00000002 - value: int{0x8191a1b1 / -2121162319} - end attributes[0] -end fields[7] - -fields[8]: - access_flags: public|static|final - name: i - descriptor: Ljava/lang/String; - attributes_count: 0001 - - attributes[0]: - name: ConstantValue - length: 00000002 - value: string{"Small"} - end attributes[0] -end fields[8] -methods_count: 0000 -attributes_count: 0000 -end classfile diff --git a/dx/tests/014-field-attrib-ConstantValue/info.txt b/dx/tests/014-field-attrib-ConstantValue/info.txt deleted file mode 100644 index 313159cc8..000000000 --- a/dx/tests/014-field-attrib-ConstantValue/info.txt +++ /dev/null @@ -1,7 +0,0 @@ -This is a dump of a simple class which is valid in structure but is overall -invalid. That being said, the system should still have no trouble parsing and -dumping it. - -The salient bit of parsing tested here is that the class has a series of -fields, each with a single ConstantValue attribute, which points at one -of the appropriate sorts of cpes. diff --git a/dx/tests/014-field-attrib-ConstantValue/run b/dx/tests/014-field-attrib-ConstantValue/run deleted file mode 100644 index 1c759d60f..000000000 --- a/dx/tests/014-field-attrib-ConstantValue/run +++ /dev/null @@ -1,17 +0,0 @@ -#!/bin/bash -# -# Copyright (C) 2007 The Android Open Source Project -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -dx --debug --dump --width=200 small-class.txt diff --git a/dx/tests/014-field-attrib-ConstantValue/small-class.txt b/dx/tests/014-field-attrib-ConstantValue/small-class.txt deleted file mode 100644 index 8d869deed..000000000 --- a/dx/tests/014-field-attrib-ConstantValue/small-class.txt +++ /dev/null @@ -1,140 +0,0 @@ -# -# sample small-but-valid classfile -# - -cafe babe # magic -0000 # minor_version -002e # major_version -001f # constant_pool_count - -# -# constant_pool -# -01 0005 "Small" # 0001: utf8["Small"] -01 0010 "java/lang/Object" # 0002: utf8["java/lang/Object"] -07 0001 # 0003: class[Small] -07 0002 # 0004: class[java/lang/Object] -01 000d "ConstantValue" # 0005: utf8["ConstantValue"] -01 0001 "a" # 0006: utf8["a"] -01 0001 "b" # 0007: utf8["b"] -01 0001 "c" # 0008: utf8["c"] -01 0001 "d" # 0009: utf8["d"] -01 0001 "e" # 000a: utf8["e"] -01 0001 "f" # 000b: utf8["f"] -01 0001 "g" # 000c: utf8["g"] -01 0001 "h" # 000d: utf8["h"] -01 0001 "i" # 000e: utf8["i"] -08 0001 # 000f: string["Small"] -03 8191a1b1 # 0010: integer[0x8191a1b1] -04 bffeb852 # 0011: float[-1.99] -05 80818283 f0f1f2f3 # 0012: long[0x80818283f0f1f2f3] -06 bfffd70a 3d70a3d7 # 0014: double[-1.99] -01 0001 "B" # 0016: utf8["B"] -01 0001 "C" # 0017: utf8["C"] -01 0001 "D" # 0018: utf8["D"] -01 0001 "F" # 0019: utf8["F"] -01 0001 "I" # 001a: utf8["I"] -01 0001 "J" # 001b: utf8["J"] -01 0001 "S" # 001c: utf8["S"] -01 0001 "Z" # 001d: utf8["Z"] -01 0012 "Ljava/lang/String;" # 001e: utf8["Ljava/lang/String;"] - -0021 # access_flags -0003 # this_class -0004 # super_class -0000 # interfaces_count - -0009 # fields_count - -# fields[0] -0001 # access_flags -0006 # "a" -0016 # "B" -0001 # attributes_count -# attributes[0] -0005 # name -00000002 # length -0010 # value - -# fields[1] -0002 # access_flags -0007 # "b" -0017 # "C" -0001 # attributes_count -# attributes[0] -0005 # name -00000002 # length -0010 # value - -# fields[2] -0004 # access_flags -0008 # "c" -0018 # "D" -0001 # attributes_count -# attributes[0] -0005 # name -00000002 # length -0014 # value - -# fields[3] -0008 # access_flags -0009 # "d" -0019 # "F" -0001 # attributes_count -# attributes[0] -0005 # name -00000002 # length -0011 # value - -# fields[4] -0010 # access_flags -000a # "e" -001a # "I" -0001 # attributes_count -# attributes[0] -0005 # name -00000002 # length -0010 # value - -# fields[5] -0040 # access_flags -000b # "f" -001b # "J" -0001 # attributes_count -# attributes[0] -0005 # name -00000002 # length -0012 # value - -# fields[6] -0080 # access_flags -000c # "g" -001c # "Z" -0001 # attributes_count -# attributes[0] -0005 # name -00000002 # length -0010 # value - -# fields[7] -0019 # access_flags -000d # "h" -001d # "S" -0001 # attributes_count -# attributes[0] -0005 # name -00000002 # length -0010 # value - -# fields[8] -0019 # access_flags -000e # "i" -001e # "Ljava/lang/String;" -0001 # attributes_count -# attributes[0] -0005 # name -00000002 # length -000f # value - -0000 # methods_count -0000 # attributes_count diff --git a/dx/tests/015-field-attrib-Synthetic/expected.txt b/dx/tests/015-field-attrib-Synthetic/expected.txt deleted file mode 100644 index bdb45197c..000000000 --- a/dx/tests/015-field-attrib-Synthetic/expected.txt +++ /dev/null @@ -1,36 +0,0 @@ -reading small-class.txt... -begin classfile -magic: cafebabe -minor_version: 0000 -major_version: 002e -constant_pool_count: 0008 - -constant_pool: - 0001: utf8{"Small"} - 0002: utf8{"java/lang/Object"} - 0003: type{Small} - 0004: type{java.lang.Object} - 0005: utf8{"Synthetic"} - 0006: utf8{"a"} - 0007: utf8{"I"} -end constant_pool -access_flags: public|super -this_class: type{Small} -super_class: type{java.lang.Object} -interfaces_count: 0000 -fields_count: 0001 - -fields[0]: - access_flags: public - name: a - descriptor: I - attributes_count: 0001 - - attributes[0]: - name: Synthetic - length: 00000000 - end attributes[0] -end fields[0] -methods_count: 0000 -attributes_count: 0000 -end classfile diff --git a/dx/tests/015-field-attrib-Synthetic/info.txt b/dx/tests/015-field-attrib-Synthetic/info.txt deleted file mode 100644 index 6037cfa49..000000000 --- a/dx/tests/015-field-attrib-Synthetic/info.txt +++ /dev/null @@ -1,6 +0,0 @@ -This is a dump of a simple class which is valid in structure but is overall -invalid. That being said, the system should still have no trouble parsing and -dumping it. - -The salient bit of parsing tested here is that the class has a single -field with a valid Synthetic attribute. diff --git a/dx/tests/015-field-attrib-Synthetic/run b/dx/tests/015-field-attrib-Synthetic/run deleted file mode 100644 index 1c759d60f..000000000 --- a/dx/tests/015-field-attrib-Synthetic/run +++ /dev/null @@ -1,17 +0,0 @@ -#!/bin/bash -# -# Copyright (C) 2007 The Android Open Source Project -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -dx --debug --dump --width=200 small-class.txt diff --git a/dx/tests/015-field-attrib-Synthetic/small-class.txt b/dx/tests/015-field-attrib-Synthetic/small-class.txt deleted file mode 100644 index e5f429e28..000000000 --- a/dx/tests/015-field-attrib-Synthetic/small-class.txt +++ /dev/null @@ -1,38 +0,0 @@ -# -# sample small-but-valid classfile -# - -cafe babe # magic -0000 # minor_version -002e # major_version -0008 # constant_pool_count - -# -# constant_pool -# -01 0005 "Small" # 0001: utf8["Small"] -01 0010 "java/lang/Object" # 0002: utf8["java/lang/Object"] -07 0001 # 0003: class[Small] -07 0002 # 0004: class[java/lang/Object] -01 0009 "Synthetic" # 0005: utf8["Synthetic"] -01 0001 "a" # 0006: utf8["a"] -01 0001 "I" # 0007: utf8["I"] - -0021 # access_flags -0003 # this_class -0004 # super_class -0000 # interfaces_count - -0001 # fields_count - -# fields[0] -0001 # access_flags -0006 # "a" -0007 # "I" -0001 # attributes_count -# attributes[0] -0005 # name -00000000 # length - -0000 # methods_count -0000 # attributes_count diff --git a/dx/tests/016-field-attrib-Deprecated/expected.txt b/dx/tests/016-field-attrib-Deprecated/expected.txt deleted file mode 100644 index 1b5547ffd..000000000 --- a/dx/tests/016-field-attrib-Deprecated/expected.txt +++ /dev/null @@ -1,36 +0,0 @@ -reading small-class.txt... -begin classfile -magic: cafebabe -minor_version: 0000 -major_version: 002e -constant_pool_count: 0008 - -constant_pool: - 0001: utf8{"Small"} - 0002: utf8{"java/lang/Object"} - 0003: type{Small} - 0004: type{java.lang.Object} - 0005: utf8{"Deprecated"} - 0006: utf8{"a"} - 0007: utf8{"I"} -end constant_pool -access_flags: public|super -this_class: type{Small} -super_class: type{java.lang.Object} -interfaces_count: 0000 -fields_count: 0001 - -fields[0]: - access_flags: public - name: a - descriptor: I - attributes_count: 0001 - - attributes[0]: - name: Deprecated - length: 00000000 - end attributes[0] -end fields[0] -methods_count: 0000 -attributes_count: 0000 -end classfile diff --git a/dx/tests/016-field-attrib-Deprecated/info.txt b/dx/tests/016-field-attrib-Deprecated/info.txt deleted file mode 100644 index 1185981a2..000000000 --- a/dx/tests/016-field-attrib-Deprecated/info.txt +++ /dev/null @@ -1,6 +0,0 @@ -This is a dump of a simple class which is valid in structure but is overall -invalid. That being said, the system should still have no trouble parsing and -dumping it. - -The salient bit of parsing tested here is that the class has a single -field with a valid Deprecated attribute. diff --git a/dx/tests/016-field-attrib-Deprecated/run b/dx/tests/016-field-attrib-Deprecated/run deleted file mode 100644 index 1c759d60f..000000000 --- a/dx/tests/016-field-attrib-Deprecated/run +++ /dev/null @@ -1,17 +0,0 @@ -#!/bin/bash -# -# Copyright (C) 2007 The Android Open Source Project -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -dx --debug --dump --width=200 small-class.txt diff --git a/dx/tests/016-field-attrib-Deprecated/small-class.txt b/dx/tests/016-field-attrib-Deprecated/small-class.txt deleted file mode 100644 index 2448ce403..000000000 --- a/dx/tests/016-field-attrib-Deprecated/small-class.txt +++ /dev/null @@ -1,38 +0,0 @@ -# -# sample small-but-valid classfile -# - -cafe babe # magic -0000 # minor_version -002e # major_version -0008 # constant_pool_count - -# -# constant_pool -# -01 0005 "Small" # 0001: utf8["Small"] -01 0010 "java/lang/Object" # 0002: utf8["java/lang/Object"] -07 0001 # 0003: class[Small] -07 0002 # 0004: class[java/lang/Object] -01 000a "Deprecated" # 0005: utf8["Deprecated"] -01 0001 "a" # 0006: utf8["a"] -01 0001 "I" # 0007: utf8["I"] - -0021 # access_flags -0003 # this_class -0004 # super_class -0000 # interfaces_count - -0001 # fields_count - -# fields[0] -0001 # access_flags -0006 # "a" -0007 # "I" -0001 # attributes_count -# attributes[0] -0005 # name -00000000 # length - -0000 # methods_count -0000 # attributes_count diff --git a/dx/tests/017-method-attrib-Code/expected.txt b/dx/tests/017-method-attrib-Code/expected.txt deleted file mode 100644 index c43730c8f..000000000 --- a/dx/tests/017-method-attrib-Code/expected.txt +++ /dev/null @@ -1,42 +0,0 @@ -reading small-class.txt... -begin classfile -magic: cafebabe -minor_version: 0000 -major_version: 002e -constant_pool_count: 0008 - -constant_pool: - 0001: type{Small} - 0002: type{java.lang.Object} - 0003: utf8{"Small"} - 0004: utf8{"java/lang/Object"} - 0005: utf8{"blort"} - 0006: utf8{"()V"} - 0007: utf8{"Code"} -end constant_pool -access_flags: public -this_class: type{Small} -super_class: type{java.lang.Object} -interfaces_count: 0000 -fields_count: 0000 -methods_count: 0001 - -methods[0]: - access_flags: public - name: blort - descriptor: ()V - attributes_count: 0001 - - attributes[0]: - name: Code - length: 0000000d - max_stack: 0001 - max_locals: 0001 - code_length: 00000001 - 0000: return - exception_table_length: 0000 - attributes_count: 0000 - end attributes[0] -end methods[0] -attributes_count: 0000 -end classfile diff --git a/dx/tests/017-method-attrib-Code/info.txt b/dx/tests/017-method-attrib-Code/info.txt deleted file mode 100644 index a3ed24c8a..000000000 --- a/dx/tests/017-method-attrib-Code/info.txt +++ /dev/null @@ -1,6 +0,0 @@ -This is a dump of a simple class which is valid in structure but is overall -invalid. That being said, the system should still have no trouble parsing and -dumping it. - -The salient bit of parsing tested here is that the class has a single -method with a minimal but syntactically valid Code attribute. diff --git a/dx/tests/017-method-attrib-Code/run b/dx/tests/017-method-attrib-Code/run deleted file mode 100644 index 16b775566..000000000 --- a/dx/tests/017-method-attrib-Code/run +++ /dev/null @@ -1,17 +0,0 @@ -#!/bin/bash -# -# Copyright (C) 2007 The Android Open Source Project -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -dx --debug --dump small-class.txt diff --git a/dx/tests/017-method-attrib-Code/small-class.txt b/dx/tests/017-method-attrib-Code/small-class.txt deleted file mode 100644 index 699005b59..000000000 --- a/dx/tests/017-method-attrib-Code/small-class.txt +++ /dev/null @@ -1,43 +0,0 @@ -# -# sample small-but-valid classfile -# - -cafe babe # magic -0000 # minor_version -002e # major_version -0008 # constant_pool_count - -# -# constant_pool -# -07 0003 # 0001: class[Small] -07 0004 # 0002: class[java/lang/Object] -01 0005 "Small" # 0003: utf8["Small"] -01 0010 "java/lang/Object" # 0004: utf8["java/lang/Object"] -01 0005 "blort" # 0005: utf8["blort"] -01 0003 "()V" # 0006: utf8["()V"] -01 0004 "Code" # 0007: utf8["Code"] - -0001 # access_flags -0001 # this_class -0002 # super_class -0000 # interfaces_count -0000 # fields_count -0001 # methods_count - -# methods[0] -0001 # access_flags -0005 # name -0006 # descriptor -0001 # attributes_count -# attributes[0] -0007 # name -0000000d # length -0001 # max_stack -0001 # max_locals -00000001 # code_length -b1 # 0000: return -0000 # exception_table_length -0000 # attributes_count - -0000 # attributes_count diff --git a/dx/tests/018-method-attrib-Exceptions/expected.txt b/dx/tests/018-method-attrib-Exceptions/expected.txt deleted file mode 100644 index 15f923f5c..000000000 --- a/dx/tests/018-method-attrib-Exceptions/expected.txt +++ /dev/null @@ -1,40 +0,0 @@ -reading small-class.txt... -begin classfile -magic: cafebabe -minor_version: 0000 -major_version: 002e -constant_pool_count: 000a - -constant_pool: - 0001: type{Small} - 0002: type{java.lang.Object} - 0003: utf8{"Small"} - 0004: utf8{"java/lang/Object"} - 0005: utf8{"blort"} - 0006: utf8{"()V"} - 0007: utf8{"Exceptions"} - 0008: utf8{"java/lang/Error"} - 0009: type{java.lang.Error} -end constant_pool -access_flags: public -this_class: type{Small} -super_class: type{java.lang.Object} -interfaces_count: 0000 -fields_count: 0000 -methods_count: 0001 - -methods[0]: - access_flags: public|abstract - name: blort - descriptor: ()V - attributes_count: 0001 - - attributes[0]: - name: Exceptions - length: 00000004 - number_of_exceptions: 0001 - type{java.lang.Error} - end attributes[0] -end methods[0] -attributes_count: 0000 -end classfile diff --git a/dx/tests/018-method-attrib-Exceptions/info.txt b/dx/tests/018-method-attrib-Exceptions/info.txt deleted file mode 100644 index 4a3738ddb..000000000 --- a/dx/tests/018-method-attrib-Exceptions/info.txt +++ /dev/null @@ -1,6 +0,0 @@ -This is a dump of a simple class which is valid in structure but is overall -invalid. That being said, the system should still have no trouble parsing and -dumping it. - -The salient bit of parsing tested here is that the class has a single -method with a syntactically valid Exceptions attribute. diff --git a/dx/tests/018-method-attrib-Exceptions/run b/dx/tests/018-method-attrib-Exceptions/run deleted file mode 100644 index 16b775566..000000000 --- a/dx/tests/018-method-attrib-Exceptions/run +++ /dev/null @@ -1,17 +0,0 @@ -#!/bin/bash -# -# Copyright (C) 2007 The Android Open Source Project -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -dx --debug --dump small-class.txt diff --git a/dx/tests/018-method-attrib-Exceptions/small-class.txt b/dx/tests/018-method-attrib-Exceptions/small-class.txt deleted file mode 100644 index 5d05b4369..000000000 --- a/dx/tests/018-method-attrib-Exceptions/small-class.txt +++ /dev/null @@ -1,41 +0,0 @@ -# -# sample small-but-valid classfile -# - -cafe babe # magic -0000 # minor_version -002e # major_version -000a # constant_pool_count - -# -# constant_pool -# -07 0003 # 0001: class[Small] -07 0004 # 0002: class[java/lang/Object] -01 0005 "Small" # 0003: utf8["Small"] -01 0010 "java/lang/Object" # 0004: utf8["java/lang/Object"] -01 0005 "blort" # 0005: utf8["blort"] -01 0003 "()V" # 0006: utf8["()V"] -01 000a "Exceptions" # 0007: utf8["Exceptions"] -01 000f "java/lang/Error" # 0008: utf8["java/lang/Error"] -07 0008 # 0009: class[java/lang/Error] - -0001 # access_flags -0001 # this_class -0002 # super_class -0000 # interfaces_count -0000 # fields_count -0001 # methods_count - -# methods[0] -0401 # access_flags -0005 # name -0006 # descriptor -0001 # attributes_count -# attributes[0] -0007 # name -00000004 # length -0001 # number_of_exceptions -0009 # class[java/lang/Error] - -0000 # attributes_count diff --git a/dx/tests/019-method-attrib-Synthetic/expected.txt b/dx/tests/019-method-attrib-Synthetic/expected.txt deleted file mode 100644 index 5d1d9cbcc..000000000 --- a/dx/tests/019-method-attrib-Synthetic/expected.txt +++ /dev/null @@ -1,36 +0,0 @@ -reading small-class.txt... -begin classfile -magic: cafebabe -minor_version: 0000 -major_version: 002e -constant_pool_count: 0008 - -constant_pool: - 0001: type{Small} - 0002: type{java.lang.Object} - 0003: utf8{"Small"} - 0004: utf8{"java/lang/Object"} - 0005: utf8{"blort"} - 0006: utf8{"()V"} - 0007: utf8{"Synthetic"} -end constant_pool -access_flags: public -this_class: type{Small} -super_class: type{java.lang.Object} -interfaces_count: 0000 -fields_count: 0000 -methods_count: 0001 - -methods[0]: - access_flags: public|abstract - name: blort - descriptor: ()V - attributes_count: 0001 - - attributes[0]: - name: Synthetic - length: 00000000 - end attributes[0] -end methods[0] -attributes_count: 0000 -end classfile diff --git a/dx/tests/019-method-attrib-Synthetic/info.txt b/dx/tests/019-method-attrib-Synthetic/info.txt deleted file mode 100644 index eddf4fb0c..000000000 --- a/dx/tests/019-method-attrib-Synthetic/info.txt +++ /dev/null @@ -1,6 +0,0 @@ -This is a dump of a simple class which is valid in structure but is overall -invalid. That being said, the system should still have no trouble parsing and -dumping it. - -The salient bit of parsing tested here is that the class has a single -method with a syntactically valid Synthetic attribute. diff --git a/dx/tests/019-method-attrib-Synthetic/run b/dx/tests/019-method-attrib-Synthetic/run deleted file mode 100644 index 16b775566..000000000 --- a/dx/tests/019-method-attrib-Synthetic/run +++ /dev/null @@ -1,17 +0,0 @@ -#!/bin/bash -# -# Copyright (C) 2007 The Android Open Source Project -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -dx --debug --dump small-class.txt diff --git a/dx/tests/019-method-attrib-Synthetic/small-class.txt b/dx/tests/019-method-attrib-Synthetic/small-class.txt deleted file mode 100644 index 458dae89f..000000000 --- a/dx/tests/019-method-attrib-Synthetic/small-class.txt +++ /dev/null @@ -1,37 +0,0 @@ -# -# sample small-but-valid classfile -# - -cafe babe # magic -0000 # minor_version -002e # major_version -0008 # constant_pool_count - -# -# constant_pool -# -07 0003 # 0001: class[Small] -07 0004 # 0002: class[java/lang/Object] -01 0005 "Small" # 0003: utf8["Small"] -01 0010 "java/lang/Object" # 0004: utf8["java/lang/Object"] -01 0005 "blort" # 0005: utf8["blort"] -01 0003 "()V" # 0006: utf8["()V"] -01 0009 "Synthetic" # 0007: utf8["Synthetic"] - -0001 # access_flags -0001 # this_class -0002 # super_class -0000 # interfaces_count -0000 # fields_count -0001 # methods_count - -# methods[0] -0401 # access_flags -0005 # name -0006 # descriptor -0001 # attributes_count -# attributes[0] -0007 # name -00000000 # length - -0000 # attributes_count diff --git a/dx/tests/020-method-attrib-Deprecated/expected.txt b/dx/tests/020-method-attrib-Deprecated/expected.txt deleted file mode 100644 index 8da8aa8d3..000000000 --- a/dx/tests/020-method-attrib-Deprecated/expected.txt +++ /dev/null @@ -1,36 +0,0 @@ -reading small-class.txt... -begin classfile -magic: cafebabe -minor_version: 0000 -major_version: 002e -constant_pool_count: 0008 - -constant_pool: - 0001: type{Small} - 0002: type{java.lang.Object} - 0003: utf8{"Small"} - 0004: utf8{"java/lang/Object"} - 0005: utf8{"blort"} - 0006: utf8{"()V"} - 0007: utf8{"Deprecated"} -end constant_pool -access_flags: public -this_class: type{Small} -super_class: type{java.lang.Object} -interfaces_count: 0000 -fields_count: 0000 -methods_count: 0001 - -methods[0]: - access_flags: public|abstract - name: blort - descriptor: ()V - attributes_count: 0001 - - attributes[0]: - name: Deprecated - length: 00000000 - end attributes[0] -end methods[0] -attributes_count: 0000 -end classfile diff --git a/dx/tests/020-method-attrib-Deprecated/info.txt b/dx/tests/020-method-attrib-Deprecated/info.txt deleted file mode 100644 index b7c6266b0..000000000 --- a/dx/tests/020-method-attrib-Deprecated/info.txt +++ /dev/null @@ -1,6 +0,0 @@ -This is a dump of a simple class which is valid in structure but is overall -invalid. That being said, the system should still have no trouble parsing and -dumping it. - -The salient bit of parsing tested here is that the class has a single -method with a syntactically valid Deprecated attribute. diff --git a/dx/tests/020-method-attrib-Deprecated/run b/dx/tests/020-method-attrib-Deprecated/run deleted file mode 100644 index 16b775566..000000000 --- a/dx/tests/020-method-attrib-Deprecated/run +++ /dev/null @@ -1,17 +0,0 @@ -#!/bin/bash -# -# Copyright (C) 2007 The Android Open Source Project -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -dx --debug --dump small-class.txt diff --git a/dx/tests/020-method-attrib-Deprecated/small-class.txt b/dx/tests/020-method-attrib-Deprecated/small-class.txt deleted file mode 100644 index f9067337c..000000000 --- a/dx/tests/020-method-attrib-Deprecated/small-class.txt +++ /dev/null @@ -1,37 +0,0 @@ -# -# sample small-but-valid classfile -# - -cafe babe # magic -0000 # minor_version -002e # major_version -0008 # constant_pool_count - -# -# constant_pool -# -07 0003 # 0001: class[Small] -07 0004 # 0002: class[java/lang/Object] -01 0005 "Small" # 0003: utf8["Small"] -01 0010 "java/lang/Object" # 0004: utf8["java/lang/Object"] -01 0005 "blort" # 0005: utf8["blort"] -01 0003 "()V" # 0006: utf8["()V"] -01 000a "Deprecated" # 0007: utf8["Deprecated"] - -0001 # access_flags -0001 # this_class -0002 # super_class -0000 # interfaces_count -0000 # fields_count -0001 # methods_count - -# methods[0] -0401 # access_flags -0005 # name -0006 # descriptor -0001 # attributes_count -# attributes[0] -0007 # name -00000000 # length - -0000 # attributes_count diff --git a/dx/tests/021-code-attrib-LineNumberTable/expected.txt b/dx/tests/021-code-attrib-LineNumberTable/expected.txt deleted file mode 100644 index 3f293100a..000000000 --- a/dx/tests/021-code-attrib-LineNumberTable/expected.txt +++ /dev/null @@ -1,52 +0,0 @@ -reading small-class.txt... -begin classfile -magic: cafebabe -minor_version: 0000 -major_version: 002e -constant_pool_count: 0009 - -constant_pool: - 0001: type{Small} - 0002: type{java.lang.Object} - 0003: utf8{"Small"} - 0004: utf8{"java/lang/Object"} - 0005: utf8{"blort"} - 0006: utf8{"()V"} - 0007: utf8{"Code"} - 0008: utf8{"LineNumberTable"} -end constant_pool -access_flags: public -this_class: type{Small} -super_class: type{java.lang.Object} -interfaces_count: 0000 -fields_count: 0000 -methods_count: 0001 - -methods[0]: - access_flags: public - name: blort - descriptor: ()V - attributes_count: 0001 - - attributes[0]: - name: Code - length: 0000001e - max_stack: 0001 - max_locals: 0001 - code_length: 00000002 - 0000: return - 0001: return - exception_table_length: 0000 - attributes_count: 0001 - - attributes[0]: - name: LineNumberTable - length: 0000000a - line_number_table_length: 0002 - 0000 17 - 0001 34 - end attributes[0] - end attributes[0] -end methods[0] -attributes_count: 0000 -end classfile diff --git a/dx/tests/021-code-attrib-LineNumberTable/info.txt b/dx/tests/021-code-attrib-LineNumberTable/info.txt deleted file mode 100644 index 3e81d2938..000000000 --- a/dx/tests/021-code-attrib-LineNumberTable/info.txt +++ /dev/null @@ -1,8 +0,0 @@ -This is a dump of a simple class which is valid in structure but is overall -invalid. That being said, the system should still have no trouble parsing and -dumping it. - -The salient bit of parsing tested here is that the class has a single -method with a simple Code attribute, which itself has a syntactically -valid LineNumberTable attribute. - diff --git a/dx/tests/021-code-attrib-LineNumberTable/run b/dx/tests/021-code-attrib-LineNumberTable/run deleted file mode 100644 index 16b775566..000000000 --- a/dx/tests/021-code-attrib-LineNumberTable/run +++ /dev/null @@ -1,17 +0,0 @@ -#!/bin/bash -# -# Copyright (C) 2007 The Android Open Source Project -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -dx --debug --dump small-class.txt diff --git a/dx/tests/021-code-attrib-LineNumberTable/small-class.txt b/dx/tests/021-code-attrib-LineNumberTable/small-class.txt deleted file mode 100644 index c28c39aa1..000000000 --- a/dx/tests/021-code-attrib-LineNumberTable/small-class.txt +++ /dev/null @@ -1,51 +0,0 @@ -# -# sample small-but-valid classfile -# - -cafe babe # magic -0000 # minor_version -002e # major_version -0009 # constant_pool_count - -# -# constant_pool -# -07 0003 # 0001: class[Small] -07 0004 # 0002: class[java/lang/Object] -01 0005 "Small" # 0003: utf8["Small"] -01 0010 "java/lang/Object" # 0004: utf8["java/lang/Object"] -01 0005 "blort" # 0005: utf8["blort"] -01 0003 "()V" # 0006: utf8["()V"] -01 0004 "Code" # 0007: utf8["Code"] -01 000f "LineNumberTable" # 0008: utf8["LineNumberTable"] - -0001 # access_flags -0001 # this_class -0002 # super_class -0000 # interfaces_count -0000 # fields_count -0001 # methods_count - -# methods[0] -0001 # access_flags -0005 # name -0006 # descriptor -0001 # attributes_count -# attributes[0] -0007 # name -0000001e # length -0001 # max_stack -0001 # max_locals -00000002 # code_length -b1 # 0000: return -b1 # 0001: return -0000 # exception_table_length -0001 # attributes_count -# attributes[0] -0008 # name -0000000a # length -0002 # line_number_table_length -0000 0011 # offset 0000, line #17 -0001 0022 # offset 0001, line #34 - -0000 # attributes_count diff --git a/dx/tests/022-code-attrib-LocalVariableTable/expected.txt b/dx/tests/022-code-attrib-LocalVariableTable/expected.txt deleted file mode 100644 index 80091edd5..000000000 --- a/dx/tests/022-code-attrib-LocalVariableTable/expected.txt +++ /dev/null @@ -1,57 +0,0 @@ -reading small-class.txt... -begin classfile -magic: cafebabe -minor_version: 0000 -major_version: 002e -constant_pool_count: 000d - -constant_pool: - 0001: type{Small} - 0002: type{java.lang.Object} - 0003: utf8{"Small"} - 0004: utf8{"java/lang/Object"} - 0005: utf8{"blort"} - 0006: utf8{"()V"} - 0007: utf8{"Code"} - 0008: utf8{"LocalVariableTable"} - 0009: utf8{"foo"} - 000a: utf8{"bar"} - 000b: utf8{"baz"} - 000c: utf8{"[I"} -end constant_pool -access_flags: public -this_class: type{Small} -super_class: type{java.lang.Object} -interfaces_count: 0000 -fields_count: 0000 -methods_count: 0001 - -methods[0]: - access_flags: public - name: blort - descriptor: ()V - attributes_count: 0001 - - attributes[0]: - name: Code - length: 00000034 - max_stack: 0001 - max_locals: 0002 - code_length: 00000002 - 0000: return - 0001: return - exception_table_length: 0000 - attributes_count: 0001 - - attributes[0]: - name: LocalVariableTable - length: 00000020 - local_variable_table_length: 0003 - 0000..0002 0000 foo [I - 0000..0001 0001 bar [I - 0001..0002 0001 baz [I - end attributes[0] - end attributes[0] -end methods[0] -attributes_count: 0000 -end classfile diff --git a/dx/tests/022-code-attrib-LocalVariableTable/info.txt b/dx/tests/022-code-attrib-LocalVariableTable/info.txt deleted file mode 100644 index d1afa33d6..000000000 --- a/dx/tests/022-code-attrib-LocalVariableTable/info.txt +++ /dev/null @@ -1,8 +0,0 @@ -This is a dump of a simple class which is valid in structure but is overall -invalid. That being said, the system should still have no trouble parsing and -dumping it. - -The salient bit of parsing tested here is that the class has a single -method with a simple Code attribute, which itself has a syntactically -valid LocalVariableTable attribute. - diff --git a/dx/tests/022-code-attrib-LocalVariableTable/run b/dx/tests/022-code-attrib-LocalVariableTable/run deleted file mode 100644 index 16b775566..000000000 --- a/dx/tests/022-code-attrib-LocalVariableTable/run +++ /dev/null @@ -1,17 +0,0 @@ -#!/bin/bash -# -# Copyright (C) 2007 The Android Open Source Project -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -dx --debug --dump small-class.txt diff --git a/dx/tests/022-code-attrib-LocalVariableTable/small-class.txt b/dx/tests/022-code-attrib-LocalVariableTable/small-class.txt deleted file mode 100644 index abbf8eadf..000000000 --- a/dx/tests/022-code-attrib-LocalVariableTable/small-class.txt +++ /dev/null @@ -1,56 +0,0 @@ -# -# sample small-but-valid classfile -# - -cafe babe # magic -0000 # minor_version -002e # major_version -000d # constant_pool_count - -# -# constant_pool -# -07 0003 # 0001: class[Small] -07 0004 # 0002: class[java/lang/Object] -01 0005 "Small" # 0003: utf8["Small"] -01 0010 "java/lang/Object" # 0004: utf8["java/lang/Object"] -01 0005 "blort" # 0005: utf8["blort"] -01 0003 "()V" # 0006: utf8["()V"] -01 0004 "Code" # 0007: utf8["Code"] -01 0012 "LocalVariableTable" # 0008: utf8["LocalVariableTable"] -01 0003 "foo" # 0009: utf8["foo"] -01 0003 "bar" # 000a: utf8["bar"] -01 0003 "baz" # 000b: utf8["baz"] -01 0002 "[I" # 000c: utf8["[I"] - -0001 # access_flags -0001 # this_class -0002 # super_class -0000 # interfaces_count -0000 # fields_count -0001 # methods_count - -# methods[0] -0001 # access_flags -0005 # name -0006 # descriptor -0001 # attributes_count -# attributes[0] -0007 # name -00000034 # length -0001 # max_stack -0002 # max_locals -00000002 # code_length -b1 # 0000: return -b1 # 0001: return -0000 # exception_table_length -0001 # attributes_count -# attributes[0] -0008 # name -00000020 # length -0003 # local_variable_table_length -0000 0002 0009 000c 0000 # 0000..0002 foo:[I #0000 -0000 0001 000a 000c 0001 # 0000..0001 bar:[I #0001 -0001 0001 000b 000c 0001 # 0001..0002 baz:[I #0001 - -0000 # attributes_count diff --git a/dx/tests/023-code-exception-table/expected.txt b/dx/tests/023-code-exception-table/expected.txt deleted file mode 100644 index 552e5d378..000000000 --- a/dx/tests/023-code-exception-table/expected.txt +++ /dev/null @@ -1,51 +0,0 @@ -reading small-class.txt... -begin classfile -magic: cafebabe -minor_version: 0000 -major_version: 002e -constant_pool_count: 000c - -constant_pool: - 0001: type{Small} - 0002: type{java.lang.Object} - 0003: utf8{"Small"} - 0004: utf8{"java/lang/Object"} - 0005: utf8{"blort"} - 0006: utf8{"()V"} - 0007: utf8{"Code"} - 0008: utf8{"java/lang/Error"} - 0009: utf8{"java/lang/Exception"} - 000a: type{java.lang.Error} - 000b: type{java.lang.Exception} -end constant_pool -access_flags: public -this_class: type{Small} -super_class: type{java.lang.Object} -interfaces_count: 0000 -fields_count: 0000 -methods_count: 0001 - -methods[0]: - access_flags: public - name: blort - descriptor: ()V - attributes_count: 0001 - - attributes[0]: - name: Code - length: 00000027 - max_stack: 0001 - max_locals: 0001 - code_length: 00000003 - 0000: return - 0001: return - 0002: return - exception_table_length: 0003 - 0000..0002 -> 0002 java.lang.Error - 0000..0001 -> 0001 java.lang.Exception - 0001..0002 -> 0002 <any> - attributes_count: 0000 - end attributes[0] -end methods[0] -attributes_count: 0000 -end classfile diff --git a/dx/tests/023-code-exception-table/info.txt b/dx/tests/023-code-exception-table/info.txt deleted file mode 100644 index f4bb35e5b..000000000 --- a/dx/tests/023-code-exception-table/info.txt +++ /dev/null @@ -1,8 +0,0 @@ -This is a dump of a simple class which is valid in structure but is overall -invalid. That being said, the system should still have no trouble parsing and -dumping it. - -The salient bit of parsing tested here is that the class has a single -method with a minimal but syntactically valid Code attribute, which -sports a non-empty syntactically valid exception table. - diff --git a/dx/tests/023-code-exception-table/run b/dx/tests/023-code-exception-table/run deleted file mode 100644 index 16b775566..000000000 --- a/dx/tests/023-code-exception-table/run +++ /dev/null @@ -1,17 +0,0 @@ -#!/bin/bash -# -# Copyright (C) 2007 The Android Open Source Project -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -dx --debug --dump small-class.txt diff --git a/dx/tests/023-code-exception-table/small-class.txt b/dx/tests/023-code-exception-table/small-class.txt deleted file mode 100644 index f8ff1f314..000000000 --- a/dx/tests/023-code-exception-table/small-class.txt +++ /dev/null @@ -1,52 +0,0 @@ -# -# sample small-but-valid classfile -# - -cafe babe # magic -0000 # minor_version -002e # major_version -000c # constant_pool_count - -# -# constant_pool -# -07 0003 # 0001: class[Small] -07 0004 # 0002: class[java/lang/Object] -01 0005 "Small" # 0003: utf8["Small"] -01 0010 "java/lang/Object" # 0004: utf8["java/lang/Object"] -01 0005 "blort" # 0005: utf8["blort"] -01 0003 "()V" # 0006: utf8["()V"] -01 0004 "Code" # 0007: utf8["Code"] -01 000f "java/lang/Error" # 0008: utf8["java/lang/Error"] -01 0013 "java/lang/Exception" # 0009: utf8["java/lang/Exception"] -07 0008 # 000a: class[java/lang/Error] -07 0009 # 000b: class[java/lang/Exception] - -0001 # access_flags -0001 # this_class -0002 # super_class -0000 # interfaces_count -0000 # fields_count -0001 # methods_count - -# methods[0] -0001 # access_flags -0005 # name -0006 # descriptor -0001 # attributes_count -# attributes[0] -0007 # name -00000027 # length -0001 # max_stack -0001 # max_locals -00000003 # code_length -b1 # 0000: return -b1 # 0001: return -b1 # 0002: return -0003 # exception_table_length -0000 0002 0002 000a # 0000..0002 -> 0002 java/lang/Error -0000 0001 0001 000b # 0000..0001 -> 0001 java/lang/Exception -0001 0002 0002 0000 # 0001..0002 -> 0002 <any> -0000 # attributes_count - -0000 # attributes_count diff --git a/dx/tests/024-code-bytecode/expected.txt b/dx/tests/024-code-bytecode/expected.txt deleted file mode 100644 index 4637474b6..000000000 --- a/dx/tests/024-code-bytecode/expected.txt +++ /dev/null @@ -1,294 +0,0 @@ -reading small-class.txt... -begin classfile -magic: cafebabe -minor_version: 0000 -major_version: 002e -constant_pool_count: 0017 - -constant_pool: - 0001: type{Small} - 0002: type{java.lang.Object} - 0003: utf8{"Small"} - 0004: utf8{"java/lang/Object"} - 0005: utf8{"blort"} - 0006: utf8{"()V"} - 0007: utf8{"Code"} - 0008: string{"Small"} - 0009: int{0x12345678 / 305419896} - 000a: float{0x42f6e666 / 123.45} - 000b: long{0x123456789abcdef0 / 1311768467463790320} - 000d: double{0x411958955f8a0903 / 415269.3433} - 000f: utf8{"blort"} - 0010: utf8{"x/y/Zzz"} - 0011: utf8{"()V"} - 0012: nat{blort:x/y/Zzz} - 0013: nat{blort:()V} - 0014: field{Small.blort:x/y/Zzz} - 0015: method{Small.blort:()V} - 0016: ifaceMethod{Small.blort:()V} -end constant_pool -access_flags: public -this_class: type{Small} -super_class: type{java.lang.Object} -interfaces_count: 0000 -fields_count: 0000 -methods_count: 0001 - -methods[0]: - access_flags: public - name: blort - descriptor: ()V - attributes_count: 0001 - - attributes[0]: - name: Code - length: 000001dc - max_stack: 0001 - max_locals: 0001 - code_length: 000001d0 - 0000: nop - 0001: aconst_null - 0002: iconst_m1 // #-01 - 0003: iconst_0 // #+00 - 0004: iconst_1 // #+01 - 0005: iconst_2 // #+02 - 0006: iconst_3 // #+03 - 0007: iconst_4 // #+04 - 0008: iconst_5 // #+05 - 0009: lconst_0 // +00 - 000a: lconst_1 // +01 - 000b: fconst_0 // 0.0 - 000c: fconst_1 // 1.0 - 000d: fconst_2 // 2.0 - 000e: dconst_0 // 0.0 - 000f: dconst_1 // 1.0 - 0010: bipush #+45 - 0012: sipush #+5432 - 0015: ldc string{"Small"} - 0017: ldc #+12345678 - 0019: ldc #42f6e666 // 123.45 - 001b: ldc_w string{"Small"} - 001e: ldc_w #+12345678 - 0021: ldc_w #42f6e666 // 123.45 - 0024: ldc2_w #+123456789abcdef0 - 0027: ldc2_w #411958955f8a0903 // 415269.3433 - 002a: iload 01 - 002c: lload 02 // category-2 - 002e: fload 03 - 0030: dload 04 // category-2 - 0032: aload 05 - 0034: iload_0 // 00 - 0035: iload_1 // 01 - 0036: iload_2 // 02 - 0037: iload_3 // 03 - 0038: lload_0 // 00, category-2 - 0039: lload_1 // 01, category-2 - 003a: lload_2 // 02, category-2 - 003b: lload_3 // 03, category-2 - 003c: fload_0 // 00 - 003d: fload_1 // 01 - 003e: fload_2 // 02 - 003f: fload_3 // 03 - 0040: dload_0 // 00, category-2 - 0041: dload_1 // 01, category-2 - 0042: dload_2 // 02, category-2 - 0043: dload_3 // 03, category-2 - 0044: aload_0 // 00 - 0045: aload_1 // 01 - 0046: aload_2 // 02 - 0047: aload_3 // 03 - 0048: iaload - 0049: laload - 004a: faload - 004b: daload - 004c: aaload - 004d: baload - 004e: caload - 004f: saload - 0050: istore 41 - 0052: lstore 42 // category-2 - 0054: fstore 43 - 0056: dstore 44 // category-2 - 0058: astore 45 - 005a: istore_0 // 00 - 005b: istore_1 // 01 - 005c: istore_2 // 02 - 005d: istore_3 // 03 - 005e: lstore_0 // 00, category-2 - 005f: lstore_1 // 01, category-2 - 0060: lstore_2 // 02, category-2 - 0061: lstore_3 // 03, category-2 - 0062: fstore_0 // 00 - 0063: fstore_1 // 01 - 0064: fstore_2 // 02 - 0065: fstore_3 // 03 - 0066: dstore_0 // 00, category-2 - 0067: dstore_1 // 01, category-2 - 0068: dstore_2 // 02, category-2 - 0069: dstore_3 // 03, category-2 - 006a: astore_0 // 00 - 006b: astore_1 // 01 - 006c: astore_2 // 02 - 006d: astore_3 // 03 - 006e: iastore - 006f: lastore - 0070: fastore - 0071: dastore - 0072: aastore - 0073: bastore - 0074: castore - 0075: sastore - 0076: pop - 0077: pop2 - 0078: dup - 0079: dup_x1 - 007a: dup_x2 - 007b: dup2 - 007c: dup2_x1 - 007d: dup2_x2 - 007e: swap - 007f: iadd - 0080: ladd - 0081: fadd - 0082: dadd - 0083: isub - 0084: lsub - 0085: fsub - 0086: dsub - 0087: imul - 0088: lmul - 0089: fmul - 008a: dmul - 008b: idiv - 008c: ldiv - 008d: fdiv - 008e: ddiv - 008f: irem - 0090: lrem - 0091: frem - 0092: drem - 0093: ineg - 0094: lneg - 0095: fneg - 0096: dneg - 0097: ishl - 0098: lshl - 0099: ishr - 009a: lshr - 009b: iushr - 009c: lushr - 009d: iand - 009e: land - 009f: ior - 00a0: lor - 00a1: ixor - 00a2: lxor - 00a3: iinc 05, #-01 - 00a6: i2l - 00a7: i2f - 00a8: i2d - 00a9: l2i - 00aa: l2f - 00ab: l2d - 00ac: f2i - 00ad: f2l - 00ae: f2d - 00af: d2i - 00b0: d2l - 00b1: d2f - 00b2: i2b - 00b3: i2c - 00b4: i2s - 00b5: lcmp - 00b6: fcmpl - 00b7: fcmpg - 00b8: dcmpl - 00b9: dcmpg - 00ba: ifeq 00ba - 00bd: ifne 00ba - 00c0: iflt 00ba - 00c3: ifge 00ba - 00c6: ifgt 00ba - 00c9: ifle 00ba - 00cc: if_icmpeq 00db - 00cf: if_icmpne 00db - 00d2: if_icmplt 00db - 00d5: if_icmpge 00db - 00d8: if_icmpgt 00db - 00db: if_icmple 00db - 00de: if_acmpeq 00de - 00e1: if_acmpne 00e1 - 00e4: goto 0000 - 00e7: jsr 00e7 - 00ea: ret 2f - 00ec: tableswitch - +12340000: 0000 - +12340001: 0001 - +12340002: 0002 - +12340003: 0003 - +12340004: 0004 - +12340005: 0005 - +12340006: 0007 - +12340007: 0009 - default: 00ea - 011c: lookupswitch - -7689edcc: 0148 - +00001000: 0149 - +03333333: 0149 - +79787776: 014b - default: 00ec - 0148: ireturn - 0149: lreturn - 014a: freturn - 014b: dreturn - 014c: areturn - 014d: return - 014e: getstatic field{Small.blort:x/y/Zzz} - 0151: putstatic field{Small.blort:x/y/Zzz} - 0154: getfield field{Small.blort:x/y/Zzz} - 0157: putfield field{Small.blort:x/y/Zzz} - 015a: invokevirtual method{Small.blort:()V} - 015d: invokespecial method{Small.blort:()V} - 0160: invokestatic method{Small.blort:()V} - 0163: invokeinterface ifaceMethod{Small.blort:()V}, 0001 - 0168: unused_ba - 0169: new type{Small} - 016c: newarray boolean - 016e: newarray char - 0170: newarray float - 0172: newarray double - 0174: newarray byte - 0176: newarray short - 0178: newarray int - 017a: newarray long - 017c: anewarray type{Small} - 017f: arraylength - 0180: athrow - 0181: checkcast type{java.lang.Object} - 0184: instanceof type{java.lang.Object} - 0187: monitorenter - 0188: monitorexit - 0189: wide iload 0123 - 018d: wide lload 0124 // category-2 - 0191: wide fload 0125 - 0195: wide dload 0126 // category-2 - 0199: wide aload 0127 - 019d: wide istore 20f0 - 01a1: wide lstore 20f1 // category-2 - 01a5: wide fstore 20f2 - 01a9: wide dstore 20f3 // category-2 - 01ad: wide astore 20f4 - 01b1: wide ret ffff - 01b5: wide iinc 0002, #+1000 - 01bb: multianewarray type{java.lang.Object}, 04 - 01bf: ifnull 0000 - 01c2: ifnonnull 01c2 - 01c5: goto_w 700001c5 - 01ca: jsr_w 000001c5 - 01cf: unused_ca - exception_table_length: 0000 - attributes_count: 0000 - end attributes[0] -end methods[0] -attributes_count: 0000 -end classfile diff --git a/dx/tests/024-code-bytecode/info.txt b/dx/tests/024-code-bytecode/info.txt deleted file mode 100644 index d1264a805..000000000 --- a/dx/tests/024-code-bytecode/info.txt +++ /dev/null @@ -1,7 +0,0 @@ -This is a dump of a simple class which is valid in structure but is overall -invalid. That being said, the system should still have no trouble parsing and -dumping it. - -The salient bit of parsing tested here is that the class has a single -method with a Code attribute, and the code[] array of the attribute has -one instance of each interesting variant of each possible bytecode. diff --git a/dx/tests/024-code-bytecode/run b/dx/tests/024-code-bytecode/run deleted file mode 100644 index 16b775566..000000000 --- a/dx/tests/024-code-bytecode/run +++ /dev/null @@ -1,17 +0,0 @@ -#!/bin/bash -# -# Copyright (C) 2007 The Android Open Source Project -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -dx --debug --dump small-class.txt diff --git a/dx/tests/024-code-bytecode/small-class.txt b/dx/tests/024-code-bytecode/small-class.txt deleted file mode 100644 index 2526cf2b2..000000000 --- a/dx/tests/024-code-bytecode/small-class.txt +++ /dev/null @@ -1,304 +0,0 @@ -# -# sample small-but-valid classfile -# - -cafe babe # magic -0000 # minor_version -002e # major_version -0017 # constant_pool_count - -# -# constant_pool -# -07 0003 # 0001: class[Small] -07 0004 # 0002: class[java/lang/Object] -01 0005 "Small" # 0003: utf8["Small"] -01 0010 "java/lang/Object" # 0004: utf8["java/lang/Object"] -01 0005 "blort" # 0005: utf8["blort"] -01 0003 "()V" # 0006: utf8["()V"] -01 0004 "Code" # 0007: utf8["Code"] -08 0003 # 0008: string["Small"] -03 12345678 # 0009: integer[0x12345678] -04 42f6e666 # 000a: float[123.45] -05 12345678 9abcdef0 # 000b: long[0x1234567890abcdef0] -06 41195895 5f8a0903 # 000d: double[415269.3433] -01 0005 "blort" # 000f: utf8["blort"] -01 0007 "x/y/Zzz" # 0010: utf8["x/y/Zzz"] -01 0003 "()V" # 0011: utf8["()V"] -0c 000f 0010 # 0012: nat[blort:x/y/Zzz] -0c 000f 0011 # 0013: nat[blort:()V] -09 0001 0012 # 0014: field[Small.blort:x/y/Zzz] -0a 0001 0013 # 0015: method[Small.blort:()V] -0b 0001 0013 # 0016: ifaceMethod[Small.blort:()V] - -0001 # access_flags -0001 # this_class -0002 # super_class -0000 # interfaces_count -0000 # fields_count -0001 # methods_count - -# methods[0] -0001 # access_flags -0005 # name -0006 # descriptor -0001 # attributes_count -# attributes[0] -0007 # name -000001dc # length (note: == code_length + 0x0c) -0001 # max_stack -0001 # max_locals -000001d0 # code_length - -00 # 0000: nop -01 # 0001: aconst_null -02 # 0002: aconst_m1 -03 # 0003: iconst_0 -04 # 0004: iconst_1 -05 # 0005: iconst_2 -06 # 0006: iconst_3 -07 # 0007: iconst_4 -08 # 0008: iconst_5 -09 # 0009: lconst_0 -0a # 000a: lconst_1 -0b # 000b: fconst_0 -0c # 000c: fconst_1 -0d # 000d: fconst_2 -0e # 000e: dconst_0 -0f # 000f: dconst_1 -10 45 # 0010: bipush #+45 -11 5432 # 0012: sipush #+5432 -12 08 # 0015: ldc <string> -12 09 # 0017: ldc <integer> -12 0a # 0019: ldc <float> -13 0008 # 001b: ldc_w <string> -13 0009 # 001e: ldc_w <integer> -13 000a # 0021: ldc_w <float> -14 000b # 0024: ldc2_w <long> -14 000d # 0027: ldc2_w <double> -15 01 # 002a: iload 01 -16 02 # 002c: lload 02 -17 03 # 002e: fload 03 -18 04 # 0030: dload 04 -19 05 # 0032: aload 05 -1a # 0034: iload_0 -1b # 0035: iload_1 -1c # 0036: iload_2 -1d # 0037: iload_3 -1e # 0038: lload_0 -1f # 0039: lload_1 -20 # 003a: lload_2 -21 # 003b: lload_3 -22 # 003c: fload_0 -23 # 003d: fload_1 -24 # 003e: fload_2 -25 # 003f: fload_3 -26 # 0040: dload_0 -27 # 0041: dload_1 -28 # 0042: dload_2 -29 # 0043: dload_3 -2a # 0044: aload_0 -2b # 0045: aload_1 -2c # 0046: aload_2 -2d # 0047: aload_3 -2e # 0048: iaload -2f # 0049: laload -30 # 004a: faload -31 # 004b: daload -32 # 004c: aaload -33 # 004d: baload -34 # 004e: caload -35 # 004f: saload -36 41 # 0050: istore 41 -37 42 # 0052: lstore 42 -38 43 # 0054: fstore 43 -39 44 # 0056: dstore 44 -3a 45 # 0058: astore 45 -3b # 005a: istore_0 -3c # 005b: istore_1 -3d # 005c: istore_2 -3e # 005d: istore_3 -3f # 005e: lstore_0 -40 # 005f: lstore_1 -41 # 0060: lstore_2 -42 # 0061: lstore_3 -43 # 0062: fstore_0 -44 # 0063: fstore_1 -45 # 0064: fstore_2 -46 # 0065: fstore_3 -47 # 0066: dstore_0 -48 # 0067: dstore_1 -49 # 0068: dstore_2 -4a # 0069: dstore_3 -4b # 006a: astore_0 -4c # 006b: astore_1 -4d # 006c: astore_2 -4e # 006d: astore_3 -4f # 006e: iastore -50 # 006f: lastore -51 # 0070: fastore -52 # 0071: dastore -53 # 0072: aastore -54 # 0073: bastore -55 # 0074: castore -56 # 0075: sastore -57 # 0076: pop -58 # 0077: pop2 -59 # 0078: dup -5a # 0079: dup_x1 -5b # 007a: dup_x2 -5c # 007b: dup2 -5d # 007c: dup2_x1 -5e # 007d: dup2_x2 -5f # 007e: swap -60 # 007f: iadd -61 # 0080: ladd -62 # 0081: fadd -63 # 0082: dadd -64 # 0083: isub -65 # 0084: lsub -66 # 0085: fsub -67 # 0086: dsub -68 # 0087: imul -69 # 0088: lmul -6a # 0089: fmul -6b # 008a: dmul -6c # 008b: idiv -6d # 008c: ldiv -6e # 008d: fdiv -6f # 008e: ddiv -70 # 008f: irem -71 # 0090: lrem -72 # 0091: frem -73 # 0092: drem -74 # 0093: ineg -75 # 0094: lneg -76 # 0095: fneg -77 # 0096: dneg -78 # 0097: ishl -79 # 0098: lshl -7a # 0099: ishr -7b # 009a: lshr -7c # 009b: iushr -7d # 009c: lushr -7e # 009d: iand -7f # 009e: land -80 # 009f: ior -81 # 00a0: lor -82 # 00a1: ixor -83 # 00a2: lxor -84 05 ff # 00a3: iinc 05, #-1 -85 # 00a6: i2l -86 # 00a7: i2f -87 # 00a8: i2d -88 # 00a9: l2i -89 # 00aa: l2f -8a # 00ab: l2d -8b # 00ac: f2i -8c # 00ad: f2l -8d # 00ae: f2d -8e # 00af: d2i -8f # 00b0: d2l -90 # 00b1: d2f -91 # 00b2: i2b -92 # 00b3: i2c -93 # 00b4: i2s -94 # 00b5: lcmp -95 # 00b6: fcmpl -96 # 00b7: fcmpg -97 # 00b8: dcmpl -98 # 00b9: dcmpg -99 0000 # 00ba: ifeq 00ba -9a fffd # 00bd: ifne 00ba -9b fffa # 00c0: iflt 00ba -9c fff7 # 00c3: ifge 00ba -9d fff4 # 00c6: ifgt 00ba -9e fff1 # 00c9: ifle 00ba -9f 000f # 00cc: if_icmpeq 00db -a0 000c # 00cf: if_icmpne 00db -a1 0009 # 00d2: if_icmplt 00db -a2 0006 # 00d5: if_icmpge 00db -a3 0003 # 00d8: if_icmpgt 00db -a4 0000 # 00db: if_icmple 00db -a5 0000 # 00de: if_acmpeq 00de -a6 0000 # 00e1: if_acmpne 00e1 -a7 ff1c # 00e4: goto 0000 -a8 0000 # 00e7: jsr 00e7 -a9 2f # 00ea: ret 2f -aa 000000 # 00ec: tableswitch + padding - fffffffe # default: 000000ea - 12340000 # low: 12340000 - 12340007 # high: 12340007 - ffffff14 # [0]: 00000000 - ffffff15 # [1]: 00000001 - ffffff16 # [2]: 00000002 - ffffff17 # [3]: 00000003 - ffffff18 # [4]: 00000004 - ffffff19 # [5]: 00000005 - ffffff1b # [6]: 00000007 - ffffff1d # [7]: 00000009 -ab 000000 # 011c: lookupswitch + padding - ffffffd0 # default: 000000ec - 00000004 # npairs: 4 - 89761234 # match[0]: 89761234 - 0000002c # offset[0]: 0148 - 00001000 # match[1]: 00001000 - 0000002d # offset[1]: 0149 - 03333333 # match[2]: 03333333 - 0000002d # offset[2]: 0149 - 79787776 # match[3]: 79787776 - 0000002f # offset[3]: 014b -ac # 0148: ireturn -ad # 0149: lreturn -ae # 014a: freturn -af # 014b: dreturn -b0 # 014c: areturn -b1 # 014d: return -b2 0014 # 014e: getstatic 0014 -b3 0014 # 0151: putstatic 0014 -b4 0014 # 0154: getfield 0014 -b5 0014 # 0157: putfield 0014 -b6 0015 # 015a: invokevirtual 0015 -b7 0015 # 015d: invokespecial 0015 -b8 0015 # 0160: invokestatic 0015 -b9 0016 01 00 # 0163: invokeinterface 0016 -ba # 0168: <unused> -bb 0001 # 0169: new 0001 -bc 04 # 016c: newarray boolean -bc 05 # 016e: newarray char -bc 06 # 0170: newarray float -bc 07 # 0172: newarray double -bc 08 # 0174: newarray byte -bc 09 # 0176: newarray short -bc 0a # 0178: newarray int -bc 0b # 017a: newarray long -bd 0001 # 017c: anewarray 0001 -be # 017f: arraylength -bf # 0180: athrow -c0 0002 # 0181: checkcast 0002 -c1 0002 # 0184: instanceof 0002 -c2 # 0187: monitorenter -c3 # 0188: monitorexit -c415 0123 # 0189: wide iload 0123 -c416 0124 # 018d: wide lload 0124 -c417 0125 # 0191: wide fload 0125 -c418 0126 # 0195: wide dload 0126 -c419 0127 # 0199: wide aload 0127 -c436 20f0 # 019d: wide istore 20f0 -c437 20f1 # 01a1: wide lstore 20f1 -c438 20f2 # 01a5: wide fstore 20f2 -c439 20f3 # 01a9: wide dstore 20f3 -c43a 20f4 # 01ad: wide astore 20f4 -c4a9 ffff # 01b1: wide ret ffff -c484 0002 1000 # 01b5: wide iinc 0002, 1000 -c5 0002 04 # 01bb: multianewarray 0002, #04 -c6 fe41 # 01bf: ifnull 0000 -c7 0000 # 01c2: ifnonnull 01c2 -c8 70000000 # 01c5: goto_w 700001c5 -c9 fffffffb # 01ca: jsr_w 000001c5 -ca # 01cf: <unused> - -0000 # exception_table_length -0000 # attributes_count - -0000 # attributes_count diff --git a/dx/tests/025-class-attrib-Signature/expected.txt b/dx/tests/025-class-attrib-Signature/expected.txt deleted file mode 100644 index 5ff56ed58..000000000 --- a/dx/tests/025-class-attrib-Signature/expected.txt +++ /dev/null @@ -1,29 +0,0 @@ -reading small-class.txt... -begin classfile -magic: cafebabe -minor_version: 0000 -major_version: 002e -constant_pool_count: 0007 - -constant_pool: - 0001: utf8{"Small"} - 0002: utf8{"java/lang/Object"} - 0003: type{Small} - 0004: type{java.lang.Object} - 0005: utf8{"Signature"} - 0006: utf8{"LYo;"} -end constant_pool -access_flags: public|super -this_class: type{Small} -super_class: type{java.lang.Object} -interfaces_count: 0000 -fields_count: 0000 -methods_count: 0000 -attributes_count: 0001 - -attributes[0]: - name: Signature - length: 00000002 - signature: utf8{"LYo;"} -end attributes[0] -end classfile diff --git a/dx/tests/025-class-attrib-Signature/info.txt b/dx/tests/025-class-attrib-Signature/info.txt deleted file mode 100644 index 3d0ce51ad..000000000 --- a/dx/tests/025-class-attrib-Signature/info.txt +++ /dev/null @@ -1,6 +0,0 @@ -This is a dump of a simple class which is valid in structure but is overall -invalid. That being said, the system should still have no trouble parsing and -dumping it. - -The salient bit of parsing tested here is that the class has a single -class-level Signature attribute, which is syntactically valid. diff --git a/dx/tests/025-class-attrib-Signature/run b/dx/tests/025-class-attrib-Signature/run deleted file mode 100644 index 1c759d60f..000000000 --- a/dx/tests/025-class-attrib-Signature/run +++ /dev/null @@ -1,17 +0,0 @@ -#!/bin/bash -# -# Copyright (C) 2007 The Android Open Source Project -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -dx --debug --dump --width=200 small-class.txt diff --git a/dx/tests/025-class-attrib-Signature/small-class.txt b/dx/tests/025-class-attrib-Signature/small-class.txt deleted file mode 100644 index d332e3a85..000000000 --- a/dx/tests/025-class-attrib-Signature/small-class.txt +++ /dev/null @@ -1,32 +0,0 @@ -# -# sample small-but-valid classfile -# - -cafe babe # magic -0000 # minor_version -002e # major_version -0007 # constant_pool_count - -# -# constant_pool -# -01 0005 "Small" # 0001: utf8["Small"] -01 0010 "java/lang/Object" # 0002: utf8["java/lang/Object"] -07 0001 # 0003: class[Small] -07 0002 # 0004: class[java/lang/Object] -01 0009 "Signature" # 0005: utf8["Signature"] -01 0004 "LYo;" # 0006: utf8["Yo"] - -0021 # access_flags -0003 # this_class -0004 # super_class -0000 # interfaces_count -0000 # fields_count -0000 # methods_count - -0001 # attributes_count - -# attribute[0] -0005 # name -00000002 # length -0006 # signature
\ No newline at end of file diff --git a/dx/tests/026-field-attrib-Signature/expected.txt b/dx/tests/026-field-attrib-Signature/expected.txt deleted file mode 100644 index c2e840efb..000000000 --- a/dx/tests/026-field-attrib-Signature/expected.txt +++ /dev/null @@ -1,38 +0,0 @@ -reading small-class.txt... -begin classfile -magic: cafebabe -minor_version: 0000 -major_version: 002e -constant_pool_count: 0009 - -constant_pool: - 0001: utf8{"Small"} - 0002: utf8{"java/lang/Object"} - 0003: type{Small} - 0004: type{java.lang.Object} - 0005: utf8{"Signature"} - 0006: utf8{"a"} - 0007: utf8{"I"} - 0008: utf8{"LYo;"} -end constant_pool -access_flags: public|super -this_class: type{Small} -super_class: type{java.lang.Object} -interfaces_count: 0000 -fields_count: 0001 - -fields[0]: - access_flags: public - name: a - descriptor: I - attributes_count: 0001 - - attributes[0]: - name: Signature - length: 00000002 - signature: utf8{"LYo;"} - end attributes[0] -end fields[0] -methods_count: 0000 -attributes_count: 0000 -end classfile diff --git a/dx/tests/026-field-attrib-Signature/info.txt b/dx/tests/026-field-attrib-Signature/info.txt deleted file mode 100644 index 5b21ccbd2..000000000 --- a/dx/tests/026-field-attrib-Signature/info.txt +++ /dev/null @@ -1,6 +0,0 @@ -This is a dump of a simple class which is valid in structure but is overall -invalid. That being said, the system should still have no trouble parsing and -dumping it. - -The salient bit of parsing tested here is that the class has a single -field with a syntactically valid Signature attribute. diff --git a/dx/tests/026-field-attrib-Signature/run b/dx/tests/026-field-attrib-Signature/run deleted file mode 100644 index 1c759d60f..000000000 --- a/dx/tests/026-field-attrib-Signature/run +++ /dev/null @@ -1,17 +0,0 @@ -#!/bin/bash -# -# Copyright (C) 2007 The Android Open Source Project -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -dx --debug --dump --width=200 small-class.txt diff --git a/dx/tests/026-field-attrib-Signature/small-class.txt b/dx/tests/026-field-attrib-Signature/small-class.txt deleted file mode 100644 index 07d56a055..000000000 --- a/dx/tests/026-field-attrib-Signature/small-class.txt +++ /dev/null @@ -1,40 +0,0 @@ -# -# sample small-but-valid classfile -# - -cafe babe # magic -0000 # minor_version -002e # major_version -0009 # constant_pool_count - -# -# constant_pool -# -01 0005 "Small" # 0001: utf8["Small"] -01 0010 "java/lang/Object" # 0002: utf8["java/lang/Object"] -07 0001 # 0003: class[Small] -07 0002 # 0004: class[java/lang/Object] -01 0009 "Signature" # 0005: utf8["Signature"] -01 0001 "a" # 0006: utf8["a"] -01 0001 "I" # 0007: utf8["I"] -01 0004 "LYo;" # 0008: utf8["Yo"] - -0021 # access_flags -0003 # this_class -0004 # super_class -0000 # interfaces_count - -0001 # fields_count - -# fields[0] -0001 # access_flags -0006 # "a" -0007 # "I" -0001 # attributes_count -# attributes[0] -0005 # name -00000002 # length -0008 # signature - -0000 # methods_count -0000 # attributes_count diff --git a/dx/tests/027-method-attrib-Signature/expected.txt b/dx/tests/027-method-attrib-Signature/expected.txt deleted file mode 100644 index abc97c0e9..000000000 --- a/dx/tests/027-method-attrib-Signature/expected.txt +++ /dev/null @@ -1,38 +0,0 @@ -reading small-class.txt... -begin classfile -magic: cafebabe -minor_version: 0000 -major_version: 002e -constant_pool_count: 0009 - -constant_pool: - 0001: type{Small} - 0002: type{java.lang.Object} - 0003: utf8{"Small"} - 0004: utf8{"java/lang/Object"} - 0005: utf8{"blort"} - 0006: utf8{"()V"} - 0007: utf8{"Signature"} - 0008: utf8{"LYo;"} -end constant_pool -access_flags: public -this_class: type{Small} -super_class: type{java.lang.Object} -interfaces_count: 0000 -fields_count: 0000 -methods_count: 0001 - -methods[0]: - access_flags: public|abstract - name: blort - descriptor: ()V - attributes_count: 0001 - - attributes[0]: - name: Signature - length: 00000002 - signature: utf8{"LYo;"} - end attributes[0] -end methods[0] -attributes_count: 0000 -end classfile diff --git a/dx/tests/027-method-attrib-Signature/info.txt b/dx/tests/027-method-attrib-Signature/info.txt deleted file mode 100644 index ea18c03d4..000000000 --- a/dx/tests/027-method-attrib-Signature/info.txt +++ /dev/null @@ -1,6 +0,0 @@ -This is a dump of a simple class which is valid in structure but is overall -invalid. That being said, the system should still have no trouble parsing and -dumping it. - -The salient bit of parsing tested here is that the class has a single -method with a syntactically valid Signature attribute. diff --git a/dx/tests/027-method-attrib-Signature/run b/dx/tests/027-method-attrib-Signature/run deleted file mode 100644 index 16b775566..000000000 --- a/dx/tests/027-method-attrib-Signature/run +++ /dev/null @@ -1,17 +0,0 @@ -#!/bin/bash -# -# Copyright (C) 2007 The Android Open Source Project -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -dx --debug --dump small-class.txt diff --git a/dx/tests/027-method-attrib-Signature/small-class.txt b/dx/tests/027-method-attrib-Signature/small-class.txt deleted file mode 100644 index c1cd6e3fc..000000000 --- a/dx/tests/027-method-attrib-Signature/small-class.txt +++ /dev/null @@ -1,39 +0,0 @@ -# -# sample small-but-valid classfile -# - -cafe babe # magic -0000 # minor_version -002e # major_version -0009 # constant_pool_count - -# -# constant_pool -# -07 0003 # 0001: class[Small] -07 0004 # 0002: class[java/lang/Object] -01 0005 "Small" # 0003: utf8["Small"] -01 0010 "java/lang/Object" # 0004: utf8["java/lang/Object"] -01 0005 "blort" # 0005: utf8["blort"] -01 0003 "()V" # 0006: utf8["()V"] -01 0009 "Signature" # 0007: utf8["Signature"] -01 0004 "LYo;" # 0008: utf8["Yo"] - -0001 # access_flags -0001 # this_class -0002 # super_class -0000 # interfaces_count -0000 # fields_count -0001 # methods_count - -# methods[0] -0401 # access_flags -0005 # name -0006 # descriptor -0001 # attributes_count -# attributes[0] -0007 # name -00000002 # length -0008 # signature - -0000 # attributes_count diff --git a/dx/tests/028-class-attrib-EnclosingMethod/expected.txt b/dx/tests/028-class-attrib-EnclosingMethod/expected.txt deleted file mode 100644 index 15e952470..000000000 --- a/dx/tests/028-class-attrib-EnclosingMethod/expected.txt +++ /dev/null @@ -1,61 +0,0 @@ -reading small-class-1.txt... -begin classfile -magic: cafebabe -minor_version: 0000 -major_version: 002e -constant_pool_count: 0006 - -constant_pool: - 0001: utf8{"Small"} - 0002: utf8{"java/lang/Object"} - 0003: type{Small} - 0004: type{java.lang.Object} - 0005: utf8{"EnclosingMethod"} -end constant_pool -access_flags: public|super -this_class: type{Small} -super_class: type{java.lang.Object} -interfaces_count: 0000 -fields_count: 0000 -methods_count: 0000 -attributes_count: 0001 - -attributes[0]: - name: EnclosingMethod - length: 00000004 - class: type{Small} - method: (none) -end attributes[0] -end classfile -reading small-class-2.txt... -begin classfile -magic: cafebabe -minor_version: 0000 -major_version: 002e -constant_pool_count: 0009 - -constant_pool: - 0001: utf8{"Small"} - 0002: utf8{"java/lang/Object"} - 0003: type{Small} - 0004: type{java.lang.Object} - 0005: utf8{"EnclosingMethod"} - 0006: utf8{"zorp"} - 0007: utf8{"()V"} - 0008: nat{zorp:()V} -end constant_pool -access_flags: public|super -this_class: type{Small} -super_class: type{java.lang.Object} -interfaces_count: 0000 -fields_count: 0000 -methods_count: 0000 -attributes_count: 0001 - -attributes[0]: - name: EnclosingMethod - length: 00000004 - class: type{Small} - method: nat{zorp:()V} -end attributes[0] -end classfile diff --git a/dx/tests/028-class-attrib-EnclosingMethod/info.txt b/dx/tests/028-class-attrib-EnclosingMethod/info.txt deleted file mode 100644 index 206a43e8b..000000000 --- a/dx/tests/028-class-attrib-EnclosingMethod/info.txt +++ /dev/null @@ -1,9 +0,0 @@ -This is a dump of two simple classes which are valid in structure but -are overall invalid. That being said, the system should still have no -trouble parsing and dumping them. - -The salient bit of parsing tested here is that each class has a single -class-level EnclosingMethod attribute, which is syntactically valid. There -are two possible variants (method may be null), and this test contains one -of each. - diff --git a/dx/tests/028-class-attrib-EnclosingMethod/run b/dx/tests/028-class-attrib-EnclosingMethod/run deleted file mode 100644 index f33a33878..000000000 --- a/dx/tests/028-class-attrib-EnclosingMethod/run +++ /dev/null @@ -1,17 +0,0 @@ -#!/bin/bash -# -# Copyright (C) 2007 The Android Open Source Project -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -dx --debug --dump --width=200 small-class-1.txt small-class-2.txt diff --git a/dx/tests/028-class-attrib-EnclosingMethod/small-class-1.txt b/dx/tests/028-class-attrib-EnclosingMethod/small-class-1.txt deleted file mode 100644 index aeaf2a3f0..000000000 --- a/dx/tests/028-class-attrib-EnclosingMethod/small-class-1.txt +++ /dev/null @@ -1,32 +0,0 @@ -# -# sample small-but-valid classfile -# - -cafe babe # magic -0000 # minor_version -002e # major_version -0006 # constant_pool_count - -# -# constant_pool -# -01 0005 "Small" # 0001: utf8["Small"] -01 0010 "java/lang/Object" # 0002: utf8["java/lang/Object"] -07 0001 # 0003: class[Small] -07 0002 # 0004: class[java/lang/Object] -01 000f "EnclosingMethod" # 0005: utf8["EnclosingMethod"] - -0021 # access_flags -0003 # this_class -0004 # super_class -0000 # interfaces_count -0000 # fields_count -0000 # methods_count - -0001 # attributes_count - -# attribute[0] -0005 # name -00000004 # length -0003 # class -0000 # method diff --git a/dx/tests/028-class-attrib-EnclosingMethod/small-class-2.txt b/dx/tests/028-class-attrib-EnclosingMethod/small-class-2.txt deleted file mode 100644 index 8e6148e79..000000000 --- a/dx/tests/028-class-attrib-EnclosingMethod/small-class-2.txt +++ /dev/null @@ -1,35 +0,0 @@ -# -# sample small-but-valid classfile -# - -cafe babe # magic -0000 # minor_version -002e # major_version -0009 # constant_pool_count - -# -# constant_pool -# -01 0005 "Small" # 0001: utf8["Small"] -01 0010 "java/lang/Object" # 0002: utf8["java/lang/Object"] -07 0001 # 0003: class[Small] -07 0002 # 0004: class[java/lang/Object] -01 000f "EnclosingMethod" # 0005: utf8["EnclosingMethod"] -01 0004 "zorp" # 0006: utf8["zorp"] -01 0003 "()V" # 0007: utf8["()V"] -0c 0006 0007 # 0008: nat[zorp:()V] - -0021 # access_flags -0003 # this_class -0004 # super_class -0000 # interfaces_count -0000 # fields_count -0000 # methods_count - -0001 # attributes_count - -# attribute[0] -0005 # name -00000004 # length -0003 # class -0008 # method diff --git a/dx/tests/029-unit-Bits/expected.txt b/dx/tests/029-unit-Bits/expected.txt deleted file mode 100644 index 54183385d..000000000 --- a/dx/tests/029-unit-Bits/expected.txt +++ /dev/null @@ -1 +0,0 @@ -Yay! diff --git a/dx/tests/029-unit-Bits/info.txt b/dx/tests/029-unit-Bits/info.txt deleted file mode 100644 index fa567158d..000000000 --- a/dx/tests/029-unit-Bits/info.txt +++ /dev/null @@ -1 +0,0 @@ -Unit test for com.android.dx.util.Bits. diff --git a/dx/tests/029-unit-Bits/run b/dx/tests/029-unit-Bits/run deleted file mode 100644 index 9937ce5b4..000000000 --- a/dx/tests/029-unit-Bits/run +++ /dev/null @@ -1,23 +0,0 @@ -#!/bin/bash -# -# Copyright (C) 2007 The Android Open Source Project -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -dx --junit com.android.dx.util._tests._Bits > unit-out.txt - -if [ "$?" = "0" ]; then - echo "Yay!" -else - cat unit-out.txt -fi diff --git a/dx/tests/030-minimal-jasmin/blort.j b/dx/tests/030-minimal-jasmin/blort.j deleted file mode 100644 index 45722bc80..000000000 --- a/dx/tests/030-minimal-jasmin/blort.j +++ /dev/null @@ -1,28 +0,0 @@ -; Copyright (C) 2007 The Android Open Source Project -; -; Licensed under the Apache License, Version 2.0 (the "License"); -; you may not use this file except in compliance with the License. -; You may obtain a copy of the License at -; -; http://www.apache.org/licenses/LICENSE-2.0 -; -; Unless required by applicable law or agreed to in writing, software -; distributed under the License is distributed on an "AS IS" BASIS, -; WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -; See the License for the specific language governing permissions and -; limitations under the License. - -.class blort -.super java/lang/Object - -.method public <init>()V - .limit locals 2 - .limit stack 3 - - aload_0 - dup - dup - astore_1 - pop2 - return -.end method diff --git a/dx/tests/030-minimal-jasmin/expected.txt b/dx/tests/030-minimal-jasmin/expected.txt deleted file mode 100644 index de52b4db6..000000000 --- a/dx/tests/030-minimal-jasmin/expected.txt +++ /dev/null @@ -1,7 +0,0 @@ -Generated: ./blort.class - 0000: aload_0 // 00 - 0001: dup - 0002: dup - 0003: astore_1 // 01 - 0004: pop2 - 0005: return diff --git a/dx/tests/030-minimal-jasmin/info.txt b/dx/tests/030-minimal-jasmin/info.txt deleted file mode 100644 index 816c244c9..000000000 --- a/dx/tests/030-minimal-jasmin/info.txt +++ /dev/null @@ -1,2 +0,0 @@ -This test is just a minimal test involving assembling a jasmin source -file and then dumping it. It doesn't test any features in particular. diff --git a/dx/tests/030-minimal-jasmin/run b/dx/tests/030-minimal-jasmin/run deleted file mode 100644 index 6a50596ab..000000000 --- a/dx/tests/030-minimal-jasmin/run +++ /dev/null @@ -1,18 +0,0 @@ -#!/bin/bash -# -# Copyright (C) 2007 The Android Open Source Project -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -jasmin -d . blort.j -dx --debug --dump --width=200 blort.class | grep ' 000.:' diff --git a/dx/tests/031-bb-dead-code/blort.j b/dx/tests/031-bb-dead-code/blort.j deleted file mode 100644 index d3e20d0a2..000000000 --- a/dx/tests/031-bb-dead-code/blort.j +++ /dev/null @@ -1,183 +0,0 @@ -; Copyright (C) 2007 The Android Open Source Project -; -; Licensed under the Apache License, Version 2.0 (the "License"); -; you may not use this file except in compliance with the License. -; You may obtain a copy of the License at -; -; http://www.apache.org/licenses/LICENSE-2.0 -; -; Unless required by applicable law or agreed to in writing, software -; distributed under the License is distributed on an "AS IS" BASIS, -; WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -; See the License for the specific language governing permissions and -; limitations under the License. - -.class blort -.super java/lang/Object - -.method public <init>()V - .limit locals 1 - - aload_0 - invokespecial java/lang/Object/<init>()V - return -.end method - -; dead code after the last reachable instruction in a method -.method public test_deadend1()V - return - aload_0 -.end method - -; dead code after the last reachable instruction in a method -.method public test_deadend2()V - ireturn - aload_0 - aload_0 -.end method - -; dead code after the last reachable instruction in a method -.method public test_deadend3()V - aconst_null - athrow - sipush 0x1234 -.end method - -; make sure an exception handler for a dead range doesn't get enlivened -.method public test_dead_exception_handler()V - return - nop -blort: - nop - nop - return -handler: - nop - return - .catch all from blort to handler using handler -.end method - -; dead code after goto instruction -.method public test_dead_goto()V - goto blort - nop -blort: - return -.end method - -; dead code after ret instruction -.method public test_dead_ret()V - ifeq blort - ret 0 - iconst_m1 -blort: - return -.end method - -; dead code after tableswitch instruction -.method public test_dead_tableswitch()V - tableswitch 0x10 - blort - default: blort - nop - nop - nop - aload_0 - aload_1 - aload_2 - aload_3 -blort: - return -.end method - -; dead code after lookupswitch instruction -.method public test_dead_lookupswitch()V - lookupswitch - 0x10: blort - 0x20: blort - default: blort - ldc "WHYA REYO UREA DING THIS ?" -blort: - return -.end method - -; dead code after ireturn instruction -.method public test_dead_ireturn()V - ifeq blort - ireturn - iconst_1 -blort: - return -.end method - -; dead code after lreturn instruction -.method public test_dead_lreturn()V - ifeq blort - lreturn - iconst_1 -blort: - return -.end method - -; dead code after freturn instruction -.method public test_dead_freturn()V - ifeq blort - freturn - iconst_1 -blort: - return -.end method - -; dead code after dreturn instruction -.method public test_dead_dreturn()V - ifeq blort - dreturn - iconst_1 -blort: - return -.end method - -; dead code after areturn instruction -.method public test_dead_areturn()V - ifeq blort - areturn - iconst_1 -blort: - return -.end method - -; dead code after return instruction -.method public test_dead_return()V - ifeq blort - return - iconst_1 -blort: - return -.end method - -; dead code after athrow instruction -.method public test_dead_athrow()V - ifeq blort - athrow - iconst_1 -blort: - return -.end method - -; dead code after wide ret instruction -.method public test_dead_wideret()V - ifeq blort - ret 0x0100 - iconst_1 -blort: - return -.end method - -; dead code after goto_w instruction -.method public test_dead_goto_w()V - goto_w blort - iconst_1 -blort: - return -.end method - diff --git a/dx/tests/031-bb-dead-code/expected.txt b/dx/tests/031-bb-dead-code/expected.txt deleted file mode 100644 index 1cd4959a2..000000000 --- a/dx/tests/031-bb-dead-code/expected.txt +++ /dev/null @@ -1,190 +0,0 @@ -Generated: ./blort.class -reading blort.class... -method <init> ()V -block 0000: 0000..0004 - 0000: aload_0 // 00 - 0001: invokespecial method{java.lang.Object.<init>:()V} - next 0004 -block 0004: 0004..0005 - 0004: return - returns - -method test_deadend1 ()V -block 0000: 0000..0001 - 0000: return - returns -dead code 0001..0002 - -method test_deadend2 ()V -block 0000: 0000..0001 - 0000: ireturn - returns -dead code 0001..0003 - -method test_deadend3 ()V -block 0000: 0000..0002 - 0000: aconst_null - 0001: athrow - returns -dead code 0002..0005 - -method test_dead_exception_handler ()V -block 0000: 0000..0001 - 0000: return - returns -dead code 0001..0007 - -method test_dead_goto ()V -block 0000: 0000..0003 - 0000: goto 0004 - next 0004 -dead code 0003..0004 -block 0004: 0004..0005 - 0004: return - returns - -method test_dead_ret ()V -block 0000: 0000..0003 - 0000: ifeq 0006 - next 0003 - next 0006 -block 0003: 0003..0005 - 0003: ret 00 - returns -dead code 0005..0006 -block 0006: 0006..0007 - 0006: return - returns - -method test_dead_tableswitch ()V -block 0000: 0000..0014 - 0000: tableswitch - default: 001b - next 001b -dead code 0014..001b -block 001b: 001b..001c - 001b: return - returns - -method test_dead_lookupswitch ()V -block 0000: 0000..001c - 0000: lookupswitch - default: 001e - next 001e -dead code 001c..001e -block 001e: 001e..001f - 001e: return - returns - -method test_dead_ireturn ()V -block 0000: 0000..0003 - 0000: ifeq 0005 - next 0003 - next 0005 -block 0003: 0003..0004 - 0003: ireturn - returns -dead code 0004..0005 -block 0005: 0005..0006 - 0005: return - returns - -method test_dead_lreturn ()V -block 0000: 0000..0003 - 0000: ifeq 0005 - next 0003 - next 0005 -block 0003: 0003..0004 - 0003: lreturn - returns -dead code 0004..0005 -block 0005: 0005..0006 - 0005: return - returns - -method test_dead_freturn ()V -block 0000: 0000..0003 - 0000: ifeq 0005 - next 0003 - next 0005 -block 0003: 0003..0004 - 0003: freturn - returns -dead code 0004..0005 -block 0005: 0005..0006 - 0005: return - returns - -method test_dead_dreturn ()V -block 0000: 0000..0003 - 0000: ifeq 0005 - next 0003 - next 0005 -block 0003: 0003..0004 - 0003: dreturn - returns -dead code 0004..0005 -block 0005: 0005..0006 - 0005: return - returns - -method test_dead_areturn ()V -block 0000: 0000..0003 - 0000: ifeq 0005 - next 0003 - next 0005 -block 0003: 0003..0004 - 0003: areturn - returns -dead code 0004..0005 -block 0005: 0005..0006 - 0005: return - returns - -method test_dead_return ()V -block 0000: 0000..0003 - 0000: ifeq 0005 - next 0003 - next 0005 -block 0003: 0003..0004 - 0003: return - returns -dead code 0004..0005 -block 0005: 0005..0006 - 0005: return - returns - -method test_dead_athrow ()V -block 0000: 0000..0003 - 0000: ifeq 0005 - next 0003 - next 0005 -block 0003: 0003..0004 - 0003: athrow - returns -dead code 0004..0005 -block 0005: 0005..0006 - 0005: return - returns - -method test_dead_wideret ()V -block 0000: 0000..0003 - 0000: ifeq 0008 - next 0003 - next 0008 -block 0003: 0003..0007 - 0003: wide ret 0100 - returns -dead code 0007..0008 -block 0008: 0008..0009 - 0008: return - returns - -method test_dead_goto_w ()V -block 0000: 0000..0005 - 0000: goto_w 00000006 - next 0006 -dead code 0005..0006 -block 0006: 0006..0007 - 0006: return - returns diff --git a/dx/tests/031-bb-dead-code/info.txt b/dx/tests/031-bb-dead-code/info.txt deleted file mode 100644 index d5aa398b2..000000000 --- a/dx/tests/031-bb-dead-code/info.txt +++ /dev/null @@ -1,3 +0,0 @@ -This test checks to see that the basic block recognizer properly omits -dead code. There is at least one example of dead code after each instruction -that *doesn't* flow to the next instruction. diff --git a/dx/tests/031-bb-dead-code/run b/dx/tests/031-bb-dead-code/run deleted file mode 100644 index 4f82e157f..000000000 --- a/dx/tests/031-bb-dead-code/run +++ /dev/null @@ -1,18 +0,0 @@ -#!/bin/bash -# -# Copyright (C) 2007 The Android Open Source Project -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -jasmin -d . blort.j -dx --debug --dump --basic-blocks --width=200 blort.class diff --git a/dx/tests/032-bb-live-code/blort.j b/dx/tests/032-bb-live-code/blort.j deleted file mode 100644 index a1ec1dc48..000000000 --- a/dx/tests/032-bb-live-code/blort.j +++ /dev/null @@ -1,343 +0,0 @@ -; Copyright (C) 2007 The Android Open Source Project -; -; Licensed under the Apache License, Version 2.0 (the "License"); -; you may not use this file except in compliance with the License. -; You may obtain a copy of the License at -; -; http://www.apache.org/licenses/LICENSE-2.0 -; -; Unless required by applicable law or agreed to in writing, software -; distributed under the License is distributed on an "AS IS" BASIS, -; WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -; See the License for the specific language governing permissions and -; limitations under the License. - -.class blort -.super java/lang/Object - -.method public <init>()V - .limit locals 1 - - aload_0 - invokespecial java/lang/Object/<init>()V - return -.end method - -; Test that an exception handler for a live range is enlivened. -.method public test_live_exception([I)V - nop - nop -start: - aload_0 - arraylength -end1: - nop -end2: - return -handler1: - return -handler2: - return - .catch java/lang/RuntimeException from start to end2 using handler2 - .catch all from start to end1 using handler1 -.end method - -; Test that an exception handler for a live range is dead as long as -; the covered code can't possibly throw. -.method public test_dead_exception()V - nop - nop -start: - nop -end1: - nop -end2: - return -handler1: - return -handler2: - return - .catch java/lang/RuntimeException from start to end2 using handler2 - .catch all from start to end1 using handler1 -.end method - -; Test all the if* variants. -.method public test_ifs()V - ifeq x0 - ifne x1 - iflt x2 - ifge x3 - ifgt x4 - ifle x5 - if_icmpeq x6 - if_icmpne x7 - if_icmplt x8 - if_icmpge x9 - if_icmpgt x10 - if_icmple x11 - if_acmpeq x12 - if_acmpne x13 - ifnull x14 - ifnonnull x15 - return -x0: - return -x1: - return -x2: - return -x3: - return -x4: - return -x5: - return -x6: - return -x7: - return -x8: - return -x9: - return -x10: - return -x11: - return -x12: - return -x13: - return -x14: - return -x15: - return -.end method - -; Test jsr and jsr_w. -.method public test_jsr()V - jsr j1 - jsr_w j2 - return -j1: - astore_0 - ret 0 -j2: - astore_0 - ret_w 0 -.end method - -; Test tableswitch. -.method public test_tableswitch()V - tableswitch 0x10 - t1 - t2 - default: t3 -t1: - return -t2: - return -t3: - return -.end method - -; Test lookupswitch. -.method public test_lookupswitch()V - lookupswitch - 0x05: s1 - 0x10: s2 - default: s3 -s1: - return -s2: - return -s3: - return -.end method - -; Test every non-branching op. -.method public test_nonbranch()V - nop - aconst_null - iconst_m1 - iconst_0 - iconst_1 - iconst_2 - iconst_3 - iconst_4 - iconst_5 - lconst_0 - lconst_1 - fconst_0 - fconst_1 - fconst_2 - dconst_0 - dconst_1 - bipush 0x10 - sipush 0x1000 - ldc "x" - ldc_w "y" - ldc2_w 3.0 - iload 5 - lload 5 - fload 5 - dload 5 - aload 5 - iload_0 - iload_1 - iload_2 - iload_3 - lload_0 - lload_1 - lload_2 - lload_3 - fload_0 - fload_1 - fload_2 - fload_3 - dload_0 - dload_1 - dload_2 - dload_3 - aload_0 - aload_1 - aload_2 - aload_3 - iaload - laload - faload - daload - aaload - baload - caload - saload - istore 5 - lstore 5 - fstore 5 - dstore 5 - astore 5 - istore_0 - istore_1 - istore_2 - istore_3 - lstore_0 - lstore_1 - lstore_2 - lstore_3 - fstore_0 - fstore_1 - fstore_2 - fstore_3 - dstore_0 - dstore_1 - dstore_2 - dstore_3 - astore_0 - astore_1 - astore_2 - astore_3 - iastore - lastore - fastore - dastore - aastore - bastore - castore - sastore - pop - pop2 - dup - dup_x1 - dup_x2 - dup2 - dup2_x1 - dup2_x2 - swap - iadd - ladd - fadd - dadd - isub - lsub - fsub - dsub - imul - lmul - fmul - dmul - idiv - ldiv - fdiv - ddiv - irem - lrem - frem - drem - ineg - lneg - fneg - dneg - ishl - lshl - ishr - lshr - iushr - lushr - iand - land - ior - lor - ixor - lxor - iinc 5 0x10 - i2l - i2f - i2d - l2i - l2f - l2d - f2i - f2l - f2d - d2i - d2l - d2f - i2b - i2c - i2s - lcmp - fcmpl - fcmpg - dcmpl - dcmpg - getstatic blort/x I - putstatic blort/x I - getfield blort/x I - putfield blort/x I - invokevirtual blort/x()V - invokespecial blort/x()V - invokestatic blort/x()V - invokeinterface blort/x()V 1 - new blort - newarray int - anewarray blort - arraylength - checkcast blort - instanceof blort - monitorenter - monitorexit - iload 0x100 - lload 0x100 - fload 0x100 - dload 0x100 - aload 0x100 - istore 0x100 - lstore 0x100 - fstore 0x100 - dstore 0x100 - astore 0x100 - iinc 0x123 0x321 - multianewarray [[[I 2 - return -.end method - diff --git a/dx/tests/032-bb-live-code/expected.txt b/dx/tests/032-bb-live-code/expected.txt deleted file mode 100644 index 26444afce..000000000 --- a/dx/tests/032-bb-live-code/expected.txt +++ /dev/null @@ -1,497 +0,0 @@ -Generated: ./blort.class -reading blort.class... -method <init> ()V -block 0000: 0000..0004 - 0000: aload_0 // 00 - 0001: invokespecial method{java.lang.Object.<init>:()V} - next 0004 -block 0004: 0004..0005 - 0004: return - returns - -method test_live_exception ([I)V -block 0000: 0000..0002 - 0000: nop - 0001: nop - next 0002 -block 0002: 0002..0004 - 0002: aload_0 // 00 - 0003: arraylength - next 0007 - next 0006 - next 0004 - catch java.lang.RuntimeException -> 0007 - catch <any> -> 0006 -block 0004: 0004..0005 - 0004: nop - next 0005 -block 0005: 0005..0006 - 0005: return - returns -block 0006: 0006..0007 - 0006: return - returns -block 0007: 0007..0008 - 0007: return - returns - -method test_dead_exception ()V -block 0000: 0000..0002 - 0000: nop - 0001: nop - next 0002 -block 0002: 0002..0003 - 0002: nop - next 0003 -block 0003: 0003..0004 - 0003: nop - next 0004 -block 0004: 0004..0005 - 0004: return - returns -block 0005: 0005..0006 - 0005: return - returns -block 0006: 0006..0007 - 0006: return - returns - -method test_ifs ()V -block 0000: 0000..0003 - 0000: ifeq 0031 - next 0003 - next 0031 -block 0003: 0003..0006 - 0003: ifne 0032 - next 0006 - next 0032 -block 0006: 0006..0009 - 0006: iflt 0033 - next 0009 - next 0033 -block 0009: 0009..000c - 0009: ifge 0034 - next 000c - next 0034 -block 000c: 000c..000f - 000c: ifgt 0035 - next 000f - next 0035 -block 000f: 000f..0012 - 000f: ifle 0036 - next 0012 - next 0036 -block 0012: 0012..0015 - 0012: if_icmpeq 0037 - next 0015 - next 0037 -block 0015: 0015..0018 - 0015: if_icmpne 0038 - next 0018 - next 0038 -block 0018: 0018..001b - 0018: if_icmplt 0039 - next 001b - next 0039 -block 001b: 001b..001e - 001b: if_icmpge 003a - next 001e - next 003a -block 001e: 001e..0021 - 001e: if_icmpgt 003b - next 0021 - next 003b -block 0021: 0021..0024 - 0021: if_icmple 003c - next 0024 - next 003c -block 0024: 0024..0027 - 0024: if_acmpeq 003d - next 0027 - next 003d -block 0027: 0027..002a - 0027: if_acmpne 003e - next 002a - next 003e -block 002a: 002a..002d - 002a: ifnull 003f - next 002d - next 003f -block 002d: 002d..0030 - 002d: ifnonnull 0040 - next 0030 - next 0040 -block 0030: 0030..0031 - 0030: return - returns -block 0031: 0031..0032 - 0031: return - returns -block 0032: 0032..0033 - 0032: return - returns -block 0033: 0033..0034 - 0033: return - returns -block 0034: 0034..0035 - 0034: return - returns -block 0035: 0035..0036 - 0035: return - returns -block 0036: 0036..0037 - 0036: return - returns -block 0037: 0037..0038 - 0037: return - returns -block 0038: 0038..0039 - 0038: return - returns -block 0039: 0039..003a - 0039: return - returns -block 003a: 003a..003b - 003a: return - returns -block 003b: 003b..003c - 003b: return - returns -block 003c: 003c..003d - 003c: return - returns -block 003d: 003d..003e - 003d: return - returns -block 003e: 003e..003f - 003e: return - returns -block 003f: 003f..0040 - 003f: return - returns -block 0040: 0040..0041 - 0040: return - returns - -method test_jsr ()V -block 0000: 0000..0003 - 0000: jsr 0009 - next 0003 - next 0009 -block 0003: 0003..0008 - 0003: jsr_w 0000000c - next 0008 - next 000c -block 0008: 0008..0009 - 0008: return - returns -block 0009: 0009..000c - 0009: astore_0 // 00 - 000a: ret 00 - returns -block 000c: 000c..0011 - 000c: astore_0 // 00 - 000d: wide ret 0000 - returns - -method test_tableswitch ()V -block 0000: 0000..0018 - 0000: tableswitch - +00000010: 0018 - +00000011: 0019 - default: 001a - next 0018 - next 0019 - next 001a -block 0018: 0018..0019 - 0018: return - returns -block 0019: 0019..001a - 0019: return - returns -block 001a: 001a..001b - 001a: return - returns - -method test_lookupswitch ()V -block 0000: 0000..001c - 0000: lookupswitch - +00000005: 001c - +00000010: 001d - default: 001e - next 001c - next 001d - next 001e -block 001c: 001c..001d - 001c: return - returns -block 001d: 001d..001e - 001d: return - returns -block 001e: 001e..001f - 001e: return - returns - -method test_nonbranch ()V -block 0000: 0000..0017 - 0000: nop - 0001: aconst_null - 0002: iconst_m1 // #-01 - 0003: iconst_0 // #+00 - 0004: iconst_1 // #+01 - 0005: iconst_2 // #+02 - 0006: iconst_3 // #+03 - 0007: iconst_4 // #+04 - 0008: iconst_5 // #+05 - 0009: lconst_0 // +00 - 000a: lconst_1 // +01 - 000b: fconst_0 // 0.0 - 000c: fconst_1 // 1.0 - 000d: fconst_2 // 2.0 - 000e: dconst_0 // 0.0 - 000f: dconst_1 // 1.0 - 0010: bipush #+10 - 0012: sipush #+1000 - 0015: ldc string{"x"} - next 0017 -block 0017: 0017..001a - 0017: ldc_w string{"y"} - next 001a -block 001a: 001a..003c - 001a: ldc2_w #4008000000000000 // 3.0 - 001d: iload 05 - 001f: lload 05 // category-2 - 0021: fload 05 - 0023: dload 05 // category-2 - 0025: aload 05 - 0027: iload_0 // 00 - 0028: iload_1 // 01 - 0029: iload_2 // 02 - 002a: iload_3 // 03 - 002b: lload_0 // 00, category-2 - 002c: lload_1 // 01, category-2 - 002d: lload_2 // 02, category-2 - 002e: lload_3 // 03, category-2 - 002f: fload_0 // 00 - 0030: fload_1 // 01 - 0031: fload_2 // 02 - 0032: fload_3 // 03 - 0033: dload_0 // 00, category-2 - 0034: dload_1 // 01, category-2 - 0035: dload_2 // 02, category-2 - 0036: dload_3 // 03, category-2 - 0037: aload_0 // 00 - 0038: aload_1 // 01 - 0039: aload_2 // 02 - 003a: aload_3 // 03 - 003b: iaload - next 003c -block 003c: 003c..003d - 003c: laload - next 003d -block 003d: 003d..003e - 003d: faload - next 003e -block 003e: 003e..003f - 003e: daload - next 003f -block 003f: 003f..0040 - 003f: aaload - next 0040 -block 0040: 0040..0041 - 0040: baload - next 0041 -block 0041: 0041..0042 - 0041: caload - next 0042 -block 0042: 0042..0043 - 0042: saload - next 0043 -block 0043: 0043..0062 - 0043: istore 05 - 0045: lstore 05 // category-2 - 0047: fstore 05 - 0049: dstore 05 // category-2 - 004b: astore 05 - 004d: istore_0 // 00 - 004e: istore_1 // 01 - 004f: istore_2 // 02 - 0050: istore_3 // 03 - 0051: lstore_0 // 00, category-2 - 0052: lstore_1 // 01, category-2 - 0053: lstore_2 // 02, category-2 - 0054: lstore_3 // 03, category-2 - 0055: fstore_0 // 00 - 0056: fstore_1 // 01 - 0057: fstore_2 // 02 - 0058: fstore_3 // 03 - 0059: dstore_0 // 00, category-2 - 005a: dstore_1 // 01, category-2 - 005b: dstore_2 // 02, category-2 - 005c: dstore_3 // 03, category-2 - 005d: astore_0 // 00 - 005e: astore_1 // 01 - 005f: astore_2 // 02 - 0060: astore_3 // 03 - 0061: iastore - next 0062 -block 0062: 0062..0063 - 0062: lastore - next 0063 -block 0063: 0063..0064 - 0063: fastore - next 0064 -block 0064: 0064..0065 - 0064: dastore - next 0065 -block 0065: 0065..0066 - 0065: aastore - next 0066 -block 0066: 0066..0067 - 0066: bastore - next 0067 -block 0067: 0067..0068 - 0067: castore - next 0068 -block 0068: 0068..0069 - 0068: sastore - next 0069 -block 0069: 0069..007f - 0069: pop - 006a: pop2 - 006b: dup - 006c: dup_x1 - 006d: dup_x2 - 006e: dup2 - 006f: dup2_x1 - 0070: dup2_x2 - 0071: swap - 0072: iadd - 0073: ladd - 0074: fadd - 0075: dadd - 0076: isub - 0077: lsub - 0078: fsub - 0079: dsub - 007a: imul - 007b: lmul - 007c: fmul - 007d: dmul - 007e: idiv - next 007f -block 007f: 007f..0080 - 007f: ldiv - next 0080 -block 0080: 0080..0083 - 0080: fdiv - 0081: ddiv - 0082: irem - next 0083 -block 0083: 0083..0084 - 0083: lrem - next 0084 -block 0084: 0084..00b0 - 0084: frem - 0085: drem - 0086: ineg - 0087: lneg - 0088: fneg - 0089: dneg - 008a: ishl - 008b: lshl - 008c: ishr - 008d: lshr - 008e: iushr - 008f: lushr - 0090: iand - 0091: land - 0092: ior - 0093: lor - 0094: ixor - 0095: lxor - 0096: iinc 05, #+10 - 0099: i2l - 009a: i2f - 009b: i2d - 009c: l2i - 009d: l2f - 009e: l2d - 009f: f2i - 00a0: f2l - 00a1: f2d - 00a2: d2i - 00a3: d2l - 00a4: d2f - 00a5: i2b - 00a6: i2c - 00a7: i2s - 00a8: lcmp - 00a9: fcmpl - 00aa: fcmpg - 00ab: dcmpl - 00ac: dcmpg - 00ad: getstatic field{blort.x:I} - next 00b0 -block 00b0: 00b0..00b3 - 00b0: putstatic field{blort.x:I} - next 00b3 -block 00b3: 00b3..00b6 - 00b3: getfield field{blort.x:I} - next 00b6 -block 00b6: 00b6..00b9 - 00b6: putfield field{blort.x:I} - next 00b9 -block 00b9: 00b9..00bc - 00b9: invokevirtual method{blort.x:()V} - next 00bc -block 00bc: 00bc..00bf - 00bc: invokespecial method{blort.x:()V} - next 00bf -block 00bf: 00bf..00c2 - 00bf: invokestatic method{blort.x:()V} - next 00c2 -block 00c2: 00c2..00c7 - 00c2: invokeinterface ifaceMethod{blort.x:()V}, 0001 - next 00c7 -block 00c7: 00c7..00ca - 00c7: new type{blort} - next 00ca -block 00ca: 00ca..00cc - 00ca: newarray int - next 00cc -block 00cc: 00cc..00cf - 00cc: anewarray type{blort} - next 00cf -block 00cf: 00cf..00d0 - 00cf: arraylength - next 00d0 -block 00d0: 00d0..00d3 - 00d0: checkcast type{blort} - next 00d3 -block 00d3: 00d3..00d6 - 00d3: instanceof type{blort} - next 00d6 -block 00d6: 00d6..00d7 - 00d6: monitorenter - next 00d7 -block 00d7: 00d7..00d8 - 00d7: monitorexit - next 00d8 -block 00d8: 00d8..010a - 00d8: wide iload 0100 - 00dc: wide lload 0100 // category-2 - 00e0: wide fload 0100 - 00e4: wide dload 0100 // category-2 - 00e8: wide aload 0100 - 00ec: wide istore 0100 - 00f0: wide lstore 0100 // category-2 - 00f4: wide fstore 0100 - 00f8: wide dstore 0100 // category-2 - 00fc: wide astore 0100 - 0100: wide iinc 0123, #+0321 - 0106: multianewarray type{int[][][]}, 02 - next 010a -block 010a: 010a..010b - 010a: return - returns diff --git a/dx/tests/032-bb-live-code/info.txt b/dx/tests/032-bb-live-code/info.txt deleted file mode 100644 index f94b435c9..000000000 --- a/dx/tests/032-bb-live-code/info.txt +++ /dev/null @@ -1,5 +0,0 @@ -This test checks to see that the basic block recognizer properly -includes as live code all code which could possibly be flowed -to. There is at least one example of each instruction which allows -flow to the subsequent instruction, and all forks of each conditional -branch are checked for liveness as well. diff --git a/dx/tests/032-bb-live-code/run b/dx/tests/032-bb-live-code/run deleted file mode 100644 index 4f82e157f..000000000 --- a/dx/tests/032-bb-live-code/run +++ /dev/null @@ -1,18 +0,0 @@ -#!/bin/bash -# -# Copyright (C) 2007 The Android Open Source Project -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -jasmin -d . blort.j -dx --debug --dump --basic-blocks --width=200 blort.class diff --git a/dx/tests/033-unit-IntList/expected.txt b/dx/tests/033-unit-IntList/expected.txt deleted file mode 100644 index 54183385d..000000000 --- a/dx/tests/033-unit-IntList/expected.txt +++ /dev/null @@ -1 +0,0 @@ -Yay! diff --git a/dx/tests/033-unit-IntList/info.txt b/dx/tests/033-unit-IntList/info.txt deleted file mode 100644 index 7d7e8aaad..000000000 --- a/dx/tests/033-unit-IntList/info.txt +++ /dev/null @@ -1 +0,0 @@ -Unit test for com.android.dx.util.IntList. diff --git a/dx/tests/033-unit-IntList/run b/dx/tests/033-unit-IntList/run deleted file mode 100644 index 16ca6fb8c..000000000 --- a/dx/tests/033-unit-IntList/run +++ /dev/null @@ -1,23 +0,0 @@ -#!/bin/bash -# -# Copyright (C) 2007 The Android Open Source Project -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -dx --junit com.android.dx.util._tests._IntList > unit-out.txt - -if [ "$?" = "0" ]; then - echo "Yay!" -else - cat unit-out.txt -fi diff --git a/dx/tests/034-dex-minimal/blort.j b/dx/tests/034-dex-minimal/blort.j deleted file mode 100644 index b4715b2ed..000000000 --- a/dx/tests/034-dex-minimal/blort.j +++ /dev/null @@ -1,16 +0,0 @@ -; Copyright (C) 2007 The Android Open Source Project -; -; Licensed under the Apache License, Version 2.0 (the "License"); -; you may not use this file except in compliance with the License. -; You may obtain a copy of the License at -; -; http://www.apache.org/licenses/LICENSE-2.0 -; -; Unless required by applicable law or agreed to in writing, software -; distributed under the License is distributed on an "AS IS" BASIS, -; WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -; See the License for the specific language governing permissions and -; limitations under the License. - -.class blort -.super java/lang/Object diff --git a/dx/tests/034-dex-minimal/expected.txt b/dx/tests/034-dex-minimal/expected.txt deleted file mode 100644 index a8f81c89b..000000000 --- a/dx/tests/034-dex-minimal/expected.txt +++ /dev/null @@ -1,70 +0,0 @@ -000000: 6465 780a 3033|magic: "dex\n035\0" -000006: 3500 | -000008: be0b 70d9 |checksum -00000c: 1d9c 3f88 730d|signature -000012: 0ed6 caa3 77d4| -000018: 5204 65e7 322d| -00001e: 365a | -000020: 8c00 0000 |file_size: 0000008c -000024: 7000 0000 |header_size: 00000070 -000028: 7856 3412 |endian_tag: 12345678 -00002c: 0000 0000 |link_size: 0 -000030: 0000 0000 |link_off: 0 -000034: 7000 0000 |map_off: 00000070 -000038: 0000 0000 |string_ids_size: 00000000 -00003c: 0000 0000 |string_ids_off: 00000000 -000040: 0000 0000 |type_ids_size: 00000000 -000044: 0000 0000 |type_ids_off: 00000000 -000048: 0000 0000 |proto_ids_size: 00000000 -00004c: 0000 0000 |proto_ids_off: 00000000 -000050: 0000 0000 |field_ids_size: 00000000 -000054: 0000 0000 |field_ids_off: 00000000 -000058: 0000 0000 |method_ids_size: 00000000 -00005c: 0000 0000 |method_ids_off: 00000000 -000060: 0000 0000 |class_defs_size: 00000000 -000064: 0000 0000 |class_defs_off: 00000000 -000068: 1c00 0000 |data_size: 0000001c -00006c: 7000 0000 |data_off: 00000070 - | - |string_ids: - | - |type_ids: - | - |proto_ids: - | - |field_ids: - | - |method_ids: - | - |class_defs: - | - |word_data: - | - | - |string_data: - | - |byte_data: - | - | - |map: - |[70] map list -000070: 0200 0000 | size: 00000002 - |[74] header_item map -000074: 0000 | type: 0000 // TYPE_HEADER_ITEM -000076: 0000 | unused: 0 -000078: 0100 0000 | size: 00000001 -00007c: 0000 0000 | offset: 00000000 - |[80] map_list map -000080: 0010 | type: 1000 // TYPE_MAP_LIST -000082: 0000 | unused: 0 -000084: 0100 0000 | size: 00000001 -000088: 7000 0000 | offset: 00000070 - | - |statistics: - | header: 1 item; 112 bytes total - | 112 bytes/item - | map list: 1 item; 28 bytes total - | 28 bytes/item - -processing blort.class... -Good! diff --git a/dx/tests/034-dex-minimal/info.txt b/dx/tests/034-dex-minimal/info.txt deleted file mode 100644 index 13bb9abdb..000000000 --- a/dx/tests/034-dex-minimal/info.txt +++ /dev/null @@ -1,9 +0,0 @@ -This is a smoke test of a couple cases of minimal dex creation: - -The first test tries to create the truly minimal dex file by using the ---no-files option. The output dump of this is checked to make sure it -is exactly correct. (There is arguably only one "right" answer.) - -The second test tries to convert a minimal classfile and ensures that -the conversion runs without failure, though the contents of the -converted file are not checked for correctness. diff --git a/dx/tests/034-dex-minimal/run b/dx/tests/034-dex-minimal/run deleted file mode 100644 index bf90624b0..000000000 --- a/dx/tests/034-dex-minimal/run +++ /dev/null @@ -1,24 +0,0 @@ -#!/bin/bash -# -# Copyright (C) 2007 The Android Open Source Project -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -dx --debug --dex --dump-to=- --no-files -echo "" - -jasmin -d . blort.j >/dev/null -dx --verbose --debug --dex --output=blort.dex blort.class -if [ -r blort.dex ]; then - echo Good! -fi diff --git a/dx/tests/035-dex-instance-var/blort.j b/dx/tests/035-dex-instance-var/blort.j deleted file mode 100644 index 1bcdf8ead..000000000 --- a/dx/tests/035-dex-instance-var/blort.j +++ /dev/null @@ -1,18 +0,0 @@ -; Copyright (C) 2007 The Android Open Source Project -; -; Licensed under the Apache License, Version 2.0 (the "License"); -; you may not use this file except in compliance with the License. -; You may obtain a copy of the License at -; -; http://www.apache.org/licenses/LICENSE-2.0 -; -; Unless required by applicable law or agreed to in writing, software -; distributed under the License is distributed on an "AS IS" BASIS, -; WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -; See the License for the specific language governing permissions and -; limitations under the License. - -.class blort -.super java/lang/Object - -.field public x I diff --git a/dx/tests/035-dex-instance-var/expected.txt b/dx/tests/035-dex-instance-var/expected.txt deleted file mode 100644 index a1db6a475..000000000 --- a/dx/tests/035-dex-instance-var/expected.txt +++ /dev/null @@ -1 +0,0 @@ -Good! diff --git a/dx/tests/035-dex-instance-var/info.txt b/dx/tests/035-dex-instance-var/info.txt deleted file mode 100644 index 294c9eb00..000000000 --- a/dx/tests/035-dex-instance-var/info.txt +++ /dev/null @@ -1,4 +0,0 @@ -This is a smoke test of dex conversion, which ensures that the -conversion runs without failure, though the contents of the converted -file are not checked for correctness. This test is of a classfile with -just an instance variable. diff --git a/dx/tests/035-dex-instance-var/run b/dx/tests/035-dex-instance-var/run deleted file mode 100644 index d7aa97375..000000000 --- a/dx/tests/035-dex-instance-var/run +++ /dev/null @@ -1,21 +0,0 @@ -#!/bin/bash -# -# Copyright (C) 2007 The Android Open Source Project -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -jasmin -d . blort.j >/dev/null -dx --debug --dex --output=blort.dex blort.class -if [ -r blort.dex ]; then - echo Good! -fi diff --git a/dx/tests/036-dex-static-var/blort.j b/dx/tests/036-dex-static-var/blort.j deleted file mode 100644 index 260f446f7..000000000 --- a/dx/tests/036-dex-static-var/blort.j +++ /dev/null @@ -1,18 +0,0 @@ -; Copyright (C) 2007 The Android Open Source Project -; -; Licensed under the Apache License, Version 2.0 (the "License"); -; you may not use this file except in compliance with the License. -; You may obtain a copy of the License at -; -; http://www.apache.org/licenses/LICENSE-2.0 -; -; Unless required by applicable law or agreed to in writing, software -; distributed under the License is distributed on an "AS IS" BASIS, -; WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -; See the License for the specific language governing permissions and -; limitations under the License. - -.class blort -.super java/lang/Object - -.field public static x I diff --git a/dx/tests/036-dex-static-var/expected.txt b/dx/tests/036-dex-static-var/expected.txt deleted file mode 100644 index a1db6a475..000000000 --- a/dx/tests/036-dex-static-var/expected.txt +++ /dev/null @@ -1 +0,0 @@ -Good! diff --git a/dx/tests/036-dex-static-var/info.txt b/dx/tests/036-dex-static-var/info.txt deleted file mode 100644 index 5c562eb8e..000000000 --- a/dx/tests/036-dex-static-var/info.txt +++ /dev/null @@ -1,4 +0,0 @@ -This is a smoke test of dex conversion, which ensures that the -conversion runs without failure, though the contents of the converted -file are not checked for correctness. This test is of a classfile with -just a static variable. diff --git a/dx/tests/036-dex-static-var/run b/dx/tests/036-dex-static-var/run deleted file mode 100644 index d7aa97375..000000000 --- a/dx/tests/036-dex-static-var/run +++ /dev/null @@ -1,21 +0,0 @@ -#!/bin/bash -# -# Copyright (C) 2007 The Android Open Source Project -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -jasmin -d . blort.j >/dev/null -dx --debug --dex --output=blort.dex blort.class -if [ -r blort.dex ]; then - echo Good! -fi diff --git a/dx/tests/037-dex-static-final-var/blort.j b/dx/tests/037-dex-static-final-var/blort.j deleted file mode 100644 index ac0332e2b..000000000 --- a/dx/tests/037-dex-static-final-var/blort.j +++ /dev/null @@ -1,18 +0,0 @@ -; Copyright (C) 2007 The Android Open Source Project -; -; Licensed under the Apache License, Version 2.0 (the "License"); -; you may not use this file except in compliance with the License. -; You may obtain a copy of the License at -; -; http://www.apache.org/licenses/LICENSE-2.0 -; -; Unless required by applicable law or agreed to in writing, software -; distributed under the License is distributed on an "AS IS" BASIS, -; WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -; See the License for the specific language governing permissions and -; limitations under the License. - -.class blort -.super java/lang/Object - -.field public static final x I = 10 diff --git a/dx/tests/037-dex-static-final-var/expected.txt b/dx/tests/037-dex-static-final-var/expected.txt deleted file mode 100644 index a1db6a475..000000000 --- a/dx/tests/037-dex-static-final-var/expected.txt +++ /dev/null @@ -1 +0,0 @@ -Good! diff --git a/dx/tests/037-dex-static-final-var/info.txt b/dx/tests/037-dex-static-final-var/info.txt deleted file mode 100644 index 03d798f66..000000000 --- a/dx/tests/037-dex-static-final-var/info.txt +++ /dev/null @@ -1,4 +0,0 @@ -This is a smoke test of dex conversion, which ensures that the -conversion runs without failure, though the contents of the converted -file are not checked for correctness. This test is of a classfile with -just a final static variable. diff --git a/dx/tests/037-dex-static-final-var/run b/dx/tests/037-dex-static-final-var/run deleted file mode 100644 index d7aa97375..000000000 --- a/dx/tests/037-dex-static-final-var/run +++ /dev/null @@ -1,21 +0,0 @@ -#!/bin/bash -# -# Copyright (C) 2007 The Android Open Source Project -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -jasmin -d . blort.j >/dev/null -dx --debug --dex --output=blort.dex blort.class -if [ -r blort.dex ]; then - echo Good! -fi diff --git a/dx/tests/038-dex-instance-method/blort.j b/dx/tests/038-dex-instance-method/blort.j deleted file mode 100644 index 7ddd7b59d..000000000 --- a/dx/tests/038-dex-instance-method/blort.j +++ /dev/null @@ -1,21 +0,0 @@ -; Copyright (C) 2007 The Android Open Source Project -; -; Licensed under the Apache License, Version 2.0 (the "License"); -; you may not use this file except in compliance with the License. -; You may obtain a copy of the License at -; -; http://www.apache.org/licenses/LICENSE-2.0 -; -; Unless required by applicable law or agreed to in writing, software -; distributed under the License is distributed on an "AS IS" BASIS, -; WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -; See the License for the specific language governing permissions and -; limitations under the License. - -.class blort -.super java/lang/Object - -.method public blort()V - nop - return -.end method diff --git a/dx/tests/038-dex-instance-method/expected.txt b/dx/tests/038-dex-instance-method/expected.txt deleted file mode 100644 index a1db6a475..000000000 --- a/dx/tests/038-dex-instance-method/expected.txt +++ /dev/null @@ -1 +0,0 @@ -Good! diff --git a/dx/tests/038-dex-instance-method/info.txt b/dx/tests/038-dex-instance-method/info.txt deleted file mode 100644 index c9ce0b1bd..000000000 --- a/dx/tests/038-dex-instance-method/info.txt +++ /dev/null @@ -1,5 +0,0 @@ -This is a smoke test of dex conversion, which ensures that the -conversion runs without failure, though the contents of the converted -file are not checked for correctness. This test is of a classfile with -just an instance method. - diff --git a/dx/tests/038-dex-instance-method/run b/dx/tests/038-dex-instance-method/run deleted file mode 100644 index d7aa97375..000000000 --- a/dx/tests/038-dex-instance-method/run +++ /dev/null @@ -1,21 +0,0 @@ -#!/bin/bash -# -# Copyright (C) 2007 The Android Open Source Project -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -jasmin -d . blort.j >/dev/null -dx --debug --dex --output=blort.dex blort.class -if [ -r blort.dex ]; then - echo Good! -fi diff --git a/dx/tests/039-dex-static-method/blort.j b/dx/tests/039-dex-static-method/blort.j deleted file mode 100644 index 5b74c57d8..000000000 --- a/dx/tests/039-dex-static-method/blort.j +++ /dev/null @@ -1,21 +0,0 @@ -; Copyright (C) 2007 The Android Open Source Project -; -; Licensed under the Apache License, Version 2.0 (the "License"); -; you may not use this file except in compliance with the License. -; You may obtain a copy of the License at -; -; http://www.apache.org/licenses/LICENSE-2.0 -; -; Unless required by applicable law or agreed to in writing, software -; distributed under the License is distributed on an "AS IS" BASIS, -; WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -; See the License for the specific language governing permissions and -; limitations under the License. - -.class blort -.super java/lang/Object - -.method public static blort()V - nop - return -.end method diff --git a/dx/tests/039-dex-static-method/expected.txt b/dx/tests/039-dex-static-method/expected.txt deleted file mode 100644 index a1db6a475..000000000 --- a/dx/tests/039-dex-static-method/expected.txt +++ /dev/null @@ -1 +0,0 @@ -Good! diff --git a/dx/tests/039-dex-static-method/info.txt b/dx/tests/039-dex-static-method/info.txt deleted file mode 100644 index 59c8d6ec4..000000000 --- a/dx/tests/039-dex-static-method/info.txt +++ /dev/null @@ -1,4 +0,0 @@ -This is a smoke test of dex conversion, which ensures that the -conversion runs without failure, though the contents of the converted -file are not checked for correctness. This test is of a classfile with -just a static method. diff --git a/dx/tests/039-dex-static-method/run b/dx/tests/039-dex-static-method/run deleted file mode 100644 index d7aa97375..000000000 --- a/dx/tests/039-dex-static-method/run +++ /dev/null @@ -1,21 +0,0 @@ -#!/bin/bash -# -# Copyright (C) 2007 The Android Open Source Project -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -jasmin -d . blort.j >/dev/null -dx --debug --dex --output=blort.dex blort.class -if [ -r blort.dex ]; then - echo Good! -fi diff --git a/dx/tests/040-dex-constructor/blort.j b/dx/tests/040-dex-constructor/blort.j deleted file mode 100644 index e0ae44187..000000000 --- a/dx/tests/040-dex-constructor/blort.j +++ /dev/null @@ -1,21 +0,0 @@ -; Copyright (C) 2007 The Android Open Source Project -; -; Licensed under the Apache License, Version 2.0 (the "License"); -; you may not use this file except in compliance with the License. -; You may obtain a copy of the License at -; -; http://www.apache.org/licenses/LICENSE-2.0 -; -; Unless required by applicable law or agreed to in writing, software -; distributed under the License is distributed on an "AS IS" BASIS, -; WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -; See the License for the specific language governing permissions and -; limitations under the License. - -.class blort -.super java/lang/Object - -.method public <init>()V - nop - return -.end method diff --git a/dx/tests/040-dex-constructor/expected.txt b/dx/tests/040-dex-constructor/expected.txt deleted file mode 100644 index a1db6a475..000000000 --- a/dx/tests/040-dex-constructor/expected.txt +++ /dev/null @@ -1 +0,0 @@ -Good! diff --git a/dx/tests/040-dex-constructor/info.txt b/dx/tests/040-dex-constructor/info.txt deleted file mode 100644 index 65eef9302..000000000 --- a/dx/tests/040-dex-constructor/info.txt +++ /dev/null @@ -1,4 +0,0 @@ -This is a smoke test of dex conversion, which ensures that the -conversion runs without failure, though the contents of the converted -file are not checked for correctness. This test is of a classfile with -just a constructor. diff --git a/dx/tests/040-dex-constructor/run b/dx/tests/040-dex-constructor/run deleted file mode 100644 index d7aa97375..000000000 --- a/dx/tests/040-dex-constructor/run +++ /dev/null @@ -1,21 +0,0 @@ -#!/bin/bash -# -# Copyright (C) 2007 The Android Open Source Project -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -jasmin -d . blort.j >/dev/null -dx --debug --dex --output=blort.dex blort.class -if [ -r blort.dex ]; then - echo Good! -fi diff --git a/dx/tests/041-dex-abstract-method/blort.j b/dx/tests/041-dex-abstract-method/blort.j deleted file mode 100644 index 8074faedd..000000000 --- a/dx/tests/041-dex-abstract-method/blort.j +++ /dev/null @@ -1,19 +0,0 @@ -; Copyright (C) 2007 The Android Open Source Project -; -; Licensed under the Apache License, Version 2.0 (the "License"); -; you may not use this file except in compliance with the License. -; You may obtain a copy of the License at -; -; http://www.apache.org/licenses/LICENSE-2.0 -; -; Unless required by applicable law or agreed to in writing, software -; distributed under the License is distributed on an "AS IS" BASIS, -; WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -; See the License for the specific language governing permissions and -; limitations under the License. - -.class blort -.super java/lang/Object - -.method public abstract blort()V -.end method diff --git a/dx/tests/041-dex-abstract-method/expected.txt b/dx/tests/041-dex-abstract-method/expected.txt deleted file mode 100644 index a1db6a475..000000000 --- a/dx/tests/041-dex-abstract-method/expected.txt +++ /dev/null @@ -1 +0,0 @@ -Good! diff --git a/dx/tests/041-dex-abstract-method/info.txt b/dx/tests/041-dex-abstract-method/info.txt deleted file mode 100644 index e0043888b..000000000 --- a/dx/tests/041-dex-abstract-method/info.txt +++ /dev/null @@ -1,4 +0,0 @@ -This is a smoke test of dex conversion, which ensures that the -conversion runs without failure, though the contents of the converted -file are not checked for correctness. This test is of a classfile with -just an abstract instance method. diff --git a/dx/tests/041-dex-abstract-method/run b/dx/tests/041-dex-abstract-method/run deleted file mode 100644 index d7aa97375..000000000 --- a/dx/tests/041-dex-abstract-method/run +++ /dev/null @@ -1,21 +0,0 @@ -#!/bin/bash -# -# Copyright (C) 2007 The Android Open Source Project -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -jasmin -d . blort.j >/dev/null -dx --debug --dex --output=blort.dex blort.class -if [ -r blort.dex ]; then - echo Good! -fi diff --git a/dx/tests/042-dex-ignore-result/Blort.java b/dx/tests/042-dex-ignore-result/Blort.java deleted file mode 100644 index 21370ed9f..000000000 --- a/dx/tests/042-dex-ignore-result/Blort.java +++ /dev/null @@ -1,27 +0,0 @@ -/* - * Copyright (C) 2007 The Android Open Source Project - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -public class Blort -{ - static public int hello() { - return 10; - } - - static public void ouch() { - hello(); - hello(); - } -} diff --git a/dx/tests/042-dex-ignore-result/expected.txt b/dx/tests/042-dex-ignore-result/expected.txt deleted file mode 100644 index a1db6a475..000000000 --- a/dx/tests/042-dex-ignore-result/expected.txt +++ /dev/null @@ -1 +0,0 @@ -Good! diff --git a/dx/tests/042-dex-ignore-result/info.txt b/dx/tests/042-dex-ignore-result/info.txt deleted file mode 100644 index 628966454..000000000 --- a/dx/tests/042-dex-ignore-result/info.txt +++ /dev/null @@ -1,5 +0,0 @@ -This is a smoke test of dex conversion, which ensures that the -conversion runs without failure, though the contents of the converted -file are not checked for correctness. This test is of the case of a -method call to a method which returns a value, where that value is -ignored. diff --git a/dx/tests/042-dex-ignore-result/run b/dx/tests/042-dex-ignore-result/run deleted file mode 100644 index d035d095e..000000000 --- a/dx/tests/042-dex-ignore-result/run +++ /dev/null @@ -1,21 +0,0 @@ -#!/bin/bash -# -# Copyright (C) 2007 The Android Open Source Project -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -$JAVAC -d . Blort.java -dx --debug --dex --output=blort.dex Blort.class -if [ -r blort.dex ]; then - echo Good! -fi diff --git a/dx/tests/043-dex-two-classes/Blort.java b/dx/tests/043-dex-two-classes/Blort.java deleted file mode 100644 index 1d9de841c..000000000 --- a/dx/tests/043-dex-two-classes/Blort.java +++ /dev/null @@ -1,20 +0,0 @@ -/* - * Copyright (C) 2007 The Android Open Source Project - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -public class Blort -{ - // This space intentionally left blank. -} diff --git a/dx/tests/043-dex-two-classes/Zorch.java b/dx/tests/043-dex-two-classes/Zorch.java deleted file mode 100644 index c9dc4eb63..000000000 --- a/dx/tests/043-dex-two-classes/Zorch.java +++ /dev/null @@ -1,20 +0,0 @@ -/* - * Copyright (C) 2007 The Android Open Source Project - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -public class Zorch -{ - // This space intentionally left blank. -} diff --git a/dx/tests/043-dex-two-classes/expected.txt b/dx/tests/043-dex-two-classes/expected.txt deleted file mode 100644 index e88eb13a0..000000000 --- a/dx/tests/043-dex-two-classes/expected.txt +++ /dev/null @@ -1,3 +0,0 @@ -processing Blort.class... -processing Zorch.class... -Good! diff --git a/dx/tests/043-dex-two-classes/info.txt b/dx/tests/043-dex-two-classes/info.txt deleted file mode 100644 index 785fb9b9e..000000000 --- a/dx/tests/043-dex-two-classes/info.txt +++ /dev/null @@ -1,4 +0,0 @@ -This is a smoke test of dex conversion, which ensures that the -conversion runs without failure, though the contents of the converted -file are not checked for correctness. This test just makes sure that -an attempt to combine two classes into a .dex file succeeds. diff --git a/dx/tests/043-dex-two-classes/run b/dx/tests/043-dex-two-classes/run deleted file mode 100644 index 41d3a0bde..000000000 --- a/dx/tests/043-dex-two-classes/run +++ /dev/null @@ -1,21 +0,0 @@ -#!/bin/bash -# -# Copyright (C) 2007 The Android Open Source Project -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -$JAVAC -d . Blort.java Zorch.java -dx --debug --verbose --dex --output=blort.dex *.class -if [ -r blort.dex ]; then - echo Good! -fi diff --git a/dx/tests/044-dex-math-ops/Blort.java b/dx/tests/044-dex-math-ops/Blort.java deleted file mode 100644 index bf73c336f..000000000 --- a/dx/tests/044-dex-math-ops/Blort.java +++ /dev/null @@ -1,73 +0,0 @@ -/* - * Copyright (C) 2007 The Android Open Source Project - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -public class Blort -{ - private volatile int i; - private volatile long l; - private volatile float f; - private volatile double d; - - public void blort(int i1, int i2) { - i = -i1; - i = ~i1; - i = i1 + i2; - i = i1 - i2; - i = i1 * i2; - i = i1 / i2; - i = i1 % i2; - i = i1 & i2; - i = i1 | i2; - i = i1 ^ i2; - i = i1 << i2; - i = i1 >> i2; - i = i1 >>> i2; - } - - public void blort(long l1, long l2) { - l = -l1; - l = ~l1; - l = l1 + l2; - l = l1 - l2; - l = l1 * l2; - l = l1 / l2; - l = l1 % l2; - l = l1 & l2; - l = l1 | l2; - l = l1 ^ l2; - l = l1 << l2; - l = l1 >> l2; - l = l1 >>> l2; - } - - public void blort(float f1, float f2) { - f = -f1; - f = f1 + f2; - f = f1 - f2; - f = f1 * f2; - f = f1 / f2; - f = f1 % f2; - } - - public void blort(double d1, double d2) { - d = -d1; - d = d1 + d2; - d = d1 - d2; - d = d1 * d2; - d = d1 / d2; - d = d1 % d2; - } -} diff --git a/dx/tests/044-dex-math-ops/expected.txt b/dx/tests/044-dex-math-ops/expected.txt deleted file mode 100644 index f6f8b7996..000000000 --- a/dx/tests/044-dex-math-ops/expected.txt +++ /dev/null @@ -1,213 +0,0 @@ -Blort.blort:(DD)V: -regs: 000f; ins: 0005; outs: 0000 - 0000: move-object v0, v10 - 0001: move-wide v1, v11 - 0002: move-wide v3, v13 - 0003: move-object v5, v0 - 0004: move-wide v6, v1 - 0005: neg-double v6, v6 - 0006: iput-wide v6, v5, Blort.d:D - 0008: move-object v5, v0 - 0009: move-wide v6, v1 - 000a: move-wide v8, v3 - 000b: add-double/2addr v6, v8 - 000c: iput-wide v6, v5, Blort.d:D - 000e: move-object v5, v0 - 000f: move-wide v6, v1 - 0010: move-wide v8, v3 - 0011: sub-double/2addr v6, v8 - 0012: iput-wide v6, v5, Blort.d:D - 0014: move-object v5, v0 - 0015: move-wide v6, v1 - 0016: move-wide v8, v3 - 0017: mul-double/2addr v6, v8 - 0018: iput-wide v6, v5, Blort.d:D - 001a: move-object v5, v0 - 001b: move-wide v6, v1 - 001c: move-wide v8, v3 - 001d: div-double/2addr v6, v8 - 001e: iput-wide v6, v5, Blort.d:D - 0020: move-object v5, v0 - 0021: move-wide v6, v1 - 0022: move-wide v8, v3 - 0023: rem-double/2addr v6, v8 - 0024: iput-wide v6, v5, Blort.d:D - 0026: return-void -Blort.blort:(FF)V: -regs: 0009; ins: 0003; outs: 0000 - 0000: move-object v0, v6 - 0001: move v1, v7 - 0002: move v2, v8 - 0003: move-object v3, v0 - 0004: move v4, v1 - 0005: neg-float v4, v4 - 0006: iput v4, v3, Blort.f:F - 0008: move-object v3, v0 - 0009: move v4, v1 - 000a: move v5, v2 - 000b: add-float/2addr v4, v5 - 000c: iput v4, v3, Blort.f:F - 000e: move-object v3, v0 - 000f: move v4, v1 - 0010: move v5, v2 - 0011: sub-float/2addr v4, v5 - 0012: iput v4, v3, Blort.f:F - 0014: move-object v3, v0 - 0015: move v4, v1 - 0016: move v5, v2 - 0017: mul-float/2addr v4, v5 - 0018: iput v4, v3, Blort.f:F - 001a: move-object v3, v0 - 001b: move v4, v1 - 001c: move v5, v2 - 001d: div-float/2addr v4, v5 - 001e: iput v4, v3, Blort.f:F - 0020: move-object v3, v0 - 0021: move v4, v1 - 0022: move v5, v2 - 0023: rem-float/2addr v4, v5 - 0024: iput v4, v3, Blort.f:F - 0026: return-void -Blort.blort:(II)V: -regs: 0009; ins: 0003; outs: 0000 - 0000: move-object v0, v6 - 0001: move v1, v7 - 0002: move v2, v8 - 0003: move-object v3, v0 - 0004: move v4, v1 - 0005: neg-int v4, v4 - 0006: iput v4, v3, Blort.i:I - 0008: move-object v3, v0 - 0009: move v4, v1 - 000a: const/4 v5, #int -1 // #f - 000b: xor-int/lit8 v4, v4, #int -1 // #ff - 000d: iput v4, v3, Blort.i:I - 000f: move-object v3, v0 - 0010: move v4, v1 - 0011: move v5, v2 - 0012: add-int/2addr v4, v5 - 0013: iput v4, v3, Blort.i:I - 0015: move-object v3, v0 - 0016: move v4, v1 - 0017: move v5, v2 - 0018: sub-int/2addr v4, v5 - 0019: iput v4, v3, Blort.i:I - 001b: move-object v3, v0 - 001c: move v4, v1 - 001d: move v5, v2 - 001e: mul-int/2addr v4, v5 - 001f: iput v4, v3, Blort.i:I - 0021: move-object v3, v0 - 0022: move v4, v1 - 0023: move v5, v2 - 0024: div-int/2addr v4, v5 - 0025: iput v4, v3, Blort.i:I - 0027: move-object v3, v0 - 0028: move v4, v1 - 0029: move v5, v2 - 002a: rem-int/2addr v4, v5 - 002b: iput v4, v3, Blort.i:I - 002d: move-object v3, v0 - 002e: move v4, v1 - 002f: move v5, v2 - 0030: and-int/2addr v4, v5 - 0031: iput v4, v3, Blort.i:I - 0033: move-object v3, v0 - 0034: move v4, v1 - 0035: move v5, v2 - 0036: or-int/2addr v4, v5 - 0037: iput v4, v3, Blort.i:I - 0039: move-object v3, v0 - 003a: move v4, v1 - 003b: move v5, v2 - 003c: xor-int/2addr v4, v5 - 003d: iput v4, v3, Blort.i:I - 003f: move-object v3, v0 - 0040: move v4, v1 - 0041: move v5, v2 - 0042: shl-int/2addr v4, v5 - 0043: iput v4, v3, Blort.i:I - 0045: move-object v3, v0 - 0046: move v4, v1 - 0047: move v5, v2 - 0048: shr-int/2addr v4, v5 - 0049: iput v4, v3, Blort.i:I - 004b: move-object v3, v0 - 004c: move v4, v1 - 004d: move v5, v2 - 004e: ushr-int/2addr v4, v5 - 004f: iput v4, v3, Blort.i:I - 0051: return-void -Blort.blort:(JJ)V: -regs: 000f; ins: 0005; outs: 0000 - 0000: move-object v0, v10 - 0001: move-wide v1, v11 - 0002: move-wide v3, v13 - 0003: move-object v5, v0 - 0004: move-wide v6, v1 - 0005: neg-long v6, v6 - 0006: iput-wide v6, v5, Blort.l:J - 0008: move-object v5, v0 - 0009: move-wide v6, v1 - 000a: const-wide/16 v8, #long -1 // #ffff - 000c: xor-long/2addr v6, v8 - 000d: iput-wide v6, v5, Blort.l:J - 000f: move-object v5, v0 - 0010: move-wide v6, v1 - 0011: move-wide v8, v3 - 0012: add-long/2addr v6, v8 - 0013: iput-wide v6, v5, Blort.l:J - 0015: move-object v5, v0 - 0016: move-wide v6, v1 - 0017: move-wide v8, v3 - 0018: sub-long/2addr v6, v8 - 0019: iput-wide v6, v5, Blort.l:J - 001b: move-object v5, v0 - 001c: move-wide v6, v1 - 001d: move-wide v8, v3 - 001e: mul-long/2addr v6, v8 - 001f: iput-wide v6, v5, Blort.l:J - 0021: move-object v5, v0 - 0022: move-wide v6, v1 - 0023: move-wide v8, v3 - 0024: div-long/2addr v6, v8 - 0025: iput-wide v6, v5, Blort.l:J - 0027: move-object v5, v0 - 0028: move-wide v6, v1 - 0029: move-wide v8, v3 - 002a: rem-long/2addr v6, v8 - 002b: iput-wide v6, v5, Blort.l:J - 002d: move-object v5, v0 - 002e: move-wide v6, v1 - 002f: move-wide v8, v3 - 0030: and-long/2addr v6, v8 - 0031: iput-wide v6, v5, Blort.l:J - 0033: move-object v5, v0 - 0034: move-wide v6, v1 - 0035: move-wide v8, v3 - 0036: or-long/2addr v6, v8 - 0037: iput-wide v6, v5, Blort.l:J - 0039: move-object v5, v0 - 003a: move-wide v6, v1 - 003b: move-wide v8, v3 - 003c: xor-long/2addr v6, v8 - 003d: iput-wide v6, v5, Blort.l:J - 003f: move-object v5, v0 - 0040: move-wide v6, v1 - 0041: move-wide v8, v3 - 0042: long-to-int v8, v8 - 0043: shl-long/2addr v6, v8 - 0044: iput-wide v6, v5, Blort.l:J - 0046: move-object v5, v0 - 0047: move-wide v6, v1 - 0048: move-wide v8, v3 - 0049: long-to-int v8, v8 - 004a: shr-long/2addr v6, v8 - 004b: iput-wide v6, v5, Blort.l:J - 004d: move-object v5, v0 - 004e: move-wide v6, v1 - 004f: move-wide v8, v3 - 0050: long-to-int v8, v8 - 0051: ushr-long/2addr v6, v8 - 0052: iput-wide v6, v5, Blort.l:J - 0054: return-void diff --git a/dx/tests/044-dex-math-ops/info.txt b/dx/tests/044-dex-math-ops/info.txt deleted file mode 100644 index 733dcb6a6..000000000 --- a/dx/tests/044-dex-math-ops/info.txt +++ /dev/null @@ -1,6 +0,0 @@ -This is a smoke test of dex conversion, which checks to see that -simple uses of all the math ops end up getting converted reasonably. - -This test compares emitted code against a known-good (via eyeballing) -version, so it is possible for this test to spuriously fail if other -aspects of conversion end up altering the output in innocuous ways. diff --git a/dx/tests/044-dex-math-ops/run b/dx/tests/044-dex-math-ops/run deleted file mode 100644 index d8d427373..000000000 --- a/dx/tests/044-dex-math-ops/run +++ /dev/null @@ -1,19 +0,0 @@ -#!/bin/bash -# -# Copyright (C) 2007 The Android Open Source Project -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -$JAVAC -d . Blort.java -dx --debug --dex --no-optimize --positions=none --no-locals \ - --dump-method=Blort.blort *.class diff --git a/dx/tests/045-dex-switch-ops/Blort.java b/dx/tests/045-dex-switch-ops/Blort.java deleted file mode 100644 index fed741f9f..000000000 --- a/dx/tests/045-dex-switch-ops/Blort.java +++ /dev/null @@ -1,56 +0,0 @@ -/* - * Copyright (C) 2007 The Android Open Source Project - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -public class Blort -{ - public int switchTest1(int x) { - switch (x) { - case 1: { - return 2; - } - case 2: { - return 3; - } - case 3: { - return 4; - } - case 4: { - return 5; - } - } - - return 6; - } - - public int switchTest2(int x) { - switch (x) { - case 1: { - return 2; - } - case 10: { - return 3; - } - case 100: { - return 4; - } - case 1000: { - return 50; - } - } - - return 6; - } -} diff --git a/dx/tests/045-dex-switch-ops/expected.txt b/dx/tests/045-dex-switch-ops/expected.txt deleted file mode 100644 index 46476ea83..000000000 --- a/dx/tests/045-dex-switch-ops/expected.txt +++ /dev/null @@ -1,53 +0,0 @@ -Blort.switchTest1:(I)I: -regs: 0005; ins: 0002; outs: 0000 - 0000: move-object v0, v3 - 0001: move v1, v4 - 0002: move v2, v1 - 0003: packed-switch v2, 0016 // +0013 - 0006: const/4 v2, #int 6 // #6 - 0007: move v0, v2 - 0008: return v0 - 0009: const/4 v2, #int 2 // #2 - 000a: move v0, v2 - 000b: goto 0008 // -0003 - 000c: const/4 v2, #int 3 // #3 - 000d: move v0, v2 - 000e: goto 0008 // -0006 - 000f: const/4 v2, #int 4 // #4 - 0010: move v0, v2 - 0011: goto 0008 // -0009 - 0012: const/4 v2, #int 5 // #5 - 0013: move v0, v2 - 0014: goto 0008 // -000c - 0015: nop // spacer - 0016: packed-switch-data // for switch @ 0003 - 1: 00000009 // +00000006 - 2: 0000000c // +00000009 - 3: 0000000f // +0000000c - 4: 00000012 // +0000000f -Blort.switchTest2:(I)I: -regs: 0005; ins: 0002; outs: 0000 - 0000: move-object v0, v3 - 0001: move v1, v4 - 0002: move v2, v1 - 0003: sparse-switch v2, 0016 // +0013 - 0006: const/4 v2, #int 6 // #6 - 0007: move v0, v2 - 0008: return v0 - 0009: const/4 v2, #int 2 // #2 - 000a: move v0, v2 - 000b: goto 0008 // -0003 - 000c: const/4 v2, #int 3 // #3 - 000d: move v0, v2 - 000e: goto 0008 // -0006 - 000f: const/4 v2, #int 4 // #4 - 0010: move v0, v2 - 0011: goto 0008 // -0009 - 0012: const/16 v2, #int 50 // #0032 - 0014: move v0, v2 - 0015: goto 0008 // -000d - 0016: sparse-switch-data // for switch @ 0003 - 1: 00000009 // +00000006 - 10: 0000000c // +00000009 - 100: 0000000f // +0000000c - 1000: 00000012 // +0000000f diff --git a/dx/tests/045-dex-switch-ops/info.txt b/dx/tests/045-dex-switch-ops/info.txt deleted file mode 100644 index 492dc0b9b..000000000 --- a/dx/tests/045-dex-switch-ops/info.txt +++ /dev/null @@ -1,6 +0,0 @@ -This is a smoke test of dex conversion, which checks to see that -both kinds of switch op get converted reasonably. - -This test compares emitted code against a known-good (via eyeballing) -version, so it is possible for this test to spuriously fail if other -aspects of conversion end up altering the output in innocuous ways. diff --git a/dx/tests/045-dex-switch-ops/run b/dx/tests/045-dex-switch-ops/run deleted file mode 100644 index 8d1b65e11..000000000 --- a/dx/tests/045-dex-switch-ops/run +++ /dev/null @@ -1,19 +0,0 @@ -#!/bin/bash -# -# Copyright (C) 2007 The Android Open Source Project -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -$JAVAC -d . Blort.java -dx --debug --dex --no-optimize --positions=none --no-locals \ - --dump-method=Blort.switchTest'*' *.class diff --git a/dx/tests/046-dex-exceptions/Blort.java b/dx/tests/046-dex-exceptions/Blort.java deleted file mode 100644 index 8d040c40b..000000000 --- a/dx/tests/046-dex-exceptions/Blort.java +++ /dev/null @@ -1,58 +0,0 @@ -/* - * Copyright (C) 2007 The Android Open Source Project - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -public class Blort -{ - public static int maybeThrow(int x) { - if (x < 10) { - throw new RuntimeException(); - } - - return x; - } - - public static int exTest1(int x) { - try { - maybeThrow(x); - return 1; - } catch (RuntimeException ex) { - return 2; - } - } - - public static int exTest2(int x) { - try { - x++; - x = maybeThrow(x); - } catch (RuntimeException ex) { - return 1; - } - - // Since the code in the try block can't possibly throw, there - // should not be a catch in the final result. - try { - x++; - } catch (RuntimeException ex) { - return 2; - } - - try { - return maybeThrow(x); - } catch (RuntimeException ex) { - return 3; - } - } -} diff --git a/dx/tests/046-dex-exceptions/expected.txt b/dx/tests/046-dex-exceptions/expected.txt deleted file mode 100644 index 933a54764..000000000 --- a/dx/tests/046-dex-exceptions/expected.txt +++ /dev/null @@ -1,48 +0,0 @@ -Blort.exTest1:(I)I: -regs: 0004; ins: 0001; outs: 0001 - 0000: move v0, v3 - 0001: move v2, v0 - 0002: invoke-static {v2}, Blort.maybeThrow:(I)I - 0005: move-result v2 - 0006: const/4 v2, #int 1 // #1 - 0007: move v0, v2 - 0008: return v0 - 0009: move-exception v2 - 000a: move-object v1, v2 - 000b: const/4 v2, #int 2 // #2 - 000c: move v0, v2 - 000d: goto 0008 // -0005 - catches - tries: - try 0002..0005 - catch java.lang.RuntimeException -> 0009 -Blort.exTest2:(I)I: -regs: 0004; ins: 0001; outs: 0001 - 0000: move v0, v3 - 0001: add-int/lit8 v0, v0, #int 1 // #01 - 0003: move v2, v0 - 0004: invoke-static {v2}, Blort.maybeThrow:(I)I - 0007: move-result v2 - 0008: move v0, v2 - 0009: add-int/lit8 v0, v0, #int 1 // #01 - 000b: move v2, v0 - 000c: invoke-static {v2}, Blort.maybeThrow:(I)I - 000f: move-result v2 - 0010: move v0, v2 - 0011: return v0 - 0012: move-exception v2 - 0013: move-object v1, v2 - 0014: const/4 v2, #int 1 // #1 - 0015: move v0, v2 - 0016: goto 0011 // -0005 - 0017: move-exception v2 - 0018: move-object v1, v2 - 0019: const/4 v2, #int 3 // #3 - 001a: move v0, v2 - 001b: goto 0011 // -000a - catches - tries: - try 0004..0007 - catch java.lang.RuntimeException -> 0012 - try 000c..000f - catch java.lang.RuntimeException -> 0017 diff --git a/dx/tests/046-dex-exceptions/info.txt b/dx/tests/046-dex-exceptions/info.txt deleted file mode 100644 index a4bc06505..000000000 --- a/dx/tests/046-dex-exceptions/info.txt +++ /dev/null @@ -1,6 +0,0 @@ -This is a smoke test of dex conversion, which checks to see that -a couple simple cases of exception handling get converted reasonably. - -This test compares emitted code against a known-good (via eyeballing) -version, so it is possible for this test to spuriously fail if other -aspects of conversion end up altering the output in innocuous ways. diff --git a/dx/tests/046-dex-exceptions/run b/dx/tests/046-dex-exceptions/run deleted file mode 100644 index 8c821b67c..000000000 --- a/dx/tests/046-dex-exceptions/run +++ /dev/null @@ -1,18 +0,0 @@ -#!/bin/bash -# -# Copyright (C) 2007 The Android Open Source Project -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -$JAVAC -d . Blort.java -dx --debug --dex --no-optimize --positions=none --no-locals --dump-method=Blort.exTest'*' *.class diff --git a/dx/tests/047-dex-wide-args/Blort.java b/dx/tests/047-dex-wide-args/Blort.java deleted file mode 100644 index e7fc9b57c..000000000 --- a/dx/tests/047-dex-wide-args/Blort.java +++ /dev/null @@ -1,26 +0,0 @@ -/* - * Copyright (C) 2007 The Android Open Source Project - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -public class Blort -{ - public static long test1(int w, long x, int y, long z) { - return w + x + y + z; - } - - public static long test2(long w, int x, long y, int z) { - return w + x + y + z; - } -} diff --git a/dx/tests/047-dex-wide-args/expected.txt b/dx/tests/047-dex-wide-args/expected.txt deleted file mode 100644 index cc353fc51..000000000 --- a/dx/tests/047-dex-wide-args/expected.txt +++ /dev/null @@ -1,34 +0,0 @@ -Blort.test1:(IJIJ)J: -regs: 0010; ins: 0006; outs: 0000 - 0000: move v0, v10 - 0001: move-wide v1, v11 - 0002: move v3, v13 - 0003: move-wide v4, v14 - 0004: move v6, v0 - 0005: int-to-long v6, v6 - 0006: move-wide v8, v1 - 0007: add-long/2addr v6, v8 - 0008: move v8, v3 - 0009: int-to-long v8, v8 - 000a: add-long/2addr v6, v8 - 000b: move-wide v8, v4 - 000c: add-long/2addr v6, v8 - 000d: move-wide v0, v6 - 000e: return-wide v0 -Blort.test2:(JIJI)J: -regs: 0010; ins: 0006; outs: 0000 - 0000: move-wide v0, v10 - 0001: move v2, v12 - 0002: move-wide v3, v13 - 0003: move v5, v15 - 0004: move-wide v6, v0 - 0005: move v8, v2 - 0006: int-to-long v8, v8 - 0007: add-long/2addr v6, v8 - 0008: move-wide v8, v3 - 0009: add-long/2addr v6, v8 - 000a: move v8, v5 - 000b: int-to-long v8, v8 - 000c: add-long/2addr v6, v8 - 000d: move-wide v0, v6 - 000e: return-wide v0 diff --git a/dx/tests/047-dex-wide-args/info.txt b/dx/tests/047-dex-wide-args/info.txt deleted file mode 100644 index 357204d77..000000000 --- a/dx/tests/047-dex-wide-args/info.txt +++ /dev/null @@ -1,6 +0,0 @@ -This is a smoke test of dex conversion, which checks to see that -wide (category-2) arguments get treated reasonably. - -This test compares emitted code against a known-good (via eyeballing) -version, so it is possible for this test to spuriously fail if other -aspects of conversion end up altering the output in innocuous ways. diff --git a/dx/tests/047-dex-wide-args/run b/dx/tests/047-dex-wide-args/run deleted file mode 100644 index 52f113167..000000000 --- a/dx/tests/047-dex-wide-args/run +++ /dev/null @@ -1,19 +0,0 @@ -#!/bin/bash -# -# Copyright (C) 2007 The Android Open Source Project -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -$JAVAC -d . Blort.java -dx --debug --dex --no-optimize --positions=none --no-locals \ - --dump-method=Blort.test'*' *.class diff --git a/dx/tests/048-dex-new-array/Blort.java b/dx/tests/048-dex-new-array/Blort.java deleted file mode 100644 index 312370c1b..000000000 --- a/dx/tests/048-dex-new-array/Blort.java +++ /dev/null @@ -1,34 +0,0 @@ -/* - * Copyright (C) 2007 The Android Open Source Project - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -public class Blort -{ - public static void sink(Object x) { - // Do nothing. - } - - public static void test() { - sink(new boolean[0]); - sink(new byte[1]); - sink(new char[2]); - sink(new short[3]); - sink(new int[4]); - sink(new long[5]); - sink(new float[6]); - sink(new double[7]); - sink(new Object[0]); - } -} diff --git a/dx/tests/048-dex-new-array/expected.txt b/dx/tests/048-dex-new-array/expected.txt deleted file mode 100644 index 15332ca5b..000000000 --- a/dx/tests/048-dex-new-array/expected.txt +++ /dev/null @@ -1,29 +0,0 @@ -Blort.test:()V: -regs: 0002; ins: 0000; outs: 0001 - 0000: const/4 v1, #int 0 // #0 - 0001: new-array v0, v1, boolean[] - 0003: invoke-static {v0}, Blort.sink:(Ljava/lang/Object;)V - 0006: const/4 v0, #int 1 // #1 - 0007: new-array v0, v0, byte[] - 0009: invoke-static {v0}, Blort.sink:(Ljava/lang/Object;)V - 000c: const/4 v0, #int 2 // #2 - 000d: new-array v0, v0, char[] - 000f: invoke-static {v0}, Blort.sink:(Ljava/lang/Object;)V - 0012: const/4 v0, #int 3 // #3 - 0013: new-array v0, v0, short[] - 0015: invoke-static {v0}, Blort.sink:(Ljava/lang/Object;)V - 0018: const/4 v0, #int 4 // #4 - 0019: new-array v0, v0, int[] - 001b: invoke-static {v0}, Blort.sink:(Ljava/lang/Object;)V - 001e: const/4 v0, #int 5 // #5 - 001f: new-array v0, v0, long[] - 0021: invoke-static {v0}, Blort.sink:(Ljava/lang/Object;)V - 0024: const/4 v0, #int 6 // #6 - 0025: new-array v0, v0, float[] - 0027: invoke-static {v0}, Blort.sink:(Ljava/lang/Object;)V - 002a: const/4 v0, #int 7 // #7 - 002b: new-array v0, v0, double[] - 002d: invoke-static {v0}, Blort.sink:(Ljava/lang/Object;)V - 0030: new-array v0, v1, java.lang.Object[] - 0032: invoke-static {v0}, Blort.sink:(Ljava/lang/Object;)V - 0035: return-void diff --git a/dx/tests/048-dex-new-array/info.txt b/dx/tests/048-dex-new-array/info.txt deleted file mode 100644 index a2ff17313..000000000 --- a/dx/tests/048-dex-new-array/info.txt +++ /dev/null @@ -1,6 +0,0 @@ -This is a smoke test of dex conversion, which checks to see that -simple array construction expressions get converted reasonably. - -This test compares emitted code against a known-good (via eyeballing) -version, so it is possible for this test to spuriously fail if other -aspects of conversion end up altering the output in innocuous ways. diff --git a/dx/tests/048-dex-new-array/run b/dx/tests/048-dex-new-array/run deleted file mode 100644 index 9927f1a00..000000000 --- a/dx/tests/048-dex-new-array/run +++ /dev/null @@ -1,18 +0,0 @@ -#!/bin/bash -# -# Copyright (C) 2007 The Android Open Source Project -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -$JAVAC -d . Blort.java -dx --debug --dex --positions=none --no-locals --dump-method=Blort.test *.class diff --git a/dx/tests/049-dex-instanceof/Blort.java b/dx/tests/049-dex-instanceof/Blort.java deleted file mode 100644 index 2d46cd173..000000000 --- a/dx/tests/049-dex-instanceof/Blort.java +++ /dev/null @@ -1,22 +0,0 @@ -/* - * Copyright (C) 2007 The Android Open Source Project - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -public class Blort -{ - public static boolean test(Object x) { - return x instanceof Blort; - } -} diff --git a/dx/tests/049-dex-instanceof/expected.txt b/dx/tests/049-dex-instanceof/expected.txt deleted file mode 100644 index 77f903c03..000000000 --- a/dx/tests/049-dex-instanceof/expected.txt +++ /dev/null @@ -1,7 +0,0 @@ -Blort.test:(Ljava/lang/Object;)Z: -regs: 0003; ins: 0001; outs: 0000 - 0000: move-object v0, v2 - 0001: move-object v1, v0 - 0002: instance-of v1, v1, Blort - 0004: move v0, v1 - 0005: return v0 diff --git a/dx/tests/049-dex-instanceof/info.txt b/dx/tests/049-dex-instanceof/info.txt deleted file mode 100644 index a6c82b2ef..000000000 --- a/dx/tests/049-dex-instanceof/info.txt +++ /dev/null @@ -1,6 +0,0 @@ -This is a smoke test of dex conversion, which checks to see that -instanceof expressions get converted reasonably. - -This test compares emitted code against a known-good (via eyeballing) -version, so it is possible for this test to spuriously fail if other -aspects of conversion end up altering the output in innocuous ways. diff --git a/dx/tests/049-dex-instanceof/run b/dx/tests/049-dex-instanceof/run deleted file mode 100644 index 7578321bf..000000000 --- a/dx/tests/049-dex-instanceof/run +++ /dev/null @@ -1,19 +0,0 @@ -#!/bin/bash -# -# Copyright (C) 2007 The Android Open Source Project -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -$JAVAC -d . Blort.java -dx --debug --dex --no-optimize --positions=none --no-locals \ - --dump-method=Blort.test *.class diff --git a/dx/tests/050-dex-checkcast/Blort.java b/dx/tests/050-dex-checkcast/Blort.java deleted file mode 100644 index 893c3a31d..000000000 --- a/dx/tests/050-dex-checkcast/Blort.java +++ /dev/null @@ -1,22 +0,0 @@ -/* - * Copyright (C) 2007 The Android Open Source Project - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -public class Blort -{ - public static Blort test(Object x) { - return (Blort) x; - } -} diff --git a/dx/tests/050-dex-checkcast/expected.txt b/dx/tests/050-dex-checkcast/expected.txt deleted file mode 100644 index 96f7f201b..000000000 --- a/dx/tests/050-dex-checkcast/expected.txt +++ /dev/null @@ -1,7 +0,0 @@ -Blort.test:(Ljava/lang/Object;)LBlort;: -regs: 0003; ins: 0001; outs: 0000 - 0000: move-object v0, v2 - 0001: move-object v1, v0 - 0002: check-cast v1, Blort - 0004: move-object v0, v1 - 0005: return-object v0 diff --git a/dx/tests/050-dex-checkcast/info.txt b/dx/tests/050-dex-checkcast/info.txt deleted file mode 100644 index b23daa4a1..000000000 --- a/dx/tests/050-dex-checkcast/info.txt +++ /dev/null @@ -1,6 +0,0 @@ -This is a smoke test of dex conversion, which checks to see that -checked cast expressions get converted reasonably. - -This test compares emitted code against a known-good (via eyeballing) -version, so it is possible for this test to spuriously fail if other -aspects of conversion end up altering the output in innocuous ways. diff --git a/dx/tests/050-dex-checkcast/run b/dx/tests/050-dex-checkcast/run deleted file mode 100644 index 7578321bf..000000000 --- a/dx/tests/050-dex-checkcast/run +++ /dev/null @@ -1,19 +0,0 @@ -#!/bin/bash -# -# Copyright (C) 2007 The Android Open Source Project -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -$JAVAC -d . Blort.java -dx --debug --dex --no-optimize --positions=none --no-locals \ - --dump-method=Blort.test *.class diff --git a/dx/tests/051-dex-explicit-null/Blort.java b/dx/tests/051-dex-explicit-null/Blort.java deleted file mode 100644 index f3bb333ec..000000000 --- a/dx/tests/051-dex-explicit-null/Blort.java +++ /dev/null @@ -1,26 +0,0 @@ -/* - * Copyright (C) 2007 The Android Open Source Project - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -public class Blort -{ - public static Object test1() { - return null; - } - - public static void test2(Object x) { - x = null; - } -} diff --git a/dx/tests/051-dex-explicit-null/expected.txt b/dx/tests/051-dex-explicit-null/expected.txt deleted file mode 100644 index 18ce09259..000000000 --- a/dx/tests/051-dex-explicit-null/expected.txt +++ /dev/null @@ -1,10 +0,0 @@ -Blort.test1:()Ljava/lang/Object;: -regs: 0001; ins: 0000; outs: 0000 - 0000: const/4 v0, #null // #0 - 0001: return-object v0 -Blort.test2:(Ljava/lang/Object;)V: -regs: 0003; ins: 0001; outs: 0000 - 0000: move-object v0, v2 - 0001: const/4 v1, #null // #0 - 0002: move-object v0, v1 - 0003: return-void diff --git a/dx/tests/051-dex-explicit-null/info.txt b/dx/tests/051-dex-explicit-null/info.txt deleted file mode 100644 index 8a03dc3b2..000000000 --- a/dx/tests/051-dex-explicit-null/info.txt +++ /dev/null @@ -1,7 +0,0 @@ -This is a smoke test of dex conversion, which checks to see that -assigning a reference variable to null works, as well as explicitly -returning a null. - -This test compares emitted code against a known-good (via eyeballing) -version, so it is possible for this test to spuriously fail if other -aspects of conversion end up altering the output in innocuous ways. diff --git a/dx/tests/051-dex-explicit-null/run b/dx/tests/051-dex-explicit-null/run deleted file mode 100644 index 52f113167..000000000 --- a/dx/tests/051-dex-explicit-null/run +++ /dev/null @@ -1,19 +0,0 @@ -#!/bin/bash -# -# Copyright (C) 2007 The Android Open Source Project -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -$JAVAC -d . Blort.java -dx --debug --dex --no-optimize --positions=none --no-locals \ - --dump-method=Blort.test'*' *.class diff --git a/dx/tests/052-dex-static-var-access/Blort.java b/dx/tests/052-dex-static-var-access/Blort.java deleted file mode 100644 index fdbefb4fb..000000000 --- a/dx/tests/052-dex-static-var-access/Blort.java +++ /dev/null @@ -1,51 +0,0 @@ -/* - * Copyright (C) 2007 The Android Open Source Project - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -public class Blort -{ - public static boolean staticBoolean; - public static byte staticByte; - public static char staticChar; - public static short staticShort; - public static int staticInt; - public static long staticLong; - public static float staticFloat; - public static double staticDouble; - public static Object staticObject; - - public static Object test1() { - int x = staticByte + staticChar + staticShort + staticInt + - (int) staticLong + (int) staticFloat + (int) staticDouble; - - if (staticBoolean && (x > 0)) {; - return staticObject; - } else { - return null; - } - } - - public static void test2(boolean b, int i, Object o) { - staticBoolean = b; - staticByte = (byte) i; - staticChar = (char) i; - staticShort = (short) i; - staticInt = i; - staticLong = i; - staticFloat = i; - staticDouble = i; - staticObject = o; - } -} diff --git a/dx/tests/052-dex-static-var-access/expected.txt b/dx/tests/052-dex-static-var-access/expected.txt deleted file mode 100644 index 239f98492..000000000 --- a/dx/tests/052-dex-static-var-access/expected.txt +++ /dev/null @@ -1,59 +0,0 @@ -Blort.test1:()Ljava/lang/Object;: -regs: 0004; ins: 0000; outs: 0000 - 0000: sget-byte v1, Blort.staticByte:B - 0002: sget-char v2, Blort.staticChar:C - 0004: add-int/2addr v1, v2 - 0005: sget-short v2, Blort.staticShort:S - 0007: add-int/2addr v1, v2 - 0008: sget v2, Blort.staticInt:I - 000a: add-int/2addr v1, v2 - 000b: sget-wide v2, Blort.staticLong:J - 000d: long-to-int v2, v2 - 000e: add-int/2addr v1, v2 - 000f: sget v2, Blort.staticFloat:F - 0011: float-to-int v2, v2 - 0012: add-int/2addr v1, v2 - 0013: sget-wide v2, Blort.staticDouble:D - 0015: double-to-int v2, v2 - 0016: add-int/2addr v1, v2 - 0017: move v0, v1 - 0018: sget-boolean v1, Blort.staticBoolean:Z - 001a: if-eqz v1, 0023 // +0009 - 001c: move v1, v0 - 001d: if-lez v1, 0023 // +0006 - 001f: sget-object v1, Blort.staticObject:Ljava/lang/Object; - 0021: move-object v0, v1 - 0022: return-object v0 - 0023: const/4 v1, #null // #0 - 0024: move-object v0, v1 - 0025: goto 0022 // -0003 -Blort.test2:(ZILjava/lang/Object;)V: -regs: 0008; ins: 0003; outs: 0000 - 0000: move v0, v5 - 0001: move v1, v6 - 0002: move-object v2, v7 - 0003: move v3, v0 - 0004: sput-boolean v3, Blort.staticBoolean:Z - 0006: move v3, v1 - 0007: int-to-byte v3, v3 - 0008: sput-byte v3, Blort.staticByte:B - 000a: move v3, v1 - 000b: int-to-char v3, v3 - 000c: sput-char v3, Blort.staticChar:C - 000e: move v3, v1 - 000f: int-to-short v3, v3 - 0010: sput-short v3, Blort.staticShort:S - 0012: move v3, v1 - 0013: sput v3, Blort.staticInt:I - 0015: move v3, v1 - 0016: int-to-long v3, v3 - 0017: sput-wide v3, Blort.staticLong:J - 0019: move v3, v1 - 001a: int-to-float v3, v3 - 001b: sput v3, Blort.staticFloat:F - 001d: move v3, v1 - 001e: int-to-double v3, v3 - 001f: sput-wide v3, Blort.staticDouble:D - 0021: move-object v3, v2 - 0022: sput-object v3, Blort.staticObject:Ljava/lang/Object; - 0024: return-void diff --git a/dx/tests/052-dex-static-var-access/info.txt b/dx/tests/052-dex-static-var-access/info.txt deleted file mode 100644 index c3c3b0b5a..000000000 --- a/dx/tests/052-dex-static-var-access/info.txt +++ /dev/null @@ -1,6 +0,0 @@ -This is a smoke test of dex conversion, which checks to see that -static variable access works. - -This test compares emitted code against a known-good (via eyeballing) -version, so it is possible for this test to spuriously fail if other -aspects of conversion end up altering the output in innocuous ways. diff --git a/dx/tests/052-dex-static-var-access/run b/dx/tests/052-dex-static-var-access/run deleted file mode 100644 index 52f113167..000000000 --- a/dx/tests/052-dex-static-var-access/run +++ /dev/null @@ -1,19 +0,0 @@ -#!/bin/bash -# -# Copyright (C) 2007 The Android Open Source Project -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -$JAVAC -d . Blort.java -dx --debug --dex --no-optimize --positions=none --no-locals \ - --dump-method=Blort.test'*' *.class diff --git a/dx/tests/053-dex-instance-var-access/Blort.java b/dx/tests/053-dex-instance-var-access/Blort.java deleted file mode 100644 index 1f6873743..000000000 --- a/dx/tests/053-dex-instance-var-access/Blort.java +++ /dev/null @@ -1,51 +0,0 @@ -/* - * Copyright (C) 2007 The Android Open Source Project - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -public class Blort -{ - public boolean insBoolean; - public byte insByte; - public char insChar; - public short insShort; - public int insInt; - public long insLong; - public float insFloat; - public double insDouble; - public Object insObject; - - public Object test1() { - int x = insByte + insChar + insShort + insInt + - (int) insLong + (int) insFloat + (int) insDouble; - - if (insBoolean && (x > 0)) {; - return insObject; - } else { - return null; - } - } - - public void test2(boolean b, int i, Object o) { - insBoolean = b; - insByte = (byte) i; - insChar = (char) i; - insShort = (short) i; - insInt = i; - insLong = i; - insFloat = i; - insDouble = i; - insObject = o; - } -} diff --git a/dx/tests/053-dex-instance-var-access/expected.txt b/dx/tests/053-dex-instance-var-access/expected.txt deleted file mode 100644 index b73f617be..000000000 --- a/dx/tests/053-dex-instance-var-access/expected.txt +++ /dev/null @@ -1,79 +0,0 @@ -Blort.test1:()Ljava/lang/Object;: -regs: 0006; ins: 0001; outs: 0000 - 0000: move-object v0, v5 - 0001: move-object v2, v0 - 0002: iget-byte v2, v2, Blort.insByte:B - 0004: move-object v3, v0 - 0005: iget-char v3, v3, Blort.insChar:C - 0007: add-int/2addr v2, v3 - 0008: move-object v3, v0 - 0009: iget-short v3, v3, Blort.insShort:S - 000b: add-int/2addr v2, v3 - 000c: move-object v3, v0 - 000d: iget v3, v3, Blort.insInt:I - 000f: add-int/2addr v2, v3 - 0010: move-object v3, v0 - 0011: iget-wide v3, v3, Blort.insLong:J - 0013: long-to-int v3, v3 - 0014: add-int/2addr v2, v3 - 0015: move-object v3, v0 - 0016: iget v3, v3, Blort.insFloat:F - 0018: float-to-int v3, v3 - 0019: add-int/2addr v2, v3 - 001a: move-object v3, v0 - 001b: iget-wide v3, v3, Blort.insDouble:D - 001d: double-to-int v3, v3 - 001e: add-int/2addr v2, v3 - 001f: move v1, v2 - 0020: move-object v2, v0 - 0021: iget-boolean v2, v2, Blort.insBoolean:Z - 0023: if-eqz v2, 002d // +000a - 0025: move v2, v1 - 0026: if-lez v2, 002d // +0007 - 0028: move-object v2, v0 - 0029: iget-object v2, v2, Blort.insObject:Ljava/lang/Object; - 002b: move-object v0, v2 - 002c: return-object v0 - 002d: const/4 v2, #null // #0 - 002e: move-object v0, v2 - 002f: goto 002c // -0003 -Blort.test2:(ZILjava/lang/Object;)V: -regs: 000b; ins: 0004; outs: 0000 - 0000: move-object v0, v7 - 0001: move v1, v8 - 0002: move v2, v9 - 0003: move-object v3, v10 - 0004: move-object v4, v0 - 0005: move v5, v1 - 0006: iput-boolean v5, v4, Blort.insBoolean:Z - 0008: move-object v4, v0 - 0009: move v5, v2 - 000a: int-to-byte v5, v5 - 000b: iput-byte v5, v4, Blort.insByte:B - 000d: move-object v4, v0 - 000e: move v5, v2 - 000f: int-to-char v5, v5 - 0010: iput-char v5, v4, Blort.insChar:C - 0012: move-object v4, v0 - 0013: move v5, v2 - 0014: int-to-short v5, v5 - 0015: iput-short v5, v4, Blort.insShort:S - 0017: move-object v4, v0 - 0018: move v5, v2 - 0019: iput v5, v4, Blort.insInt:I - 001b: move-object v4, v0 - 001c: move v5, v2 - 001d: int-to-long v5, v5 - 001e: iput-wide v5, v4, Blort.insLong:J - 0020: move-object v4, v0 - 0021: move v5, v2 - 0022: int-to-float v5, v5 - 0023: iput v5, v4, Blort.insFloat:F - 0025: move-object v4, v0 - 0026: move v5, v2 - 0027: int-to-double v5, v5 - 0028: iput-wide v5, v4, Blort.insDouble:D - 002a: move-object v4, v0 - 002b: move-object v5, v3 - 002c: iput-object v5, v4, Blort.insObject:Ljava/lang/Object; - 002e: return-void diff --git a/dx/tests/053-dex-instance-var-access/info.txt b/dx/tests/053-dex-instance-var-access/info.txt deleted file mode 100644 index 4f9579726..000000000 --- a/dx/tests/053-dex-instance-var-access/info.txt +++ /dev/null @@ -1,6 +0,0 @@ -This is a smoke test of dex conversion, which checks to see that -instance variable access works. - -This test compares emitted code against a known-good (via eyeballing) -version, so it is possible for this test to spuriously fail if other -aspects of conversion end up altering the output in innocuous ways. diff --git a/dx/tests/053-dex-instance-var-access/run b/dx/tests/053-dex-instance-var-access/run deleted file mode 100644 index 52f113167..000000000 --- a/dx/tests/053-dex-instance-var-access/run +++ /dev/null @@ -1,19 +0,0 @@ -#!/bin/bash -# -# Copyright (C) 2007 The Android Open Source Project -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -$JAVAC -d . Blort.java -dx --debug --dex --no-optimize --positions=none --no-locals \ - --dump-method=Blort.test'*' *.class diff --git a/dx/tests/054-dex-high16/Blort.java b/dx/tests/054-dex-high16/Blort.java deleted file mode 100644 index e8976fa9d..000000000 --- a/dx/tests/054-dex-high16/Blort.java +++ /dev/null @@ -1,74 +0,0 @@ -/* - * Copyright (C) 2007 The Android Open Source Project - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -public class Blort -{ - public static void sink(int i) { - // Do nothing. - } - - public static void sink(long l) { - // Do nothing. - } - - public static void sink(float f) { - // Do nothing. - } - - public static void sink(double d) { - // Do nothing. - } - - public static void testInt() { - sink(Integer.MIN_VALUE); - sink(0x40000000); - sink(0x20000000); - sink(0x10000000); - sink(0x00080000); - sink(0x00040000); - sink(0x00020000); - sink(0x00010000); - sink(0x56780000); - } - - public static void testLong() { - sink(Long.MIN_VALUE); - sink(0x4000000000000000L); - sink(0x2000000000000000L); - sink(0x1000000000000000L); - sink(0x0008000000000000L); - sink(0x0004000000000000L); - sink(0x0002000000000000L); - sink(0x0001000000000000L); - sink(0x5678000000000000L); - } - - public static void testFloat() { - sink(Float.NEGATIVE_INFINITY); - sink(-0.0f); - sink(1.0f); - sink(Float.POSITIVE_INFINITY); - sink(Float.NaN); - } - - public static void testDouble() { - sink(Double.NEGATIVE_INFINITY); - sink(-0.0); - sink(1.0); - sink(Double.POSITIVE_INFINITY); - sink(Double.NaN); - } -} diff --git a/dx/tests/054-dex-high16/expected.txt b/dx/tests/054-dex-high16/expected.txt deleted file mode 100644 index b9d6cf304..000000000 --- a/dx/tests/054-dex-high16/expected.txt +++ /dev/null @@ -1,68 +0,0 @@ -Blort.testDouble:()V: -regs: 0002; ins: 0000; outs: 0002 - 0000: const-wide/high16 v0, #double -Infinity // #fff0000000000000 - 0002: invoke-static {v0, v1}, Blort.sink:(D)V - 0005: const-wide/high16 v0, #double -0.0 // #8000000000000000 - 0007: invoke-static {v0, v1}, Blort.sink:(D)V - 000a: const-wide/high16 v0, #double 1.0 // #3ff0000000000000 - 000c: invoke-static {v0, v1}, Blort.sink:(D)V - 000f: const-wide/high16 v0, #double Infinity // #7ff0000000000000 - 0011: invoke-static {v0, v1}, Blort.sink:(D)V - 0014: const-wide/high16 v0, #double NaN // #7ff8000000000000 - 0016: invoke-static {v0, v1}, Blort.sink:(D)V - 0019: return-void -Blort.testFloat:()V: -regs: 0001; ins: 0000; outs: 0001 - 0000: const/high16 v0, #float -Infinity // #ff800000 - 0002: invoke-static {v0}, Blort.sink:(F)V - 0005: const/high16 v0, #float -0.0 // #80000000 - 0007: invoke-static {v0}, Blort.sink:(F)V - 000a: const/high16 v0, #float 1.0 // #3f800000 - 000c: invoke-static {v0}, Blort.sink:(F)V - 000f: const/high16 v0, #float Infinity // #7f800000 - 0011: invoke-static {v0}, Blort.sink:(F)V - 0014: const/high16 v0, #float NaN // #7fc00000 - 0016: invoke-static {v0}, Blort.sink:(F)V - 0019: return-void -Blort.testInt:()V: -regs: 0001; ins: 0000; outs: 0001 - 0000: const/high16 v0, #int -2147483648 // #80000000 - 0002: invoke-static {v0}, Blort.sink:(I)V - 0005: const/high16 v0, #int 1073741824 // #40000000 - 0007: invoke-static {v0}, Blort.sink:(I)V - 000a: const/high16 v0, #int 536870912 // #20000000 - 000c: invoke-static {v0}, Blort.sink:(I)V - 000f: const/high16 v0, #int 268435456 // #10000000 - 0011: invoke-static {v0}, Blort.sink:(I)V - 0014: const/high16 v0, #int 524288 // #00080000 - 0016: invoke-static {v0}, Blort.sink:(I)V - 0019: const/high16 v0, #int 262144 // #00040000 - 001b: invoke-static {v0}, Blort.sink:(I)V - 001e: const/high16 v0, #int 131072 // #00020000 - 0020: invoke-static {v0}, Blort.sink:(I)V - 0023: const/high16 v0, #int 65536 // #00010000 - 0025: invoke-static {v0}, Blort.sink:(I)V - 0028: const/high16 v0, #int 1450704896 // #56780000 - 002a: invoke-static {v0}, Blort.sink:(I)V - 002d: return-void -Blort.testLong:()V: -regs: 0002; ins: 0000; outs: 0002 - 0000: const-wide/high16 v0, #long -9223372036854775808 // #8000000000000000 - 0002: invoke-static {v0, v1}, Blort.sink:(J)V - 0005: const-wide/high16 v0, #long 4611686018427387904 // #4000000000000000 - 0007: invoke-static {v0, v1}, Blort.sink:(J)V - 000a: const-wide/high16 v0, #long 2305843009213693952 // #2000000000000000 - 000c: invoke-static {v0, v1}, Blort.sink:(J)V - 000f: const-wide/high16 v0, #long 1152921504606846976 // #1000000000000000 - 0011: invoke-static {v0, v1}, Blort.sink:(J)V - 0014: const-wide/high16 v0, #long 2251799813685248 // #0008000000000000 - 0016: invoke-static {v0, v1}, Blort.sink:(J)V - 0019: const-wide/high16 v0, #long 1125899906842624 // #0004000000000000 - 001b: invoke-static {v0, v1}, Blort.sink:(J)V - 001e: const-wide/high16 v0, #long 562949953421312 // #0002000000000000 - 0020: invoke-static {v0, v1}, Blort.sink:(J)V - 0023: const-wide/high16 v0, #long 281474976710656 // #0001000000000000 - 0025: invoke-static {v0, v1}, Blort.sink:(J)V - 0028: const-wide/high16 v0, #long 6230730084467081216 // #5678000000000000 - 002a: invoke-static {v0, v1}, Blort.sink:(J)V - 002d: return-void diff --git a/dx/tests/054-dex-high16/info.txt b/dx/tests/054-dex-high16/info.txt deleted file mode 100644 index ef1fac47e..000000000 --- a/dx/tests/054-dex-high16/info.txt +++ /dev/null @@ -1,6 +0,0 @@ -This is a smoke test of dex conversion, which checks to see that -"high16" constants get converted properly. - -This test compares emitted code against a known-good (via eyeballing) -version, so it is possible for this test to spuriously fail if other -aspects of conversion end up altering the output in innocuous ways. diff --git a/dx/tests/054-dex-high16/run b/dx/tests/054-dex-high16/run deleted file mode 100644 index a2c745847..000000000 --- a/dx/tests/054-dex-high16/run +++ /dev/null @@ -1,19 +0,0 @@ -#!/bin/bash -# -# Copyright (C) 2007 The Android Open Source Project -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -$JAVAC -d . Blort.java -dx --debug --dex --positions=none --no-locals \ - --dump-method=Blort.test'*' *.class diff --git a/dx/tests/055-dex-explicit-throw/Blort.java b/dx/tests/055-dex-explicit-throw/Blort.java deleted file mode 100644 index a47ba902d..000000000 --- a/dx/tests/055-dex-explicit-throw/Blort.java +++ /dev/null @@ -1,32 +0,0 @@ -/* - * Copyright (C) 2007 The Android Open Source Project - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -public class Blort -{ - private static RuntimeException theException = new RuntimeException(); - - public static void test1() { - throw theException; - } - - public static int test2() { - try { - throw theException; - } catch (RuntimeException ex) { - return 1; - } - } -} diff --git a/dx/tests/055-dex-explicit-throw/expected.txt b/dx/tests/055-dex-explicit-throw/expected.txt deleted file mode 100644 index b7e4c334a..000000000 --- a/dx/tests/055-dex-explicit-throw/expected.txt +++ /dev/null @@ -1,17 +0,0 @@ -Blort.test1:()V: -regs: 0001; ins: 0000; outs: 0000 - 0000: sget-object v0, Blort.theException:Ljava/lang/RuntimeException; - 0002: throw v0 -Blort.test2:()I: -regs: 0002; ins: 0000; outs: 0000 - 0000: sget-object v1, Blort.theException:Ljava/lang/RuntimeException; - 0002: throw v1 - 0003: move-exception v1 - 0004: move-object v0, v1 - 0005: const/4 v1, #int 1 // #1 - 0006: move v0, v1 - 0007: return v0 - catches - tries: - try 0000..0003 - catch java.lang.RuntimeException -> 0003 diff --git a/dx/tests/055-dex-explicit-throw/info.txt b/dx/tests/055-dex-explicit-throw/info.txt deleted file mode 100644 index b3b7808bc..000000000 --- a/dx/tests/055-dex-explicit-throw/info.txt +++ /dev/null @@ -1,6 +0,0 @@ -This is a smoke test of dex conversion, which checks to see that -explicit use of "throw" gets converted reasonably. - -This test compares emitted code against a known-good (via eyeballing) -version, so it is possible for this test to spuriously fail if other -aspects of conversion end up altering the output in innocuous ways. diff --git a/dx/tests/055-dex-explicit-throw/run b/dx/tests/055-dex-explicit-throw/run deleted file mode 100644 index 52f113167..000000000 --- a/dx/tests/055-dex-explicit-throw/run +++ /dev/null @@ -1,19 +0,0 @@ -#!/bin/bash -# -# Copyright (C) 2007 The Android Open Source Project -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -$JAVAC -d . Blort.java -dx --debug --dex --no-optimize --positions=none --no-locals \ - --dump-method=Blort.test'*' *.class diff --git a/dx/tests/056-dex-call-interface/Blort.java b/dx/tests/056-dex-call-interface/Blort.java deleted file mode 100644 index 75775e618..000000000 --- a/dx/tests/056-dex-call-interface/Blort.java +++ /dev/null @@ -1,26 +0,0 @@ -/* - * Copyright (C) 2007 The Android Open Source Project - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -public class Blort -{ - public static int test(Zorch z, double d) { - z.zorch1(); - z.zorch2(d); - int x = z.zorch3(z); - int y = (int) z.zorch4(); - return x + y; - } -} diff --git a/dx/tests/056-dex-call-interface/Zorch.java b/dx/tests/056-dex-call-interface/Zorch.java deleted file mode 100644 index 03e3762ad..000000000 --- a/dx/tests/056-dex-call-interface/Zorch.java +++ /dev/null @@ -1,23 +0,0 @@ -/* - * Copyright (C) 2007 The Android Open Source Project - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -public interface Zorch -{ - public void zorch1(); - public void zorch2(double d); - public int zorch3(Object o); - public long zorch4(); -} diff --git a/dx/tests/056-dex-call-interface/expected.txt b/dx/tests/056-dex-call-interface/expected.txt deleted file mode 100644 index faf18c42e..000000000 --- a/dx/tests/056-dex-call-interface/expected.txt +++ /dev/null @@ -1,24 +0,0 @@ -Blort.test:(LZorch;D)I: -regs: 000b; ins: 0003; outs: 0003 - 0000: move-object v0, v8 - 0001: move-wide v1, v9 - 0002: move-object v5, v0 - 0003: invoke-interface {v5}, Zorch.zorch1:()V - 0006: move-object v5, v0 - 0007: move-wide v6, v1 - 0008: invoke-interface {v5, v6, v7}, Zorch.zorch2:(D)V - 000b: move-object v5, v0 - 000c: move-object v6, v0 - 000d: invoke-interface {v5, v6}, Zorch.zorch3:(Ljava/lang/Object;)I - 0010: move-result v5 - 0011: move v3, v5 - 0012: move-object v5, v0 - 0013: invoke-interface {v5}, Zorch.zorch4:()J - 0016: move-result-wide v5 - 0017: long-to-int v5, v5 - 0018: move v4, v5 - 0019: move v5, v3 - 001a: move v6, v4 - 001b: add-int/2addr v5, v6 - 001c: move v0, v5 - 001d: return v0 diff --git a/dx/tests/056-dex-call-interface/info.txt b/dx/tests/056-dex-call-interface/info.txt deleted file mode 100644 index 2f964a2d4..000000000 --- a/dx/tests/056-dex-call-interface/info.txt +++ /dev/null @@ -1,6 +0,0 @@ -This is a smoke test of dex conversion, which checks to see that -a couple cases of interface method invocation work properly. - -This test compares emitted code against a known-good (via eyeballing) -version, so it is possible for this test to spuriously fail if other -aspects of conversion end up altering the output in innocuous ways. diff --git a/dx/tests/056-dex-call-interface/run b/dx/tests/056-dex-call-interface/run deleted file mode 100644 index 1076ae1fc..000000000 --- a/dx/tests/056-dex-call-interface/run +++ /dev/null @@ -1,19 +0,0 @@ -#!/bin/bash -# -# Copyright (C) 2007 The Android Open Source Project -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -$JAVAC -d . *.java -dx --debug --dex --no-optimize --positions=none --no-locals \ - --dump-method=Blort.test Blort.class diff --git a/dx/tests/057-dex-call-virtual/Blort.java b/dx/tests/057-dex-call-virtual/Blort.java deleted file mode 100644 index e32135b25..000000000 --- a/dx/tests/057-dex-call-virtual/Blort.java +++ /dev/null @@ -1,23 +0,0 @@ -/* - * Copyright (C) 2007 The Android Open Source Project - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -public class Blort -{ - public static int test(Zorch z) { - z.zorch1(); - return z.zorch2(5); - } -} diff --git a/dx/tests/057-dex-call-virtual/Zorch.java b/dx/tests/057-dex-call-virtual/Zorch.java deleted file mode 100644 index 718601fc7..000000000 --- a/dx/tests/057-dex-call-virtual/Zorch.java +++ /dev/null @@ -1,26 +0,0 @@ -/* - * Copyright (C) 2007 The Android Open Source Project - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -public class Zorch -{ - public void zorch1() { - // This space intentionally left blank. - } - - public int zorch2(int x) { - return 0; - } -} diff --git a/dx/tests/057-dex-call-virtual/expected.txt b/dx/tests/057-dex-call-virtual/expected.txt deleted file mode 100644 index ea50d354d..000000000 --- a/dx/tests/057-dex-call-virtual/expected.txt +++ /dev/null @@ -1,11 +0,0 @@ -Blort.test:(LZorch;)I: -regs: 0004; ins: 0001; outs: 0002 - 0000: move-object v0, v3 - 0001: move-object v1, v0 - 0002: invoke-virtual {v1}, Zorch.zorch1:()V - 0005: move-object v1, v0 - 0006: const/4 v2, #int 5 // #5 - 0007: invoke-virtual {v1, v2}, Zorch.zorch2:(I)I - 000a: move-result v1 - 000b: move v0, v1 - 000c: return v0 diff --git a/dx/tests/057-dex-call-virtual/info.txt b/dx/tests/057-dex-call-virtual/info.txt deleted file mode 100644 index 452c9cb92..000000000 --- a/dx/tests/057-dex-call-virtual/info.txt +++ /dev/null @@ -1,6 +0,0 @@ -This is a smoke test of dex conversion, which checks to see that -a couple cases of regular virtual method invocation work properly. - -This test compares emitted code against a known-good (via eyeballing) -version, so it is possible for this test to spuriously fail if other -aspects of conversion end up altering the output in innocuous ways. diff --git a/dx/tests/057-dex-call-virtual/run b/dx/tests/057-dex-call-virtual/run deleted file mode 100644 index 1076ae1fc..000000000 --- a/dx/tests/057-dex-call-virtual/run +++ /dev/null @@ -1,19 +0,0 @@ -#!/bin/bash -# -# Copyright (C) 2007 The Android Open Source Project -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -$JAVAC -d . *.java -dx --debug --dex --no-optimize --positions=none --no-locals \ - --dump-method=Blort.test Blort.class diff --git a/dx/tests/058-dex-call-direct/Blort.java b/dx/tests/058-dex-call-direct/Blort.java deleted file mode 100644 index 77e224c85..000000000 --- a/dx/tests/058-dex-call-direct/Blort.java +++ /dev/null @@ -1,31 +0,0 @@ -/* - * Copyright (C) 2007 The Android Open Source Project - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -public class Blort -{ - public static int test(Blort b) { - b.zorch1(); - return b.zorch2(5); - } - - private void zorch1() { - // This space intentionally left blank. - } - - private int zorch2(int x) { - return 1; - } -} diff --git a/dx/tests/058-dex-call-direct/expected.txt b/dx/tests/058-dex-call-direct/expected.txt deleted file mode 100644 index 11820a3d4..000000000 --- a/dx/tests/058-dex-call-direct/expected.txt +++ /dev/null @@ -1,11 +0,0 @@ -Blort.test:(LBlort;)I: -regs: 0004; ins: 0001; outs: 0002 - 0000: move-object v0, v3 - 0001: move-object v1, v0 - 0002: invoke-direct {v1}, Blort.zorch1:()V - 0005: move-object v1, v0 - 0006: const/4 v2, #int 5 // #5 - 0007: invoke-direct {v1, v2}, Blort.zorch2:(I)I - 000a: move-result v1 - 000b: move v0, v1 - 000c: return v0 diff --git a/dx/tests/058-dex-call-direct/info.txt b/dx/tests/058-dex-call-direct/info.txt deleted file mode 100644 index a22c479fb..000000000 --- a/dx/tests/058-dex-call-direct/info.txt +++ /dev/null @@ -1,6 +0,0 @@ -This is a smoke test of dex conversion, which checks to see that -a couple cases of direct instance method invocation work properly. - -This test compares emitted code against a known-good (via eyeballing) -version, so it is possible for this test to spuriously fail if other -aspects of conversion end up altering the output in innocuous ways. diff --git a/dx/tests/058-dex-call-direct/run b/dx/tests/058-dex-call-direct/run deleted file mode 100644 index 1076ae1fc..000000000 --- a/dx/tests/058-dex-call-direct/run +++ /dev/null @@ -1,19 +0,0 @@ -#!/bin/bash -# -# Copyright (C) 2007 The Android Open Source Project -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -$JAVAC -d . *.java -dx --debug --dex --no-optimize --positions=none --no-locals \ - --dump-method=Blort.test Blort.class diff --git a/dx/tests/059-dex-call-super/Blort.java b/dx/tests/059-dex-call-super/Blort.java deleted file mode 100644 index 599440bc8..000000000 --- a/dx/tests/059-dex-call-super/Blort.java +++ /dev/null @@ -1,28 +0,0 @@ -/* - * Copyright (C) 2007 The Android Open Source Project - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -public class Blort - extends Zorch -{ - public int test1() { - super.zorch1(); - return super.zorch2(5); - } - - public void test2() { - super.test2(); - } -} diff --git a/dx/tests/059-dex-call-super/Zorch.java b/dx/tests/059-dex-call-super/Zorch.java deleted file mode 100644 index 2f8951a04..000000000 --- a/dx/tests/059-dex-call-super/Zorch.java +++ /dev/null @@ -1,30 +0,0 @@ -/* - * Copyright (C) 2007 The Android Open Source Project - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -public class Zorch -{ - public void zorch1() { - // This space intentionally left blank. - } - - public int zorch2(int x) { - return 0; - } - - public void test2() { - // This space intentionally left blank. - } -} diff --git a/dx/tests/059-dex-call-super/expected.txt b/dx/tests/059-dex-call-super/expected.txt deleted file mode 100644 index 8bb3bdebe..000000000 --- a/dx/tests/059-dex-call-super/expected.txt +++ /dev/null @@ -1,17 +0,0 @@ -Blort.test1:()I: -regs: 0004; ins: 0001; outs: 0002 - 0000: move-object v0, v3 - 0001: move-object v1, v0 - 0002: invoke-super {v1}, Zorch.zorch1:()V - 0005: move-object v1, v0 - 0006: const/4 v2, #int 5 // #5 - 0007: invoke-super {v1, v2}, Zorch.zorch2:(I)I - 000a: move-result v1 - 000b: move v0, v1 - 000c: return v0 -Blort.test2:()V: -regs: 0003; ins: 0001; outs: 0001 - 0000: move-object v0, v2 - 0001: move-object v1, v0 - 0002: invoke-super {v1}, Zorch.test2:()V - 0005: return-void diff --git a/dx/tests/059-dex-call-super/info.txt b/dx/tests/059-dex-call-super/info.txt deleted file mode 100644 index ff8881452..000000000 --- a/dx/tests/059-dex-call-super/info.txt +++ /dev/null @@ -1,6 +0,0 @@ -This is a smoke test of dex conversion, which checks to see that -a couple cases of superclass virtual method invocation work properly. - -This test compares emitted code against a known-good (via eyeballing) -version, so it is possible for this test to spuriously fail if other -aspects of conversion end up altering the output in innocuous ways. diff --git a/dx/tests/059-dex-call-super/run b/dx/tests/059-dex-call-super/run deleted file mode 100644 index e5eb50986..000000000 --- a/dx/tests/059-dex-call-super/run +++ /dev/null @@ -1,19 +0,0 @@ -#!/bin/bash -# -# Copyright (C) 2007 The Android Open Source Project -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -$JAVAC -d . *.java -dx --debug --dex --no-optimize --positions=none --no-locals \ - --dump-method=Blort.test'*' Blort.class diff --git a/dx/tests/060-dex-call-static/Blort.java b/dx/tests/060-dex-call-static/Blort.java deleted file mode 100644 index 2b9bb48c6..000000000 --- a/dx/tests/060-dex-call-static/Blort.java +++ /dev/null @@ -1,23 +0,0 @@ -/* - * Copyright (C) 2007 The Android Open Source Project - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -public class Blort -{ - public static int test() { - Zorch.zorch1(); - return Zorch.zorch2(5); - } -} diff --git a/dx/tests/060-dex-call-static/Zorch.java b/dx/tests/060-dex-call-static/Zorch.java deleted file mode 100644 index 8ccc4482c..000000000 --- a/dx/tests/060-dex-call-static/Zorch.java +++ /dev/null @@ -1,26 +0,0 @@ -/* - * Copyright (C) 2007 The Android Open Source Project - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -public class Zorch -{ - public static void zorch1() { - // This space intentionally left blank. - } - - public static int zorch2(int x) { - return 1; - } -} diff --git a/dx/tests/060-dex-call-static/expected.txt b/dx/tests/060-dex-call-static/expected.txt deleted file mode 100644 index 94329898a..000000000 --- a/dx/tests/060-dex-call-static/expected.txt +++ /dev/null @@ -1,7 +0,0 @@ -Blort.test:()I: -regs: 0001; ins: 0000; outs: 0001 - 0000: invoke-static {}, Zorch.zorch1:()V - 0003: const/4 v0, #int 5 // #5 - 0004: invoke-static {v0}, Zorch.zorch2:(I)I - 0007: move-result v0 - 0008: return v0 diff --git a/dx/tests/060-dex-call-static/info.txt b/dx/tests/060-dex-call-static/info.txt deleted file mode 100644 index 12533551b..000000000 --- a/dx/tests/060-dex-call-static/info.txt +++ /dev/null @@ -1,6 +0,0 @@ -This is a smoke test of dex conversion, which checks to see that -a couple cases of static method invocation work properly. - -This test compares emitted code against a known-good (via eyeballing) -version, so it is possible for this test to spuriously fail if other -aspects of conversion end up altering the output in innocuous ways. diff --git a/dx/tests/060-dex-call-static/run b/dx/tests/060-dex-call-static/run deleted file mode 100644 index 346856ce0..000000000 --- a/dx/tests/060-dex-call-static/run +++ /dev/null @@ -1,19 +0,0 @@ -#!/bin/bash -# -# Copyright (C) 2007 The Android Open Source Project -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -$JAVAC -d . *.java -dx --debug --dex --positions=none --no-locals \ - --dump-method=Blort.test Blort.class diff --git a/dx/tests/061-dex-try-catch/Blort.java b/dx/tests/061-dex-try-catch/Blort.java deleted file mode 100644 index b63a41ea7..000000000 --- a/dx/tests/061-dex-try-catch/Blort.java +++ /dev/null @@ -1,66 +0,0 @@ -/* - * Copyright (C) 2007 The Android Open Source Project - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -public class Blort -{ - public static void caught() { - // This space intentionally left blank. - } - - public static void zorch(int x) { - // This space intentionally left blank. - } - - public static void test1(int x) { - // In this test, the code being try-caught can't possibly throw. - try { - x = 0; - } catch (RuntimeException ex) { - caught(); - } - } - - public static void test2(String[] sa) { - // In this test, the code being try-caught doesn't contain any - // constant pool references. - try { - int x = sa.length; - } catch (RuntimeException ex) { - caught(); - } - } - - public static void test3() { - // In this test, the code being try-caught contains a constant - // pool reference. - try { - zorch(1); - } catch (RuntimeException ex) { - caught(); - } - } - - public static void test4(String[] sa) { - // In this test, the code being try-caught contains one - // throwing instruction that has a constant pool reference and - // one that doesn't. - try { - zorch(sa.length); - } catch (RuntimeException ex) { - caught(); - } - } -} diff --git a/dx/tests/061-dex-try-catch/expected.txt b/dx/tests/061-dex-try-catch/expected.txt deleted file mode 100644 index d66f40468..000000000 --- a/dx/tests/061-dex-try-catch/expected.txt +++ /dev/null @@ -1,49 +0,0 @@ -Blort.test1:(I)V: -regs: 0004; ins: 0001; outs: 0000 - 0000: move v0, v3 - 0001: const/4 v2, #int 0 // #0 - 0002: move v0, v2 - 0003: return-void -Blort.test2:([Ljava/lang/String;)V: -regs: 0004; ins: 0001; outs: 0000 - 0000: move-object v0, v3 - 0001: move-object v2, v0 - 0002: array-length v2, v2 - 0003: move v1, v2 - 0004: return-void - 0005: move-exception v2 - 0006: move-object v1, v2 - 0007: invoke-static {}, Blort.caught:()V - 000a: goto 0004 // -0006 - catches - tries: - try 0002..0003 - catch java.lang.RuntimeException -> 0005 -Blort.test3:()V: -regs: 0002; ins: 0000; outs: 0001 - 0000: const/4 v1, #int 1 // #1 - 0001: invoke-static {v1}, Blort.zorch:(I)V - 0004: return-void - 0005: move-exception v1 - 0006: move-object v0, v1 - 0007: invoke-static {}, Blort.caught:()V - 000a: goto 0004 // -0006 - catches - tries: - try 0001..0004 - catch java.lang.RuntimeException -> 0005 -Blort.test4:([Ljava/lang/String;)V: -regs: 0004; ins: 0001; outs: 0001 - 0000: move-object v0, v3 - 0001: move-object v2, v0 - 0002: array-length v2, v2 - 0003: invoke-static {v2}, Blort.zorch:(I)V - 0006: return-void - 0007: move-exception v2 - 0008: move-object v1, v2 - 0009: invoke-static {}, Blort.caught:()V - 000c: goto 0006 // -0006 - catches - tries: - try 0002..0006 - catch java.lang.RuntimeException -> 0007 diff --git a/dx/tests/061-dex-try-catch/info.txt b/dx/tests/061-dex-try-catch/info.txt deleted file mode 100644 index 409b25139..000000000 --- a/dx/tests/061-dex-try-catch/info.txt +++ /dev/null @@ -1,6 +0,0 @@ -This is a smoke test of dex conversion, which checks to see that -a couple cases of try-catch work properly. - -This test compares emitted code against a known-good (via eyeballing) -version, so it is possible for this test to spuriously fail if other -aspects of conversion end up altering the output in innocuous ways. diff --git a/dx/tests/061-dex-try-catch/run b/dx/tests/061-dex-try-catch/run deleted file mode 100644 index e5eb50986..000000000 --- a/dx/tests/061-dex-try-catch/run +++ /dev/null @@ -1,19 +0,0 @@ -#!/bin/bash -# -# Copyright (C) 2007 The Android Open Source Project -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -$JAVAC -d . *.java -dx --debug --dex --no-optimize --positions=none --no-locals \ - --dump-method=Blort.test'*' Blort.class diff --git a/dx/tests/062-dex-synch-method/Blort.java b/dx/tests/062-dex-synch-method/Blort.java deleted file mode 100644 index 643165dae..000000000 --- a/dx/tests/062-dex-synch-method/Blort.java +++ /dev/null @@ -1,66 +0,0 @@ -/* - * Copyright (C) 2007 The Android Open Source Project - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -public class Blort -{ - public synchronized void testInstance1() { - // This space intentionally left blank. - } - - public synchronized void testInstance2(Object x) { - x.hashCode(); - } - - public synchronized int testInstance3(int x, int y, int z) { - if (x == 1) { - return 1; - } else { - return 2; - } - } - - public synchronized long testInstance4(long x) { - if (x == 1) { - return 1; - } else { - return 2; - } - } - - public static synchronized void testStatic1() { - // This space intentionally left blank. - } - - public static synchronized void testStatic2(Object x) { - x.hashCode(); - } - - public static synchronized int testStatic3(int x, int y, int z) { - if (x == 1) { - return 1; - } else { - return 2; - } - } - - public static synchronized long testStatic4(long x) { - if (x == 1) { - return 1; - } else { - return 2; - } - } -} diff --git a/dx/tests/062-dex-synch-method/expected.txt b/dx/tests/062-dex-synch-method/expected.txt deleted file mode 100644 index 68bdebe76..000000000 --- a/dx/tests/062-dex-synch-method/expected.txt +++ /dev/null @@ -1,116 +0,0 @@ -Blort.testInstance1:()V: -regs: 0003; ins: 0001; outs: 0000 - 0000: move-object v0, v2 - 0001: move-object v1, v2 - 0002: monitor-enter v1 - 0003: monitor-exit v1 - 0004: return-void -Blort.testInstance2:(Ljava/lang/Object;)V: -regs: 0006; ins: 0002; outs: 0001 - 0000: move-object v0, v4 - 0001: move-object v1, v5 - 0002: move-object v3, v4 - 0003: monitor-enter v3 - 0004: move-object v2, v1 - 0005: invoke-virtual {v2}, java.lang.Object.hashCode:()I - 0008: move-result v2 - 0009: monitor-exit v3 - 000a: return-void - 000b: move-exception v0 - 000c: monitor-exit v3 - 000d: throw v0 - catches - tries: - try 0005..0008 - catch <any> -> 000b -Blort.testInstance3:(III)I: -regs: 000b; ins: 0004; outs: 0000 - 0000: move-object v0, v7 - 0001: move v1, v8 - 0002: move v2, v9 - 0003: move v3, v10 - 0004: move-object v6, v7 - 0005: monitor-enter v6 - 0006: move v4, v1 - 0007: const/4 v5, #int 1 // #1 - 0008: if-ne v4, v5, 000e // +0006 - 000a: const/4 v4, #int 1 // #1 - 000b: move v0, v4 - 000c: monitor-exit v6 - 000d: return v0 - 000e: const/4 v4, #int 2 // #2 - 000f: move v0, v4 - 0010: goto 000c // -0004 -Blort.testInstance4:(J)J: -regs: 000b; ins: 0003; outs: 0000 - 0000: move-object v0, v8 - 0001: move-wide v1, v9 - 0002: move-object v7, v8 - 0003: monitor-enter v7 - 0004: move-wide v3, v1 - 0005: const-wide/16 v5, #long 1 // #0001 - 0007: cmp-long v3, v3, v5 - 0009: if-nez v3, 0010 // +0007 - 000b: const-wide/16 v3, #long 1 // #0001 - 000d: move-wide v0, v3 - 000e: monitor-exit v7 - 000f: return-wide v0 - 0010: const-wide/16 v3, #long 2 // #0002 - 0012: move-wide v0, v3 - 0013: goto 000e // -0005 -Blort.testStatic1:()V: -regs: 0001; ins: 0000; outs: 0000 - 0000: const-class v0, Blort - 0002: monitor-enter v0 - 0003: monitor-exit v0 - 0004: return-void -Blort.testStatic2:(Ljava/lang/Object;)V: -regs: 0004; ins: 0001; outs: 0001 - 0000: move-object v0, v3 - 0001: const-class v2, Blort - 0003: monitor-enter v2 - 0004: move-object v1, v0 - 0005: invoke-virtual {v1}, java.lang.Object.hashCode:()I - 0008: move-result v1 - 0009: monitor-exit v2 - 000a: return-void - 000b: move-exception v0 - 000c: monitor-exit v2 - 000d: throw v0 - catches - tries: - try 0005..0008 - catch <any> -> 000b -Blort.testStatic3:(III)I: -regs: 0009; ins: 0003; outs: 0000 - 0000: move v0, v6 - 0001: move v1, v7 - 0002: move v2, v8 - 0003: const-class v5, Blort - 0005: monitor-enter v5 - 0006: move v3, v0 - 0007: const/4 v4, #int 1 // #1 - 0008: if-ne v3, v4, 000e // +0006 - 000a: const/4 v3, #int 1 // #1 - 000b: move v0, v3 - 000c: monitor-exit v5 - 000d: return v0 - 000e: const/4 v3, #int 2 // #2 - 000f: move v0, v3 - 0010: goto 000c // -0004 -Blort.testStatic4:(J)J: -regs: 0009; ins: 0002; outs: 0000 - 0000: move-wide v0, v7 - 0001: const-class v6, Blort - 0003: monitor-enter v6 - 0004: move-wide v2, v0 - 0005: const-wide/16 v4, #long 1 // #0001 - 0007: cmp-long v2, v2, v4 - 0009: if-nez v2, 0010 // +0007 - 000b: const-wide/16 v2, #long 1 // #0001 - 000d: move-wide v0, v2 - 000e: monitor-exit v6 - 000f: return-wide v0 - 0010: const-wide/16 v2, #long 2 // #0002 - 0012: move-wide v0, v2 - 0013: goto 000e // -0005 diff --git a/dx/tests/062-dex-synch-method/info.txt b/dx/tests/062-dex-synch-method/info.txt deleted file mode 100644 index 0e82727f3..000000000 --- a/dx/tests/062-dex-synch-method/info.txt +++ /dev/null @@ -1,6 +0,0 @@ -This is a smoke test of dex conversion, which checks to see that -a couple cases of synchronized methods get converted reasonably. - -This test compares emitted code against a known-good (via eyeballing) -version, so it is possible for this test to spuriously fail if other -aspects of conversion end up altering the output in innocuous ways. diff --git a/dx/tests/062-dex-synch-method/run b/dx/tests/062-dex-synch-method/run deleted file mode 100644 index e5eb50986..000000000 --- a/dx/tests/062-dex-synch-method/run +++ /dev/null @@ -1,19 +0,0 @@ -#!/bin/bash -# -# Copyright (C) 2007 The Android Open Source Project -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -$JAVAC -d . *.java -dx --debug --dex --no-optimize --positions=none --no-locals \ - --dump-method=Blort.test'*' Blort.class diff --git a/dx/tests/063-dex-empty-switch/Blort.java b/dx/tests/063-dex-empty-switch/Blort.java deleted file mode 100644 index 2d996f3d4..000000000 --- a/dx/tests/063-dex-empty-switch/Blort.java +++ /dev/null @@ -1,32 +0,0 @@ -/* - * Copyright (C) 2007 The Android Open Source Project - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -public class Blort -{ - public int test1(int x) { - switch (x) { - default: return 1; - } - } - - public int test2(int x) { - switch (x) { - default: x = 1; - } - - return x; - } -} diff --git a/dx/tests/063-dex-empty-switch/expected.txt b/dx/tests/063-dex-empty-switch/expected.txt deleted file mode 100644 index e4d1a469e..000000000 --- a/dx/tests/063-dex-empty-switch/expected.txt +++ /dev/null @@ -1,18 +0,0 @@ -Blort.test1:(I)I: -regs: 0005; ins: 0002; outs: 0000 - 0000: move-object v0, v3 - 0001: move v1, v4 - 0002: move v2, v1 - 0003: const/4 v2, #int 1 // #1 - 0004: move v0, v2 - 0005: return v0 -Blort.test2:(I)I: -regs: 0005; ins: 0002; outs: 0000 - 0000: move-object v0, v3 - 0001: move v1, v4 - 0002: move v2, v1 - 0003: const/4 v2, #int 1 // #1 - 0004: move v1, v2 - 0005: move v2, v1 - 0006: move v0, v2 - 0007: return v0 diff --git a/dx/tests/063-dex-empty-switch/info.txt b/dx/tests/063-dex-empty-switch/info.txt deleted file mode 100644 index 38f212ba9..000000000 --- a/dx/tests/063-dex-empty-switch/info.txt +++ /dev/null @@ -1,7 +0,0 @@ -This is a smoke test of dex conversion, which checks to see that -a couple cases of empty (that is, default-only) switch statements -get converted reasonably. - -This test compares emitted code against a known-good (via eyeballing) -version, so it is possible for this test to spuriously fail if other -aspects of conversion end up altering the output in innocuous ways. diff --git a/dx/tests/063-dex-empty-switch/run b/dx/tests/063-dex-empty-switch/run deleted file mode 100644 index e5eb50986..000000000 --- a/dx/tests/063-dex-empty-switch/run +++ /dev/null @@ -1,19 +0,0 @@ -#!/bin/bash -# -# Copyright (C) 2007 The Android Open Source Project -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -$JAVAC -d . *.java -dx --debug --dex --no-optimize --positions=none --no-locals \ - --dump-method=Blort.test'*' Blort.class diff --git a/dx/tests/064-dex-array-access/Blort.java b/dx/tests/064-dex-array-access/Blort.java deleted file mode 100644 index 3f1d1d876..000000000 --- a/dx/tests/064-dex-array-access/Blort.java +++ /dev/null @@ -1,74 +0,0 @@ -/* - * Copyright (C) 2007 The Android Open Source Project - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -public class Blort -{ - public boolean test01(boolean[] x) { - x[0] = true; - return x[1]; - } - - public byte test02(byte[] x) { - x[0] = 5; - return x[1]; - } - - public short test03(short[] x) { - x[0] = 5; - return x[1]; - } - - public char test04(char[] x) { - x[0] = 5; - return x[1]; - } - - public int test05(int[] x) { - x[0] = 5; - return x[1]; - } - - public long test06(long[] x) { - x[0] = 5; - return x[1]; - } - - public float test07(float[] x) { - x[0] = 2.0f; - return x[1]; - } - - public double test08(double[] x) { - x[0] = 2.0; - return x[1]; - } - - public Object test09(Object[] x) { - x[0] = null; - return x[1]; - } - - public static Object test10(Object[][] x) { - x[0][0] = null; - return x[1][2]; - } - - public static int test11(Object x) { - int[][][] arr = (int[][][]) x; - arr[0][0][0] = 123; - return arr[1][2][3]; - } -} diff --git a/dx/tests/064-dex-array-access/expected.txt b/dx/tests/064-dex-array-access/expected.txt deleted file mode 100644 index ae251e780..000000000 --- a/dx/tests/064-dex-array-access/expected.txt +++ /dev/null @@ -1,157 +0,0 @@ -Blort.test01:([Z)Z: -regs: 0007; ins: 0002; outs: 0000 - 0000: move-object v0, v5 - 0001: move-object v1, v6 - 0002: move-object v2, v1 - 0003: const/4 v3, #int 0 // #0 - 0004: const/4 v4, #int 1 // #1 - 0005: aput-boolean v4, v2, v3 - 0007: move-object v2, v1 - 0008: const/4 v3, #int 1 // #1 - 0009: aget-boolean v2, v2, v3 - 000b: move v0, v2 - 000c: return v0 -Blort.test02:([B)B: -regs: 0007; ins: 0002; outs: 0000 - 0000: move-object v0, v5 - 0001: move-object v1, v6 - 0002: move-object v2, v1 - 0003: const/4 v3, #int 0 // #0 - 0004: const/4 v4, #int 5 // #5 - 0005: aput-byte v4, v2, v3 - 0007: move-object v2, v1 - 0008: const/4 v3, #int 1 // #1 - 0009: aget-byte v2, v2, v3 - 000b: move v0, v2 - 000c: return v0 -Blort.test03:([S)S: -regs: 0007; ins: 0002; outs: 0000 - 0000: move-object v0, v5 - 0001: move-object v1, v6 - 0002: move-object v2, v1 - 0003: const/4 v3, #int 0 // #0 - 0004: const/4 v4, #int 5 // #5 - 0005: aput-short v4, v2, v3 - 0007: move-object v2, v1 - 0008: const/4 v3, #int 1 // #1 - 0009: aget-short v2, v2, v3 - 000b: move v0, v2 - 000c: return v0 -Blort.test04:([C)C: -regs: 0007; ins: 0002; outs: 0000 - 0000: move-object v0, v5 - 0001: move-object v1, v6 - 0002: move-object v2, v1 - 0003: const/4 v3, #int 0 // #0 - 0004: const/4 v4, #int 5 // #5 - 0005: aput-char v4, v2, v3 - 0007: move-object v2, v1 - 0008: const/4 v3, #int 1 // #1 - 0009: aget-char v2, v2, v3 - 000b: move v0, v2 - 000c: return v0 -Blort.test05:([I)I: -regs: 0007; ins: 0002; outs: 0000 - 0000: move-object v0, v5 - 0001: move-object v1, v6 - 0002: move-object v2, v1 - 0003: const/4 v3, #int 0 // #0 - 0004: const/4 v4, #int 5 // #5 - 0005: aput v4, v2, v3 - 0007: move-object v2, v1 - 0008: const/4 v3, #int 1 // #1 - 0009: aget v2, v2, v3 - 000b: move v0, v2 - 000c: return v0 -Blort.test06:([J)J: -regs: 0008; ins: 0002; outs: 0000 - 0000: move-object v0, v6 - 0001: move-object v1, v7 - 0002: move-object v2, v1 - 0003: const/4 v3, #int 0 // #0 - 0004: const-wide/16 v4, #long 5 // #0005 - 0006: aput-wide v4, v2, v3 - 0008: move-object v2, v1 - 0009: const/4 v3, #int 1 // #1 - 000a: aget-wide v2, v2, v3 - 000c: move-wide v0, v2 - 000d: return-wide v0 -Blort.test07:([F)F: -regs: 0007; ins: 0002; outs: 0000 - 0000: move-object v0, v5 - 0001: move-object v1, v6 - 0002: move-object v2, v1 - 0003: const/4 v3, #int 0 // #0 - 0004: const/high16 v4, #float 2.0 // #40000000 - 0006: aput v4, v2, v3 - 0008: move-object v2, v1 - 0009: const/4 v3, #int 1 // #1 - 000a: aget v2, v2, v3 - 000c: move v0, v2 - 000d: return v0 -Blort.test08:([D)D: -regs: 0008; ins: 0002; outs: 0000 - 0000: move-object v0, v6 - 0001: move-object v1, v7 - 0002: move-object v2, v1 - 0003: const/4 v3, #int 0 // #0 - 0004: const-wide/high16 v4, #double 2.0 // #4000000000000000 - 0006: aput-wide v4, v2, v3 - 0008: move-object v2, v1 - 0009: const/4 v3, #int 1 // #1 - 000a: aget-wide v2, v2, v3 - 000c: move-wide v0, v2 - 000d: return-wide v0 -Blort.test09:([Ljava/lang/Object;)Ljava/lang/Object;: -regs: 0007; ins: 0002; outs: 0000 - 0000: move-object v0, v5 - 0001: move-object v1, v6 - 0002: move-object v2, v1 - 0003: const/4 v3, #int 0 // #0 - 0004: const/4 v4, #null // #0 - 0005: aput-object v4, v2, v3 - 0007: move-object v2, v1 - 0008: const/4 v3, #int 1 // #1 - 0009: aget-object v2, v2, v3 - 000b: move-object v0, v2 - 000c: return-object v0 -Blort.test10:([[Ljava/lang/Object;)Ljava/lang/Object;: -regs: 0005; ins: 0001; outs: 0000 - 0000: move-object v0, v4 - 0001: move-object v1, v0 - 0002: const/4 v2, #int 0 // #0 - 0003: aget-object v1, v1, v2 - 0005: const/4 v2, #int 0 // #0 - 0006: const/4 v3, #null // #0 - 0007: aput-object v3, v1, v2 - 0009: move-object v1, v0 - 000a: const/4 v2, #int 1 // #1 - 000b: aget-object v1, v1, v2 - 000d: const/4 v2, #int 2 // #2 - 000e: aget-object v1, v1, v2 - 0010: move-object v0, v1 - 0011: return-object v0 -Blort.test11:(Ljava/lang/Object;)I: -regs: 0006; ins: 0001; outs: 0000 - 0000: move-object v0, v5 - 0001: move-object v2, v0 - 0002: check-cast v2, int[][][] - 0004: check-cast v2, int[][][] - 0006: move-object v1, v2 - 0007: move-object v2, v1 - 0008: const/4 v3, #int 0 // #0 - 0009: aget-object v2, v2, v3 - 000b: const/4 v3, #int 0 // #0 - 000c: aget-object v2, v2, v3 - 000e: const/4 v3, #int 0 // #0 - 000f: const/16 v4, #int 123 // #007b - 0011: aput v4, v2, v3 - 0013: move-object v2, v1 - 0014: const/4 v3, #int 1 // #1 - 0015: aget-object v2, v2, v3 - 0017: const/4 v3, #int 2 // #2 - 0018: aget-object v2, v2, v3 - 001a: const/4 v3, #int 3 // #3 - 001b: aget v2, v2, v3 - 001d: move v0, v2 - 001e: return v0 diff --git a/dx/tests/064-dex-array-access/info.txt b/dx/tests/064-dex-array-access/info.txt deleted file mode 100644 index 8f816630f..000000000 --- a/dx/tests/064-dex-array-access/info.txt +++ /dev/null @@ -1,6 +0,0 @@ -This is a smoke test of dex conversion, which checks to see that -a few cases of array access get converted reasonably. - -This test compares emitted code against a known-good (via eyeballing) -version, so it is possible for this test to spuriously fail if other -aspects of conversion end up altering the output in innocuous ways. diff --git a/dx/tests/064-dex-array-access/run b/dx/tests/064-dex-array-access/run deleted file mode 100644 index e5eb50986..000000000 --- a/dx/tests/064-dex-array-access/run +++ /dev/null @@ -1,19 +0,0 @@ -#!/bin/bash -# -# Copyright (C) 2007 The Android Open Source Project -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -$JAVAC -d . *.java -dx --debug --dex --no-optimize --positions=none --no-locals \ - --dump-method=Blort.test'*' Blort.class diff --git a/dx/tests/065-dex-new-array/Blort.java b/dx/tests/065-dex-new-array/Blort.java deleted file mode 100644 index 93af87f63..000000000 --- a/dx/tests/065-dex-new-array/Blort.java +++ /dev/null @@ -1,54 +0,0 @@ -/* - * Copyright (C) 2007 The Android Open Source Project - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -public class Blort -{ - public boolean[] test1() { - return new boolean[1]; - } - - public byte[] test2() { - return new byte[1]; - } - - public short[] test3() { - return new short[1]; - } - - public char[] test4() { - return new char[1]; - } - - public int[] test5() { - return new int[1]; - } - - public long[] test6() { - return new long[1]; - } - - public float[] test7() { - return new float[1]; - } - - public double[] test8() { - return new double[1]; - } - - public Object[] test9() { - return new Object[1]; - } -} diff --git a/dx/tests/065-dex-new-array/expected.txt b/dx/tests/065-dex-new-array/expected.txt deleted file mode 100644 index 0b26182be..000000000 --- a/dx/tests/065-dex-new-array/expected.txt +++ /dev/null @@ -1,63 +0,0 @@ -Blort.test1:()[Z: -regs: 0003; ins: 0001; outs: 0000 - 0000: move-object v0, v2 - 0001: const/4 v1, #int 1 // #1 - 0002: new-array v1, v1, boolean[] - 0004: move-object v0, v1 - 0005: return-object v0 -Blort.test2:()[B: -regs: 0003; ins: 0001; outs: 0000 - 0000: move-object v0, v2 - 0001: const/4 v1, #int 1 // #1 - 0002: new-array v1, v1, byte[] - 0004: move-object v0, v1 - 0005: return-object v0 -Blort.test3:()[S: -regs: 0003; ins: 0001; outs: 0000 - 0000: move-object v0, v2 - 0001: const/4 v1, #int 1 // #1 - 0002: new-array v1, v1, short[] - 0004: move-object v0, v1 - 0005: return-object v0 -Blort.test4:()[C: -regs: 0003; ins: 0001; outs: 0000 - 0000: move-object v0, v2 - 0001: const/4 v1, #int 1 // #1 - 0002: new-array v1, v1, char[] - 0004: move-object v0, v1 - 0005: return-object v0 -Blort.test5:()[I: -regs: 0003; ins: 0001; outs: 0000 - 0000: move-object v0, v2 - 0001: const/4 v1, #int 1 // #1 - 0002: new-array v1, v1, int[] - 0004: move-object v0, v1 - 0005: return-object v0 -Blort.test6:()[J: -regs: 0003; ins: 0001; outs: 0000 - 0000: move-object v0, v2 - 0001: const/4 v1, #int 1 // #1 - 0002: new-array v1, v1, long[] - 0004: move-object v0, v1 - 0005: return-object v0 -Blort.test7:()[F: -regs: 0003; ins: 0001; outs: 0000 - 0000: move-object v0, v2 - 0001: const/4 v1, #int 1 // #1 - 0002: new-array v1, v1, float[] - 0004: move-object v0, v1 - 0005: return-object v0 -Blort.test8:()[D: -regs: 0003; ins: 0001; outs: 0000 - 0000: move-object v0, v2 - 0001: const/4 v1, #int 1 // #1 - 0002: new-array v1, v1, double[] - 0004: move-object v0, v1 - 0005: return-object v0 -Blort.test9:()[Ljava/lang/Object;: -regs: 0003; ins: 0001; outs: 0000 - 0000: move-object v0, v2 - 0001: const/4 v1, #int 1 // #1 - 0002: new-array v1, v1, java.lang.Object[] - 0004: move-object v0, v1 - 0005: return-object v0 diff --git a/dx/tests/065-dex-new-array/info.txt b/dx/tests/065-dex-new-array/info.txt deleted file mode 100644 index f4d2cc553..000000000 --- a/dx/tests/065-dex-new-array/info.txt +++ /dev/null @@ -1,6 +0,0 @@ -This is a smoke test of dex conversion, which checks to see that -a few cases of array construction get converted reasonably. - -This test compares emitted code against a known-good (via eyeballing) -version, so it is possible for this test to spuriously fail if other -aspects of conversion end up altering the output in innocuous ways. diff --git a/dx/tests/065-dex-new-array/run b/dx/tests/065-dex-new-array/run deleted file mode 100644 index e5eb50986..000000000 --- a/dx/tests/065-dex-new-array/run +++ /dev/null @@ -1,19 +0,0 @@ -#!/bin/bash -# -# Copyright (C) 2007 The Android Open Source Project -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -$JAVAC -d . *.java -dx --debug --dex --no-optimize --positions=none --no-locals \ - --dump-method=Blort.test'*' Blort.class diff --git a/dx/tests/066-dex-try-catch-rethrow/Blort.java b/dx/tests/066-dex-try-catch-rethrow/Blort.java deleted file mode 100644 index cefc0fddc..000000000 --- a/dx/tests/066-dex-try-catch-rethrow/Blort.java +++ /dev/null @@ -1,78 +0,0 @@ -/* - * Copyright (C) 2007 The Android Open Source Project - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -public class Blort -{ - public static Object zorch1(String s) { - return null; - } - - public static void test1() { - try { - zorch1("x"); - } catch (Exception ex) { - throw new RuntimeException(ex); - } - } - - public static void zorch2(String s) { - // This space intentionally left blank. - } - - public static void test2() { - try { - zorch2("x"); - } catch (Exception ex) { - throw new RuntimeException(ex); - } - } - - public static int zorch3(String s) { - return 0; - } - - public static void test3() { - try { - zorch3("x"); - } catch (Exception ex) { - throw new RuntimeException(ex); - } - } - - public static Object zorch4(int x) { - return null; - } - - public static void test4() { - try { - zorch4(1); - } catch (Exception ex) { - throw new RuntimeException(ex); - } - } - - public static Object zorch5(int x) { - return null; - } - - public static Object test5() { - try { - return zorch5(1); - } catch (Exception ex) { - throw new RuntimeException(ex); - } - } -} diff --git a/dx/tests/066-dex-try-catch-rethrow/expected.txt b/dx/tests/066-dex-try-catch-rethrow/expected.txt deleted file mode 100644 index 13af56c09..000000000 --- a/dx/tests/066-dex-try-catch-rethrow/expected.txt +++ /dev/null @@ -1,95 +0,0 @@ -Blort.test1:()V: -regs: 0005; ins: 0000; outs: 0002 - 0000: const-string v1, "x" - 0002: invoke-static {v1}, Blort.zorch1:(Ljava/lang/String;)Ljava/lang/Object; - 0005: move-result-object v1 - 0006: return-void - 0007: move-exception v1 - 0008: move-object v0, v1 - 0009: new-instance v1, java.lang.RuntimeException - 000b: move-object v4, v1 - 000c: move-object v1, v4 - 000d: move-object v2, v4 - 000e: move-object v3, v0 - 000f: invoke-direct {v2, v3}, java.lang.RuntimeException.<init>:(Ljava/lang/Throwable;)V - 0012: throw v1 - catches - tries: - try 0000..0005 - catch java.lang.Exception -> 0007 -Blort.test2:()V: -regs: 0005; ins: 0000; outs: 0002 - 0000: const-string v1, "x" - 0002: invoke-static {v1}, Blort.zorch2:(Ljava/lang/String;)V - 0005: return-void - 0006: move-exception v1 - 0007: move-object v0, v1 - 0008: new-instance v1, java.lang.RuntimeException - 000a: move-object v4, v1 - 000b: move-object v1, v4 - 000c: move-object v2, v4 - 000d: move-object v3, v0 - 000e: invoke-direct {v2, v3}, java.lang.RuntimeException.<init>:(Ljava/lang/Throwable;)V - 0011: throw v1 - catches - tries: - try 0000..0005 - catch java.lang.Exception -> 0006 -Blort.test3:()V: -regs: 0005; ins: 0000; outs: 0002 - 0000: const-string v1, "x" - 0002: invoke-static {v1}, Blort.zorch3:(Ljava/lang/String;)I - 0005: move-result v1 - 0006: return-void - 0007: move-exception v1 - 0008: move-object v0, v1 - 0009: new-instance v1, java.lang.RuntimeException - 000b: move-object v4, v1 - 000c: move-object v1, v4 - 000d: move-object v2, v4 - 000e: move-object v3, v0 - 000f: invoke-direct {v2, v3}, java.lang.RuntimeException.<init>:(Ljava/lang/Throwable;)V - 0012: throw v1 - catches - tries: - try 0000..0005 - catch java.lang.Exception -> 0007 -Blort.test4:()V: -regs: 0005; ins: 0000; outs: 0002 - 0000: const/4 v1, #int 1 // #1 - 0001: invoke-static {v1}, Blort.zorch4:(I)Ljava/lang/Object; - 0004: move-result-object v1 - 0005: return-void - 0006: move-exception v1 - 0007: move-object v0, v1 - 0008: new-instance v1, java.lang.RuntimeException - 000a: move-object v4, v1 - 000b: move-object v1, v4 - 000c: move-object v2, v4 - 000d: move-object v3, v0 - 000e: invoke-direct {v2, v3}, java.lang.RuntimeException.<init>:(Ljava/lang/Throwable;)V - 0011: throw v1 - catches - tries: - try 0001..0004 - catch java.lang.Exception -> 0006 -Blort.test5:()Ljava/lang/Object;: -regs: 0005; ins: 0000; outs: 0002 - 0000: const/4 v1, #int 1 // #1 - 0001: invoke-static {v1}, Blort.zorch5:(I)Ljava/lang/Object; - 0004: move-result-object v1 - 0005: move-object v0, v1 - 0006: return-object v0 - 0007: move-exception v1 - 0008: move-object v0, v1 - 0009: new-instance v1, java.lang.RuntimeException - 000b: move-object v4, v1 - 000c: move-object v1, v4 - 000d: move-object v2, v4 - 000e: move-object v3, v0 - 000f: invoke-direct {v2, v3}, java.lang.RuntimeException.<init>:(Ljava/lang/Throwable;)V - 0012: throw v1 - catches - tries: - try 0001..0004 - catch java.lang.Exception -> 0007 diff --git a/dx/tests/066-dex-try-catch-rethrow/info.txt b/dx/tests/066-dex-try-catch-rethrow/info.txt deleted file mode 100644 index b2696b897..000000000 --- a/dx/tests/066-dex-try-catch-rethrow/info.txt +++ /dev/null @@ -1,6 +0,0 @@ -This is a smoke test of dex conversion, which looks at a few cases of -a try-catch where the exception handler rethrows. - -This test compares emitted code against a known-good (via eyeballing) -version, so it is possible for this test to spuriously fail if other -aspects of conversion end up altering the output in innocuous ways. diff --git a/dx/tests/066-dex-try-catch-rethrow/run b/dx/tests/066-dex-try-catch-rethrow/run deleted file mode 100644 index e5eb50986..000000000 --- a/dx/tests/066-dex-try-catch-rethrow/run +++ /dev/null @@ -1,19 +0,0 @@ -#!/bin/bash -# -# Copyright (C) 2007 The Android Open Source Project -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -$JAVAC -d . *.java -dx --debug --dex --no-optimize --positions=none --no-locals \ - --dump-method=Blort.test'*' Blort.class diff --git a/dx/tests/067-dex-switch-and-try/Blort.java b/dx/tests/067-dex-switch-and-try/Blort.java deleted file mode 100644 index d90bd321e..000000000 --- a/dx/tests/067-dex-switch-and-try/Blort.java +++ /dev/null @@ -1,114 +0,0 @@ -/* - * Copyright (C) 2007 The Android Open Source Project - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -public class Blort -{ - static public void blort() { - // This space intentionally left blank. - } - - // This test has a try-catch but the try code can't possibly throw. - public int test1(int x) { - try { - switch (x) { - case 1: { - x = 10; - break; - } - case 2: { - x = 20; - break; - } - } - } catch (RuntimeException ex) { - // Ignore it. - } - - return x; - } - - // This test has a try-catch where the try code can theoretically throw. - public int test2(int x) { - try { - switch (x) { - case 1: { - x = 10; - blort(); - break; - } - case 2: { - x = 20; - break; - } - } - } catch (RuntimeException ex) { - // Ignore it. - } - - return x; - } - - // This test has a switch with a case that has a try-catch where - // the try code can theoretically throw, but it would be caught - // inside the case itself. - public int test3(int x) { - switch (x) { - case 1: { - try { - x = 10; - blort(); - } catch (RuntimeException ex) { - // Ignore it. - } - break; - } - case 2: { - x = 20; - break; - } - } - - return x; - } - - // This test has a try-catch that has a switch with a case that - // has a try-catch where the try code can theoretically throw, but - // it would be caught inside the case itself, so the outer - // exception handler should be considered dead. - public int test4(int x) { - try { - switch (x) { - case 1: { - try { - x = 10; - blort(); - } catch (RuntimeException ex) { - // Ignore it. - } - break; - } - case 2: { - x = 20; - break; - } - } - } catch (RuntimeException ex) { - return 4; - } - - return x; - } -} diff --git a/dx/tests/067-dex-switch-and-try/expected.txt b/dx/tests/067-dex-switch-and-try/expected.txt deleted file mode 100644 index 5e55bf41b..000000000 --- a/dx/tests/067-dex-switch-and-try/expected.txt +++ /dev/null @@ -1,100 +0,0 @@ -Blort.test1:(I)I: -regs: 0006; ins: 0002; outs: 0000 - 0000: move-object v0, v4 - 0001: move v1, v5 - 0002: move v3, v1 - 0003: packed-switch v3, 0012 // +000f - 0006: move v3, v1 - 0007: move v0, v3 - 0008: return v0 - 0009: const/16 v3, #int 10 // #000a - 000b: move v1, v3 - 000c: goto 0006 // -0006 - 000d: const/16 v3, #int 20 // #0014 - 000f: move v1, v3 - 0010: goto 0006 // -000a - 0011: nop // spacer - 0012: packed-switch-data // for switch @ 0003 - 1: 00000009 // +00000006 - 2: 0000000d // +0000000a -Blort.test2:(I)I: -regs: 0006; ins: 0002; outs: 0000 - 0000: move-object v0, v4 - 0001: move v1, v5 - 0002: move v3, v1 - 0003: packed-switch v3, 0018 // +0015 - 0006: move v3, v1 - 0007: move v0, v3 - 0008: return v0 - 0009: const/16 v3, #int 10 // #000a - 000b: move v1, v3 - 000c: invoke-static {}, Blort.blort:()V - 000f: goto 0006 // -0009 - 0010: const/16 v3, #int 20 // #0014 - 0012: move v1, v3 - 0013: goto 0006 // -000d - 0014: move-exception v3 - 0015: move-object v2, v3 - 0016: goto 0006 // -0010 - 0017: nop // spacer - 0018: packed-switch-data // for switch @ 0003 - 1: 00000009 // +00000006 - 2: 00000010 // +0000000d - catches - tries: - try 000c..000f - catch java.lang.RuntimeException -> 0014 -Blort.test3:(I)I: -regs: 0006; ins: 0002; outs: 0000 - 0000: move-object v0, v4 - 0001: move v1, v5 - 0002: move v3, v1 - 0003: packed-switch v3, 0018 // +0015 - 0006: move v3, v1 - 0007: move v0, v3 - 0008: return v0 - 0009: const/16 v3, #int 10 // #000a - 000b: move v1, v3 - 000c: invoke-static {}, Blort.blort:()V - 000f: goto 0006 // -0009 - 0010: move-exception v3 - 0011: move-object v2, v3 - 0012: goto 0006 // -000c - 0013: const/16 v3, #int 20 // #0014 - 0015: move v1, v3 - 0016: goto 0006 // -0010 - 0017: nop // spacer - 0018: packed-switch-data // for switch @ 0003 - 1: 00000009 // +00000006 - 2: 00000013 // +00000010 - catches - tries: - try 000c..000f - catch java.lang.RuntimeException -> 0010 -Blort.test4:(I)I: -regs: 0006; ins: 0002; outs: 0000 - 0000: move-object v0, v4 - 0001: move v1, v5 - 0002: move v3, v1 - 0003: packed-switch v3, 0018 // +0015 - 0006: move v3, v1 - 0007: move v0, v3 - 0008: return v0 - 0009: const/16 v3, #int 10 // #000a - 000b: move v1, v3 - 000c: invoke-static {}, Blort.blort:()V - 000f: goto 0006 // -0009 - 0010: move-exception v3 - 0011: move-object v2, v3 - 0012: goto 0006 // -000c - 0013: const/16 v3, #int 20 // #0014 - 0015: move v1, v3 - 0016: goto 0006 // -0010 - 0017: nop // spacer - 0018: packed-switch-data // for switch @ 0003 - 1: 00000009 // +00000006 - 2: 00000013 // +00000010 - catches - tries: - try 000c..000f - catch java.lang.RuntimeException -> 0010 diff --git a/dx/tests/067-dex-switch-and-try/info.txt b/dx/tests/067-dex-switch-and-try/info.txt deleted file mode 100644 index 68e811786..000000000 --- a/dx/tests/067-dex-switch-and-try/info.txt +++ /dev/null @@ -1,7 +0,0 @@ -This is a smoke test of dex conversion, which looks at a couple cases of -embedding a switch statement in a try-catch and vice versa. This test -was created specifically because of a bug with exactly this situation. - -This test compares emitted code against a known-good (via eyeballing) -version, so it is possible for this test to spuriously fail if other -aspects of conversion end up altering the output in innocuous ways. diff --git a/dx/tests/067-dex-switch-and-try/run b/dx/tests/067-dex-switch-and-try/run deleted file mode 100644 index e5eb50986..000000000 --- a/dx/tests/067-dex-switch-and-try/run +++ /dev/null @@ -1,19 +0,0 @@ -#!/bin/bash -# -# Copyright (C) 2007 The Android Open Source Project -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -$JAVAC -d . *.java -dx --debug --dex --no-optimize --positions=none --no-locals \ - --dump-method=Blort.test'*' Blort.class diff --git a/dx/tests/068-dex-infinite-loop/Blort.java b/dx/tests/068-dex-infinite-loop/Blort.java deleted file mode 100644 index 09c45a4e3..000000000 --- a/dx/tests/068-dex-infinite-loop/Blort.java +++ /dev/null @@ -1,52 +0,0 @@ -/* - * Copyright (C) 2007 The Android Open Source Project - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -public class Blort -{ - public static boolean zorch() { - return true; - } - - public static void test1() { - for (;;) { - // This space intentionally left blank. - } - } - - public static void test2() { - while (zorch()) { - // This space intentionally left blank. - } - } - - public static void test3() { - while (zorch()) { - zorch(); - } - } - - public static void test4() { - for (;;) { - if (zorch()) { - break; - } - - while (zorch()) { - zorch(); - } - } - } -} diff --git a/dx/tests/068-dex-infinite-loop/expected.txt b/dx/tests/068-dex-infinite-loop/expected.txt deleted file mode 100644 index 1a84bd9be..000000000 --- a/dx/tests/068-dex-infinite-loop/expected.txt +++ /dev/null @@ -1,28 +0,0 @@ -Blort.test1:()V: -regs: 0000; ins: 0000; outs: 0000 - 0000: goto/32 0000 // +0000 -Blort.test2:()V: -regs: 0001; ins: 0000; outs: 0000 - 0000: invoke-static {}, Blort.zorch:()Z - 0003: move-result v0 - 0004: if-nez v0, 0000 // -0004 - 0006: return-void -Blort.test3:()V: -regs: 0001; ins: 0000; outs: 0000 - 0000: invoke-static {}, Blort.zorch:()Z - 0003: move-result v0 - 0004: if-eqz v0, 000a // +0006 - 0006: invoke-static {}, Blort.zorch:()Z - 0009: goto 0000 // -0009 - 000a: return-void -Blort.test4:()V: -regs: 0001; ins: 0000; outs: 0000 - 0000: invoke-static {}, Blort.zorch:()Z - 0003: move-result v0 - 0004: if-eqz v0, 0007 // +0003 - 0006: return-void - 0007: invoke-static {}, Blort.zorch:()Z - 000a: move-result v0 - 000b: if-eqz v0, 0000 // -000b - 000d: invoke-static {}, Blort.zorch:()Z - 0010: goto 0007 // -0009 diff --git a/dx/tests/068-dex-infinite-loop/info.txt b/dx/tests/068-dex-infinite-loop/info.txt deleted file mode 100644 index 358f0a89b..000000000 --- a/dx/tests/068-dex-infinite-loop/info.txt +++ /dev/null @@ -1,6 +0,0 @@ -This is a smoke test of dex conversion, which makes sure that a couple -cases of (potentially) infinite loops translate reasonably. - -This test compares emitted code against a known-good (via eyeballing) -version, so it is possible for this test to spuriously fail if other -aspects of conversion end up altering the output in innocuous ways. diff --git a/dx/tests/068-dex-infinite-loop/run b/dx/tests/068-dex-infinite-loop/run deleted file mode 100644 index 3fe95ccb2..000000000 --- a/dx/tests/068-dex-infinite-loop/run +++ /dev/null @@ -1,19 +0,0 @@ -#!/bin/bash -# -# Copyright (C) 2007 The Android Open Source Project -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -$JAVAC -d . *.java -dx --debug --dex --positions=none --no-locals \ - --dump-method=Blort.test'*' Blort.class diff --git a/dx/tests/069-dex-source-position/Blort.java b/dx/tests/069-dex-source-position/Blort.java deleted file mode 100644 index 5cede03dc..000000000 --- a/dx/tests/069-dex-source-position/Blort.java +++ /dev/null @@ -1,32 +0,0 @@ -/* - * Copyright (C) 2007 The Android Open Source Project - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -public class Blort -{ - public static int test(int x) { - if (x == 0) { // line 6 - return 1; // line 7 - } else { - try { - x = test(x - 1); // line 10 - } catch (RuntimeException ex) { // line 11 - return 2; // line 12 - } - x += test(x - 2); // line 14 - return x; // line 15 - } - } -} diff --git a/dx/tests/069-dex-source-position/expected.txt b/dx/tests/069-dex-source-position/expected.txt deleted file mode 100644 index 853ee6581..000000000 --- a/dx/tests/069-dex-source-position/expected.txt +++ /dev/null @@ -1,134 +0,0 @@ -Blort.test:(I)I: -regs: 0006; ins: 0001; outs: 0001 - 0000: move v0, v5 - 0001: move v2, v0 - 0002: if-nez v2, 0007 // +0005 - 0004: const/4 v2, #int 1 // #1 - 0005: move v0, v2 - 0006: return v0 - 0007: move v2, v0 - 0008: const/4 v3, #int 1 // #1 - 0009: sub-int/2addr v2, v3 - 000a: invoke-static {v2}, Blort.test:(I)I - 000d: move-result v2 - 000e: move v0, v2 - 000f: move v2, v0 - 0010: move v3, v0 - 0011: const/4 v4, #int 2 // #2 - 0012: sub-int/2addr v3, v4 - 0013: invoke-static {v3}, Blort.test:(I)I - 0016: move-result v3 - 0017: add-int/2addr v2, v3 - 0018: move v0, v2 - 0019: move v2, v0 - 001a: move v0, v2 - 001b: goto 0006 // -0015 - 001c: move-exception v2 - 001d: move-object v1, v2 - 001e: const/4 v2, #int 2 // #2 - 001f: move v0, v2 - 0020: goto 0006 // -001a - catches - tries: - try 000a..000d - catch java.lang.RuntimeException -> 001c -Blort.test:(I)I: -regs: 0006; ins: 0001; outs: 0001 - 0000: move v0, v5 - 0001: move v2, v0 - 0002: if-nez v2, 0007 // +0005 - 0004: const/4 v2, #int 1 // #1 - 0005: move v0, v2 - 0006: return v0 - 0007: move v2, v0 - 0008: const/4 v3, #int 1 // #1 - 0009: sub-int/2addr v2, v3 - 000a: invoke-static {v2}, Blort.test:(I)I - 000d: move-result v2 - 000e: move v0, v2 - 000f: move v2, v0 - 0010: move v3, v0 - 0011: const/4 v4, #int 2 // #2 - 0012: sub-int/2addr v3, v4 - 0013: invoke-static {v3}, Blort.test:(I)I - 0016: move-result v3 - 0017: add-int/2addr v2, v3 - 0018: move v0, v2 - 0019: move v2, v0 - 001a: move v0, v2 - 001b: goto 0006 // -0015 - 001c: move-exception v2 - 001d: move-object v1, v2 - 001e: const/4 v2, #int 2 // #2 - 001f: move v0, v2 - 0020: goto 0006 // -001a - catches - tries: - try 000a..000d - catch java.lang.RuntimeException -> 001c - debug info - line_start: 20 - parameters_size: 0001 - parameter <unnamed> v5 - 0000: prologue end - 0000: line 20 - 0004: line 21 - 0006: line 29 - line = 24 - 0007: line 24 - 000f: line 28 - 0019: line 29 - 001c: line 25 - 001e: line 26 - end sequence - source file: "Blort.java" -Blort.test:(I)I: -regs: 0006; ins: 0001; outs: 0001 - 0000: move v0, v5 - 0001: move v2, v0 - 0002: if-nez v2, 0007 // +0005 - 0004: const/4 v2, #int 1 // #1 - 0005: move v0, v2 - 0006: return v0 - 0007: move v2, v0 - 0008: const/4 v3, #int 1 // #1 - 0009: sub-int/2addr v2, v3 - 000a: invoke-static {v2}, Blort.test:(I)I - 000d: move-result v2 - 000e: move v0, v2 - 000f: move v2, v0 - 0010: move v3, v0 - 0011: const/4 v4, #int 2 // #2 - 0012: sub-int/2addr v3, v4 - 0013: invoke-static {v3}, Blort.test:(I)I - 0016: move-result v3 - 0017: add-int/2addr v2, v3 - 0018: move v0, v2 - 0019: move v2, v0 - 001a: move v0, v2 - 001b: goto 0006 // -0015 - 001c: move-exception v2 - 001d: move-object v1, v2 - 001e: const/4 v2, #int 2 // #2 - 001f: move v0, v2 - 0020: goto 0006 // -001a - catches - tries: - try 000a..000d - catch java.lang.RuntimeException -> 001c - debug info - line_start: 20 - parameters_size: 0001 - parameter <unnamed> v5 - 0000: prologue end - 0000: line 20 - 0004: line 21 - 0006: line 29 - line = 24 - 0007: line 24 - 000f: line 28 - 0019: line 29 - 001c: line 25 - 001e: line 26 - end sequence - source file: "Blort.java" diff --git a/dx/tests/069-dex-source-position/info.txt b/dx/tests/069-dex-source-position/info.txt deleted file mode 100644 index 28c8b5154..000000000 --- a/dx/tests/069-dex-source-position/info.txt +++ /dev/null @@ -1,6 +0,0 @@ -This is a smoke test of dex conversion, which makes sure that source -position information is faithfully reproduced (or not, as directed). - -This test compares emitted code against a known-good (via eyeballing) -version, so it is possible for this test to spuriously fail if other -aspects of conversion end up altering the output in innocuous ways. diff --git a/dx/tests/069-dex-source-position/run b/dx/tests/069-dex-source-position/run deleted file mode 100644 index 98c2630d2..000000000 --- a/dx/tests/069-dex-source-position/run +++ /dev/null @@ -1,23 +0,0 @@ -#!/bin/bash -# -# Copyright (C) 2007 The Android Open Source Project -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -$JAVAC -d . *.java -dx --debug --dex --no-optimize --positions=none --no-locals \ - --dump-method=Blort.test'*' Blort.class -dx --debug --dex --no-optimize --positions=important --no-locals \ - --dump-method=Blort.test'*' Blort.class -dx --debug --dex --no-optimize --positions=lines --no-locals \ - --dump-method=Blort.test'*' Blort.class diff --git a/dx/tests/070-dex-multianewarray/Blort.java b/dx/tests/070-dex-multianewarray/Blort.java deleted file mode 100644 index 500b14c3a..000000000 --- a/dx/tests/070-dex-multianewarray/Blort.java +++ /dev/null @@ -1,98 +0,0 @@ -/* - * Copyright (C) 2007 The Android Open Source Project - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -public class Blort -{ - public static Object test01() { - Object[][] x = new Object[2][5]; - return x; - } - - public static Object test02() { - Object[][][] x = new Object[4][1][]; - return x; - } - - public static Object test03() { - Object[][][] x = new Object[7][2][4]; - return x; - } - - public static Object test04() { - Object[][][] x = new Object[3][0][0]; - return x; - } - - public static Object test05() { - Object[][][][] x = new Object[1][3][5][7]; - return x; - } - - public static Object test06() { - Object[][][][][] x = new Object[8][7][2][3][4]; - return x; - } - - public static Object test07() { - Object[][][][][][] x = new Object[8][7][2][3][4][]; - return x; - } - - public static Object test08() { - Object[][][][][][][] x = new Object[8][7][2][3][4][][]; - return x; - } - - public static boolean[][] test09() { - return new boolean[1][2]; - } - - public static byte[][] test10() { - return new byte[3][4]; - } - - public static char[][] test11() { - return new char[5][6]; - } - - public static double[][] test12() { - return new double[7][8]; - } - - public static float[][] test13() { - return new float[9][1]; - } - - public static int[][][] test14() { - return new int[5][3][2]; - } - - public static long[][][] test15() { - return new long[3][4][7]; - } - - public static short[][][][] test16() { - return new short[5][4][3][2]; - } - - public static String[][][][][] test17() { - return new String[5][4][3][2][1]; - } - - public static Runnable[][][][][][] test18() { - return new Runnable[5][4][3][2][1][8]; - } -} diff --git a/dx/tests/070-dex-multianewarray/expected.txt b/dx/tests/070-dex-multianewarray/expected.txt deleted file mode 100644 index 9ddbabe9b..000000000 --- a/dx/tests/070-dex-multianewarray/expected.txt +++ /dev/null @@ -1,246 +0,0 @@ -Blort.test01:()Ljava/lang/Object;: -regs: 0003; ins: 0000; outs: 0002 - 0000: const/4 v1, #int 2 // #2 - 0001: const/4 v2, #int 5 // #5 - 0002: filled-new-array {v1, v2}, int[] - 0005: move-result-object v2 - 0006: const-class v1, java.lang.Object - 0008: invoke-static {v1, v2}, java.lang.reflect.Array.newInstance:(Ljava/lang/Class;[I)Ljava/lang/Object; - 000b: move-result-object v1 - 000c: check-cast v1, java.lang.Object[][] - 000e: move-object v0, v1 - 000f: move-object v1, v0 - 0010: move-object v0, v1 - 0011: return-object v0 -Blort.test02:()Ljava/lang/Object;: -regs: 0003; ins: 0000; outs: 0002 - 0000: const/4 v1, #int 4 // #4 - 0001: const/4 v2, #int 1 // #1 - 0002: filled-new-array {v1, v2}, int[] - 0005: move-result-object v2 - 0006: const-class v1, java.lang.Object[] - 0008: invoke-static {v1, v2}, java.lang.reflect.Array.newInstance:(Ljava/lang/Class;[I)Ljava/lang/Object; - 000b: move-result-object v1 - 000c: check-cast v1, java.lang.Object[][][] - 000e: move-object v0, v1 - 000f: move-object v1, v0 - 0010: move-object v0, v1 - 0011: return-object v0 -Blort.test03:()Ljava/lang/Object;: -regs: 0004; ins: 0000; outs: 0002 - 0000: const/4 v1, #int 7 // #7 - 0001: const/4 v2, #int 2 // #2 - 0002: const/4 v3, #int 4 // #4 - 0003: filled-new-array {v1, v2, v3}, int[] - 0006: move-result-object v2 - 0007: const-class v1, java.lang.Object - 0009: invoke-static {v1, v2}, java.lang.reflect.Array.newInstance:(Ljava/lang/Class;[I)Ljava/lang/Object; - 000c: move-result-object v1 - 000d: check-cast v1, java.lang.Object[][][] - 000f: move-object v0, v1 - 0010: move-object v1, v0 - 0011: move-object v0, v1 - 0012: return-object v0 -Blort.test04:()Ljava/lang/Object;: -regs: 0004; ins: 0000; outs: 0002 - 0000: const/4 v1, #int 3 // #3 - 0001: const/4 v2, #int 0 // #0 - 0002: const/4 v3, #int 0 // #0 - 0003: filled-new-array {v1, v2, v3}, int[] - 0006: move-result-object v2 - 0007: const-class v1, java.lang.Object - 0009: invoke-static {v1, v2}, java.lang.reflect.Array.newInstance:(Ljava/lang/Class;[I)Ljava/lang/Object; - 000c: move-result-object v1 - 000d: check-cast v1, java.lang.Object[][][] - 000f: move-object v0, v1 - 0010: move-object v1, v0 - 0011: move-object v0, v1 - 0012: return-object v0 -Blort.test05:()Ljava/lang/Object;: -regs: 0005; ins: 0000; outs: 0002 - 0000: const/4 v1, #int 1 // #1 - 0001: const/4 v2, #int 3 // #3 - 0002: const/4 v3, #int 5 // #5 - 0003: const/4 v4, #int 7 // #7 - 0004: filled-new-array {v1, v2, v3, v4}, int[] - 0007: move-result-object v2 - 0008: const-class v1, java.lang.Object - 000a: invoke-static {v1, v2}, java.lang.reflect.Array.newInstance:(Ljava/lang/Class;[I)Ljava/lang/Object; - 000d: move-result-object v1 - 000e: check-cast v1, java.lang.Object[][][][] - 0010: move-object v0, v1 - 0011: move-object v1, v0 - 0012: move-object v0, v1 - 0013: return-object v0 -Blort.test06:()Ljava/lang/Object;: -regs: 0006; ins: 0000; outs: 0002 - 0000: const/16 v1, #int 8 // #0008 - 0002: const/4 v2, #int 7 // #7 - 0003: const/4 v3, #int 2 // #2 - 0004: const/4 v4, #int 3 // #3 - 0005: const/4 v5, #int 4 // #4 - 0006: filled-new-array {v1, v2, v3, v4, v5}, int[] - 0009: move-result-object v2 - 000a: const-class v1, java.lang.Object - 000c: invoke-static {v1, v2}, java.lang.reflect.Array.newInstance:(Ljava/lang/Class;[I)Ljava/lang/Object; - 000f: move-result-object v1 - 0010: check-cast v1, java.lang.Object[][][][][] - 0012: move-object v0, v1 - 0013: move-object v1, v0 - 0014: move-object v0, v1 - 0015: return-object v0 -Blort.test07:()Ljava/lang/Object;: -regs: 0006; ins: 0000; outs: 0002 - 0000: const/16 v1, #int 8 // #0008 - 0002: const/4 v2, #int 7 // #7 - 0003: const/4 v3, #int 2 // #2 - 0004: const/4 v4, #int 3 // #3 - 0005: const/4 v5, #int 4 // #4 - 0006: filled-new-array {v1, v2, v3, v4, v5}, int[] - 0009: move-result-object v2 - 000a: const-class v1, java.lang.Object[] - 000c: invoke-static {v1, v2}, java.lang.reflect.Array.newInstance:(Ljava/lang/Class;[I)Ljava/lang/Object; - 000f: move-result-object v1 - 0010: check-cast v1, java.lang.Object[][][][][][] - 0012: move-object v0, v1 - 0013: move-object v1, v0 - 0014: move-object v0, v1 - 0015: return-object v0 -Blort.test08:()Ljava/lang/Object;: -regs: 0006; ins: 0000; outs: 0002 - 0000: const/16 v1, #int 8 // #0008 - 0002: const/4 v2, #int 7 // #7 - 0003: const/4 v3, #int 2 // #2 - 0004: const/4 v4, #int 3 // #3 - 0005: const/4 v5, #int 4 // #4 - 0006: filled-new-array {v1, v2, v3, v4, v5}, int[] - 0009: move-result-object v2 - 000a: const-class v1, java.lang.Object[][] - 000c: invoke-static {v1, v2}, java.lang.reflect.Array.newInstance:(Ljava/lang/Class;[I)Ljava/lang/Object; - 000f: move-result-object v1 - 0010: check-cast v1, java.lang.Object[][][][][][][] - 0012: move-object v0, v1 - 0013: move-object v1, v0 - 0014: move-object v0, v1 - 0015: return-object v0 -Blort.test09:()[[Z: -regs: 0002; ins: 0000; outs: 0002 - 0000: const/4 v0, #int 1 // #1 - 0001: const/4 v1, #int 2 // #2 - 0002: filled-new-array {v0, v1}, int[] - 0005: move-result-object v1 - 0006: sget-object v0, java.lang.Boolean.TYPE:Ljava/lang/Class; - 0008: invoke-static {v0, v1}, java.lang.reflect.Array.newInstance:(Ljava/lang/Class;[I)Ljava/lang/Object; - 000b: move-result-object v0 - 000c: check-cast v0, boolean[][] - 000e: return-object v0 -Blort.test10:()[[B: -regs: 0002; ins: 0000; outs: 0002 - 0000: const/4 v0, #int 3 // #3 - 0001: const/4 v1, #int 4 // #4 - 0002: filled-new-array {v0, v1}, int[] - 0005: move-result-object v1 - 0006: sget-object v0, java.lang.Byte.TYPE:Ljava/lang/Class; - 0008: invoke-static {v0, v1}, java.lang.reflect.Array.newInstance:(Ljava/lang/Class;[I)Ljava/lang/Object; - 000b: move-result-object v0 - 000c: check-cast v0, byte[][] - 000e: return-object v0 -Blort.test11:()[[C: -regs: 0002; ins: 0000; outs: 0002 - 0000: const/4 v0, #int 5 // #5 - 0001: const/4 v1, #int 6 // #6 - 0002: filled-new-array {v0, v1}, int[] - 0005: move-result-object v1 - 0006: sget-object v0, java.lang.Character.TYPE:Ljava/lang/Class; - 0008: invoke-static {v0, v1}, java.lang.reflect.Array.newInstance:(Ljava/lang/Class;[I)Ljava/lang/Object; - 000b: move-result-object v0 - 000c: check-cast v0, char[][] - 000e: return-object v0 -Blort.test12:()[[D: -regs: 0002; ins: 0000; outs: 0002 - 0000: const/4 v0, #int 7 // #7 - 0001: const/16 v1, #int 8 // #0008 - 0003: filled-new-array {v0, v1}, int[] - 0006: move-result-object v1 - 0007: sget-object v0, java.lang.Double.TYPE:Ljava/lang/Class; - 0009: invoke-static {v0, v1}, java.lang.reflect.Array.newInstance:(Ljava/lang/Class;[I)Ljava/lang/Object; - 000c: move-result-object v0 - 000d: check-cast v0, double[][] - 000f: return-object v0 -Blort.test13:()[[F: -regs: 0002; ins: 0000; outs: 0002 - 0000: const/16 v0, #int 9 // #0009 - 0002: const/4 v1, #int 1 // #1 - 0003: filled-new-array {v0, v1}, int[] - 0006: move-result-object v1 - 0007: sget-object v0, java.lang.Float.TYPE:Ljava/lang/Class; - 0009: invoke-static {v0, v1}, java.lang.reflect.Array.newInstance:(Ljava/lang/Class;[I)Ljava/lang/Object; - 000c: move-result-object v0 - 000d: check-cast v0, float[][] - 000f: return-object v0 -Blort.test14:()[[[I: -regs: 0003; ins: 0000; outs: 0002 - 0000: const/4 v0, #int 5 // #5 - 0001: const/4 v1, #int 3 // #3 - 0002: const/4 v2, #int 2 // #2 - 0003: filled-new-array {v0, v1, v2}, int[] - 0006: move-result-object v1 - 0007: sget-object v0, java.lang.Integer.TYPE:Ljava/lang/Class; - 0009: invoke-static {v0, v1}, java.lang.reflect.Array.newInstance:(Ljava/lang/Class;[I)Ljava/lang/Object; - 000c: move-result-object v0 - 000d: check-cast v0, int[][][] - 000f: return-object v0 -Blort.test15:()[[[J: -regs: 0003; ins: 0000; outs: 0002 - 0000: const/4 v0, #int 3 // #3 - 0001: const/4 v1, #int 4 // #4 - 0002: const/4 v2, #int 7 // #7 - 0003: filled-new-array {v0, v1, v2}, int[] - 0006: move-result-object v1 - 0007: sget-object v0, java.lang.Long.TYPE:Ljava/lang/Class; - 0009: invoke-static {v0, v1}, java.lang.reflect.Array.newInstance:(Ljava/lang/Class;[I)Ljava/lang/Object; - 000c: move-result-object v0 - 000d: check-cast v0, long[][][] - 000f: return-object v0 -Blort.test16:()[[[[S: -regs: 0004; ins: 0000; outs: 0002 - 0000: const/4 v0, #int 5 // #5 - 0001: const/4 v1, #int 4 // #4 - 0002: const/4 v2, #int 3 // #3 - 0003: const/4 v3, #int 2 // #2 - 0004: filled-new-array {v0, v1, v2, v3}, int[] - 0007: move-result-object v1 - 0008: sget-object v0, java.lang.Short.TYPE:Ljava/lang/Class; - 000a: invoke-static {v0, v1}, java.lang.reflect.Array.newInstance:(Ljava/lang/Class;[I)Ljava/lang/Object; - 000d: move-result-object v0 - 000e: check-cast v0, short[][][][] - 0010: return-object v0 -Blort.test17:()[[[[[Ljava/lang/String;: -regs: 0005; ins: 0000; outs: 0002 - 0000: const/4 v0, #int 5 // #5 - 0001: const/4 v1, #int 4 // #4 - 0002: const/4 v2, #int 3 // #3 - 0003: const/4 v3, #int 2 // #2 - 0004: const/4 v4, #int 1 // #1 - 0005: filled-new-array {v0, v1, v2, v3, v4}, int[] - 0008: move-result-object v1 - 0009: const-class v0, java.lang.String - 000b: invoke-static {v0, v1}, java.lang.reflect.Array.newInstance:(Ljava/lang/Class;[I)Ljava/lang/Object; - 000e: move-result-object v0 - 000f: check-cast v0, java.lang.String[][][][][] - 0011: return-object v0 -Blort.test18:()[[[[[[Ljava/lang/Runnable;: -regs: 0006; ins: 0000; outs: 0002 - 0000: const/4 v0, #int 5 // #5 - 0001: const/4 v1, #int 4 // #4 - 0002: const/4 v2, #int 3 // #3 - 0003: const/4 v3, #int 2 // #2 - 0004: const/4 v4, #int 1 // #1 - 0005: const/16 v5, #int 8 // #0008 - 0007: filled-new-array/range {v0..v5}, int[] - 000a: move-result-object v1 - 000b: const-class v0, java.lang.Runnable - 000d: invoke-static {v0, v1}, java.lang.reflect.Array.newInstance:(Ljava/lang/Class;[I)Ljava/lang/Object; - 0010: move-result-object v0 - 0011: check-cast v0, java.lang.Runnable[][][][][][] - 0013: return-object v0 diff --git a/dx/tests/070-dex-multianewarray/info.txt b/dx/tests/070-dex-multianewarray/info.txt deleted file mode 100644 index 1251f0c67..000000000 --- a/dx/tests/070-dex-multianewarray/info.txt +++ /dev/null @@ -1,6 +0,0 @@ -This is a smoke test of dex conversion, which checks to see that a few -cases of multidimensional array construction get converted reasonably. - -This test compares emitted code against a known-good (via eyeballing) -version, so it is possible for this test to spuriously fail if other -aspects of conversion end up altering the output in innocuous ways. diff --git a/dx/tests/070-dex-multianewarray/run b/dx/tests/070-dex-multianewarray/run deleted file mode 100644 index e5eb50986..000000000 --- a/dx/tests/070-dex-multianewarray/run +++ /dev/null @@ -1,19 +0,0 @@ -#!/bin/bash -# -# Copyright (C) 2007 The Android Open Source Project -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -$JAVAC -d . *.java -dx --debug --dex --no-optimize --positions=none --no-locals \ - --dump-method=Blort.test'*' Blort.class diff --git a/dx/tests/071-dex-java-stack-ops/blort.j b/dx/tests/071-dex-java-stack-ops/blort.j deleted file mode 100644 index 848a84e18..000000000 --- a/dx/tests/071-dex-java-stack-ops/blort.j +++ /dev/null @@ -1,319 +0,0 @@ -; Copyright (C) 2007 The Android Open Source Project -; -; Licensed under the Apache License, Version 2.0 (the "License"); -; you may not use this file except in compliance with the License. -; You may obtain a copy of the License at -; -; http://www.apache.org/licenses/LICENSE-2.0 -; -; Unless required by applicable law or agreed to in writing, software -; distributed under the License is distributed on an "AS IS" BASIS, -; WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -; See the License for the specific language governing permissions and -; limitations under the License. - -.class Blort -.super java/lang/Object - -; Methods to "consume" an int. -.method public static consume1(I)V -.limit stack 0 -.limit locals 1 - nop - return -.end method - -.method public static consume2(I)V -.limit stack 0 -.limit locals 1 - nop - return -.end method - -.method public static consume3(I)V -.limit stack 0 -.limit locals 1 - nop - return -.end method - -.method public static consume4(I)V -.limit stack 0 -.limit locals 1 - nop - return -.end method - -.method public static consume5(I)V -.limit stack 0 -.limit locals 1 - nop - return -.end method - -.method public static consume6(I)V -.limit stack 0 -.limit locals 1 - nop - return -.end method - -; Methods to "consume" a long. -.method public static consume1(J)V -.limit stack 0 -.limit locals 2 - nop - return -.end method - -.method public static consume2(J)V -.limit stack 0 -.limit locals 2 - nop - return -.end method - -.method public static consume3(J)V -.limit stack 0 -.limit locals 2 - nop - return -.end method - -.method public static consume4(J)V -.limit stack 0 -.limit locals 2 - nop - return -.end method - -; Test of "pop" opcode. This should end up causing a call to consume1(0). -.method public static test_pop()V -.limit stack 2 -.limit locals 0 - iconst_0 - iconst_1 - pop ; A1 -> (empty) - invokestatic Blort/consume1(I)V - return -.end method - -; Test of "pop2" opcode, form 1. This should end up causing a call -; to consume1(0). -.method public static test_pop2_form1()V -.limit stack 3 -.limit locals 0 - iconst_0 - iconst_1 - iconst_2 - pop2 ; A1 B1 -> (empty) - invokestatic Blort/consume1(I)V - return -.end method - -; Test of "pop2" opcode, form 2. This should end up causing a call -; to consume1(0). -.method public static test_pop2_form2()V -.limit stack 3 -.limit locals 0 - iconst_0 - lconst_0 - pop2 ; A2 -> (empty) - invokestatic Blort/consume1(I)V - return -.end method - -; Test of "dup" opcode. This should end up causing these calls in order: -; consume1(0), consume2(0). -.method public static test_dup()V -.limit stack 2 -.limit locals 0 - iconst_0 - dup ; A1 -> A1 A1 - invokestatic Blort/consume1(I)V - invokestatic Blort/consume2(I)V - return -.end method - -; Test of "dup_x1" opcode. This should end up causing these calls in order: -; consume1(1), consume2(0), consume3(1). -.method public static test_dup_x1()V -.limit stack 3 -.limit locals 0 - iconst_0 - iconst_1 - dup_x1 ; A1 B1 -> B1 A1 B1 - invokestatic Blort/consume1(I)V - invokestatic Blort/consume2(I)V - invokestatic Blort/consume3(I)V - return -.end method - -; Test of "dup_x2" opcode, form 1. This should end up causing these calls -; in order: consume1(2), consume2(1), consume3(0), consume4(2). -.method public static test_dup_x2_form1()V -.limit stack 4 -.limit locals 0 - iconst_0 - iconst_1 - iconst_2 - dup_x2 ; A1 B1 C1 -> C1 A1 B1 C1 - invokestatic Blort/consume1(I)V - invokestatic Blort/consume2(I)V - invokestatic Blort/consume3(I)V - invokestatic Blort/consume4(I)V - return -.end method - -; Test of "dup_x2" opcode, form 2. This should end up causing these calls -; in order: consume1(1), consume2(0L), consume3(1). -.method public static test_dup_x2_form2()V -.limit stack 4 -.limit locals 0 - lconst_0 - iconst_1 - dup_x2 ; A2 B1 -> B1 A2 B1 - invokestatic Blort/consume1(I)V - invokestatic Blort/consume2(J)V - invokestatic Blort/consume3(I)V - return -.end method - -; Test of "dup2" opcode, form 1. This should end up causing these calls -; in order: consume1(1), consume2(0), consume3(1), consume4(0). -.method public static test_dup2_form1()V -.limit stack 4 -.limit locals 0 - iconst_0 - iconst_1 - dup2 ; A1 B1 -> A1 B1 A1 B1 - invokestatic Blort/consume1(I)V - invokestatic Blort/consume2(I)V - invokestatic Blort/consume3(I)V - invokestatic Blort/consume4(I)V - return -.end method - -; Test of "dup2" opcode, form 2. This should end up causing these calls -; in order: consume1(0L), consume2(0L). -.method public static test_dup2_form2()V -.limit stack 4 -.limit locals 0 - lconst_0 - dup2 ; A2 -> A2 A2 - invokestatic Blort/consume1(J)V - invokestatic Blort/consume2(J)V - return -.end method - -; Test of "dup2_x1" opcode, form 1. This should end up causing these calls -; in order: consume1(1), consume2(2), consume3(0), consume4(1), consume5(2). -.method public static test_dup2_x1_form1()V -.limit stack 5 -.limit locals 0 - iconst_0 - iconst_1 - iconst_2 - dup2_x1 ; A1 B1 C1 -> B1 C1 A1 B1 C1 - invokestatic Blort/consume1(I)V - invokestatic Blort/consume2(I)V - invokestatic Blort/consume3(I)V - invokestatic Blort/consume4(I)V - invokestatic Blort/consume5(I)V - return -.end method - - -; Test of "dup2_x1" opcode, form 2. This should end up causing these calls -; in order: consume1(1L), consume2(2), consume3(1L). -.method public static test_dup2_x1_form2()V -.limit stack 5 -.limit locals 0 - iconst_0 - lconst_1 - dup2_x1 ; A1 B2 -> B2 A1 B2 - invokestatic Blort/consume1(J)V - invokestatic Blort/consume2(I)V - invokestatic Blort/consume3(J)V - return -.end method - -; Test of "dup2_x2" opcode, form 1. This should end up causing these calls -; in order: consume1(3), consume2(2), consume3(1), consume4(0), consume5(3), -; consume6(2). -.method public static test_dup2_x2_form1()V -.limit stack 6 -.limit locals 0 - iconst_0 - iconst_1 - iconst_2 - iconst_3 - dup2_x2 ; A1 B1 C1 D1 -> C1 D1 A1 B1 C1 D1 - invokestatic Blort/consume1(I)V - invokestatic Blort/consume2(I)V - invokestatic Blort/consume3(I)V - invokestatic Blort/consume4(I)V - invokestatic Blort/consume5(I)V - invokestatic Blort/consume6(I)V - return -.end method - -; Test of "dup2_x2" opcode, form 2. This should end up causing these calls -; in order: consume1(2L), consume2(1), consume3(0), consume4(2L). -.method public static test_dup2_x2_form2()V -.limit stack 6 -.limit locals 0 - iconst_0 - iconst_1 - ldc2_w 2 - dup2_x2 ; A1 B1 C2 -> C2 A1 B1 C2 - invokestatic Blort/consume1(J)V - invokestatic Blort/consume2(I)V - invokestatic Blort/consume3(I)V - invokestatic Blort/consume4(J)V - return -.end method - -; Test of "dup2_x2" opcode, form 3. This should end up causing these calls -; in order: consume1(2), consume2(1), consume3(0L), consume4(2), consume5(1). -.method public static test_dup2_x2_form3()V -.limit stack 6 -.limit locals 0 - lconst_0 - iconst_1 - iconst_2 - dup2_x2 ; A2 B1 C1 -> B1 C1 A2 B1 C1 - invokestatic Blort/consume1(I)V - invokestatic Blort/consume2(I)V - invokestatic Blort/consume3(J)V - invokestatic Blort/consume4(I)V - invokestatic Blort/consume5(I)V - return -.end method - -; Test of "dup2_x2" opcode, form 4. This should end up causing these calls -; in order: consume1(1L), consume2(0L), consume3(1L). -.method public static test_dup2_x2_form4()V -.limit stack 6 -.limit locals 0 - lconst_0 - lconst_1 - dup2_x2 ; A2 B2 -> B2 A2 B2 - invokestatic Blort/consume1(J)V - invokestatic Blort/consume2(J)V - invokestatic Blort/consume3(J)V - return -.end method - -; Test of "swap" opcode. This should end up causing these calls -; in order: consume1(0), consume2(1). -.method public static test_swap()V -.limit stack 2 -.limit locals 0 - iconst_0 - iconst_1 - swap ; A1 B1 -> B1 A1 - invokestatic Blort/consume1(I)V - invokestatic Blort/consume2(I)V - return -.end method diff --git a/dx/tests/071-dex-java-stack-ops/expected.txt b/dx/tests/071-dex-java-stack-ops/expected.txt deleted file mode 100644 index 3ba8ef32c..000000000 --- a/dx/tests/071-dex-java-stack-ops/expected.txt +++ /dev/null @@ -1,210 +0,0 @@ -Blort.test_dup:()V: -regs: 0003; ins: 0000; outs: 0001 - 0000: const/4 v0, #int 0 // #0 - 0001: move v2, v0 - 0002: move v0, v2 - 0003: move v1, v2 - 0004: invoke-static {v1}, Blort.consume1:(I)V - 0007: invoke-static {v0}, Blort.consume2:(I)V - 000a: return-void -Blort.test_dup2_form1:()V: -regs: 0006; ins: 0000; outs: 0001 - 0000: const/4 v0, #int 0 // #0 - 0001: const/4 v1, #int 1 // #1 - 0002: move v4, v0 - 0003: move v5, v1 - 0004: move v0, v4 - 0005: move v1, v5 - 0006: move v2, v4 - 0007: move v3, v5 - 0008: invoke-static {v3}, Blort.consume1:(I)V - 000b: invoke-static {v2}, Blort.consume2:(I)V - 000e: invoke-static {v1}, Blort.consume3:(I)V - 0011: invoke-static {v0}, Blort.consume4:(I)V - 0014: return-void -Blort.test_dup2_form2:()V: -regs: 0006; ins: 0000; outs: 0002 - 0000: const-wide/16 v0, #long 0 // #0000 - 0002: move-wide v4, v0 - 0003: move-wide v0, v4 - 0004: move-wide v2, v4 - 0005: invoke-static {v2, v3}, Blort.consume1:(J)V - 0008: invoke-static {v0, v1}, Blort.consume2:(J)V - 000b: return-void -Blort.test_dup2_x1_form1:()V: -regs: 0008; ins: 0000; outs: 0001 - 0000: const/4 v0, #int 0 // #0 - 0001: const/4 v1, #int 1 // #1 - 0002: const/4 v2, #int 2 // #2 - 0003: move v5, v0 - 0004: move v6, v1 - 0005: move v7, v2 - 0006: move v0, v6 - 0007: move v1, v7 - 0008: move v2, v5 - 0009: move v3, v6 - 000a: move v4, v7 - 000b: invoke-static {v4}, Blort.consume1:(I)V - 000e: invoke-static {v3}, Blort.consume2:(I)V - 0011: invoke-static {v2}, Blort.consume3:(I)V - 0014: invoke-static {v1}, Blort.consume4:(I)V - 0017: invoke-static {v0}, Blort.consume5:(I)V - 001a: return-void -Blort.test_dup2_x1_form2:()V: -regs: 0008; ins: 0000; outs: 0002 - 0000: const/4 v0, #int 0 // #0 - 0001: const-wide/16 v1, #long 1 // #0001 - 0003: move v5, v0 - 0004: move-wide v6, v1 - 0005: move-wide v0, v6 - 0006: move v2, v5 - 0007: move-wide v3, v6 - 0008: invoke-static {v3, v4}, Blort.consume1:(J)V - 000b: invoke-static {v2}, Blort.consume2:(I)V - 000e: invoke-static {v0, v1}, Blort.consume3:(J)V - 0011: return-void -Blort.test_dup2_x2_form1:()V: -regs: 000a; ins: 0000; outs: 0001 - 0000: const/4 v0, #int 0 // #0 - 0001: const/4 v1, #int 1 // #1 - 0002: const/4 v2, #int 2 // #2 - 0003: const/4 v3, #int 3 // #3 - 0004: move v6, v0 - 0005: move v7, v1 - 0006: move v8, v2 - 0007: move v9, v3 - 0008: move v0, v8 - 0009: move v1, v9 - 000a: move v2, v6 - 000b: move v3, v7 - 000c: move v4, v8 - 000d: move v5, v9 - 000e: invoke-static {v5}, Blort.consume1:(I)V - 0011: invoke-static {v4}, Blort.consume2:(I)V - 0014: invoke-static {v3}, Blort.consume3:(I)V - 0017: invoke-static {v2}, Blort.consume4:(I)V - 001a: invoke-static {v1}, Blort.consume5:(I)V - 001d: invoke-static {v0}, Blort.consume6:(I)V - 0020: return-void -Blort.test_dup2_x2_form2:()V: -regs: 000a; ins: 0000; outs: 0002 - 0000: const/4 v0, #int 0 // #0 - 0001: const/4 v1, #int 1 // #1 - 0002: const-wide/16 v2, #long 2 // #0002 - 0004: move v6, v0 - 0005: move v7, v1 - 0006: move-wide v8, v2 - 0007: move-wide v0, v8 - 0008: move v2, v6 - 0009: move v3, v7 - 000a: move-wide v4, v8 - 000b: invoke-static {v4, v5}, Blort.consume1:(J)V - 000e: invoke-static {v3}, Blort.consume2:(I)V - 0011: invoke-static {v2}, Blort.consume3:(I)V - 0014: invoke-static {v0, v1}, Blort.consume4:(J)V - 0017: return-void -Blort.test_dup2_x2_form3:()V: -regs: 000a; ins: 0000; outs: 0002 - 0000: const-wide/16 v0, #long 0 // #0000 - 0002: const/4 v2, #int 1 // #1 - 0003: const/4 v3, #int 2 // #2 - 0004: move-wide v6, v0 - 0005: move v8, v2 - 0006: move v9, v3 - 0007: move v0, v8 - 0008: move v1, v9 - 0009: move-wide v2, v6 - 000a: move v4, v8 - 000b: move v5, v9 - 000c: invoke-static {v5}, Blort.consume1:(I)V - 000f: invoke-static {v4}, Blort.consume2:(I)V - 0012: invoke-static {v2, v3}, Blort.consume3:(J)V - 0015: invoke-static {v1}, Blort.consume4:(I)V - 0018: invoke-static {v0}, Blort.consume5:(I)V - 001b: return-void -Blort.test_dup2_x2_form4:()V: -regs: 000a; ins: 0000; outs: 0002 - 0000: const-wide/16 v0, #long 0 // #0000 - 0002: const-wide/16 v2, #long 1 // #0001 - 0004: move-wide v6, v0 - 0005: move-wide v8, v2 - 0006: move-wide v0, v8 - 0007: move-wide v2, v6 - 0008: move-wide v4, v8 - 0009: invoke-static {v4, v5}, Blort.consume1:(J)V - 000c: invoke-static {v2, v3}, Blort.consume2:(J)V - 000f: invoke-static {v0, v1}, Blort.consume3:(J)V - 0012: return-void -Blort.test_dup_x1:()V: -regs: 0005; ins: 0000; outs: 0001 - 0000: const/4 v0, #int 0 // #0 - 0001: const/4 v1, #int 1 // #1 - 0002: move v3, v0 - 0003: move v4, v1 - 0004: move v0, v4 - 0005: move v1, v3 - 0006: move v2, v4 - 0007: invoke-static {v2}, Blort.consume1:(I)V - 000a: invoke-static {v1}, Blort.consume2:(I)V - 000d: invoke-static {v0}, Blort.consume3:(I)V - 0010: return-void -Blort.test_dup_x2_form1:()V: -regs: 0007; ins: 0000; outs: 0001 - 0000: const/4 v0, #int 0 // #0 - 0001: const/4 v1, #int 1 // #1 - 0002: const/4 v2, #int 2 // #2 - 0003: move v4, v0 - 0004: move v5, v1 - 0005: move v6, v2 - 0006: move v0, v6 - 0007: move v1, v4 - 0008: move v2, v5 - 0009: move v3, v6 - 000a: invoke-static {v3}, Blort.consume1:(I)V - 000d: invoke-static {v2}, Blort.consume2:(I)V - 0010: invoke-static {v1}, Blort.consume3:(I)V - 0013: invoke-static {v0}, Blort.consume4:(I)V - 0016: return-void -Blort.test_dup_x2_form2:()V: -regs: 0007; ins: 0000; outs: 0002 - 0000: const-wide/16 v0, #long 0 // #0000 - 0002: const/4 v2, #int 1 // #1 - 0003: move-wide v4, v0 - 0004: move v6, v2 - 0005: move v0, v6 - 0006: move-wide v1, v4 - 0007: move v3, v6 - 0008: invoke-static {v3}, Blort.consume1:(I)V - 000b: invoke-static {v1, v2}, Blort.consume2:(J)V - 000e: invoke-static {v0}, Blort.consume3:(I)V - 0011: return-void -Blort.test_pop:()V: -regs: 0002; ins: 0000; outs: 0001 - 0000: const/4 v0, #int 0 // #0 - 0001: const/4 v1, #int 1 // #1 - 0002: invoke-static {v0}, Blort.consume1:(I)V - 0005: return-void -Blort.test_pop2_form1:()V: -regs: 0003; ins: 0000; outs: 0001 - 0000: const/4 v0, #int 0 // #0 - 0001: const/4 v1, #int 1 // #1 - 0002: const/4 v2, #int 2 // #2 - 0003: invoke-static {v0}, Blort.consume1:(I)V - 0006: return-void -Blort.test_pop2_form2:()V: -regs: 0003; ins: 0000; outs: 0001 - 0000: const/4 v0, #int 0 // #0 - 0001: const-wide/16 v1, #long 0 // #0000 - 0003: invoke-static {v0}, Blort.consume1:(I)V - 0006: return-void -Blort.test_swap:()V: -regs: 0004; ins: 0000; outs: 0001 - 0000: const/4 v0, #int 0 // #0 - 0001: const/4 v1, #int 1 // #1 - 0002: move v2, v0 - 0003: move v3, v1 - 0004: move v0, v3 - 0005: move v1, v2 - 0006: invoke-static {v1}, Blort.consume1:(I)V - 0009: invoke-static {v0}, Blort.consume2:(I)V - 000c: return-void diff --git a/dx/tests/071-dex-java-stack-ops/info.txt b/dx/tests/071-dex-java-stack-ops/info.txt deleted file mode 100644 index 6c5383a5b..000000000 --- a/dx/tests/071-dex-java-stack-ops/info.txt +++ /dev/null @@ -1,7 +0,0 @@ -This is a smoke test of dex conversion, which checks to see that at -least one case of each of the possible forms of Java stack -manipulation op translate reasonably. - -This test compares emitted code against a known-good (via eyeballing) -version, so it is possible for this test to spuriously fail if other -aspects of conversion end up altering the output in innocuous ways. diff --git a/dx/tests/071-dex-java-stack-ops/run b/dx/tests/071-dex-java-stack-ops/run deleted file mode 100644 index 52d8a778b..000000000 --- a/dx/tests/071-dex-java-stack-ops/run +++ /dev/null @@ -1,19 +0,0 @@ -#!/bin/bash -# -# Copyright (C) 2007 The Android Open Source Project -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -jasmin -d . blort.j >/dev/null -dx --debug --dex --no-optimize --positions=none --no-locals \ - --dump-method=Blort.test'*' Blort.class diff --git a/dx/tests/072-dex-switch-edge-cases/Blort.java b/dx/tests/072-dex-switch-edge-cases/Blort.java deleted file mode 100644 index ba2e033eb..000000000 --- a/dx/tests/072-dex-switch-edge-cases/Blort.java +++ /dev/null @@ -1,97 +0,0 @@ -/* - * Copyright (C) 2007 The Android Open Source Project - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -public class Blort -{ - // Empty switch statement. (Note: This is the same as a default-only - // switch statement, since under the covers every switch statement - // has a default of some sort.) - public int test1(int x) { - switch (x) { - // This space intentionally left blank. - } - - return 0; - } - - // Single element. - public int test2(int x) { - switch (x) { - case 0: return 0; - } - - return 1; - } - - // Single element: Integer.MIN_VALUE. - public int test3(int x) { - switch (x) { - case Integer.MIN_VALUE: return 0; - } - - return 1; - } - - // Single element: Integer.MAX_VALUE. - public int test4(int x) { - switch (x) { - case Integer.MAX_VALUE: return 0; - } - - return 1; - } - - // Two elements: 0 and Integer.MIN_VALUE. - public int test5(int x) { - switch (x) { - case 0: return 0; - case Integer.MIN_VALUE: return 1; - } - - return 2; - } - - // Two elements: 0 and Integer.MAX_VALUE. - public int test6(int x) { - switch (x) { - case 0: return 0; - case Integer.MAX_VALUE: return 1; - } - - return 2; - } - - // Two elements: Integer.MIN_VALUE and Integer.MAX_VALUE. - public int test7(int x) { - switch (x) { - case Integer.MIN_VALUE: return 0; - case Integer.MAX_VALUE: return 1; - } - - return 2; - } - - // Two elements: Large enough to be packed but such that 32 bit - // threshold calculations could overflow. - public int test8(int x) { - switch (x) { - case 0: return 0; - case 0x4cccccc8: return 1; - } - - return 2; - } -} diff --git a/dx/tests/072-dex-switch-edge-cases/expected.txt b/dx/tests/072-dex-switch-edge-cases/expected.txt deleted file mode 100644 index 665928422..000000000 --- a/dx/tests/072-dex-switch-edge-cases/expected.txt +++ /dev/null @@ -1,126 +0,0 @@ -Blort.test1:(I)I: -regs: 0005; ins: 0002; outs: 0000 - 0000: move-object v0, v3 - 0001: move v1, v4 - 0002: move v2, v1 - 0003: const/4 v2, #int 0 // #0 - 0004: move v0, v2 - 0005: return v0 -Blort.test2:(I)I: -regs: 0005; ins: 0002; outs: 0000 - 0000: move-object v0, v3 - 0001: move v1, v4 - 0002: move v2, v1 - 0003: packed-switch v2, 000c // +0009 - 0006: const/4 v2, #int 1 // #1 - 0007: move v0, v2 - 0008: return v0 - 0009: const/4 v2, #int 0 // #0 - 000a: move v0, v2 - 000b: goto 0008 // -0003 - 000c: packed-switch-data // for switch @ 0003 - 0: 00000009 // +00000006 -Blort.test3:(I)I: -regs: 0005; ins: 0002; outs: 0000 - 0000: move-object v0, v3 - 0001: move v1, v4 - 0002: move v2, v1 - 0003: packed-switch v2, 000c // +0009 - 0006: const/4 v2, #int 1 // #1 - 0007: move v0, v2 - 0008: return v0 - 0009: const/4 v2, #int 0 // #0 - 000a: move v0, v2 - 000b: goto 0008 // -0003 - 000c: packed-switch-data // for switch @ 0003 - -2147483648: 00000009 // +00000006 -Blort.test4:(I)I: -regs: 0005; ins: 0002; outs: 0000 - 0000: move-object v0, v3 - 0001: move v1, v4 - 0002: move v2, v1 - 0003: packed-switch v2, 000c // +0009 - 0006: const/4 v2, #int 1 // #1 - 0007: move v0, v2 - 0008: return v0 - 0009: const/4 v2, #int 0 // #0 - 000a: move v0, v2 - 000b: goto 0008 // -0003 - 000c: packed-switch-data // for switch @ 0003 - 2147483647: 00000009 // +00000006 -Blort.test5:(I)I: -regs: 0005; ins: 0002; outs: 0000 - 0000: move-object v0, v3 - 0001: move v1, v4 - 0002: move v2, v1 - 0003: sparse-switch v2, 0010 // +000d - 0006: const/4 v2, #int 2 // #2 - 0007: move v0, v2 - 0008: return v0 - 0009: const/4 v2, #int 0 // #0 - 000a: move v0, v2 - 000b: goto 0008 // -0003 - 000c: const/4 v2, #int 1 // #1 - 000d: move v0, v2 - 000e: goto 0008 // -0006 - 000f: nop // spacer - 0010: sparse-switch-data // for switch @ 0003 - -2147483648: 0000000c // +00000009 - 0: 00000009 // +00000006 -Blort.test6:(I)I: -regs: 0005; ins: 0002; outs: 0000 - 0000: move-object v0, v3 - 0001: move v1, v4 - 0002: move v2, v1 - 0003: sparse-switch v2, 0010 // +000d - 0006: const/4 v2, #int 2 // #2 - 0007: move v0, v2 - 0008: return v0 - 0009: const/4 v2, #int 0 // #0 - 000a: move v0, v2 - 000b: goto 0008 // -0003 - 000c: const/4 v2, #int 1 // #1 - 000d: move v0, v2 - 000e: goto 0008 // -0006 - 000f: nop // spacer - 0010: sparse-switch-data // for switch @ 0003 - 0: 00000009 // +00000006 - 2147483647: 0000000c // +00000009 -Blort.test7:(I)I: -regs: 0005; ins: 0002; outs: 0000 - 0000: move-object v0, v3 - 0001: move v1, v4 - 0002: move v2, v1 - 0003: sparse-switch v2, 0010 // +000d - 0006: const/4 v2, #int 2 // #2 - 0007: move v0, v2 - 0008: return v0 - 0009: const/4 v2, #int 0 // #0 - 000a: move v0, v2 - 000b: goto 0008 // -0003 - 000c: const/4 v2, #int 1 // #1 - 000d: move v0, v2 - 000e: goto 0008 // -0006 - 000f: nop // spacer - 0010: sparse-switch-data // for switch @ 0003 - -2147483648: 00000009 // +00000006 - 2147483647: 0000000c // +00000009 -Blort.test8:(I)I: -regs: 0005; ins: 0002; outs: 0000 - 0000: move-object v0, v3 - 0001: move v1, v4 - 0002: move v2, v1 - 0003: sparse-switch v2, 0010 // +000d - 0006: const/4 v2, #int 2 // #2 - 0007: move v0, v2 - 0008: return v0 - 0009: const/4 v2, #int 0 // #0 - 000a: move v0, v2 - 000b: goto 0008 // -0003 - 000c: const/4 v2, #int 1 // #1 - 000d: move v0, v2 - 000e: goto 0008 // -0006 - 000f: nop // spacer - 0010: sparse-switch-data // for switch @ 0003 - 0: 00000009 // +00000006 - 1288490184: 0000000c // +00000009 diff --git a/dx/tests/072-dex-switch-edge-cases/info.txt b/dx/tests/072-dex-switch-edge-cases/info.txt deleted file mode 100644 index 4c7b42c9e..000000000 --- a/dx/tests/072-dex-switch-edge-cases/info.txt +++ /dev/null @@ -1,6 +0,0 @@ -This is a smoke test of dex conversion, which checks to see that -a bunch of switch op edge cases get converted reasonably. - -This test compares emitted code against a known-good (via eyeballing) -version, so it is possible for this test to spuriously fail if other -aspects of conversion end up altering the output in innocuous ways. diff --git a/dx/tests/072-dex-switch-edge-cases/run b/dx/tests/072-dex-switch-edge-cases/run deleted file mode 100644 index 52f113167..000000000 --- a/dx/tests/072-dex-switch-edge-cases/run +++ /dev/null @@ -1,19 +0,0 @@ -#!/bin/bash -# -# Copyright (C) 2007 The Android Open Source Project -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -$JAVAC -d . Blort.java -dx --debug --dex --no-optimize --positions=none --no-locals \ - --dump-method=Blort.test'*' *.class diff --git a/dx/tests/073-dex-null-array-refs/Blort.java b/dx/tests/073-dex-null-array-refs/Blort.java deleted file mode 100644 index b6678c0b2..000000000 --- a/dx/tests/073-dex-null-array-refs/Blort.java +++ /dev/null @@ -1,73 +0,0 @@ -/* - * Copyright (C) 2007 The Android Open Source Project - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -public class Blort -{ - public static Object test1() { - return ((Object[]) null)[0]; - } - - public static void test2() { - ((Object[]) null)[0] = null; - } - - public static int test3() { - return ((Object[]) null).length; - } - - public static Object test4() { - Object[] arr = null; - return arr[0]; - } - - public static void test5() { - Object[] arr = null; - arr[0] = null; - } - - public static int test6() { - Object[] arr = null; - return arr.length; - } - - public static Object test7(Object[] arr) { - if (check()) { - arr = null; - } - - return arr[0]; - } - - public static void test8(Object[] arr) { - if (check()) { - arr = null; - } - - arr[0] = null; - } - - public static int test9(Object[] arr) { - if (check()) { - arr = null; - } - - return arr.length; - } - - public static boolean check() { - return true; - } -} diff --git a/dx/tests/073-dex-null-array-refs/expected.txt b/dx/tests/073-dex-null-array-refs/expected.txt deleted file mode 100644 index 7f3ee21b0..000000000 --- a/dx/tests/073-dex-null-array-refs/expected.txt +++ /dev/null @@ -1,85 +0,0 @@ -Blort.test1:()Ljava/lang/Object;: -regs: 0002; ins: 0000; outs: 0000 - 0000: const/4 v0, #null // #0 - 0001: check-cast v0, java.lang.Object[] - 0003: const/4 v1, #int 0 // #0 - 0004: aget-object v0, v0, v1 - 0006: return-object v0 -Blort.test2:()V: -regs: 0003; ins: 0000; outs: 0000 - 0000: const/4 v0, #null // #0 - 0001: check-cast v0, java.lang.Object[] - 0003: const/4 v1, #int 0 // #0 - 0004: const/4 v2, #null // #0 - 0005: aput-object v2, v0, v1 - 0007: return-void -Blort.test3:()I: -regs: 0001; ins: 0000; outs: 0000 - 0000: const/4 v0, #null // #0 - 0001: check-cast v0, java.lang.Object[] - 0003: array-length v0, v0 - 0004: return v0 -Blort.test4:()Ljava/lang/Object;: -regs: 0003; ins: 0000; outs: 0000 - 0000: const/4 v1, #null // #0 - 0001: move-object v0, v1 - 0002: move-object v1, v0 - 0003: const/4 v2, #int 0 // #0 - 0004: aget-object v1, v1, v2 - 0006: move-object v0, v1 - 0007: return-object v0 -Blort.test5:()V: -regs: 0004; ins: 0000; outs: 0000 - 0000: const/4 v1, #null // #0 - 0001: move-object v0, v1 - 0002: move-object v1, v0 - 0003: const/4 v2, #int 0 // #0 - 0004: const/4 v3, #null // #0 - 0005: aput-object v3, v1, v2 - 0007: return-void -Blort.test6:()I: -regs: 0002; ins: 0000; outs: 0000 - 0000: const/4 v1, #null // #0 - 0001: move-object v0, v1 - 0002: move-object v1, v0 - 0003: array-length v1, v1 - 0004: move v0, v1 - 0005: return v0 -Blort.test7:([Ljava/lang/Object;)Ljava/lang/Object;: -regs: 0004; ins: 0001; outs: 0000 - 0000: move-object v0, v3 - 0001: invoke-static {}, Blort.check:()Z - 0004: move-result v1 - 0005: if-eqz v1, 0009 // +0004 - 0007: const/4 v1, #null // #0 - 0008: move-object v0, v1 - 0009: move-object v1, v0 - 000a: const/4 v2, #int 0 // #0 - 000b: aget-object v1, v1, v2 - 000d: move-object v0, v1 - 000e: return-object v0 -Blort.test8:([Ljava/lang/Object;)V: -regs: 0005; ins: 0001; outs: 0000 - 0000: move-object v0, v4 - 0001: invoke-static {}, Blort.check:()Z - 0004: move-result v1 - 0005: if-eqz v1, 0009 // +0004 - 0007: const/4 v1, #null // #0 - 0008: move-object v0, v1 - 0009: move-object v1, v0 - 000a: const/4 v2, #int 0 // #0 - 000b: const/4 v3, #null // #0 - 000c: aput-object v3, v1, v2 - 000e: return-void -Blort.test9:([Ljava/lang/Object;)I: -regs: 0003; ins: 0001; outs: 0000 - 0000: move-object v0, v2 - 0001: invoke-static {}, Blort.check:()Z - 0004: move-result v1 - 0005: if-eqz v1, 0009 // +0004 - 0007: const/4 v1, #null // #0 - 0008: move-object v0, v1 - 0009: move-object v1, v0 - 000a: array-length v1, v1 - 000b: move v0, v1 - 000c: return v0 diff --git a/dx/tests/073-dex-null-array-refs/info.txt b/dx/tests/073-dex-null-array-refs/info.txt deleted file mode 100644 index ca3b161b7..000000000 --- a/dx/tests/073-dex-null-array-refs/info.txt +++ /dev/null @@ -1,7 +0,0 @@ -This is a smoke test of dex conversion, which checks to see that -a bunch of cases convert reasonably, where necessarily or possibly -null array references are used. - -This test compares emitted code against a known-good (via eyeballing) -version, so it is possible for this test to spuriously fail if other -aspects of conversion end up altering the output in innocuous ways. diff --git a/dx/tests/073-dex-null-array-refs/run b/dx/tests/073-dex-null-array-refs/run deleted file mode 100644 index 52f113167..000000000 --- a/dx/tests/073-dex-null-array-refs/run +++ /dev/null @@ -1,19 +0,0 @@ -#!/bin/bash -# -# Copyright (C) 2007 The Android Open Source Project -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -$JAVAC -d . Blort.java -dx --debug --dex --no-optimize --positions=none --no-locals \ - --dump-method=Blort.test'*' *.class diff --git a/dx/tests/074-dex-form35c-edge-case/Blort.java b/dx/tests/074-dex-form35c-edge-case/Blort.java deleted file mode 100644 index 60efc6361..000000000 --- a/dx/tests/074-dex-form35c-edge-case/Blort.java +++ /dev/null @@ -1,41 +0,0 @@ -/* - * Copyright (C) 2007 The Android Open Source Project - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -public class Blort -{ - public void test() - { - int i1 = 0; - int i2 = 0; - int i3 = 0; - int i4 = 0; - int i5 = 0; - int i6 = 0; - int i7 = 0; - int i8 = 0; - int i9 = 0; - int i10 = 0; - int i11 = 0; - int i12 = 0; - int i13 = 0; - - blort(0); - } - - public void blort(long x) { - // blank - } -} diff --git a/dx/tests/074-dex-form35c-edge-case/expected.txt b/dx/tests/074-dex-form35c-edge-case/expected.txt deleted file mode 100644 index 6afdcd773..000000000 --- a/dx/tests/074-dex-form35c-edge-case/expected.txt +++ /dev/null @@ -1,33 +0,0 @@ -Blort.test:()V: -regs: 0012; ins: 0001; outs: 0003 - 0000: move-object/from16 v0, v17 - 0002: const/4 v14, #int 0 // #0 - 0003: move v1, v14 - 0004: const/4 v14, #int 0 // #0 - 0005: move v2, v14 - 0006: const/4 v14, #int 0 // #0 - 0007: move v3, v14 - 0008: const/4 v14, #int 0 // #0 - 0009: move v4, v14 - 000a: const/4 v14, #int 0 // #0 - 000b: move v5, v14 - 000c: const/4 v14, #int 0 // #0 - 000d: move v6, v14 - 000e: const/4 v14, #int 0 // #0 - 000f: move v7, v14 - 0010: const/4 v14, #int 0 // #0 - 0011: move v8, v14 - 0012: const/4 v14, #int 0 // #0 - 0013: move v9, v14 - 0014: const/4 v14, #int 0 // #0 - 0015: move v10, v14 - 0016: const/4 v14, #int 0 // #0 - 0017: move v11, v14 - 0018: const/4 v14, #int 0 // #0 - 0019: move v12, v14 - 001a: const/4 v14, #int 0 // #0 - 001b: move v13, v14 - 001c: move-object v14, v0 - 001d: const-wide/16 v15, #long 0 // #0000 - 001f: invoke-virtual/range {v14..v16}, Blort.blort:(J)V - 0022: return-void diff --git a/dx/tests/074-dex-form35c-edge-case/info.txt b/dx/tests/074-dex-form35c-edge-case/info.txt deleted file mode 100644 index 51d83bd2c..000000000 --- a/dx/tests/074-dex-form35c-edge-case/info.txt +++ /dev/null @@ -1,8 +0,0 @@ -This is a smoke test of dex conversion, which checks to see that -an edge case of instruction format 35c works, where a reference -is made to register 15 as a category-2 value, meaning that -the instruction has to be rewritten to use a different format. - -This test compares emitted code against a known-good (via eyeballing) -version, so it is possible for this test to spuriously fail if other -aspects of conversion end up altering the output in innocuous ways. diff --git a/dx/tests/074-dex-form35c-edge-case/run b/dx/tests/074-dex-form35c-edge-case/run deleted file mode 100644 index 7578321bf..000000000 --- a/dx/tests/074-dex-form35c-edge-case/run +++ /dev/null @@ -1,19 +0,0 @@ -#!/bin/bash -# -# Copyright (C) 2007 The Android Open Source Project -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -$JAVAC -d . Blort.java -dx --debug --dex --no-optimize --positions=none --no-locals \ - --dump-method=Blort.test *.class diff --git a/dx/tests/075-dex-cat2-value-merge/Blort.java b/dx/tests/075-dex-cat2-value-merge/Blort.java deleted file mode 100644 index d1bf0beca..000000000 --- a/dx/tests/075-dex-cat2-value-merge/Blort.java +++ /dev/null @@ -1,27 +0,0 @@ -/* - * Copyright (C) 2007 The Android Open Source Project - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -public class Blort -{ - public static void test(long[] arr) - { - long x = 0; - - for (;;) { - x += arr[0]; - } - } -} diff --git a/dx/tests/075-dex-cat2-value-merge/expected.txt b/dx/tests/075-dex-cat2-value-merge/expected.txt deleted file mode 100644 index e1b9b1b3b..000000000 --- a/dx/tests/075-dex-cat2-value-merge/expected.txt +++ /dev/null @@ -1,12 +0,0 @@ -Blort.test:([J)V: -regs: 0008; ins: 0001; outs: 0000 - 0000: move-object v0, v7 - 0001: const-wide/16 v3, #long 0 // #0000 - 0003: move-wide v1, v3 - 0004: move-wide v3, v1 - 0005: move-object v5, v0 - 0006: const/4 v6, #int 0 // #0 - 0007: aget-wide v5, v5, v6 - 0009: add-long/2addr v3, v5 - 000a: move-wide v1, v3 - 000b: goto 0004 // -0007 diff --git a/dx/tests/075-dex-cat2-value-merge/info.txt b/dx/tests/075-dex-cat2-value-merge/info.txt deleted file mode 100644 index de411b899..000000000 --- a/dx/tests/075-dex-cat2-value-merge/info.txt +++ /dev/null @@ -1,7 +0,0 @@ -This is a smoke test of dex conversion, which checks to see that -when a known value of category-2 gets merged during control -flow analysis, things don't break. - -This test compares emitted code against a known-good (via eyeballing) -version, so it is possible for this test to spuriously fail if other -aspects of conversion end up altering the output in innocuous ways. diff --git a/dx/tests/075-dex-cat2-value-merge/run b/dx/tests/075-dex-cat2-value-merge/run deleted file mode 100644 index 7578321bf..000000000 --- a/dx/tests/075-dex-cat2-value-merge/run +++ /dev/null @@ -1,19 +0,0 @@ -#!/bin/bash -# -# Copyright (C) 2007 The Android Open Source Project -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -$JAVAC -d . Blort.java -dx --debug --dex --no-optimize --positions=none --no-locals \ - --dump-method=Blort.test *.class diff --git a/dx/tests/076-dex-synch-and-stack/Blort.java b/dx/tests/076-dex-synch-and-stack/Blort.java deleted file mode 100644 index 6ba975743..000000000 --- a/dx/tests/076-dex-synch-and-stack/Blort.java +++ /dev/null @@ -1,22 +0,0 @@ -/* - * Copyright (C) 2007 The Android Open Source Project - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -public class Blort -{ - public synchronized void test() { - new Object(); - } -} diff --git a/dx/tests/076-dex-synch-and-stack/expected.txt b/dx/tests/076-dex-synch-and-stack/expected.txt deleted file mode 100644 index eba839ed2..000000000 --- a/dx/tests/076-dex-synch-and-stack/expected.txt +++ /dev/null @@ -1,19 +0,0 @@ -Blort.test:()V: -regs: 0006; ins: 0001; outs: 0001 - 0000: move-object v0, v5 - 0001: move-object v3, v5 - 0002: monitor-enter v3 - 0003: new-instance v1, java.lang.Object - 0005: move-object v4, v1 - 0006: move-object v1, v4 - 0007: move-object v2, v4 - 0008: invoke-direct {v2}, java.lang.Object.<init>:()V - 000b: monitor-exit v3 - 000c: return-void - 000d: move-exception v0 - 000e: monitor-exit v3 - 000f: throw v0 - catches - tries: - try 0003..000b - catch <any> -> 000d diff --git a/dx/tests/076-dex-synch-and-stack/info.txt b/dx/tests/076-dex-synch-and-stack/info.txt deleted file mode 100644 index ab5206f02..000000000 --- a/dx/tests/076-dex-synch-and-stack/info.txt +++ /dev/null @@ -1,7 +0,0 @@ -This is a smoke test of dex conversion, which checks to make sure that -the synchronized method conversion doesn't interact poorly with stack -operation unwinding. - -This test compares emitted code against a known-good (via eyeballing) -version, so it is possible for this test to spuriously fail if other -aspects of conversion end up altering the output in innocuous ways. diff --git a/dx/tests/076-dex-synch-and-stack/run b/dx/tests/076-dex-synch-and-stack/run deleted file mode 100644 index 7578321bf..000000000 --- a/dx/tests/076-dex-synch-and-stack/run +++ /dev/null @@ -1,19 +0,0 @@ -#!/bin/bash -# -# Copyright (C) 2007 The Android Open Source Project -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -$JAVAC -d . Blort.java -dx --debug --dex --no-optimize --positions=none --no-locals \ - --dump-method=Blort.test *.class diff --git a/dx/tests/077-dex-code-alignment/Blort.java b/dx/tests/077-dex-code-alignment/Blort.java deleted file mode 100644 index 862cd517c..000000000 --- a/dx/tests/077-dex-code-alignment/Blort.java +++ /dev/null @@ -1,26 +0,0 @@ -/* - * Copyright (C) 2007 The Android Open Source Project - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -public class Blort -{ - public static void justReturn1() { - // This space intentionally left blank. - } - - public static void justReturn2() { - // This space intentionally left blank. - } -} diff --git a/dx/tests/077-dex-code-alignment/expected.txt b/dx/tests/077-dex-code-alignment/expected.txt deleted file mode 100644 index e69de29bb..000000000 --- a/dx/tests/077-dex-code-alignment/expected.txt +++ /dev/null diff --git a/dx/tests/077-dex-code-alignment/info.txt b/dx/tests/077-dex-code-alignment/info.txt deleted file mode 100644 index 0dd662b75..000000000 --- a/dx/tests/077-dex-code-alignment/info.txt +++ /dev/null @@ -1,6 +0,0 @@ -This is a smoke test of dex conversion, which checks to make sure that -code arrays are 4-byte aligned within a dex file. - -This test compares emitted code against a known-good (via eyeballing) -version, so it is possible for this test to spuriously fail if other -aspects of conversion end up altering the output in innocuous ways. diff --git a/dx/tests/077-dex-code-alignment/run b/dx/tests/077-dex-code-alignment/run deleted file mode 100644 index f311dbf35..000000000 --- a/dx/tests/077-dex-code-alignment/run +++ /dev/null @@ -1,30 +0,0 @@ -#!/bin/bash -# -# Copyright (C) 2007 The Android Open Source Project -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -$JAVAC -d . Blort.java - -# The awk script below attempts to filter out everything but the -# essentials: That methods justReturn1() and justReturn2() contain -# a single "return-void" code unit, and that there is an empty (0x0000) -# code unit between the two of them. - -dx --debug --dex --positions=none --no-locals --dump-to=- *.class | awk ' -BEGIN { codes = 0; dump = 0; } -/codes:/ { codes = 1; } -codes && /justReturn/ { dump = 1; print "method start"; } -/string_data:/ { codes = 0; dump = 0; } -dump && /^......: .... / { print $2; } -' diff --git a/dx/tests/078-dex-local-variable-table/Blort.java b/dx/tests/078-dex-local-variable-table/Blort.java deleted file mode 100644 index d9f006f23..000000000 --- a/dx/tests/078-dex-local-variable-table/Blort.java +++ /dev/null @@ -1,112 +0,0 @@ -/* - * Copyright (C) 2007 The Android Open Source Project - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -public class Blort -{ - public static void test01(Object x) { - x.hashCode(); - } - - public static Object test02() { - Object[] arr = null; - return arr[0]; - } - - public static String test03(int x) { - String foo = null; - return foo; - } - - public static String test04(int x) { - String foo = null; - if (x < 0) { - foo = "bar"; - } - return foo; - } - - public static int test05(Object x) { - int[] arr = (int[]) x; - arr[0] = 123; - return arr[0]; - } - - public static int test06(int x) { - if (x < 10) { - int y = 1; - return y; - } else { - int y = 2; - return y; - } - } - - // Test for representation of boolean. - public static void test07(boolean x) { - boolean y = x; - } - - // Test for representation of byte. - public static void test08(byte x) { - byte y = x; - } - - // Test for representation of char. - public static void test09(char x) { - char y = x; - } - - // Test for representation of double. - public static void test10(double x) { - double y = x; - } - - // Test for representation of float. - public static void test11(float x) { - float y = x; - } - - // Test for representation of int. - public static void test12(int x) { - int y = x; - } - - // Test for representation of long. - public static void test13(long x) { - long y = x; - } - - // Test for representation of short. - public static void test14(short x) { - short y = x; - } - - // Test for representation of Object. - public static void test15(Object x) { - Object y = x; - } - - // Test for representation of String (as a token example of a non-Object - // reference type). - public static void test16(String x) { - String y = x; - } - - // Test for representation of int[] (as a token example of an array class). - public static void test17(int[] x) { - int[] y = x; - } -} diff --git a/dx/tests/078-dex-local-variable-table/expected.txt b/dx/tests/078-dex-local-variable-table/expected.txt deleted file mode 100644 index 3e5cd69d0..000000000 --- a/dx/tests/078-dex-local-variable-table/expected.txt +++ /dev/null @@ -1,314 +0,0 @@ -Blort.test01:(Ljava/lang/Object;)V: -regs: 0003; ins: 0001; outs: 0001 - 0000: move-object v0, v2 - 0001: move-object v1, v0 - 0002: invoke-virtual {v1}, java.lang.Object.hashCode:()I - 0005: move-result v1 - 0006: return-void - debug info - line_start: 1 - parameters_size: 0001 - parameter <unnamed> v2 - 0000: prologue end - 0001: advance pc - 0001: +local v0 x java.lang.Object - end sequence -Blort.test02:()Ljava/lang/Object;: -regs: 0003; ins: 0000; outs: 0000 - 0000: const/4 v1, #null // #0 - 0001: move-object v0, v1 - 0002: move-object v1, v0 - 0003: const/4 v2, #int 0 // #0 - 0004: aget-object v1, v1, v2 - 0006: move-object v0, v1 - 0007: return-object v0 - debug info - line_start: 1 - parameters_size: 0000 - 0000: prologue end - 0002: advance pc - 0002: +local v0 arr java.lang.Object[] - 0007: advance pc - 0007: -local v0 arr java.lang.Object[] - end sequence -Blort.test03:(I)Ljava/lang/String;: -regs: 0004; ins: 0001; outs: 0000 - 0000: move v0, v3 - 0001: const/4 v2, #null // #0 - 0002: move-object v1, v2 - 0003: move-object v2, v1 - 0004: move-object v0, v2 - 0005: return-object v0 - debug info - line_start: 1 - parameters_size: 0001 - parameter <unnamed> v3 - 0000: prologue end - 0001: advance pc - 0001: +local v0 x int - 0003: advance pc - 0003: +local v1 foo java.lang.String - 0005: advance pc - 0005: -local v0 x int - end sequence -Blort.test04:(I)Ljava/lang/String;: -regs: 0004; ins: 0001; outs: 0000 - 0000: move v0, v3 - 0001: const/4 v2, #null // #0 - 0002: move-object v1, v2 - 0003: move v2, v0 - 0004: if-gez v2, 0009 // +0005 - 0006: const-string v2, "bar" - 0008: move-object v1, v2 - 0009: move-object v2, v1 - 000a: move-object v0, v2 - 000b: return-object v0 - debug info - line_start: 1 - parameters_size: 0001 - parameter <unnamed> v3 - 0000: prologue end - 0001: advance pc - 0001: +local v0 x int - 0003: advance pc - 0003: +local v1 foo java.lang.String - 000b: advance pc - 000b: -local v0 x int - end sequence -Blort.test05:(Ljava/lang/Object;)I: -regs: 0006; ins: 0001; outs: 0000 - 0000: move-object v0, v5 - 0001: move-object v2, v0 - 0002: check-cast v2, int[] - 0004: check-cast v2, int[] - 0006: move-object v1, v2 - 0007: move-object v2, v1 - 0008: const/4 v3, #int 0 // #0 - 0009: const/16 v4, #int 123 // #007b - 000b: aput v4, v2, v3 - 000d: move-object v2, v1 - 000e: const/4 v3, #int 0 // #0 - 000f: aget v2, v2, v3 - 0011: move v0, v2 - 0012: return v0 - debug info - line_start: 1 - parameters_size: 0001 - parameter <unnamed> v5 - 0000: prologue end - 0001: advance pc - 0001: +local v0 x java.lang.Object - 0007: advance pc - 0007: +local v1 arr int[] - 0012: advance pc - 0012: -local v0 x java.lang.Object - end sequence -Blort.test06:(I)I: -regs: 0005; ins: 0001; outs: 0000 - 0000: move v0, v4 - 0001: move v2, v0 - 0002: const/16 v3, #int 10 // #000a - 0004: if-ge v2, v3, 000b // +0007 - 0006: const/4 v2, #int 1 // #1 - 0007: move v1, v2 - 0008: move v2, v1 - 0009: move v0, v2 - 000a: return v0 - 000b: const/4 v2, #int 2 // #2 - 000c: move v1, v2 - 000d: move v2, v1 - 000e: move v0, v2 - 000f: goto 000a // -0005 - debug info - line_start: 1 - parameters_size: 0001 - parameter <unnamed> v4 - 0000: prologue end - 0001: advance pc - 0001: +local v0 x int - 0008: advance pc - 0008: +local v1 y int - 000a: advance pc - 000a: -local v0 x int - 000b: advance pc - 000b: -local v1 y int - 000b: +local restart v0 x int - 000d: advance pc - 000d: +local restart v1 y int - end sequence -Blort.test07:(Z)V: -regs: 0004; ins: 0001; outs: 0000 - 0000: move v0, v3 - 0001: move v2, v0 - 0002: move v1, v2 - 0003: return-void - debug info - line_start: 1 - parameters_size: 0001 - parameter <unnamed> v3 - 0000: prologue end - 0001: advance pc - 0001: +local v0 x boolean - 0003: advance pc - 0003: +local v1 y boolean - end sequence -Blort.test08:(B)V: -regs: 0004; ins: 0001; outs: 0000 - 0000: move v0, v3 - 0001: move v2, v0 - 0002: move v1, v2 - 0003: return-void - debug info - line_start: 1 - parameters_size: 0001 - parameter <unnamed> v3 - 0000: prologue end - 0001: advance pc - 0001: +local v0 x byte - 0003: advance pc - 0003: +local v1 y byte - end sequence -Blort.test09:(C)V: -regs: 0004; ins: 0001; outs: 0000 - 0000: move v0, v3 - 0001: move v2, v0 - 0002: move v1, v2 - 0003: return-void - debug info - line_start: 1 - parameters_size: 0001 - parameter <unnamed> v3 - 0000: prologue end - 0001: advance pc - 0001: +local v0 x char - 0003: advance pc - 0003: +local v1 y char - end sequence -Blort.test10:(D)V: -regs: 0008; ins: 0002; outs: 0000 - 0000: move-wide v0, v6 - 0001: move-wide v4, v0 - 0002: move-wide v2, v4 - 0003: return-void - debug info - line_start: 1 - parameters_size: 0001 - parameter <unnamed> v6 - 0000: prologue end - 0001: advance pc - 0001: +local v0 x double - 0003: advance pc - 0003: +local v2 y double - end sequence -Blort.test11:(F)V: -regs: 0004; ins: 0001; outs: 0000 - 0000: move v0, v3 - 0001: move v2, v0 - 0002: move v1, v2 - 0003: return-void - debug info - line_start: 1 - parameters_size: 0001 - parameter <unnamed> v3 - 0000: prologue end - 0001: advance pc - 0001: +local v0 x float - 0003: advance pc - 0003: +local v1 y float - end sequence -Blort.test12:(I)V: -regs: 0004; ins: 0001; outs: 0000 - 0000: move v0, v3 - 0001: move v2, v0 - 0002: move v1, v2 - 0003: return-void - debug info - line_start: 1 - parameters_size: 0001 - parameter <unnamed> v3 - 0000: prologue end - 0001: advance pc - 0001: +local v0 x int - 0003: advance pc - 0003: +local v1 y int - end sequence -Blort.test13:(J)V: -regs: 0008; ins: 0002; outs: 0000 - 0000: move-wide v0, v6 - 0001: move-wide v4, v0 - 0002: move-wide v2, v4 - 0003: return-void - debug info - line_start: 1 - parameters_size: 0001 - parameter <unnamed> v6 - 0000: prologue end - 0001: advance pc - 0001: +local v0 x long - 0003: advance pc - 0003: +local v2 y long - end sequence -Blort.test14:(S)V: -regs: 0004; ins: 0001; outs: 0000 - 0000: move v0, v3 - 0001: move v2, v0 - 0002: move v1, v2 - 0003: return-void - debug info - line_start: 1 - parameters_size: 0001 - parameter <unnamed> v3 - 0000: prologue end - 0001: advance pc - 0001: +local v0 x short - 0003: advance pc - 0003: +local v1 y short - end sequence -Blort.test15:(Ljava/lang/Object;)V: -regs: 0004; ins: 0001; outs: 0000 - 0000: move-object v0, v3 - 0001: move-object v2, v0 - 0002: move-object v1, v2 - 0003: return-void - debug info - line_start: 1 - parameters_size: 0001 - parameter <unnamed> v3 - 0000: prologue end - 0001: advance pc - 0001: +local v0 x java.lang.Object - 0003: advance pc - 0003: +local v1 y java.lang.Object - end sequence -Blort.test16:(Ljava/lang/String;)V: -regs: 0004; ins: 0001; outs: 0000 - 0000: move-object v0, v3 - 0001: move-object v2, v0 - 0002: move-object v1, v2 - 0003: return-void - debug info - line_start: 1 - parameters_size: 0001 - parameter <unnamed> v3 - 0000: prologue end - 0001: advance pc - 0001: +local v0 x java.lang.String - 0003: advance pc - 0003: +local v1 y java.lang.String - end sequence -Blort.test17:([I)V: -regs: 0004; ins: 0001; outs: 0000 - 0000: move-object v0, v3 - 0001: move-object v2, v0 - 0002: move-object v1, v2 - 0003: return-void - debug info - line_start: 1 - parameters_size: 0001 - parameter <unnamed> v3 - 0000: prologue end - 0001: advance pc - 0001: +local v0 x int[] - 0003: advance pc - 0003: +local v1 y int[] - end sequence diff --git a/dx/tests/078-dex-local-variable-table/info.txt b/dx/tests/078-dex-local-variable-table/info.txt deleted file mode 100644 index 78342716b..000000000 --- a/dx/tests/078-dex-local-variable-table/info.txt +++ /dev/null @@ -1,6 +0,0 @@ -This is a smoke test of dex conversion, which checks to make sure that -local variable tables get emitted properly. - -This test compares emitted code against a known-good (via eyeballing) -version, so it is possible for this test to spuriously fail if other -aspects of conversion end up altering the output in innocuous ways. diff --git a/dx/tests/078-dex-local-variable-table/run b/dx/tests/078-dex-local-variable-table/run deleted file mode 100644 index 426f1e601..000000000 --- a/dx/tests/078-dex-local-variable-table/run +++ /dev/null @@ -1,19 +0,0 @@ -#!/bin/bash -# -# Copyright (C) 2007 The Android Open Source Project -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -$JAVAC -g -d . Blort.java -dx --debug --dex --no-optimize --positions=none --dump-method=Blort.test'*' \ - *.class diff --git a/dx/tests/079-dex-local-variable-renumbering/Blort.java b/dx/tests/079-dex-local-variable-renumbering/Blort.java deleted file mode 100644 index 629da90d1..000000000 --- a/dx/tests/079-dex-local-variable-renumbering/Blort.java +++ /dev/null @@ -1,39 +0,0 @@ -/* - * Copyright (C) 2007 The Android Open Source Project - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -public class Blort -{ - public static int test1(int x) { - float f0 = 0.0f; - float f1 = 0.0f; - float f2 = 0.0f; - float f3 = 0.0f; - float f4 = 0.0f; - float f5 = 0.0f; - float f6 = 0.0f; - float f7 = 0.0f; - float f8 = 0.0f; - float f9 = 0.0f; - float f10 = 0.0f; - float f11 = 0.0f; - float f12 = 0.0f; - float f13 = 0.0f; - float f14 = 0.0f; - float f15 = 0.0f; - int x16 = x; - return -x16; - } -} diff --git a/dx/tests/079-dex-local-variable-renumbering/expected.txt b/dx/tests/079-dex-local-variable-renumbering/expected.txt deleted file mode 100644 index 94ba113e3..000000000 --- a/dx/tests/079-dex-local-variable-renumbering/expected.txt +++ /dev/null @@ -1,87 +0,0 @@ -Blort.test1:(I)I: -regs: 0015; ins: 0001; outs: 0000 - 0000: move/from16 v1, v20 - 0002: const/16 v19, #float 0.0 // #0000 - 0004: move/from16 v2, v19 - 0006: const/16 v19, #float 0.0 // #0000 - 0008: move/from16 v3, v19 - 000a: const/16 v19, #float 0.0 // #0000 - 000c: move/from16 v4, v19 - 000e: const/16 v19, #float 0.0 // #0000 - 0010: move/from16 v5, v19 - 0012: const/16 v19, #float 0.0 // #0000 - 0014: move/from16 v6, v19 - 0016: const/16 v19, #float 0.0 // #0000 - 0018: move/from16 v7, v19 - 001a: const/16 v19, #float 0.0 // #0000 - 001c: move/from16 v8, v19 - 001e: const/16 v19, #float 0.0 // #0000 - 0020: move/from16 v9, v19 - 0022: const/16 v19, #float 0.0 // #0000 - 0024: move/from16 v10, v19 - 0026: const/16 v19, #float 0.0 // #0000 - 0028: move/from16 v11, v19 - 002a: const/16 v19, #float 0.0 // #0000 - 002c: move/from16 v12, v19 - 002e: const/16 v19, #float 0.0 // #0000 - 0030: move/from16 v13, v19 - 0032: const/16 v19, #float 0.0 // #0000 - 0034: move/from16 v14, v19 - 0036: const/16 v19, #float 0.0 // #0000 - 0038: move/from16 v15, v19 - 003a: const/16 v19, #float 0.0 // #0000 - 003c: move/from16 v16, v19 - 003e: const/16 v19, #float 0.0 // #0000 - 0040: move/from16 v17, v19 - 0042: move/from16 v19, v1 - 0044: move/from16 v18, v19 - 0046: move/from16 v19, v18 - 0048: move/from16 v0, v19 - 004a: neg-int v0, v0 - 004b: move/from16 v19, v0 - 004d: move/from16 v1, v19 - 004f: return v1 - debug info - line_start: 1 - parameters_size: 0001 - parameter <unnamed> v20 - 0000: prologue end - 0002: advance pc - 0002: +local v1 x int - 0006: advance pc - 0006: +local v2 f0 float - 000a: advance pc - 000a: +local v3 f1 float - 000e: advance pc - 000e: +local v4 f2 float - 0012: advance pc - 0012: +local v5 f3 float - 0016: advance pc - 0016: +local v6 f4 float - 001a: advance pc - 001a: +local v7 f5 float - 001e: advance pc - 001e: +local v8 f6 float - 0022: advance pc - 0022: +local v9 f7 float - 0026: advance pc - 0026: +local v10 f8 float - 002a: advance pc - 002a: +local v11 f9 float - 002e: advance pc - 002e: +local v12 f10 float - 0032: advance pc - 0032: +local v13 f11 float - 0036: advance pc - 0036: +local v14 f12 float - 003a: advance pc - 003a: +local v15 f13 float - 003e: advance pc - 003e: +local v16 f14 float - 0042: advance pc - 0042: +local v17 f15 float - 0046: advance pc - 0046: +local v18 x16 int - 004f: advance pc - 004f: -local v1 x int - end sequence diff --git a/dx/tests/079-dex-local-variable-renumbering/info.txt b/dx/tests/079-dex-local-variable-renumbering/info.txt deleted file mode 100644 index 249b23fac..000000000 --- a/dx/tests/079-dex-local-variable-renumbering/info.txt +++ /dev/null @@ -1,7 +0,0 @@ -This is a smoke test of dex conversion, which checks to make sure that -local variable tables stay in sync when the register set gets renumbered -to make room for low scratch registers. - -This test compares emitted code against a known-good (via eyeballing) -version, so it is possible for this test to spuriously fail if other -aspects of conversion end up altering the output in innocuous ways. diff --git a/dx/tests/079-dex-local-variable-renumbering/run b/dx/tests/079-dex-local-variable-renumbering/run deleted file mode 100644 index 426f1e601..000000000 --- a/dx/tests/079-dex-local-variable-renumbering/run +++ /dev/null @@ -1,19 +0,0 @@ -#!/bin/bash -# -# Copyright (C) 2007 The Android Open Source Project -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -$JAVAC -g -d . Blort.java -dx --debug --dex --no-optimize --positions=none --dump-method=Blort.test'*' \ - *.class diff --git a/dx/tests/080-dex-exception-tables/Blort.java b/dx/tests/080-dex-exception-tables/Blort.java deleted file mode 100644 index f406bee97..000000000 --- a/dx/tests/080-dex-exception-tables/Blort.java +++ /dev/null @@ -1,199 +0,0 @@ -/* - * Copyright (C) 2007 The Android Open Source Project - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -public class Blort -{ - public static void call1() { } - public static void call2() { } - public static void call3() { } - public static void call4() { } - public static void call5() { } - - public static int test1() { - try { - call1(); - call2(); - } catch (IndexOutOfBoundsException ex) { - return 10; - } catch (RuntimeException ex) { - return 11; - } - - call3(); - return 12; - } - - public static int test2() { - try { - call1(); - try { - call2(); - } catch (IndexOutOfBoundsException ex) { - return 10; - } - call3(); - } catch (RuntimeException ex) { - return 11; - } - - return 12; - } - - public static int test3() { - try { - call1(); - try { - call2(); - try { - call3(); - } catch (NullPointerException ex) { - return 10; - } - call4(); - } catch (IndexOutOfBoundsException ex) { - return 11; - } - call5(); - } catch (RuntimeException ex) { - return 12; - } - - return 13; - } - - public static int test4() { - try { - call1(); - try { - call2(); - try { - call3(); - } catch (NullPointerException ex) { - return 10; - } - } catch (IndexOutOfBoundsException ex) { - return 11; - } - call5(); - } catch (RuntimeException ex) { - return 12; - } - - return 13; - } - - public static int test5() { - try { - call1(); - try { - call2(); - try { - call3(); - } catch (NullPointerException ex) { - return 10; - } - } catch (IndexOutOfBoundsException ex) { - return 11; - } - } catch (RuntimeException ex) { - return 12; - } - - return 13; - } - - public static int test6() { - try { - try { - try { - call1(); - } catch (NullPointerException ex) { - return 10; - } - call2(); - } catch (IndexOutOfBoundsException ex) { - return 11; - } - call3(); - } catch (RuntimeException ex) { - return 12; - } - - call4(); - return 13; - } - - public static int test7() { - try { - call1(); - } catch (RuntimeException ex) { - return 10; - } - - try { - call2(); - } catch (RuntimeException ex) { - return 11; - } - - return 12; - } - - public static int test8() { - try { - call1(); - call2(); - } catch (RuntimeException ex) { - return 10; - } - - try { - call3(); - call4(); - } catch (RuntimeException ex) { - return 11; - } - - return 12; - } - - public static int test9() { - try { - call1(); - try { - call2(); - } catch (IllegalArgumentException ex) { - return 10; - } - } catch (RuntimeException ex) { - return 11; - } - - try { - call3(); - try { - call4(); - } catch (IllegalArgumentException ex) { - return 12; - } - } catch (RuntimeException ex) { - return 13; - } - - return 14; - } - -} diff --git a/dx/tests/080-dex-exception-tables/expected.txt b/dx/tests/080-dex-exception-tables/expected.txt deleted file mode 100644 index 4cf43f186..000000000 --- a/dx/tests/080-dex-exception-tables/expected.txt +++ /dev/null @@ -1,286 +0,0 @@ -Blort.test1:()I: -regs: 0002; ins: 0000; outs: 0000 - 0000: invoke-static {}, Blort.call1:()V - 0003: invoke-static {}, Blort.call2:()V - 0006: invoke-static {}, Blort.call3:()V - 0009: const/16 v1, #int 12 // #000c - 000b: move v0, v1 - 000c: return v0 - 000d: move-exception v1 - 000e: move-object v0, v1 - 000f: const/16 v1, #int 10 // #000a - 0011: move v0, v1 - 0012: goto 000c // -0006 - 0013: move-exception v1 - 0014: move-object v0, v1 - 0015: const/16 v1, #int 11 // #000b - 0017: move v0, v1 - 0018: goto 000c // -000c - catches - tries: - try 0000..0006 - catch java.lang.IndexOutOfBoundsException -> 000d, - java.lang.RuntimeException -> 0013 -Blort.test2:()I: -regs: 0002; ins: 0000; outs: 0000 - 0000: invoke-static {}, Blort.call1:()V - 0003: invoke-static {}, Blort.call2:()V - 0006: invoke-static {}, Blort.call3:()V - 0009: const/16 v1, #int 12 // #000c - 000b: move v0, v1 - 000c: return v0 - 000d: move-exception v1 - 000e: move-object v0, v1 - 000f: const/16 v1, #int 10 // #000a - 0011: move v0, v1 - 0012: goto 000c // -0006 - 0013: move-exception v1 - 0014: move-object v0, v1 - 0015: const/16 v1, #int 11 // #000b - 0017: move v0, v1 - 0018: goto 000c // -000c - catches - tries: - try 0000..0003 - catch java.lang.RuntimeException -> 0013 - try 0003..0006 - catch java.lang.IndexOutOfBoundsException -> 000d, - java.lang.RuntimeException -> 0013 - try 0006..0009 - catch java.lang.RuntimeException -> 0013 -Blort.test3:()I: -regs: 0002; ins: 0000; outs: 0000 - 0000: invoke-static {}, Blort.call1:()V - 0003: invoke-static {}, Blort.call2:()V - 0006: invoke-static {}, Blort.call3:()V - 0009: invoke-static {}, Blort.call4:()V - 000c: invoke-static {}, Blort.call5:()V - 000f: const/16 v1, #int 13 // #000d - 0011: move v0, v1 - 0012: return v0 - 0013: move-exception v1 - 0014: move-object v0, v1 - 0015: const/16 v1, #int 10 // #000a - 0017: move v0, v1 - 0018: goto 0012 // -0006 - 0019: move-exception v1 - 001a: move-object v0, v1 - 001b: const/16 v1, #int 11 // #000b - 001d: move v0, v1 - 001e: goto 0012 // -000c - 001f: move-exception v1 - 0020: move-object v0, v1 - 0021: const/16 v1, #int 12 // #000c - 0023: move v0, v1 - 0024: goto 0012 // -0012 - catches - tries: - try 0000..0003 - catch java.lang.RuntimeException -> 001f - try 0003..0006 - catch java.lang.IndexOutOfBoundsException -> 0019, - java.lang.RuntimeException -> 001f - try 0006..0009 - catch java.lang.NullPointerException -> 0013, - java.lang.IndexOutOfBoundsException -> 0019, - java.lang.RuntimeException -> 001f - try 0009..000c - catch java.lang.IndexOutOfBoundsException -> 0019, - java.lang.RuntimeException -> 001f - try 000c..000f - catch java.lang.RuntimeException -> 001f -Blort.test4:()I: -regs: 0002; ins: 0000; outs: 0000 - 0000: invoke-static {}, Blort.call1:()V - 0003: invoke-static {}, Blort.call2:()V - 0006: invoke-static {}, Blort.call3:()V - 0009: invoke-static {}, Blort.call5:()V - 000c: const/16 v1, #int 13 // #000d - 000e: move v0, v1 - 000f: return v0 - 0010: move-exception v1 - 0011: move-object v0, v1 - 0012: const/16 v1, #int 10 // #000a - 0014: move v0, v1 - 0015: goto 000f // -0006 - 0016: move-exception v1 - 0017: move-object v0, v1 - 0018: const/16 v1, #int 11 // #000b - 001a: move v0, v1 - 001b: goto 000f // -000c - 001c: move-exception v1 - 001d: move-object v0, v1 - 001e: const/16 v1, #int 12 // #000c - 0020: move v0, v1 - 0021: goto 000f // -0012 - catches - tries: - try 0000..0003 - catch java.lang.RuntimeException -> 001c - try 0003..0006 - catch java.lang.IndexOutOfBoundsException -> 0016, - java.lang.RuntimeException -> 001c - try 0006..0009 - catch java.lang.NullPointerException -> 0010, - java.lang.IndexOutOfBoundsException -> 0016, - java.lang.RuntimeException -> 001c - try 0009..000c - catch java.lang.RuntimeException -> 001c -Blort.test5:()I: -regs: 0002; ins: 0000; outs: 0000 - 0000: invoke-static {}, Blort.call1:()V - 0003: invoke-static {}, Blort.call2:()V - 0006: invoke-static {}, Blort.call3:()V - 0009: const/16 v1, #int 13 // #000d - 000b: move v0, v1 - 000c: return v0 - 000d: move-exception v1 - 000e: move-object v0, v1 - 000f: const/16 v1, #int 10 // #000a - 0011: move v0, v1 - 0012: goto 000c // -0006 - 0013: move-exception v1 - 0014: move-object v0, v1 - 0015: const/16 v1, #int 11 // #000b - 0017: move v0, v1 - 0018: goto 000c // -000c - 0019: move-exception v1 - 001a: move-object v0, v1 - 001b: const/16 v1, #int 12 // #000c - 001d: move v0, v1 - 001e: goto 000c // -0012 - catches - tries: - try 0000..0003 - catch java.lang.RuntimeException -> 0019 - try 0003..0006 - catch java.lang.IndexOutOfBoundsException -> 0013, - java.lang.RuntimeException -> 0019 - try 0006..0009 - catch java.lang.NullPointerException -> 000d, - java.lang.IndexOutOfBoundsException -> 0013, - java.lang.RuntimeException -> 0019 -Blort.test6:()I: -regs: 0002; ins: 0000; outs: 0000 - 0000: invoke-static {}, Blort.call1:()V - 0003: invoke-static {}, Blort.call2:()V - 0006: invoke-static {}, Blort.call3:()V - 0009: invoke-static {}, Blort.call4:()V - 000c: const/16 v1, #int 13 // #000d - 000e: move v0, v1 - 000f: return v0 - 0010: move-exception v1 - 0011: move-object v0, v1 - 0012: const/16 v1, #int 10 // #000a - 0014: move v0, v1 - 0015: goto 000f // -0006 - 0016: move-exception v1 - 0017: move-object v0, v1 - 0018: const/16 v1, #int 11 // #000b - 001a: move v0, v1 - 001b: goto 000f // -000c - 001c: move-exception v1 - 001d: move-object v0, v1 - 001e: const/16 v1, #int 12 // #000c - 0020: move v0, v1 - 0021: goto 000f // -0012 - catches - tries: - try 0000..0003 - catch java.lang.NullPointerException -> 0010, - java.lang.IndexOutOfBoundsException -> 0016, - java.lang.RuntimeException -> 001c - try 0003..0006 - catch java.lang.IndexOutOfBoundsException -> 0016, - java.lang.RuntimeException -> 001c - try 0006..0009 - catch java.lang.RuntimeException -> 001c -Blort.test7:()I: -regs: 0002; ins: 0000; outs: 0000 - 0000: invoke-static {}, Blort.call1:()V - 0003: invoke-static {}, Blort.call2:()V - 0006: const/16 v1, #int 12 // #000c - 0008: move v0, v1 - 0009: return v0 - 000a: move-exception v1 - 000b: move-object v0, v1 - 000c: const/16 v1, #int 10 // #000a - 000e: move v0, v1 - 000f: goto 0009 // -0006 - 0010: move-exception v1 - 0011: move-object v0, v1 - 0012: const/16 v1, #int 11 // #000b - 0014: move v0, v1 - 0015: goto 0009 // -000c - catches - tries: - try 0000..0003 - catch java.lang.RuntimeException -> 000a - try 0003..0006 - catch java.lang.RuntimeException -> 0010 -Blort.test8:()I: -regs: 0002; ins: 0000; outs: 0000 - 0000: invoke-static {}, Blort.call1:()V - 0003: invoke-static {}, Blort.call2:()V - 0006: invoke-static {}, Blort.call3:()V - 0009: invoke-static {}, Blort.call4:()V - 000c: const/16 v1, #int 12 // #000c - 000e: move v0, v1 - 000f: return v0 - 0010: move-exception v1 - 0011: move-object v0, v1 - 0012: const/16 v1, #int 10 // #000a - 0014: move v0, v1 - 0015: goto 000f // -0006 - 0016: move-exception v1 - 0017: move-object v0, v1 - 0018: const/16 v1, #int 11 // #000b - 001a: move v0, v1 - 001b: goto 000f // -000c - catches - tries: - try 0000..0006 - catch java.lang.RuntimeException -> 0010 - try 0006..000c - catch java.lang.RuntimeException -> 0016 -Blort.test9:()I: -regs: 0002; ins: 0000; outs: 0000 - 0000: invoke-static {}, Blort.call1:()V - 0003: invoke-static {}, Blort.call2:()V - 0006: invoke-static {}, Blort.call3:()V - 0009: invoke-static {}, Blort.call4:()V - 000c: const/16 v1, #int 14 // #000e - 000e: move v0, v1 - 000f: return v0 - 0010: move-exception v1 - 0011: move-object v0, v1 - 0012: const/16 v1, #int 10 // #000a - 0014: move v0, v1 - 0015: goto 000f // -0006 - 0016: move-exception v1 - 0017: move-object v0, v1 - 0018: const/16 v1, #int 11 // #000b - 001a: move v0, v1 - 001b: goto 000f // -000c - 001c: move-exception v1 - 001d: move-object v0, v1 - 001e: const/16 v1, #int 12 // #000c - 0020: move v0, v1 - 0021: goto 000f // -0012 - 0022: move-exception v1 - 0023: move-object v0, v1 - 0024: const/16 v1, #int 13 // #000d - 0026: move v0, v1 - 0027: goto 000f // -0018 - catches - tries: - try 0000..0003 - catch java.lang.RuntimeException -> 0016 - try 0003..0006 - catch java.lang.IllegalArgumentException -> 0010, - java.lang.RuntimeException -> 0016 - try 0006..0009 - catch java.lang.RuntimeException -> 0022 - try 0009..000c - catch java.lang.IllegalArgumentException -> 001c, - java.lang.RuntimeException -> 0022 diff --git a/dx/tests/080-dex-exception-tables/info.txt b/dx/tests/080-dex-exception-tables/info.txt deleted file mode 100644 index 99f2cbced..000000000 --- a/dx/tests/080-dex-exception-tables/info.txt +++ /dev/null @@ -1,8 +0,0 @@ -This is a smoke test of dex conversion, which checks to make sure that -exception handler tables get built reasonably (combining entries that -ought to be combined, listing entries in a correct and sensible order, -etc.). - -This test compares emitted code against a known-good (via eyeballing) -version, so it is possible for this test to spuriously fail if other -aspects of conversion end up altering the output in innocuous ways. diff --git a/dx/tests/080-dex-exception-tables/run b/dx/tests/080-dex-exception-tables/run deleted file mode 100644 index 3acfcfdd6..000000000 --- a/dx/tests/080-dex-exception-tables/run +++ /dev/null @@ -1,19 +0,0 @@ -#!/bin/bash -# -# Copyright (C) 2007 The Android Open Source Project -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -$JAVAC -g -d . Blort.java -dx --debug --dex --no-optimize --positions=none --no-locals \ - --dump-method=Blort.test'*' *.class diff --git a/dx/tests/081-dex-throws-list/Blort.java b/dx/tests/081-dex-throws-list/Blort.java deleted file mode 100644 index 6011c9cf8..000000000 --- a/dx/tests/081-dex-throws-list/Blort.java +++ /dev/null @@ -1,28 +0,0 @@ -/* - * Copyright (C) 2007 The Android Open Source Project - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -public class Blort -{ - public int test1() - throws RuntimeException { - throw new RuntimeException(); - } - - public int test2() - throws Throwable, IllegalArgumentException { - throw new IllegalArgumentException(); - } -} diff --git a/dx/tests/081-dex-throws-list/expected.txt b/dx/tests/081-dex-throws-list/expected.txt deleted file mode 100644 index 1350edfab..000000000 --- a/dx/tests/081-dex-throws-list/expected.txt +++ /dev/null @@ -1,4 +0,0 @@ -Blort.test1:()I: - system-annotation dalvik.annotation.Throws {value: {java.lang.RuntimeException}} -Blort.test2:()I: - system-annotation dalvik.annotation.Throws {value: {java.lang.Throwable, java.lang.IllegalArgumentException}} diff --git a/dx/tests/081-dex-throws-list/info.txt b/dx/tests/081-dex-throws-list/info.txt deleted file mode 100644 index eb4bdd73e..000000000 --- a/dx/tests/081-dex-throws-list/info.txt +++ /dev/null @@ -1,7 +0,0 @@ -This is a smoke test of dex conversion, which checks to make sure that -throws lists (that is, list of declared exceptions on methods) get -represented reasonably. - -This test compares emitted code against a known-good (via eyeballing) -version, so it is possible for this test to spuriously fail if other -aspects of conversion end up altering the output in innocuous ways. diff --git a/dx/tests/081-dex-throws-list/run b/dx/tests/081-dex-throws-list/run deleted file mode 100644 index 2236cf25b..000000000 --- a/dx/tests/081-dex-throws-list/run +++ /dev/null @@ -1,19 +0,0 @@ -#!/bin/bash -# -# Copyright (C) 2007 The Android Open Source Project -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -$JAVAC -g -d . Blort.java -dx --debug --dex --positions=none --no-locals --dump-method=Blort.test'*' \ - *.class | grep 'Blort\|Throws' diff --git a/dx/tests/082-dex-throws-list-sharing/Blort.java b/dx/tests/082-dex-throws-list-sharing/Blort.java deleted file mode 100644 index 31591d0ed..000000000 --- a/dx/tests/082-dex-throws-list-sharing/Blort.java +++ /dev/null @@ -1,38 +0,0 @@ -/* - * Copyright (C) 2007 The Android Open Source Project - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -public class Blort -{ - public int test1() - throws RuntimeException { - throw new RuntimeException(); - } - - public int test2() - throws RuntimeException { - throw new RuntimeException(); - } - - public int test3() - throws Error, UnsupportedOperationException { - throw new RuntimeException(); - } - - public int test4() - throws Error, UnsupportedOperationException { - throw new RuntimeException(); - } -} diff --git a/dx/tests/082-dex-throws-list-sharing/expected.txt b/dx/tests/082-dex-throws-list-sharing/expected.txt deleted file mode 100644 index 0f3392494..000000000 --- a/dx/tests/082-dex-throws-list-sharing/expected.txt +++ /dev/null @@ -1,2 +0,0 @@ -java.lang.RuntimeException -java.lang.Error, java.lang.UnsupportedOperationException diff --git a/dx/tests/082-dex-throws-list-sharing/info.txt b/dx/tests/082-dex-throws-list-sharing/info.txt deleted file mode 100644 index 3b7dca1d0..000000000 --- a/dx/tests/082-dex-throws-list-sharing/info.txt +++ /dev/null @@ -1,7 +0,0 @@ -This is a smoke test of dex conversion, which checks to make sure that -identical throws lists in different methods get collapsed into a single -dex file structure. - -This test compares emitted code against a known-good (via eyeballing) -version, so it is possible for this test to spuriously fail if other -aspects of conversion end up altering the output in innocuous ways. diff --git a/dx/tests/082-dex-throws-list-sharing/run b/dx/tests/082-dex-throws-list-sharing/run deleted file mode 100644 index 6eed9bd6c..000000000 --- a/dx/tests/082-dex-throws-list-sharing/run +++ /dev/null @@ -1,20 +0,0 @@ -#!/bin/bash -# -# Copyright (C) 2007 The Android Open Source Project -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -$JAVAC -g -d . Blort.java -dx --debug --dex --positions=none --no-locals --dump-to=- --dump-width=200 \ - *.class | grep '^[0-9a-f].*value.*Exception' \ - | sed -e 's/^[^{]*{//g' -e 's/}//g' diff --git a/dx/tests/083-ssa-phi-placement/Blort.java b/dx/tests/083-ssa-phi-placement/Blort.java deleted file mode 100644 index b31429088..000000000 --- a/dx/tests/083-ssa-phi-placement/Blort.java +++ /dev/null @@ -1,67 +0,0 @@ -/* - * Copyright (C) 2007 The Android Open Source Project - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -public class Blort -{ - - public int phiTest() { - int i = 1; - int j = 1; - int k = 0; - - while (k < 100) { - if (j < 20) { - j = i; - k++; - } else { - j = k; - k += 2; - } - } - - return j; - } - - /** - * This method uses no registers. - */ - public static void noVars() { - } - - /** - * This method requires an ordered successor list with - * multiple identically-valued entries. - */ - Object fd; - public Object getOption(int optID) throws RuntimeException - { - if (fd == null) { - throw new RuntimeException("socket not created"); - } - - int value = 0; - switch (optID) - { - case 1: - case 2: - return new Integer(value); - case 3: - default: - return Boolean.valueOf(value != 0); - } - } -} - diff --git a/dx/tests/083-ssa-phi-placement/expected.txt b/dx/tests/083-ssa-phi-placement/expected.txt deleted file mode 100644 index 9a0cb0b65..000000000 --- a/dx/tests/083-ssa-phi-placement/expected.txt +++ /dev/null @@ -1,345 +0,0 @@ -reading Blort.class... -method <init> ()V -first 000c -block 000a - pred 000c - live in:{} - Blort.java:17@0000: move-param-object(0) v0:NffffLBlort; <- . - Blort.java:17@0000: goto . <- . - next 0000 - live out:{} -block 0000 - pred 000a - live in:{} - Blort.java:17@0000: move-object v1:NffffLBlort; <- v0:NffffLBlort; - Blort.java:17@0001: Rop{invoke-direct . <- Ljava/lang/Object; call throws <an - y>}(java.lang.Object.<init>:()V catch) . <- v1:NffffLBlort; - next 0004 - live out:{} -block 0004 - pred 0000 - live in:{} - Blort.java:17@0004: goto . <- . - next 000b - live out:{} -block 000b - pred 0004 - live in:{} - Blort.java:17@0004: return-void . <- . - returns - live out:{} -block 000c - live in:{} - @????: goto . <- . - next 000a - live out:{} - -method phiTest ()I -first 0048 -block 0046 - pred 0048 - live in:{} - Blort.java:21@0000: move-param-object(0) v0:LBlort; <- . - Blort.java:21@0000: goto . <- . - next 0000 - live out:{} -block 0000 - pred 0046 - live in:{} - Blort.java:21@0000: const-int(1) v4:I=1 <- . - Blort.java:21@0001: move-int v1:I <- v4:I=1 - Blort.java:22@0002: const-int(1) v4:I=1 <- . - Blort.java:22@0003: move-int v2:I <- v4:I=1 - Blort.java:23@0004: const-int(0) v4:I=0 <- . - Blort.java:23@0005: move-int v3:I <- v4:I=0 - Blort.java:23@0005: goto . <- . - next 0049 - live out:{} -block 0006 - pred 0049 - live in:{} - Blort.java:25@0006: move-int v4:I <- v3:I - Blort.java:25@0007: const-int(100) v5:I=100 <- . - Blort.java:25@0009: if-ge-int . <- v4:I v5:I=100 - next 000c * - next 0022 - live out:{} -block 000c - pred 0006 - live in:{} - Blort.java:26@000c: move-int v4:I <- v2:I - Blort.java:26@000d: const-int(20) v5:I=20 <- . - Blort.java:26@000f: if-ge-int . <- v4:I v5:I=20 - next 0012 * - next 001a - live out:{} -block 0012 - pred 000c - live in:{} - Blort.java:27@0012: move-int v4:I <- v1:I - Blort.java:27@0013: move-int v2:I <- v4:I - Blort.java:28@0014: add-const-int(1) v3:I <- v3:I - Blort.java:28@0017: goto . <- . - next 0049 - live out:{} -block 001a - pred 000c - live in:{} - Blort.java:30@001a: move-int v4:I <- v3:I - Blort.java:30@001b: move-int v2:I <- v4:I - Blort.java:31@001c: add-const-int(2) v3:I <- v3:I - Blort.java:31@001f: goto . <- . - next 0049 - live out:{} -block 0022 - pred 0006 - live in:{} - Blort.java:35@0022: move-int v4:I <- v2:I - Blort.java:35@0023: move-int v0:I <- v4:I - Blort.java:35@0023: goto . <- . - next 0047 - live out:{} -block 0047 - pred 0022 - live in:{} - Blort.java:35@0023: return-int . <- v0:I - returns - live out:{} -block 0048 - live in:{} - @????: goto . <- . - next 0046 - live out:{} -block 0049 - pred 0000 - pred 0012 - pred 001a - live in:{} - @????: phi v5:V <- . - @????: phi v4:V <- . - @????: phi v3:V <- . - @????: phi v2:V <- . - @????: goto . <- . - next 0006 - live out:{} - -method noVars ()V -first 0004 -block 0002 - pred 0004 - live in:{} - Blort.java:42@0000: goto . <- . - next 0000 - live out:{} -block 0000 - pred 0002 - live in:{} - Blort.java:42@0000: goto . <- . - next 0003 - live out:{} -block 0003 - pred 0000 - live in:{} - Blort.java:42@0000: return-void . <- . - returns - live out:{} -block 0004 - live in:{} - @????: goto . <- . - next 0002 - live out:{} - -method getOption (I)Ljava/lang/Object; -first 0098 -block 008c - pred 0098 - live in:{} - Blort.java:51@0000: move-param-object(0) v0:LBlort; <- . - Blort.java:51@0000: move-param-int(1) v1:I <- . - Blort.java:51@0000: goto . <- . - next 0000 - live out:{} -block 0093 - pred 0000 - live in:{} - Blort.java:51@0001: Rop{move-result-pseudo Ljava/lang/Object; <- . flows} v3: - Ljava/lang/Object; <- . - Blort.java:51@0001: goto . <- . - next 0004 - live out:{} -block 0000 - pred 008c - live in:{} - Blort.java:51@0000: move-object v3:LBlort; <- v0:LBlort; - Blort.java:51@0001: get-field-object(Blort.fd:Ljava/lang/Object; catch) . <- - v3:LBlort; - next 0093 - live out:{} -block 0004 - pred 0093 - live in:{} - Blort.java:51@0004: if-nez-object . <- v3:Ljava/lang/Object; - next 0007 * - next 0011 - live out:{} -block 0094 - pred 0007 - live in:{} - Blort.java:52@0007: Rop{move-result-pseudo N0007Ljava/lang/RuntimeException; - <- . flows} v3:N0007Ljava/lang/RuntimeException; <- . - Blort.java:52@0007: goto . <- . - next 000a - live out:{} -block 0007 - pred 0004 - live in:{} - Blort.java:52@0007: new-instance(java.lang.RuntimeException catch) . <- . - next 0094 - live out:{} -block 0095 - pred 000a - live in:{} - Blort.java:52@000b: Rop{move-result-pseudo Ljava/lang/String; <- . flows} v5: - Ljava/lang/String;="socket not created" <- . - Blort.java:52@000b: goto . <- . - next 000d - live out:{} -block 000a - pred 0094 - live in:{} - Blort.java:52@000a: move-object v6:N0007Ljava/lang/RuntimeException; <- v3:N0 - 007Ljava/lang/RuntimeException; - Blort.java:52@000a: move-object v3:N0007Ljava/lang/RuntimeException; <- v6:N0 - 007Ljava/lang/RuntimeException; - Blort.java:52@000a: move-object v4:N0007Ljava/lang/RuntimeException; <- v6:N0 - 007Ljava/lang/RuntimeException; - Blort.java:52@000b: const-object("socket not created" catch) . <- . - next 0095 - live out:{} -block 000d - pred 0095 - live in:{} - Blort.java:52@000d: Rop{invoke-direct . <- Ljava/lang/RuntimeException; Ljava - /lang/String; call throws <any>}(java.lang.RuntimeException.<init>:(Ljava/lan - g/String;)V catch) . <- v4:N0007Ljava/lang/RuntimeException; v5:Ljava/lang/St - ring;="socket not created" - next 0010 - live out:{} -block 0010 - pred 000d - live in:{} - Blort.java:52@0010: throw(catch) . <- v3:Ljava/lang/RuntimeException; - returns - live out:{} -block 0011 - pred 0004 - live in:{} - Blort.java:55@0011: const-int(0) v3:I=0 <- . - Blort.java:55@0012: move-int v2:I <- v3:I=0 - Blort.java:56@0013: move-int v3:I <- v1:I - Blort.java:56@0014: switch({1, 2}) . <- v3:I - next 0030 - next 0030 - next 0039 * - live out:{} -block 0096 - pred 0030 - live in:{} - Blort.java:60@0030: Rop{move-result-pseudo N0030Ljava/lang/Integer; <- . flow - s} v3:N0030Ljava/lang/Integer; <- . - Blort.java:60@0030: goto . <- . - next 0033 - live out:{} -block 0030 - pred 0011 - live in:{} - Blort.java:60@0030: new-instance(java.lang.Integer catch) . <- . - next 0096 - live out:{} -block 0033 - pred 0096 - live in:{} - Blort.java:60@0033: move-object v6:N0030Ljava/lang/Integer; <- v3:N0030Ljava/ - lang/Integer; - Blort.java:60@0033: move-object v3:N0030Ljava/lang/Integer; <- v6:N0030Ljava/ - lang/Integer; - Blort.java:60@0033: move-object v4:N0030Ljava/lang/Integer; <- v6:N0030Ljava/ - lang/Integer; - Blort.java:60@0034: move-int v5:I <- v2:I - Blort.java:60@0035: Rop{invoke-direct . <- Ljava/lang/Integer; I call throws - <any>}(java.lang.Integer.<init>:(I)V catch) . <- v4:N0030Ljava/lang/Integer; - v5:I - next 0038 - live out:{} -block 0038 - pred 0033 - live in:{} - Blort.java:60@0038: move-object v0:Ljava/lang/Integer; <- v3:Ljava/lang/Integ - er; - Blort.java:60@0038: goto . <- . - next 008d - live out:{} -block 0039 - pred 0011 - live in:{} - Blort.java:63@0039: move-int v3:I <- v2:I - Blort.java:63@003a: if-eqz-int . <- v3:I - next 003d * - next 0041 - live out:{} -block 003d - pred 0039 - live in:{} - Blort.java:63@003d: const-int(1) v3:I=1 <- . - Blort.java:63@003e: goto . <- . - next 0042 - live out:{} -block 0041 - pred 0039 - live in:{} - Blort.java:63@0041: const-int(0) v3:I=0 <- . - Blort.java:63@0041: goto . <- . - next 0042 - live out:{} -block 0097 - pred 0042 - live in:{} - Blort.java:63@0042: Rop{move-result Ljava/lang/Boolean; <- . flows} v3:Ljava/ - lang/Boolean; <- . - Blort.java:63@0042: goto . <- . - next 0045 - live out:{} -block 0042 - pred 003d - pred 0041 - live in:{} - @????: phi v3:V <- . - Blort.java:63@0042: Rop{invoke-static . <- I call throws <any>}(java.lang.Boo - lean.valueOf:(Z)Ljava/lang/Boolean; catch) . <- v3:I - next 0097 - live out:{} -block 0045 - pred 0097 - live in:{} - Blort.java:63@0045: move-object v0:Ljava/lang/Boolean; <- v3:Ljava/lang/Boole - an; - Blort.java:63@0045: goto . <- . - next 008d - live out:{} -block 008d - pred 0038 - pred 0045 - live in:{} - @????: phi v6:V <- . - @????: phi v5:V <- . - @????: phi v4:V <- . - @????: phi v3:V <- . - @????: phi v0:V <- . - Blort.java:63@0045: return-object . <- v0:Ljava/lang/Object; - returns - live out:{} -block 0098 - live in:{} - @????: goto . <- . - next 008c - live out:{} diff --git a/dx/tests/083-ssa-phi-placement/info.txt b/dx/tests/083-ssa-phi-placement/info.txt deleted file mode 100644 index 8d4eebfae..000000000 --- a/dx/tests/083-ssa-phi-placement/info.txt +++ /dev/null @@ -1,5 +0,0 @@ -This is a test case for the phi placement algorthim used in the conversion to SSA form. - -This test compares emitted code against a known-good (via eyeballing) -version, so it is possible for this test to spuriously fail if other -aspects of conversion end up altering the output in innocuous ways. diff --git a/dx/tests/083-ssa-phi-placement/run b/dx/tests/083-ssa-phi-placement/run deleted file mode 100644 index ddcb5975a..000000000 --- a/dx/tests/083-ssa-phi-placement/run +++ /dev/null @@ -1,18 +0,0 @@ -#!/bin/bash -# -# Copyright (C) 2007 The Android Open Source Project -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -$JAVAC -d . Blort.java -dx --dump --ssa-blocks --ssa-step=phi-placement Blort.class diff --git a/dx/tests/084-dex-high-register-moves/Blort.java b/dx/tests/084-dex-high-register-moves/Blort.java deleted file mode 100644 index 736cefb66..000000000 --- a/dx/tests/084-dex-high-register-moves/Blort.java +++ /dev/null @@ -1,49 +0,0 @@ -/* - * Copyright (C) 2007 The Android Open Source Project - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -public class Blort -{ - private static int i; - private static long l; - private static Object o; - - public static void test() { - int i0 = 0; - int i1 = 0; - int i2 = 0; - int i3 = 0; - int i4 = 0; - int i5 = 0; - int i6 = 0; - int i7 = 0; - int i8 = 0; - int i9 = 0; - int i10 = 0; - int i11 = 0; - int i12 = 0; - int i13 = 0; - int i14 = 0; - int i15 = 0; - - int ix = i; - long lx = l; - Object ox = o; - - i = -ix; - l = -lx; - i = (ox instanceof String) ? 0 : 1; - } -} diff --git a/dx/tests/084-dex-high-register-moves/expected.txt b/dx/tests/084-dex-high-register-moves/expected.txt deleted file mode 100644 index 33466c4e2..000000000 --- a/dx/tests/084-dex-high-register-moves/expected.txt +++ /dev/null @@ -1,60 +0,0 @@ -Blort.test:()V: -regs: 0018; ins: 0000; outs: 0000 - 0000: const/16 v22, #int 0 // #0000 - 0002: move/from16 v2, v22 - 0004: const/16 v22, #int 0 // #0000 - 0006: move/from16 v3, v22 - 0008: const/16 v22, #int 0 // #0000 - 000a: move/from16 v4, v22 - 000c: const/16 v22, #int 0 // #0000 - 000e: move/from16 v5, v22 - 0010: const/16 v22, #int 0 // #0000 - 0012: move/from16 v6, v22 - 0014: const/16 v22, #int 0 // #0000 - 0016: move/from16 v7, v22 - 0018: const/16 v22, #int 0 // #0000 - 001a: move/from16 v8, v22 - 001c: const/16 v22, #int 0 // #0000 - 001e: move/from16 v9, v22 - 0020: const/16 v22, #int 0 // #0000 - 0022: move/from16 v10, v22 - 0024: const/16 v22, #int 0 // #0000 - 0026: move/from16 v11, v22 - 0028: const/16 v22, #int 0 // #0000 - 002a: move/from16 v12, v22 - 002c: const/16 v22, #int 0 // #0000 - 002e: move/from16 v13, v22 - 0030: const/16 v22, #int 0 // #0000 - 0032: move/from16 v14, v22 - 0034: const/16 v22, #int 0 // #0000 - 0036: move/from16 v15, v22 - 0038: const/16 v22, #int 0 // #0000 - 003a: move/from16 v16, v22 - 003c: const/16 v22, #int 0 // #0000 - 003e: move/from16 v17, v22 - 0040: sget v22, Blort.i:I - 0042: move/from16 v18, v22 - 0044: sget-wide v22, Blort.l:J - 0046: move-wide/from16 v19, v22 - 0048: sget-object v22, Blort.o:Ljava/lang/Object; - 004a: move-object/from16 v21, v22 - 004c: move/from16 v22, v18 - 004e: move/from16 v0, v22 - 0050: neg-int v0, v0 - 0051: move/from16 v22, v0 - 0053: sput v22, Blort.i:I - 0055: move-wide/from16 v22, v19 - 0057: move-wide/from16 v0, v22 - 0059: neg-long v0, v0 - 005a: move-wide/from16 v22, v0 - 005c: sput-wide v22, Blort.l:J - 005e: move-object/from16 v22, v21 - 0060: move-object/from16 v0, v22 - 0062: instance-of v0, v0, java.lang.String - 0064: move/from16 v22, v0 - 0066: if-eqz v22, 006d // +0007 - 0068: const/16 v22, #int 0 // #0000 - 006a: sput v22, Blort.i:I - 006c: return-void - 006d: const/16 v22, #int 1 // #0001 - 006f: goto 006a // -0005 diff --git a/dx/tests/084-dex-high-register-moves/info.txt b/dx/tests/084-dex-high-register-moves/info.txt deleted file mode 100644 index 77f094505..000000000 --- a/dx/tests/084-dex-high-register-moves/info.txt +++ /dev/null @@ -1,7 +0,0 @@ -This is a smoke test of dex conversion, which checks to make sure that -high registers are moved to and from low registers with -type-appropriate instructions. - -This test compares emitted code against a known-good (via eyeballing) -version, so it is possible for this test to spuriously fail if other -aspects of conversion end up altering the output in innocuous ways. diff --git a/dx/tests/084-dex-high-register-moves/run b/dx/tests/084-dex-high-register-moves/run deleted file mode 100644 index 3acfcfdd6..000000000 --- a/dx/tests/084-dex-high-register-moves/run +++ /dev/null @@ -1,19 +0,0 @@ -#!/bin/bash -# -# Copyright (C) 2007 The Android Open Source Project -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -$JAVAC -g -d . Blort.java -dx --debug --dex --no-optimize --positions=none --no-locals \ - --dump-method=Blort.test'*' *.class diff --git a/dx/tests/085-dex-jsr-ret/blort.j b/dx/tests/085-dex-jsr-ret/blort.j deleted file mode 100644 index 2f4bf3838..000000000 --- a/dx/tests/085-dex-jsr-ret/blort.j +++ /dev/null @@ -1,71 +0,0 @@ -; Copyright (C) 2007 The Android Open Source Project -; -; Licensed under the Apache License, Version 2.0 (the "License"); -; you may not use this file except in compliance with the License. -; You may obtain a copy of the License at -; -; http://www.apache.org/licenses/LICENSE-2.0 -; -; Unless required by applicable law or agreed to in writing, software -; distributed under the License is distributed on an "AS IS" BASIS, -; WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -; See the License for the specific language governing permissions and -; limitations under the License. - -.class blort -.super java/lang/Object - -.method public <init>()V - .limit locals 2 - .limit stack 3 - - aload_0 - dup - dup - astore_1 - pop2 - return -.end method - -; Test jsr and jsr_w. -.method public test_jsr()Ljava/lang/Object; - .limit locals 3 - .limit stack 4 - aload_0 - jsr j1 - aload_0 - pop - ; Call j1 with different locals - ldc 10 - astore_0 - jsr j1 - aload_0 - pop - jsr j3 - areturn -j1: - astore_2 - jsr_w j2 - ret 2 -j2: - ; a subroutine with two returns and a catch block - astore_1 - dup - dup - ; Just something that could throw an exception... - invokevirtual blort.test_jsr()V - ifnonnull j2a - ret_w 1 -j2a: - ret_w 1 -j3: - ; a subroutine that does not return - pop - areturn -catchBlock: - areturn - -.catch java/lang/Throwable from j2 to j2a using catchBlock -.end method - - diff --git a/dx/tests/085-dex-jsr-ret/expected.txt b/dx/tests/085-dex-jsr-ret/expected.txt deleted file mode 100644 index ba6199636..000000000 --- a/dx/tests/085-dex-jsr-ret/expected.txt +++ /dev/null @@ -1,171 +0,0 @@ -Generated: ./blort.class -reading blort.class... -method <init> ()V -first 0002 -block 0002 - blort.j:@0000: move-param-object(0) v0:NffffLblort; <- . - blort.j:@0000: goto . <- . - next 0000 -block 0000 - pred 0002 - blort.j:@0000: move-object v2:NffffLblort; <- v0:NffffLblort; - blort.j:@0001: move-object v5:NffffLblort; <- v2:NffffLblort; - blort.j:@0001: move-object v2:NffffLblort; <- v5:NffffLblort; - blort.j:@0001: move-object v3:NffffLblort; <- v5:NffffLblort; - blort.j:@0002: move-object v5:NffffLblort; <- v3:NffffLblort; - blort.j:@0002: move-object v3:NffffLblort; <- v5:NffffLblort; - blort.j:@0002: move-object v4:NffffLblort; <- v5:NffffLblort; - blort.j:@0003: move-object v1:NffffLblort; <- v4:NffffLblort; - blort.j:@0005: goto . <- . - next 0003 -block 0003 - pred 0000 - blort.j:@0005: return-void . <- . - returns - -method test_jsr ()Ljava/lang/Object; -first 005c -block 005c - blort.j:@0000: move-param-object(0) v0:Lblort; <- . - blort.j:@0000: goto . <- . - next 0000 -block 0000 - pred 005c - blort.j:@0000: move-object v3:Lblort; <- v0:Lblort; - blort.j:@0000: goto . <- . - next 0001 -block 0004 - pred 0065 - blort.j:@0004: move-object v4:Lblort; <- v0:Lblort; - blort.j:@0006: const-int(10) v4:I=10 <- . - blort.j:@0008: move-int v0:I=10 <- v4:I=10 - blort.j:@0008: goto . <- . - next 0009 -block 000c - pred 006e - blort.j:@000c: move-int v4:I=10 <- v0:I=10 - blort.j:@000c: goto . <- . - next 000e -block 005d - pred 006b - pred 0074 - pred 0075 - blort.j:@002c: return-object . <- v0:Ljava/lang/Object; - returns -block 0063 - pred 0001 - blort.j:@0012: goto . <- . - next 0064 -block 0066 - pred 0064 - blort.j:@001b: move-object v7:Lblort; <- v3:Lblort; - blort.j:@001b: move-object v3:Lblort; <- v7:Lblort; - blort.j:@001b: move-object v4:Lblort; <- v7:Lblort; - blort.j:@001c: move-object v7:Lblort; <- v4:Lblort; - blort.j:@001c: move-object v4:Lblort; <- v7:Lblort; - blort.j:@001c: move-object v5:Lblort; <- v7:Lblort; - blort.j:@001d: Rop{invoke-virtual . <- Lblort; call throws <any>}(blort.test_ - jsr:()V catch java.lang.Throwable) . <- v5:Lblort; - next 0067 - next 0068 * -block 0068 - pred 0066 - blort.j:@0020: if-nez-object . <- v4:Lblort; - next 0069 * - next 006a -block 0069 - pred 0068 - @????: goto . <- . - next 0065 -block 006a - pred 0068 - @????: goto . <- . - next 0065 -block 0067 - pred 0066 - blort.j:@002d: Rop{move-exception Ljava/lang/Throwable; <- . flows} v3:Ljava/ - lang/Throwable; <- . - blort.j:@002d: goto . <- . - next 006b -block 006b - pred 0067 - blort.j:@002d: move-object v0:Ljava/lang/Class;=java.lang.Throwable <- v3:Lja - va/lang/Class;=java.lang.Throwable - blort.j:@002d: goto . <- . - next 005d -block 0064 - pred 0063 - @????: goto . <- . - next 0066 -block 0065 - pred 0069 - pred 006a - @????: goto . <- . - next 0004 -block 0001 - pred 0000 - @????: goto . <- . - next 0063 -block 006c - pred 0009 - blort.j:@0012: goto . <- . - next 006d -block 006f - pred 006d - blort.j:@001b: move-object v7:Lblort; <- v3:Lblort; - blort.j:@001b: move-object v3:Lblort; <- v7:Lblort; - blort.j:@001b: move-object v4:Lblort; <- v7:Lblort; - blort.j:@001c: move-object v7:Lblort; <- v4:Lblort; - blort.j:@001c: move-object v4:Lblort; <- v7:Lblort; - blort.j:@001c: move-object v5:Lblort; <- v7:Lblort; - blort.j:@001d: Rop{invoke-virtual . <- Lblort; call throws <any>}(blort.test_ - jsr:()V catch java.lang.Throwable) . <- v5:Lblort; - next 0070 - next 0071 * -block 0071 - pred 006f - blort.j:@0020: if-nez-object . <- v4:Lblort; - next 0072 * - next 0073 -block 0072 - pred 0071 - @????: goto . <- . - next 006e -block 0073 - pred 0071 - @????: goto . <- . - next 006e -block 0070 - pred 006f - blort.j:@002d: Rop{move-exception Ljava/lang/Throwable; <- . flows} v3:Ljava/ - lang/Throwable; <- . - blort.j:@002d: goto . <- . - next 0074 -block 0074 - pred 0070 - blort.j:@002d: move-object v0:Ljava/lang/Class;=java.lang.Throwable <- v3:Lja - va/lang/Class;=java.lang.Throwable - blort.j:@002d: goto . <- . - next 005d -block 006d - pred 006c - @????: goto . <- . - next 006f -block 006e - pred 0072 - pred 0073 - @????: goto . <- . - next 000c -block 0009 - pred 0004 - @????: goto . <- . - next 006c -block 0075 - pred 000e - blort.j:@002c: move-object v0:Lblort; <- v3:Lblort; - blort.j:@002c: goto . <- . - next 005d -block 000e - pred 000c - @????: goto . <- . - next 0075 diff --git a/dx/tests/085-dex-jsr-ret/info.txt b/dx/tests/085-dex-jsr-ret/info.txt deleted file mode 100644 index 4542fdef3..000000000 --- a/dx/tests/085-dex-jsr-ret/info.txt +++ /dev/null @@ -1,2 +0,0 @@ -Tests handling of the Java jsr/jsr_w/ret bytecodes. - diff --git a/dx/tests/085-dex-jsr-ret/run b/dx/tests/085-dex-jsr-ret/run deleted file mode 100644 index 00a7404c1..000000000 --- a/dx/tests/085-dex-jsr-ret/run +++ /dev/null @@ -1,18 +0,0 @@ -#!/bin/bash -# -# Copyright (C) 2007 The Android Open Source Project -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -jasmin -d . blort.j -dx --dump --rop-blocks blort.class diff --git a/dx/tests/086-ssa-edge-split/Blort.java b/dx/tests/086-ssa-edge-split/Blort.java deleted file mode 100644 index 5e54dfde9..000000000 --- a/dx/tests/086-ssa-edge-split/Blort.java +++ /dev/null @@ -1,75 +0,0 @@ -/* - * Copyright (C) 2007 The Android Open Source Project - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -public class Blort -{ - /** - * This method requires the edge-splitter to add a node - * to get to the finally block, since there are - * two exception sources. - * - */ - public int edgeSplitPredTest(int x) { - int y = 1; - - try { - Integer.toString(x); - Integer.toString(x); - y++; - } finally { - return y; - } - } - - /** - * just because this should do nothing - */ - void voidFunction() { - } - - /** - * Current SSA form requires each move-exception block to have - * a unique predecessor - */ - void edgeSplitMoveException() { - try { - hashCode(); - hashCode(); - } catch (Throwable tr) { - } - } - - /** - * Presently, any basic block ending in an instruction with - * a result needs to have a unique successor. This appies - * only to the block between the switch instruction and the return - * in this case. - */ - int edgeSplitSuccessor(int x) { - int y = 0; - - switch(x) { - case 1: y++; - break; - case 2: y++; - break; - case 3: y++; - break; - } - return y; - } -} - diff --git a/dx/tests/086-ssa-edge-split/expected.txt b/dx/tests/086-ssa-edge-split/expected.txt deleted file mode 100644 index e59af312c..000000000 --- a/dx/tests/086-ssa-edge-split/expected.txt +++ /dev/null @@ -1,343 +0,0 @@ -reading Blort.class... -method <init> ()V -first 000c -block 000a - pred 000c - live in:{} - Blort.java:17@0000: move-param-object(0) v0:NffffLBlort; <- . - Blort.java:17@0000: goto . <- . - next 0000 - live out:{} -block 0000 - pred 000a - live in:{} - Blort.java:17@0000: move-object v1:NffffLBlort; <- v0:NffffLBlort; - Blort.java:17@0001: Rop{invoke-direct . <- Ljava/lang/Object; call throws <any>}(java.lang.Object.<init>:()V catch) . <- v1:NffffLBlort; - next 0004 - live out:{} -block 0004 - pred 0000 - live in:{} - Blort.java:17@0004: goto . <- . - next 000b - live out:{} -block 000b - pred 0004 - live in:{} - Blort.java:17@0004: return-void . <- . - returns - live out:{} -block 000c - live in:{} - @????: goto . <- . - next 000a - live out:{} - -method edgeSplitPredTest (I)I -first 002f -block 0026 - pred 002f - live in:{} - Blort.java:26@0000: move-param-object(0) v0:LBlort; <- . - Blort.java:26@0000: move-param-int(1) v1:I <- . - Blort.java:26@0000: goto . <- . - next 0000 - live out:{} -block 0000 - pred 0026 - live in:{} - Blort.java:26@0000: const-int(1) v4:I=1 <- . - Blort.java:26@0001: move-int v2:I <- v4:I=1 - Blort.java:26@0001: goto . <- . - next 0002 - live out:{} -block 002d - pred 0002 - live in:{} - Blort.java:29@0003: Rop{move-result Ljava/lang/String; <- . flows} v4:Ljava/lang/String; <- . - Blort.java:29@0003: goto . <- . - next 0006 - live out:{} -block 0002 - pred 0000 - live in:{} - Blort.java:29@0002: move-int v4:I <- v1:I - Blort.java:29@0003: Rop{invoke-static . <- I call throws <any>}(java.lang.Integer.toString:(I)Ljava/lang/String; catch java.lang.Object) . <- v4:I - next 0030 - next 002d * - live out:{} -block 002e - pred 0006 - live in:{} - Blort.java:30@0008: Rop{move-result Ljava/lang/String; <- . flows} v4:Ljava/lang/String; <- . - Blort.java:30@0008: goto . <- . - next 000b - live out:{} -block 0006 - pred 002d - live in:{} - Blort.java:30@0007: move-int v4:I <- v1:I - Blort.java:30@0008: Rop{invoke-static . <- I call throws <any>}(java.lang.Integer.toString:(I)Ljava/lang/String; catch java.lang.Object) . <- v4:I - next 0031 - next 002e * - live out:{} -block 000b - pred 002e - live in:{} - Blort.java:31@000c: add-const-int(1) v2:I <- v2:I - Blort.java:31@000c: goto . <- . - next 000f - live out:{} -block 000f - pred 000b - live in:{} - Blort.java:33@000f: move-int v4:I <- v2:I - Blort.java:33@0010: move-int v0:I <- v4:I - Blort.java:33@0010: goto . <- . - next 0027 - live out:{} -block 0011 - pred 0024 - live in:{} - Blort.java:33@0011: move-object v3:Ljava/lang/Class;=java.lang.Object <- v4:Ljava/lang/Class;=java.lang.Object - Blort.java:33@0011: goto . <- . - next 0012 - live out:{} -block 0012 - pred 0011 - live in:{} - Blort.java:33@0012: move-int v4:I <- v2:I - Blort.java:33@0013: move-int v0:I <- v4:I - Blort.java:33@0013: goto . <- . - next 0027 - live out:{} -block 0027 - pred 000f - pred 0012 - live in:{} - Blort.java:33@0010: return-int . <- v0:I - returns - live out:{} -block 0024 - pred 0030 - pred 0031 - live in:{} - Blort.java:33@0011: goto . <- . - next 0011 - live out:{} -block 002f - live in:{} - @????: goto . <- . - next 0026 - live out:{} -block 0030 - pred 0002 - live in:{} - Blort.java:33@0011: Rop{move-exception Ljava/lang/Object; <- . flows} v4:Ljava/lang/Object; <- . - @????: goto . <- . - next 0024 - live out:{} -block 0031 - pred 0006 - live in:{} - Blort.java:33@0011: Rop{move-exception Ljava/lang/Object; <- . flows} v4:Ljava/lang/Object; <- . - @????: goto . <- . - next 0024 - live out:{} - -method voidFunction ()V -first 0004 -block 0002 - pred 0004 - live in:{} - Blort.java:41@0000: move-param-object(0) v0:LBlort; <- . - Blort.java:41@0000: goto . <- . - next 0000 - live out:{} -block 0000 - pred 0002 - live in:{} - Blort.java:41@0000: goto . <- . - next 0003 - live out:{} -block 0003 - pred 0000 - live in:{} - Blort.java:41@0000: return-void . <- . - returns - live out:{} -block 0004 - live in:{} - @????: goto . <- . - next 0002 - live out:{} - -method edgeSplitMoveException ()V -first 0027 -block 001e - pred 0027 - live in:{} - Blort.java:49@0000: move-param-object(0) v0:LBlort; <- . - Blort.java:49@0000: goto . <- . - next 0000 - live out:{} -block 0025 - pred 0000 - live in:{} - Blort.java:49@0001: Rop{move-result I <- . flows} v2:I <- . - Blort.java:49@0001: goto . <- . - next 0004 - live out:{} -block 0000 - pred 001e - live in:{} - Blort.java:49@0000: move-object v2:LBlort; <- v0:LBlort; - Blort.java:49@0001: Rop{invoke-virtual . <- Ljava/lang/Object; call throws <any>}(java.lang.Object.hashCode:()I catch java.lang.Throwable) . <- v2:LBlort; - next 0028 - next 0025 * - live out:{} -block 0026 - pred 0004 - live in:{} - Blort.java:50@0006: Rop{move-result I <- . flows} v2:I <- . - Blort.java:50@0006: goto . <- . - next 0009 - live out:{} -block 0004 - pred 0025 - live in:{} - Blort.java:50@0005: move-object v2:LBlort; <- v0:LBlort; - Blort.java:50@0006: Rop{invoke-virtual . <- Ljava/lang/Object; call throws <any>}(java.lang.Object.hashCode:()I catch java.lang.Throwable) . <- v2:LBlort; - next 0029 - next 0026 * - live out:{} -block 0009 - pred 0026 - live in:{} - @????: goto . <- . - next 000a - live out:{} -block 000a - pred 0009 - live in:{} - Blort.java:52@000a: goto . <- . - next 000e - live out:{} -block 000d - pred 001c - live in:{} - Blort.java:51@000d: move-object v1:Ljava/lang/Class;=java.lang.Throwable <- v2:Ljava/lang/Class;=java.lang.Throwable - Blort.java:51@000d: goto . <- . - next 000e - live out:{} -block 000e - pred 000a - pred 000d - live in:{} - Blort.java:53@000e: goto . <- . - next 001f - live out:{} -block 001f - pred 000e - live in:{} - Blort.java:53@000e: return-void . <- . - returns - live out:{} -block 001c - pred 0028 - pred 0029 - live in:{} - Blort.java:51@000d: goto . <- . - next 000d - live out:{} -block 0027 - live in:{} - @????: goto . <- . - next 001e - live out:{} -block 0028 - pred 0000 - live in:{} - Blort.java:51@000d: Rop{move-exception Ljava/lang/Throwable; <- . flows} v2:Ljava/lang/Throwable; <- . - @????: goto . <- . - next 001c - live out:{} -block 0029 - pred 0004 - live in:{} - Blort.java:51@000d: Rop{move-exception Ljava/lang/Throwable; <- . flows} v2:Ljava/lang/Throwable; <- . - @????: goto . <- . - next 001c - live out:{} - -method edgeSplitSuccessor (I)I -first 005a -block 0058 - pred 005a - live in:{} - Blort.java:62@0000: move-param-object(0) v0:LBlort; <- . - Blort.java:62@0000: move-param-int(1) v1:I <- . - Blort.java:62@0000: goto . <- . - next 0000 - live out:{} -block 0000 - pred 0058 - live in:{} - Blort.java:62@0000: const-int(0) v3:I=0 <- . - Blort.java:62@0001: move-int v2:I <- v3:I=0 - Blort.java:64@0002: move-int v3:I <- v1:I - Blort.java:64@0003: switch({1, 2, 3}) . <- v3:I - next 001c - next 0022 - next 0028 - next 005b * - live out:{} -block 001c - pred 0000 - live in:{} - Blort.java:65@001c: add-const-int(1) v2:I <- v2:I - Blort.java:66@001f: goto . <- . - next 002b - live out:{} -block 0022 - pred 0000 - live in:{} - Blort.java:67@0022: add-const-int(1) v2:I <- v2:I - Blort.java:68@0025: goto . <- . - next 002b - live out:{} -block 0028 - pred 0000 - live in:{} - Blort.java:69@0028: add-const-int(1) v2:I <- v2:I - Blort.java:69@0028: goto . <- . - next 002b - live out:{} -block 002b - pred 001c - pred 0022 - pred 0028 - pred 005b - live in:{} - Blort.java:72@002b: move-int v3:I <- v2:I - Blort.java:72@002c: move-int v0:I <- v3:I - Blort.java:72@002c: goto . <- . - next 0059 - live out:{} -block 0059 - pred 002b - live in:{} - Blort.java:72@002c: return-int . <- v0:I - returns - live out:{} -block 005a - live in:{} - @????: goto . <- . - next 0058 - live out:{} -block 005b - pred 0000 - live in:{} - @????: goto . <- . - next 002b - live out:{} diff --git a/dx/tests/086-ssa-edge-split/info.txt b/dx/tests/086-ssa-edge-split/info.txt deleted file mode 100644 index ff873e85a..000000000 --- a/dx/tests/086-ssa-edge-split/info.txt +++ /dev/null @@ -1,5 +0,0 @@ -This is a test case for the edge-splitting algorthim used in the conversion to SSA form. - -This test compares emitted code against a known-good (via eyeballing) -version, so it is possible for this test to spuriously fail if other -aspects of conversion end up altering the output in innocuous ways. diff --git a/dx/tests/086-ssa-edge-split/run b/dx/tests/086-ssa-edge-split/run deleted file mode 100644 index 914deb1b7..000000000 --- a/dx/tests/086-ssa-edge-split/run +++ /dev/null @@ -1,18 +0,0 @@ -#!/bin/bash -# -# Copyright (C) 2007 The Android Open Source Project -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -$JAVAC -d . Blort.java -dx --dump --width=1000 --ssa-blocks --ssa-step=edge-split Blort.class diff --git a/dx/tests/087-ssa-local-vars/Blort.java b/dx/tests/087-ssa-local-vars/Blort.java deleted file mode 100644 index f14979082..000000000 --- a/dx/tests/087-ssa-local-vars/Blort.java +++ /dev/null @@ -1,95 +0,0 @@ -import java.io.IOException; -class Blort { - private static void arrayCopyTest(int k) { - // A local variable assigned from an argument - int j = k; - // These two locals are defined once and used multiple times - String[] stringArray = new String[8]; - Object[] objectArray = new Object[8]; - // Should cause another move to be inserted - Object anotherOne = objectArray; - - if (anotherOne != null) { - System.out.println("foo"); - } - - // "i" is used in a loop - for (int i = 0; i < stringArray.length; i++) - stringArray[i] = new String(Integer.toString(i)); - - System.out.println("string -> object"); - System.arraycopy(stringArray, 0, objectArray, 0, stringArray.length); - System.out.println("object -> string"); - System.arraycopy(objectArray, 0, stringArray, 0, stringArray.length); - System.out.println("object -> string (modified)"); - objectArray[4] = new Object(); - try { - System.arraycopy(objectArray, 0, stringArray, 0,stringArray.length); - } catch (ArrayStoreException ase) { - // "ase" is an unused local which still must be preserved - System.out.println("caught ArrayStoreException (expected)"); - } - } - - private void testConstructor() { - Blort foo = null; - try { - foo = new Blort(); - } catch (Exception ex) { - } - System.err.println(foo); - } - /** - * Stolen from - * java/android/org/apache/http/impl/io/AbstractMessageParser.java - * Simplified. - * - * Checks to see that local variable assignment is preserved through - * phi's. The key component here is the assignment of previous = current. - */ - public static void parseHeaderGroup( - final Object headGroup, - final Object inbuffer, - int maxHeaderCount, - int maxLineLen) - throws IOException { - - StringBuilder current = null; - StringBuilder previous = null; - for (;;) { - if (current == null) { - current = new StringBuilder(64); - } else { - current.length(); - } - int l = inbuffer.hashCode(); - if (l == -1 || current.length() < 1) { - break; - } - - if ((current.charAt(0) == ' ' || current.charAt(0) == '\t') && previous != null) { - int i = 0; - while (i < current.length()) { - char ch = current.charAt(i); - if (ch != ' ' && ch != '\t') { - break; - } - i++; - } - if (maxLineLen > 0 - && previous.length() + 1 + current.length() - i > maxLineLen) { - throw new IOException("Maximum line length limit exceeded"); - } - previous.append(' '); - previous.append(current, i, current.length() - i); - } else { - previous = current; - current = null; - } - if (maxHeaderCount > 0) { - throw new IOException("Maximum header count exceeded"); - } - } - } -} - diff --git a/dx/tests/087-ssa-local-vars/expected.txt b/dx/tests/087-ssa-local-vars/expected.txt deleted file mode 100644 index 6c0a6f78b..000000000 --- a/dx/tests/087-ssa-local-vars/expected.txt +++ /dev/null @@ -1,1266 +0,0 @@ -reading Blort.class... -method <init> ()V -first 000c -block 000a - pred 000c - live in:{} - Blort.java:2@0000: move-param-object(0) v2:"this"NffffLBlort; <- . - Blort.java:2@0000: goto . <- . - next 0000 - live out:{2} -block 0000 - pred 000a - live in:{2} - Blort.java:2@0001: Rop{invoke-direct . <- Ljava/lang/Object; call throws <any - >}(java.lang.Object.<init>:()V catch) . <- v2:NffffLBlort; - next 0004 - live out:{} -block 0004 - pred 0000 - live in:{} - Blort.java:2@0004: goto . <- . - next 000b - live out:{} -block 000b - pred 0004 - live in:{} - Blort.java:2@0004: return-void . <- . - next 000d - live out:{} -block 000c - live in:{} - @????: goto . <- . - next 000a - live out:{} -block 000d - pred 000b - live in:{} - returns - live out:{} - -method arrayCopyTest (I)V -first 012c -block 0112 - pred 012c - live in:{62, 63} - Blort.java:5@0000: move-param-int(0) v12:"k"I <- . - Blort.java:5@0000: goto . <- . - next 0000 - live out:{12, 62, 63} -block 0119 - pred 0000 - live in:{62, 63} - Blort.java:7@0004: Rop{move-result-pseudo [Ljava/lang/String; <- . flows} v15 - :[Ljava/lang/String; <- . - Blort.java:7@0004: goto . <- . - next 0007 - live out:{15, 62, 63} -block 0000 - pred 0112 - live in:{12, 62, 63} - Blort.java:5@0001: move-int v13:"j"I <- v12:I - Blort.java:7@0004: new-array-object(java.lang.String[] catch) . <- v63:I=8 - next 0119 - live out:{62, 63} -block 011a - pred 0007 - live in:{15, 62} - Blort.java:8@000a: Rop{move-result-pseudo [Ljava/lang/Object; <- . flows} v17 - :[Ljava/lang/Object; <- . - Blort.java:8@000a: goto . <- . - next 000d - live out:{15, 17, 62} -block 0007 - pred 0119 - live in:{15, 62, 63} - @????: mark-local-object . <- v15:"stringArray"[Ljava/lang/String; - Blort.java:8@000a: new-array-object(java.lang.Object[] catch) . <- v63:I=8 - next 011a - live out:{15, 62} -block 000d - pred 011a - live in:{15, 17, 62} - @????: mark-local-object . <- v17:"objectArray"[Ljava/lang/Object; - Blort.java:10@000f: move-object v18:"anotherOne"[Ljava/lang/Object; <- v17:[L - java/lang/Object; - Blort.java:12@0013: if-eqz-object . <- v18:[Ljava/lang/Object; - next 0016 * - next 0131 - live out:{15, 17, 62} -block 011b - pred 0016 - live in:{15, 17, 62} - Blort.java:13@0016: Rop{move-result-pseudo Ljava/io/PrintStream; <- . flows} - v19:Ljava/io/PrintStream; <- . - Blort.java:13@0016: goto . <- . - next 0019 - live out:{15, 17, 19, 62} -block 0016 - pred 000d - live in:{15, 17, 62} - Blort.java:13@0016: get-static-object(java.lang.System.out:Ljava/io/PrintStre - am; catch) . <- . - next 011b - live out:{15, 17, 62} -block 011c - pred 0019 - live in:{15, 17, 19, 62} - Blort.java:13@0019: Rop{move-result-pseudo Ljava/lang/String; <- . flows} v20 - :Ljava/lang/String;="foo" <- . - Blort.java:13@0019: goto . <- . - next 001b - live out:{15, 17, 19, 20, 62} -block 0019 - pred 011b - live in:{15, 17, 19, 62} - Blort.java:13@0019: const-object("foo" catch) . <- . - next 011c - live out:{15, 17, 19, 62} -block 001b - pred 011c - live in:{15, 17, 19, 20, 62} - Blort.java:13@001b: Rop{invoke-virtual . <- Ljava/io/PrintStream; Ljava/lang/ - String; call throws <any>}(java.io.PrintStream.println:(Ljava/lang/String;)V - catch) . <- v19:Ljava/io/PrintStream; v20:Ljava/lang/String;="foo" - next 0130 - live out:{15, 17, 62} -block 001e - pred 0130 - pred 0131 - live in:{15, 17, 62} - Blort.java:17@001e: const-int(0) v23:I=0 <- . - @????: mark-local-int . <- v23:"i"I - Blort.java:17@001f: goto . <- . - next 0021 - live out:{15, 17, 23, 62} -block 011d - pred 0021 - live in:{15, 17, 30, 62} - Blort.java:17@0024: Rop{move-result-pseudo I <- . flows} v31:I <- . - Blort.java:17@0024: goto . <- . - next 0025 - live out:{15, 17, 30, 31, 62} -block 0021 - pred 001e - pred 0038 - live in:{15, 17, 62} - @????: phi v30:"i"I <- v23:"i"I[b=001e] v34:"i"I[b=0038] - Blort.java:17@0024: array-length(catch) . <- v15:[Ljava/lang/String; - next 011d - live out:{15, 17, 30, 62} -block 0025 - pred 011d - live in:{15, 17, 30, 31, 62} - Blort.java:17@0025: if-ge-int . <- v30:I v31:I - next 0028 * - next 003e - live out:{15, 17, 30, 62} -block 011e - pred 0028 - live in:{15, 17, 30, 62} - Blort.java:18@002b: Rop{move-result-pseudo N002bLjava/lang/String; <- . flows - } v32:N002bLjava/lang/String; <- . - Blort.java:18@002b: goto . <- . - next 002e - live out:{15, 17, 30, 32, 62} -block 0028 - pred 0025 - live in:{15, 17, 30, 62} - Blort.java:18@002b: new-instance(java.lang.String catch) . <- . - next 011e - live out:{15, 17, 30, 62} -block 011f - pred 002e - live in:{15, 17, 30, 32, 62} - Blort.java:18@0031: Rop{move-result Ljava/lang/String; <- . flows} v33:Ljava/ - lang/String; <- . - Blort.java:18@0031: goto . <- . - next 0034 - live out:{15, 17, 30, 32, 33, 62} -block 002e - pred 011e - live in:{15, 17, 30, 32, 62} - Blort.java:18@0031: Rop{invoke-static . <- I call throws <any>}(java.lang.Int - eger.toString:(I)Ljava/lang/String; catch) . <- v30:I - next 011f - live out:{15, 17, 30, 32, 62} -block 0034 - pred 011f - live in:{15, 17, 30, 32, 33, 62} - Blort.java:18@0034: Rop{invoke-direct . <- Ljava/lang/String; Ljava/lang/Stri - ng; call throws <any>}(java.lang.String.<init>:(Ljava/lang/String;)V catch) . - <- v32:N002bLjava/lang/String; v33:Ljava/lang/String; - next 0037 - live out:{15, 17, 30, 32, 62} -block 0037 - pred 0034 - live in:{15, 17, 30, 32, 62} - Blort.java:18@0037: aput-object(catch) . <- v32:Ljava/lang/String; v15:[Ljava - /lang/String; v30:I - next 0038 - live out:{15, 17, 30, 62} -block 0038 - pred 0037 - live in:{15, 17, 30, 62} - Blort.java:17@0038: add-const-int(1) v34:"i"I <- v30:I - Blort.java:17@003b: goto . <- . - next 0021 - live out:{15, 17, 34, 62} -block 0120 - pred 003e - live in:{15, 17, 62} - Blort.java:20@003e: Rop{move-result-pseudo Ljava/io/PrintStream; <- . flows} - v35:Ljava/io/PrintStream; <- . - Blort.java:20@003e: goto . <- . - next 0041 - live out:{15, 17, 35, 62} -block 003e - pred 0025 - live in:{15, 17, 62} - Blort.java:20@003e: get-static-object(java.lang.System.out:Ljava/io/PrintStre - am; catch) . <- . - next 0120 - live out:{15, 17, 62} -block 0121 - pred 0041 - live in:{15, 17, 35, 62} - Blort.java:20@0041: Rop{move-result-pseudo Ljava/lang/String; <- . flows} v36 - :Ljava/lang/String;="string -> object" <- . - Blort.java:20@0041: goto . <- . - next 0043 - live out:{15, 17, 35, 36, 62} -block 0041 - pred 0120 - live in:{15, 17, 35, 62} - Blort.java:20@0041: const-object("string -> object" catch) . <- . - next 0121 - live out:{15, 17, 35, 62} -block 0043 - pred 0121 - live in:{15, 17, 35, 36, 62} - Blort.java:20@0043: Rop{invoke-virtual . <- Ljava/io/PrintStream; Ljava/lang/ - String; call throws <any>}(java.io.PrintStream.println:(Ljava/lang/String;)V - catch) . <- v35:Ljava/io/PrintStream; v36:Ljava/lang/String;="string -> objec - t" - next 0046 - live out:{15, 17, 62} -block 0122 - pred 0046 - live in:{15, 17, 62} - Blort.java:21@004b: Rop{move-result-pseudo I <- . flows} v39:I <- . - Blort.java:21@004b: goto . <- . - next 004c - live out:{15, 17, 39, 62} -block 0046 - pred 0043 - live in:{15, 17, 62} - Blort.java:21@004b: array-length(catch) . <- v15:[Ljava/lang/String; - next 0122 - live out:{15, 17, 62} -block 004c - pred 0122 - live in:{15, 17, 39, 62} - Blort.java:21@004c: Rop{invoke-static . <- Ljava/lang/Object; I Ljava/lang/Ob - ject; I I call throws <any>}(java.lang.System.arraycopy:(Ljava/lang/Object;IL - java/lang/Object;II)V catch) . <- v15:[Ljava/lang/String; v62:I=0 v17:[Ljava/ - lang/Object; v62:I=0 v39:I - next 004f - live out:{15, 17, 62} -block 0123 - pred 004f - live in:{15, 17, 62} - Blort.java:22@004f: Rop{move-result-pseudo Ljava/io/PrintStream; <- . flows} - v40:Ljava/io/PrintStream; <- . - Blort.java:22@004f: goto . <- . - next 0052 - live out:{15, 17, 40, 62} -block 004f - pred 004c - live in:{15, 17, 62} - Blort.java:22@004f: get-static-object(java.lang.System.out:Ljava/io/PrintStre - am; catch) . <- . - next 0123 - live out:{15, 17, 62} -block 0124 - pred 0052 - live in:{15, 17, 40, 62} - Blort.java:22@0052: Rop{move-result-pseudo Ljava/lang/String; <- . flows} v41 - :Ljava/lang/String;="object -> string" <- . - Blort.java:22@0052: goto . <- . - next 0054 - live out:{15, 17, 40, 41, 62} -block 0052 - pred 0123 - live in:{15, 17, 40, 62} - Blort.java:22@0052: const-object("object -> string" catch) . <- . - next 0124 - live out:{15, 17, 40, 62} -block 0054 - pred 0124 - live in:{15, 17, 40, 41, 62} - Blort.java:22@0054: Rop{invoke-virtual . <- Ljava/io/PrintStream; Ljava/lang/ - String; call throws <any>}(java.io.PrintStream.println:(Ljava/lang/String;)V - catch) . <- v40:Ljava/io/PrintStream; v41:Ljava/lang/String;="object -> strin - g" - next 0057 - live out:{15, 17, 62} -block 0125 - pred 0057 - live in:{15, 17, 62} - Blort.java:23@005c: Rop{move-result-pseudo I <- . flows} v44:I <- . - Blort.java:23@005c: goto . <- . - next 005d - live out:{15, 17, 44, 62} -block 0057 - pred 0054 - live in:{15, 17, 62} - Blort.java:23@005c: array-length(catch) . <- v15:[Ljava/lang/String; - next 0125 - live out:{15, 17, 62} -block 005d - pred 0125 - live in:{15, 17, 44, 62} - Blort.java:23@005d: Rop{invoke-static . <- Ljava/lang/Object; I Ljava/lang/Ob - ject; I I call throws <any>}(java.lang.System.arraycopy:(Ljava/lang/Object;IL - java/lang/Object;II)V catch) . <- v17:[Ljava/lang/Object; v62:I=0 v15:[Ljava/ - lang/String; v62:I=0 v44:I - next 0060 - live out:{15, 17} -block 0126 - pred 0060 - live in:{15, 17} - Blort.java:24@0060: Rop{move-result-pseudo Ljava/io/PrintStream; <- . flows} - v45:Ljava/io/PrintStream; <- . - Blort.java:24@0060: goto . <- . - next 0063 - live out:{15, 17, 45} -block 0060 - pred 005d - live in:{15, 17} - Blort.java:24@0060: get-static-object(java.lang.System.out:Ljava/io/PrintStre - am; catch) . <- . - next 0126 - live out:{15, 17} -block 0127 - pred 0063 - live in:{15, 17, 45} - Blort.java:24@0063: Rop{move-result-pseudo Ljava/lang/String; <- . flows} v46 - :Ljava/lang/String;="object -> string (modified)" <- . - Blort.java:24@0063: goto . <- . - next 0065 - live out:{15, 17, 45, 46} -block 0063 - pred 0126 - live in:{15, 17, 45} - Blort.java:24@0063: const-object("object -> string (modified)" catch) . <- . - next 0127 - live out:{15, 17, 45} -block 0065 - pred 0127 - live in:{15, 17, 45, 46} - Blort.java:24@0065: Rop{invoke-virtual . <- Ljava/io/PrintStream; Ljava/lang/ - String; call throws <any>}(java.io.PrintStream.println:(Ljava/lang/String;)V - catch) . <- v45:Ljava/io/PrintStream; v46:Ljava/lang/String;="object -> strin - g (modified)" - next 0068 - live out:{15, 17} -block 0128 - pred 0068 - live in:{15, 17, 47} - Blort.java:25@006a: Rop{move-result-pseudo N006aLjava/lang/Object; <- . flows - } v48:N006aLjava/lang/Object; <- . - Blort.java:25@006a: goto . <- . - next 006d - live out:{15, 17, 47, 48} -block 0068 - pred 0065 - live in:{15, 17} - Blort.java:25@0069: const-int(4) v47:I=4 <- . - Blort.java:25@006a: new-instance(java.lang.Object catch) . <- . - next 0128 - live out:{15, 17, 47} -block 006d - pred 0128 - live in:{15, 17, 47, 48} - Blort.java:25@006e: Rop{invoke-direct . <- Ljava/lang/Object; call throws <an - y>}(java.lang.Object.<init>:()V catch) . <- v48:N006aLjava/lang/Object; - next 0071 - live out:{15, 17, 47, 48} -block 0071 - pred 006d - live in:{15, 17, 47, 48} - Blort.java:25@0071: aput-object(catch) . <- v48:Ljava/lang/Object; v17:[Ljava - /lang/Object; v47:I=4 - next 0072 - live out:{15, 17} -block 0129 - pred 0072 - live in:{15, 17, 49, 50} - Blort.java:27@0077: Rop{move-result-pseudo I <- . flows} v51:I <- . - Blort.java:27@0077: goto . <- . - next 0078 - live out:{15, 17, 49, 50, 51} -block 0072 - pred 0071 - live in:{15, 17} - Blort.java:27@0073: const-int(0) v49:I=0 <- . - Blort.java:27@0075: const-int(0) v50:I=0 <- . - Blort.java:27@0077: array-length(catch java.lang.ArrayStoreException) . <- v1 - 5:[Ljava/lang/String; - next 012d - next 0129 * - live out:{15, 17, 49, 50} -block 0078 - pred 0129 - live in:{15, 17, 49, 50, 51} - Blort.java:27@0078: Rop{invoke-static . <- Ljava/lang/Object; I Ljava/lang/Ob - ject; I I call throws <any>}(java.lang.System.arraycopy:(Ljava/lang/Object;IL - java/lang/Object;II)V catch java.lang.ArrayStoreException) . <- v17:[Ljava/la - ng/Object; v49:I=0 v15:[Ljava/lang/String; v50:I=0 v51:I - next 012e - next 007b * - live out:{} -block 007b - pred 0078 - live in:{} - Blort.java:31@007b: goto . <- . - next 0088 - live out:{} -block 012a - pred 007e - live in:{} - Blort.java:30@0080: Rop{move-result-pseudo Ljava/io/PrintStream; <- . flows} - v59:Ljava/io/PrintStream; <- . - Blort.java:30@0080: goto . <- . - next 0083 - live out:{59} -block 007e - pred 0107 - live in:{58} - @????: mark-local-object . <- v58:"ase"Ljava/lang/ArrayStoreException; - Blort.java:30@0080: get-static-object(java.lang.System.out:Ljava/io/PrintStre - am; catch) . <- . - next 012a - live out:{} -block 012b - pred 0083 - live in:{59} - Blort.java:30@0083: Rop{move-result-pseudo Ljava/lang/String; <- . flows} v60 - :Ljava/lang/String;="caught ArrayStoreException (expected)" <- . - Blort.java:30@0083: goto . <- . - next 0085 - live out:{59, 60} -block 0083 - pred 012a - live in:{59} - Blort.java:30@0083: const-object("caught ArrayStoreException (expected)" catc - h) . <- . - next 012b - live out:{59} -block 0085 - pred 012b - live in:{59, 60} - Blort.java:30@0085: Rop{invoke-virtual . <- Ljava/io/PrintStream; Ljava/lang/ - String; call throws <any>}(java.io.PrintStream.println:(Ljava/lang/String;)V - catch) . <- v59:Ljava/io/PrintStream; v60:Ljava/lang/String;="caught ArraySto - reException (expected)" - next 012f - live out:{} -block 0088 - pred 007b - pred 012f - live in:{} - Blort.java:32@0088: goto . <- . - next 0113 - live out:{} -block 0113 - pred 0088 - live in:{} - Blort.java:32@0088: return-void . <- . - next 0132 - live out:{} -block 0107 - pred 012d - pred 012e - live in:{} - @????: phi v58:Ljava/lang/ArrayStoreException; <- v52:Ljava/lang/ArrayStoreEx - ception;[b=012e] v61:Ljava/lang/ArrayStoreException;[b=012d] - Blort.java:28@007e: goto . <- . - next 007e - live out:{58} -block 012c - live in:{} - @????: const-int(8) v63:I=8 <- . - @????: const-int(0) v62:I=0 <- . - @????: goto . <- . - next 0112 - live out:{62, 63} -block 012d - pred 0072 - live in:{} - Blort.java:28@007e: Rop{move-exception Ljava/lang/ArrayStoreException; <- . f - lows} v61:Ljava/lang/ArrayStoreException; <- . - @????: goto . <- . - next 0107 - live out:{61} -block 012e - pred 0078 - live in:{} - Blort.java:28@007e: Rop{move-exception Ljava/lang/ArrayStoreException; <- . f - lows} v52:Ljava/lang/ArrayStoreException; <- . - @????: goto . <- . - next 0107 - live out:{52} -block 012f - pred 0085 - live in:{} - @????: goto . <- . - next 0088 - live out:{} -block 0130 - pred 001b - live in:{15, 17, 62} - @????: goto . <- . - next 001e - live out:{15, 17, 62} -block 0131 - pred 000d - live in:{15, 17, 62} - @????: goto . <- . - next 001e - live out:{15, 17, 62} -block 0132 - pred 0113 - live in:{} - returns - live out:{} - -method testConstructor ()V -first 0035 -block 002c - pred 0035 - live in:{} - Blort.java:35@0000: move-param-object(0) v6:"this"LBlort; <- . - Blort.java:35@0000: goto . <- . - next 0000 - live out:{} -block 0000 - pred 002c - live in:{} - Blort.java:35@0000: const-object-nothrow(null) v7:<null>=null <- . - @????: mark-local-object . <- v7:"foo"LBlort; - Blort.java:35@0001: goto . <- . - next 0002 - live out:{7} -block 0033 - pred 0002 - live in:{7} - Blort.java:37@0002: Rop{move-result-pseudo N0002LBlort; <- . flows} v8:N0002L - Blort; <- . - Blort.java:37@0002: goto . <- . - next 0005 - live out:{7, 8} -block 0002 - pred 0000 - live in:{7} - Blort.java:37@0002: new-instance(Blort catch java.lang.Exception) . <- . - next 0036 - next 0033 * - live out:{7} -block 0005 - pred 0033 - live in:{7, 8} - Blort.java:37@0006: Rop{invoke-direct . <- LBlort; call throws <any>}(Blort.< - init>:()V catch java.lang.Exception) . <- v8:N0002LBlort; - next 0037 - next 0009 * - live out:{7, 8} -block 0009 - pred 0005 - live in:{8} - @????: mark-local-object . <- v8:"foo"LBlort; - Blort.java:37@0009: goto . <- . - next 000a - live out:{8} -block 000a - pred 0009 - live in:{8} - Blort.java:39@000a: goto . <- . - next 000e - live out:{8} -block 000d - pred 0023 - live in:{7} - Blort.java:38@000d: goto . <- . - next 000e - live out:{7} -block 0034 - pred 000e - live in:{14} - Blort.java:40@000e: Rop{move-result-pseudo Ljava/io/PrintStream; <- . flows} - v15:Ljava/io/PrintStream; <- . - Blort.java:40@000e: goto . <- . - next 0011 - live out:{14, 15} -block 000e - pred 000a - pred 000d - live in:{} - @????: phi v14:"foo"LBlort; <- v8:"foo"LBlort;[b=000a] v7:"foo"LBlort;[b=000d - ] - Blort.java:40@000e: get-static-object(java.lang.System.err:Ljava/io/PrintStre - am; catch) . <- . - next 0034 - live out:{14} -block 0011 - pred 0034 - live in:{14, 15} - Blort.java:40@0012: Rop{invoke-virtual . <- Ljava/io/PrintStream; Ljava/lang/ - Object; call throws <any>}(java.io.PrintStream.println:(Ljava/lang/Object;)V - catch) . <- v15:Ljava/io/PrintStream; v14:LBlort; - next 0015 - live out:{} -block 0015 - pred 0011 - live in:{} - Blort.java:41@0015: goto . <- . - next 002d - live out:{} -block 002d - pred 0015 - live in:{} - Blort.java:41@0015: return-void . <- . - next 0038 - live out:{} -block 0023 - pred 0036 - pred 0037 - live in:{7} - Blort.java:38@000d: goto . <- . - next 000d - live out:{7} -block 0035 - live in:{} - @????: goto . <- . - next 002c - live out:{} -block 0036 - pred 0002 - live in:{7} - Blort.java:38@000d: Rop{move-exception Ljava/lang/Exception; <- . flows} v19: - Ljava/lang/Exception; <- . - @????: goto . <- . - next 0023 - live out:{7} -block 0037 - pred 0005 - live in:{7} - Blort.java:38@000d: Rop{move-exception Ljava/lang/Exception; <- . flows} v9:L - java/lang/Exception; <- . - @????: goto . <- . - next 0023 - live out:{7} -block 0038 - pred 002d - live in:{} - returns - live out:{} - -method parseHeaderGroup (Ljava/lang/Object;Ljava/lang/Object;II)V -first 01c6 -block 01ae - pred 01c6 - live in:{99, 100, 101} - Blort.java:57@0000: move-param-object(0) v15:"headGroup"Ljava/lang/Object; <- - . - Blort.java:57@0000: move-param-object(1) v16:"inbuffer"Ljava/lang/Object; <- - . - Blort.java:57@0000: move-param-int(2) v17:"maxHeaderCount"I <- . - Blort.java:57@0000: move-param-int(3) v18:"maxLineLen"I <- . - Blort.java:57@0000: goto . <- . - next 0000 - live out:{16, 17, 18, 99, 100, 101} -block 0000 - pred 01ae - live in:{16, 17, 18, 99, 100, 101} - Blort.java:57@0000: const-object-nothrow(null) v19:<null>=null <- . - @????: mark-local-object . <- v19:"current"Ljava/lang/StringBuilder; - Blort.java:58@0003: const-object-nothrow(null) v20:<null>=null <- . - @????: mark-local-object . <- v20:"previous"Ljava/lang/StringBuilder; - Blort.java:58@0004: goto . <- . - next 01ca - live out:{16, 17, 18, 19, 20, 99, 100, 101} -block 0006 - pred 01ca - live in:{16, 17, 18, 30, 31, 99, 100, 101} - Blort.java:60@0008: if-nez-object . <- v31:Ljava/lang/StringBuilder; - next 000b * - next 0019 - live out:{16, 17, 18, 30, 31, 99, 100, 101} -block 01b5 - pred 000b - live in:{16, 17, 18, 30, 99, 100, 101} - Blort.java:61@000b: Rop{move-result-pseudo N000bLjava/lang/StringBuilder; <- - . flows} v32:N000bLjava/lang/StringBuilder; <- . - Blort.java:61@000b: goto . <- . - next 000e - live out:{16, 17, 18, 30, 32, 99, 100, 101} -block 000b - pred 0006 - live in:{16, 17, 18, 30, 99, 100, 101} - Blort.java:61@000b: new-instance(java.lang.StringBuilder catch) . <- . - next 01b5 - live out:{16, 17, 18, 30, 99, 100, 101} -block 000e - pred 01b5 - live in:{16, 17, 18, 30, 32, 99, 100, 101} - Blort.java:61@000f: const-int(64) v33:I=64 <- . - Blort.java:61@0011: Rop{invoke-direct . <- Ljava/lang/StringBuilder; I call t - hrows <any>}(java.lang.StringBuilder.<init>:(I)V catch) . <- v32:N000bLjava/l - ang/StringBuilder; v33:I=64 - next 0014 - live out:{16, 17, 18, 30, 32, 99, 100, 101} -block 0014 - pred 000e - live in:{16, 17, 18, 30, 32, 99, 100, 101} - @????: mark-local-object . <- v32:"current"Ljava/lang/StringBuilder; - Blort.java:61@0016: goto . <- . - next 001f - live out:{16, 17, 18, 30, 32, 99, 100, 101} -block 01b6 - pred 0019 - live in:{16, 17, 18, 30, 31, 99, 100, 101} - Blort.java:63@001b: goto . <- . - next 001e - live out:{16, 17, 18, 30, 31, 99, 100, 101} -block 0019 - pred 0006 - live in:{16, 17, 18, 30, 31, 99, 100, 101} - Blort.java:63@001b: Rop{invoke-virtual . <- Ljava/lang/StringBuilder; call th - rows <any>}(java.lang.StringBuilder.length:()I catch) . <- v31:Ljava/lang/Str - ingBuilder; - next 01b6 - live out:{16, 17, 18, 30, 31, 99, 100, 101} -block 001e - pred 01b6 - live in:{16, 17, 18, 30, 31, 99, 100, 101} - @????: goto . <- . - next 001f - live out:{16, 17, 18, 30, 31, 99, 100, 101} -block 01b7 - pred 001f - live in:{16, 17, 18, 30, 39, 99, 100, 101} - Blort.java:65@0020: Rop{move-result I <- . flows} v40:I <- . - Blort.java:65@0020: goto . <- . - next 0023 - live out:{16, 17, 18, 30, 39, 40, 99, 100, 101} -block 001f - pred 0014 - pred 001e - live in:{16, 17, 18, 30, 99, 100, 101} - @????: phi v39:"current"Ljava/lang/StringBuilder; <- v32:"current"Ljava/lang/ - StringBuilder;[b=0014] v31:"current"Ljava/lang/StringBuilder;[b=001e] - Blort.java:65@0020: Rop{invoke-virtual . <- Ljava/lang/Object; call throws <a - ny>}(java.lang.Object.hashCode:()I catch) . <- v16:Ljava/lang/Object; - next 01b7 - live out:{16, 17, 18, 30, 39, 99, 100, 101} -block 0023 - pred 01b7 - live in:{16, 17, 18, 30, 39, 40, 99, 100, 101} - @????: mark-local-int . <- v40:"l"I - Blort.java:66@0027: const-int(-1) v41:I=-1 <- . - Blort.java:66@0028: if-eq-int . <- v40:I v41:I=-1 - next 002b * - next 01d4 - live out:{16, 17, 18, 30, 39, 99, 100, 101} -block 01b8 - pred 002b - live in:{16, 17, 18, 30, 39, 99, 100, 101} - Blort.java:66@002d: Rop{move-result I <- . flows} v42:I <- . - Blort.java:66@002d: goto . <- . - next 0030 - live out:{16, 17, 18, 30, 39, 42, 99, 100, 101} -block 002b - pred 0023 - live in:{16, 17, 18, 30, 39, 99, 100, 101} - Blort.java:66@002d: Rop{invoke-virtual . <- Ljava/lang/StringBuilder; call th - rows <any>}(java.lang.StringBuilder.length:()I catch) . <- v39:Ljava/lang/Str - ingBuilder; - next 01b8 - live out:{16, 17, 18, 30, 39, 99, 100, 101} -block 0030 - pred 01b8 - live in:{16, 17, 18, 30, 39, 42, 99, 100, 101} - Blort.java:66@0030: const-int(1) v43:I=1 <- . - Blort.java:66@0031: if-ge-int . <- v42:I v43:I=1 - next 0034 * - next 0037 - live out:{16, 17, 18, 30, 39, 99, 100, 101} -block 0034 - pred 0030 - live in:{} - Blort.java:67@0034: goto . <- . - next 00d6 - live out:{} -block 01b9 - pred 0037 - live in:{16, 17, 18, 30, 39, 99, 100, 101} - Blort.java:70@003a: Rop{move-result C <- . flows} v45:C <- . - Blort.java:70@003a: goto . <- . - next 003d - live out:{16, 17, 18, 30, 39, 45, 99, 100, 101} -block 0037 - pred 0030 - live in:{16, 17, 18, 30, 39, 99, 100, 101} - Blort.java:70@003a: Rop{invoke-virtual . <- Ljava/lang/StringBuilder; I call - throws <any>}(java.lang.StringBuilder.charAt:(I)C catch) . <- v39:Ljava/lang/ - StringBuilder; v100:I=0 - next 01b9 - live out:{16, 17, 18, 30, 39, 99, 100, 101} -block 003d - pred 01b9 - live in:{16, 17, 18, 30, 39, 45, 99, 100, 101} - Blort.java:70@003f: if-eq-int . <- v45:I v99:I=32 - next 0042 * - next 01d3 - live out:{16, 17, 18, 30, 39, 99, 100, 101} -block 01ba - pred 0042 - live in:{16, 17, 18, 30, 39, 99, 100, 101} - Blort.java:70@0045: Rop{move-result C <- . flows} v48:C <- . - Blort.java:70@0045: goto . <- . - next 0048 - live out:{16, 17, 18, 30, 39, 48, 99, 100, 101} -block 0042 - pred 003d - live in:{16, 17, 18, 30, 39, 99, 100, 101} - Blort.java:70@0045: Rop{invoke-virtual . <- Ljava/lang/StringBuilder; I call - throws <any>}(java.lang.StringBuilder.charAt:(I)C catch) . <- v39:Ljava/lang/ - StringBuilder; v100:I=0 - next 01ba - live out:{16, 17, 18, 30, 39, 99, 100, 101} -block 0048 - pred 01ba - live in:{16, 17, 18, 30, 39, 48, 99, 100, 101} - Blort.java:70@004a: if-ne-int . <- v48:I v101:I=9 - next 01d2 * - next 01d1 - live out:{16, 17, 18, 30, 39, 99, 100, 101} -block 004d - pred 01c9 - live in:{16, 17, 18, 30, 39, 99, 100, 101} - Blort.java:70@004f: if-eqz-object . <- v30:Ljava/lang/StringBuilder; - next 0052 * - next 01d0 - live out:{16, 17, 18, 30, 39, 99, 100, 101} -block 0052 - pred 004d - live in:{16, 17, 18, 30, 39, 99, 100, 101} - Blort.java:71@0052: const-int(0) v67:I=0 <- . - @????: mark-local-int . <- v67:"i"I - Blort.java:71@0053: goto . <- . - next 0055 - live out:{16, 17, 18, 30, 39, 67, 99, 100, 101} -block 01bb - pred 0055 - live in:{16, 17, 18, 30, 39, 71, 99, 100, 101} - Blort.java:72@0059: Rop{move-result I <- . flows} v72:I <- . - Blort.java:72@0059: goto . <- . - next 005c - live out:{16, 17, 18, 30, 39, 71, 72, 99, 100, 101} -block 0055 - pred 0052 - pred 0079 - live in:{16, 17, 18, 30, 39, 99, 100, 101} - @????: phi v71:"i"I <- v67:"i"I[b=0052] v78:"i"I[b=0079] - Blort.java:72@0059: Rop{invoke-virtual . <- Ljava/lang/StringBuilder; call th - rows <any>}(java.lang.StringBuilder.length:()I catch) . <- v39:Ljava/lang/Str - ingBuilder; - next 01bb - live out:{16, 17, 18, 30, 39, 71, 99, 100, 101} -block 005c - pred 01bb - live in:{16, 17, 18, 30, 39, 71, 72, 99, 100, 101} - Blort.java:72@005c: if-ge-int . <- v71:I v72:I - next 005f * - next 01cf - live out:{16, 17, 18, 30, 39, 71, 99, 100, 101} -block 01bc - pred 005f - live in:{16, 17, 18, 30, 39, 71, 99, 100, 101} - Blort.java:73@0063: Rop{move-result C <- . flows} v73:C <- . - Blort.java:73@0063: goto . <- . - next 0066 - live out:{16, 17, 18, 30, 39, 71, 73, 99, 100, 101} -block 005f - pred 005c - live in:{16, 17, 18, 30, 39, 71, 99, 100, 101} - Blort.java:73@0063: Rop{invoke-virtual . <- Ljava/lang/StringBuilder; I call - throws <any>}(java.lang.StringBuilder.charAt:(I)C catch) . <- v39:Ljava/lang/ - StringBuilder; v71:I - next 01bc - live out:{16, 17, 18, 30, 39, 71, 99, 100, 101} -block 0066 - pred 01bc - live in:{16, 17, 18, 30, 39, 71, 73, 99, 100, 101} - @????: mark-local-int . <- v73:"ch"C - Blort.java:74@006c: if-eq-int . <- v73:I v99:I=32 - next 006f * - next 01ce - live out:{16, 17, 18, 30, 39, 71, 73, 99, 100, 101} -block 006f - pred 0066 - live in:{16, 17, 18, 30, 39, 71, 73, 99, 100, 101} - Blort.java:74@0073: if-eq-int . <- v73:I v101:I=9 - next 0076 * - next 01cd - live out:{16, 17, 18, 30, 39, 71, 99, 100, 101} -block 0076 - pred 006f - live in:{16, 17, 18, 30, 39, 71, 99, 100, 101} - Blort.java:75@0076: goto . <- . - next 01c8 - live out:{16, 17, 18, 30, 39, 71, 99, 100, 101} -block 0079 - pred 01cd - pred 01ce - live in:{16, 17, 18, 30, 39, 71, 99, 100, 101} - Blort.java:77@0079: add-const-int(1) v78:"i"I <- v71:I - Blort.java:78@007c: goto . <- . - next 0055 - live out:{16, 17, 18, 30, 39, 78, 99, 100, 101} -block 007f - pred 01c8 - live in:{16, 17, 18, 30, 39, 71, 99, 100, 101} - Blort.java:79@0080: if-lez-int . <- v18:I - next 0083 * - next 01cc - live out:{16, 17, 18, 30, 39, 71, 99, 100, 101} -block 01bd - pred 0083 - live in:{16, 17, 18, 30, 39, 71, 99, 100, 101} - Blort.java:79@0085: Rop{move-result I <- . flows} v82:I <- . - Blort.java:79@0085: goto . <- . - next 0088 - live out:{16, 17, 18, 30, 39, 71, 82, 99, 100, 101} -block 0083 - pred 007f - live in:{16, 17, 18, 30, 39, 71, 99, 100, 101} - Blort.java:79@0085: Rop{invoke-virtual . <- Ljava/lang/StringBuilder; call th - rows <any>}(java.lang.StringBuilder.length:()I catch) . <- v30:Ljava/lang/Str - ingBuilder; - next 01bd - live out:{16, 17, 18, 30, 39, 71, 99, 100, 101} -block 01be - pred 0088 - live in:{16, 17, 18, 30, 39, 71, 84, 99, 100, 101} - Blort.java:79@008c: Rop{move-result I <- . flows} v85:I <- . - Blort.java:79@008c: goto . <- . - next 008f - live out:{16, 17, 18, 30, 39, 71, 84, 85, 99, 100, 101} -block 0088 - pred 01bd - live in:{16, 17, 18, 30, 39, 71, 82, 99, 100, 101} - Blort.java:79@0089: add-const-int(1) v84:I <- v82:I - Blort.java:79@008c: Rop{invoke-virtual . <- Ljava/lang/StringBuilder; call th - rows <any>}(java.lang.StringBuilder.length:()I catch) . <- v39:Ljava/lang/Str - ingBuilder; - next 01be - live out:{16, 17, 18, 30, 39, 71, 84, 99, 100, 101} -block 008f - pred 01be - live in:{16, 17, 18, 30, 39, 71, 84, 85, 99, 100, 101} - Blort.java:79@008f: add-int v86:I <- v84:I v85:I - Blort.java:79@0092: sub-int v87:I <- v86:I v71:I - Blort.java:79@0094: if-le-int . <- v87:I v18:I - next 0097 * - next 01cb - live out:{16, 17, 18, 30, 39, 71, 99, 100, 101} -block 01bf - pred 0097 - live in:{} - Blort.java:81@0097: Rop{move-result-pseudo N0097Ljava/io/IOException; <- . fl - ows} v88:N0097Ljava/io/IOException; <- . - Blort.java:81@0097: goto . <- . - next 009a - live out:{88} -block 0097 - pred 008f - live in:{} - Blort.java:81@0097: new-instance(java.io.IOException catch) . <- . - next 01bf - live out:{} -block 01c0 - pred 009a - live in:{88} - Blort.java:81@009b: Rop{move-result-pseudo Ljava/lang/String; <- . flows} v89 - :Ljava/lang/String;="Maximum line length limit exceeded" <- . - Blort.java:81@009b: goto . <- . - next 009d - live out:{88, 89} -block 009a - pred 01bf - live in:{88} - Blort.java:81@009b: const-object("Maximum line length limit exceeded" catch) - . <- . - next 01c0 - live out:{88} -block 009d - pred 01c0 - live in:{88, 89} - Blort.java:81@009d: Rop{invoke-direct . <- Ljava/io/IOException; Ljava/lang/S - tring; call throws <any>}(java.io.IOException.<init>:(Ljava/lang/String;)V ca - tch) . <- v88:N0097Ljava/io/IOException; v89:Ljava/lang/String;="Maximum line - length limit exceeded" - next 00a0 - live out:{88} -block 00a0 - pred 009d - live in:{88} - Blort.java:81@00a0: throw(catch) . <- v88:Ljava/io/IOException; - next 01d5 - live out:{} -block 01c1 - pred 00a1 - live in:{16, 17, 18, 30, 39, 71, 99, 100, 101} - Blort.java:83@00a5: goto . <- . - next 00a8 - live out:{16, 17, 18, 30, 39, 71, 99, 100, 101} -block 00a1 - pred 01cb - pred 01cc - live in:{16, 17, 18, 30, 39, 71, 99, 100, 101} - Blort.java:83@00a5: Rop{invoke-virtual . <- Ljava/lang/StringBuilder; I call - throws <any>}(java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder; cat - ch) . <- v30:Ljava/lang/StringBuilder; v99:I=32 - next 01c1 - live out:{16, 17, 18, 30, 39, 71, 99, 100, 101} -block 01c2 - pred 00a8 - live in:{16, 17, 18, 30, 39, 71, 99, 100, 101} - Blort.java:84@00b1: Rop{move-result I <- . flows} v94:I <- . - Blort.java:84@00b1: goto . <- . - next 00b4 - live out:{16, 17, 18, 30, 39, 71, 94, 99, 100, 101} -block 00a8 - pred 01c1 - live in:{16, 17, 18, 30, 39, 71, 99, 100, 101} - Blort.java:84@00b1: Rop{invoke-virtual . <- Ljava/lang/StringBuilder; call th - rows <any>}(java.lang.StringBuilder.length:()I catch) . <- v39:Ljava/lang/Str - ingBuilder; - next 01c2 - live out:{16, 17, 18, 30, 39, 71, 99, 100, 101} -block 01c3 - pred 00b4 - live in:{16, 17, 18, 30, 39, 99, 100, 101} - Blort.java:84@00b7: goto . <- . - next 00ba - live out:{16, 17, 18, 30, 39, 99, 100, 101} -block 00b4 - pred 01c2 - live in:{16, 17, 18, 30, 39, 71, 94, 99, 100, 101} - Blort.java:84@00b6: sub-int v95:I <- v94:I v71:I - Blort.java:84@00b7: Rop{invoke-virtual . <- Ljava/lang/StringBuilder; Ljava/l - ang/CharSequence; I I call throws <any>}(java.lang.StringBuilder.append:(Ljav - a/lang/CharSequence;II)Ljava/lang/StringBuilder; catch) . <- v30:Ljava/lang/S - tringBuilder; v39:Ljava/lang/StringBuilder; v71:I v95:I - next 01c3 - live out:{16, 17, 18, 30, 39, 99, 100, 101} -block 00ba - pred 01c3 - live in:{16, 17, 18, 30, 39, 99, 100, 101} - Blort.java:85@00bb: goto . <- . - next 01c7 - live out:{16, 17, 18, 30, 39, 99, 100, 101} -block 00be - pred 01d0 - pred 01d1 - live in:{16, 17, 18, 39, 99, 100, 101} - Blort.java:86@00c0: move-object v52:"previous"Ljava/lang/StringBuilder; <- v3 - 9:Ljava/lang/StringBuilder; - Blort.java:87@00c2: const-object-nothrow(null) v53:<null>=null <- . - @????: mark-local-object . <- v53:"current"Ljava/lang/StringBuilder; - Blort.java:87@00c3: goto . <- . - next 01c7 - live out:{16, 17, 18, 52, 53, 99, 100, 101} -block 00c5 - pred 01c7 - live in:{16, 17, 18, 61, 62, 99, 100, 101} - Blort.java:89@00c6: if-lez-int . <- v17:I - next 00c9 * - next 00d3 - live out:{16, 17, 18, 61, 62, 99, 100, 101} -block 01c4 - pred 00c9 - live in:{} - Blort.java:90@00c9: Rop{move-result-pseudo N00c9Ljava/io/IOException; <- . fl - ows} v63:N00c9Ljava/io/IOException; <- . - Blort.java:90@00c9: goto . <- . - next 00cc - live out:{63} -block 00c9 - pred 00c5 - live in:{} - Blort.java:90@00c9: new-instance(java.io.IOException catch) . <- . - next 01c4 - live out:{} -block 01c5 - pred 00cc - live in:{63} - Blort.java:90@00cd: Rop{move-result-pseudo Ljava/lang/String; <- . flows} v64 - :Ljava/lang/String;="Maximum header count exceeded" <- . - Blort.java:90@00cd: goto . <- . - next 00cf - live out:{63, 64} -block 00cc - pred 01c4 - live in:{63} - Blort.java:90@00cd: const-object("Maximum header count exceeded" catch) . <- - . - next 01c5 - live out:{63} -block 00cf - pred 01c5 - live in:{63, 64} - Blort.java:90@00cf: Rop{invoke-direct . <- Ljava/io/IOException; Ljava/lang/S - tring; call throws <any>}(java.io.IOException.<init>:(Ljava/lang/String;)V ca - tch) . <- v63:N00c9Ljava/io/IOException; v64:Ljava/lang/String;="Maximum head - er count exceeded" - next 00d2 - live out:{63} -block 00d2 - pred 00cf - live in:{63} - Blort.java:90@00d2: throw(catch) . <- v63:Ljava/io/IOException; - next 01d5 - live out:{} -block 00d3 - pred 00c5 - live in:{16, 17, 18, 61, 62, 99, 100, 101} - Blort.java:92@00d3: goto . <- . - next 01ca - live out:{16, 17, 18, 61, 62, 99, 100, 101} -block 00d6 - pred 0034 - pred 01d4 - live in:{} - Blort.java:93@00d6: goto . <- . - next 01af - live out:{} -block 01af - pred 00d6 - live in:{} - Blort.java:93@00d6: return-void . <- . - next 01d5 - live out:{} -block 01c6 - live in:{} - @????: const-int(9) v101:I=9 <- . - @????: const-int(0) v100:I=0 <- . - @????: const-int(32) v99:I=32 <- . - @????: goto . <- . - next 01ae - live out:{99, 100, 101} -block 01c7 - pred 00ba - pred 00be - live in:{16, 17, 18, 99, 100, 101} - @????: phi v61:"previous"Ljava/lang/StringBuilder; <- v52:"previous"Ljava/lan - g/StringBuilder;[b=00be] v30:"previous"Ljava/lang/StringBuilder;[b=00ba] - @????: phi v62:"current"Ljava/lang/StringBuilder; <- v53:"current"Ljava/lang/ - StringBuilder;[b=00be] v39:"current"Ljava/lang/StringBuilder;[b=00ba] - @????: goto . <- . - next 00c5 - live out:{16, 17, 18, 61, 62, 99, 100, 101} -block 01c8 - pred 0076 - pred 01cf - live in:{16, 17, 18, 30, 39, 71, 99, 100, 101} - @????: goto . <- . - next 007f - live out:{16, 17, 18, 30, 39, 71, 99, 100, 101} -block 01c9 - pred 01d2 - pred 01d3 - live in:{16, 17, 18, 30, 39, 99, 100, 101} - @????: goto . <- . - next 004d - live out:{16, 17, 18, 30, 39, 99, 100, 101} -block 01ca - pred 0000 - pred 00d3 - live in:{16, 17, 18, 99, 100, 101} - @????: phi v30:"previous"Ljava/lang/StringBuilder; <- v20:"previous"Ljava/lan - g/StringBuilder;[b=0000] v61:"previous"Ljava/lang/StringBuilder;[b=00d3] - @????: phi v31:"current"Ljava/lang/StringBuilder; <- v19:"current"Ljava/lang/ - StringBuilder;[b=0000] v62:"current"Ljava/lang/StringBuilder;[b=00d3] - @????: goto . <- . - next 0006 - live out:{16, 17, 18, 30, 31, 99, 100, 101} -block 01cb - pred 008f - live in:{16, 17, 18, 30, 39, 71, 99, 100, 101} - @????: goto . <- . - next 00a1 - live out:{16, 17, 18, 30, 39, 71, 99, 100, 101} -block 01cc - pred 007f - live in:{16, 17, 18, 30, 39, 71, 99, 100, 101} - @????: goto . <- . - next 00a1 - live out:{16, 17, 18, 30, 39, 71, 99, 100, 101} -block 01cd - pred 006f - live in:{16, 17, 18, 30, 39, 71, 99, 100, 101} - @????: goto . <- . - next 0079 - live out:{16, 17, 18, 30, 39, 71, 99, 100, 101} -block 01ce - pred 0066 - live in:{16, 17, 18, 30, 39, 71, 99, 100, 101} - @????: goto . <- . - next 0079 - live out:{16, 17, 18, 30, 39, 71, 99, 100, 101} -block 01cf - pred 005c - live in:{16, 17, 18, 30, 39, 71, 99, 100, 101} - @????: goto . <- . - next 01c8 - live out:{16, 17, 18, 30, 39, 71, 99, 100, 101} -block 01d0 - pred 004d - live in:{16, 17, 18, 39, 99, 100, 101} - @????: goto . <- . - next 00be - live out:{16, 17, 18, 39, 99, 100, 101} -block 01d1 - pred 0048 - live in:{16, 17, 18, 39, 99, 100, 101} - @????: goto . <- . - next 00be - live out:{16, 17, 18, 39, 99, 100, 101} -block 01d2 - pred 0048 - live in:{16, 17, 18, 30, 39, 99, 100, 101} - @????: goto . <- . - next 01c9 - live out:{16, 17, 18, 30, 39, 99, 100, 101} -block 01d3 - pred 003d - live in:{16, 17, 18, 30, 39, 99, 100, 101} - @????: goto . <- . - next 01c9 - live out:{16, 17, 18, 30, 39, 99, 100, 101} -block 01d4 - pred 0023 - live in:{} - @????: goto . <- . - next 00d6 - live out:{} -block 01d5 - pred 00a0 - pred 00d2 - pred 01af - live in:{} - returns - live out:{} diff --git a/dx/tests/087-ssa-local-vars/info.txt b/dx/tests/087-ssa-local-vars/info.txt deleted file mode 100644 index 6e9d675a7..000000000 --- a/dx/tests/087-ssa-local-vars/info.txt +++ /dev/null @@ -1,5 +0,0 @@ -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. - -This test compares emitted code against a known-good (via eyeballing) -version, so it is possible for this test to spuriously fail if other -aspects of conversion end up altering the output in innocuous ways. diff --git a/dx/tests/087-ssa-local-vars/run b/dx/tests/087-ssa-local-vars/run deleted file mode 100644 index ae97c15c0..000000000 --- a/dx/tests/087-ssa-local-vars/run +++ /dev/null @@ -1,18 +0,0 @@ -#!/bin/bash -# -# Copyright (C) 2007 The Android Open Source Project -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -$JAVAC -g -d . Blort.java -dx --dump --ssa-blocks Blort.class diff --git a/dx/tests/088-ssa-combine-blocks/Blort.java b/dx/tests/088-ssa-combine-blocks/Blort.java deleted file mode 100644 index 64498834d..000000000 --- a/dx/tests/088-ssa-combine-blocks/Blort.java +++ /dev/null @@ -1,45 +0,0 @@ -/* - * Copyright (C) 2007 The Android Open Source Project - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -public class Blort -{ - /** - * just because this should do nothing - */ - void voidFunction() { - } - - /** - * Current SSA form requires each move-exception block to have - * a unique predecessor - */ - void edgeSplitMoveException() { - try { - hashCode(); - hashCode(); - } catch (Throwable tr) { - } - } - - /** - * An empty infinite loop for the empty goto optimizer - */ - void infiniteLoop() { - while (true) { - } - } -} - diff --git a/dx/tests/088-ssa-combine-blocks/expected.txt b/dx/tests/088-ssa-combine-blocks/expected.txt deleted file mode 100644 index 7bf445dfe..000000000 --- a/dx/tests/088-ssa-combine-blocks/expected.txt +++ /dev/null @@ -1,82 +0,0 @@ -reading Blort.class... -method <init> ()V -first 000c -block 000a - pred 000c - Blort.java:17@0000: move-param-object(0) v0:NffffLBlort; <- . - Blort.java:17@0000: goto . <- . - next 0000 -block 0000 - pred 000a - Blort.java:17@0001: Rop{invoke-direct . <- Ljava/lang/Object; call throws <any>}(java.lang.Object.<init>:()V catch) . <- v0:NffffLBlort; - next 000b -block 000b - pred 0000 - Blort.java:17@0004: return-void . <- . - returns -block 000c - @????: goto . <- . - next 000a - -method voidFunction ()V -first 0004 -block 0002 - pred 0004 - Blort.java:23@0000: move-param-object(0) v0:LBlort; <- . - Blort.java:23@0000: goto . <- . - next 0003 -block 0003 - pred 0002 - Blort.java:23@0000: return-void . <- . - returns -block 0004 - @????: goto . <- . - next 0002 - -method edgeSplitMoveException ()V -first 0027 -block 001e - pred 0027 - Blort.java:31@0000: move-param-object(0) v1:LBlort; <- . - Blort.java:31@0000: goto . <- . - next 0000 -block 0000 - pred 001e - Blort.java:31@0001: Rop{invoke-virtual . <- Ljava/lang/Object; call throws <any>}(java.lang.Object.hashCode:()I catch java.lang.Throwable) . <- v1:LBlort; - next 0028 - next 0004 * -block 0004 - pred 0000 - Blort.java:32@0006: Rop{invoke-virtual . <- Ljava/lang/Object; call throws <any>}(java.lang.Object.hashCode:()I catch java.lang.Throwable) . <- v1:LBlort; - next 0028 - next 001f * -block 001f - pred 0004 - pred 0028 - Blort.java:35@000e: return-void . <- . - returns -block 0027 - @????: goto . <- . - next 001e -block 0028 - pred 0000 - pred 0004 - Blort.java:33@000d: Rop{move-exception Ljava/lang/Throwable; <- . flows} v0:Ljava/lang/Throwable; <- . - @????: goto . <- . - next 001f - -method infiniteLoop ()V -first 0003 -block 0002 - pred 0003 - Blort.java:41@0000: move-param-object(0) v0:LBlort; <- . - Blort.java:41@0000: goto . <- . - next 0000 -block 0000 - pred 0000 - pred 0002 - Blort.java:41@0000: goto . <- . - next 0000 -block 0003 - @????: goto . <- . - next 0002 diff --git a/dx/tests/088-ssa-combine-blocks/info.txt b/dx/tests/088-ssa-combine-blocks/info.txt deleted file mode 100644 index 603c1c0b7..000000000 --- a/dx/tests/088-ssa-combine-blocks/info.txt +++ /dev/null @@ -1,5 +0,0 @@ -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. - -This test compares emitted code against a known-good (via eyeballing) -version, so it is possible for this test to spuriously fail if other -aspects of conversion end up altering the output in innocuous ways. diff --git a/dx/tests/088-ssa-combine-blocks/run b/dx/tests/088-ssa-combine-blocks/run deleted file mode 100644 index 29fe559e3..000000000 --- a/dx/tests/088-ssa-combine-blocks/run +++ /dev/null @@ -1,18 +0,0 @@ -#!/bin/bash -# -# Copyright (C) 2007 The Android Open Source Project -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -$JAVAC -d . Blort.java -dx --dump --width=1000 --optimize --rop-blocks Blort.class diff --git a/dx/tests/089-dex-define-object/Class.java b/dx/tests/089-dex-define-object/Class.java deleted file mode 100644 index 4de5e70c1..000000000 --- a/dx/tests/089-dex-define-object/Class.java +++ /dev/null @@ -1,21 +0,0 @@ -/* - * Copyright (C) 2007 The Android Open Source Project - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -package java.lang; - -public class Class<T> { - // This space intentionally left blank. -} diff --git a/dx/tests/089-dex-define-object/Object.java b/dx/tests/089-dex-define-object/Object.java deleted file mode 100644 index e4d9e3cae..000000000 --- a/dx/tests/089-dex-define-object/Object.java +++ /dev/null @@ -1,50 +0,0 @@ -/* - * Copyright (C) 2007 The Android Open Source Project - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -package java.lang; - -public class Object { - public Object() { - // This space intentionally left blank. - } - - public boolean equals(Object o) { - return true; - } - - protected void finalize() { - // This space intentionally left blank. - } - - public final native Class<? extends Object> getClass(); - public native int hashCode(); - public final native void notify(); - public final native void notifyAll(); - - public String toString() { - return "blort"; - } - - public final void wait() { - wait(0, 0); - } - - public final void wait(long time) { - wait(time, 0); - } - - public final native void wait(long time, int frac); -} diff --git a/dx/tests/089-dex-define-object/String.java b/dx/tests/089-dex-define-object/String.java deleted file mode 100644 index 26e737036..000000000 --- a/dx/tests/089-dex-define-object/String.java +++ /dev/null @@ -1,21 +0,0 @@ -/* - * Copyright (C) 2007 The Android Open Source Project - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -package java.lang; - -public final class String { - // This space intentionally left blank. -} diff --git a/dx/tests/089-dex-define-object/expected.txt b/dx/tests/089-dex-define-object/expected.txt deleted file mode 100644 index a1db6a475..000000000 --- a/dx/tests/089-dex-define-object/expected.txt +++ /dev/null @@ -1 +0,0 @@ -Good! diff --git a/dx/tests/089-dex-define-object/info.txt b/dx/tests/089-dex-define-object/info.txt deleted file mode 100644 index e035834e7..000000000 --- a/dx/tests/089-dex-define-object/info.txt +++ /dev/null @@ -1,4 +0,0 @@ -This tests that a stripped down definition of the class Object can in -fact be converted to a dex file. This test ensures that the conversion -runs without failure, though the contents of the converted file are -not checked for correctness. diff --git a/dx/tests/089-dex-define-object/run b/dx/tests/089-dex-define-object/run deleted file mode 100644 index e53e1471c..000000000 --- a/dx/tests/089-dex-define-object/run +++ /dev/null @@ -1,21 +0,0 @@ -#!/bin/bash -# -# Copyright (C) 2007 The Android Open Source Project -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -$JAVAC -d . *.java -dx --debug --dex --core-library --output=blort.dex */*/*.class -if [ -r blort.dex ]; then - echo Good! -fi diff --git a/dx/tests/090-dex-unify-arrays/Blort.java b/dx/tests/090-dex-unify-arrays/Blort.java deleted file mode 100644 index 47e1745dd..000000000 --- a/dx/tests/090-dex-unify-arrays/Blort.java +++ /dev/null @@ -1,60 +0,0 @@ -/* - * Copyright (C) 2007 The Android Open Source Project - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -public class Blort -{ - /* - * Note: The use of the casts after the "?" in the following are - * to avoid a bug in some (source code level) compilers. - */ - - static public Object test1(boolean b) { - return (b ? new String[1] : new Integer[1])[0]; - } - - static public int test2(boolean b) { - Object o = b ? (Object) new int[1] : new float[1]; - return o.hashCode(); - } - - static public int test3(boolean b) { - Object o = b ? (Object) new char[1] : new double[1]; - return o.hashCode(); - } - - static public int test4(boolean b) { - Object o = b ? (Object) new long[1] : new boolean[1]; - return o.hashCode(); - } - - static public int test5(boolean b) { - Object o = b ? (Object) new short[1] : new Object[1]; - return o.hashCode(); - } - - static public int test6(boolean b) { - Object o = b ? (Object) new byte[1] : new boolean[1]; - return o.hashCode(); - } - - static public Object test7(boolean b) { - return (b ? new String[1] : new int[1][])[0]; - } - - static public Object[] test8(boolean b) { - return (b ? new String[1][] : new int[1][][])[0]; - } -} diff --git a/dx/tests/090-dex-unify-arrays/expected.txt b/dx/tests/090-dex-unify-arrays/expected.txt deleted file mode 100644 index 7a4125f95..000000000 --- a/dx/tests/090-dex-unify-arrays/expected.txt +++ /dev/null @@ -1,122 +0,0 @@ -Blort.test1:(Z)Ljava/lang/Object;: -regs: 0004; ins: 0001; outs: 0000 - 0000: move v0, v3 - 0001: move v1, v0 - 0002: if-eqz v1, 000c // +000a - 0004: const/4 v1, #int 1 // #1 - 0005: new-array v1, v1, java.lang.String[] - 0007: const/4 v2, #int 0 // #0 - 0008: aget-object v1, v1, v2 - 000a: move-object v0, v1 - 000b: return-object v0 - 000c: const/4 v1, #int 1 // #1 - 000d: new-array v1, v1, java.lang.Integer[] - 000f: goto 0007 // -0008 -Blort.test2:(Z)I: -regs: 0004; ins: 0001; outs: 0001 - 0000: move v0, v3 - 0001: move v2, v0 - 0002: if-eqz v2, 000f // +000d - 0004: const/4 v2, #int 1 // #1 - 0005: new-array v2, v2, int[] - 0007: move-object v1, v2 - 0008: move-object v2, v1 - 0009: invoke-virtual {v2}, java.lang.Object.hashCode:()I - 000c: move-result v2 - 000d: move v0, v2 - 000e: return v0 - 000f: const/4 v2, #int 1 // #1 - 0010: new-array v2, v2, float[] - 0012: goto 0007 // -000b -Blort.test3:(Z)I: -regs: 0004; ins: 0001; outs: 0001 - 0000: move v0, v3 - 0001: move v2, v0 - 0002: if-eqz v2, 000f // +000d - 0004: const/4 v2, #int 1 // #1 - 0005: new-array v2, v2, char[] - 0007: move-object v1, v2 - 0008: move-object v2, v1 - 0009: invoke-virtual {v2}, java.lang.Object.hashCode:()I - 000c: move-result v2 - 000d: move v0, v2 - 000e: return v0 - 000f: const/4 v2, #int 1 // #1 - 0010: new-array v2, v2, double[] - 0012: goto 0007 // -000b -Blort.test4:(Z)I: -regs: 0004; ins: 0001; outs: 0001 - 0000: move v0, v3 - 0001: move v2, v0 - 0002: if-eqz v2, 000f // +000d - 0004: const/4 v2, #int 1 // #1 - 0005: new-array v2, v2, long[] - 0007: move-object v1, v2 - 0008: move-object v2, v1 - 0009: invoke-virtual {v2}, java.lang.Object.hashCode:()I - 000c: move-result v2 - 000d: move v0, v2 - 000e: return v0 - 000f: const/4 v2, #int 1 // #1 - 0010: new-array v2, v2, boolean[] - 0012: goto 0007 // -000b -Blort.test5:(Z)I: -regs: 0004; ins: 0001; outs: 0001 - 0000: move v0, v3 - 0001: move v2, v0 - 0002: if-eqz v2, 000f // +000d - 0004: const/4 v2, #int 1 // #1 - 0005: new-array v2, v2, short[] - 0007: move-object v1, v2 - 0008: move-object v2, v1 - 0009: invoke-virtual {v2}, java.lang.Object.hashCode:()I - 000c: move-result v2 - 000d: move v0, v2 - 000e: return v0 - 000f: const/4 v2, #int 1 // #1 - 0010: new-array v2, v2, java.lang.Object[] - 0012: goto 0007 // -000b -Blort.test6:(Z)I: -regs: 0004; ins: 0001; outs: 0001 - 0000: move v0, v3 - 0001: move v2, v0 - 0002: if-eqz v2, 000f // +000d - 0004: const/4 v2, #int 1 // #1 - 0005: new-array v2, v2, byte[] - 0007: move-object v1, v2 - 0008: move-object v2, v1 - 0009: invoke-virtual {v2}, java.lang.Object.hashCode:()I - 000c: move-result v2 - 000d: move v0, v2 - 000e: return v0 - 000f: const/4 v2, #int 1 // #1 - 0010: new-array v2, v2, boolean[] - 0012: goto 0007 // -000b -Blort.test7:(Z)Ljava/lang/Object;: -regs: 0004; ins: 0001; outs: 0000 - 0000: move v0, v3 - 0001: move v1, v0 - 0002: if-eqz v1, 000c // +000a - 0004: const/4 v1, #int 1 // #1 - 0005: new-array v1, v1, java.lang.String[] - 0007: const/4 v2, #int 0 // #0 - 0008: aget-object v1, v1, v2 - 000a: move-object v0, v1 - 000b: return-object v0 - 000c: const/4 v1, #int 1 // #1 - 000d: new-array v1, v1, int[][] - 000f: goto 0007 // -0008 -Blort.test8:(Z)[Ljava/lang/Object;: -regs: 0004; ins: 0001; outs: 0000 - 0000: move v0, v3 - 0001: move v1, v0 - 0002: if-eqz v1, 000c // +000a - 0004: const/4 v1, #int 1 // #1 - 0005: new-array v1, v1, java.lang.String[][] - 0007: const/4 v2, #int 0 // #0 - 0008: aget-object v1, v1, v2 - 000a: move-object v0, v1 - 000b: return-object v0 - 000c: const/4 v1, #int 1 // #1 - 000d: new-array v1, v1, int[][][] - 000f: goto 0007 // -0008 diff --git a/dx/tests/090-dex-unify-arrays/info.txt b/dx/tests/090-dex-unify-arrays/info.txt deleted file mode 100644 index 018fd25a6..000000000 --- a/dx/tests/090-dex-unify-arrays/info.txt +++ /dev/null @@ -1,6 +0,0 @@ -This is a smoke test of dex conversion, which checks to see that -array type unification works properly. - -This test compares emitted code against a known-good (via eyeballing) -version, so it is possible for this test to spuriously fail if other -aspects of conversion end up altering the output in innocuous ways. diff --git a/dx/tests/090-dex-unify-arrays/run b/dx/tests/090-dex-unify-arrays/run deleted file mode 100644 index 47b709c07..000000000 --- a/dx/tests/090-dex-unify-arrays/run +++ /dev/null @@ -1,19 +0,0 @@ -#!/bin/bash -# -# Copyright (C) 2007 The Android Open Source Project -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -$JAVAC -d . *.java -dx --debug --dex --no-optimize --positions=none --no-locals \ - --dump-method=Blort.test'*' Blort.class diff --git a/dx/tests/091-ssa-const-collector/Blort.java b/dx/tests/091-ssa-const-collector/Blort.java deleted file mode 100644 index 40626e2b8..000000000 --- a/dx/tests/091-ssa-const-collector/Blort.java +++ /dev/null @@ -1,65 +0,0 @@ - -class Blort { - /** Class constructors for enums use a lot of const's */ - enum Foo { - ONE,TWO,THREE,FOUR,FIVE,SIX,SEVEN,EIGHT - } - - /** all uses of 10 should be combined except the local assignment */ - void testNumeric() { - int foo = 10; - - for (int i = 0; i < 10; i++){ - foo += i * 10; - } - - for (int i = 0; i < 10; i++){ - foo += i + 10; - } - } - - void testStrings() { - StringBuilder sb = new StringBuilder(); - - sb.append("foo"); - sb.append("foo"); - sb.append("foo"); - sb.append("foo"); - sb.append("foo"); - sb.append("foo"); - } - - void testCaughtStrings() { - StringBuilder sb = new StringBuilder(); - - sb.append("foo"); - sb.append("foo"); - sb.append("foo"); - try { - sb.append("foo"); - sb.append("foo"); - sb.append("foo"); - } catch (Throwable tr) { - System.out.println("foo"); - } - } - - /** local variables cannot be intermingled */ - void testLocalVars() { - int i = 10; - int j = 10; - int k = 10; - int a = 10; - int b = 10; - int c = 10; - - i *= 10; - } - - void testNull(Object a) { - a.equals(null); - a.equals(null); - - } -} - diff --git a/dx/tests/091-ssa-const-collector/expected.txt b/dx/tests/091-ssa-const-collector/expected.txt deleted file mode 100644 index 0edb6e8e8..000000000 --- a/dx/tests/091-ssa-const-collector/expected.txt +++ /dev/null @@ -1,475 +0,0 @@ -reading Blort.class... -method <init> ()V -first 000c -block 000a - pred 000c - Blort.java:2@0000: move-param-object(0) v0:"this"NffffLBlort; <- . - Blort.java:2@0000: goto . <- . - next 0000 -block 0000 - pred 000a - Blort.java:2@0001: Rop{invoke-direct . <- Ljava/lang/Object; call throws <any - >}(java.lang.Object.<init>:()V catch) . <- v0:NffffLBlort; - next 000b -block 000b - pred 0000 - Blort.java:4@0004: return-void . <- . - returns -block 000c - @????: goto . <- . - next 000a - -method testNumeric ()V -first 005e -block 005c - pred 005e - Blort.java:10@0000: move-param-object(0) v4:"this"LBlort; <- . - Blort.java:10@0000: goto . <- . - next 0000 -block 0000 - pred 005c - Blort.java:10@0000: const-int(10) v0:I=10 <- . - @????: mark-local-int . <- v0:"foo"I - Blort.java:12@0003: const-int(0) v1:I=0 <- . - @????: mark-local-int . <- v1:"i"I - Blort.java:12@0004: goto . <- . - next 0005 -block 0005 - pred 0000 - pred 000b - Blort.java:12@0008: if-ge-int . <- v1:I v3:I=10 - next 000b * - next 0018 -block 000b - pred 0005 - Blort.java:13@000f: mul-const-int(10) v2:I <- v1:I - Blort.java:13@0010: add-int v0:I <- v0:I v2:I - @????: mark-local-int . <- v0:"foo"I - Blort.java:12@0012: add-const-int(1) v1:"i"I <- v1:I - Blort.java:12@0015: goto . <- . - next 0005 -block 0018 - pred 0005 - Blort.java:16@0018: const-int(0) v1:I=0 <- . - @????: mark-local-int . <- v1:"i"I - Blort.java:16@0019: goto . <- . - next 001a -block 001a - pred 0018 - pred 0020 - Blort.java:16@001d: if-ge-int . <- v1:I v3:I=10 - next 0020 * - next 005d -block 0020 - pred 001a - Blort.java:17@0024: add-const-int(10) v2:I <- v1:I - Blort.java:17@0025: add-int v0:I <- v0:I v2:I - @????: mark-local-int . <- v0:"foo"I - Blort.java:16@0027: add-const-int(1) v1:"i"I <- v1:I - Blort.java:16@002a: goto . <- . - next 001a -block 005d - pred 001a - Blort.java:19@002d: return-void . <- . - returns -block 005e - @????: const-int(10) v3:I=10 <- . - @????: goto . <- . - next 005c - -method testStrings ()V -first 0078 -block 0064 - pred 007b - Blort.java:22@0000: move-param-object(0) v3:"this"LBlort; <- . - Blort.java:22@0000: goto . <- . - next 0000 -block 006b - pred 0000 - Blort.java:22@0000: Rop{move-result-pseudo N0000Ljava/lang/StringBuilder; <- - . flows} v0:N0000Ljava/lang/StringBuilder; <- . - Blort.java:22@0000: goto . <- . - next 0003 -block 0000 - pred 0064 - Blort.java:22@0000: new-instance(java.lang.StringBuilder catch) . <- . - next 006b -block 0003 - pred 006b - Blort.java:22@0004: Rop{invoke-direct . <- Ljava/lang/StringBuilder; call thr - ows <any>}(java.lang.StringBuilder.<init>:()V catch) . <- v0:N0000Ljava/lang/ - StringBuilder; - next 0007 -block 006c - pred 0007 - Blort.java:24@0009: Rop{move-result-pseudo Ljava/lang/String; <- . flows} v1: - Ljava/lang/String;="foo" <- . - Blort.java:24@0009: goto . <- . - next 000b -block 0007 - pred 0003 - @????: mark-local-object . <- v0:"sb"Ljava/lang/StringBuilder; - Blort.java:24@0009: const-object("foo" catch) . <- . - next 006c -block 000b - pred 006c - Blort.java:24@000b: Rop{invoke-virtual . <- Ljava/lang/StringBuilder; Ljava/l - ang/String; call throws <any>}(java.lang.StringBuilder.append:(Ljava/lang/Str - ing;)Ljava/lang/StringBuilder; catch) . <- v0:Ljava/lang/StringBuilder; v2:Lj - ava/lang/String;="foo" - next 000e -block 006e - pred 000e - Blort.java:25@0010: Rop{move-result-pseudo Ljava/lang/String; <- . flows} v1: - Ljava/lang/String;="foo" <- . - Blort.java:25@0010: goto . <- . - next 0012 -block 000e - pred 000b - Blort.java:25@0010: const-object("foo" catch) . <- . - next 006e -block 0012 - pred 006e - Blort.java:25@0012: Rop{invoke-virtual . <- Ljava/lang/StringBuilder; Ljava/l - ang/String; call throws <any>}(java.lang.StringBuilder.append:(Ljava/lang/Str - ing;)Ljava/lang/StringBuilder; catch) . <- v0:Ljava/lang/StringBuilder; v2:Lj - ava/lang/String;="foo" - next 0015 -block 0070 - pred 0015 - Blort.java:26@0017: Rop{move-result-pseudo Ljava/lang/String; <- . flows} v1: - Ljava/lang/String;="foo" <- . - Blort.java:26@0017: goto . <- . - next 0019 -block 0015 - pred 0012 - Blort.java:26@0017: const-object("foo" catch) . <- . - next 0070 -block 0019 - pred 0070 - Blort.java:26@0019: Rop{invoke-virtual . <- Ljava/lang/StringBuilder; Ljava/l - ang/String; call throws <any>}(java.lang.StringBuilder.append:(Ljava/lang/Str - ing;)Ljava/lang/StringBuilder; catch) . <- v0:Ljava/lang/StringBuilder; v2:Lj - ava/lang/String;="foo" - next 001c -block 0072 - pred 001c - Blort.java:27@001e: Rop{move-result-pseudo Ljava/lang/String; <- . flows} v1: - Ljava/lang/String;="foo" <- . - Blort.java:27@001e: goto . <- . - next 0020 -block 001c - pred 0019 - Blort.java:27@001e: const-object("foo" catch) . <- . - next 0072 -block 0020 - pred 0072 - Blort.java:27@0020: Rop{invoke-virtual . <- Ljava/lang/StringBuilder; Ljava/l - ang/String; call throws <any>}(java.lang.StringBuilder.append:(Ljava/lang/Str - ing;)Ljava/lang/StringBuilder; catch) . <- v0:Ljava/lang/StringBuilder; v2:Lj - ava/lang/String;="foo" - next 0023 -block 0074 - pred 0023 - Blort.java:28@0025: Rop{move-result-pseudo Ljava/lang/String; <- . flows} v1: - Ljava/lang/String;="foo" <- . - Blort.java:28@0025: goto . <- . - next 0027 -block 0023 - pred 0020 - Blort.java:28@0025: const-object("foo" catch) . <- . - next 0074 -block 0027 - pred 0074 - Blort.java:28@0027: Rop{invoke-virtual . <- Ljava/lang/StringBuilder; Ljava/l - ang/String; call throws <any>}(java.lang.StringBuilder.append:(Ljava/lang/Str - ing;)Ljava/lang/StringBuilder; catch) . <- v0:Ljava/lang/StringBuilder; v2:Lj - ava/lang/String;="foo" - next 002a -block 0076 - pred 002a - Blort.java:29@002c: Rop{move-result-pseudo Ljava/lang/String; <- . flows} v1: - Ljava/lang/String;="foo" <- . - Blort.java:29@002c: goto . <- . - next 002e -block 002a - pred 0027 - Blort.java:29@002c: const-object("foo" catch) . <- . - next 0076 -block 002e - pred 0076 - Blort.java:29@002e: Rop{invoke-virtual . <- Ljava/lang/StringBuilder; Ljava/l - ang/String; call throws <any>}(java.lang.StringBuilder.append:(Ljava/lang/Str - ing;)Ljava/lang/StringBuilder; catch) . <- v0:Ljava/lang/StringBuilder; v2:Lj - ava/lang/String;="foo" - next 0065 -block 0065 - pred 002e - Blort.java:30@0032: return-void . <- . - returns -block 0078 - @????: goto . <- . - next 007a -block 007a - pred 0078 - @????: const-object("foo" catch) . <- . - next 007b -block 007b - pred 007a - @????: Rop{move-result-pseudo Ljava/lang/String; <- . flows} v2:Ljava/lang/St - ring;="foo" <- . - @????: goto . <- . - next 0064 - -method testCaughtStrings ()V -first 0094 -block 007e - pred 009e - Blort.java:33@0000: move-param-object(0) v5:"this"LBlort; <- . - Blort.java:33@0000: goto . <- . - next 0000 -block 0085 - pred 0000 - Blort.java:33@0000: Rop{move-result-pseudo N0000Ljava/lang/StringBuilder; <- - . flows} v0:N0000Ljava/lang/StringBuilder; <- . - Blort.java:33@0000: goto . <- . - next 0003 -block 0000 - pred 007e - Blort.java:33@0000: new-instance(java.lang.StringBuilder catch) . <- . - next 0085 -block 0003 - pred 0085 - Blort.java:33@0004: Rop{invoke-direct . <- Ljava/lang/StringBuilder; call thr - ows <any>}(java.lang.StringBuilder.<init>:()V catch) . <- v0:N0000Ljava/lang/ - StringBuilder; - next 0007 -block 0086 - pred 0007 - Blort.java:35@0009: Rop{move-result-pseudo Ljava/lang/String; <- . flows} v2: - Ljava/lang/String;="foo" <- . - Blort.java:35@0009: goto . <- . - next 000b -block 0007 - pred 0003 - @????: mark-local-object . <- v0:"sb"Ljava/lang/StringBuilder; - Blort.java:35@0009: const-object("foo" catch) . <- . - next 0086 -block 000b - pred 0086 - Blort.java:35@000b: Rop{invoke-virtual . <- Ljava/lang/StringBuilder; Ljava/l - ang/String; call throws <any>}(java.lang.StringBuilder.append:(Ljava/lang/Str - ing;)Ljava/lang/StringBuilder; catch) . <- v0:Ljava/lang/StringBuilder; v4:Lj - ava/lang/String;="foo" - next 000e -block 0088 - pred 000e - Blort.java:36@0010: Rop{move-result-pseudo Ljava/lang/String; <- . flows} v2: - Ljava/lang/String;="foo" <- . - Blort.java:36@0010: goto . <- . - next 0012 -block 000e - pred 000b - Blort.java:36@0010: const-object("foo" catch) . <- . - next 0088 -block 0012 - pred 0088 - Blort.java:36@0012: Rop{invoke-virtual . <- Ljava/lang/StringBuilder; Ljava/l - ang/String; call throws <any>}(java.lang.StringBuilder.append:(Ljava/lang/Str - ing;)Ljava/lang/StringBuilder; catch) . <- v0:Ljava/lang/StringBuilder; v4:Lj - ava/lang/String;="foo" - next 0015 -block 008a - pred 0015 - Blort.java:37@0017: Rop{move-result-pseudo Ljava/lang/String; <- . flows} v2: - Ljava/lang/String;="foo" <- . - Blort.java:37@0017: goto . <- . - next 0019 -block 0015 - pred 0012 - Blort.java:37@0017: const-object("foo" catch) . <- . - next 008a -block 0019 - pred 008a - Blort.java:37@0019: Rop{invoke-virtual . <- Ljava/lang/StringBuilder; Ljava/l - ang/String; call throws <any>}(java.lang.StringBuilder.append:(Ljava/lang/Str - ing;)Ljava/lang/StringBuilder; catch) . <- v0:Ljava/lang/StringBuilder; v4:Lj - ava/lang/String;="foo" - next 001d -block 008c - pred 001d - Blort.java:39@001e: Rop{move-result-pseudo Ljava/lang/String; <- . flows} v2: - Ljava/lang/String;="foo" <- . - Blort.java:39@001e: goto . <- . - next 0020 -block 001d - pred 0019 - Blort.java:39@001e: const-object("foo" catch java.lang.Throwable) . <- . - next 0095 - next 008c * -block 0020 - pred 008c - Blort.java:39@0020: Rop{invoke-virtual . <- Ljava/lang/StringBuilder; Ljava/l - ang/String; call throws <any>}(java.lang.StringBuilder.append:(Ljava/lang/Str - ing;)Ljava/lang/StringBuilder; catch java.lang.Throwable) . <- v0:Ljava/lang/ - StringBuilder; v2:Ljava/lang/String;="foo" - next 0095 - next 0023 * -block 008e - pred 0023 - Blort.java:40@0025: Rop{move-result-pseudo Ljava/lang/String; <- . flows} v2: - Ljava/lang/String;="foo" <- . - Blort.java:40@0025: goto . <- . - next 0027 -block 0023 - pred 0020 - Blort.java:40@0025: const-object("foo" catch java.lang.Throwable) . <- . - next 0095 - next 008e * -block 0027 - pred 008e - Blort.java:40@0027: Rop{invoke-virtual . <- Ljava/lang/StringBuilder; Ljava/l - ang/String; call throws <any>}(java.lang.StringBuilder.append:(Ljava/lang/Str - ing;)Ljava/lang/StringBuilder; catch java.lang.Throwable) . <- v0:Ljava/lang/ - StringBuilder; v2:Ljava/lang/String;="foo" - next 0095 - next 002a * -block 0090 - pred 002a - Blort.java:41@002c: Rop{move-result-pseudo Ljava/lang/String; <- . flows} v2: - Ljava/lang/String;="foo" <- . - Blort.java:41@002c: goto . <- . - next 002e -block 002a - pred 0027 - Blort.java:41@002c: const-object("foo" catch java.lang.Throwable) . <- . - next 0095 - next 0090 * -block 002e - pred 0090 - Blort.java:41@002e: Rop{invoke-virtual . <- Ljava/lang/StringBuilder; Ljava/l - ang/String; call throws <any>}(java.lang.StringBuilder.append:(Ljava/lang/Str - ing;)Ljava/lang/StringBuilder; catch java.lang.Throwable) . <- v0:Ljava/lang/ - StringBuilder; v2:Ljava/lang/String;="foo" - next 0095 - next 007f * -block 0092 - pred 0035 - Blort.java:43@0036: Rop{move-result-pseudo Ljava/io/PrintStream; <- . flows} - v2:Ljava/io/PrintStream; <- . - Blort.java:43@0036: goto . <- . - next 0039 -block 0035 - pred 0095 - @????: mark-local-object . <- v1:"tr"Ljava/lang/Throwable; - Blort.java:43@0036: get-static-object(java.lang.System.out:Ljava/io/PrintStre - am; catch) . <- . - next 0092 -block 0093 - pred 0039 - Blort.java:43@0039: Rop{move-result-pseudo Ljava/lang/String; <- . flows} v3: - Ljava/lang/String;="foo" <- . - Blort.java:43@0039: goto . <- . - next 003b -block 0039 - pred 0092 - Blort.java:43@0039: const-object("foo" catch) . <- . - next 0093 -block 003b - pred 0093 - Blort.java:43@003b: Rop{invoke-virtual . <- Ljava/io/PrintStream; Ljava/lang/ - String; call throws <any>}(java.io.PrintStream.println:(Ljava/lang/String;)V - catch) . <- v2:Ljava/io/PrintStream; v4:Ljava/lang/String;="foo" - next 007f -block 007f - pred 002e - pred 003b - Blort.java:45@003e: return-void . <- . - returns -block 0094 - @????: goto . <- . - next 009d -block 0095 - pred 001d - pred 0020 - pred 0023 - pred 0027 - pred 002a - pred 002e - Blort.java:42@0035: Rop{move-exception Ljava/lang/Throwable; <- . flows} v2:L - java/lang/Throwable; <- . - @????: move-object v1:Ljava/lang/Throwable; <- v2:Ljava/lang/Throwable; - @????: goto . <- . - next 0035 -block 009d - pred 0094 - @????: const-object("foo" catch) . <- . - next 009e -block 009e - pred 009d - @????: Rop{move-result-pseudo Ljava/lang/String; <- . flows} v4:Ljava/lang/St - ring;="foo" <- . - @????: goto . <- . - next 007e - -method testLocalVars ()V -first 0004 -block 0002 - pred 0004 - Blort.java:49@0000: move-param-object(0) v6:"this"LBlort; <- . - Blort.java:49@0000: goto . <- . - next 0000 -block 0000 - pred 0002 - Blort.java:49@0000: const-int(10) v3:I=10 <- . - @????: mark-local-int . <- v3:"i"I - Blort.java:50@0003: const-int(10) v4:I=10 <- . - @????: mark-local-int . <- v4:"j"I - Blort.java:51@0006: const-int(10) v5:I=10 <- . - @????: mark-local-int . <- v5:"k"I - Blort.java:52@0009: const-int(10) v0:I=10 <- . - @????: mark-local-int . <- v0:"a"I - Blort.java:53@000d: const-int(10) v1:I=10 <- . - @????: mark-local-int . <- v1:"b"I - Blort.java:54@0011: const-int(10) v2:I=10 <- . - @????: mark-local-int . <- v2:"c"I - Blort.java:56@0018: mul-const-int(10) v3:I <- v3:I - @????: mark-local-int . <- v3:"i"I=100 - Blort.java:57@001a: goto . <- . - next 0003 -block 0003 - pred 0000 - Blort.java:57@001a: return-void . <- . - returns -block 0004 - @????: goto . <- . - next 0002 - -method testNull (Ljava/lang/Object;)V -first 0021 -block 0018 - pred 0021 - Blort.java:60@0000: move-param-object(0) v1:"this"LBlort; <- . - Blort.java:60@0000: move-param-object(1) v2:"a"Ljava/lang/Object; <- . - Blort.java:60@0000: goto . <- . - next 0000 -block 0000 - pred 0018 - Blort.java:60@0002: Rop{invoke-virtual . <- Ljava/lang/Object; Ljava/lang/Obj - ect; call throws <any>}(java.lang.Object.equals:(Ljava/lang/Object;)Z catch) - . <- v2:Ljava/lang/Object; v0:<null>=null - next 0005 -block 0005 - pred 0000 - Blort.java:61@0008: Rop{invoke-virtual . <- Ljava/lang/Object; Ljava/lang/Obj - ect; call throws <any>}(java.lang.Object.equals:(Ljava/lang/Object;)Z catch) - . <- v2:Ljava/lang/Object; v0:<null>=null - next 0019 -block 0019 - pred 0005 - Blort.java:63@000c: return-void . <- . - returns -block 0021 - @????: const-object-nothrow(null) v0:<null>=null <- . - @????: goto . <- . - next 0018 diff --git a/dx/tests/091-ssa-const-collector/info.txt b/dx/tests/091-ssa-const-collector/info.txt deleted file mode 100644 index 020d3b356..000000000 --- a/dx/tests/091-ssa-const-collector/info.txt +++ /dev/null @@ -1,5 +0,0 @@ -This test case tests the "const collector" optimization step. - -This test compares emitted code against a known-good (via eyeballing) -version, so it is possible for this test to spuriously fail if other -aspects of conversion end up altering the output in innocuous ways. diff --git a/dx/tests/091-ssa-const-collector/run b/dx/tests/091-ssa-const-collector/run deleted file mode 100644 index aa37784fe..000000000 --- a/dx/tests/091-ssa-const-collector/run +++ /dev/null @@ -1,18 +0,0 @@ -#!/bin/bash -# -# Copyright (C) 2008 The Android Open Source Project -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -$JAVAC -g -d . Blort.java -dx --dump --optimize --rop-blocks Blort.class diff --git a/dx/tests/092-ssa-cfg-edge-cases/Blort.java b/dx/tests/092-ssa-cfg-edge-cases/Blort.java deleted file mode 100644 index a1f264ef3..000000000 --- a/dx/tests/092-ssa-cfg-edge-cases/Blort.java +++ /dev/null @@ -1,21 +0,0 @@ - -class Blort { - - void testMultipleIdenticalSuccessors(int foo) { - switch(foo) { - case 1: - case 2: - case 3: - System.out.println("foo"); - break; - } - } - - void testNoPrimarySuccessor() { - try { - throw new RuntimeException(); - } catch (RuntimeException ex){ - } - } -} - diff --git a/dx/tests/092-ssa-cfg-edge-cases/expected.txt b/dx/tests/092-ssa-cfg-edge-cases/expected.txt deleted file mode 100644 index 41fefc48a..000000000 --- a/dx/tests/092-ssa-cfg-edge-cases/expected.txt +++ /dev/null @@ -1,120 +0,0 @@ -reading Blort.class... -method <init> ()V -first 000c -block 000a - pred 000c - Blort.java:2@0000: move-param-object(0) v0:"this"NffffLBlort; <- . - Blort.java:2@0000: goto . <- . - next 0000 -block 0000 - pred 000a - Blort.java:2@0001: Rop{invoke-direct . <- Ljava/lang/Object; call throws <any - >}(java.lang.Object.<init>:()V catch) . <- v0:NffffLBlort; - next 000b -block 000b - pred 0000 - Blort.java:2@0004: return-void . <- . - returns -block 000c - @????: goto . <- . - next 000a - -method testMultipleIdenticalSuccessors (I)V -first 0053 -block 004a - pred 0053 - Blort.java:5@0000: move-param-object(0) v2:"this"LBlort; <- . - Blort.java:5@0000: move-param-int(1) v3:"foo"I <- . - Blort.java:5@0000: goto . <- . - next 0000 -block 0000 - pred 004a - Blort.java:5@0001: switch({1, 2, 3}) . <- v3:I - next 001c - next 001c - next 001c - next 004b * -block 0051 - pred 001c - Blort.java:9@001c: Rop{move-result-pseudo Ljava/io/PrintStream; <- . flows} v - 0:Ljava/io/PrintStream; <- . - Blort.java:9@001c: goto . <- . - next 001f -block 001c - pred 0000 - pred 0000 - pred 0000 - Blort.java:9@001c: get-static-object(java.lang.System.out:Ljava/io/PrintStrea - m; catch) . <- . - next 0051 -block 0052 - pred 001f - Blort.java:9@001f: Rop{move-result-pseudo Ljava/lang/String; <- . flows} v1:L - java/lang/String;="foo" <- . - Blort.java:9@001f: goto . <- . - next 0021 -block 001f - pred 0051 - Blort.java:9@001f: const-object("foo" catch) . <- . - next 0052 -block 0021 - pred 0052 - Blort.java:9@0021: Rop{invoke-virtual . <- Ljava/io/PrintStream; Ljava/lang/S - tring; call throws <any>}(java.io.PrintStream.println:(Ljava/lang/String;)V c - atch) . <- v0:Ljava/io/PrintStream; v1:Ljava/lang/String;="foo" - next 004b -block 004b - pred 0000 - pred 0021 - Blort.java:12@0024: return-void . <- . - returns -block 0053 - @????: goto . <- . - next 004a - -method testNoPrimarySuccessor ()V -first 001a -block 0012 - pred 001a - Blort.java:16@0000: move-param-object(0) v1:"this"LBlort; <- . - Blort.java:16@0000: goto . <- . - next 0000 -block 0019 - pred 0000 - Blort.java:16@0000: Rop{move-result-pseudo N0000Ljava/lang/RuntimeException; - <- . flows} v0:N0000Ljava/lang/RuntimeException; <- . - Blort.java:16@0000: goto . <- . - next 0003 -block 0000 - pred 0012 - Blort.java:16@0000: new-instance(java.lang.RuntimeException catch java.lang.R - untimeException) . <- . - next 001b - next 0019 * -block 0003 - pred 0019 - Blort.java:16@0004: Rop{invoke-direct . <- Ljava/lang/RuntimeException; call - throws <any>}(java.lang.RuntimeException.<init>:()V catch java.lang.RuntimeEx - ception) . <- v0:N0000Ljava/lang/RuntimeException; - next 001b - next 0007 * -block 0007 - pred 0003 - Blort.java:16@0007: throw(catch java.lang.RuntimeException) . <- v0:Ljava/lan - g/RuntimeException; - next 001b -block 0013 - pred 001b - Blort.java:19@0009: return-void . <- . - returns -block 001a - @????: goto . <- . - next 0012 -block 001b - pred 0000 - pred 0003 - pred 0007 - Blort.java:17@0008: Rop{move-exception Ljava/lang/RuntimeException; <- . flow - s} v0:Ljava/lang/RuntimeException; <- . - @????: goto . <- . - next 0013 diff --git a/dx/tests/092-ssa-cfg-edge-cases/info.txt b/dx/tests/092-ssa-cfg-edge-cases/info.txt deleted file mode 100644 index 7c56302bf..000000000 --- a/dx/tests/092-ssa-cfg-edge-cases/info.txt +++ /dev/null @@ -1,5 +0,0 @@ -This test case runs a few odd control flow graphs through the optimizer. - -This test compares emitted code against a known-good (via eyeballing) -version, so it is possible for this test to spuriously fail if other -aspects of conversion end up altering the output in innocuous ways. diff --git a/dx/tests/092-ssa-cfg-edge-cases/run b/dx/tests/092-ssa-cfg-edge-cases/run deleted file mode 100644 index 090a4d794..000000000 --- a/dx/tests/092-ssa-cfg-edge-cases/run +++ /dev/null @@ -1,18 +0,0 @@ -#!/bin/bash -# -# Copyright (C) 2007 The Android Open Source Project -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -$JAVAC -g -d . Blort.java -dx --dump --optimize --rop-blocks Blort.class diff --git a/dx/tests/093-ssa-invoke-range/Blort.java b/dx/tests/093-ssa-invoke-range/Blort.java deleted file mode 100644 index a75e31fee..000000000 --- a/dx/tests/093-ssa-invoke-range/Blort.java +++ /dev/null @@ -1,70 +0,0 @@ - -class Blort { - - static void methodThatNeedsInvokeRange - (int a, int b, int c, int d, int e, int f) { - } - - void testNoLocals() { - methodThatNeedsInvokeRange(5, 0, 5, 0, 5, 0); - } - - void testMixedLocals() { - int src = 6; - int dest = 7; - - methodThatNeedsInvokeRange(src, 0, dest, 1, 5, 0); - methodThatNeedsInvokeRange(src, 0, dest, 1, 5, 0); - } - - // here the current algorithm partial-overlapping will stumble a bit - // The register containing "zero" will be marked as "reserved for locals" - // Then the subsequent arraycopy will need a whole new set of 5 registers - void testMixedWorseCase() { - int src = 6; - int dest = 7; - int zero = 0; - - methodThatNeedsInvokeRange(src, zero, dest, 1, 5, 0); - methodThatNeedsInvokeRange(src, 0, dest, 1, 5, 0); - } - - void testAllParams(int a, int b, int c, int d, int e, int f) { - methodThatNeedsInvokeRange(a, b, c, d, e, f); - } - - // this could try to make use of param positions, but doesn't - static void testTailParams(int destPos, int length) { - int src = 6; - int dest = 7; - - methodThatNeedsInvokeRange(src, 0, dest, 0, destPos, length); - } - - - // This presently requires a whole N new registers - void testFlip() { - int src = 6; - int dest = 7; - - methodThatNeedsInvokeRange(src, 0, dest, 1, 5, 0); - methodThatNeedsInvokeRange(dest, 0, src, 1, 5, 0); - } - - // ensure that an attempt to combine registers for a local - // with a differing category doesn't mess us up. - long testMixedCategory(boolean foo) { - if (foo) { - int offset = 1; - int src = 6; - int dest = 7; - - methodThatNeedsInvokeRange(src, 0, dest, offset, 5, 0); - return offset; - } else { - long offset = System.currentTimeMillis();; - return offset; - } - } -} - diff --git a/dx/tests/093-ssa-invoke-range/expected.txt b/dx/tests/093-ssa-invoke-range/expected.txt deleted file mode 100644 index bb383c0de..000000000 --- a/dx/tests/093-ssa-invoke-range/expected.txt +++ /dev/null @@ -1,301 +0,0 @@ -reading Blort.class... -method <init> ()V -first 000c -block 000a - pred 000c - Blort.java:2@0000: move-param-object(0) v0:"this"NffffLBlort; <- . - Blort.java:2@0000: goto . <- . - next 0000 -block 0000 - pred 000a - Blort.java:2@0001: Rop{invoke-direct . <- Ljava/lang/Object; call throws <any - >}(java.lang.Object.<init>:()V catch) . <- v0:NffffLBlort; - next 000b -block 000b - pred 0000 - Blort.java:2@0004: return-void . <- . - returns -block 000c - @????: goto . <- . - next 000a - -method methodThatNeedsInvokeRange (IIIIII)V -first 0004 -block 0002 - pred 0004 - Blort.java:6@0000: move-param-int(0) v0:"a"I <- . - Blort.java:6@0000: move-param-int(1) v1:"b"I <- . - Blort.java:6@0000: move-param-int(2) v2:"c"I <- . - Blort.java:6@0000: move-param-int(3) v3:"d"I <- . - Blort.java:6@0000: move-param-int(4) v4:"e"I <- . - Blort.java:6@0000: move-param-int(5) v5:"f"I <- . - Blort.java:6@0000: goto . <- . - next 0003 -block 0003 - pred 0002 - Blort.java:6@0000: return-void . <- . - returns -block 0004 - @????: goto . <- . - next 0002 - -method testNoLocals ()V -first 0016 -block 0014 - pred 0016 - Blort.java:9@0000: move-param-object(0) v6:"this"LBlort; <- . - Blort.java:9@0000: goto . <- . - next 0000 -block 0000 - pred 0014 - @????: move-int v2:I=5 <- v0:I=5 - @????: move-int v3:I=0 <- v1:I=0 - @????: move-int v4:I=5 <- v0:I=5 - @????: move-int v5:I=0 <- v1:I=0 - Blort.java:9@0006: Rop{invoke-static . <- I I I I I I call throws <any>}(Blor - t.methodThatNeedsInvokeRange:(IIIIII)V catch) . <- v0:I=5 v1:I=0 v2:I=5 v3:I= - 0 v4:I=5 v5:I=0 - next 0015 -block 0015 - pred 0000 - Blort.java:10@0009: return-void . <- . - returns -block 0016 - @????: const-int(5) v0:I=5 <- . - @????: const-int(0) v1:I=0 <- . - @????: goto . <- . - next 0014 - -method testMixedLocals ()V -first 0034 -block 0032 - pred 0034 - Blort.java:13@0000: move-param-object(0) v6:"this"LBlort; <- . - Blort.java:13@0000: goto . <- . - next 0000 -block 0000 - pred 0032 - Blort.java:13@0000: const-int(6) v0:I=6 <- . - @????: mark-local-int . <- v0:"src"I - Blort.java:14@0003: const-int(7) v2:I=7 <- . - @????: mark-local-int . <- v2:"dest"I - @????: move-int v5:I=0 <- v1:I=0 - Blort.java:16@000c: Rop{invoke-static . <- I I I I I I call throws <any>}(Blo - rt.methodThatNeedsInvokeRange:(IIIIII)V catch) . <- v0:I v1:I=0 v2:I v3:I=1 v - 4:I=5 v5:I=0 - next 000f -block 000f - pred 0000 - @????: move-int v5:I=0 <- v1:I=0 - Blort.java:17@0015: Rop{invoke-static . <- I I I I I I call throws <any>}(Blo - rt.methodThatNeedsInvokeRange:(IIIIII)V catch) . <- v0:I v1:I=0 v2:I v3:I=1 v - 4:I=5 v5:I=0 - next 0033 -block 0033 - pred 000f - Blort.java:18@0018: return-void . <- . - returns -block 0034 - @????: const-int(5) v4:I=5 <- . - @????: const-int(1) v3:I=1 <- . - @????: const-int(0) v1:I=0 <- . - @????: goto . <- . - next 0032 - -method testMixedWorseCase ()V -first 0038 -block 0036 - pred 0038 - Blort.java:24@0000: move-param-object(0) v12:"this"LBlort; <- . - Blort.java:24@0000: goto . <- . - next 0000 -block 0000 - pred 0036 - Blort.java:24@0000: const-int(6) v0:I=6 <- . - @????: mark-local-int . <- v0:"src"I - Blort.java:25@0003: const-int(7) v2:I=7 <- . - @????: mark-local-int . <- v2:"dest"I - Blort.java:26@0006: const-int(0) v1:I=0 <- . - @????: mark-local-int . <- v1:"zero"I - Blort.java:28@000e: Rop{invoke-static . <- I I I I I I call throws <any>}(Blo - rt.methodThatNeedsInvokeRange:(IIIIII)V catch) . <- v0:I v1:I v2:I v3:I=1 v4: - I=5 v5:I=0 - next 0011 -block 0011 - pred 0000 - @????: move-int v6:I <- v0:I - @????: move-int v7:I=0 <- v5:I=0 - @????: move-int v8:I <- v2:I - @????: move-int v9:I=1 <- v3:I=1 - @????: move-int v10:I=5 <- v4:I=5 - @????: move-int v11:I=0 <- v5:I=0 - Blort.java:29@0017: Rop{invoke-static . <- I I I I I I call throws <any>}(Blo - rt.methodThatNeedsInvokeRange:(IIIIII)V catch) . <- v6:I v7:I=0 v8:I v9:I=1 v - 10:I=5 v11:I=0 - next 0037 -block 0037 - pred 0011 - Blort.java:30@001a: return-void . <- . - returns -block 0038 - @????: const-int(5) v4:I=5 <- . - @????: const-int(1) v3:I=1 <- . - @????: const-int(0) v5:I=0 <- . - @????: goto . <- . - next 0036 - -method testAllParams (IIIIII)V -first 001c -block 001a - pred 001c - Blort.java:33@0000: move-param-object(0) v0:"this"LBlort; <- . - Blort.java:33@0000: move-param-int(1) v1:"a"I <- . - Blort.java:33@0000: move-param-int(2) v2:"b"I <- . - Blort.java:33@0000: move-param-int(3) v3:"c"I <- . - Blort.java:33@0000: move-param-int(4) v4:"d"I <- . - Blort.java:33@0000: move-param-int(5) v5:"e"I <- . - Blort.java:33@0000: move-param-int(6) v6:"f"I <- . - Blort.java:33@0000: goto . <- . - next 0000 -block 0000 - pred 001a - Blort.java:33@0009: Rop{invoke-static . <- I I I I I I call throws <any>}(Blo - rt.methodThatNeedsInvokeRange:(IIIIII)V catch) . <- v1:I v2:I v3:I v4:I v5:I - v6:I - next 001b -block 001b - pred 0000 - Blort.java:34@000c: return-void . <- . - returns -block 001c - @????: goto . <- . - next 001a - -method testTailParams (II)V -first 0022 -block 0020 - pred 0022 - Blort.java:38@0000: move-param-int(0) v6:"destPos"I <- . - Blort.java:38@0000: move-param-int(1) v7:"length"I <- . - Blort.java:38@0000: goto . <- . - next 0000 -block 0000 - pred 0020 - Blort.java:38@0000: const-int(6) v0:I=6 <- . - @????: mark-local-int . <- v0:"src"I - Blort.java:39@0003: const-int(7) v2:I=7 <- . - @????: mark-local-int . <- v2:"dest"I - @????: move-int v3:I=0 <- v1:I=0 - @????: move-int v4:I <- v6:I - @????: move-int v5:I <- v7:I - Blort.java:41@000c: Rop{invoke-static . <- I I I I I I call throws <any>}(Blo - rt.methodThatNeedsInvokeRange:(IIIIII)V catch) . <- v0:I v1:I=0 v2:I v3:I=0 v - 4:I v5:I - next 0021 -block 0021 - pred 0000 - Blort.java:42@000f: return-void . <- . - returns -block 0022 - @????: const-int(0) v1:I=0 <- . - @????: goto . <- . - next 0020 - -method testFlip ()V -first 0034 -block 0032 - pred 0034 - Blort.java:47@0000: move-param-object(0) v11:"this"LBlort; <- . - Blort.java:47@0000: goto . <- . - next 0000 -block 0000 - pred 0032 - Blort.java:47@0000: const-int(6) v0:I=6 <- . - @????: mark-local-int . <- v0:"src"I - Blort.java:48@0003: const-int(7) v2:I=7 <- . - @????: mark-local-int . <- v2:"dest"I - @????: move-int v5:I=0 <- v1:I=0 - Blort.java:50@000c: Rop{invoke-static . <- I I I I I I call throws <any>}(Blo - rt.methodThatNeedsInvokeRange:(IIIIII)V catch) . <- v0:I v1:I=0 v2:I v3:I=1 v - 4:I=5 v5:I=0 - next 000f -block 000f - pred 0000 - @????: move-int v5:I <- v2:I - @????: move-int v6:I=0 <- v1:I=0 - @????: move-int v7:I <- v0:I - @????: move-int v8:I=1 <- v3:I=1 - @????: move-int v9:I=5 <- v4:I=5 - @????: move-int v10:I=0 <- v1:I=0 - Blort.java:51@0015: Rop{invoke-static . <- I I I I I I call throws <any>}(Blo - rt.methodThatNeedsInvokeRange:(IIIIII)V catch) . <- v5:I v6:I=0 v7:I v8:I=1 v - 9:I=5 v10:I=0 - next 0033 -block 0033 - pred 000f - Blort.java:52@0018: return-void . <- . - returns -block 0034 - @????: const-int(5) v4:I=5 <- . - @????: const-int(1) v3:I=1 <- . - @????: const-int(0) v1:I=0 <- . - @????: goto . <- . - next 0032 - -method testMixedCategory (Z)J -first 0044 -block 003c - pred 0044 - Blort.java:57@0000: move-param-object(0) v8:"this"LBlort; <- . - Blort.java:57@0000: move-param-int(1) v9:"foo"Z <- . - Blort.java:57@0000: goto . <- . - next 0000 -block 0000 - pred 003c - Blort.java:57@0001: if-eqz-int . <- v9:I - next 0004 * - next 001a -block 0004 - pred 0000 - Blort.java:58@0004: const-int(1) v3:I=1 <- . - @????: mark-local-int . <- v3:"offset"I - Blort.java:59@0006: const-int(6) v0:I=6 <- . - @????: mark-local-int . <- v0:"src"I - Blort.java:60@0009: const-int(7) v2:I=7 <- . - @????: mark-local-int . <- v2:"dest"I - Blort.java:62@0012: const-int(5) v4:I=5 <- . - @????: move-int v5:I=0 <- v1:I=0 - Blort.java:62@0014: Rop{invoke-static . <- I I I I I I call throws <any>}(Blo - rt.methodThatNeedsInvokeRange:(IIIIII)V catch) . <- v0:I v1:I=0 v2:I v3:I v4: - I=5 v5:I=0 - next 0017 -block 0017 - pred 0004 - Blort.java:63@0018: conv-i2l v4:J <- v3:I - Blort.java:63@0019: goto . <- . - next 003d -block 0043 - pred 001a - Blort.java:65@001a: Rop{move-result J <- . flows} v6:J <- . - Blort.java:65@001a: goto . <- . - next 001d -block 001a - pred 0000 - Blort.java:65@001a: Rop{invoke-static . <- . call throws <any>}(java.lang.Sys - tem.currentTimeMillis:()J catch) . <- . - next 0043 -block 001d - pred 0043 - @????: mark-local-long . <- v6:"offset"J - @????: move-long v4:J <- v6:"offset"J - Blort.java:66@001f: goto . <- . - next 003d -block 003d - pred 0017 - pred 001d - Blort.java:66@001f: return-long . <- v4:J - returns -block 0044 - @????: const-int(0) v1:I=0 <- . - @????: goto . <- . - next 003c diff --git a/dx/tests/093-ssa-invoke-range/info.txt b/dx/tests/093-ssa-invoke-range/info.txt deleted file mode 100644 index 372bed72b..000000000 --- a/dx/tests/093-ssa-invoke-range/info.txt +++ /dev/null @@ -1,6 +0,0 @@ -This test case checks the ability of the register allocator to plan -for dex's invoke-range instruction. - -This test compares emitted code against a known-good (via eyeballing) -version, so it is possible for this test to spuriously fail if other -aspects of conversion end up altering the output in innocuous ways. diff --git a/dx/tests/093-ssa-invoke-range/run b/dx/tests/093-ssa-invoke-range/run deleted file mode 100644 index aa37784fe..000000000 --- a/dx/tests/093-ssa-invoke-range/run +++ /dev/null @@ -1,18 +0,0 @@ -#!/bin/bash -# -# Copyright (C) 2008 The Android Open Source Project -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -$JAVAC -g -d . Blort.java -dx --dump --optimize --rop-blocks Blort.class diff --git a/dx/tests/094-scala-locals/blort.j b/dx/tests/094-scala-locals/blort.j deleted file mode 100644 index 0d3cae563..000000000 --- a/dx/tests/094-scala-locals/blort.j +++ /dev/null @@ -1,45 +0,0 @@ -; Copyright (C) 2008 The Android Open Source Project -; -; Licensed under the Apache License, Version 2.0 (the "License"); -; you may not use this file except in compliance with the License. -; You may obtain a copy of the License at -; -; http://www.apache.org/licenses/LICENSE-2.0 -; -; Unless required by applicable law or agreed to in writing, software -; distributed under the License is distributed on an "AS IS" BASIS, -; WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -; See the License for the specific language governing permissions and -; limitations under the License. - -.class Blort -.super java/lang/Object - -.method public static returnint()I - .limit stack 1 - ldc 10 - ireturn -.end method - -.method public static scalalocals()V - .limit locals 5 - .limit stack 5 - .var 4 is x I from start to end -start: - invokestatic blort/returnint()I - invokestatic blort/returnint()I - invokestatic blort/returnint()I - invokestatic blort/returnint()I - dup - istore 4 - istore 2 - istore 3 - istore 1 - istore 0 - iload_2 - istore 4 - iload_3 -end: - return -.end method - diff --git a/dx/tests/094-scala-locals/expected.txt b/dx/tests/094-scala-locals/expected.txt deleted file mode 100644 index c74db7072..000000000 --- a/dx/tests/094-scala-locals/expected.txt +++ /dev/null @@ -1,85 +0,0 @@ -reading Blort.class... -method scalalocals ()V -first 0025 -block 001a - pred 0025 - live in:{} - blort.j:@0000: goto . <- . - next 0000 - live out:{} -block 0021 - pred 0000 - live in:{} - blort.j:@0000: goto . <- . - next 0003 - live out:{} -block 0000 - pred 001a - live in:{} - blort.j:@0000: Rop{invoke-static . <- . call throws <any>}(blort.returnint:() - I catch) . <- . - next 0021 - live out:{} -block 0022 - pred 0003 - live in:{} - blort.j:@0003: goto . <- . - next 0006 - live out:{} -block 0003 - pred 0021 - live in:{} - blort.j:@0003: Rop{invoke-static . <- . call throws <any>}(blort.returnint:() - I catch) . <- . - next 0022 - live out:{} -block 0023 - pred 0006 - live in:{} - blort.j:@0006: goto . <- . - next 0009 - live out:{} -block 0006 - pred 0022 - live in:{} - blort.j:@0006: Rop{invoke-static . <- . call throws <any>}(blort.returnint:() - I catch) . <- . - next 0023 - live out:{} -block 0024 - pred 0009 - live in:{} - blort.j:@0009: Rop{move-result I <- . flows} v14:I <- . - blort.j:@0009: goto . <- . - next 000c - live out:{14} -block 0009 - pred 0023 - live in:{} - blort.j:@0009: Rop{invoke-static . <- . call throws <any>}(blort.returnint:() - I catch) . <- . - next 0024 - live out:{} -block 000c - pred 0024 - live in:{14} - @????: mark-local-int . <- v14:"x"I - blort.j:@001b: goto . <- . - next 001b - live out:{} -block 001b - pred 000c - live in:{} - blort.j:@001b: return-void . <- . - next 0026 - live out:{} -block 0025 - live in:{} - @????: goto . <- . - next 001a - live out:{} -block 0026 - pred 001b - live in:{} - returns - live out:{} diff --git a/dx/tests/094-scala-locals/info.txt b/dx/tests/094-scala-locals/info.txt deleted file mode 100644 index cb1a42e6f..000000000 --- a/dx/tests/094-scala-locals/info.txt +++ /dev/null @@ -1,8 +0,0 @@ -This is a smoke test of the SSA renamer's local variable preserver. -It tests a case observed from Scala, wherein a local variable is assigned -an identical value twice. The correct result should be only a single -mark-local, with the second assignment eaten by copy-propogation. - -This test compares emitted code against a known-good (via eyeballing) -version, so it is possible for this test to spuriously fail if other -aspects of conversion end up altering the output in innocuous ways. diff --git a/dx/tests/094-scala-locals/run b/dx/tests/094-scala-locals/run deleted file mode 100644 index 4bbfa796a..000000000 --- a/dx/tests/094-scala-locals/run +++ /dev/null @@ -1,18 +0,0 @@ -#!/bin/bash -# -# Copyright (C) 2008 The Android Open Source Project -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -jasmin -d . blort.j >/dev/null -dx --debug --dump --ssa-blocks --method=scalalocals Blort.class diff --git a/dx/tests/095-dex-const-string-jumbo/Blort.java b/dx/tests/095-dex-const-string-jumbo/Blort.java deleted file mode 100644 index a0271b553..000000000 --- a/dx/tests/095-dex-const-string-jumbo/Blort.java +++ /dev/null @@ -1,25 +0,0 @@ -/* - * Copyright (C) 2008 The Android Open Source Project - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -public class Blort { - static public void consume(String s) { - // This space intentionally left blank. - } - - public void test() { - consume("zorch"); - } -} diff --git a/dx/tests/095-dex-const-string-jumbo/expected.txt b/dx/tests/095-dex-const-string-jumbo/expected.txt deleted file mode 100644 index a4014d914..000000000 --- a/dx/tests/095-dex-const-string-jumbo/expected.txt +++ /dev/null @@ -1,6 +0,0 @@ -Blort.test:()V: -regs: 0003; ins: 0001; outs: 0001 - 0000: move-object v0, v2 - 0001: const-string/jumbo v1, "zorch" - 0004: invoke-static {v1}, Blort.consume:(Ljava/lang/String;)V - 0007: return-void diff --git a/dx/tests/095-dex-const-string-jumbo/info.txt b/dx/tests/095-dex-const-string-jumbo/info.txt deleted file mode 100644 index c14fd8e33..000000000 --- a/dx/tests/095-dex-const-string-jumbo/info.txt +++ /dev/null @@ -1,6 +0,0 @@ -This is a smoke test of dex conversion, which checks to see that -const-string/jumbo gets emitted appropriately. - -This test compares emitted code against a known-good (via eyeballing) -version, so it is possible for this test to spuriously fail if other -aspects of conversion end up altering the output in innocuous ways. diff --git a/dx/tests/095-dex-const-string-jumbo/run b/dx/tests/095-dex-const-string-jumbo/run deleted file mode 100644 index d98433394..000000000 --- a/dx/tests/095-dex-const-string-jumbo/run +++ /dev/null @@ -1,42 +0,0 @@ -#!/bin/bash -# -# Copyright (C) 2008 The Android Open Source Project -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -# Write out files with 32768 total static string declarations, so that -# the reference to "zorch" in the real test file will be guaranteed to -# need a jumbo string reference (it sorts last after all the others). -# Note: Each string reference is stored in a separate static variable, -# and that variable's name is also represented in the strings, which -# is why we can just have 32768 and not 65536 declarations. - -awk ' -BEGIN { - writeFile("Zorch1", 0, 16383); - writeFile("Zorch2", 16384, 32767); -} -function writeFile(name, start, end) { - fileName = name ".java"; - printf("public class %s {\n", name) > fileName; - for (i = start; i <= end; i++) { - printf(" static public final String s%d = \"%d\";\n", - i, i) > fileName; - } - printf("}\n") > fileName; -}' - -$JAVAC -d . *.java -dx --debug --dex --no-optimize --positions=none --no-locals \ - --dump-method=Blort.test *.class - diff --git a/dx/tests/096-dex-giant-catch/Blort.java b/dx/tests/096-dex-giant-catch/Blort.java deleted file mode 100644 index f5f6e8d69..000000000 --- a/dx/tests/096-dex-giant-catch/Blort.java +++ /dev/null @@ -1,22 +0,0 @@ -/* - * Copyright (C) 2008 The Android Open Source Project - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -public class Blort { - static public void blort(long v1, long v2, long v3, long v4, - long v5, long v6, long v7, long v8) { - // This space intentionally left blank. - } -} diff --git a/dx/tests/096-dex-giant-catch/expected.txt b/dx/tests/096-dex-giant-catch/expected.txt deleted file mode 100644 index e71992eef..000000000 --- a/dx/tests/096-dex-giant-catch/expected.txt +++ /dev/null @@ -1,5 +0,0 @@ - catches - try 0024..00010017 - catch java.lang.RuntimeException -> 00011260 - try 0001003b..0001125f - catch java.lang.RuntimeException -> 00011260 diff --git a/dx/tests/096-dex-giant-catch/info.txt b/dx/tests/096-dex-giant-catch/info.txt deleted file mode 100644 index b81ce946c..000000000 --- a/dx/tests/096-dex-giant-catch/info.txt +++ /dev/null @@ -1,7 +0,0 @@ -This is a smoke test of dex conversion, which checks to see that -very long catch ranges (that cover >= 65536 code units) get emitted -appropriately. - -This test compares emitted code against a known-good (via eyeballing) -version, so it is possible for this test to spuriously fail if other -aspects of conversion end up altering the output in innocuous ways. diff --git a/dx/tests/096-dex-giant-catch/run b/dx/tests/096-dex-giant-catch/run deleted file mode 100644 index c81d04ca8..000000000 --- a/dx/tests/096-dex-giant-catch/run +++ /dev/null @@ -1,40 +0,0 @@ -#!/bin/bash -# -# Copyright (C) 2008 The Android Open Source Project -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -# Write out a file with a really huge catch range. - -awk ' -BEGIN { - fileName = "Zorch.java"; - printf("public class Zorch {\n") > fileName; - printf(" static public void test() {\n") > fileName; - printf(" try {\n") > fileName; - for (i = 0; i <= 1800; i++) { - d = i + 1000000; - printf(" Blort.blort(100%dL, 200%dL, 300%dL, 400%dL, 500%dL, " \ - "600%dL, 700%dL, 800%dL);\n", - d, d + 1, d + 2, d + 3, d + 4, d + 5, d + 6, d + 7) > fileName; - } - printf(" } catch (RuntimeException ex) {\n") > fileName; - printf(" throw ex;\n") > fileName; - printf(" }\n") > fileName; - printf(" }\n") > fileName; - printf("}\n") > fileName; -}' - -$JAVAC -d . *.java -dx --debug --dex --no-optimize --positions=none --no-locals \ - --dump-method=Zorch.test Zorch.class | grep 'try\|catch' diff --git a/dx/tests/097-dex-branch-offset-zero/Blort.java b/dx/tests/097-dex-branch-offset-zero/Blort.java deleted file mode 100644 index 5033c8f2d..000000000 --- a/dx/tests/097-dex-branch-offset-zero/Blort.java +++ /dev/null @@ -1,30 +0,0 @@ -/* - * Copyright (C) 2008 The Android Open Source Project - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -public class Blort -{ - public void test1() { - for (;;) /*empty*/ ; - } - - public void test2(int x) { - while (x > 0) /*empty*/ ; - } - - public void test3(int x, int y) { - while (x < y) /*empty*/ ; - } -} diff --git a/dx/tests/097-dex-branch-offset-zero/expected.txt b/dx/tests/097-dex-branch-offset-zero/expected.txt deleted file mode 100644 index 2b021a566..000000000 --- a/dx/tests/097-dex-branch-offset-zero/expected.txt +++ /dev/null @@ -1 +0,0 @@ -No bad branches found. diff --git a/dx/tests/097-dex-branch-offset-zero/info.txt b/dx/tests/097-dex-branch-offset-zero/info.txt deleted file mode 100644 index 4bf950216..000000000 --- a/dx/tests/097-dex-branch-offset-zero/info.txt +++ /dev/null @@ -1,6 +0,0 @@ -This is a smoke test of dex conversion, which checks to make sure that -the only non-switch branches to offset 0 happen using the goto/32 opcode. - -This test compares emitted code against a known-good (via eyeballing) -version, so it is possible for this test to spuriously fail if other -aspects of conversion end up altering the output in innocuous ways. diff --git a/dx/tests/097-dex-branch-offset-zero/run b/dx/tests/097-dex-branch-offset-zero/run deleted file mode 100644 index 34539ebdb..000000000 --- a/dx/tests/097-dex-branch-offset-zero/run +++ /dev/null @@ -1,27 +0,0 @@ -#!/bin/bash -# -# Copyright (C) 2008 The Android Open Source Project -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -$JAVAC -g -d . Blort.java -dx --debug --dex --positions=none --no-locals --dump-method=Blort.test'*' \ - *.class | grep '[-+][0-9]' | grep -v 'goto/32.*+00*$' | grep '// +00*$' - -if [ "$?" = "1" ]; then - echo "No bad branches found." -else - # Redo the dx command without filters, to aid with debugging. - dx --debug --dex --positions=none --no-locals --dump-method=Blort.test'*' \ - *.class -fi diff --git a/dx/tests/098-dex-jsr-ret-throw/ViewDebug$ViewServer.class b/dx/tests/098-dex-jsr-ret-throw/ViewDebug$ViewServer.class Binary files differdeleted file mode 100644 index ff992cacc..000000000 --- a/dx/tests/098-dex-jsr-ret-throw/ViewDebug$ViewServer.class +++ /dev/null diff --git a/dx/tests/098-dex-jsr-ret-throw/expected.txt b/dx/tests/098-dex-jsr-ret-throw/expected.txt deleted file mode 100644 index b5b1b9336..000000000 --- a/dx/tests/098-dex-jsr-ret-throw/expected.txt +++ /dev/null @@ -1,652 +0,0 @@ -reading ViewDebug$ViewServer.class... -method run ()V -first 0162 -block 0162 - ViewDebug.java:564@0000: move-param-object(0) v0:"this"Landroid/view/ViewDebu - g$ViewServer; <- . - ViewDebug.java:564@0000: goto . <- . - next 0000 -block 0169 - pred 0000 - ViewDebug.java:564@0001: Rop{move-result-pseudo Ljava/net/ServerSocket; <- . - flows} v11:Ljava/net/ServerSocket; <- . - ViewDebug.java:564@0001: goto . <- . - next 0004 -block 0000 - pred 0162 - ViewDebug.java:564@0000: move-object v11:Landroid/view/ViewDebug$ViewServer; - <- v0:Landroid/view/ViewDebug$ViewServer; - ViewDebug.java:564@0001: get-field-object(android.view.ViewDebug$ViewServer.m - ViewServerSocket:Ljava/net/ServerSocket; catch) . <- v11:Landroid/view/ViewDe - bug$ViewServer; - next 0169 -block 0004 - pred 0169 - ViewDebug.java:564@0004: move-object v1:"server"Ljava/net/ServerSocket; <- v1 - 1:Ljava/net/ServerSocket; - ViewDebug.java:564@0004: goto . <- . - next 0005 -block 016a - pred 0005 - ViewDebug.java:566@0005: Rop{move-result Ljava/lang/Thread; <- . flows} v11:L - java/lang/Thread; <- . - ViewDebug.java:566@0005: goto . <- . - next 0008 -block 0005 - pred 0004 - pred 00ad - ViewDebug.java:566@0005: Rop{invoke-static . <- . call throws <any>}(java.lan - g.Thread.currentThread:()Ljava/lang/Thread; catch) . <- . - next 016a -block 016b - pred 0008 - ViewDebug.java:566@0009: Rop{move-result-pseudo Ljava/lang/Thread; <- . flows - } v12:Ljava/lang/Thread; <- . - ViewDebug.java:566@0009: goto . <- . - next 000c -block 0008 - pred 016a - ViewDebug.java:566@0008: move-object v12:Landroid/view/ViewDebug$ViewServer; - <- v0:Landroid/view/ViewDebug$ViewServer; - ViewDebug.java:566@0009: get-field-object(android.view.ViewDebug$ViewServer.m - Thread:Ljava/lang/Thread; catch) . <- v12:Landroid/view/ViewDebug$ViewServer; - next 016b -block 000c - pred 016b - ViewDebug.java:566@000c: if-ne-object . <- v11:Ljava/lang/Thread; v12:Ljava/l - ang/Thread; - next 000f * - next 00b0 -block 000f - pred 000c - ViewDebug.java:567@000f: const-object-nothrow(null) v11:<null>=null <- . - ViewDebug.java:567@0010: move-object v2:"client"Ljava/net/Socket; <- v11:<nul - l>=null - ViewDebug.java:567@0010: goto . <- . - next 0011 -block 016c - pred 0011 - ViewDebug.java:569@0012: Rop{move-result Ljava/net/Socket; <- . flows} v11:Lj - ava/net/Socket; <- . - ViewDebug.java:569@0012: goto . <- . - next 0015 -block 0011 - pred 000f - ViewDebug.java:569@0011: move-object v11:Ljava/net/ServerSocket; <- v1:Ljava/ - net/ServerSocket; - ViewDebug.java:569@0012: Rop{invoke-virtual . <- Ljava/net/ServerSocket; call - throws <any>}(java.net.ServerSocket.accept:()Ljava/net/Socket; catch java.io - .IOException java.lang.Object) . <- v11:Ljava/net/ServerSocket; - next 0130 - next 0140 - next 016c * -block 0015 - pred 016c - ViewDebug.java:569@0015: move-object v2:"client"Ljava/net/Socket; <- v11:Ljav - a/net/Socket; - ViewDebug.java:571@0016: const-object-nothrow(null) v11:<null>=null <- . - ViewDebug.java:571@0017: move-object v3:"in"Ljava/io/BufferedReader; <- v11:< - null>=null - ViewDebug.java:571@0017: goto . <- . - next 0018 -block 016d - pred 0018 - ViewDebug.java:573@0018: Rop{move-result-pseudo N0018Ljava/io/BufferedReader; - <- . flows} v11:N0018Ljava/io/BufferedReader; <- . - ViewDebug.java:573@0018: goto . <- . - next 001b -block 0018 - pred 0015 - ViewDebug.java:573@0018: new-instance(java.io.BufferedReader catch java.lang. - Object) . <- . - next 0116 - next 016d * -block 016e - pred 001b - ViewDebug.java:573@001c: Rop{move-result-pseudo N001cLjava/io/InputStreamRead - er; <- . flows} v13:N001cLjava/io/InputStreamReader; <- . - ViewDebug.java:573@001c: goto . <- . - next 001f -block 001b - pred 016d - ViewDebug.java:573@001b: move-object v16:N0018Ljava/io/BufferedReader; <- v11 - :N0018Ljava/io/BufferedReader; - ViewDebug.java:573@001b: move-object v11:N0018Ljava/io/BufferedReader; <- v16 - :N0018Ljava/io/BufferedReader; - ViewDebug.java:573@001b: move-object v12:N0018Ljava/io/BufferedReader; <- v16 - :N0018Ljava/io/BufferedReader; - ViewDebug.java:573@001c: new-instance(java.io.InputStreamReader catch java.la - ng.Object) . <- . - next 0116 - next 016e * -block 016f - pred 001f - ViewDebug.java:573@0021: Rop{move-result Ljava/io/InputStream; <- . flows} v1 - 5:Ljava/io/InputStream; <- . - ViewDebug.java:573@0021: goto . <- . - next 0024 -block 001f - pred 016e - ViewDebug.java:573@001f: move-object v16:N001cLjava/io/InputStreamReader; <- - v13:N001cLjava/io/InputStreamReader; - ViewDebug.java:573@001f: move-object v13:N001cLjava/io/InputStreamReader; <- - v16:N001cLjava/io/InputStreamReader; - ViewDebug.java:573@001f: move-object v14:N001cLjava/io/InputStreamReader; <- - v16:N001cLjava/io/InputStreamReader; - ViewDebug.java:573@0020: move-object v15:Ljava/net/Socket; <- v2:Ljava/net/So - cket; - ViewDebug.java:573@0021: Rop{invoke-virtual . <- Ljava/net/Socket; call throw - s <any>}(java.net.Socket.getInputStream:()Ljava/io/InputStream; catch java.la - ng.Object) . <- v15:Ljava/net/Socket; - next 0116 - next 016f * -block 0024 - pred 016f - ViewDebug.java:573@0024: Rop{invoke-direct . <- Ljava/io/InputStreamReader; L - java/io/InputStream; call throws <any>}(java.io.InputStreamReader.<init>:(Lja - va/io/InputStream;)V catch java.lang.Object) . <- v14:N001cLjava/io/InputStre - amReader; v15:Ljava/io/InputStream; - next 0116 - next 0027 * -block 0027 - pred 0024 - ViewDebug.java:573@0027: Rop{invoke-direct . <- Ljava/io/BufferedReader; Ljav - a/io/Reader; call throws <any>}(java.io.BufferedReader.<init>:(Ljava/io/Reade - r;)V catch java.lang.Object) . <- v12:N0018Ljava/io/BufferedReader; v13:Ljava - /io/InputStreamReader; - next 0116 - next 002a * -block 0170 - pred 002a - ViewDebug.java:574@002c: Rop{move-result Ljava/lang/String; <- . flows} v11:L - java/lang/String; <- . - ViewDebug.java:574@002c: goto . <- . - next 002f -block 002a - pred 0027 - ViewDebug.java:573@002a: move-object v3:"in"Ljava/io/BufferedReader; <- v11:L - java/io/BufferedReader; - ViewDebug.java:574@002b: move-object v11:Ljava/io/BufferedReader; <- v3:Ljava - /io/BufferedReader; - ViewDebug.java:574@002c: Rop{invoke-virtual . <- Ljava/io/BufferedReader; cal - l throws <any>}(java.io.BufferedReader.readLine:()Ljava/lang/String; catch ja - va.lang.Object) . <- v11:Ljava/io/BufferedReader; - next 0116 - next 0170 * -block 0171 - pred 002f - ViewDebug.java:576@0031: Rop{move-result-pseudo Ljava/lang/String; <- . flows - } v11:Ljava/lang/String;="DUMP" <- . - ViewDebug.java:576@0031: goto . <- . - next 0033 -block 002f - pred 0170 - ViewDebug.java:574@002f: move-object v4:"command"Ljava/lang/String; <- v11:Lj - ava/lang/String; - ViewDebug.java:576@0031: const-object("DUMP" catch java.lang.Object) . <- . - next 0116 - next 0171 * -block 0172 - pred 0033 - ViewDebug.java:576@0035: Rop{move-result Z <- . flows} v11:Z <- . - ViewDebug.java:576@0035: goto . <- . - next 0038 -block 0033 - pred 0171 - ViewDebug.java:576@0033: move-object v12:Ljava/lang/String; <- v4:Ljava/lang/ - String; - ViewDebug.java:576@0035: Rop{invoke-virtual . <- Ljava/lang/String; Ljava/lan - g/String; call throws <any>}(java.lang.String.equalsIgnoreCase:(Ljava/lang/St - ring;)Z catch java.lang.Object) . <- v11:Ljava/lang/String;="DUMP" v12:Ljava/ - lang/String; - next 0116 - next 0172 * -block 0038 - pred 0172 - ViewDebug.java:576@0038: if-eqz-int . <- v11:I - next 003b * - next 0042 -block 003b - pred 0038 - ViewDebug.java:577@003b: move-object v11:Ljava/net/Socket; <- v2:Ljava/net/So - cket; - ViewDebug.java:577@003c: Rop{invoke-static . <- Ljava/net/Socket; call throws - <any>}(android.view.ViewDebug$ViewServer.dump:(Ljava/net/Socket;)V catch jav - a.lang.Object) . <- v11:Ljava/net/Socket; - next 0116 - next 003f * -block 003f - pred 003b - ViewDebug.java:577@003f: goto . <- . - next 005f -block 0173 - pred 0042 - ViewDebug.java:579@0044: Rop{move-result-pseudo Ljava/lang/String; <- . flows - } v12:Ljava/lang/String;=" " <- . - ViewDebug.java:579@0044: goto . <- . - next 0046 -block 0042 - pred 0038 - ViewDebug.java:579@0042: move-object v11:Ljava/lang/String; <- v4:Ljava/lang/ - String; - ViewDebug.java:579@0044: const-object(" " catch java.lang.Object) . <- . - next 0116 - next 0173 * -block 0174 - pred 0046 - ViewDebug.java:579@0046: Rop{move-result [Ljava/lang/String; <- . flows} v11: - [Ljava/lang/String; <- . - ViewDebug.java:579@0046: goto . <- . - next 0049 -block 0046 - pred 0173 - ViewDebug.java:579@0046: Rop{invoke-virtual . <- Ljava/lang/String; Ljava/lan - g/String; call throws <any>}(java.lang.String.split:(Ljava/lang/String;)[Ljav - a/lang/String; catch java.lang.Object) . <- v11:Ljava/lang/String; v12:Ljava/ - lang/String;=" " - next 0116 - next 0174 * -block 0175 - pred 0049 - ViewDebug.java:580@004b: Rop{move-result-pseudo Ljava/lang/String; <- . flows - } v11:Ljava/lang/String;="CAPTURE" <- . - ViewDebug.java:580@004b: goto . <- . - next 004d -block 0049 - pred 0174 - ViewDebug.java:579@0049: move-object v5:"params"[Ljava/lang/String; <- v11:[L - java/lang/String; - ViewDebug.java:580@004b: const-object("CAPTURE" catch java.lang.Object) . <- - . - next 0116 - next 0175 * -block 0176 - pred 004d - ViewDebug.java:580@0050: Rop{move-result-pseudo Ljava/lang/String; <- . flows - } v12:Ljava/lang/String; <- . - ViewDebug.java:580@0050: goto . <- . - next 0051 -block 004d - pred 0175 - ViewDebug.java:580@004d: move-object v12:[Ljava/lang/String; <- v5:[Ljava/lan - g/String; - ViewDebug.java:580@004f: const-int(0) v13:I=0 <- . - ViewDebug.java:580@0050: aget-object(catch java.lang.Object) . <- v12:[Ljava/ - lang/String; v13:I=0 - next 0116 - next 0176 * -block 0177 - pred 0051 - ViewDebug.java:580@0051: Rop{move-result Z <- . flows} v11:Z <- . - ViewDebug.java:580@0051: goto . <- . - next 0054 -block 0051 - pred 0176 - ViewDebug.java:580@0051: Rop{invoke-virtual . <- Ljava/lang/String; Ljava/lan - g/String; call throws <any>}(java.lang.String.equalsIgnoreCase:(Ljava/lang/St - ring;)Z catch java.lang.Object) . <- v11:Ljava/lang/String;="CAPTURE" v12:Lja - va/lang/String; - next 0116 - next 0177 * -block 0054 - pred 0177 - ViewDebug.java:580@0054: if-eqz-int . <- v11:I - next 0057 * - next 005f -block 0178 - pred 0057 - ViewDebug.java:581@005b: Rop{move-result-pseudo Ljava/lang/String; <- . flows - } v12:Ljava/lang/String; <- . - ViewDebug.java:581@005b: goto . <- . - next 005c -block 0057 - pred 0054 - ViewDebug.java:581@0057: move-object v11:Ljava/net/Socket; <- v2:Ljava/net/So - cket; - ViewDebug.java:581@0058: move-object v12:[Ljava/lang/String; <- v5:[Ljava/lan - g/String; - ViewDebug.java:581@005a: const-int(1) v13:I=1 <- . - ViewDebug.java:581@005b: aget-object(catch java.lang.Object) . <- v12:[Ljava/ - lang/String; v13:I=1 - next 0116 - next 0178 * -block 005c - pred 0178 - ViewDebug.java:581@005c: Rop{invoke-static . <- Ljava/net/Socket; Ljava/lang/ - String; call throws <any>}(android.view.ViewDebug$ViewServer.capture:(Ljava/n - et/Socket;Ljava/lang/String;)V catch java.lang.Object) . <- v11:Ljava/net/Soc - ket; v12:Ljava/lang/String; - next 0116 - next 005f * -block 0065 - pred 0116 - ViewDebug.java:586@0065: move-object v6:Ljava/lang/Class;=java.lang.Object <- - v11:Ljava/lang/Class;=java.lang.Object - ViewDebug.java:586@0065: goto . <- . - next 0067 -block 0062 - pred 018d - ViewDebug.java:589@0062: goto . <- . - next 0079 -block 006a - pred 018a - ViewDebug.java:586@006a: move-object v11:Ljava/lang/Class;=java.lang.Object < - - v6:Ljava/lang/Class;=java.lang.Object - ViewDebug.java:586@006c: throw(catch java.io.IOException java.lang.Object) . - <- v11:Ljava/lang/Class;=java.lang.Object - next 0130 - next 0140 -block 0179 - pred 007f - ViewDebug.java:591@0080: Rop{move-result-pseudo Ljava/lang/String; <- . flows - } v11:Ljava/lang/String;="ViewServer" <- . - ViewDebug.java:591@0080: goto . <- . - next 0082 -block 007f - pred 0130 - ViewDebug.java:590@007f: move-object v3:"e"Ljava/io/IOException; <- v11:Ljava - /lang/Class;=java.io.IOException - ViewDebug.java:591@0080: const-object("ViewServer" catch java.lang.Object) . - <- . - next 0140 - next 0179 * -block 017a - pred 0082 - ViewDebug.java:591@0082: Rop{move-result-pseudo Ljava/lang/String; <- . flows - } v12:Ljava/lang/String;="Connection error: " <- . - ViewDebug.java:591@0082: goto . <- . - next 0084 -block 0082 - pred 0179 - ViewDebug.java:591@0082: const-object("Connection error: " catch java.lang.Ob - ject) . <- . - next 0140 - next 017a * -block 017b - pred 0084 - ViewDebug.java:591@0085: Rop{move-result I <- . flows} v11:I <- . - ViewDebug.java:591@0085: goto . <- . - next 0088 -block 0084 - pred 017a - ViewDebug.java:591@0084: move-object v13:Ljava/io/IOException; <- v3:Ljava/io - /IOException; - ViewDebug.java:591@0085: Rop{invoke-static . <- Ljava/lang/String; Ljava/lang - /String; Ljava/lang/Throwable; call throws <any>}(android.util.Log.w:(Ljava/l - ang/String;Ljava/lang/String;Ljava/lang/Throwable;)I catch java.lang.Object) - . <- v11:Ljava/lang/String;="ViewServer" v12:Ljava/lang/String;="Connection e - rror: " v13:Ljava/io/IOException; - next 0140 - next 017b * -block 0088 - pred 017b - @????: goto . <- . - next 0089 -block 008f - pred 0140 - ViewDebug.java:593@008f: move-object v8:Ljava/lang/Class;=java.lang.Object <- - v11:Ljava/lang/Class;=java.lang.Object - ViewDebug.java:593@008f: goto . <- . - next 0091 -block 007c - pred 0190 - ViewDebug.java:600@007c: goto . <- . - next 00ad -block 008c - pred 0184 - ViewDebug.java:600@008c: goto . <- . - next 00ad -block 0094 - pred 017e - ViewDebug.java:593@0094: move-object v11:Ljava/lang/Class;=java.lang.Object < - - v8:Ljava/lang/Class;=java.lang.Object - ViewDebug.java:593@0096: throw(catch) . <- v11:Ljava/lang/Class;=java.lang.Ob - ject - returns -block 00ad - pred 007c - pred 008c - ViewDebug.java:601@00ad: goto . <- . - next 0005 -block 00b0 - pred 000c - ViewDebug.java:602@00b0: goto . <- . - next 0163 -block 0163 - pred 00b0 - ViewDebug.java:602@00b0: return-void . <- . - returns -block 0116 - pred 0018 - pred 001b - pred 001f - pred 0024 - pred 0027 - pred 002a - pred 002f - pred 0033 - pred 003b - pred 0042 - pred 0046 - pred 0049 - pred 004d - pred 0051 - pred 0057 - pred 005c - ViewDebug.java:586@0065: Rop{move-exception Ljava/lang/Object; <- . flows} v1 - 1:Ljava/lang/Object; <- . - ViewDebug.java:586@0065: goto . <- . - next 0065 -block 0130 - pred 0011 - pred 006a - pred 0189 - pred 018c - ViewDebug.java:590@007f: Rop{move-exception Ljava/io/IOException; <- . flows} - v11:Ljava/io/IOException; <- . - ViewDebug.java:590@007f: goto . <- . - next 007f -block 0140 - pred 0011 - pred 006a - pred 007f - pred 0082 - pred 0084 - pred 0189 - pred 018c - ViewDebug.java:593@008f: Rop{move-exception Ljava/lang/Object; <- . flows} v1 - 1:Ljava/lang/Object; <- . - ViewDebug.java:593@008f: goto . <- . - next 008f -block 017c - pred 0091 - ViewDebug.java:593@0099: move-object v11:Ljava/net/Socket; <- v2:Ljava/net/So - cket; - ViewDebug.java:593@009a: if-eqz-object . <- v11:Ljava/net/Socket; - next 017d * - next 017e -block 017d - pred 017c - ViewDebug.java:595@009d: move-object v11:Ljava/net/Socket; <- v2:Ljava/net/So - cket; - ViewDebug.java:595@009e: Rop{invoke-virtual . <- Ljava/net/Socket; call throw - s <any>}(java.net.Socket.close:()V catch java.io.IOException) . <- v11:Ljava/ - net/Socket; - next 017f - next 0180 * -block 0180 - pred 017d - ViewDebug.java:598@00a1: goto . <- . - next 017e -block 017e - pred 017c - pred 0180 - pred 0181 - @????: goto . <- . - next 0094 -block 017f - pred 017d - ViewDebug.java:596@00a4: Rop{move-exception Ljava/io/IOException; <- . flows} - v11:Ljava/io/IOException; <- . - ViewDebug.java:596@00a4: goto . <- . - next 0181 -block 0181 - pred 017f - ViewDebug.java:596@00a4: move-object v10:"e"Ljava/io/IOException; <- v11:Ljav - a/lang/Class;=java.io.IOException - ViewDebug.java:597@00a6: move-object v11:Ljava/io/IOException; <- v10:Ljava/i - o/IOException; - ViewDebug.java:597@00a8: Rop{invoke-virtual . <- Ljava/io/IOException; call t - hrows <any>}(java.io.IOException.printStackTrace:()V catch) . <- v11:Ljava/io - /IOException; - next 017e -block 0091 - pred 008f - @????: goto . <- . - next 017c -block 0182 - pred 0089 - ViewDebug.java:593@0099: move-object v11:Ljava/net/Socket; <- v2:Ljava/net/So - cket; - ViewDebug.java:593@009a: if-eqz-object . <- v11:Ljava/net/Socket; - next 0183 * - next 0184 -block 0183 - pred 0182 - ViewDebug.java:595@009d: move-object v11:Ljava/net/Socket; <- v2:Ljava/net/So - cket; - ViewDebug.java:595@009e: Rop{invoke-virtual . <- Ljava/net/Socket; call throw - s <any>}(java.net.Socket.close:()V catch java.io.IOException) . <- v11:Ljava/ - net/Socket; - next 0185 - next 0186 * -block 0186 - pred 0183 - ViewDebug.java:598@00a1: goto . <- . - next 0184 -block 0184 - pred 0182 - pred 0186 - pred 0187 - @????: goto . <- . - next 008c -block 0185 - pred 0183 - ViewDebug.java:596@00a4: Rop{move-exception Ljava/io/IOException; <- . flows} - v11:Ljava/io/IOException; <- . - ViewDebug.java:596@00a4: goto . <- . - next 0187 -block 0187 - pred 0185 - ViewDebug.java:596@00a4: move-object v10:"e"Ljava/io/IOException; <- v11:Ljav - a/lang/Class;=java.io.IOException - ViewDebug.java:597@00a6: move-object v11:Ljava/io/IOException; <- v10:Ljava/i - o/IOException; - ViewDebug.java:597@00a8: Rop{invoke-virtual . <- Ljava/io/IOException; call t - hrows <any>}(java.io.IOException.printStackTrace:()V catch) . <- v11:Ljava/io - /IOException; - next 0184 -block 0089 - pred 0088 - @????: goto . <- . - next 0182 -block 0188 - pred 0067 - ViewDebug.java:586@006f: move-object v11:Ljava/io/BufferedReader; <- v3:Ljava - /io/BufferedReader; - ViewDebug.java:586@0070: if-eqz-object . <- v11:Ljava/io/BufferedReader; - next 0189 * - next 018a -block 0189 - pred 0188 - ViewDebug.java:587@0073: move-object v11:Ljava/io/BufferedReader; <- v3:Ljava - /io/BufferedReader; - ViewDebug.java:587@0074: Rop{invoke-virtual . <- Ljava/io/BufferedReader; cal - l throws <any>}(java.io.BufferedReader.close:()V catch java.io.IOException ja - va.lang.Object) . <- v11:Ljava/io/BufferedReader; - next 0130 - next 0140 - next 018a * -block 018a - pred 0188 - pred 0189 - @????: goto . <- . - next 006a -block 0067 - pred 0065 - @????: goto . <- . - next 0188 -block 018b - pred 005f - ViewDebug.java:586@006f: move-object v11:Ljava/io/BufferedReader; <- v3:Ljava - /io/BufferedReader; - ViewDebug.java:586@0070: if-eqz-object . <- v11:Ljava/io/BufferedReader; - next 018c * - next 018d -block 018c - pred 018b - ViewDebug.java:587@0073: move-object v11:Ljava/io/BufferedReader; <- v3:Ljava - /io/BufferedReader; - ViewDebug.java:587@0074: Rop{invoke-virtual . <- Ljava/io/BufferedReader; cal - l throws <any>}(java.io.BufferedReader.close:()V catch java.io.IOException ja - va.lang.Object) . <- v11:Ljava/io/BufferedReader; - next 0130 - next 0140 - next 018d * -block 018d - pred 018b - pred 018c - @????: goto . <- . - next 0062 -block 005f - pred 003f - pred 0054 - pred 005c - @????: goto . <- . - next 018b -block 018e - pred 0079 - ViewDebug.java:593@0099: move-object v11:Ljava/net/Socket; <- v2:Ljava/net/So - cket; - ViewDebug.java:593@009a: if-eqz-object . <- v11:Ljava/net/Socket; - next 018f * - next 0190 -block 018f - pred 018e - ViewDebug.java:595@009d: move-object v11:Ljava/net/Socket; <- v2:Ljava/net/So - cket; - ViewDebug.java:595@009e: Rop{invoke-virtual . <- Ljava/net/Socket; call throw - s <any>}(java.net.Socket.close:()V catch java.io.IOException) . <- v11:Ljava/ - net/Socket; - next 0191 - next 0192 * -block 0192 - pred 018f - ViewDebug.java:598@00a1: goto . <- . - next 0190 -block 0190 - pred 018e - pred 0192 - pred 0193 - @????: goto . <- . - next 007c -block 0191 - pred 018f - ViewDebug.java:596@00a4: Rop{move-exception Ljava/io/IOException; <- . flows} - v11:Ljava/io/IOException; <- . - ViewDebug.java:596@00a4: goto . <- . - next 0193 -block 0193 - pred 0191 - ViewDebug.java:596@00a4: move-object v10:"e"Ljava/io/IOException; <- v11:Ljav - a/lang/Class;=java.io.IOException - ViewDebug.java:597@00a6: move-object v11:Ljava/io/IOException; <- v10:Ljava/i - o/IOException; - ViewDebug.java:597@00a8: Rop{invoke-virtual . <- Ljava/io/IOException; call t - hrows <any>}(java.io.IOException.printStackTrace:()V catch) . <- v11:Ljava/io - /IOException; - next 0190 -block 0079 - pred 0062 - @????: goto . <- . - next 018e diff --git a/dx/tests/098-dex-jsr-ret-throw/info.txt b/dx/tests/098-dex-jsr-ret-throw/info.txt deleted file mode 100644 index 41636a24b..000000000 --- a/dx/tests/098-dex-jsr-ret-throw/info.txt +++ /dev/null @@ -1,5 +0,0 @@ -The enclosed class file was generated with javac version 1.5.0_13-b05. -It contains an example of a subroutine being exited by a "throw" instruction in -such a way that it caused the frame merge and subroutine inliner -algorithms to not converge. This was bug #1137450. - diff --git a/dx/tests/098-dex-jsr-ret-throw/run b/dx/tests/098-dex-jsr-ret-throw/run deleted file mode 100755 index dfc7b893c..000000000 --- a/dx/tests/098-dex-jsr-ret-throw/run +++ /dev/null @@ -1,17 +0,0 @@ -#!/bin/bash -# -# Copyright (C) 2008 The Android Open Source Project -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -dx --debug --dump --method=run --rop-blocks 'ViewDebug$ViewServer.class' diff --git a/dx/tests/099-dex-core-library-error/Blort.java b/dx/tests/099-dex-core-library-error/Blort.java deleted file mode 100644 index 6f619d756..000000000 --- a/dx/tests/099-dex-core-library-error/Blort.java +++ /dev/null @@ -1,5 +0,0 @@ -package java.blort; - -public class Blort { - // This space intentionally left blank. -} diff --git a/dx/tests/099-dex-core-library-error/Muffins.java b/dx/tests/099-dex-core-library-error/Muffins.java deleted file mode 100644 index 7ee4c4cb5..000000000 --- a/dx/tests/099-dex-core-library-error/Muffins.java +++ /dev/null @@ -1,5 +0,0 @@ -package javax.net; - -public class Muffins { - // This space intentionally left blank. -} diff --git a/dx/tests/099-dex-core-library-error/Zorch.java b/dx/tests/099-dex-core-library-error/Zorch.java deleted file mode 100644 index 57c311f4a..000000000 --- a/dx/tests/099-dex-core-library-error/Zorch.java +++ /dev/null @@ -1,5 +0,0 @@ -package javax.zorch; - -public class Zorch { - // This space intentionally left blank. -} diff --git a/dx/tests/099-dex-core-library-error/expected.txt b/dx/tests/099-dex-core-library-error/expected.txt deleted file mode 100644 index d9c405bc2..000000000 --- a/dx/tests/099-dex-core-library-error/expected.txt +++ /dev/null @@ -1,5 +0,0 @@ -exit code: 1 -exit code: 1 -exit code: 0 -Found zorch.dex -Done diff --git a/dx/tests/099-dex-core-library-error/info.txt b/dx/tests/099-dex-core-library-error/info.txt deleted file mode 100644 index 3a6226770..000000000 --- a/dx/tests/099-dex-core-library-error/info.txt +++ /dev/null @@ -1,3 +0,0 @@ -This tests that attempts to define core classes fail and that -an attempt to define a legal javax.* class succeeds. (Only *some* -javax packages are considered to be off-limits.) diff --git a/dx/tests/099-dex-core-library-error/run b/dx/tests/099-dex-core-library-error/run deleted file mode 100644 index f0632662e..000000000 --- a/dx/tests/099-dex-core-library-error/run +++ /dev/null @@ -1,37 +0,0 @@ -#!/bin/bash -# -# Copyright (C) 2008 The Android Open Source Project -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -$JAVAC -d . *.java - -dx --debug --dex --output=blort.dex java/blort/Blort.class >/dev/null 2>&1 -echo "exit code: $?" -if [ -r blort.dex ]; then - echo Found blort.dex -fi - -dx --debug --dex --output=muffins.dex javax/net/Muffins.class >/dev/null 2>&1 -echo "exit code: $?" -if [ -r muffins.dex ]; then - echo Found muffins.dex -fi - -dx --debug --dex --output=zorch.dex javax/zorch/Zorch.class >/dev/null 2>&1 -echo "exit code: $?" -if [ -r zorch.dex ]; then - echo Found zorch.dex -fi - -echo Done diff --git a/dx/tests/100-local-mismatch/blort1.j b/dx/tests/100-local-mismatch/blort1.j deleted file mode 100644 index 327557e1f..000000000 --- a/dx/tests/100-local-mismatch/blort1.j +++ /dev/null @@ -1,28 +0,0 @@ -; Copyright (C) 2008 The Android Open Source Project -; -; Licensed under the Apache License, Version 2.0 (the "License"); -; you may not use this file except in compliance with the License. -; You may obtain a copy of the License at -; -; http://www.apache.org/licenses/LICENSE-2.0 -; -; Unless required by applicable law or agreed to in writing, software -; distributed under the License is distributed on an "AS IS" BASIS, -; WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -; See the License for the specific language governing permissions and -; limitations under the License. - -.class Blort1 -.super java/lang/Object - -.method public static basicTypeMismatch1()V - .limit locals 1 - .limit stack 1 - .var 0 is x Ljava/lang/Object; from start to end - bipush 1 - istore_0 -start: - nop -end: - return -.end method diff --git a/dx/tests/100-local-mismatch/blort2.j b/dx/tests/100-local-mismatch/blort2.j deleted file mode 100644 index 6fc79cc54..000000000 --- a/dx/tests/100-local-mismatch/blort2.j +++ /dev/null @@ -1,28 +0,0 @@ -; Copyright (C) 2008 The Android Open Source Project -; -; Licensed under the Apache License, Version 2.0 (the "License"); -; you may not use this file except in compliance with the License. -; You may obtain a copy of the License at -; -; http://www.apache.org/licenses/LICENSE-2.0 -; -; Unless required by applicable law or agreed to in writing, software -; distributed under the License is distributed on an "AS IS" BASIS, -; WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -; See the License for the specific language governing permissions and -; limitations under the License. - -.class Blort2 -.super java/lang/Object - -.method public static basicTypeMismatch2()V - .limit locals 1 - .limit stack 1 - .var 0 is x I from start to end - aconst_null - astore_0 -start: - nop -end: - return -.end method diff --git a/dx/tests/100-local-mismatch/blort3.j b/dx/tests/100-local-mismatch/blort3.j deleted file mode 100644 index 0fdcb8916..000000000 --- a/dx/tests/100-local-mismatch/blort3.j +++ /dev/null @@ -1,28 +0,0 @@ -; Copyright (C) 2008 The Android Open Source Project -; -; Licensed under the Apache License, Version 2.0 (the "License"); -; you may not use this file except in compliance with the License. -; You may obtain a copy of the License at -; -; http://www.apache.org/licenses/LICENSE-2.0 -; -; Unless required by applicable law or agreed to in writing, software -; distributed under the License is distributed on an "AS IS" BASIS, -; WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -; See the License for the specific language governing permissions and -; limitations under the License. - -.class Blort3 -.super java/lang/Object - -.method public static arrayMismatch1()V - .limit locals 1 - .limit stack 1 - .var 0 is x [B from start to end - bipush 1 - istore_0 -start: - nop -end: - return -.end method diff --git a/dx/tests/100-local-mismatch/blort4.j b/dx/tests/100-local-mismatch/blort4.j deleted file mode 100644 index 1ef207d26..000000000 --- a/dx/tests/100-local-mismatch/blort4.j +++ /dev/null @@ -1,28 +0,0 @@ -; Copyright (C) 2008 The Android Open Source Project -; -; Licensed under the Apache License, Version 2.0 (the "License"); -; you may not use this file except in compliance with the License. -; You may obtain a copy of the License at -; -; http://www.apache.org/licenses/LICENSE-2.0 -; -; Unless required by applicable law or agreed to in writing, software -; distributed under the License is distributed on an "AS IS" BASIS, -; WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -; See the License for the specific language governing permissions and -; limitations under the License. - -.class Blort4 -.super java/lang/Object - -.method public static arrayMismatch2()V - .limit locals 1 - .limit stack 1 - .var 0 is x [Ljava/lang/Object; from start to end - ldc "hello" - astore_0 -start: - nop -end: - return -.end method diff --git a/dx/tests/100-local-mismatch/expected.txt b/dx/tests/100-local-mismatch/expected.txt deleted file mode 100644 index 235b2063d..000000000 --- a/dx/tests/100-local-mismatch/expected.txt +++ /dev/null @@ -1,9 +0,0 @@ -TEST 1 -com.android.dx.cf.code.SimException: local variable type mismatch: attempt to set or access a value of type int using a local variable of type java.lang.Object. This is symptomatic of .class transformation tools that ignore local variable information. -TEST 2 -com.android.dx.cf.code.SimException: local variable type mismatch: attempt to set or access a value of type java.lang.Object using a local variable of type int. This is symptomatic of .class transformation tools that ignore local variable information. -TEST 3 -com.android.dx.cf.code.SimException: local variable type mismatch: attempt to set or access a value of type int using a local variable of type byte[]. This is symptomatic of .class transformation tools that ignore local variable information. -TEST 4 -com.android.dx.cf.code.SimException: local variable type mismatch: attempt to set or access a value of type java.lang.String using a local variable of type java.lang.Object[]. This is symptomatic of .class transformation tools that ignore local variable information. -DONE diff --git a/dx/tests/100-local-mismatch/info.txt b/dx/tests/100-local-mismatch/info.txt deleted file mode 100644 index 89b6e1069..000000000 --- a/dx/tests/100-local-mismatch/info.txt +++ /dev/null @@ -1,3 +0,0 @@ -This is a smoke test that makes sure that dx complains when a local -variable table entry fundamentally disagrees with an instruction that -accesses that local. diff --git a/dx/tests/100-local-mismatch/run b/dx/tests/100-local-mismatch/run deleted file mode 100644 index fbcf1ed2d..000000000 --- a/dx/tests/100-local-mismatch/run +++ /dev/null @@ -1,34 +0,0 @@ -#!/bin/bash -# -# Copyright (C) 2008 The Android Open Source Project -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -jasmin -d . blort1.j >/dev/null -jasmin -d . blort2.j >/dev/null -jasmin -d . blort3.j >/dev/null -jasmin -d . blort4.j >/dev/null - -echo "TEST 1" -dx --dex Blort1.class 2>&1 | grep mismatch - -echo "TEST 2" -dx --dex Blort2.class 2>&1 | grep mismatch - -echo "TEST 3" -dx --dex Blort3.class 2>&1 | grep mismatch - -echo "TEST 4" -dx --dex Blort4.class 2>&1 | grep mismatch - -echo "DONE" diff --git a/dx/tests/101-verify-wide-math/expected.txt b/dx/tests/101-verify-wide-math/expected.txt deleted file mode 100644 index 4bd352d06..000000000 --- a/dx/tests/101-verify-wide-math/expected.txt +++ /dev/null @@ -1,54 +0,0 @@ -Generated: ./op_d2f.class -d2f: expected failure occurred -Generated: ./op_d2i.class -d2i: expected failure occurred -Generated: ./op_d2l.class -d2l: expected failure occurred -Generated: ./op_dadd.class -dadd: expected failure occurred -Generated: ./op_dcmpg.class -dcmpg: expected failure occurred -Generated: ./op_dcmpl.class -dcmpl: expected failure occurred -Generated: ./op_ddiv.class -ddiv: expected failure occurred -Generated: ./op_dmul.class -dmul: expected failure occurred -Generated: ./op_dneg.class -dneg: expected failure occurred -Generated: ./op_drem.class -drem: expected failure occurred -Generated: ./op_dsub.class -dsub: expected failure occurred -Generated: ./op_l2d.class -l2d: expected failure occurred -Generated: ./op_l2f.class -l2f: expected failure occurred -Generated: ./op_l2i.class -l2i: expected failure occurred -Generated: ./op_ladd.class -ladd: expected failure occurred -Generated: ./op_land.class -land: expected failure occurred -Generated: ./op_lcmp.class -lcmp: expected failure occurred -Generated: ./op_ldiv.class -ldiv: expected failure occurred -Generated: ./op_lmul.class -lmul: expected failure occurred -Generated: ./op_lneg.class -lneg: expected failure occurred -Generated: ./op_lor.class -lor: expected failure occurred -Generated: ./op_lrem.class -lrem: expected failure occurred -Generated: ./op_lshl.class -lshl: expected failure occurred -Generated: ./op_lshr.class -lshr: expected failure occurred -Generated: ./op_lsub.class -lsub: expected failure occurred -Generated: ./op_lushr.class -lushr: expected failure occurred -Generated: ./op_lxor.class -lxor: expected failure occurred diff --git a/dx/tests/101-verify-wide-math/info.txt b/dx/tests/101-verify-wide-math/info.txt deleted file mode 100644 index 6ec551d87..000000000 --- a/dx/tests/101-verify-wide-math/info.txt +++ /dev/null @@ -1,3 +0,0 @@ -This tests that wide-taking (category-2) "calculation" opcodes (math -ops, comparisons, etc.) verify that their arguments are actually of -the appropriate types. diff --git a/dx/tests/101-verify-wide-math/op_d2f.j b/dx/tests/101-verify-wide-math/op_d2f.j deleted file mode 100644 index 65a3c9d8f..000000000 --- a/dx/tests/101-verify-wide-math/op_d2f.j +++ /dev/null @@ -1,25 +0,0 @@ -; Copyright (C) 2008 The Android Open Source Project -; -; Licensed under the Apache License, Version 2.0 (the "License"); -; you may not use this file except in compliance with the License. -; You may obtain a copy of the License at -; -; http://www.apache.org/licenses/LICENSE-2.0 -; -; Unless required by applicable law or agreed to in writing, software -; distributed under the License is distributed on an "AS IS" BASIS, -; WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -; See the License for the specific language governing permissions and -; limitations under the License. - -.class op_d2f -.super java/lang/Object - -.method public static test(II)F - .limit locals 2 - .limit stack 3 - - iload_0 - d2f - freturn -.end method diff --git a/dx/tests/101-verify-wide-math/op_d2i.j b/dx/tests/101-verify-wide-math/op_d2i.j deleted file mode 100644 index 6e8976c55..000000000 --- a/dx/tests/101-verify-wide-math/op_d2i.j +++ /dev/null @@ -1,25 +0,0 @@ -; Copyright (C) 2008 The Android Open Source Project -; -; Licensed under the Apache License, Version 2.0 (the "License"); -; you may not use this file except in compliance with the License. -; You may obtain a copy of the License at -; -; http://www.apache.org/licenses/LICENSE-2.0 -; -; Unless required by applicable law or agreed to in writing, software -; distributed under the License is distributed on an "AS IS" BASIS, -; WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -; See the License for the specific language governing permissions and -; limitations under the License. - -.class op_d2i -.super java/lang/Object - -.method public static test(II)I - .limit locals 2 - .limit stack 3 - - iload_0 - d2i - ireturn -.end method diff --git a/dx/tests/101-verify-wide-math/op_d2l.j b/dx/tests/101-verify-wide-math/op_d2l.j deleted file mode 100644 index f8e24c9a2..000000000 --- a/dx/tests/101-verify-wide-math/op_d2l.j +++ /dev/null @@ -1,25 +0,0 @@ -; Copyright (C) 2008 The Android Open Source Project -; -; Licensed under the Apache License, Version 2.0 (the "License"); -; you may not use this file except in compliance with the License. -; You may obtain a copy of the License at -; -; http://www.apache.org/licenses/LICENSE-2.0 -; -; Unless required by applicable law or agreed to in writing, software -; distributed under the License is distributed on an "AS IS" BASIS, -; WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -; See the License for the specific language governing permissions and -; limitations under the License. - -.class op_d2l -.super java/lang/Object - -.method public static test(II)J - .limit locals 2 - .limit stack 3 - - iload_0 - d2l - lreturn -.end method diff --git a/dx/tests/101-verify-wide-math/op_dadd.j b/dx/tests/101-verify-wide-math/op_dadd.j deleted file mode 100644 index 232c5412f..000000000 --- a/dx/tests/101-verify-wide-math/op_dadd.j +++ /dev/null @@ -1,26 +0,0 @@ -; Copyright (C) 2008 The Android Open Source Project -; -; Licensed under the Apache License, Version 2.0 (the "License"); -; you may not use this file except in compliance with the License. -; You may obtain a copy of the License at -; -; http://www.apache.org/licenses/LICENSE-2.0 -; -; Unless required by applicable law or agreed to in writing, software -; distributed under the License is distributed on an "AS IS" BASIS, -; WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -; See the License for the specific language governing permissions and -; limitations under the License. - -.class op_dadd -.super java/lang/Object - -.method public static test(II)D - .limit locals 2 - .limit stack 3 - - iload_0 - iload_1 - dadd - dreturn -.end method diff --git a/dx/tests/101-verify-wide-math/op_dcmpg.j b/dx/tests/101-verify-wide-math/op_dcmpg.j deleted file mode 100644 index cd1b151dc..000000000 --- a/dx/tests/101-verify-wide-math/op_dcmpg.j +++ /dev/null @@ -1,26 +0,0 @@ -; Copyright (C) 2008 The Android Open Source Project -; -; Licensed under the Apache License, Version 2.0 (the "License"); -; you may not use this file except in compliance with the License. -; You may obtain a copy of the License at -; -; http://www.apache.org/licenses/LICENSE-2.0 -; -; Unless required by applicable law or agreed to in writing, software -; distributed under the License is distributed on an "AS IS" BASIS, -; WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -; See the License for the specific language governing permissions and -; limitations under the License. - -.class op_dcmpg -.super java/lang/Object - -.method public static test(II)I - .limit locals 2 - .limit stack 3 - - iload_0 - iload_1 - dcmpg - ireturn -.end method diff --git a/dx/tests/101-verify-wide-math/op_dcmpl.j b/dx/tests/101-verify-wide-math/op_dcmpl.j deleted file mode 100644 index dd54c5280..000000000 --- a/dx/tests/101-verify-wide-math/op_dcmpl.j +++ /dev/null @@ -1,26 +0,0 @@ -; Copyright (C) 2008 The Android Open Source Project -; -; Licensed under the Apache License, Version 2.0 (the "License"); -; you may not use this file except in compliance with the License. -; You may obtain a copy of the License at -; -; http://www.apache.org/licenses/LICENSE-2.0 -; -; Unless required by applicable law or agreed to in writing, software -; distributed under the License is distributed on an "AS IS" BASIS, -; WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -; See the License for the specific language governing permissions and -; limitations under the License. - -.class op_dcmpl -.super java/lang/Object - -.method public static test(II)I - .limit locals 2 - .limit stack 3 - - iload_0 - iload_1 - dcmpl - ireturn -.end method diff --git a/dx/tests/101-verify-wide-math/op_ddiv.j b/dx/tests/101-verify-wide-math/op_ddiv.j deleted file mode 100644 index b9ee32949..000000000 --- a/dx/tests/101-verify-wide-math/op_ddiv.j +++ /dev/null @@ -1,26 +0,0 @@ -; Copyright (C) 2008 The Android Open Source Project -; -; Licensed under the Apache License, Version 2.0 (the "License"); -; you may not use this file except in compliance with the License. -; You may obtain a copy of the License at -; -; http://www.apache.org/licenses/LICENSE-2.0 -; -; Unless required by applicable law or agreed to in writing, software -; distributed under the License is distributed on an "AS IS" BASIS, -; WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -; See the License for the specific language governing permissions and -; limitations under the License. - -.class op_ddiv -.super java/lang/Object - -.method public static test(II)D - .limit locals 2 - .limit stack 3 - - iload_0 - iload_1 - ddiv - dreturn -.end method diff --git a/dx/tests/101-verify-wide-math/op_dmul.j b/dx/tests/101-verify-wide-math/op_dmul.j deleted file mode 100644 index f915e7944..000000000 --- a/dx/tests/101-verify-wide-math/op_dmul.j +++ /dev/null @@ -1,26 +0,0 @@ -; Copyright (C) 2008 The Android Open Source Project -; -; Licensed under the Apache License, Version 2.0 (the "License"); -; you may not use this file except in compliance with the License. -; You may obtain a copy of the License at -; -; http://www.apache.org/licenses/LICENSE-2.0 -; -; Unless required by applicable law or agreed to in writing, software -; distributed under the License is distributed on an "AS IS" BASIS, -; WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -; See the License for the specific language governing permissions and -; limitations under the License. - -.class op_dmul -.super java/lang/Object - -.method public static test(II)D - .limit locals 2 - .limit stack 3 - - iload_0 - iload_1 - dmul - dreturn -.end method diff --git a/dx/tests/101-verify-wide-math/op_dneg.j b/dx/tests/101-verify-wide-math/op_dneg.j deleted file mode 100644 index 98fd9dfd5..000000000 --- a/dx/tests/101-verify-wide-math/op_dneg.j +++ /dev/null @@ -1,25 +0,0 @@ -; Copyright (C) 2008 The Android Open Source Project -; -; Licensed under the Apache License, Version 2.0 (the "License"); -; you may not use this file except in compliance with the License. -; You may obtain a copy of the License at -; -; http://www.apache.org/licenses/LICENSE-2.0 -; -; Unless required by applicable law or agreed to in writing, software -; distributed under the License is distributed on an "AS IS" BASIS, -; WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -; See the License for the specific language governing permissions and -; limitations under the License. - -.class op_dneg -.super java/lang/Object - -.method public static test(II)D - .limit locals 2 - .limit stack 3 - - iload_0 - dneg - dreturn -.end method diff --git a/dx/tests/101-verify-wide-math/op_drem.j b/dx/tests/101-verify-wide-math/op_drem.j deleted file mode 100644 index c0fca6599..000000000 --- a/dx/tests/101-verify-wide-math/op_drem.j +++ /dev/null @@ -1,26 +0,0 @@ -; Copyright (C) 2008 The Android Open Source Project -; -; Licensed under the Apache License, Version 2.0 (the "License"); -; you may not use this file except in compliance with the License. -; You may obtain a copy of the License at -; -; http://www.apache.org/licenses/LICENSE-2.0 -; -; Unless required by applicable law or agreed to in writing, software -; distributed under the License is distributed on an "AS IS" BASIS, -; WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -; See the License for the specific language governing permissions and -; limitations under the License. - -.class op_drem -.super java/lang/Object - -.method public static test(II)D - .limit locals 2 - .limit stack 3 - - iload_0 - iload_1 - drem - dreturn -.end method diff --git a/dx/tests/101-verify-wide-math/op_dsub.j b/dx/tests/101-verify-wide-math/op_dsub.j deleted file mode 100644 index e04f5050f..000000000 --- a/dx/tests/101-verify-wide-math/op_dsub.j +++ /dev/null @@ -1,26 +0,0 @@ -; Copyright (C) 2008 The Android Open Source Project -; -; Licensed under the Apache License, Version 2.0 (the "License"); -; you may not use this file except in compliance with the License. -; You may obtain a copy of the License at -; -; http://www.apache.org/licenses/LICENSE-2.0 -; -; Unless required by applicable law or agreed to in writing, software -; distributed under the License is distributed on an "AS IS" BASIS, -; WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -; See the License for the specific language governing permissions and -; limitations under the License. - -.class op_dsub -.super java/lang/Object - -.method public static test(II)D - .limit locals 2 - .limit stack 3 - - iload_0 - iload_1 - dsub - dreturn -.end method diff --git a/dx/tests/101-verify-wide-math/op_l2d.j b/dx/tests/101-verify-wide-math/op_l2d.j deleted file mode 100644 index d4ac0a87a..000000000 --- a/dx/tests/101-verify-wide-math/op_l2d.j +++ /dev/null @@ -1,25 +0,0 @@ -; Copyright (C) 2008 The Android Open Source Project -; -; Licensed under the Apache License, Version 2.0 (the "License"); -; you may not use this file except in compliance with the License. -; You may obtain a copy of the License at -; -; http://www.apache.org/licenses/LICENSE-2.0 -; -; Unless required by applicable law or agreed to in writing, software -; distributed under the License is distributed on an "AS IS" BASIS, -; WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -; See the License for the specific language governing permissions and -; limitations under the License. - -.class op_l2d -.super java/lang/Object - -.method public static test(I)D - .limit locals 2 - .limit stack 3 - - iload_0 - l2d - dreturn -.end method diff --git a/dx/tests/101-verify-wide-math/op_l2f.j b/dx/tests/101-verify-wide-math/op_l2f.j deleted file mode 100644 index 2dbe9d27b..000000000 --- a/dx/tests/101-verify-wide-math/op_l2f.j +++ /dev/null @@ -1,25 +0,0 @@ -; Copyright (C) 2008 The Android Open Source Project -; -; Licensed under the Apache License, Version 2.0 (the "License"); -; you may not use this file except in compliance with the License. -; You may obtain a copy of the License at -; -; http://www.apache.org/licenses/LICENSE-2.0 -; -; Unless required by applicable law or agreed to in writing, software -; distributed under the License is distributed on an "AS IS" BASIS, -; WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -; See the License for the specific language governing permissions and -; limitations under the License. - -.class op_l2f -.super java/lang/Object - -.method public static test(I)F - .limit locals 2 - .limit stack 3 - - iload_0 - l2f - freturn -.end method diff --git a/dx/tests/101-verify-wide-math/op_l2i.j b/dx/tests/101-verify-wide-math/op_l2i.j deleted file mode 100644 index 1b4e68af2..000000000 --- a/dx/tests/101-verify-wide-math/op_l2i.j +++ /dev/null @@ -1,25 +0,0 @@ -; Copyright (C) 2008 The Android Open Source Project -; -; Licensed under the Apache License, Version 2.0 (the "License"); -; you may not use this file except in compliance with the License. -; You may obtain a copy of the License at -; -; http://www.apache.org/licenses/LICENSE-2.0 -; -; Unless required by applicable law or agreed to in writing, software -; distributed under the License is distributed on an "AS IS" BASIS, -; WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -; See the License for the specific language governing permissions and -; limitations under the License. - -.class op_l2i -.super java/lang/Object - -.method public static test(I)I - .limit locals 2 - .limit stack 3 - - iload_0 - l2i - ireturn -.end method diff --git a/dx/tests/101-verify-wide-math/op_ladd.j b/dx/tests/101-verify-wide-math/op_ladd.j deleted file mode 100644 index 1dbb6f867..000000000 --- a/dx/tests/101-verify-wide-math/op_ladd.j +++ /dev/null @@ -1,26 +0,0 @@ -; Copyright (C) 2008 The Android Open Source Project -; -; Licensed under the Apache License, Version 2.0 (the "License"); -; you may not use this file except in compliance with the License. -; You may obtain a copy of the License at -; -; http://www.apache.org/licenses/LICENSE-2.0 -; -; Unless required by applicable law or agreed to in writing, software -; distributed under the License is distributed on an "AS IS" BASIS, -; WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -; See the License for the specific language governing permissions and -; limitations under the License. - -.class op_ladd -.super java/lang/Object - -.method public static test(II)J - .limit locals 2 - .limit stack 3 - - iload_0 - iload_1 - ladd - lreturn -.end method diff --git a/dx/tests/101-verify-wide-math/op_land.j b/dx/tests/101-verify-wide-math/op_land.j deleted file mode 100644 index e8a55bb5a..000000000 --- a/dx/tests/101-verify-wide-math/op_land.j +++ /dev/null @@ -1,26 +0,0 @@ -; Copyright (C) 2008 The Android Open Source Project -; -; Licensed under the Apache License, Version 2.0 (the "License"); -; you may not use this file except in compliance with the License. -; You may obtain a copy of the License at -; -; http://www.apache.org/licenses/LICENSE-2.0 -; -; Unless required by applicable law or agreed to in writing, software -; distributed under the License is distributed on an "AS IS" BASIS, -; WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -; See the License for the specific language governing permissions and -; limitations under the License. - -.class op_land -.super java/lang/Object - -.method public static test(II)J - .limit locals 2 - .limit stack 3 - - iload_0 - iload_1 - land - lreturn -.end method diff --git a/dx/tests/101-verify-wide-math/op_lcmp.j b/dx/tests/101-verify-wide-math/op_lcmp.j deleted file mode 100644 index b651c9c66..000000000 --- a/dx/tests/101-verify-wide-math/op_lcmp.j +++ /dev/null @@ -1,26 +0,0 @@ -; Copyright (C) 2008 The Android Open Source Project -; -; Licensed under the Apache License, Version 2.0 (the "License"); -; you may not use this file except in compliance with the License. -; You may obtain a copy of the License at -; -; http://www.apache.org/licenses/LICENSE-2.0 -; -; Unless required by applicable law or agreed to in writing, software -; distributed under the License is distributed on an "AS IS" BASIS, -; WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -; See the License for the specific language governing permissions and -; limitations under the License. - -.class op_lcmp -.super java/lang/Object - -.method public static test(II)I - .limit locals 2 - .limit stack 3 - - iload_0 - iload_1 - lcmp - lreturn -.end method diff --git a/dx/tests/101-verify-wide-math/op_ldiv.j b/dx/tests/101-verify-wide-math/op_ldiv.j deleted file mode 100644 index 677daa277..000000000 --- a/dx/tests/101-verify-wide-math/op_ldiv.j +++ /dev/null @@ -1,26 +0,0 @@ -; Copyright (C) 2008 The Android Open Source Project -; -; Licensed under the Apache License, Version 2.0 (the "License"); -; you may not use this file except in compliance with the License. -; You may obtain a copy of the License at -; -; http://www.apache.org/licenses/LICENSE-2.0 -; -; Unless required by applicable law or agreed to in writing, software -; distributed under the License is distributed on an "AS IS" BASIS, -; WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -; See the License for the specific language governing permissions and -; limitations under the License. - -.class op_ldiv -.super java/lang/Object - -.method public static test(II)J - .limit locals 2 - .limit stack 3 - - iload_0 - iload_1 - ldiv - lreturn -.end method diff --git a/dx/tests/101-verify-wide-math/op_lmul.j b/dx/tests/101-verify-wide-math/op_lmul.j deleted file mode 100644 index 074d67c5c..000000000 --- a/dx/tests/101-verify-wide-math/op_lmul.j +++ /dev/null @@ -1,26 +0,0 @@ -; Copyright (C) 2008 The Android Open Source Project -; -; Licensed under the Apache License, Version 2.0 (the "License"); -; you may not use this file except in compliance with the License. -; You may obtain a copy of the License at -; -; http://www.apache.org/licenses/LICENSE-2.0 -; -; Unless required by applicable law or agreed to in writing, software -; distributed under the License is distributed on an "AS IS" BASIS, -; WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -; See the License for the specific language governing permissions and -; limitations under the License. - -.class op_lmul -.super java/lang/Object - -.method public static test(II)J - .limit locals 2 - .limit stack 3 - - iload_0 - iload_1 - lmul - lreturn -.end method diff --git a/dx/tests/101-verify-wide-math/op_lneg.j b/dx/tests/101-verify-wide-math/op_lneg.j deleted file mode 100644 index 18d57804c..000000000 --- a/dx/tests/101-verify-wide-math/op_lneg.j +++ /dev/null @@ -1,25 +0,0 @@ -; Copyright (C) 2008 The Android Open Source Project -; -; Licensed under the Apache License, Version 2.0 (the "License"); -; you may not use this file except in compliance with the License. -; You may obtain a copy of the License at -; -; http://www.apache.org/licenses/LICENSE-2.0 -; -; Unless required by applicable law or agreed to in writing, software -; distributed under the License is distributed on an "AS IS" BASIS, -; WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -; See the License for the specific language governing permissions and -; limitations under the License. - -.class op_lneg -.super java/lang/Object - -.method public static test(I)J - .limit locals 2 - .limit stack 3 - - iload_0 - lneg - lreturn -.end method diff --git a/dx/tests/101-verify-wide-math/op_lor.j b/dx/tests/101-verify-wide-math/op_lor.j deleted file mode 100644 index 267ff1fb7..000000000 --- a/dx/tests/101-verify-wide-math/op_lor.j +++ /dev/null @@ -1,26 +0,0 @@ -; Copyright (C) 2008 The Android Open Source Project -; -; Licensed under the Apache License, Version 2.0 (the "License"); -; you may not use this file except in compliance with the License. -; You may obtain a copy of the License at -; -; http://www.apache.org/licenses/LICENSE-2.0 -; -; Unless required by applicable law or agreed to in writing, software -; distributed under the License is distributed on an "AS IS" BASIS, -; WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -; See the License for the specific language governing permissions and -; limitations under the License. - -.class op_lor -.super java/lang/Object - -.method public static test(II)J - .limit locals 2 - .limit stack 3 - - iload_0 - iload_1 - lor - lreturn -.end method diff --git a/dx/tests/101-verify-wide-math/op_lrem.j b/dx/tests/101-verify-wide-math/op_lrem.j deleted file mode 100644 index 5e0df6e55..000000000 --- a/dx/tests/101-verify-wide-math/op_lrem.j +++ /dev/null @@ -1,26 +0,0 @@ -; Copyright (C) 2008 The Android Open Source Project -; -; Licensed under the Apache License, Version 2.0 (the "License"); -; you may not use this file except in compliance with the License. -; You may obtain a copy of the License at -; -; http://www.apache.org/licenses/LICENSE-2.0 -; -; Unless required by applicable law or agreed to in writing, software -; distributed under the License is distributed on an "AS IS" BASIS, -; WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -; See the License for the specific language governing permissions and -; limitations under the License. - -.class op_lrem -.super java/lang/Object - -.method public static test(II)J - .limit locals 2 - .limit stack 3 - - iload_0 - iload_1 - lrem - lreturn -.end method diff --git a/dx/tests/101-verify-wide-math/op_lshl.j b/dx/tests/101-verify-wide-math/op_lshl.j deleted file mode 100644 index bc16ea577..000000000 --- a/dx/tests/101-verify-wide-math/op_lshl.j +++ /dev/null @@ -1,26 +0,0 @@ -; Copyright (C) 2008 The Android Open Source Project -; -; Licensed under the Apache License, Version 2.0 (the "License"); -; you may not use this file except in compliance with the License. -; You may obtain a copy of the License at -; -; http://www.apache.org/licenses/LICENSE-2.0 -; -; Unless required by applicable law or agreed to in writing, software -; distributed under the License is distributed on an "AS IS" BASIS, -; WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -; See the License for the specific language governing permissions and -; limitations under the License. - -.class op_lshl -.super java/lang/Object - -.method public static test(II)J - .limit locals 2 - .limit stack 3 - - iload_0 - iload_1 - lshl - lreturn -.end method diff --git a/dx/tests/101-verify-wide-math/op_lshr.j b/dx/tests/101-verify-wide-math/op_lshr.j deleted file mode 100644 index b93fb2f39..000000000 --- a/dx/tests/101-verify-wide-math/op_lshr.j +++ /dev/null @@ -1,26 +0,0 @@ -; Copyright (C) 2008 The Android Open Source Project -; -; Licensed under the Apache License, Version 2.0 (the "License"); -; you may not use this file except in compliance with the License. -; You may obtain a copy of the License at -; -; http://www.apache.org/licenses/LICENSE-2.0 -; -; Unless required by applicable law or agreed to in writing, software -; distributed under the License is distributed on an "AS IS" BASIS, -; WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -; See the License for the specific language governing permissions and -; limitations under the License. - -.class op_lshr -.super java/lang/Object - -.method public static test(II)J - .limit locals 2 - .limit stack 3 - - iload_0 - iload_1 - lshr - lreturn -.end method diff --git a/dx/tests/101-verify-wide-math/op_lsub.j b/dx/tests/101-verify-wide-math/op_lsub.j deleted file mode 100644 index 823d8992b..000000000 --- a/dx/tests/101-verify-wide-math/op_lsub.j +++ /dev/null @@ -1,26 +0,0 @@ -; Copyright (C) 2008 The Android Open Source Project -; -; Licensed under the Apache License, Version 2.0 (the "License"); -; you may not use this file except in compliance with the License. -; You may obtain a copy of the License at -; -; http://www.apache.org/licenses/LICENSE-2.0 -; -; Unless required by applicable law or agreed to in writing, software -; distributed under the License is distributed on an "AS IS" BASIS, -; WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -; See the License for the specific language governing permissions and -; limitations under the License. - -.class op_lsub -.super java/lang/Object - -.method public static test(II)J - .limit locals 2 - .limit stack 3 - - iload_0 - iload_1 - lsub - lreturn -.end method diff --git a/dx/tests/101-verify-wide-math/op_lushr.j b/dx/tests/101-verify-wide-math/op_lushr.j deleted file mode 100644 index aa9feb21e..000000000 --- a/dx/tests/101-verify-wide-math/op_lushr.j +++ /dev/null @@ -1,26 +0,0 @@ -; Copyright (C) 2008 The Android Open Source Project -; -; Licensed under the Apache License, Version 2.0 (the "License"); -; you may not use this file except in compliance with the License. -; You may obtain a copy of the License at -; -; http://www.apache.org/licenses/LICENSE-2.0 -; -; Unless required by applicable law or agreed to in writing, software -; distributed under the License is distributed on an "AS IS" BASIS, -; WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -; See the License for the specific language governing permissions and -; limitations under the License. - -.class op_lushr -.super java/lang/Object - -.method public static test(II)J - .limit locals 2 - .limit stack 3 - - iload_0 - iload_1 - lushr - lreturn -.end method diff --git a/dx/tests/101-verify-wide-math/op_lxor.j b/dx/tests/101-verify-wide-math/op_lxor.j deleted file mode 100644 index 3897c9688..000000000 --- a/dx/tests/101-verify-wide-math/op_lxor.j +++ /dev/null @@ -1,26 +0,0 @@ -; Copyright (C) 2008 The Android Open Source Project -; -; Licensed under the Apache License, Version 2.0 (the "License"); -; you may not use this file except in compliance with the License. -; You may obtain a copy of the License at -; -; http://www.apache.org/licenses/LICENSE-2.0 -; -; Unless required by applicable law or agreed to in writing, software -; distributed under the License is distributed on an "AS IS" BASIS, -; WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -; See the License for the specific language governing permissions and -; limitations under the License. - -.class op_lxor -.super java/lang/Object - -.method public static test(II)J - .limit locals 2 - .limit stack 3 - - iload_0 - iload_1 - lxor - lreturn -.end method diff --git a/dx/tests/101-verify-wide-math/run b/dx/tests/101-verify-wide-math/run deleted file mode 100644 index a5ecd5860..000000000 --- a/dx/tests/101-verify-wide-math/run +++ /dev/null @@ -1,54 +0,0 @@ -#!/bin/bash -# -# Copyright (C) 2007 The Android Open Source Project -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -function oneop() -{ - jasmin -d . op_"$1".j - dx --debug --dex op_"$1".class >/dev/null 2>&1 - if [ "$?" = "0" ]; then - dx --debug --dex --dump-method="op_$1.test*" op_"$1".class - else - echo "$1: expected failure occurred" - fi -} - -oneop d2f -oneop d2i -oneop d2l -oneop dadd -oneop dcmpg -oneop dcmpl -oneop ddiv -oneop dmul -oneop dneg -oneop drem -oneop dsub -oneop l2d -oneop l2f -oneop l2i -oneop ladd -oneop land -oneop lcmp -oneop ldiv -oneop lmul -oneop lneg -oneop lor -oneop lrem -oneop lshl -oneop lshr -oneop lsub -oneop lushr -oneop lxor diff --git a/dx/tests/102-verify-nonwide-math/expected.txt b/dx/tests/102-verify-nonwide-math/expected.txt deleted file mode 100644 index 3f857b1e6..000000000 --- a/dx/tests/102-verify-nonwide-math/expected.txt +++ /dev/null @@ -1,48 +0,0 @@ -Generated: ./op_f2d.class -f2d: expected failure occurred -Generated: ./op_f2i.class -f2i: expected failure occurred -Generated: ./op_f2l.class -f2l: expected failure occurred -Generated: ./op_fadd.class -fadd: expected failure occurred -Generated: ./op_fdiv.class -fdiv: expected failure occurred -Generated: ./op_fmul.class -fmul: expected failure occurred -Generated: ./op_fneg.class -fneg: expected failure occurred -Generated: ./op_frem.class -frem: expected failure occurred -Generated: ./op_fsub.class -fsub: expected failure occurred -Generated: ./op_i2d.class -i2d: expected failure occurred -Generated: ./op_i2f.class -i2f: expected failure occurred -Generated: ./op_i2l.class -i2l: expected failure occurred -Generated: ./op_iadd.class -iadd: expected failure occurred -Generated: ./op_iand.class -iand: expected failure occurred -Generated: ./op_idiv.class -idiv: expected failure occurred -Generated: ./op_imul.class -imul: expected failure occurred -Generated: ./op_ineg.class -ineg: expected failure occurred -Generated: ./op_ior.class -ior: expected failure occurred -Generated: ./op_irem.class -irem: expected failure occurred -Generated: ./op_ishl.class -ishl: expected failure occurred -Generated: ./op_ishr.class -ishr: expected failure occurred -Generated: ./op_isub.class -isub: expected failure occurred -Generated: ./op_iushr.class -iushr: expected failure occurred -Generated: ./op_ixor.class -ixor: expected failure occurred diff --git a/dx/tests/102-verify-nonwide-math/info.txt b/dx/tests/102-verify-nonwide-math/info.txt deleted file mode 100644 index 10e52ba70..000000000 --- a/dx/tests/102-verify-nonwide-math/info.txt +++ /dev/null @@ -1,3 +0,0 @@ -This tests that non-wide-taking (category-1) "calculation" opcodes (math -ops, comparisons, etc.) to verify that their arguments are actually of -the appropriate types. diff --git a/dx/tests/102-verify-nonwide-math/op_f2d.j b/dx/tests/102-verify-nonwide-math/op_f2d.j deleted file mode 100644 index 75e89176c..000000000 --- a/dx/tests/102-verify-nonwide-math/op_f2d.j +++ /dev/null @@ -1,25 +0,0 @@ -; Copyright (C) 2008 The Android Open Source Project -; -; Licensed under the Apache License, Version 2.0 (the "License"); -; you may not use this file except in compliance with the License. -; You may obtain a copy of the License at -; -; http://www.apache.org/licenses/LICENSE-2.0 -; -; Unless required by applicable law or agreed to in writing, software -; distributed under the License is distributed on an "AS IS" BASIS, -; WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -; See the License for the specific language governing permissions and -; limitations under the License. - -.class op_f2d -.super java/lang/Object - -.method public static test(I)D - .limit locals 2 - .limit stack 3 - - iload_0 - f2d - dreturn -.end method diff --git a/dx/tests/102-verify-nonwide-math/op_f2i.j b/dx/tests/102-verify-nonwide-math/op_f2i.j deleted file mode 100644 index 2d36af751..000000000 --- a/dx/tests/102-verify-nonwide-math/op_f2i.j +++ /dev/null @@ -1,25 +0,0 @@ -; Copyright (C) 2008 The Android Open Source Project -; -; Licensed under the Apache License, Version 2.0 (the "License"); -; you may not use this file except in compliance with the License. -; You may obtain a copy of the License at -; -; http://www.apache.org/licenses/LICENSE-2.0 -; -; Unless required by applicable law or agreed to in writing, software -; distributed under the License is distributed on an "AS IS" BASIS, -; WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -; See the License for the specific language governing permissions and -; limitations under the License. - -.class op_f2i -.super java/lang/Object - -.method public static test(I)I - .limit locals 2 - .limit stack 3 - - iload_0 - f2i - ireturn -.end method diff --git a/dx/tests/102-verify-nonwide-math/op_f2l.j b/dx/tests/102-verify-nonwide-math/op_f2l.j deleted file mode 100644 index fae9e21d9..000000000 --- a/dx/tests/102-verify-nonwide-math/op_f2l.j +++ /dev/null @@ -1,25 +0,0 @@ -; Copyright (C) 2008 The Android Open Source Project -; -; Licensed under the Apache License, Version 2.0 (the "License"); -; you may not use this file except in compliance with the License. -; You may obtain a copy of the License at -; -; http://www.apache.org/licenses/LICENSE-2.0 -; -; Unless required by applicable law or agreed to in writing, software -; distributed under the License is distributed on an "AS IS" BASIS, -; WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -; See the License for the specific language governing permissions and -; limitations under the License. - -.class op_f2l -.super java/lang/Object - -.method public static test(I)J - .limit locals 2 - .limit stack 3 - - iload_0 - f2l - lreturn -.end method diff --git a/dx/tests/102-verify-nonwide-math/op_fadd.j b/dx/tests/102-verify-nonwide-math/op_fadd.j deleted file mode 100644 index dc3743fab..000000000 --- a/dx/tests/102-verify-nonwide-math/op_fadd.j +++ /dev/null @@ -1,26 +0,0 @@ -; Copyright (C) 2008 The Android Open Source Project -; -; Licensed under the Apache License, Version 2.0 (the "License"); -; you may not use this file except in compliance with the License. -; You may obtain a copy of the License at -; -; http://www.apache.org/licenses/LICENSE-2.0 -; -; Unless required by applicable law or agreed to in writing, software -; distributed under the License is distributed on an "AS IS" BASIS, -; WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -; See the License for the specific language governing permissions and -; limitations under the License. - -.class op_fadd -.super java/lang/Object - -.method public static test(II)F - .limit locals 2 - .limit stack 3 - - iload_0 - iload_1 - fadd - freturn -.end method diff --git a/dx/tests/102-verify-nonwide-math/op_fdiv.j b/dx/tests/102-verify-nonwide-math/op_fdiv.j deleted file mode 100644 index 8609be205..000000000 --- a/dx/tests/102-verify-nonwide-math/op_fdiv.j +++ /dev/null @@ -1,26 +0,0 @@ -; Copyright (C) 2008 The Android Open Source Project -; -; Licensed under the Apache License, Version 2.0 (the "License"); -; you may not use this file except in compliance with the License. -; You may obtain a copy of the License at -; -; http://www.apache.org/licenses/LICENSE-2.0 -; -; Unless required by applicable law or agreed to in writing, software -; distributed under the License is distributed on an "AS IS" BASIS, -; WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -; See the License for the specific language governing permissions and -; limitations under the License. - -.class op_fdiv -.super java/lang/Object - -.method public static test(II)F - .limit locals 2 - .limit stack 3 - - iload_0 - iload_1 - fdiv - freturn -.end method diff --git a/dx/tests/102-verify-nonwide-math/op_fmul.j b/dx/tests/102-verify-nonwide-math/op_fmul.j deleted file mode 100644 index fe4661cd1..000000000 --- a/dx/tests/102-verify-nonwide-math/op_fmul.j +++ /dev/null @@ -1,26 +0,0 @@ -; Copyright (C) 2008 The Android Open Source Project -; -; Licensed under the Apache License, Version 2.0 (the "License"); -; you may not use this file except in compliance with the License. -; You may obtain a copy of the License at -; -; http://www.apache.org/licenses/LICENSE-2.0 -; -; Unless required by applicable law or agreed to in writing, software -; distributed under the License is distributed on an "AS IS" BASIS, -; WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -; See the License for the specific language governing permissions and -; limitations under the License. - -.class op_fmul -.super java/lang/Object - -.method public static test(II)F - .limit locals 2 - .limit stack 3 - - iload_0 - iload_1 - fmul - freturn -.end method diff --git a/dx/tests/102-verify-nonwide-math/op_fneg.j b/dx/tests/102-verify-nonwide-math/op_fneg.j deleted file mode 100644 index 34898bd3f..000000000 --- a/dx/tests/102-verify-nonwide-math/op_fneg.j +++ /dev/null @@ -1,25 +0,0 @@ -; Copyright (C) 2008 The Android Open Source Project -; -; Licensed under the Apache License, Version 2.0 (the "License"); -; you may not use this file except in compliance with the License. -; You may obtain a copy of the License at -; -; http://www.apache.org/licenses/LICENSE-2.0 -; -; Unless required by applicable law or agreed to in writing, software -; distributed under the License is distributed on an "AS IS" BASIS, -; WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -; See the License for the specific language governing permissions and -; limitations under the License. - -.class op_fneg -.super java/lang/Object - -.method public static test(II)F - .limit locals 2 - .limit stack 3 - - iload_0 - fneg - freturn -.end method diff --git a/dx/tests/102-verify-nonwide-math/op_frem.j b/dx/tests/102-verify-nonwide-math/op_frem.j deleted file mode 100644 index 17f46025a..000000000 --- a/dx/tests/102-verify-nonwide-math/op_frem.j +++ /dev/null @@ -1,26 +0,0 @@ -; Copyright (C) 2008 The Android Open Source Project -; -; Licensed under the Apache License, Version 2.0 (the "License"); -; you may not use this file except in compliance with the License. -; You may obtain a copy of the License at -; -; http://www.apache.org/licenses/LICENSE-2.0 -; -; Unless required by applicable law or agreed to in writing, software -; distributed under the License is distributed on an "AS IS" BASIS, -; WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -; See the License for the specific language governing permissions and -; limitations under the License. - -.class op_frem -.super java/lang/Object - -.method public static test(II)F - .limit locals 2 - .limit stack 3 - - iload_0 - iload_1 - frem - freturn -.end method diff --git a/dx/tests/102-verify-nonwide-math/op_fsub.j b/dx/tests/102-verify-nonwide-math/op_fsub.j deleted file mode 100644 index 692f4f84a..000000000 --- a/dx/tests/102-verify-nonwide-math/op_fsub.j +++ /dev/null @@ -1,26 +0,0 @@ -; Copyright (C) 2008 The Android Open Source Project -; -; Licensed under the Apache License, Version 2.0 (the "License"); -; you may not use this file except in compliance with the License. -; You may obtain a copy of the License at -; -; http://www.apache.org/licenses/LICENSE-2.0 -; -; Unless required by applicable law or agreed to in writing, software -; distributed under the License is distributed on an "AS IS" BASIS, -; WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -; See the License for the specific language governing permissions and -; limitations under the License. - -.class op_fsub -.super java/lang/Object - -.method public static test(II)F - .limit locals 2 - .limit stack 3 - - iload_0 - iload_1 - fsub - freturn -.end method diff --git a/dx/tests/102-verify-nonwide-math/op_i2d.j b/dx/tests/102-verify-nonwide-math/op_i2d.j deleted file mode 100644 index 6c73dbe90..000000000 --- a/dx/tests/102-verify-nonwide-math/op_i2d.j +++ /dev/null @@ -1,25 +0,0 @@ -; Copyright (C) 2008 The Android Open Source Project -; -; Licensed under the Apache License, Version 2.0 (the "License"); -; you may not use this file except in compliance with the License. -; You may obtain a copy of the License at -; -; http://www.apache.org/licenses/LICENSE-2.0 -; -; Unless required by applicable law or agreed to in writing, software -; distributed under the License is distributed on an "AS IS" BASIS, -; WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -; See the License for the specific language governing permissions and -; limitations under the License. - -.class op_i2d -.super java/lang/Object - -.method public static test(FF)D - .limit locals 2 - .limit stack 3 - - fload_0 - i2d - dreturn -.end method diff --git a/dx/tests/102-verify-nonwide-math/op_i2f.j b/dx/tests/102-verify-nonwide-math/op_i2f.j deleted file mode 100644 index cee0b844e..000000000 --- a/dx/tests/102-verify-nonwide-math/op_i2f.j +++ /dev/null @@ -1,25 +0,0 @@ -; Copyright (C) 2008 The Android Open Source Project -; -; Licensed under the Apache License, Version 2.0 (the "License"); -; you may not use this file except in compliance with the License. -; You may obtain a copy of the License at -; -; http://www.apache.org/licenses/LICENSE-2.0 -; -; Unless required by applicable law or agreed to in writing, software -; distributed under the License is distributed on an "AS IS" BASIS, -; WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -; See the License for the specific language governing permissions and -; limitations under the License. - -.class op_i2f -.super java/lang/Object - -.method public static test(FF)F - .limit locals 2 - .limit stack 3 - - fload_0 - i2f - freturn -.end method diff --git a/dx/tests/102-verify-nonwide-math/op_i2l.j b/dx/tests/102-verify-nonwide-math/op_i2l.j deleted file mode 100644 index d6f2daae9..000000000 --- a/dx/tests/102-verify-nonwide-math/op_i2l.j +++ /dev/null @@ -1,25 +0,0 @@ -; Copyright (C) 2008 The Android Open Source Project -; -; Licensed under the Apache License, Version 2.0 (the "License"); -; you may not use this file except in compliance with the License. -; You may obtain a copy of the License at -; -; http://www.apache.org/licenses/LICENSE-2.0 -; -; Unless required by applicable law or agreed to in writing, software -; distributed under the License is distributed on an "AS IS" BASIS, -; WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -; See the License for the specific language governing permissions and -; limitations under the License. - -.class op_i2l -.super java/lang/Object - -.method public static test(FF)J - .limit locals 2 - .limit stack 3 - - fload_0 - i2l - lreturn -.end method diff --git a/dx/tests/102-verify-nonwide-math/op_iadd.j b/dx/tests/102-verify-nonwide-math/op_iadd.j deleted file mode 100644 index e3d92e3c2..000000000 --- a/dx/tests/102-verify-nonwide-math/op_iadd.j +++ /dev/null @@ -1,26 +0,0 @@ -; Copyright (C) 2008 The Android Open Source Project -; -; Licensed under the Apache License, Version 2.0 (the "License"); -; you may not use this file except in compliance with the License. -; You may obtain a copy of the License at -; -; http://www.apache.org/licenses/LICENSE-2.0 -; -; Unless required by applicable law or agreed to in writing, software -; distributed under the License is distributed on an "AS IS" BASIS, -; WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -; See the License for the specific language governing permissions and -; limitations under the License. - -.class op_iadd -.super java/lang/Object - -.method public static test(FF)I - .limit locals 2 - .limit stack 3 - - fload_0 - fload_1 - iadd - ireturn -.end method diff --git a/dx/tests/102-verify-nonwide-math/op_iand.j b/dx/tests/102-verify-nonwide-math/op_iand.j deleted file mode 100644 index 063738c98..000000000 --- a/dx/tests/102-verify-nonwide-math/op_iand.j +++ /dev/null @@ -1,26 +0,0 @@ -; Copyright (C) 2008 The Android Open Source Project -; -; Licensed under the Apache License, Version 2.0 (the "License"); -; you may not use this file except in compliance with the License. -; You may obtain a copy of the License at -; -; http://www.apache.org/licenses/LICENSE-2.0 -; -; Unless required by applicable law or agreed to in writing, software -; distributed under the License is distributed on an "AS IS" BASIS, -; WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -; See the License for the specific language governing permissions and -; limitations under the License. - -.class op_iand -.super java/lang/Object - -.method public static test(FF)I - .limit locals 2 - .limit stack 3 - - fload_0 - fload_1 - iand - ireturn -.end method diff --git a/dx/tests/102-verify-nonwide-math/op_idiv.j b/dx/tests/102-verify-nonwide-math/op_idiv.j deleted file mode 100644 index 2e3e3a35d..000000000 --- a/dx/tests/102-verify-nonwide-math/op_idiv.j +++ /dev/null @@ -1,26 +0,0 @@ -; Copyright (C) 2008 The Android Open Source Project -; -; Licensed under the Apache License, Version 2.0 (the "License"); -; you may not use this file except in compliance with the License. -; You may obtain a copy of the License at -; -; http://www.apache.org/licenses/LICENSE-2.0 -; -; Unless required by applicable law or agreed to in writing, software -; distributed under the License is distributed on an "AS IS" BASIS, -; WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -; See the License for the specific language governing permissions and -; limitations under the License. - -.class op_idiv -.super java/lang/Object - -.method public static test(FF)I - .limit locals 2 - .limit stack 3 - - fload_0 - fload_1 - idiv - ireturn -.end method diff --git a/dx/tests/102-verify-nonwide-math/op_imul.j b/dx/tests/102-verify-nonwide-math/op_imul.j deleted file mode 100644 index 7f4f612d7..000000000 --- a/dx/tests/102-verify-nonwide-math/op_imul.j +++ /dev/null @@ -1,26 +0,0 @@ -; Copyright (C) 2008 The Android Open Source Project -; -; Licensed under the Apache License, Version 2.0 (the "License"); -; you may not use this file except in compliance with the License. -; You may obtain a copy of the License at -; -; http://www.apache.org/licenses/LICENSE-2.0 -; -; Unless required by applicable law or agreed to in writing, software -; distributed under the License is distributed on an "AS IS" BASIS, -; WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -; See the License for the specific language governing permissions and -; limitations under the License. - -.class op_imul -.super java/lang/Object - -.method public static test(FF)I - .limit locals 2 - .limit stack 3 - - fload_0 - fload_1 - imul - ireturn -.end method diff --git a/dx/tests/102-verify-nonwide-math/op_ineg.j b/dx/tests/102-verify-nonwide-math/op_ineg.j deleted file mode 100644 index 68fcb8c71..000000000 --- a/dx/tests/102-verify-nonwide-math/op_ineg.j +++ /dev/null @@ -1,25 +0,0 @@ -; Copyright (C) 2008 The Android Open Source Project -; -; Licensed under the Apache License, Version 2.0 (the "License"); -; you may not use this file except in compliance with the License. -; You may obtain a copy of the License at -; -; http://www.apache.org/licenses/LICENSE-2.0 -; -; Unless required by applicable law or agreed to in writing, software -; distributed under the License is distributed on an "AS IS" BASIS, -; WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -; See the License for the specific language governing permissions and -; limitations under the License. - -.class op_ineg -.super java/lang/Object - -.method public static test(FF)I - .limit locals 2 - .limit stack 3 - - fload_0 - ineg - ireturn -.end method diff --git a/dx/tests/102-verify-nonwide-math/op_ior.j b/dx/tests/102-verify-nonwide-math/op_ior.j deleted file mode 100644 index c8c3a4b85..000000000 --- a/dx/tests/102-verify-nonwide-math/op_ior.j +++ /dev/null @@ -1,26 +0,0 @@ -; Copyright (C) 2008 The Android Open Source Project -; -; Licensed under the Apache License, Version 2.0 (the "License"); -; you may not use this file except in compliance with the License. -; You may obtain a copy of the License at -; -; http://www.apache.org/licenses/LICENSE-2.0 -; -; Unless required by applicable law or agreed to in writing, software -; distributed under the License is distributed on an "AS IS" BASIS, -; WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -; See the License for the specific language governing permissions and -; limitations under the License. - -.class op_ior -.super java/lang/Object - -.method public static test(FF)I - .limit locals 2 - .limit stack 3 - - fload_0 - fload_1 - ior - ireturn -.end method diff --git a/dx/tests/102-verify-nonwide-math/op_irem.j b/dx/tests/102-verify-nonwide-math/op_irem.j deleted file mode 100644 index b22f1fdb4..000000000 --- a/dx/tests/102-verify-nonwide-math/op_irem.j +++ /dev/null @@ -1,26 +0,0 @@ -; Copyright (C) 2008 The Android Open Source Project -; -; Licensed under the Apache License, Version 2.0 (the "License"); -; you may not use this file except in compliance with the License. -; You may obtain a copy of the License at -; -; http://www.apache.org/licenses/LICENSE-2.0 -; -; Unless required by applicable law or agreed to in writing, software -; distributed under the License is distributed on an "AS IS" BASIS, -; WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -; See the License for the specific language governing permissions and -; limitations under the License. - -.class op_irem -.super java/lang/Object - -.method public static test(FF)I - .limit locals 2 - .limit stack 3 - - fload_0 - fload_1 - irem - ireturn -.end method diff --git a/dx/tests/102-verify-nonwide-math/op_ishl.j b/dx/tests/102-verify-nonwide-math/op_ishl.j deleted file mode 100644 index e61718225..000000000 --- a/dx/tests/102-verify-nonwide-math/op_ishl.j +++ /dev/null @@ -1,26 +0,0 @@ -; Copyright (C) 2008 The Android Open Source Project -; -; Licensed under the Apache License, Version 2.0 (the "License"); -; you may not use this file except in compliance with the License. -; You may obtain a copy of the License at -; -; http://www.apache.org/licenses/LICENSE-2.0 -; -; Unless required by applicable law or agreed to in writing, software -; distributed under the License is distributed on an "AS IS" BASIS, -; WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -; See the License for the specific language governing permissions and -; limitations under the License. - -.class op_ishl -.super java/lang/Object - -.method public static test(FF)I - .limit locals 2 - .limit stack 3 - - fload_0 - fload_1 - ishl - ireturn -.end method diff --git a/dx/tests/102-verify-nonwide-math/op_ishr.j b/dx/tests/102-verify-nonwide-math/op_ishr.j deleted file mode 100644 index 64eba11fb..000000000 --- a/dx/tests/102-verify-nonwide-math/op_ishr.j +++ /dev/null @@ -1,26 +0,0 @@ -; Copyright (C) 2008 The Android Open Source Project -; -; Licensed under the Apache License, Version 2.0 (the "License"); -; you may not use this file except in compliance with the License. -; You may obtain a copy of the License at -; -; http://www.apache.org/licenses/LICENSE-2.0 -; -; Unless required by applicable law or agreed to in writing, software -; distributed under the License is distributed on an "AS IS" BASIS, -; WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -; See the License for the specific language governing permissions and -; limitations under the License. - -.class op_ishr -.super java/lang/Object - -.method public static test(FF)I - .limit locals 2 - .limit stack 3 - - fload_0 - fload_1 - ishr - ireturn -.end method diff --git a/dx/tests/102-verify-nonwide-math/op_isub.j b/dx/tests/102-verify-nonwide-math/op_isub.j deleted file mode 100644 index ee789b066..000000000 --- a/dx/tests/102-verify-nonwide-math/op_isub.j +++ /dev/null @@ -1,26 +0,0 @@ -; Copyright (C) 2008 The Android Open Source Project -; -; Licensed under the Apache License, Version 2.0 (the "License"); -; you may not use this file except in compliance with the License. -; You may obtain a copy of the License at -; -; http://www.apache.org/licenses/LICENSE-2.0 -; -; Unless required by applicable law or agreed to in writing, software -; distributed under the License is distributed on an "AS IS" BASIS, -; WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -; See the License for the specific language governing permissions and -; limitations under the License. - -.class op_isub -.super java/lang/Object - -.method public static test(FF)I - .limit locals 2 - .limit stack 3 - - fload_0 - fload_1 - isub - ireturn -.end method diff --git a/dx/tests/102-verify-nonwide-math/op_iushr.j b/dx/tests/102-verify-nonwide-math/op_iushr.j deleted file mode 100644 index 73c34f199..000000000 --- a/dx/tests/102-verify-nonwide-math/op_iushr.j +++ /dev/null @@ -1,26 +0,0 @@ -; Copyright (C) 2008 The Android Open Source Project -; -; Licensed under the Apache License, Version 2.0 (the "License"); -; you may not use this file except in compliance with the License. -; You may obtain a copy of the License at -; -; http://www.apache.org/licenses/LICENSE-2.0 -; -; Unless required by applicable law or agreed to in writing, software -; distributed under the License is distributed on an "AS IS" BASIS, -; WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -; See the License for the specific language governing permissions and -; limitations under the License. - -.class op_iushr -.super java/lang/Object - -.method public static test(FF)I - .limit locals 2 - .limit stack 3 - - fload_0 - fload_1 - iushr - ireturn -.end method diff --git a/dx/tests/102-verify-nonwide-math/op_ixor.j b/dx/tests/102-verify-nonwide-math/op_ixor.j deleted file mode 100644 index 68f095b3f..000000000 --- a/dx/tests/102-verify-nonwide-math/op_ixor.j +++ /dev/null @@ -1,26 +0,0 @@ -; Copyright (C) 2008 The Android Open Source Project -; -; Licensed under the Apache License, Version 2.0 (the "License"); -; you may not use this file except in compliance with the License. -; You may obtain a copy of the License at -; -; http://www.apache.org/licenses/LICENSE-2.0 -; -; Unless required by applicable law or agreed to in writing, software -; distributed under the License is distributed on an "AS IS" BASIS, -; WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -; See the License for the specific language governing permissions and -; limitations under the License. - -.class op_ixor -.super java/lang/Object - -.method public static test(FF)I - .limit locals 2 - .limit stack 3 - - fload_0 - fload_1 - ixor - ireturn -.end method diff --git a/dx/tests/102-verify-nonwide-math/run b/dx/tests/102-verify-nonwide-math/run deleted file mode 100644 index eb4a294a0..000000000 --- a/dx/tests/102-verify-nonwide-math/run +++ /dev/null @@ -1,51 +0,0 @@ -#!/bin/bash -# -# Copyright (C) 2007 The Android Open Source Project -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -function oneop() -{ - jasmin -d . op_"$1".j - dx --debug --dex op_"$1".class >/dev/null 2>&1 - if [ "$?" = "0" ]; then - dx --debug --dex --dump-method="op_$1.test*" op_"$1".class - else - echo "$1: expected failure occurred" - fi -} - -oneop f2d -oneop f2i -oneop f2l -oneop fadd -oneop fdiv -oneop fmul -oneop fneg -oneop frem -oneop fsub -oneop i2d -oneop i2f -oneop i2l -oneop iadd -oneop iand -oneop idiv -oneop imul -oneop ineg -oneop ior -oneop irem -oneop ishl -oneop ishr -oneop isub -oneop iushr -oneop ixor diff --git a/dx/tests/103-verify-branch-ops/expected.txt b/dx/tests/103-verify-branch-ops/expected.txt deleted file mode 100644 index 2c96704b4..000000000 --- a/dx/tests/103-verify-branch-ops/expected.txt +++ /dev/null @@ -1,36 +0,0 @@ -Generated: ./op_if_acmpeq.class -if_acmpeq: expected failure occurred -Generated: ./op_if_acmpne.class -if_acmpne: expected failure occurred -Generated: ./op_if_icmpeq.class -if_icmpeq: expected failure occurred -Generated: ./op_if_icmpge.class -if_icmpge: expected failure occurred -Generated: ./op_if_icmpgt.class -if_icmpgt: expected failure occurred -Generated: ./op_if_icmple.class -if_icmple: expected failure occurred -Generated: ./op_if_icmplt.class -if_icmplt: expected failure occurred -Generated: ./op_if_icmpne.class -if_icmpne: expected failure occurred -Generated: ./op_ifeq.class -ifeq: expected failure occurred -Generated: ./op_ifge.class -ifge: expected failure occurred -Generated: ./op_ifgt.class -ifgt: expected failure occurred -Generated: ./op_ifle.class -ifle: expected failure occurred -Generated: ./op_iflt.class -iflt: expected failure occurred -Generated: ./op_ifne.class -ifne: expected failure occurred -Generated: ./op_ifnonnull.class -ifnonnull: expected failure occurred -Generated: ./op_ifnull.class -ifnull: expected failure occurred -Generated: ./op_lookupswitch.class -lookupswitch: expected failure occurred -Generated: ./op_tableswitch.class -tableswitch: expected failure occurred diff --git a/dx/tests/103-verify-branch-ops/info.txt b/dx/tests/103-verify-branch-ops/info.txt deleted file mode 100644 index 8705e83d1..000000000 --- a/dx/tests/103-verify-branch-ops/info.txt +++ /dev/null @@ -1,2 +0,0 @@ -This tests branch opcodes to verify that their arguments are actually of -the appropriate types. diff --git a/dx/tests/103-verify-branch-ops/op_if_acmpeq.j b/dx/tests/103-verify-branch-ops/op_if_acmpeq.j deleted file mode 100644 index 43392008e..000000000 --- a/dx/tests/103-verify-branch-ops/op_if_acmpeq.j +++ /dev/null @@ -1,28 +0,0 @@ -; Copyright (C) 2008 The Android Open Source Project -; -; Licensed under the Apache License, Version 2.0 (the "License"); -; you may not use this file except in compliance with the License. -; You may obtain a copy of the License at -; -; http://www.apache.org/licenses/LICENSE-2.0 -; -; Unless required by applicable law or agreed to in writing, software -; distributed under the License is distributed on an "AS IS" BASIS, -; WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -; See the License for the specific language governing permissions and -; limitations under the License. - -.class op_if_acmpeq -.super java/lang/Object - -.method public static test(FF)V - .limit locals 2 - .limit stack 3 - - fload_0 - fload_1 - if_acmpeq blort - nop -blort: - return -.end method diff --git a/dx/tests/103-verify-branch-ops/op_if_acmpne.j b/dx/tests/103-verify-branch-ops/op_if_acmpne.j deleted file mode 100644 index 57a317b33..000000000 --- a/dx/tests/103-verify-branch-ops/op_if_acmpne.j +++ /dev/null @@ -1,28 +0,0 @@ -; Copyright (C) 2008 The Android Open Source Project -; -; Licensed under the Apache License, Version 2.0 (the "License"); -; you may not use this file except in compliance with the License. -; You may obtain a copy of the License at -; -; http://www.apache.org/licenses/LICENSE-2.0 -; -; Unless required by applicable law or agreed to in writing, software -; distributed under the License is distributed on an "AS IS" BASIS, -; WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -; See the License for the specific language governing permissions and -; limitations under the License. - -.class op_if_acmpne -.super java/lang/Object - -.method public static test(FF)V - .limit locals 2 - .limit stack 3 - - fload_0 - fload_1 - if_acmpne blort - nop -blort: - return -.end method diff --git a/dx/tests/103-verify-branch-ops/op_if_icmpeq.j b/dx/tests/103-verify-branch-ops/op_if_icmpeq.j deleted file mode 100644 index 1f141bc51..000000000 --- a/dx/tests/103-verify-branch-ops/op_if_icmpeq.j +++ /dev/null @@ -1,28 +0,0 @@ -; Copyright (C) 2008 The Android Open Source Project -; -; Licensed under the Apache License, Version 2.0 (the "License"); -; you may not use this file except in compliance with the License. -; You may obtain a copy of the License at -; -; http://www.apache.org/licenses/LICENSE-2.0 -; -; Unless required by applicable law or agreed to in writing, software -; distributed under the License is distributed on an "AS IS" BASIS, -; WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -; See the License for the specific language governing permissions and -; limitations under the License. - -.class op_if_icmpeq -.super java/lang/Object - -.method public static test(FF)V - .limit locals 2 - .limit stack 3 - - fload_0 - fload_1 - if_icmpeq blort - nop -blort: - return -.end method diff --git a/dx/tests/103-verify-branch-ops/op_if_icmpge.j b/dx/tests/103-verify-branch-ops/op_if_icmpge.j deleted file mode 100644 index 6ae2e3ffe..000000000 --- a/dx/tests/103-verify-branch-ops/op_if_icmpge.j +++ /dev/null @@ -1,28 +0,0 @@ -; Copyright (C) 2008 The Android Open Source Project -; -; Licensed under the Apache License, Version 2.0 (the "License"); -; you may not use this file except in compliance with the License. -; You may obtain a copy of the License at -; -; http://www.apache.org/licenses/LICENSE-2.0 -; -; Unless required by applicable law or agreed to in writing, software -; distributed under the License is distributed on an "AS IS" BASIS, -; WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -; See the License for the specific language governing permissions and -; limitations under the License. - -.class op_if_icmpge -.super java/lang/Object - -.method public static test(FF)V - .limit locals 2 - .limit stack 3 - - fload_0 - fload_1 - if_icmpge blort - nop -blort: - return -.end method diff --git a/dx/tests/103-verify-branch-ops/op_if_icmpgt.j b/dx/tests/103-verify-branch-ops/op_if_icmpgt.j deleted file mode 100644 index 4e672824c..000000000 --- a/dx/tests/103-verify-branch-ops/op_if_icmpgt.j +++ /dev/null @@ -1,28 +0,0 @@ -; Copyright (C) 2008 The Android Open Source Project -; -; Licensed under the Apache License, Version 2.0 (the "License"); -; you may not use this file except in compliance with the License. -; You may obtain a copy of the License at -; -; http://www.apache.org/licenses/LICENSE-2.0 -; -; Unless required by applicable law or agreed to in writing, software -; distributed under the License is distributed on an "AS IS" BASIS, -; WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -; See the License for the specific language governing permissions and -; limitations under the License. - -.class op_if_icmpgt -.super java/lang/Object - -.method public static test(FF)V - .limit locals 2 - .limit stack 3 - - fload_0 - fload_1 - if_icmpgt blort - nop -blort: - return -.end method diff --git a/dx/tests/103-verify-branch-ops/op_if_icmple.j b/dx/tests/103-verify-branch-ops/op_if_icmple.j deleted file mode 100644 index 351180057..000000000 --- a/dx/tests/103-verify-branch-ops/op_if_icmple.j +++ /dev/null @@ -1,28 +0,0 @@ -; Copyright (C) 2008 The Android Open Source Project -; -; Licensed under the Apache License, Version 2.0 (the "License"); -; you may not use this file except in compliance with the License. -; You may obtain a copy of the License at -; -; http://www.apache.org/licenses/LICENSE-2.0 -; -; Unless required by applicable law or agreed to in writing, software -; distributed under the License is distributed on an "AS IS" BASIS, -; WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -; See the License for the specific language governing permissions and -; limitations under the License. - -.class op_if_icmple -.super java/lang/Object - -.method public static test(FF)V - .limit locals 2 - .limit stack 3 - - fload_0 - fload_1 - if_icmple blort - nop -blort: - return -.end method diff --git a/dx/tests/103-verify-branch-ops/op_if_icmplt.j b/dx/tests/103-verify-branch-ops/op_if_icmplt.j deleted file mode 100644 index 89527f50e..000000000 --- a/dx/tests/103-verify-branch-ops/op_if_icmplt.j +++ /dev/null @@ -1,28 +0,0 @@ -; Copyright (C) 2008 The Android Open Source Project -; -; Licensed under the Apache License, Version 2.0 (the "License"); -; you may not use this file except in compliance with the License. -; You may obtain a copy of the License at -; -; http://www.apache.org/licenses/LICENSE-2.0 -; -; Unless required by applicable law or agreed to in writing, software -; distributed under the License is distributed on an "AS IS" BASIS, -; WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -; See the License for the specific language governing permissions and -; limitations under the License. - -.class op_if_icmplt -.super java/lang/Object - -.method public static test(FF)V - .limit locals 2 - .limit stack 3 - - fload_0 - fload_1 - if_icmplt blort - nop -blort: - return -.end method diff --git a/dx/tests/103-verify-branch-ops/op_if_icmpne.j b/dx/tests/103-verify-branch-ops/op_if_icmpne.j deleted file mode 100644 index a94faee81..000000000 --- a/dx/tests/103-verify-branch-ops/op_if_icmpne.j +++ /dev/null @@ -1,28 +0,0 @@ -; Copyright (C) 2008 The Android Open Source Project -; -; Licensed under the Apache License, Version 2.0 (the "License"); -; you may not use this file except in compliance with the License. -; You may obtain a copy of the License at -; -; http://www.apache.org/licenses/LICENSE-2.0 -; -; Unless required by applicable law or agreed to in writing, software -; distributed under the License is distributed on an "AS IS" BASIS, -; WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -; See the License for the specific language governing permissions and -; limitations under the License. - -.class op_if_icmpne -.super java/lang/Object - -.method public static test(FF)V - .limit locals 2 - .limit stack 3 - - fload_0 - fload_1 - if_icmpne blort - nop -blort: - return -.end method diff --git a/dx/tests/103-verify-branch-ops/op_ifeq.j b/dx/tests/103-verify-branch-ops/op_ifeq.j deleted file mode 100644 index 620e1c9cf..000000000 --- a/dx/tests/103-verify-branch-ops/op_ifeq.j +++ /dev/null @@ -1,27 +0,0 @@ -; Copyright (C) 2008 The Android Open Source Project -; -; Licensed under the Apache License, Version 2.0 (the "License"); -; you may not use this file except in compliance with the License. -; You may obtain a copy of the License at -; -; http://www.apache.org/licenses/LICENSE-2.0 -; -; Unless required by applicable law or agreed to in writing, software -; distributed under the License is distributed on an "AS IS" BASIS, -; WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -; See the License for the specific language governing permissions and -; limitations under the License. - -.class op_ifeq -.super java/lang/Object - -.method public static test(FF)V - .limit locals 2 - .limit stack 3 - - fload_0 - ifeq blort - nop -blort: - return -.end method diff --git a/dx/tests/103-verify-branch-ops/op_ifge.j b/dx/tests/103-verify-branch-ops/op_ifge.j deleted file mode 100644 index c46b176cd..000000000 --- a/dx/tests/103-verify-branch-ops/op_ifge.j +++ /dev/null @@ -1,27 +0,0 @@ -; Copyright (C) 2008 The Android Open Source Project -; -; Licensed under the Apache License, Version 2.0 (the "License"); -; you may not use this file except in compliance with the License. -; You may obtain a copy of the License at -; -; http://www.apache.org/licenses/LICENSE-2.0 -; -; Unless required by applicable law or agreed to in writing, software -; distributed under the License is distributed on an "AS IS" BASIS, -; WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -; See the License for the specific language governing permissions and -; limitations under the License. - -.class op_ifge -.super java/lang/Object - -.method public static test(FF)V - .limit locals 2 - .limit stack 3 - - fload_0 - ifge blort - nop -blort: - return -.end method diff --git a/dx/tests/103-verify-branch-ops/op_ifgt.j b/dx/tests/103-verify-branch-ops/op_ifgt.j deleted file mode 100644 index 816503887..000000000 --- a/dx/tests/103-verify-branch-ops/op_ifgt.j +++ /dev/null @@ -1,27 +0,0 @@ -; Copyright (C) 2008 The Android Open Source Project -; -; Licensed under the Apache License, Version 2.0 (the "License"); -; you may not use this file except in compliance with the License. -; You may obtain a copy of the License at -; -; http://www.apache.org/licenses/LICENSE-2.0 -; -; Unless required by applicable law or agreed to in writing, software -; distributed under the License is distributed on an "AS IS" BASIS, -; WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -; See the License for the specific language governing permissions and -; limitations under the License. - -.class op_ifgt -.super java/lang/Object - -.method public static test(FF)V - .limit locals 2 - .limit stack 3 - - fload_0 - ifgt blort - nop -blort: - return -.end method diff --git a/dx/tests/103-verify-branch-ops/op_ifle.j b/dx/tests/103-verify-branch-ops/op_ifle.j deleted file mode 100644 index 758943fe0..000000000 --- a/dx/tests/103-verify-branch-ops/op_ifle.j +++ /dev/null @@ -1,27 +0,0 @@ -; Copyright (C) 2008 The Android Open Source Project -; -; Licensed under the Apache License, Version 2.0 (the "License"); -; you may not use this file except in compliance with the License. -; You may obtain a copy of the License at -; -; http://www.apache.org/licenses/LICENSE-2.0 -; -; Unless required by applicable law or agreed to in writing, software -; distributed under the License is distributed on an "AS IS" BASIS, -; WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -; See the License for the specific language governing permissions and -; limitations under the License. - -.class op_ifle -.super java/lang/Object - -.method public static test(FF)V - .limit locals 2 - .limit stack 3 - - fload_0 - ifle blort - nop -blort: - return -.end method diff --git a/dx/tests/103-verify-branch-ops/op_iflt.j b/dx/tests/103-verify-branch-ops/op_iflt.j deleted file mode 100644 index 50913555c..000000000 --- a/dx/tests/103-verify-branch-ops/op_iflt.j +++ /dev/null @@ -1,27 +0,0 @@ -; Copyright (C) 2008 The Android Open Source Project -; -; Licensed under the Apache License, Version 2.0 (the "License"); -; you may not use this file except in compliance with the License. -; You may obtain a copy of the License at -; -; http://www.apache.org/licenses/LICENSE-2.0 -; -; Unless required by applicable law or agreed to in writing, software -; distributed under the License is distributed on an "AS IS" BASIS, -; WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -; See the License for the specific language governing permissions and -; limitations under the License. - -.class op_iflt -.super java/lang/Object - -.method public static test(FF)V - .limit locals 2 - .limit stack 3 - - fload_0 - iflt blort - nop -blort: - return -.end method diff --git a/dx/tests/103-verify-branch-ops/op_ifne.j b/dx/tests/103-verify-branch-ops/op_ifne.j deleted file mode 100644 index bb2dadc21..000000000 --- a/dx/tests/103-verify-branch-ops/op_ifne.j +++ /dev/null @@ -1,27 +0,0 @@ -; Copyright (C) 2008 The Android Open Source Project -; -; Licensed under the Apache License, Version 2.0 (the "License"); -; you may not use this file except in compliance with the License. -; You may obtain a copy of the License at -; -; http://www.apache.org/licenses/LICENSE-2.0 -; -; Unless required by applicable law or agreed to in writing, software -; distributed under the License is distributed on an "AS IS" BASIS, -; WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -; See the License for the specific language governing permissions and -; limitations under the License. - -.class op_ifne -.super java/lang/Object - -.method public static test(FF)V - .limit locals 2 - .limit stack 3 - - fload_0 - ifne blort - nop -blort: - return -.end method diff --git a/dx/tests/103-verify-branch-ops/op_ifnonnull.j b/dx/tests/103-verify-branch-ops/op_ifnonnull.j deleted file mode 100644 index f2422f091..000000000 --- a/dx/tests/103-verify-branch-ops/op_ifnonnull.j +++ /dev/null @@ -1,27 +0,0 @@ -; Copyright (C) 2008 The Android Open Source Project -; -; Licensed under the Apache License, Version 2.0 (the "License"); -; you may not use this file except in compliance with the License. -; You may obtain a copy of the License at -; -; http://www.apache.org/licenses/LICENSE-2.0 -; -; Unless required by applicable law or agreed to in writing, software -; distributed under the License is distributed on an "AS IS" BASIS, -; WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -; See the License for the specific language governing permissions and -; limitations under the License. - -.class op_ifnonnull -.super java/lang/Object - -.method public static test(IF)V - .limit locals 2 - .limit stack 3 - - iload_0 - ifnonnull blort - nop -blort: - return -.end method diff --git a/dx/tests/103-verify-branch-ops/op_ifnull.j b/dx/tests/103-verify-branch-ops/op_ifnull.j deleted file mode 100644 index c253b0930..000000000 --- a/dx/tests/103-verify-branch-ops/op_ifnull.j +++ /dev/null @@ -1,27 +0,0 @@ -; Copyright (C) 2008 The Android Open Source Project -; -; Licensed under the Apache License, Version 2.0 (the "License"); -; you may not use this file except in compliance with the License. -; You may obtain a copy of the License at -; -; http://www.apache.org/licenses/LICENSE-2.0 -; -; Unless required by applicable law or agreed to in writing, software -; distributed under the License is distributed on an "AS IS" BASIS, -; WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -; See the License for the specific language governing permissions and -; limitations under the License. - -.class op_ifnull -.super java/lang/Object - -.method public static test(FF)V - .limit locals 2 - .limit stack 3 - - fload_0 - ifnull blort - nop -blort: - return -.end method diff --git a/dx/tests/103-verify-branch-ops/op_lookupswitch.j b/dx/tests/103-verify-branch-ops/op_lookupswitch.j deleted file mode 100644 index 21fe8f793..000000000 --- a/dx/tests/103-verify-branch-ops/op_lookupswitch.j +++ /dev/null @@ -1,33 +0,0 @@ -; Copyright (C) 2008 The Android Open Source Project -; -; Licensed under the Apache License, Version 2.0 (the "License"); -; you may not use this file except in compliance with the License. -; You may obtain a copy of the License at -; -; http://www.apache.org/licenses/LICENSE-2.0 -; -; Unless required by applicable law or agreed to in writing, software -; distributed under the License is distributed on an "AS IS" BASIS, -; WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -; See the License for the specific language governing permissions and -; limitations under the License. - -.class op_lookupswitch -.super java/lang/Object - -.method public static test(FF)V - .limit locals 2 - .limit stack 3 - - fload_0 - lookupswitch - 0x05: t1 - 0x10: t2 - default: t3 -t1: - nop -t2: - nop -t3: - return -.end method diff --git a/dx/tests/103-verify-branch-ops/op_tableswitch.j b/dx/tests/103-verify-branch-ops/op_tableswitch.j deleted file mode 100644 index 657feff98..000000000 --- a/dx/tests/103-verify-branch-ops/op_tableswitch.j +++ /dev/null @@ -1,33 +0,0 @@ -; Copyright (C) 2008 The Android Open Source Project -; -; Licensed under the Apache License, Version 2.0 (the "License"); -; you may not use this file except in compliance with the License. -; You may obtain a copy of the License at -; -; http://www.apache.org/licenses/LICENSE-2.0 -; -; Unless required by applicable law or agreed to in writing, software -; distributed under the License is distributed on an "AS IS" BASIS, -; WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -; See the License for the specific language governing permissions and -; limitations under the License. - -.class op_tableswitch -.super java/lang/Object - -.method public static test(FF)V - .limit locals 2 - .limit stack 3 - - fload_0 - tableswitch 0x10 - t1 - t2 - default: t3 -t1: - nop -t2: - nop -t3: - return -.end method diff --git a/dx/tests/103-verify-branch-ops/run b/dx/tests/103-verify-branch-ops/run deleted file mode 100644 index c9ca89fda..000000000 --- a/dx/tests/103-verify-branch-ops/run +++ /dev/null @@ -1,45 +0,0 @@ -#!/bin/bash -# -# Copyright (C) 2007 The Android Open Source Project -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -function oneop() -{ - jasmin -d . op_"$1".j - dx --debug --dex op_"$1".class >/dev/null 2>&1 - if [ "$?" = "0" ]; then - dx --debug --dex --dump-method="op_$1.test*" op_"$1".class - else - echo "$1: expected failure occurred" - fi -} - -oneop if_acmpeq -oneop if_acmpne -oneop if_icmpeq -oneop if_icmpge -oneop if_icmpgt -oneop if_icmple -oneop if_icmplt -oneop if_icmpne -oneop ifeq -oneop ifge -oneop ifgt -oneop ifle -oneop iflt -oneop ifne -oneop ifnonnull -oneop ifnull -oneop lookupswitch -oneop tableswitch diff --git a/dx/tests/104-verify-return-ops/expected.txt b/dx/tests/104-verify-return-ops/expected.txt deleted file mode 100644 index 5bd9dfd9d..000000000 --- a/dx/tests/104-verify-return-ops/expected.txt +++ /dev/null @@ -1,22 +0,0 @@ -Generated: ./op_areturn.class -areturn: expected failure occurred -Generated: ./op_dreturn.class -dreturn: expected failure occurred -Generated: ./op_freturn.class -freturn: expected failure occurred -Generated: ./op_ireturn.class -ireturn: expected failure occurred -Generated: ./op_lreturn.class -lreturn: expected failure occurred -Generated: ./op_sig_areturn.class -sig_areturn: expected failure occurred -Generated: ./op_sig_dreturn.class -sig_dreturn: expected failure occurred -Generated: ./op_sig_freturn.class -sig_freturn: expected failure occurred -Generated: ./op_sig_ireturn.class -sig_ireturn: expected failure occurred -Generated: ./op_sig_lreturn.class -sig_lreturn: expected failure occurred -Generated: ./op_sig_return.class -sig_return: expected failure occurred diff --git a/dx/tests/104-verify-return-ops/info.txt b/dx/tests/104-verify-return-ops/info.txt deleted file mode 100644 index 1f5e634f8..000000000 --- a/dx/tests/104-verify-return-ops/info.txt +++ /dev/null @@ -1,2 +0,0 @@ -This tests that return opcodes verify that their arguments are actually of -the appropriate types and that the opcode matches the method signature. diff --git a/dx/tests/104-verify-return-ops/op_areturn.j b/dx/tests/104-verify-return-ops/op_areturn.j deleted file mode 100644 index 0b250880e..000000000 --- a/dx/tests/104-verify-return-ops/op_areturn.j +++ /dev/null @@ -1,24 +0,0 @@ -; Copyright (C) 2008 The Android Open Source Project -; -; Licensed under the Apache License, Version 2.0 (the "License"); -; you may not use this file except in compliance with the License. -; You may obtain a copy of the License at -; -; http://www.apache.org/licenses/LICENSE-2.0 -; -; Unless required by applicable law or agreed to in writing, software -; distributed under the License is distributed on an "AS IS" BASIS, -; WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -; See the License for the specific language governing permissions and -; limitations under the License. - -.class op_areturn -.super java/lang/Object - -.method public static test(F)Ljava/lang/Object; - .limit locals 2 - .limit stack 3 - - fload_0 - areturn -.end method diff --git a/dx/tests/104-verify-return-ops/op_dreturn.j b/dx/tests/104-verify-return-ops/op_dreturn.j deleted file mode 100644 index 1075fe169..000000000 --- a/dx/tests/104-verify-return-ops/op_dreturn.j +++ /dev/null @@ -1,24 +0,0 @@ -; Copyright (C) 2008 The Android Open Source Project -; -; Licensed under the Apache License, Version 2.0 (the "License"); -; you may not use this file except in compliance with the License. -; You may obtain a copy of the License at -; -; http://www.apache.org/licenses/LICENSE-2.0 -; -; Unless required by applicable law or agreed to in writing, software -; distributed under the License is distributed on an "AS IS" BASIS, -; WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -; See the License for the specific language governing permissions and -; limitations under the License. - -.class op_dreturn -.super java/lang/Object - -.method public static test(F)D - .limit locals 2 - .limit stack 3 - - fload_0 - dreturn -.end method diff --git a/dx/tests/104-verify-return-ops/op_freturn.j b/dx/tests/104-verify-return-ops/op_freturn.j deleted file mode 100644 index 6586ce603..000000000 --- a/dx/tests/104-verify-return-ops/op_freturn.j +++ /dev/null @@ -1,24 +0,0 @@ -; Copyright (C) 2008 The Android Open Source Project -; -; Licensed under the Apache License, Version 2.0 (the "License"); -; you may not use this file except in compliance with the License. -; You may obtain a copy of the License at -; -; http://www.apache.org/licenses/LICENSE-2.0 -; -; Unless required by applicable law or agreed to in writing, software -; distributed under the License is distributed on an "AS IS" BASIS, -; WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -; See the License for the specific language governing permissions and -; limitations under the License. - -.class op_freturn -.super java/lang/Object - -.method public static test(I)F - .limit locals 2 - .limit stack 3 - - iload_0 - freturn -.end method diff --git a/dx/tests/104-verify-return-ops/op_ireturn.j b/dx/tests/104-verify-return-ops/op_ireturn.j deleted file mode 100644 index e93dda88d..000000000 --- a/dx/tests/104-verify-return-ops/op_ireturn.j +++ /dev/null @@ -1,24 +0,0 @@ -; Copyright (C) 2008 The Android Open Source Project -; -; Licensed under the Apache License, Version 2.0 (the "License"); -; you may not use this file except in compliance with the License. -; You may obtain a copy of the License at -; -; http://www.apache.org/licenses/LICENSE-2.0 -; -; Unless required by applicable law or agreed to in writing, software -; distributed under the License is distributed on an "AS IS" BASIS, -; WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -; See the License for the specific language governing permissions and -; limitations under the License. - -.class op_ireturn -.super java/lang/Object - -.method public static test(F)I - .limit locals 2 - .limit stack 3 - - fload_0 - ireturn -.end method diff --git a/dx/tests/104-verify-return-ops/op_lreturn.j b/dx/tests/104-verify-return-ops/op_lreturn.j deleted file mode 100644 index 349f35343..000000000 --- a/dx/tests/104-verify-return-ops/op_lreturn.j +++ /dev/null @@ -1,24 +0,0 @@ -; Copyright (C) 2008 The Android Open Source Project -; -; Licensed under the Apache License, Version 2.0 (the "License"); -; you may not use this file except in compliance with the License. -; You may obtain a copy of the License at -; -; http://www.apache.org/licenses/LICENSE-2.0 -; -; Unless required by applicable law or agreed to in writing, software -; distributed under the License is distributed on an "AS IS" BASIS, -; WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -; See the License for the specific language governing permissions and -; limitations under the License. - -.class op_lreturn -.super java/lang/Object - -.method public static test(F)J - .limit locals 2 - .limit stack 3 - - fload_0 - lreturn -.end method diff --git a/dx/tests/104-verify-return-ops/op_sig_areturn.j b/dx/tests/104-verify-return-ops/op_sig_areturn.j deleted file mode 100644 index f1ea1b42f..000000000 --- a/dx/tests/104-verify-return-ops/op_sig_areturn.j +++ /dev/null @@ -1,24 +0,0 @@ -; Copyright (C) 2008 The Android Open Source Project -; -; Licensed under the Apache License, Version 2.0 (the "License"); -; you may not use this file except in compliance with the License. -; You may obtain a copy of the License at -; -; http://www.apache.org/licenses/LICENSE-2.0 -; -; Unless required by applicable law or agreed to in writing, software -; distributed under the License is distributed on an "AS IS" BASIS, -; WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -; See the License for the specific language governing permissions and -; limitations under the License. - -.class op_sig_areturn -.super java/lang/Object - -.method public static test(I)F - .limit locals 2 - .limit stack 3 - - aconst_null - areturn -.end method diff --git a/dx/tests/104-verify-return-ops/op_sig_dreturn.j b/dx/tests/104-verify-return-ops/op_sig_dreturn.j deleted file mode 100644 index fa6fcd2ed..000000000 --- a/dx/tests/104-verify-return-ops/op_sig_dreturn.j +++ /dev/null @@ -1,24 +0,0 @@ -; Copyright (C) 2008 The Android Open Source Project -; -; Licensed under the Apache License, Version 2.0 (the "License"); -; you may not use this file except in compliance with the License. -; You may obtain a copy of the License at -; -; http://www.apache.org/licenses/LICENSE-2.0 -; -; Unless required by applicable law or agreed to in writing, software -; distributed under the License is distributed on an "AS IS" BASIS, -; WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -; See the License for the specific language governing permissions and -; limitations under the License. - -.class op_sig_dreturn -.super java/lang/Object - -.method public static test(D)F - .limit locals 2 - .limit stack 3 - - dload_0 - dreturn -.end method diff --git a/dx/tests/104-verify-return-ops/op_sig_freturn.j b/dx/tests/104-verify-return-ops/op_sig_freturn.j deleted file mode 100644 index be5dea87e..000000000 --- a/dx/tests/104-verify-return-ops/op_sig_freturn.j +++ /dev/null @@ -1,24 +0,0 @@ -; Copyright (C) 2008 The Android Open Source Project -; -; Licensed under the Apache License, Version 2.0 (the "License"); -; you may not use this file except in compliance with the License. -; You may obtain a copy of the License at -; -; http://www.apache.org/licenses/LICENSE-2.0 -; -; Unless required by applicable law or agreed to in writing, software -; distributed under the License is distributed on an "AS IS" BASIS, -; WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -; See the License for the specific language governing permissions and -; limitations under the License. - -.class op_sig_freturn -.super java/lang/Object - -.method public static test(F)I - .limit locals 2 - .limit stack 3 - - fload_0 - freturn -.end method diff --git a/dx/tests/104-verify-return-ops/op_sig_ireturn.j b/dx/tests/104-verify-return-ops/op_sig_ireturn.j deleted file mode 100644 index ab3aa4093..000000000 --- a/dx/tests/104-verify-return-ops/op_sig_ireturn.j +++ /dev/null @@ -1,24 +0,0 @@ -; Copyright (C) 2008 The Android Open Source Project -; -; Licensed under the Apache License, Version 2.0 (the "License"); -; you may not use this file except in compliance with the License. -; You may obtain a copy of the License at -; -; http://www.apache.org/licenses/LICENSE-2.0 -; -; Unless required by applicable law or agreed to in writing, software -; distributed under the License is distributed on an "AS IS" BASIS, -; WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -; See the License for the specific language governing permissions and -; limitations under the License. - -.class op_sig_ireturn -.super java/lang/Object - -.method public static test(I)F - .limit locals 2 - .limit stack 3 - - iload_0 - ireturn -.end method diff --git a/dx/tests/104-verify-return-ops/op_sig_lreturn.j b/dx/tests/104-verify-return-ops/op_sig_lreturn.j deleted file mode 100644 index e5a121db3..000000000 --- a/dx/tests/104-verify-return-ops/op_sig_lreturn.j +++ /dev/null @@ -1,24 +0,0 @@ -; Copyright (C) 2008 The Android Open Source Project -; -; Licensed under the Apache License, Version 2.0 (the "License"); -; you may not use this file except in compliance with the License. -; You may obtain a copy of the License at -; -; http://www.apache.org/licenses/LICENSE-2.0 -; -; Unless required by applicable law or agreed to in writing, software -; distributed under the License is distributed on an "AS IS" BASIS, -; WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -; See the License for the specific language governing permissions and -; limitations under the License. - -.class op_sig_lreturn -.super java/lang/Object - -.method public static test(J)F - .limit locals 2 - .limit stack 3 - - lload_0 - lreturn -.end method diff --git a/dx/tests/104-verify-return-ops/op_sig_return.j b/dx/tests/104-verify-return-ops/op_sig_return.j deleted file mode 100644 index 26c067806..000000000 --- a/dx/tests/104-verify-return-ops/op_sig_return.j +++ /dev/null @@ -1,23 +0,0 @@ -; Copyright (C) 2008 The Android Open Source Project -; -; Licensed under the Apache License, Version 2.0 (the "License"); -; you may not use this file except in compliance with the License. -; You may obtain a copy of the License at -; -; http://www.apache.org/licenses/LICENSE-2.0 -; -; Unless required by applicable law or agreed to in writing, software -; distributed under the License is distributed on an "AS IS" BASIS, -; WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -; See the License for the specific language governing permissions and -; limitations under the License. - -.class op_sig_return -.super java/lang/Object - -.method public static test(I)F - .limit locals 2 - .limit stack 3 - - return -.end method diff --git a/dx/tests/104-verify-return-ops/run b/dx/tests/104-verify-return-ops/run deleted file mode 100644 index 471d4906a..000000000 --- a/dx/tests/104-verify-return-ops/run +++ /dev/null @@ -1,39 +0,0 @@ -#!/bin/bash -# -# Copyright (C) 2007 The Android Open Source Project -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -function oneop() -{ - jasmin -d . op_"$1".j - dx --debug --dex op_"$1".class >/dev/null 2>&1 - if [ "$?" = "0" ]; then - dx --debug --dex --dump-method="op_$1.test*" op_"$1".class - else - echo "$1: expected failure occurred" - fi -} - -oneop areturn -oneop dreturn -oneop freturn -oneop ireturn -oneop lreturn -oneop sig_areturn -oneop sig_dreturn -oneop sig_freturn -oneop sig_ireturn -oneop sig_lreturn -oneop sig_return - diff --git a/dx/tests/105-verify-load-store-ops/expected.txt b/dx/tests/105-verify-load-store-ops/expected.txt deleted file mode 100644 index 409ead07f..000000000 --- a/dx/tests/105-verify-load-store-ops/expected.txt +++ /dev/null @@ -1,82 +0,0 @@ -Generated: ./op_aaload.class -aaload: expected failure occurred -Generated: ./op_aastore.class -aastore: expected failure occurred -Generated: ./op_astore.class -astore: expected failure occurred -Generated: ./op_astore_0.class -astore_0: expected failure occurred -Generated: ./op_astore_1.class -astore_1: expected failure occurred -Generated: ./op_astore_2.class -astore_2: expected failure occurred -Generated: ./op_astore_3.class -astore_3: expected failure occurred -Generated: ./op_baload.class -baload: expected failure occurred -Generated: ./op_bastore.class -bastore: expected failure occurred -Generated: ./op_caload.class -caload: expected failure occurred -Generated: ./op_castore.class -castore: expected failure occurred -Generated: ./op_daload.class -daload: expected failure occurred -Generated: ./op_dastore.class -dastore: expected failure occurred -Generated: ./op_dstore.class -dstore: expected failure occurred -Generated: ./op_dstore_0.class -dstore_0: expected failure occurred -Generated: ./op_dstore_1.class -dstore_1: expected failure occurred -Generated: ./op_dstore_2.class -dstore_2: expected failure occurred -Generated: ./op_dstore_3.class -dstore_3: expected failure occurred -Generated: ./op_faload.class -faload: expected failure occurred -Generated: ./op_fastore.class -fastore: expected failure occurred -Generated: ./op_fstore.class -fstore: expected failure occurred -Generated: ./op_fstore_0.class -fstore_0: expected failure occurred -Generated: ./op_fstore_1.class -fstore_1: expected failure occurred -Generated: ./op_fstore_2.class -fstore_2: expected failure occurred -Generated: ./op_fstore_3.class -fstore_3: expected failure occurred -Generated: ./op_iaload.class -iaload: expected failure occurred -Generated: ./op_iastore.class -iastore: expected failure occurred -Generated: ./op_istore.class -istore: expected failure occurred -Generated: ./op_istore_0.class -istore_0: expected failure occurred -Generated: ./op_istore_1.class -istore_1: expected failure occurred -Generated: ./op_istore_2.class -istore_2: expected failure occurred -Generated: ./op_istore_3.class -istore_3: expected failure occurred -Generated: ./op_laload.class -laload: expected failure occurred -Generated: ./op_lastore.class -lastore: expected failure occurred -Generated: ./op_lstore.class -lstore: expected failure occurred -Generated: ./op_lstore_0.class -lstore_0: expected failure occurred -Generated: ./op_lstore_1.class -lstore_1: expected failure occurred -Generated: ./op_lstore_2.class -lstore_2: expected failure occurred -Generated: ./op_lstore_3.class -lstore_3: expected failure occurred -Generated: ./op_saload.class -saload: expected failure occurred -Generated: ./op_sastore.class -sastore: expected failure occurred diff --git a/dx/tests/105-verify-load-store-ops/info.txt b/dx/tests/105-verify-load-store-ops/info.txt deleted file mode 100644 index 85b731136..000000000 --- a/dx/tests/105-verify-load-store-ops/info.txt +++ /dev/null @@ -1,3 +0,0 @@ -This tests that load and store opcodes verify that their arguments are -actually of the appropriate types. - diff --git a/dx/tests/105-verify-load-store-ops/op_aaload.j b/dx/tests/105-verify-load-store-ops/op_aaload.j deleted file mode 100644 index f77827edd..000000000 --- a/dx/tests/105-verify-load-store-ops/op_aaload.j +++ /dev/null @@ -1,26 +0,0 @@ -; Copyright (C) 2008 The Android Open Source Project -; -; Licensed under the Apache License, Version 2.0 (the "License"); -; you may not use this file except in compliance with the License. -; You may obtain a copy of the License at -; -; http://www.apache.org/licenses/LICENSE-2.0 -; -; Unless required by applicable law or agreed to in writing, software -; distributed under the License is distributed on an "AS IS" BASIS, -; WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -; See the License for the specific language governing permissions and -; limitations under the License. - -.class op_aaload -.super java/lang/Object - -.method public static test([F)V - .limit locals 2 - .limit stack 3 - - aload_0 - iconst_0 - aaload - return -.end method diff --git a/dx/tests/105-verify-load-store-ops/op_aastore.j b/dx/tests/105-verify-load-store-ops/op_aastore.j deleted file mode 100644 index 58e1576b2..000000000 --- a/dx/tests/105-verify-load-store-ops/op_aastore.j +++ /dev/null @@ -1,27 +0,0 @@ -; Copyright (C) 2008 The Android Open Source Project -; -; Licensed under the Apache License, Version 2.0 (the "License"); -; you may not use this file except in compliance with the License. -; You may obtain a copy of the License at -; -; http://www.apache.org/licenses/LICENSE-2.0 -; -; Unless required by applicable law or agreed to in writing, software -; distributed under the License is distributed on an "AS IS" BASIS, -; WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -; See the License for the specific language governing permissions and -; limitations under the License. - -.class op_aastore -.super java/lang/Object - -.method public static test([I)V - .limit locals 2 - .limit stack 4 - - aload_0 - iconst_0 - aconst_null - aastore - return -.end method diff --git a/dx/tests/105-verify-load-store-ops/op_astore.j b/dx/tests/105-verify-load-store-ops/op_astore.j deleted file mode 100644 index 25131bf5e..000000000 --- a/dx/tests/105-verify-load-store-ops/op_astore.j +++ /dev/null @@ -1,25 +0,0 @@ -; Copyright (C) 2008 The Android Open Source Project -; -; Licensed under the Apache License, Version 2.0 (the "License"); -; you may not use this file except in compliance with the License. -; You may obtain a copy of the License at -; -; http://www.apache.org/licenses/LICENSE-2.0 -; -; Unless required by applicable law or agreed to in writing, software -; distributed under the License is distributed on an "AS IS" BASIS, -; WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -; See the License for the specific language governing permissions and -; limitations under the License. - -.class op_astore -.super java/lang/Object - -.method public static test(F)V - .limit locals 6 - .limit stack 4 - - fconst_0 - astore 5 - return -.end method diff --git a/dx/tests/105-verify-load-store-ops/op_astore_0.j b/dx/tests/105-verify-load-store-ops/op_astore_0.j deleted file mode 100644 index b509c128d..000000000 --- a/dx/tests/105-verify-load-store-ops/op_astore_0.j +++ /dev/null @@ -1,25 +0,0 @@ -; Copyright (C) 2008 The Android Open Source Project -; -; Licensed under the Apache License, Version 2.0 (the "License"); -; you may not use this file except in compliance with the License. -; You may obtain a copy of the License at -; -; http://www.apache.org/licenses/LICENSE-2.0 -; -; Unless required by applicable law or agreed to in writing, software -; distributed under the License is distributed on an "AS IS" BASIS, -; WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -; See the License for the specific language governing permissions and -; limitations under the License. - -.class op_astore_0 -.super java/lang/Object - -.method public static test(F)V - .limit locals 6 - .limit stack 4 - - fconst_0 - astore_0 - return -.end method diff --git a/dx/tests/105-verify-load-store-ops/op_astore_1.j b/dx/tests/105-verify-load-store-ops/op_astore_1.j deleted file mode 100644 index a6c104322..000000000 --- a/dx/tests/105-verify-load-store-ops/op_astore_1.j +++ /dev/null @@ -1,25 +0,0 @@ -; Copyright (C) 2008 The Android Open Source Project -; -; Licensed under the Apache License, Version 2.0 (the "License"); -; you may not use this file except in compliance with the License. -; You may obtain a copy of the License at -; -; http://www.apache.org/licenses/LICENSE-2.0 -; -; Unless required by applicable law or agreed to in writing, software -; distributed under the License is distributed on an "AS IS" BASIS, -; WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -; See the License for the specific language governing permissions and -; limitations under the License. - -.class op_astore_1 -.super java/lang/Object - -.method public static test(F)V - .limit locals 6 - .limit stack 4 - - fconst_0 - astore_1 - return -.end method diff --git a/dx/tests/105-verify-load-store-ops/op_astore_2.j b/dx/tests/105-verify-load-store-ops/op_astore_2.j deleted file mode 100644 index cb84ee864..000000000 --- a/dx/tests/105-verify-load-store-ops/op_astore_2.j +++ /dev/null @@ -1,25 +0,0 @@ -; Copyright (C) 2008 The Android Open Source Project -; -; Licensed under the Apache License, Version 2.0 (the "License"); -; you may not use this file except in compliance with the License. -; You may obtain a copy of the License at -; -; http://www.apache.org/licenses/LICENSE-2.0 -; -; Unless required by applicable law or agreed to in writing, software -; distributed under the License is distributed on an "AS IS" BASIS, -; WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -; See the License for the specific language governing permissions and -; limitations under the License. - -.class op_astore_2 -.super java/lang/Object - -.method public static test(F)V - .limit locals 6 - .limit stack 4 - - fconst_0 - astore_2 - return -.end method diff --git a/dx/tests/105-verify-load-store-ops/op_astore_3.j b/dx/tests/105-verify-load-store-ops/op_astore_3.j deleted file mode 100644 index c716ba28b..000000000 --- a/dx/tests/105-verify-load-store-ops/op_astore_3.j +++ /dev/null @@ -1,25 +0,0 @@ -; Copyright (C) 2008 The Android Open Source Project -; -; Licensed under the Apache License, Version 2.0 (the "License"); -; you may not use this file except in compliance with the License. -; You may obtain a copy of the License at -; -; http://www.apache.org/licenses/LICENSE-2.0 -; -; Unless required by applicable law or agreed to in writing, software -; distributed under the License is distributed on an "AS IS" BASIS, -; WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -; See the License for the specific language governing permissions and -; limitations under the License. - -.class op_astore_3 -.super java/lang/Object - -.method public static test(F)V - .limit locals 6 - .limit stack 4 - - fconst_0 - astore_3 - return -.end method diff --git a/dx/tests/105-verify-load-store-ops/op_baload.j b/dx/tests/105-verify-load-store-ops/op_baload.j deleted file mode 100644 index cfcaf7434..000000000 --- a/dx/tests/105-verify-load-store-ops/op_baload.j +++ /dev/null @@ -1,26 +0,0 @@ -; Copyright (C) 2008 The Android Open Source Project -; -; Licensed under the Apache License, Version 2.0 (the "License"); -; you may not use this file except in compliance with the License. -; You may obtain a copy of the License at -; -; http://www.apache.org/licenses/LICENSE-2.0 -; -; Unless required by applicable law or agreed to in writing, software -; distributed under the License is distributed on an "AS IS" BASIS, -; WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -; See the License for the specific language governing permissions and -; limitations under the License. - -.class op_baload -.super java/lang/Object - -.method public static test(F)V - .limit locals 2 - .limit stack 3 - - fload_0 - iconst_0 - baload - return -.end method diff --git a/dx/tests/105-verify-load-store-ops/op_bastore.j b/dx/tests/105-verify-load-store-ops/op_bastore.j deleted file mode 100644 index 587fcd3f8..000000000 --- a/dx/tests/105-verify-load-store-ops/op_bastore.j +++ /dev/null @@ -1,27 +0,0 @@ -; Copyright (C) 2008 The Android Open Source Project -; -; Licensed under the Apache License, Version 2.0 (the "License"); -; you may not use this file except in compliance with the License. -; You may obtain a copy of the License at -; -; http://www.apache.org/licenses/LICENSE-2.0 -; -; Unless required by applicable law or agreed to in writing, software -; distributed under the License is distributed on an "AS IS" BASIS, -; WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -; See the License for the specific language governing permissions and -; limitations under the License. - -.class op_bastore -.super java/lang/Object - -.method public static test(F)V - .limit locals 2 - .limit stack 4 - - fload_0 - iconst_0 - iconst_0 - bastore - return -.end method diff --git a/dx/tests/105-verify-load-store-ops/op_caload.j b/dx/tests/105-verify-load-store-ops/op_caload.j deleted file mode 100644 index ceaf09faf..000000000 --- a/dx/tests/105-verify-load-store-ops/op_caload.j +++ /dev/null @@ -1,26 +0,0 @@ -; Copyright (C) 2008 The Android Open Source Project -; -; Licensed under the Apache License, Version 2.0 (the "License"); -; you may not use this file except in compliance with the License. -; You may obtain a copy of the License at -; -; http://www.apache.org/licenses/LICENSE-2.0 -; -; Unless required by applicable law or agreed to in writing, software -; distributed under the License is distributed on an "AS IS" BASIS, -; WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -; See the License for the specific language governing permissions and -; limitations under the License. - -.class op_caload -.super java/lang/Object - -.method public static test(D)V - .limit locals 2 - .limit stack 3 - - dload_0 - iconst_0 - caload - return -.end method diff --git a/dx/tests/105-verify-load-store-ops/op_castore.j b/dx/tests/105-verify-load-store-ops/op_castore.j deleted file mode 100644 index 5bd493e1a..000000000 --- a/dx/tests/105-verify-load-store-ops/op_castore.j +++ /dev/null @@ -1,27 +0,0 @@ -; Copyright (C) 2008 The Android Open Source Project -; -; Licensed under the Apache License, Version 2.0 (the "License"); -; you may not use this file except in compliance with the License. -; You may obtain a copy of the License at -; -; http://www.apache.org/licenses/LICENSE-2.0 -; -; Unless required by applicable law or agreed to in writing, software -; distributed under the License is distributed on an "AS IS" BASIS, -; WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -; See the License for the specific language governing permissions and -; limitations under the License. - -.class op_castore -.super java/lang/Object - -.method public static test(F)V - .limit locals 2 - .limit stack 4 - - fload_0 - iconst_0 - iconst_0 - castore - return -.end method diff --git a/dx/tests/105-verify-load-store-ops/op_daload.j b/dx/tests/105-verify-load-store-ops/op_daload.j deleted file mode 100644 index 895d6be64..000000000 --- a/dx/tests/105-verify-load-store-ops/op_daload.j +++ /dev/null @@ -1,26 +0,0 @@ -; Copyright (C) 2008 The Android Open Source Project -; -; Licensed under the Apache License, Version 2.0 (the "License"); -; you may not use this file except in compliance with the License. -; You may obtain a copy of the License at -; -; http://www.apache.org/licenses/LICENSE-2.0 -; -; Unless required by applicable law or agreed to in writing, software -; distributed under the License is distributed on an "AS IS" BASIS, -; WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -; See the License for the specific language governing permissions and -; limitations under the License. - -.class op_daload -.super java/lang/Object - -.method public static test(F)V - .limit locals 2 - .limit stack 3 - - fload_0 - iconst_0 - daload - return -.end method diff --git a/dx/tests/105-verify-load-store-ops/op_dastore.j b/dx/tests/105-verify-load-store-ops/op_dastore.j deleted file mode 100644 index b102f79c4..000000000 --- a/dx/tests/105-verify-load-store-ops/op_dastore.j +++ /dev/null @@ -1,27 +0,0 @@ -; Copyright (C) 2008 The Android Open Source Project -; -; Licensed under the Apache License, Version 2.0 (the "License"); -; you may not use this file except in compliance with the License. -; You may obtain a copy of the License at -; -; http://www.apache.org/licenses/LICENSE-2.0 -; -; Unless required by applicable law or agreed to in writing, software -; distributed under the License is distributed on an "AS IS" BASIS, -; WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -; See the License for the specific language governing permissions and -; limitations under the License. - -.class op_dastore -.super java/lang/Object - -.method public static test(F)V - .limit locals 2 - .limit stack 4 - - fload_0 - iconst_0 - dconst_0 - dastore - return -.end method diff --git a/dx/tests/105-verify-load-store-ops/op_dstore.j b/dx/tests/105-verify-load-store-ops/op_dstore.j deleted file mode 100644 index d656a84a5..000000000 --- a/dx/tests/105-verify-load-store-ops/op_dstore.j +++ /dev/null @@ -1,25 +0,0 @@ -; Copyright (C) 2008 The Android Open Source Project -; -; Licensed under the Apache License, Version 2.0 (the "License"); -; you may not use this file except in compliance with the License. -; You may obtain a copy of the License at -; -; http://www.apache.org/licenses/LICENSE-2.0 -; -; Unless required by applicable law or agreed to in writing, software -; distributed under the License is distributed on an "AS IS" BASIS, -; WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -; See the License for the specific language governing permissions and -; limitations under the License. - -.class op_dstore -.super java/lang/Object - -.method public static test(F)V - .limit locals 6 - .limit stack 4 - - fconst_0 - dstore 5 - return -.end method diff --git a/dx/tests/105-verify-load-store-ops/op_dstore_0.j b/dx/tests/105-verify-load-store-ops/op_dstore_0.j deleted file mode 100644 index cb3da3af8..000000000 --- a/dx/tests/105-verify-load-store-ops/op_dstore_0.j +++ /dev/null @@ -1,25 +0,0 @@ -; Copyright (C) 2008 The Android Open Source Project -; -; Licensed under the Apache License, Version 2.0 (the "License"); -; you may not use this file except in compliance with the License. -; You may obtain a copy of the License at -; -; http://www.apache.org/licenses/LICENSE-2.0 -; -; Unless required by applicable law or agreed to in writing, software -; distributed under the License is distributed on an "AS IS" BASIS, -; WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -; See the License for the specific language governing permissions and -; limitations under the License. - -.class op_dstore_0 -.super java/lang/Object - -.method public static test(F)V - .limit locals 6 - .limit stack 4 - - fconst_0 - dstore_0 - return -.end method diff --git a/dx/tests/105-verify-load-store-ops/op_dstore_1.j b/dx/tests/105-verify-load-store-ops/op_dstore_1.j deleted file mode 100644 index 45fcf9bd4..000000000 --- a/dx/tests/105-verify-load-store-ops/op_dstore_1.j +++ /dev/null @@ -1,25 +0,0 @@ -; Copyright (C) 2008 The Android Open Source Project -; -; Licensed under the Apache License, Version 2.0 (the "License"); -; you may not use this file except in compliance with the License. -; You may obtain a copy of the License at -; -; http://www.apache.org/licenses/LICENSE-2.0 -; -; Unless required by applicable law or agreed to in writing, software -; distributed under the License is distributed on an "AS IS" BASIS, -; WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -; See the License for the specific language governing permissions and -; limitations under the License. - -.class op_dstore_1 -.super java/lang/Object - -.method public static test(F)V - .limit locals 6 - .limit stack 4 - - fconst_0 - dstore_1 - return -.end method diff --git a/dx/tests/105-verify-load-store-ops/op_dstore_2.j b/dx/tests/105-verify-load-store-ops/op_dstore_2.j deleted file mode 100644 index 7c167d44a..000000000 --- a/dx/tests/105-verify-load-store-ops/op_dstore_2.j +++ /dev/null @@ -1,25 +0,0 @@ -; Copyright (C) 2008 The Android Open Source Project -; -; Licensed under the Apache License, Version 2.0 (the "License"); -; you may not use this file except in compliance with the License. -; You may obtain a copy of the License at -; -; http://www.apache.org/licenses/LICENSE-2.0 -; -; Unless required by applicable law or agreed to in writing, software -; distributed under the License is distributed on an "AS IS" BASIS, -; WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -; See the License for the specific language governing permissions and -; limitations under the License. - -.class op_dstore_2 -.super java/lang/Object - -.method public static test(F)V - .limit locals 6 - .limit stack 4 - - fconst_0 - dstore_2 - return -.end method diff --git a/dx/tests/105-verify-load-store-ops/op_dstore_3.j b/dx/tests/105-verify-load-store-ops/op_dstore_3.j deleted file mode 100644 index 17222e056..000000000 --- a/dx/tests/105-verify-load-store-ops/op_dstore_3.j +++ /dev/null @@ -1,25 +0,0 @@ -; Copyright (C) 2008 The Android Open Source Project -; -; Licensed under the Apache License, Version 2.0 (the "License"); -; you may not use this file except in compliance with the License. -; You may obtain a copy of the License at -; -; http://www.apache.org/licenses/LICENSE-2.0 -; -; Unless required by applicable law or agreed to in writing, software -; distributed under the License is distributed on an "AS IS" BASIS, -; WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -; See the License for the specific language governing permissions and -; limitations under the License. - -.class op_dstore_3 -.super java/lang/Object - -.method public static test(F)V - .limit locals 6 - .limit stack 4 - - fconst_0 - dstore_3 - return -.end method diff --git a/dx/tests/105-verify-load-store-ops/op_faload.j b/dx/tests/105-verify-load-store-ops/op_faload.j deleted file mode 100644 index 1c17a8e93..000000000 --- a/dx/tests/105-verify-load-store-ops/op_faload.j +++ /dev/null @@ -1,26 +0,0 @@ -; Copyright (C) 2008 The Android Open Source Project -; -; Licensed under the Apache License, Version 2.0 (the "License"); -; you may not use this file except in compliance with the License. -; You may obtain a copy of the License at -; -; http://www.apache.org/licenses/LICENSE-2.0 -; -; Unless required by applicable law or agreed to in writing, software -; distributed under the License is distributed on an "AS IS" BASIS, -; WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -; See the License for the specific language governing permissions and -; limitations under the License. - -.class op_faload -.super java/lang/Object - -.method public static test(F)V - .limit locals 2 - .limit stack 3 - - fload_0 - iconst_0 - faload - return -.end method diff --git a/dx/tests/105-verify-load-store-ops/op_fastore.j b/dx/tests/105-verify-load-store-ops/op_fastore.j deleted file mode 100644 index 799555e3a..000000000 --- a/dx/tests/105-verify-load-store-ops/op_fastore.j +++ /dev/null @@ -1,27 +0,0 @@ -; Copyright (C) 2008 The Android Open Source Project -; -; Licensed under the Apache License, Version 2.0 (the "License"); -; you may not use this file except in compliance with the License. -; You may obtain a copy of the License at -; -; http://www.apache.org/licenses/LICENSE-2.0 -; -; Unless required by applicable law or agreed to in writing, software -; distributed under the License is distributed on an "AS IS" BASIS, -; WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -; See the License for the specific language governing permissions and -; limitations under the License. - -.class op_fastore -.super java/lang/Object - -.method public static test(F)V - .limit locals 2 - .limit stack 4 - - fload_0 - iconst_0 - fconst_0 - fastore - return -.end method diff --git a/dx/tests/105-verify-load-store-ops/op_fstore.j b/dx/tests/105-verify-load-store-ops/op_fstore.j deleted file mode 100644 index 5c61ebee7..000000000 --- a/dx/tests/105-verify-load-store-ops/op_fstore.j +++ /dev/null @@ -1,25 +0,0 @@ -; Copyright (C) 2008 The Android Open Source Project -; -; Licensed under the Apache License, Version 2.0 (the "License"); -; you may not use this file except in compliance with the License. -; You may obtain a copy of the License at -; -; http://www.apache.org/licenses/LICENSE-2.0 -; -; Unless required by applicable law or agreed to in writing, software -; distributed under the License is distributed on an "AS IS" BASIS, -; WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -; See the License for the specific language governing permissions and -; limitations under the License. - -.class op_fstore -.super java/lang/Object - -.method public static test(F)V - .limit locals 6 - .limit stack 4 - - iconst_0 - fstore 5 - return -.end method diff --git a/dx/tests/105-verify-load-store-ops/op_fstore_0.j b/dx/tests/105-verify-load-store-ops/op_fstore_0.j deleted file mode 100644 index d3033e943..000000000 --- a/dx/tests/105-verify-load-store-ops/op_fstore_0.j +++ /dev/null @@ -1,25 +0,0 @@ -; Copyright (C) 2008 The Android Open Source Project -; -; Licensed under the Apache License, Version 2.0 (the "License"); -; you may not use this file except in compliance with the License. -; You may obtain a copy of the License at -; -; http://www.apache.org/licenses/LICENSE-2.0 -; -; Unless required by applicable law or agreed to in writing, software -; distributed under the License is distributed on an "AS IS" BASIS, -; WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -; See the License for the specific language governing permissions and -; limitations under the License. - -.class op_fstore_0 -.super java/lang/Object - -.method public static test(F)V - .limit locals 6 - .limit stack 4 - - iconst_0 - fstore_0 - return -.end method diff --git a/dx/tests/105-verify-load-store-ops/op_fstore_1.j b/dx/tests/105-verify-load-store-ops/op_fstore_1.j deleted file mode 100644 index 0abca8f5f..000000000 --- a/dx/tests/105-verify-load-store-ops/op_fstore_1.j +++ /dev/null @@ -1,25 +0,0 @@ -; Copyright (C) 2008 The Android Open Source Project -; -; Licensed under the Apache License, Version 2.0 (the "License"); -; you may not use this file except in compliance with the License. -; You may obtain a copy of the License at -; -; http://www.apache.org/licenses/LICENSE-2.0 -; -; Unless required by applicable law or agreed to in writing, software -; distributed under the License is distributed on an "AS IS" BASIS, -; WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -; See the License for the specific language governing permissions and -; limitations under the License. - -.class op_fstore_1 -.super java/lang/Object - -.method public static test(F)V - .limit locals 6 - .limit stack 4 - - iconst_0 - fstore_1 - return -.end method diff --git a/dx/tests/105-verify-load-store-ops/op_fstore_2.j b/dx/tests/105-verify-load-store-ops/op_fstore_2.j deleted file mode 100644 index 5cd1ebc10..000000000 --- a/dx/tests/105-verify-load-store-ops/op_fstore_2.j +++ /dev/null @@ -1,25 +0,0 @@ -; Copyright (C) 2008 The Android Open Source Project -; -; Licensed under the Apache License, Version 2.0 (the "License"); -; you may not use this file except in compliance with the License. -; You may obtain a copy of the License at -; -; http://www.apache.org/licenses/LICENSE-2.0 -; -; Unless required by applicable law or agreed to in writing, software -; distributed under the License is distributed on an "AS IS" BASIS, -; WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -; See the License for the specific language governing permissions and -; limitations under the License. - -.class op_fstore_2 -.super java/lang/Object - -.method public static test(F)V - .limit locals 6 - .limit stack 4 - - iconst_0 - fstore_2 - return -.end method diff --git a/dx/tests/105-verify-load-store-ops/op_fstore_3.j b/dx/tests/105-verify-load-store-ops/op_fstore_3.j deleted file mode 100644 index a232307be..000000000 --- a/dx/tests/105-verify-load-store-ops/op_fstore_3.j +++ /dev/null @@ -1,25 +0,0 @@ -; Copyright (C) 2008 The Android Open Source Project -; -; Licensed under the Apache License, Version 2.0 (the "License"); -; you may not use this file except in compliance with the License. -; You may obtain a copy of the License at -; -; http://www.apache.org/licenses/LICENSE-2.0 -; -; Unless required by applicable law or agreed to in writing, software -; distributed under the License is distributed on an "AS IS" BASIS, -; WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -; See the License for the specific language governing permissions and -; limitations under the License. - -.class op_fstore_3 -.super java/lang/Object - -.method public static test(F)V - .limit locals 6 - .limit stack 4 - - iconst_0 - fstore_3 - return -.end method diff --git a/dx/tests/105-verify-load-store-ops/op_iaload.j b/dx/tests/105-verify-load-store-ops/op_iaload.j deleted file mode 100644 index 3face0855..000000000 --- a/dx/tests/105-verify-load-store-ops/op_iaload.j +++ /dev/null @@ -1,26 +0,0 @@ -; Copyright (C) 2008 The Android Open Source Project -; -; Licensed under the Apache License, Version 2.0 (the "License"); -; you may not use this file except in compliance with the License. -; You may obtain a copy of the License at -; -; http://www.apache.org/licenses/LICENSE-2.0 -; -; Unless required by applicable law or agreed to in writing, software -; distributed under the License is distributed on an "AS IS" BASIS, -; WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -; See the License for the specific language governing permissions and -; limitations under the License. - -.class op_iaload -.super java/lang/Object - -.method public static test(F)V - .limit locals 2 - .limit stack 3 - - fload_0 - iconst_0 - iaload - return -.end method diff --git a/dx/tests/105-verify-load-store-ops/op_iastore.j b/dx/tests/105-verify-load-store-ops/op_iastore.j deleted file mode 100644 index d090e37c7..000000000 --- a/dx/tests/105-verify-load-store-ops/op_iastore.j +++ /dev/null @@ -1,27 +0,0 @@ -; Copyright (C) 2008 The Android Open Source Project -; -; Licensed under the Apache License, Version 2.0 (the "License"); -; you may not use this file except in compliance with the License. -; You may obtain a copy of the License at -; -; http://www.apache.org/licenses/LICENSE-2.0 -; -; Unless required by applicable law or agreed to in writing, software -; distributed under the License is distributed on an "AS IS" BASIS, -; WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -; See the License for the specific language governing permissions and -; limitations under the License. - -.class op_iastore -.super java/lang/Object - -.method public static test(F)V - .limit locals 2 - .limit stack 4 - - fload_0 - iconst_0 - iconst_0 - iastore - return -.end method diff --git a/dx/tests/105-verify-load-store-ops/op_istore.j b/dx/tests/105-verify-load-store-ops/op_istore.j deleted file mode 100644 index 138d709f2..000000000 --- a/dx/tests/105-verify-load-store-ops/op_istore.j +++ /dev/null @@ -1,25 +0,0 @@ -; Copyright (C) 2008 The Android Open Source Project -; -; Licensed under the Apache License, Version 2.0 (the "License"); -; you may not use this file except in compliance with the License. -; You may obtain a copy of the License at -; -; http://www.apache.org/licenses/LICENSE-2.0 -; -; Unless required by applicable law or agreed to in writing, software -; distributed under the License is distributed on an "AS IS" BASIS, -; WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -; See the License for the specific language governing permissions and -; limitations under the License. - -.class op_istore -.super java/lang/Object - -.method public static test(F)V - .limit locals 6 - .limit stack 4 - - fconst_0 - istore 5 - return -.end method diff --git a/dx/tests/105-verify-load-store-ops/op_istore_0.j b/dx/tests/105-verify-load-store-ops/op_istore_0.j deleted file mode 100644 index 2644c3dfb..000000000 --- a/dx/tests/105-verify-load-store-ops/op_istore_0.j +++ /dev/null @@ -1,25 +0,0 @@ -; Copyright (C) 2008 The Android Open Source Project -; -; Licensed under the Apache License, Version 2.0 (the "License"); -; you may not use this file except in compliance with the License. -; You may obtain a copy of the License at -; -; http://www.apache.org/licenses/LICENSE-2.0 -; -; Unless required by applicable law or agreed to in writing, software -; distributed under the License is distributed on an "AS IS" BASIS, -; WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -; See the License for the specific language governing permissions and -; limitations under the License. - -.class op_istore_0 -.super java/lang/Object - -.method public static test(F)V - .limit locals 6 - .limit stack 4 - - fconst_0 - istore_0 - return -.end method diff --git a/dx/tests/105-verify-load-store-ops/op_istore_1.j b/dx/tests/105-verify-load-store-ops/op_istore_1.j deleted file mode 100644 index 03534eecc..000000000 --- a/dx/tests/105-verify-load-store-ops/op_istore_1.j +++ /dev/null @@ -1,25 +0,0 @@ -; Copyright (C) 2008 The Android Open Source Project -; -; Licensed under the Apache License, Version 2.0 (the "License"); -; you may not use this file except in compliance with the License. -; You may obtain a copy of the License at -; -; http://www.apache.org/licenses/LICENSE-2.0 -; -; Unless required by applicable law or agreed to in writing, software -; distributed under the License is distributed on an "AS IS" BASIS, -; WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -; See the License for the specific language governing permissions and -; limitations under the License. - -.class op_istore_1 -.super java/lang/Object - -.method public static test(F)V - .limit locals 6 - .limit stack 4 - - fconst_0 - istore_1 - return -.end method diff --git a/dx/tests/105-verify-load-store-ops/op_istore_2.j b/dx/tests/105-verify-load-store-ops/op_istore_2.j deleted file mode 100644 index e1a80b30c..000000000 --- a/dx/tests/105-verify-load-store-ops/op_istore_2.j +++ /dev/null @@ -1,25 +0,0 @@ -; Copyright (C) 2008 The Android Open Source Project -; -; Licensed under the Apache License, Version 2.0 (the "License"); -; you may not use this file except in compliance with the License. -; You may obtain a copy of the License at -; -; http://www.apache.org/licenses/LICENSE-2.0 -; -; Unless required by applicable law or agreed to in writing, software -; distributed under the License is distributed on an "AS IS" BASIS, -; WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -; See the License for the specific language governing permissions and -; limitations under the License. - -.class op_istore_2 -.super java/lang/Object - -.method public static test(F)V - .limit locals 6 - .limit stack 4 - - fconst_0 - istore_2 - return -.end method diff --git a/dx/tests/105-verify-load-store-ops/op_istore_3.j b/dx/tests/105-verify-load-store-ops/op_istore_3.j deleted file mode 100644 index 43c226fdf..000000000 --- a/dx/tests/105-verify-load-store-ops/op_istore_3.j +++ /dev/null @@ -1,25 +0,0 @@ -; Copyright (C) 2008 The Android Open Source Project -; -; Licensed under the Apache License, Version 2.0 (the "License"); -; you may not use this file except in compliance with the License. -; You may obtain a copy of the License at -; -; http://www.apache.org/licenses/LICENSE-2.0 -; -; Unless required by applicable law or agreed to in writing, software -; distributed under the License is distributed on an "AS IS" BASIS, -; WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -; See the License for the specific language governing permissions and -; limitations under the License. - -.class op_istore_3 -.super java/lang/Object - -.method public static test(F)V - .limit locals 6 - .limit stack 4 - - fconst_0 - istore_3 - return -.end method diff --git a/dx/tests/105-verify-load-store-ops/op_laload.j b/dx/tests/105-verify-load-store-ops/op_laload.j deleted file mode 100644 index 314360466..000000000 --- a/dx/tests/105-verify-load-store-ops/op_laload.j +++ /dev/null @@ -1,26 +0,0 @@ -; Copyright (C) 2008 The Android Open Source Project -; -; Licensed under the Apache License, Version 2.0 (the "License"); -; you may not use this file except in compliance with the License. -; You may obtain a copy of the License at -; -; http://www.apache.org/licenses/LICENSE-2.0 -; -; Unless required by applicable law or agreed to in writing, software -; distributed under the License is distributed on an "AS IS" BASIS, -; WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -; See the License for the specific language governing permissions and -; limitations under the License. - -.class op_laload -.super java/lang/Object - -.method public static test(F)V - .limit locals 2 - .limit stack 3 - - fload_0 - iconst_0 - laload - return -.end method diff --git a/dx/tests/105-verify-load-store-ops/op_lastore.j b/dx/tests/105-verify-load-store-ops/op_lastore.j deleted file mode 100644 index b7ea069a4..000000000 --- a/dx/tests/105-verify-load-store-ops/op_lastore.j +++ /dev/null @@ -1,27 +0,0 @@ -; Copyright (C) 2008 The Android Open Source Project -; -; Licensed under the Apache License, Version 2.0 (the "License"); -; you may not use this file except in compliance with the License. -; You may obtain a copy of the License at -; -; http://www.apache.org/licenses/LICENSE-2.0 -; -; Unless required by applicable law or agreed to in writing, software -; distributed under the License is distributed on an "AS IS" BASIS, -; WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -; See the License for the specific language governing permissions and -; limitations under the License. - -.class op_lastore -.super java/lang/Object - -.method public static test(F)V - .limit locals 2 - .limit stack 4 - - fload_0 - iconst_0 - lconst_0 - lastore - return -.end method diff --git a/dx/tests/105-verify-load-store-ops/op_lstore.j b/dx/tests/105-verify-load-store-ops/op_lstore.j deleted file mode 100644 index fde69748b..000000000 --- a/dx/tests/105-verify-load-store-ops/op_lstore.j +++ /dev/null @@ -1,25 +0,0 @@ -; Copyright (C) 2008 The Android Open Source Project -; -; Licensed under the Apache License, Version 2.0 (the "License"); -; you may not use this file except in compliance with the License. -; You may obtain a copy of the License at -; -; http://www.apache.org/licenses/LICENSE-2.0 -; -; Unless required by applicable law or agreed to in writing, software -; distributed under the License is distributed on an "AS IS" BASIS, -; WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -; See the License for the specific language governing permissions and -; limitations under the License. - -.class op_lstore -.super java/lang/Object - -.method public static test(F)V - .limit locals 6 - .limit stack 4 - - fconst_0 - lstore 5 - return -.end method diff --git a/dx/tests/105-verify-load-store-ops/op_lstore_0.j b/dx/tests/105-verify-load-store-ops/op_lstore_0.j deleted file mode 100644 index e98eab42b..000000000 --- a/dx/tests/105-verify-load-store-ops/op_lstore_0.j +++ /dev/null @@ -1,25 +0,0 @@ -; Copyright (C) 2008 The Android Open Source Project -; -; Licensed under the Apache License, Version 2.0 (the "License"); -; you may not use this file except in compliance with the License. -; You may obtain a copy of the License at -; -; http://www.apache.org/licenses/LICENSE-2.0 -; -; Unless required by applicable law or agreed to in writing, software -; distributed under the License is distributed on an "AS IS" BASIS, -; WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -; See the License for the specific language governing permissions and -; limitations under the License. - -.class op_lstore_0 -.super java/lang/Object - -.method public static test(F)V - .limit locals 6 - .limit stack 4 - - fconst_0 - lstore_0 - return -.end method diff --git a/dx/tests/105-verify-load-store-ops/op_lstore_1.j b/dx/tests/105-verify-load-store-ops/op_lstore_1.j deleted file mode 100644 index 0e2291aff..000000000 --- a/dx/tests/105-verify-load-store-ops/op_lstore_1.j +++ /dev/null @@ -1,25 +0,0 @@ -; Copyright (C) 2008 The Android Open Source Project -; -; Licensed under the Apache License, Version 2.0 (the "License"); -; you may not use this file except in compliance with the License. -; You may obtain a copy of the License at -; -; http://www.apache.org/licenses/LICENSE-2.0 -; -; Unless required by applicable law or agreed to in writing, software -; distributed under the License is distributed on an "AS IS" BASIS, -; WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -; See the License for the specific language governing permissions and -; limitations under the License. - -.class op_lstore_1 -.super java/lang/Object - -.method public static test(F)V - .limit locals 6 - .limit stack 4 - - fconst_0 - lstore_1 - return -.end method diff --git a/dx/tests/105-verify-load-store-ops/op_lstore_2.j b/dx/tests/105-verify-load-store-ops/op_lstore_2.j deleted file mode 100644 index a84702dde..000000000 --- a/dx/tests/105-verify-load-store-ops/op_lstore_2.j +++ /dev/null @@ -1,25 +0,0 @@ -; Copyright (C) 2008 The Android Open Source Project -; -; Licensed under the Apache License, Version 2.0 (the "License"); -; you may not use this file except in compliance with the License. -; You may obtain a copy of the License at -; -; http://www.apache.org/licenses/LICENSE-2.0 -; -; Unless required by applicable law or agreed to in writing, software -; distributed under the License is distributed on an "AS IS" BASIS, -; WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -; See the License for the specific language governing permissions and -; limitations under the License. - -.class op_lstore_2 -.super java/lang/Object - -.method public static test(F)V - .limit locals 6 - .limit stack 4 - - dconst_0 - lstore_2 - return -.end method diff --git a/dx/tests/105-verify-load-store-ops/op_lstore_3.j b/dx/tests/105-verify-load-store-ops/op_lstore_3.j deleted file mode 100644 index c35ace8e4..000000000 --- a/dx/tests/105-verify-load-store-ops/op_lstore_3.j +++ /dev/null @@ -1,25 +0,0 @@ -; Copyright (C) 2008 The Android Open Source Project -; -; Licensed under the Apache License, Version 2.0 (the "License"); -; you may not use this file except in compliance with the License. -; You may obtain a copy of the License at -; -; http://www.apache.org/licenses/LICENSE-2.0 -; -; Unless required by applicable law or agreed to in writing, software -; distributed under the License is distributed on an "AS IS" BASIS, -; WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -; See the License for the specific language governing permissions and -; limitations under the License. - -.class op_lstore_3 -.super java/lang/Object - -.method public static test(F)V - .limit locals 6 - .limit stack 4 - - fconst_0 - lstore_3 - return -.end method diff --git a/dx/tests/105-verify-load-store-ops/op_saload.j b/dx/tests/105-verify-load-store-ops/op_saload.j deleted file mode 100644 index 4a809397a..000000000 --- a/dx/tests/105-verify-load-store-ops/op_saload.j +++ /dev/null @@ -1,26 +0,0 @@ -; Copyright (C) 2008 The Android Open Source Project -; -; Licensed under the Apache License, Version 2.0 (the "License"); -; you may not use this file except in compliance with the License. -; You may obtain a copy of the License at -; -; http://www.apache.org/licenses/LICENSE-2.0 -; -; Unless required by applicable law or agreed to in writing, software -; distributed under the License is distributed on an "AS IS" BASIS, -; WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -; See the License for the specific language governing permissions and -; limitations under the License. - -.class op_saload -.super java/lang/Object - -.method public static test(F)V - .limit locals 2 - .limit stack 3 - - fload_0 - iconst_0 - saload - return -.end method diff --git a/dx/tests/105-verify-load-store-ops/op_sastore.j b/dx/tests/105-verify-load-store-ops/op_sastore.j deleted file mode 100644 index c97dd66e0..000000000 --- a/dx/tests/105-verify-load-store-ops/op_sastore.j +++ /dev/null @@ -1,27 +0,0 @@ -; Copyright (C) 2008 The Android Open Source Project -; -; Licensed under the Apache License, Version 2.0 (the "License"); -; you may not use this file except in compliance with the License. -; You may obtain a copy of the License at -; -; http://www.apache.org/licenses/LICENSE-2.0 -; -; Unless required by applicable law or agreed to in writing, software -; distributed under the License is distributed on an "AS IS" BASIS, -; WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -; See the License for the specific language governing permissions and -; limitations under the License. - -.class op_sastore -.super java/lang/Object - -.method public static test(F)V - .limit locals 2 - .limit stack 4 - - fload_0 - iconst_0 - iconst_0 - sastore - return -.end method diff --git a/dx/tests/105-verify-load-store-ops/run b/dx/tests/105-verify-load-store-ops/run deleted file mode 100644 index adf987c3a..000000000 --- a/dx/tests/105-verify-load-store-ops/run +++ /dev/null @@ -1,68 +0,0 @@ -#!/bin/bash -# -# Copyright (C) 2007 The Android Open Source Project -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -function oneop() -{ - jasmin -d . op_"$1".j - dx --debug --dex op_"$1".class >/dev/null 2>&1 - if [ "$?" = "0" ]; then - dx --debug --dex --dump-method="op_$1.test*" op_"$1".class - else - echo "$1: expected failure occurred" - fi -} - -oneop aaload -oneop aastore -oneop astore -oneop astore_0 -oneop astore_1 -oneop astore_2 -oneop astore_3 -oneop baload -oneop bastore -oneop caload -oneop castore -oneop daload -oneop dastore -oneop dstore -oneop dstore_0 -oneop dstore_1 -oneop dstore_2 -oneop dstore_3 -oneop faload -oneop fastore -oneop fstore -oneop fstore_0 -oneop fstore_1 -oneop fstore_2 -oneop fstore_3 -oneop iaload -oneop iastore -oneop istore -oneop istore_0 -oneop istore_1 -oneop istore_2 -oneop istore_3 -oneop laload -oneop lastore -oneop lstore -oneop lstore_0 -oneop lstore_1 -oneop lstore_2 -oneop lstore_3 -oneop saload -oneop sastore diff --git a/dx/tests/106-verify-object-ops/expected.txt b/dx/tests/106-verify-object-ops/expected.txt deleted file mode 100644 index ce36b7e98..000000000 --- a/dx/tests/106-verify-object-ops/expected.txt +++ /dev/null @@ -1,32 +0,0 @@ -Generated: ./op_anewarray.class -anewarray: expected failure occurred -Generated: ./op_arraylength.class -arraylength: expected failure occurred -Generated: ./op_athrow.class -athrow: expected failure occurred -Generated: ./op_checkcast.class -checkcast: expected failure occurred -Generated: ./op_getfield.class -getfield: expected failure occurred -Generated: ./op_instanceof.class -instanceof: expected failure occurred -Generated: ./op_invokeinterface.class -invokeinterface: expected failure occurred -Generated: ./op_invokespecial.class -invokespecial: expected failure occurred -Generated: ./op_invokestatic.class -invokestatic: expected failure occurred -Generated: ./op_invokevirtual.class -invokevirtual: expected failure occurred -Generated: ./op_monitorenter.class -monitorenter: expected failure occurred -Generated: ./op_monitorexit.class -monitorexit: expected failure occurred -Generated: ./op_multianewarray.class -multianewarray: expected failure occurred -Generated: ./op_newarray.class -newarray: expected failure occurred -Generated: ./op_putfield.class -putfield: expected failure occurred -Generated: ./op_putstatic.class -putstatic: expected failure occurred diff --git a/dx/tests/106-verify-object-ops/info.txt b/dx/tests/106-verify-object-ops/info.txt deleted file mode 100644 index 85295d7fc..000000000 --- a/dx/tests/106-verify-object-ops/info.txt +++ /dev/null @@ -1,2 +0,0 @@ -This tests that the various "objecty" opcodes verify that their -arguments are actually of the appropriate types. diff --git a/dx/tests/106-verify-object-ops/op_anewarray.j b/dx/tests/106-verify-object-ops/op_anewarray.j deleted file mode 100644 index 348acbd94..000000000 --- a/dx/tests/106-verify-object-ops/op_anewarray.j +++ /dev/null @@ -1,25 +0,0 @@ -; Copyright (C) 2008 The Android Open Source Project -; -; Licensed under the Apache License, Version 2.0 (the "License"); -; you may not use this file except in compliance with the License. -; You may obtain a copy of the License at -; -; http://www.apache.org/licenses/LICENSE-2.0 -; -; Unless required by applicable law or agreed to in writing, software -; distributed under the License is distributed on an "AS IS" BASIS, -; WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -; See the License for the specific language governing permissions and -; limitations under the License. - -.class op_anewarray -.super java/lang/Object - -.method public static test()V - .limit locals 2 - .limit stack 3 - - fconst_0 - anewarray java/lang/Object - return -.end method diff --git a/dx/tests/106-verify-object-ops/op_arraylength.j b/dx/tests/106-verify-object-ops/op_arraylength.j deleted file mode 100644 index df5af825b..000000000 --- a/dx/tests/106-verify-object-ops/op_arraylength.j +++ /dev/null @@ -1,25 +0,0 @@ -; Copyright (C) 2008 The Android Open Source Project -; -; Licensed under the Apache License, Version 2.0 (the "License"); -; you may not use this file except in compliance with the License. -; You may obtain a copy of the License at -; -; http://www.apache.org/licenses/LICENSE-2.0 -; -; Unless required by applicable law or agreed to in writing, software -; distributed under the License is distributed on an "AS IS" BASIS, -; WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -; See the License for the specific language governing permissions and -; limitations under the License. - -.class op_arraylength -.super java/lang/Object - -.method public static test()V - .limit locals 2 - .limit stack 3 - - fconst_0 - arraylength - return -.end method diff --git a/dx/tests/106-verify-object-ops/op_athrow.j b/dx/tests/106-verify-object-ops/op_athrow.j deleted file mode 100644 index a5a5be39c..000000000 --- a/dx/tests/106-verify-object-ops/op_athrow.j +++ /dev/null @@ -1,25 +0,0 @@ -; Copyright (C) 2008 The Android Open Source Project -; -; Licensed under the Apache License, Version 2.0 (the "License"); -; you may not use this file except in compliance with the License. -; You may obtain a copy of the License at -; -; http://www.apache.org/licenses/LICENSE-2.0 -; -; Unless required by applicable law or agreed to in writing, software -; distributed under the License is distributed on an "AS IS" BASIS, -; WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -; See the License for the specific language governing permissions and -; limitations under the License. - -.class op_athrow -.super java/lang/Object - -.method public static test()V - .limit locals 2 - .limit stack 3 - - fconst_0 - athrow - return -.end method diff --git a/dx/tests/106-verify-object-ops/op_checkcast.j b/dx/tests/106-verify-object-ops/op_checkcast.j deleted file mode 100644 index d921ec43c..000000000 --- a/dx/tests/106-verify-object-ops/op_checkcast.j +++ /dev/null @@ -1,25 +0,0 @@ -; Copyright (C) 2008 The Android Open Source Project -; -; Licensed under the Apache License, Version 2.0 (the "License"); -; you may not use this file except in compliance with the License. -; You may obtain a copy of the License at -; -; http://www.apache.org/licenses/LICENSE-2.0 -; -; Unless required by applicable law or agreed to in writing, software -; distributed under the License is distributed on an "AS IS" BASIS, -; WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -; See the License for the specific language governing permissions and -; limitations under the License. - -.class op_checkcast -.super java/lang/Object - -.method public static test()V - .limit locals 2 - .limit stack 3 - - fconst_0 - checkcast java/lang/Object - return -.end method diff --git a/dx/tests/106-verify-object-ops/op_getfield.j b/dx/tests/106-verify-object-ops/op_getfield.j deleted file mode 100644 index 4d5f78267..000000000 --- a/dx/tests/106-verify-object-ops/op_getfield.j +++ /dev/null @@ -1,25 +0,0 @@ -; Copyright (C) 2008 The Android Open Source Project -; -; Licensed under the Apache License, Version 2.0 (the "License"); -; you may not use this file except in compliance with the License. -; You may obtain a copy of the License at -; -; http://www.apache.org/licenses/LICENSE-2.0 -; -; Unless required by applicable law or agreed to in writing, software -; distributed under the License is distributed on an "AS IS" BASIS, -; WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -; See the License for the specific language governing permissions and -; limitations under the License. - -.class op_getfield -.super java/lang/Object - -.method public static test()V - .limit locals 2 - .limit stack 3 - - fconst_0 - getfield blort/x I - return -.end method diff --git a/dx/tests/106-verify-object-ops/op_instanceof.j b/dx/tests/106-verify-object-ops/op_instanceof.j deleted file mode 100644 index 8a938f525..000000000 --- a/dx/tests/106-verify-object-ops/op_instanceof.j +++ /dev/null @@ -1,25 +0,0 @@ -; Copyright (C) 2008 The Android Open Source Project -; -; Licensed under the Apache License, Version 2.0 (the "License"); -; you may not use this file except in compliance with the License. -; You may obtain a copy of the License at -; -; http://www.apache.org/licenses/LICENSE-2.0 -; -; Unless required by applicable law or agreed to in writing, software -; distributed under the License is distributed on an "AS IS" BASIS, -; WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -; See the License for the specific language governing permissions and -; limitations under the License. - -.class op_instanceof -.super java/lang/Object - -.method public static test()V - .limit locals 2 - .limit stack 3 - - fconst_0 - instanceof java/lang/Object - return -.end method diff --git a/dx/tests/106-verify-object-ops/op_invokeinterface.j b/dx/tests/106-verify-object-ops/op_invokeinterface.j deleted file mode 100644 index 2f1528fb6..000000000 --- a/dx/tests/106-verify-object-ops/op_invokeinterface.j +++ /dev/null @@ -1,25 +0,0 @@ -; Copyright (C) 2008 The Android Open Source Project -; -; Licensed under the Apache License, Version 2.0 (the "License"); -; you may not use this file except in compliance with the License. -; You may obtain a copy of the License at -; -; http://www.apache.org/licenses/LICENSE-2.0 -; -; Unless required by applicable law or agreed to in writing, software -; distributed under the License is distributed on an "AS IS" BASIS, -; WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -; See the License for the specific language governing permissions and -; limitations under the License. - -.class op_invokeinterface -.super java/lang/Object - -.method public static test()V - .limit locals 2 - .limit stack 3 - - fconst_0 - invokeinterface blort/x()V 1 - return -.end method diff --git a/dx/tests/106-verify-object-ops/op_invokespecial.j b/dx/tests/106-verify-object-ops/op_invokespecial.j deleted file mode 100644 index 87baffc81..000000000 --- a/dx/tests/106-verify-object-ops/op_invokespecial.j +++ /dev/null @@ -1,25 +0,0 @@ -; Copyright (C) 2008 The Android Open Source Project -; -; Licensed under the Apache License, Version 2.0 (the "License"); -; you may not use this file except in compliance with the License. -; You may obtain a copy of the License at -; -; http://www.apache.org/licenses/LICENSE-2.0 -; -; Unless required by applicable law or agreed to in writing, software -; distributed under the License is distributed on an "AS IS" BASIS, -; WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -; See the License for the specific language governing permissions and -; limitations under the License. - -.class op_invokespecial -.super java/lang/Object - -.method public static test()V - .limit locals 2 - .limit stack 3 - - fconst_0 - invokespecial blort/x()V - return -.end method diff --git a/dx/tests/106-verify-object-ops/op_invokestatic.j b/dx/tests/106-verify-object-ops/op_invokestatic.j deleted file mode 100644 index 80247bd65..000000000 --- a/dx/tests/106-verify-object-ops/op_invokestatic.j +++ /dev/null @@ -1,25 +0,0 @@ -; Copyright (C) 2008 The Android Open Source Project -; -; Licensed under the Apache License, Version 2.0 (the "License"); -; you may not use this file except in compliance with the License. -; You may obtain a copy of the License at -; -; http://www.apache.org/licenses/LICENSE-2.0 -; -; Unless required by applicable law or agreed to in writing, software -; distributed under the License is distributed on an "AS IS" BASIS, -; WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -; See the License for the specific language governing permissions and -; limitations under the License. - -.class op_invokestatic -.super java/lang/Object - -.method public static test()V - .limit locals 2 - .limit stack 3 - - fconst_0 - invokestatic blort/x(I)V - return -.end method diff --git a/dx/tests/106-verify-object-ops/op_invokevirtual.j b/dx/tests/106-verify-object-ops/op_invokevirtual.j deleted file mode 100644 index d7ba9b56e..000000000 --- a/dx/tests/106-verify-object-ops/op_invokevirtual.j +++ /dev/null @@ -1,25 +0,0 @@ -; Copyright (C) 2008 The Android Open Source Project -; -; Licensed under the Apache License, Version 2.0 (the "License"); -; you may not use this file except in compliance with the License. -; You may obtain a copy of the License at -; -; http://www.apache.org/licenses/LICENSE-2.0 -; -; Unless required by applicable law or agreed to in writing, software -; distributed under the License is distributed on an "AS IS" BASIS, -; WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -; See the License for the specific language governing permissions and -; limitations under the License. - -.class op_invokevirtual -.super java/lang/Object - -.method public static test()V - .limit locals 2 - .limit stack 3 - - fconst_0 - invokevirtual blort/x()V - return -.end method diff --git a/dx/tests/106-verify-object-ops/op_monitorenter.j b/dx/tests/106-verify-object-ops/op_monitorenter.j deleted file mode 100644 index 95e23d881..000000000 --- a/dx/tests/106-verify-object-ops/op_monitorenter.j +++ /dev/null @@ -1,25 +0,0 @@ -; Copyright (C) 2008 The Android Open Source Project -; -; Licensed under the Apache License, Version 2.0 (the "License"); -; you may not use this file except in compliance with the License. -; You may obtain a copy of the License at -; -; http://www.apache.org/licenses/LICENSE-2.0 -; -; Unless required by applicable law or agreed to in writing, software -; distributed under the License is distributed on an "AS IS" BASIS, -; WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -; See the License for the specific language governing permissions and -; limitations under the License. - -.class op_monitorenter -.super java/lang/Object - -.method public static test()V - .limit locals 2 - .limit stack 3 - - fconst_0 - monitorenter - return -.end method diff --git a/dx/tests/106-verify-object-ops/op_monitorexit.j b/dx/tests/106-verify-object-ops/op_monitorexit.j deleted file mode 100644 index 50e5fe2ce..000000000 --- a/dx/tests/106-verify-object-ops/op_monitorexit.j +++ /dev/null @@ -1,25 +0,0 @@ -; Copyright (C) 2008 The Android Open Source Project -; -; Licensed under the Apache License, Version 2.0 (the "License"); -; you may not use this file except in compliance with the License. -; You may obtain a copy of the License at -; -; http://www.apache.org/licenses/LICENSE-2.0 -; -; Unless required by applicable law or agreed to in writing, software -; distributed under the License is distributed on an "AS IS" BASIS, -; WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -; See the License for the specific language governing permissions and -; limitations under the License. - -.class op_monitorexit -.super java/lang/Object - -.method public static test()V - .limit locals 2 - .limit stack 3 - - fconst_0 - monitorexit - return -.end method diff --git a/dx/tests/106-verify-object-ops/op_multianewarray.j b/dx/tests/106-verify-object-ops/op_multianewarray.j deleted file mode 100644 index d02f474bc..000000000 --- a/dx/tests/106-verify-object-ops/op_multianewarray.j +++ /dev/null @@ -1,26 +0,0 @@ -; Copyright (C) 2008 The Android Open Source Project -; -; Licensed under the Apache License, Version 2.0 (the "License"); -; you may not use this file except in compliance with the License. -; You may obtain a copy of the License at -; -; http://www.apache.org/licenses/LICENSE-2.0 -; -; Unless required by applicable law or agreed to in writing, software -; distributed under the License is distributed on an "AS IS" BASIS, -; WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -; See the License for the specific language governing permissions and -; limitations under the License. - -.class op_multianewarray -.super java/lang/Object - -.method public static test()V - .limit locals 2 - .limit stack 3 - - fconst_0 - iconst_0 - multianewarray [[[I 2 - return -.end method diff --git a/dx/tests/106-verify-object-ops/op_newarray.j b/dx/tests/106-verify-object-ops/op_newarray.j deleted file mode 100644 index 16ab256c6..000000000 --- a/dx/tests/106-verify-object-ops/op_newarray.j +++ /dev/null @@ -1,25 +0,0 @@ -; Copyright (C) 2008 The Android Open Source Project -; -; Licensed under the Apache License, Version 2.0 (the "License"); -; you may not use this file except in compliance with the License. -; You may obtain a copy of the License at -; -; http://www.apache.org/licenses/LICENSE-2.0 -; -; Unless required by applicable law or agreed to in writing, software -; distributed under the License is distributed on an "AS IS" BASIS, -; WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -; See the License for the specific language governing permissions and -; limitations under the License. - -.class op_newarray -.super java/lang/Object - -.method public static test()V - .limit locals 2 - .limit stack 3 - - fconst_0 - newarray short - return -.end method diff --git a/dx/tests/106-verify-object-ops/op_putfield.j b/dx/tests/106-verify-object-ops/op_putfield.j deleted file mode 100644 index eb33fc994..000000000 --- a/dx/tests/106-verify-object-ops/op_putfield.j +++ /dev/null @@ -1,26 +0,0 @@ -; Copyright (C) 2008 The Android Open Source Project -; -; Licensed under the Apache License, Version 2.0 (the "License"); -; you may not use this file except in compliance with the License. -; You may obtain a copy of the License at -; -; http://www.apache.org/licenses/LICENSE-2.0 -; -; Unless required by applicable law or agreed to in writing, software -; distributed under the License is distributed on an "AS IS" BASIS, -; WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -; See the License for the specific language governing permissions and -; limitations under the License. - -.class op_putfield -.super java/lang/Object - -.method public static test()V - .limit locals 2 - .limit stack 3 - - fconst_0 - iconst_0 - putfield blort/x I - return -.end method diff --git a/dx/tests/106-verify-object-ops/op_putstatic.j b/dx/tests/106-verify-object-ops/op_putstatic.j deleted file mode 100644 index 221f08b67..000000000 --- a/dx/tests/106-verify-object-ops/op_putstatic.j +++ /dev/null @@ -1,25 +0,0 @@ -; Copyright (C) 2008 The Android Open Source Project -; -; Licensed under the Apache License, Version 2.0 (the "License"); -; you may not use this file except in compliance with the License. -; You may obtain a copy of the License at -; -; http://www.apache.org/licenses/LICENSE-2.0 -; -; Unless required by applicable law or agreed to in writing, software -; distributed under the License is distributed on an "AS IS" BASIS, -; WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -; See the License for the specific language governing permissions and -; limitations under the License. - -.class op_putstatic -.super java/lang/Object - -.method public static test()V - .limit locals 2 - .limit stack 3 - - fconst_0 - putstatic blort/x I - return -.end method diff --git a/dx/tests/106-verify-object-ops/run b/dx/tests/106-verify-object-ops/run deleted file mode 100644 index f512210bc..000000000 --- a/dx/tests/106-verify-object-ops/run +++ /dev/null @@ -1,43 +0,0 @@ -#!/bin/bash -# -# Copyright (C) 2007 The Android Open Source Project -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -function oneop() -{ - jasmin -d . op_"$1".j - dx --debug --dex op_"$1".class >/dev/null 2>&1 - if [ "$?" = "0" ]; then - dx --debug --dex --dump-method="op_$1.test*" op_"$1".class - else - echo "$1: expected failure occurred" - fi -} - -oneop anewarray -oneop arraylength -oneop athrow -oneop checkcast -oneop getfield -oneop instanceof -oneop invokeinterface -oneop invokespecial -oneop invokestatic -oneop invokevirtual -oneop monitorenter -oneop monitorexit -oneop multianewarray -oneop newarray -oneop putfield -oneop putstatic diff --git a/dx/tests/107-verify-stack-ops/expected.txt b/dx/tests/107-verify-stack-ops/expected.txt deleted file mode 100644 index 812025d0d..000000000 --- a/dx/tests/107-verify-stack-ops/expected.txt +++ /dev/null @@ -1,34 +0,0 @@ -Generated: ./op_dup.class -dup: expected failure occurred -Generated: ./op_dup_x1_case1.class -dup_x1_case1: expected failure occurred -Generated: ./op_dup_x1_case2.class -dup_x1_case2: expected failure occurred -Generated: ./op_dup_x2_case1.class -dup_x2_case1: expected failure occurred -Generated: ./op_dup_x2_case2.class -dup_x2_case2: expected failure occurred -Generated: ./op_dup_x2_case3.class -dup_x2_case3: expected failure occurred -Generated: ./op_dup2.class -dup2: expected failure occurred -Generated: ./op_dup2_x1_case1.class -dup2_x1_case1: expected failure occurred -Generated: ./op_dup2_x1_case2.class -dup2_x1_case2: expected failure occurred -Generated: ./op_dup2_x1_case3.class -dup2_x1_case3: expected failure occurred -Generated: ./op_dup2_x2_case1.class -dup2_x2_case1: expected failure occurred -Generated: ./op_dup2_x2_case2.class -dup2_x2_case2: expected failure occurred -Generated: ./op_dup2_x2_case3.class -dup2_x2_case3: expected failure occurred -Generated: ./op_pop.class -pop: expected failure occurred -Generated: ./op_pop2.class -pop2: expected failure occurred -Generated: ./op_swap_case1.class -swap_case1: expected failure occurred -Generated: ./op_swap_case2.class -swap_case2: expected failure occurred diff --git a/dx/tests/107-verify-stack-ops/info.txt b/dx/tests/107-verify-stack-ops/info.txt deleted file mode 100644 index c489acef0..000000000 --- a/dx/tests/107-verify-stack-ops/info.txt +++ /dev/null @@ -1,2 +0,0 @@ -This tests that the various stack manipulation opcodes verify that their -arguments are actually of the appropriate categories. diff --git a/dx/tests/107-verify-stack-ops/op_dup.j b/dx/tests/107-verify-stack-ops/op_dup.j deleted file mode 100644 index 6c9ebc29e..000000000 --- a/dx/tests/107-verify-stack-ops/op_dup.j +++ /dev/null @@ -1,25 +0,0 @@ -; Copyright (C) 2008 The Android Open Source Project -; -; Licensed under the Apache License, Version 2.0 (the "License"); -; you may not use this file except in compliance with the License. -; You may obtain a copy of the License at -; -; http://www.apache.org/licenses/LICENSE-2.0 -; -; Unless required by applicable law or agreed to in writing, software -; distributed under the License is distributed on an "AS IS" BASIS, -; WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -; See the License for the specific language governing permissions and -; limitations under the License. - -.class op_dup -.super java/lang/Object - -.method public static test()V - .limit locals 2 - .limit stack 6 - - dconst_0 - dup - return -.end method diff --git a/dx/tests/107-verify-stack-ops/op_dup2.j b/dx/tests/107-verify-stack-ops/op_dup2.j deleted file mode 100644 index d17ce202a..000000000 --- a/dx/tests/107-verify-stack-ops/op_dup2.j +++ /dev/null @@ -1,26 +0,0 @@ -; Copyright (C) 2008 The Android Open Source Project -; -; Licensed under the Apache License, Version 2.0 (the "License"); -; you may not use this file except in compliance with the License. -; You may obtain a copy of the License at -; -; http://www.apache.org/licenses/LICENSE-2.0 -; -; Unless required by applicable law or agreed to in writing, software -; distributed under the License is distributed on an "AS IS" BASIS, -; WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -; See the License for the specific language governing permissions and -; limitations under the License. - -.class op_dup2 -.super java/lang/Object - -.method public static test()V - .limit locals 2 - .limit stack 6 - - dconst_0 - iconst_0 - dup2 - return -.end method diff --git a/dx/tests/107-verify-stack-ops/op_dup2_case1.j b/dx/tests/107-verify-stack-ops/op_dup2_case1.j deleted file mode 100644 index 7b014f75a..000000000 --- a/dx/tests/107-verify-stack-ops/op_dup2_case1.j +++ /dev/null @@ -1,26 +0,0 @@ -; Copyright (C) 2008 The Android Open Source Project -; -; Licensed under the Apache License, Version 2.0 (the "License"); -; you may not use this file except in compliance with the License. -; You may obtain a copy of the License at -; -; http://www.apache.org/licenses/LICENSE-2.0 -; -; Unless required by applicable law or agreed to in writing, software -; distributed under the License is distributed on an "AS IS" BASIS, -; WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -; See the License for the specific language governing permissions and -; limitations under the License. - -.class op_dup2_case1 -.super java/lang/Object - -.method public static test()V - .limit locals 2 - .limit stack 6 - - dconst_0 - iconst_0 - dup2 - return -.end method diff --git a/dx/tests/107-verify-stack-ops/op_dup2_x1_case1.j b/dx/tests/107-verify-stack-ops/op_dup2_x1_case1.j deleted file mode 100644 index 26667f06a..000000000 --- a/dx/tests/107-verify-stack-ops/op_dup2_x1_case1.j +++ /dev/null @@ -1,27 +0,0 @@ -; Copyright (C) 2008 The Android Open Source Project -; -; Licensed under the Apache License, Version 2.0 (the "License"); -; you may not use this file except in compliance with the License. -; You may obtain a copy of the License at -; -; http://www.apache.org/licenses/LICENSE-2.0 -; -; Unless required by applicable law or agreed to in writing, software -; distributed under the License is distributed on an "AS IS" BASIS, -; WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -; See the License for the specific language governing permissions and -; limitations under the License. - -.class op_dup2_x1_case1 -.super java/lang/Object - -.method public static test()V - .limit locals 2 - .limit stack 8 - - dconst_0 - iconst_0 - iconst_0 - dup2_x1 - return -.end method diff --git a/dx/tests/107-verify-stack-ops/op_dup2_x1_case2.j b/dx/tests/107-verify-stack-ops/op_dup2_x1_case2.j deleted file mode 100644 index 35e97c434..000000000 --- a/dx/tests/107-verify-stack-ops/op_dup2_x1_case2.j +++ /dev/null @@ -1,27 +0,0 @@ -; Copyright (C) 2008 The Android Open Source Project -; -; Licensed under the Apache License, Version 2.0 (the "License"); -; you may not use this file except in compliance with the License. -; You may obtain a copy of the License at -; -; http://www.apache.org/licenses/LICENSE-2.0 -; -; Unless required by applicable law or agreed to in writing, software -; distributed under the License is distributed on an "AS IS" BASIS, -; WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -; See the License for the specific language governing permissions and -; limitations under the License. - -.class op_dup2_x1_case2 -.super java/lang/Object - -.method public static test()V - .limit locals 2 - .limit stack 8 - - iconst_0 - dconst_0 - iconst_0 - dup2_x1 - return -.end method diff --git a/dx/tests/107-verify-stack-ops/op_dup2_x1_case3.j b/dx/tests/107-verify-stack-ops/op_dup2_x1_case3.j deleted file mode 100644 index d15ccc37f..000000000 --- a/dx/tests/107-verify-stack-ops/op_dup2_x1_case3.j +++ /dev/null @@ -1,27 +0,0 @@ -; Copyright (C) 2008 The Android Open Source Project -; -; Licensed under the Apache License, Version 2.0 (the "License"); -; you may not use this file except in compliance with the License. -; You may obtain a copy of the License at -; -; http://www.apache.org/licenses/LICENSE-2.0 -; -; Unless required by applicable law or agreed to in writing, software -; distributed under the License is distributed on an "AS IS" BASIS, -; WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -; See the License for the specific language governing permissions and -; limitations under the License. - -.class op_dup2_x1_case3 -.super java/lang/Object - -.method public static test()V - .limit locals 2 - .limit stack 8 - - iconst_0 - dconst_0 - dconst_0 - dup2_x1 - return -.end method diff --git a/dx/tests/107-verify-stack-ops/op_dup2_x2_case1.j b/dx/tests/107-verify-stack-ops/op_dup2_x2_case1.j deleted file mode 100644 index e2538a0a5..000000000 --- a/dx/tests/107-verify-stack-ops/op_dup2_x2_case1.j +++ /dev/null @@ -1,28 +0,0 @@ -; Copyright (C) 2008 The Android Open Source Project -; -; Licensed under the Apache License, Version 2.0 (the "License"); -; you may not use this file except in compliance with the License. -; You may obtain a copy of the License at -; -; http://www.apache.org/licenses/LICENSE-2.0 -; -; Unless required by applicable law or agreed to in writing, software -; distributed under the License is distributed on an "AS IS" BASIS, -; WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -; See the License for the specific language governing permissions and -; limitations under the License. - -.class op_dup2_x2_case1 -.super java/lang/Object - -.method public static test()V - .limit locals 2 - .limit stack 8 - - dconst_0 - iconst_0 - iconst_0 - iconst_0 - dup2_x2 - return -.end method diff --git a/dx/tests/107-verify-stack-ops/op_dup2_x2_case2.j b/dx/tests/107-verify-stack-ops/op_dup2_x2_case2.j deleted file mode 100644 index 1e2645cd9..000000000 --- a/dx/tests/107-verify-stack-ops/op_dup2_x2_case2.j +++ /dev/null @@ -1,28 +0,0 @@ -; Copyright (C) 2008 The Android Open Source Project -; -; Licensed under the Apache License, Version 2.0 (the "License"); -; you may not use this file except in compliance with the License. -; You may obtain a copy of the License at -; -; http://www.apache.org/licenses/LICENSE-2.0 -; -; Unless required by applicable law or agreed to in writing, software -; distributed under the License is distributed on an "AS IS" BASIS, -; WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -; See the License for the specific language governing permissions and -; limitations under the License. - -.class op_dup2_x2_case2 -.super java/lang/Object - -.method public static test()V - .limit locals 2 - .limit stack 8 - - iconst_0 - iconst_0 - dconst_0 - iconst_0 - dup2_x2 - return -.end method diff --git a/dx/tests/107-verify-stack-ops/op_dup2_x2_case3.j b/dx/tests/107-verify-stack-ops/op_dup2_x2_case3.j deleted file mode 100644 index dad31e511..000000000 --- a/dx/tests/107-verify-stack-ops/op_dup2_x2_case3.j +++ /dev/null @@ -1,27 +0,0 @@ -; Copyright (C) 2008 The Android Open Source Project -; -; Licensed under the Apache License, Version 2.0 (the "License"); -; you may not use this file except in compliance with the License. -; You may obtain a copy of the License at -; -; http://www.apache.org/licenses/LICENSE-2.0 -; -; Unless required by applicable law or agreed to in writing, software -; distributed under the License is distributed on an "AS IS" BASIS, -; WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -; See the License for the specific language governing permissions and -; limitations under the License. - -.class op_dup2_x2_case3 -.super java/lang/Object - -.method public static test()V - .limit locals 2 - .limit stack 8 - - dconst_0 - iconst_0 - dconst_0 - dup2_x2 - return -.end method diff --git a/dx/tests/107-verify-stack-ops/op_dup_x1_case1.j b/dx/tests/107-verify-stack-ops/op_dup_x1_case1.j deleted file mode 100644 index 037b0f861..000000000 --- a/dx/tests/107-verify-stack-ops/op_dup_x1_case1.j +++ /dev/null @@ -1,26 +0,0 @@ -; Copyright (C) 2008 The Android Open Source Project -; -; Licensed under the Apache License, Version 2.0 (the "License"); -; you may not use this file except in compliance with the License. -; You may obtain a copy of the License at -; -; http://www.apache.org/licenses/LICENSE-2.0 -; -; Unless required by applicable law or agreed to in writing, software -; distributed under the License is distributed on an "AS IS" BASIS, -; WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -; See the License for the specific language governing permissions and -; limitations under the License. - -.class op_dup_x1_case1 -.super java/lang/Object - -.method public static test()V - .limit locals 2 - .limit stack 6 - - iconst_0 - dconst_0 - dup_x1 - return -.end method diff --git a/dx/tests/107-verify-stack-ops/op_dup_x1_case2.j b/dx/tests/107-verify-stack-ops/op_dup_x1_case2.j deleted file mode 100644 index fa52b16a5..000000000 --- a/dx/tests/107-verify-stack-ops/op_dup_x1_case2.j +++ /dev/null @@ -1,26 +0,0 @@ -; Copyright (C) 2008 The Android Open Source Project -; -; Licensed under the Apache License, Version 2.0 (the "License"); -; you may not use this file except in compliance with the License. -; You may obtain a copy of the License at -; -; http://www.apache.org/licenses/LICENSE-2.0 -; -; Unless required by applicable law or agreed to in writing, software -; distributed under the License is distributed on an "AS IS" BASIS, -; WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -; See the License for the specific language governing permissions and -; limitations under the License. - -.class op_dup_x1_case2 -.super java/lang/Object - -.method public static test()V - .limit locals 2 - .limit stack 6 - - dconst_0 - iconst_0 - dup_x1 - return -.end method diff --git a/dx/tests/107-verify-stack-ops/op_dup_x2_case1.j b/dx/tests/107-verify-stack-ops/op_dup_x2_case1.j deleted file mode 100644 index 7c4e89cd7..000000000 --- a/dx/tests/107-verify-stack-ops/op_dup_x2_case1.j +++ /dev/null @@ -1,27 +0,0 @@ -; Copyright (C) 2008 The Android Open Source Project -; -; Licensed under the Apache License, Version 2.0 (the "License"); -; you may not use this file except in compliance with the License. -; You may obtain a copy of the License at -; -; http://www.apache.org/licenses/LICENSE-2.0 -; -; Unless required by applicable law or agreed to in writing, software -; distributed under the License is distributed on an "AS IS" BASIS, -; WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -; See the License for the specific language governing permissions and -; limitations under the License. - -.class op_dup_x2_case1 -.super java/lang/Object - -.method public static test()V - .limit locals 2 - .limit stack 6 - - dconst_0 - iconst_0 - iconst_0 - dup_x2 - return -.end method diff --git a/dx/tests/107-verify-stack-ops/op_dup_x2_case2.j b/dx/tests/107-verify-stack-ops/op_dup_x2_case2.j deleted file mode 100644 index c4aa545b9..000000000 --- a/dx/tests/107-verify-stack-ops/op_dup_x2_case2.j +++ /dev/null @@ -1,27 +0,0 @@ -; Copyright (C) 2008 The Android Open Source Project -; -; Licensed under the Apache License, Version 2.0 (the "License"); -; you may not use this file except in compliance with the License. -; You may obtain a copy of the License at -; -; http://www.apache.org/licenses/LICENSE-2.0 -; -; Unless required by applicable law or agreed to in writing, software -; distributed under the License is distributed on an "AS IS" BASIS, -; WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -; See the License for the specific language governing permissions and -; limitations under the License. - -.class op_dup_x2_case2 -.super java/lang/Object - -.method public static test()V - .limit locals 2 - .limit stack 6 - - iconst_0 - iconst_0 - dconst_0 - dup_x2 - return -.end method diff --git a/dx/tests/107-verify-stack-ops/op_dup_x2_case3.j b/dx/tests/107-verify-stack-ops/op_dup_x2_case3.j deleted file mode 100644 index f920d8c84..000000000 --- a/dx/tests/107-verify-stack-ops/op_dup_x2_case3.j +++ /dev/null @@ -1,27 +0,0 @@ -; Copyright (C) 2008 The Android Open Source Project -; -; Licensed under the Apache License, Version 2.0 (the "License"); -; you may not use this file except in compliance with the License. -; You may obtain a copy of the License at -; -; http://www.apache.org/licenses/LICENSE-2.0 -; -; Unless required by applicable law or agreed to in writing, software -; distributed under the License is distributed on an "AS IS" BASIS, -; WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -; See the License for the specific language governing permissions and -; limitations under the License. - -.class op_dup_x2_case3 -.super java/lang/Object - -.method public static test()V - .limit locals 2 - .limit stack 6 - - iconst_0 - dconst_0 - dconst_0 - dup_x2 - return -.end method diff --git a/dx/tests/107-verify-stack-ops/op_pop.j b/dx/tests/107-verify-stack-ops/op_pop.j deleted file mode 100644 index 1b74e2c41..000000000 --- a/dx/tests/107-verify-stack-ops/op_pop.j +++ /dev/null @@ -1,25 +0,0 @@ -; Copyright (C) 2008 The Android Open Source Project -; -; Licensed under the Apache License, Version 2.0 (the "License"); -; you may not use this file except in compliance with the License. -; You may obtain a copy of the License at -; -; http://www.apache.org/licenses/LICENSE-2.0 -; -; Unless required by applicable law or agreed to in writing, software -; distributed under the License is distributed on an "AS IS" BASIS, -; WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -; See the License for the specific language governing permissions and -; limitations under the License. - -.class op_pop -.super java/lang/Object - -.method public static test()V - .limit locals 2 - .limit stack 6 - - dconst_0 - pop - return -.end method diff --git a/dx/tests/107-verify-stack-ops/op_pop2.j b/dx/tests/107-verify-stack-ops/op_pop2.j deleted file mode 100644 index ef2d122ba..000000000 --- a/dx/tests/107-verify-stack-ops/op_pop2.j +++ /dev/null @@ -1,26 +0,0 @@ -; Copyright (C) 2008 The Android Open Source Project -; -; Licensed under the Apache License, Version 2.0 (the "License"); -; you may not use this file except in compliance with the License. -; You may obtain a copy of the License at -; -; http://www.apache.org/licenses/LICENSE-2.0 -; -; Unless required by applicable law or agreed to in writing, software -; distributed under the License is distributed on an "AS IS" BASIS, -; WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -; See the License for the specific language governing permissions and -; limitations under the License. - -.class op_pop2 -.super java/lang/Object - -.method public static test()V - .limit locals 2 - .limit stack 6 - - dconst_0 - iconst_0 - pop2 - return -.end method diff --git a/dx/tests/107-verify-stack-ops/op_pop2_case2.j b/dx/tests/107-verify-stack-ops/op_pop2_case2.j deleted file mode 100644 index f9d6ea335..000000000 --- a/dx/tests/107-verify-stack-ops/op_pop2_case2.j +++ /dev/null @@ -1,26 +0,0 @@ -; Copyright (C) 2008 The Android Open Source Project -; -; Licensed under the Apache License, Version 2.0 (the "License"); -; you may not use this file except in compliance with the License. -; You may obtain a copy of the License at -; -; http://www.apache.org/licenses/LICENSE-2.0 -; -; Unless required by applicable law or agreed to in writing, software -; distributed under the License is distributed on an "AS IS" BASIS, -; WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -; See the License for the specific language governing permissions and -; limitations under the License. - -.class op_pop2_case2 -.super java/lang/Object - -.method public static test()V - .limit locals 2 - .limit stack 6 - - dconst_0 - iconst_0 - pop2 - return -.end method diff --git a/dx/tests/107-verify-stack-ops/op_swap_case1.j b/dx/tests/107-verify-stack-ops/op_swap_case1.j deleted file mode 100644 index f6b4ab71d..000000000 --- a/dx/tests/107-verify-stack-ops/op_swap_case1.j +++ /dev/null @@ -1,26 +0,0 @@ -; Copyright (C) 2008 The Android Open Source Project -; -; Licensed under the Apache License, Version 2.0 (the "License"); -; you may not use this file except in compliance with the License. -; You may obtain a copy of the License at -; -; http://www.apache.org/licenses/LICENSE-2.0 -; -; Unless required by applicable law or agreed to in writing, software -; distributed under the License is distributed on an "AS IS" BASIS, -; WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -; See the License for the specific language governing permissions and -; limitations under the License. - -.class op_swap_case1 -.super java/lang/Object - -.method public static test()V - .limit locals 2 - .limit stack 6 - - dconst_0 - iconst_0 - swap - return -.end method diff --git a/dx/tests/107-verify-stack-ops/op_swap_case2.j b/dx/tests/107-verify-stack-ops/op_swap_case2.j deleted file mode 100644 index 6e0fcba3e..000000000 --- a/dx/tests/107-verify-stack-ops/op_swap_case2.j +++ /dev/null @@ -1,26 +0,0 @@ -; Copyright (C) 2008 The Android Open Source Project -; -; Licensed under the Apache License, Version 2.0 (the "License"); -; you may not use this file except in compliance with the License. -; You may obtain a copy of the License at -; -; http://www.apache.org/licenses/LICENSE-2.0 -; -; Unless required by applicable law or agreed to in writing, software -; distributed under the License is distributed on an "AS IS" BASIS, -; WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -; See the License for the specific language governing permissions and -; limitations under the License. - -.class op_swap_case2 -.super java/lang/Object - -.method public static test()V - .limit locals 2 - .limit stack 6 - - iconst_0 - dconst_0 - swap - return -.end method diff --git a/dx/tests/107-verify-stack-ops/run b/dx/tests/107-verify-stack-ops/run deleted file mode 100644 index a55c639b2..000000000 --- a/dx/tests/107-verify-stack-ops/run +++ /dev/null @@ -1,44 +0,0 @@ -#!/bin/bash -# -# Copyright (C) 2007 The Android Open Source Project -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -function oneop() -{ - jasmin -d . op_"$1".j - dx --debug --dex op_"$1".class >/dev/null 2>&1 - if [ "$?" = "0" ]; then - dx --debug --dex --dump-method="op_$1.test*" op_"$1".class - else - echo "$1: expected failure occurred" - fi -} - -oneop dup -oneop dup_x1_case1 -oneop dup_x1_case2 -oneop dup_x2_case1 -oneop dup_x2_case2 -oneop dup_x2_case3 -oneop dup2 -oneop dup2_x1_case1 -oneop dup2_x1_case2 -oneop dup2_x1_case3 -oneop dup2_x2_case1 -oneop dup2_x2_case2 -oneop dup2_x2_case3 -oneop pop -oneop pop2 -oneop swap_case1 -oneop swap_case2 diff --git a/dx/tests/108-string-annotation/Blort.java b/dx/tests/108-string-annotation/Blort.java deleted file mode 100644 index 9bb52e454..000000000 --- a/dx/tests/108-string-annotation/Blort.java +++ /dev/null @@ -1,32 +0,0 @@ -/* - * Copyright (C) 2008 The Android Open Source Project - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -public class Blort { - @Frotz(name = "grue") - public static void testSingle() { - // This space intentionally left blank. - } - - @Fizmo(names = "gruesome") - public static void testArray1() { - // This space intentionally left blank. - } - - @Fizmo(names = {"awful", "awesome"}) - public static void testArray2() { - // This space intentionally left blank. - } -} diff --git a/dx/tests/108-string-annotation/Fizmo.java b/dx/tests/108-string-annotation/Fizmo.java deleted file mode 100644 index a20bba0fe..000000000 --- a/dx/tests/108-string-annotation/Fizmo.java +++ /dev/null @@ -1,19 +0,0 @@ -/* - * Copyright (C) 2008 The Android Open Source Project - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -public @interface Fizmo { - String[] names(); -} diff --git a/dx/tests/108-string-annotation/Frotz.java b/dx/tests/108-string-annotation/Frotz.java deleted file mode 100644 index 3ad5426a1..000000000 --- a/dx/tests/108-string-annotation/Frotz.java +++ /dev/null @@ -1,19 +0,0 @@ -/* - * Copyright (C) 2008 The Android Open Source Project - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -public @interface Frotz { - String name(); -} diff --git a/dx/tests/108-string-annotation/expected.txt b/dx/tests/108-string-annotation/expected.txt deleted file mode 100644 index 57da807fe..000000000 --- a/dx/tests/108-string-annotation/expected.txt +++ /dev/null @@ -1,12 +0,0 @@ - - elements[0]: - name - value: string "grue" - - elements[0]: - names - value: array {"gruesome"} - - elements[0]: - names - value: array {"awful", "awesome"} diff --git a/dx/tests/108-string-annotation/info.txt b/dx/tests/108-string-annotation/info.txt deleted file mode 100644 index 6c858345e..000000000 --- a/dx/tests/108-string-annotation/info.txt +++ /dev/null @@ -1,6 +0,0 @@ -This is a smoke test of dex conversion, which checks to see that -string annotations get represented reasonably. - -This test compares emitted code against a known-good (via eyeballing) -version, so it is possible for this test to spuriously fail if other -aspects of conversion end up altering the output in innocuous ways. diff --git a/dx/tests/108-string-annotation/run b/dx/tests/108-string-annotation/run deleted file mode 100644 index d89053fbd..000000000 --- a/dx/tests/108-string-annotation/run +++ /dev/null @@ -1,47 +0,0 @@ -#!/bin/bash -# -# Copyright (C) 2007 The Android Open Source Project -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -$JAVAC -d . Blort.java Fizmo.java Frotz.java -dx --debug --dex --no-optimize --positions=none --no-locals \ - --dump-to=- *.class | cut -f 2 -d '|' | awk ' - -BEGIN { - dumping = 0; -} - -/annotation$/ { - dumping = 1; - printf("\n"); - next; -} - -/^[ ]*$/ { - dumping = 0; - next; -} - -dumping && /^ elements/ { - print; -} - -dumping && /^ name_idx/ { - printf(" %s\n", $4); -} - -dumping && /^ value/ { - print; -} -' diff --git a/dx/tests/109-int-branch/blort.j b/dx/tests/109-int-branch/blort.j deleted file mode 100644 index 8517177f3..000000000 --- a/dx/tests/109-int-branch/blort.j +++ /dev/null @@ -1,99 +0,0 @@ -; Copyright (C) 2008 The Android Open Source Project -; -; Licensed under the Apache License, Version 2.0 (the "License"); -; you may not use this file except in compliance with the License. -; You may obtain a copy of the License at -; -; http://www.apache.org/licenses/LICENSE-2.0 -; -; Unless required by applicable law or agreed to in writing, software -; distributed under the License is distributed on an "AS IS" BASIS, -; WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -; See the License for the specific language governing permissions and -; limitations under the License. - -.class blort -.super java/lang/Object - -.method public static test1(ZBCSI[I)V - .limit locals 6 - .limit stack 3 - - iload_0 - iload_1 - if_icmpeq zorch - - iload_2 - iload_3 - if_icmpne zorch - - iload 4 - aload 5 - iconst_0 - iaload - if_icmplt zorch - - aload 5 - iconst_0 - iaload - iload_0 - if_icmpgt zorch - - iload 4 - iload_1 - if_icmpge zorch - - nop - -zorch: - return -.end method - -.method public static test2(I)Ljava/lang/Object; - .limit locals 2 - .limit stack 3 - - aconst_null - astore 1 - - aload_1 - iconst_0 - iaload - iload_0 - if_icmpge zorch - - nop - -zorch: - aconst_null - areturn -.end method - -.method public static test3(I[I)Ljava/lang/Object; - .limit locals 3 - .limit stack 3 - - aconst_null - astore 2 - -frotz: - aload_2 - ifnonnull fizmo - - aload_1 - astore_2 - goto frotz - -fizmo: - aload_2 - iconst_0 - iaload - iload_0 - if_icmpge zorch - - nop - -zorch: - aconst_null - areturn -.end method diff --git a/dx/tests/109-int-branch/expected.txt b/dx/tests/109-int-branch/expected.txt deleted file mode 100644 index d73bfa0ee..000000000 --- a/dx/tests/109-int-branch/expected.txt +++ /dev/null @@ -1,67 +0,0 @@ -Generated: ./blort.class -blort.test1:(ZBCSI[I)V: -regs: 000f; ins: 0006; outs: 0000 - 0000: move v0, v9 - 0001: move v1, v10 - 0002: move v2, v11 - 0003: move v3, v12 - 0004: move v4, v13 - 0005: move-object v5, v14 - 0006: move v6, v0 - 0007: move v7, v1 - 0008: if-eq v6, v7, 0021 // +0019 - 000a: move v6, v2 - 000b: move v7, v3 - 000c: if-ne v6, v7, 0021 // +0015 - 000e: move v6, v4 - 000f: move-object v7, v5 - 0010: const/4 v8, #int 0 // #0 - 0011: aget v7, v7, v8 - 0013: if-lt v6, v7, 0021 // +000e - 0015: move-object v6, v5 - 0016: const/4 v7, #int 0 // #0 - 0017: aget v6, v6, v7 - 0019: move v7, v0 - 001a: if-gt v6, v7, 0021 // +0007 - 001c: move v6, v4 - 001d: move v7, v1 - 001e: if-ge v6, v7, 0021 // +0003 - 0020: nop - 0021: return-void - source file: "blort.j" -blort.test2:(I)Ljava/lang/Object;: -regs: 0005; ins: 0001; outs: 0000 - 0000: move v0, v4 - 0001: const/4 v2, #null // #0 - 0002: move-object v1, v2 - 0003: move-object v2, v1 - 0004: const/4 v3, #int 0 // #0 - 0005: aget-object v2, v2, v3 - 0007: move v3, v0 - 0008: if-ge v2, v3, 000b // +0003 - 000a: nop - 000b: const/4 v2, #null // #0 - 000c: move-object v0, v2 - 000d: return-object v0 - source file: "blort.j" -blort.test3:(I[I)Ljava/lang/Object;: -regs: 0007; ins: 0002; outs: 0000 - 0000: move v0, v5 - 0001: move-object v1, v6 - 0002: const/4 v3, #null // #0 - 0003: move-object v2, v3 - 0004: move-object v3, v2 - 0005: if-nez v3, 000a // +0005 - 0007: move-object v3, v1 - 0008: move-object v2, v3 - 0009: goto 0004 // -0005 - 000a: move-object v3, v2 - 000b: const/4 v4, #int 0 // #0 - 000c: aget v3, v3, v4 - 000e: move v4, v0 - 000f: if-ge v3, v4, 0012 // +0003 - 0011: nop - 0012: const/4 v3, #null // #0 - 0013: move-object v0, v3 - 0014: return-object v0 - source file: "blort.j" diff --git a/dx/tests/109-int-branch/info.txt b/dx/tests/109-int-branch/info.txt deleted file mode 100644 index e650a1211..000000000 --- a/dx/tests/109-int-branch/info.txt +++ /dev/null @@ -1,6 +0,0 @@ -This tests that an int branch with valid arguments is properly translated. -(Regression test.) - -This test compares emitted code against a known-good (via eyeballing) -version, so it is possible for this test to spuriously fail if other -aspects of conversion end up altering the output in innocuous ways. diff --git a/dx/tests/109-int-branch/run b/dx/tests/109-int-branch/run deleted file mode 100644 index 68b17ea8c..000000000 --- a/dx/tests/109-int-branch/run +++ /dev/null @@ -1,18 +0,0 @@ -#!/bin/bash -# -# Copyright (C) 2008 The Android Open Source Project -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -jasmin -d . blort.j -dx --debug --dex --no-optimize --dump-method="blort.test*" blort.class diff --git a/dx/tests/110-dex-preserve-this/Blort.java b/dx/tests/110-dex-preserve-this/Blort.java deleted file mode 100644 index e2965b331..000000000 --- a/dx/tests/110-dex-preserve-this/Blort.java +++ /dev/null @@ -1,26 +0,0 @@ -/* - * Copyright (C) 2009 The Android Open Source Project - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -public class Blort { - public int test() { - Object z = ""; - Number t = new Integer(3); - if (z instanceof Integer) { - return 3; - } - return ((Integer) t); - } -} diff --git a/dx/tests/110-dex-preserve-this/expected.txt b/dx/tests/110-dex-preserve-this/expected.txt deleted file mode 100644 index e91d4bfae..000000000 --- a/dx/tests/110-dex-preserve-this/expected.txt +++ /dev/null @@ -1 +0,0 @@ -this: v4 diff --git a/dx/tests/110-dex-preserve-this/info.txt b/dx/tests/110-dex-preserve-this/info.txt deleted file mode 100644 index 913c196ec..000000000 --- a/dx/tests/110-dex-preserve-this/info.txt +++ /dev/null @@ -1,10 +0,0 @@ -This is a smoke test of dex conversion, which checks to see that a -"this" argument is never reused for a temporary. (Background: Popular -debuggers will get confused if "this" is reused, and it arguably -should be the case that the target object of an instance method being -executed ought never be gc'ed anyway, and overwriting "this" could in -fact cause that to happen.) - -This test compares emitted code against a known-good (via eyeballing) -version, so it is possible for this test to spuriously fail if other -aspects of conversion end up altering the output in innocuous ways. diff --git a/dx/tests/110-dex-preserve-this/run b/dx/tests/110-dex-preserve-this/run deleted file mode 100644 index 9770237f3..000000000 --- a/dx/tests/110-dex-preserve-this/run +++ /dev/null @@ -1,41 +0,0 @@ -#!/bin/bash -# -# Copyright (C) 2009 The Android Open Source Project -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -$JAVAC -g -d . Blort.java -dx --debug --dex --positions=none \ - --dump-to=dump.txt --dump-method="Blort.test" *.class - -cat dump.txt | awk ' -BEGIN { - thisReg = "BOGUS"; -} -# Find the number of registers; in this case the last register is "this". -/^regs:/ { - regs = substr($2, 4, 1); - thisReg = "v" (regs - 1); - printf("this: %s\n", thisReg); -} -# Output any lines that mention the "this" register. -{ - count = split($0, words, /,? */); - for (i = 1; i <= count; i++) { - if (words[i] == thisReg) { - printf("%s\n", $0); - break; - } - } -} -'
\ No newline at end of file diff --git a/dx/tests/run-all-tests b/dx/tests/run-all-tests deleted file mode 100755 index 1ade7616d..000000000 --- a/dx/tests/run-all-tests +++ /dev/null @@ -1,58 +0,0 @@ -#!/bin/bash -# -# Copyright (C) 2007 The Android Open Source Project -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -# Set up prog to be the path of this script, including following symlinks, -# and set up progdir to be the fully-qualified pathname of its directory. -prog="$0" -while [ -h "${prog}" ]; do - newProg=`/bin/ls -ld "${prog}"` - newProg=`expr "${newProg}" : ".* -> \(.*\)$"` - if expr "x${newProg}" : 'x/' >/dev/null; then - prog="${newProg}" - else - progdir=`dirname "${prog}"` - prog="${progdir}/${newProg}" - fi -done -oldwd=`pwd` -progdir=`dirname "${prog}"` -cd "${progdir}" -progdir=`pwd` -prog="${progdir}"/`basename "${prog}"` - -passed=0 -failed=0 -failNames="" - -for i in *; do - if [ -d "$i" -a -r "$i" ]; then - ./run-test "$i" - if [ "$?" = "0" ]; then - ((passed += 1)) - else - ((failed += 1)) - failNames="$failNames $i" - fi - fi -done - -echo "passed: $passed test(s)" -echo "failed: $failed test(s)" - -for i in $failNames; do - echo "failed: $i" -done - diff --git a/dx/tests/run-test b/dx/tests/run-test deleted file mode 100755 index a9221de1d..000000000 --- a/dx/tests/run-test +++ /dev/null @@ -1,149 +0,0 @@ -#!/bin/bash -# -# Copyright (C) 2007 The Android Open Source Project -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -# Set up prog to be the path of this script, including following symlinks, -# and set up progdir to be the fully-qualified pathname of its directory. -prog="$0" -while [ -h "${prog}" ]; do - newProg=`/bin/ls -ld "${prog}"` - newProg=`expr "${newProg}" : ".* -> \(.*\)$"` - if expr "x${newProg}" : 'x/' >/dev/null; then - prog="${newProg}" - else - progdir=`dirname "${prog}"` - prog="${progdir}/${newProg}" - fi -done -oldwd=`pwd` -progdir=`dirname "${prog}"` -cd "${progdir}" -progdir=`pwd` -prog="${progdir}"/`basename "${prog}"` - -export JAVAC="${progdir}/../../../prebuilt/common/openjdk/bin/javac" -if [ "!" -e "$JAVAC" ]; then - JAVAC="javac" -fi - -info="info.txt" -run="run" -expected="expected.txt" -output="out.txt" - -dev_mode="no" -if [ "x$1" = "x--dev" ]; then - dev_mode="yes" - shift -fi - -update_mode="no" -if [ "x$1" = "x--update" ]; then - update_mode="yes" - shift -fi - -usage="no" -if [ "x$1" = "x--help" ]; then - usage="yes" -else - if [ "x$1" = "x" ]; then - testdir=`basename "$oldwd"` - else - testdir="$1" - fi - - if [ '!' -d "$testdir" ]; then - td2=`echo ${testdir}-*` - if [ '!' -d "$td2" ]; then - echo "${testdir}: no such test directory" 1>&2 - usage="yes" - fi - testdir="$td2" - fi -fi - -if [ "$usage" = "yes" ]; then - prog=`basename $prog` - ( - echo "usage:" - echo " $prog --help Print this message." - echo " $prog testname Run test normally." - echo " $prog --dev testname Development mode (dump to stdout)." - echo " $prog --update testname Update mode (replace expected.txt)." - echo " Omitting the test name uses the current directory as the test." - ) 1>&2 - exit 1 -fi - -td_info="$testdir"/"$info" -td_run="$testdir"/"$run" -td_expected="$testdir"/"$expected" - -tmpdir=/tmp/test-$$ - -if [ '!' '(' -r "$td_info" -a -r "$td_run" -a -r "$td_expected" ')' ]; then - echo "${testdir}: missing files" 1>&2 - exit 1 -fi - -# copy the test to a temp dir and run it - -echo "${testdir}: running..." 1>&2 - -rm -rf "$tmpdir" -cp -Rp "$testdir" "$tmpdir" -cd "$tmpdir" -chmod 755 "$run" - -#PATH="${progdir}/../build/bin:${PATH}" - -good="no" -if [ "$dev_mode" = "yes" ]; then - "./$run" 2>&1 - echo "exit status: $?" 1>&2 - good="yes" -elif [ "$update_mode" = "yes" ]; then - "./$run" >"${progdir}/$td_expected" 2>&1 - good="yes" -else - "./$run" >"$output" 2>&1 - cmp -s "$expected" "$output" - if [ "$?" = "0" ]; then - # output == expected - good="yes" - echo "$testdir"': succeeded!' 1>&2 - fi -fi - -if [ "$good" = "yes" ]; then - cd "$oldwd" - rm -rf "$tmpdir" - exit 0 -fi - -( - echo "${testdir}: FAILED!" - echo ' ' - echo '#################### info' - cat "$info" | sed 's/^/# /g' - echo '#################### diffs' - diff -u "$expected" "$output" - echo '####################' - echo ' ' - echo "files left in $tmpdir" -) 1>&2 - -exit 1 |