New branch for vm-tests that use cts-tf framework.
Change-Id: I9927dc09027fc2298a1b1f7ee6c918ed1d36723a
diff --git a/tools/vm-tests-tf/src/dot/junit/opcodes/iget_char/TestStubs.java b/tools/vm-tests-tf/src/dot/junit/opcodes/iget_char/TestStubs.java
new file mode 100644
index 0000000..5bf73ae
--- /dev/null
+++ b/tools/vm-tests-tf/src/dot/junit/opcodes/iget_char/TestStubs.java
@@ -0,0 +1,24 @@
+/*
+ * Copyright (C) 2008 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT 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 dot.junit.opcodes.iget_char;
+
+public class TestStubs {
+ // used by testVFE4
+ private char TestStubField = 50;
+ // ussed by testVFE15
+ protected char TestStubProtectedField = 50;
+}
diff --git a/tools/vm-tests-tf/src/dot/junit/opcodes/iget_char/Test_iget_char.java b/tools/vm-tests-tf/src/dot/junit/opcodes/iget_char/Test_iget_char.java
new file mode 100644
index 0000000..c7516e8
--- /dev/null
+++ b/tools/vm-tests-tf/src/dot/junit/opcodes/iget_char/Test_iget_char.java
@@ -0,0 +1,304 @@
+/*
+ * Copyright (C) 2008 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT 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 dot.junit.opcodes.iget_char;
+
+import dot.junit.DxTestCase;
+import dot.junit.DxUtil;
+import dot.junit.opcodes.iget_char.d.T_iget_char_1;
+import dot.junit.opcodes.iget_char.d.T_iget_char_11;
+import dot.junit.opcodes.iget_char.d.T_iget_char_12;
+import dot.junit.opcodes.iget_char.d.T_iget_char_13;
+import dot.junit.opcodes.iget_char.d.T_iget_char_21;
+import dot.junit.opcodes.iget_char.d.T_iget_char_5;
+import dot.junit.opcodes.iget_char.d.T_iget_char_6;
+import dot.junit.opcodes.iget_char.d.T_iget_char_7;
+import dot.junit.opcodes.iget_char.d.T_iget_char_8;
+import dot.junit.opcodes.iget_char.d.T_iget_char_9;
+
+public class Test_iget_char extends DxTestCase {
+
+ /**
+ * @title get char from field
+ */
+ public void testN1() {
+ T_iget_char_1 t = new T_iget_char_1();
+ assertEquals(77, t.run());
+ }
+
+
+ /**
+ * @title access protected field from subclass
+ */
+ public void testN3() {
+ //@uses dot.junit.opcodes.iget_char.d.T_iget_char_1
+ //@uses dot.junit.opcodes.iget_char.d.T_iget_char_11
+ T_iget_char_11 t = new T_iget_char_11();
+ assertEquals(77, t.run());
+ }
+
+ /**
+ * @title expected NullPointerException
+ */
+ public void testE2() {
+ T_iget_char_9 t = new T_iget_char_9();
+ try {
+ t.run();
+ fail("expected NullPointerException");
+ } catch (NullPointerException e) {
+ // expected
+ }
+ }
+
+
+ /**
+ * @constraint A11
+ * @title constant pool index
+ */
+ public void testVFE1() {
+ try {
+ Class.forName("dot.junit.opcodes.iget_char.d.T_iget_char_4");
+ fail("expected a verification exception");
+ } catch (Throwable t) {
+ DxUtil.checkVerifyException(t);
+ }
+ }
+
+ /**
+ *
+ * @constraint A23
+ * @title number of registers
+ */
+ public void testVFE2() {
+ try {
+ Class.forName("dot.junit.opcodes.iget_char.d.T_iget_char_3");
+ fail("expected a verification exception");
+ } catch (Throwable t) {
+ DxUtil.checkVerifyException(t);
+ }
+ }
+
+ /**
+ *
+ * @constraint B13
+ * @title read char from long field - only field with same name but
+ * different type exists
+ */
+ public void testVFE3() {
+ try {
+ new T_iget_char_13().run();
+ fail("expected a NoSuchFieldError exception");
+ } catch (NoSuchFieldError t) {
+ // expected
+ }
+ }
+
+ /**
+ * @constraint n/a
+ * @title Attempt to read inaccessible field.
+ */
+ public void testVFE4() {
+ //@uses dot.junit.opcodes.iget_char.d.T_iget_char_6
+ //@uses dot.junit.opcodes.iget_char.TestStubs
+ try {
+ new T_iget_char_6().run();
+ fail("expected an IllegalAccessError exception");
+ } catch (IllegalAccessError t) {
+ // expected
+ }
+ }
+
+ /**
+ * @constraint n/a
+ * @title Attempt to read field of undefined class.
+ */
+ public void testVFE5() {
+ try {
+ new T_iget_char_7().run();
+ fail("expected a NoClassDefFoundError exception");
+ } catch (NoClassDefFoundError t) {
+ // expected
+ }
+ }
+
+ /**
+ * @constraint n/a
+ * @title Attempt to read undefined field.
+ */
+ public void testVFE6() {
+ try {
+ new T_iget_char_8().run();
+ fail("expected a NoSuchFieldError exception");
+ } catch (NoSuchFieldError t) {
+ // expected
+ }
+ }
+
+ /**
+ * @constraint n/a
+ * @title Attempt to read superclass' private field from subclass.
+ */
+ public void testVFE7() {
+ //@uses dot.junit.opcodes.iget_char.d.T_iget_char_12
+ //@uses dot.junit.opcodes.iget_char.d.T_iget_char_1
+ try {
+ new T_iget_char_12().run();
+ fail("expected an IllegalAccessError exception");
+ } catch (IllegalAccessError t) {
+ // expected
+ }
+ }
+
+ /**
+ * @constraint B1
+ * @title iget_char shall not work for reference fields
+ */
+ public void testVFE8() {
+ try {
+ Class.forName("dot.junit.opcodes.iget_char.d.T_iget_char_14");
+ fail("expected a verification exception");
+ } catch (Throwable t) {
+ DxUtil.checkVerifyException(t);
+ }
+ }
+
+ /**
+ *
+ * @constraint B1
+ * @title iget_char shall not work for short fields
+ */
+ public void testVFE9() {
+ try {
+ Class.forName("dot.junit.opcodes.iget_char.d.T_iget_char_15");
+ fail("expected a verification exception");
+ } catch (Throwable t) {
+ DxUtil.checkVerifyException(t);
+ }
+ }
+
+ /**
+ *
+ * @constraint B1
+ * @title iget_char shall not work for int fields
+ */
+ public void testVFE10() {
+ try {
+ Class.forName("dot.junit.opcodes.iget_char.d.T_iget_char_16");
+ fail("expected a verification exception");
+ } catch (Throwable t) {
+ DxUtil.checkVerifyException(t);
+ }
+ }
+
+ /**
+ *
+ * @constraint B1
+ * @title iget_char shall not work for byte fields
+ */
+ public void testVFE11() {
+ try {
+ Class.forName("dot.junit.opcodes.iget_char.d.T_iget_char_17");
+ fail("expected a verification exception");
+ } catch (Throwable t) {
+ DxUtil.checkVerifyException(t);
+ }
+ }
+
+ /**
+ *
+ * @constraint B1
+ * @title iget_char shall not work for boolean fields
+ */
+ public void testVFE12() {
+ try {
+ Class.forName("dot.junit.opcodes.iget_char.d.T_iget_char_18");
+ fail("expected a verification exception");
+ } catch (Throwable t) {
+ DxUtil.checkVerifyException(t);
+ }
+ }
+
+ /**
+ * @constraint B1
+ * @title iget_char shall not work for double fields
+ */
+ public void testVFE13() {
+ try {
+ Class.forName("dot.junit.opcodes.iget_char.d.T_iget_char_19");
+ fail("expected a verification exception");
+ } catch (Throwable t) {
+ DxUtil.checkVerifyException(t);
+ }
+ }
+
+ /**
+ * @constraint B1
+ * @title iget_char shall not work for long fields
+ */
+ public void testVFE14() {
+ try {
+ Class.forName("dot.junit.opcodes.iget_char.d.T_iget_char_20");
+ fail("expected a verification exception");
+ } catch (Throwable t) {
+ DxUtil.checkVerifyException(t);
+ }
+ }
+
+ /**
+ * @constraint B12
+ * @title Attempt to read inaccessible protected field.
+ */
+ public void testVFE15() {
+ //@uses dot.junit.opcodes.iget_char.d.T_iget_char_21
+ //@uses dot.junit.opcodes.iget_char.TestStubs
+ try {
+ new T_iget_char_21().run();
+ fail("expected an IllegalAccessError exception");
+ } catch (IllegalAccessError t) {
+ // expected
+ }
+ }
+
+
+ /**
+ * @constraint A11
+ * @title Attempt to read static field.
+ */
+ public void testVFE16() {
+ //@uses dot.junit.opcodes.iget_char.d.T_iget_char_5
+ //@uses dot.junit.opcodes.iget_char.TestStubs
+ try {
+ new T_iget_char_5().run();
+ fail("expected an IncompatibleClassChangeError exception");
+ } catch (IncompatibleClassChangeError t) {
+ // expected
+ }
+ }
+
+
+ /**
+ * @constraint B6
+ * @title instance fields may only be accessed on already initialized instances.
+ */
+ public void testVFE30() {
+ try {
+ Class.forName("dot.junit.opcodes.iget_char.d.T_iget_char_30");
+ fail("expected a verification exception");
+ } catch (Throwable t) {
+ DxUtil.checkVerifyException(t);
+ }
+ }
+}
diff --git a/tools/vm-tests-tf/src/dot/junit/opcodes/iget_char/d/T_iget_char_1.d b/tools/vm-tests-tf/src/dot/junit/opcodes/iget_char/d/T_iget_char_1.d
new file mode 100644
index 0000000..837dd6b
--- /dev/null
+++ b/tools/vm-tests-tf/src/dot/junit/opcodes/iget_char/d/T_iget_char_1.d
@@ -0,0 +1,49 @@
+; Copyright (C) 2008 The Android Open Source Project
+;
+; Licensed under the Apache License, Version 2.0 (the "License");
+; you may not use this file except in compliance with the License.
+; You may obtain a copy of the License at
+;
+; http://www.apache.org/licenses/LICENSE-2.0
+;
+; Unless required by applicable law or agreed to in writing, software
+; distributed under the License is distributed on an "AS IS" BASIS,
+; WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+; See the License for the specific language governing permissions and
+; limitations under the License.
+
+.source T_iget_char_1.java
+.class public dot.junit.opcodes.iget_char.d.T_iget_char_1
+.super java/lang/Object
+
+.field public i1 C
+.field protected p1 C
+.field private pvt1 C
+
+
+.method public <init>()V
+.limit regs 2
+
+ invoke-direct {v1}, java/lang/Object/<init>()V
+
+ const v0, 77
+ iput-char v0, v1, dot.junit.opcodes.iget_char.d.T_iget_char_1.i1 C
+
+ const v0, 77
+ iput-char v0, v1, dot.junit.opcodes.iget_char.d.T_iget_char_1.p1 C
+
+ const v0, 77
+ iput-char v0, v1, dot.junit.opcodes.iget_char.d.T_iget_char_1.pvt1 C
+
+
+ return-void
+.end method
+
+.method public run()C
+.limit regs 3
+
+ iget-char v1, v2, dot.junit.opcodes.iget_char.d.T_iget_char_1.i1 C
+ return v1
+.end method
+
+
diff --git a/tools/vm-tests-tf/src/dot/junit/opcodes/iget_char/d/T_iget_char_1.java b/tools/vm-tests-tf/src/dot/junit/opcodes/iget_char/d/T_iget_char_1.java
new file mode 100644
index 0000000..227f97a
--- /dev/null
+++ b/tools/vm-tests-tf/src/dot/junit/opcodes/iget_char/d/T_iget_char_1.java
@@ -0,0 +1,27 @@
+/*
+ * Copyright (C) 2008 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT 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 dot.junit.opcodes.iget_char.d;
+
+public class T_iget_char_1 {
+ public char i1 = 77;
+ protected char p1 = 77;
+ private char pvt1 = 77;
+
+ public char run(){
+ return i1;
+ }
+}
diff --git a/tools/vm-tests-tf/src/dot/junit/opcodes/iget_char/d/T_iget_char_11.d b/tools/vm-tests-tf/src/dot/junit/opcodes/iget_char/d/T_iget_char_11.d
new file mode 100644
index 0000000..9d74992
--- /dev/null
+++ b/tools/vm-tests-tf/src/dot/junit/opcodes/iget_char/d/T_iget_char_11.d
@@ -0,0 +1,34 @@
+; Copyright (C) 2008 The Android Open Source Project
+;
+; Licensed under the Apache License, Version 2.0 (the "License");
+; you may not use this file except in compliance with the License.
+; You may obtain a copy of the License at
+;
+; http://www.apache.org/licenses/LICENSE-2.0
+;
+; Unless required by applicable law or agreed to in writing, software
+; distributed under the License is distributed on an "AS IS" BASIS,
+; WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+; See the License for the specific language governing permissions and
+; limitations under the License.
+
+.source T_iget_char_11.java
+.class public dot.junit.opcodes.iget_char.d.T_iget_char_11
+.super dot/junit/opcodes/iget_char/d/T_iget_char_1
+
+
+.method public <init>()V
+.limit regs 1
+
+ invoke-direct {v0}, dot/junit/opcodes/iget_char/d/T_iget_char_1/<init>()V
+ return-void
+.end method
+
+.method public run()C
+.limit regs 3
+
+ iget-char v1, v2, dot.junit.opcodes.iget_char.d.T_iget_char_1.p1 C
+ return v1
+.end method
+
+
diff --git a/tools/vm-tests-tf/src/dot/junit/opcodes/iget_char/d/T_iget_char_11.java b/tools/vm-tests-tf/src/dot/junit/opcodes/iget_char/d/T_iget_char_11.java
new file mode 100644
index 0000000..cdd08a7
--- /dev/null
+++ b/tools/vm-tests-tf/src/dot/junit/opcodes/iget_char/d/T_iget_char_11.java
@@ -0,0 +1,24 @@
+/*
+ * Copyright (C) 2008 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT 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 dot.junit.opcodes.iget_char.d;
+
+public class T_iget_char_11 extends T_iget_char_1 {
+
+ public char run(){
+ return p1;
+ }
+}
diff --git a/tools/vm-tests-tf/src/dot/junit/opcodes/iget_char/d/T_iget_char_12.d b/tools/vm-tests-tf/src/dot/junit/opcodes/iget_char/d/T_iget_char_12.d
new file mode 100644
index 0000000..5194ff9
--- /dev/null
+++ b/tools/vm-tests-tf/src/dot/junit/opcodes/iget_char/d/T_iget_char_12.d
@@ -0,0 +1,34 @@
+; Copyright (C) 2008 The Android Open Source Project
+;
+; Licensed under the Apache License, Version 2.0 (the "License");
+; you may not use this file except in compliance with the License.
+; You may obtain a copy of the License at
+;
+; http://www.apache.org/licenses/LICENSE-2.0
+;
+; Unless required by applicable law or agreed to in writing, software
+; distributed under the License is distributed on an "AS IS" BASIS,
+; WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+; See the License for the specific language governing permissions and
+; limitations under the License.
+
+.source T_iget_char_12.java
+.class public dot.junit.opcodes.iget_char.d.T_iget_char_12
+.super dot/junit/opcodes/iget_char/d/T_iget_char_1
+
+
+.method public <init>()V
+.limit regs 1
+
+ invoke-direct {v0}, dot/junit/opcodes/iget_char/d/T_iget_char_1/<init>()V
+ return-void
+.end method
+
+.method public run()C
+.limit regs 3
+
+ iget-char v1, v2, dot.junit.opcodes.iget_char.d.T_iget_char_1.pvt1 C
+ return v1
+.end method
+
+
diff --git a/tools/vm-tests-tf/src/dot/junit/opcodes/iget_char/d/T_iget_char_12.java b/tools/vm-tests-tf/src/dot/junit/opcodes/iget_char/d/T_iget_char_12.java
new file mode 100644
index 0000000..611b24b
--- /dev/null
+++ b/tools/vm-tests-tf/src/dot/junit/opcodes/iget_char/d/T_iget_char_12.java
@@ -0,0 +1,25 @@
+/*
+ * Copyright (C) 2010 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package dot.junit.opcodes.iget_char.d;
+
+public class T_iget_char_12 extends T_iget_char_1 {
+
+ @Override
+ public char run() {
+ return 0;
+ }
+}
diff --git a/tools/vm-tests-tf/src/dot/junit/opcodes/iget_char/d/T_iget_char_13.d b/tools/vm-tests-tf/src/dot/junit/opcodes/iget_char/d/T_iget_char_13.d
new file mode 100644
index 0000000..a7f5e58
--- /dev/null
+++ b/tools/vm-tests-tf/src/dot/junit/opcodes/iget_char/d/T_iget_char_13.d
@@ -0,0 +1,35 @@
+; Copyright (C) 2008 The Android Open Source Project
+;
+; Licensed under the Apache License, Version 2.0 (the "License");
+; you may not use this file except in compliance with the License.
+; You may obtain a copy of the License at
+;
+; http://www.apache.org/licenses/LICENSE-2.0
+;
+; Unless required by applicable law or agreed to in writing, software
+; distributed under the License is distributed on an "AS IS" BASIS,
+; WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+; See the License for the specific language governing permissions and
+; limitations under the License.
+
+.source T_iget_char_13.java
+.class public dot.junit.opcodes.iget_char.d.T_iget_char_13
+.super java/lang/Object
+
+.field public i1 J
+
+.method public <init>()V
+.limit regs 1
+
+ invoke-direct {v0}, java/lang/Object/<init>()V
+ return-void
+.end method
+
+.method public run()V
+.limit regs 3
+
+ iget-char v0, v2, dot.junit.opcodes.iget_char.d.T_iget_char_13.i1 C
+ return-void
+.end method
+
+
diff --git a/tools/vm-tests-tf/src/dot/junit/opcodes/iget_char/d/T_iget_char_13.java b/tools/vm-tests-tf/src/dot/junit/opcodes/iget_char/d/T_iget_char_13.java
new file mode 100644
index 0000000..33cae33
--- /dev/null
+++ b/tools/vm-tests-tf/src/dot/junit/opcodes/iget_char/d/T_iget_char_13.java
@@ -0,0 +1,23 @@
+/*
+ * Copyright (C) 2010 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package dot.junit.opcodes.iget_char.d;
+
+public class T_iget_char_13 {
+
+ public void run() {
+ }
+}
diff --git a/tools/vm-tests-tf/src/dot/junit/opcodes/iget_char/d/T_iget_char_14.d b/tools/vm-tests-tf/src/dot/junit/opcodes/iget_char/d/T_iget_char_14.d
new file mode 100644
index 0000000..46f0e20
--- /dev/null
+++ b/tools/vm-tests-tf/src/dot/junit/opcodes/iget_char/d/T_iget_char_14.d
@@ -0,0 +1,35 @@
+; Copyright (C) 2008 The Android Open Source Project
+;
+; Licensed under the Apache License, Version 2.0 (the "License");
+; you may not use this file except in compliance with the License.
+; You may obtain a copy of the License at
+;
+; http://www.apache.org/licenses/LICENSE-2.0
+;
+; Unless required by applicable law or agreed to in writing, software
+; distributed under the License is distributed on an "AS IS" BASIS,
+; WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+; See the License for the specific language governing permissions and
+; limitations under the License.
+
+.source T_iget_char_14.java
+.class public dot.junit.opcodes.iget_char.d.T_iget_char_14
+.super java/lang/Object
+
+.field public i1 Ljava/lang/Object;
+
+.method public <init>()V
+.limit regs 1
+
+ invoke-direct {v0}, java/lang/Object/<init>()V
+ return-void
+.end method
+
+.method public run()V
+.limit regs 3
+
+ iget-char v0, v2, dot.junit.opcodes.iget_char.d.T_iget_char_14.i1 Ljava/lang/Object;
+ return-void
+.end method
+
+
diff --git a/tools/vm-tests-tf/src/dot/junit/opcodes/iget_char/d/T_iget_char_15.d b/tools/vm-tests-tf/src/dot/junit/opcodes/iget_char/d/T_iget_char_15.d
new file mode 100644
index 0000000..e8c7195
--- /dev/null
+++ b/tools/vm-tests-tf/src/dot/junit/opcodes/iget_char/d/T_iget_char_15.d
@@ -0,0 +1,35 @@
+; Copyright (C) 2008 The Android Open Source Project
+;
+; Licensed under the Apache License, Version 2.0 (the "License");
+; you may not use this file except in compliance with the License.
+; You may obtain a copy of the License at
+;
+; http://www.apache.org/licenses/LICENSE-2.0
+;
+; Unless required by applicable law or agreed to in writing, software
+; distributed under the License is distributed on an "AS IS" BASIS,
+; WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+; See the License for the specific language governing permissions and
+; limitations under the License.
+
+.source T_iget_char_15.java
+.class public dot.junit.opcodes.iget_char.d.T_iget_char_15
+.super java/lang/Object
+
+.field public i1 S
+
+.method public <init>()V
+.limit regs 1
+
+ invoke-direct {v0}, java/lang/Object/<init>()V
+ return-void
+.end method
+
+.method public run()V
+.limit regs 3
+
+ iget-char v0, v2, dot.junit.opcodes.iget_char.d.T_iget_char_15.i1 S
+ return-void
+.end method
+
+
diff --git a/tools/vm-tests-tf/src/dot/junit/opcodes/iget_char/d/T_iget_char_16.d b/tools/vm-tests-tf/src/dot/junit/opcodes/iget_char/d/T_iget_char_16.d
new file mode 100644
index 0000000..34dbaf0
--- /dev/null
+++ b/tools/vm-tests-tf/src/dot/junit/opcodes/iget_char/d/T_iget_char_16.d
@@ -0,0 +1,35 @@
+; Copyright (C) 2008 The Android Open Source Project
+;
+; Licensed under the Apache License, Version 2.0 (the "License");
+; you may not use this file except in compliance with the License.
+; You may obtain a copy of the License at
+;
+; http://www.apache.org/licenses/LICENSE-2.0
+;
+; Unless required by applicable law or agreed to in writing, software
+; distributed under the License is distributed on an "AS IS" BASIS,
+; WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+; See the License for the specific language governing permissions and
+; limitations under the License.
+
+.source T_iget_char_16.java
+.class public dot.junit.opcodes.iget_char.d.T_iget_char_16
+.super java/lang/Object
+
+.field public i1 I
+
+.method public <init>()V
+.limit regs 1
+
+ invoke-direct {v0}, java/lang/Object/<init>()V
+ return-void
+.end method
+
+.method public run()V
+.limit regs 3
+
+ iget-char v0, v2, dot.junit.opcodes.iget_char.d.T_iget_char_16.i1 I
+ return-void
+.end method
+
+
diff --git a/tools/vm-tests-tf/src/dot/junit/opcodes/iget_char/d/T_iget_char_17.d b/tools/vm-tests-tf/src/dot/junit/opcodes/iget_char/d/T_iget_char_17.d
new file mode 100644
index 0000000..cde1b06
--- /dev/null
+++ b/tools/vm-tests-tf/src/dot/junit/opcodes/iget_char/d/T_iget_char_17.d
@@ -0,0 +1,35 @@
+; Copyright (C) 2008 The Android Open Source Project
+;
+; Licensed under the Apache License, Version 2.0 (the "License");
+; you may not use this file except in compliance with the License.
+; You may obtain a copy of the License at
+;
+; http://www.apache.org/licenses/LICENSE-2.0
+;
+; Unless required by applicable law or agreed to in writing, software
+; distributed under the License is distributed on an "AS IS" BASIS,
+; WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+; See the License for the specific language governing permissions and
+; limitations under the License.
+
+.source T_iget_char_17.java
+.class public dot.junit.opcodes.iget_char.d.T_iget_char_17
+.super java/lang/Object
+
+.field public i1 B
+
+.method public <init>()V
+.limit regs 1
+
+ invoke-direct {v0}, java/lang/Object/<init>()V
+ return-void
+.end method
+
+.method public run()V
+.limit regs 3
+
+ iget-char v0, v2, dot.junit.opcodes.iget_char.d.T_iget_char_17.i1 B
+ return-void
+.end method
+
+
diff --git a/tools/vm-tests-tf/src/dot/junit/opcodes/iget_char/d/T_iget_char_18.d b/tools/vm-tests-tf/src/dot/junit/opcodes/iget_char/d/T_iget_char_18.d
new file mode 100644
index 0000000..f32f364
--- /dev/null
+++ b/tools/vm-tests-tf/src/dot/junit/opcodes/iget_char/d/T_iget_char_18.d
@@ -0,0 +1,35 @@
+; Copyright (C) 2008 The Android Open Source Project
+;
+; Licensed under the Apache License, Version 2.0 (the "License");
+; you may not use this file except in compliance with the License.
+; You may obtain a copy of the License at
+;
+; http://www.apache.org/licenses/LICENSE-2.0
+;
+; Unless required by applicable law or agreed to in writing, software
+; distributed under the License is distributed on an "AS IS" BASIS,
+; WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+; See the License for the specific language governing permissions and
+; limitations under the License.
+
+.source T_iget_char_18.java
+.class public dot.junit.opcodes.iget_char.d.T_iget_char_18
+.super java/lang/Object
+
+.field public i1 Z
+
+.method public <init>()V
+.limit regs 1
+
+ invoke-direct {v0}, java/lang/Object/<init>()V
+ return-void
+.end method
+
+.method public run()V
+.limit regs 3
+
+ iget-char v0, v2, dot.junit.opcodes.iget_char.d.T_iget_char_18.i1 Z
+ return-void
+.end method
+
+
diff --git a/tools/vm-tests-tf/src/dot/junit/opcodes/iget_char/d/T_iget_char_19.d b/tools/vm-tests-tf/src/dot/junit/opcodes/iget_char/d/T_iget_char_19.d
new file mode 100644
index 0000000..5efa5ba
--- /dev/null
+++ b/tools/vm-tests-tf/src/dot/junit/opcodes/iget_char/d/T_iget_char_19.d
@@ -0,0 +1,35 @@
+; Copyright (C) 2008 The Android Open Source Project
+;
+; Licensed under the Apache License, Version 2.0 (the "License");
+; you may not use this file except in compliance with the License.
+; You may obtain a copy of the License at
+;
+; http://www.apache.org/licenses/LICENSE-2.0
+;
+; Unless required by applicable law or agreed to in writing, software
+; distributed under the License is distributed on an "AS IS" BASIS,
+; WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+; See the License for the specific language governing permissions and
+; limitations under the License.
+
+.source T_iget_char_19.java
+.class public dot.junit.opcodes.iget_char.d.T_iget_char_19
+.super java/lang/Object
+
+.field public i1 D
+
+.method public <init>()V
+.limit regs 1
+
+ invoke-direct {v0}, java/lang/Object/<init>()V
+ return-void
+.end method
+
+.method public run()V
+.limit regs 3
+
+ iget-char v0, v2, dot.junit.opcodes.iget_char.d.T_iget_char_19.i1 D
+ return-void
+.end method
+
+
diff --git a/tools/vm-tests-tf/src/dot/junit/opcodes/iget_char/d/T_iget_char_20.d b/tools/vm-tests-tf/src/dot/junit/opcodes/iget_char/d/T_iget_char_20.d
new file mode 100644
index 0000000..895f42e
--- /dev/null
+++ b/tools/vm-tests-tf/src/dot/junit/opcodes/iget_char/d/T_iget_char_20.d
@@ -0,0 +1,35 @@
+; Copyright (C) 2008 The Android Open Source Project
+;
+; Licensed under the Apache License, Version 2.0 (the "License");
+; you may not use this file except in compliance with the License.
+; You may obtain a copy of the License at
+;
+; http://www.apache.org/licenses/LICENSE-2.0
+;
+; Unless required by applicable law or agreed to in writing, software
+; distributed under the License is distributed on an "AS IS" BASIS,
+; WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+; See the License for the specific language governing permissions and
+; limitations under the License.
+
+.source T_iget_char_20.java
+.class public dot.junit.opcodes.iget_char.d.T_iget_char_20
+.super java/lang/Object
+
+.field public i1 J
+
+.method public <init>()V
+.limit regs 1
+
+ invoke-direct {v0}, java/lang/Object/<init>()V
+ return-void
+.end method
+
+.method public run()V
+.limit regs 3
+
+ iget-char v0, v2, dot.junit.opcodes.iget_char.d.T_iget_char_20.i1 J
+ return-void
+.end method
+
+
diff --git a/tools/vm-tests-tf/src/dot/junit/opcodes/iget_char/d/T_iget_char_21.d b/tools/vm-tests-tf/src/dot/junit/opcodes/iget_char/d/T_iget_char_21.d
new file mode 100644
index 0000000..4902259
--- /dev/null
+++ b/tools/vm-tests-tf/src/dot/junit/opcodes/iget_char/d/T_iget_char_21.d
@@ -0,0 +1,37 @@
+; Copyright (C) 2008 The Android Open Source Project
+;
+; Licensed under the Apache License, Version 2.0 (the "License");
+; you may not use this file except in compliance with the License.
+; You may obtain a copy of the License at
+;
+; http://www.apache.org/licenses/LICENSE-2.0
+;
+; Unless required by applicable law or agreed to in writing, software
+; distributed under the License is distributed on an "AS IS" BASIS,
+; WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+; See the License for the specific language governing permissions and
+; limitations under the License.
+
+.source T_iget_char_21.java
+.class public dot.junit.opcodes.iget_char.d.T_iget_char_21
+.super java/lang/Object
+
+
+.method public <init>()V
+.limit regs 1
+
+ invoke-direct {v0}, java/lang/Object/<init>()V
+ return-void
+.end method
+
+.method public run()C
+.limit regs 3
+
+ new-instance v0, Ldot/junit/opcodes/iget_char/TestStubs;
+ invoke-direct {v0}, dot/junit/opcodes/iget_char/TestStubs/<init>()V
+
+ iget-char v1, v0, dot.junit.opcodes.iget_char.TestStubs.TestStubProtectedField C
+ return v1
+.end method
+
+
diff --git a/tools/vm-tests-tf/src/dot/junit/opcodes/iget_char/d/T_iget_char_21.java b/tools/vm-tests-tf/src/dot/junit/opcodes/iget_char/d/T_iget_char_21.java
new file mode 100644
index 0000000..6517824
--- /dev/null
+++ b/tools/vm-tests-tf/src/dot/junit/opcodes/iget_char/d/T_iget_char_21.java
@@ -0,0 +1,24 @@
+/*
+ * Copyright (C) 2010 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package dot.junit.opcodes.iget_char.d;
+
+public class T_iget_char_21 {
+
+ public char run() {
+ return 0;
+ }
+}
diff --git a/tools/vm-tests-tf/src/dot/junit/opcodes/iget_char/d/T_iget_char_3.d b/tools/vm-tests-tf/src/dot/junit/opcodes/iget_char/d/T_iget_char_3.d
new file mode 100644
index 0000000..7838f58
--- /dev/null
+++ b/tools/vm-tests-tf/src/dot/junit/opcodes/iget_char/d/T_iget_char_3.d
@@ -0,0 +1,35 @@
+; Copyright (C) 2008 The Android Open Source Project
+;
+; Licensed under the Apache License, Version 2.0 (the "License");
+; you may not use this file except in compliance with the License.
+; You may obtain a copy of the License at
+;
+; http://www.apache.org/licenses/LICENSE-2.0
+;
+; Unless required by applicable law or agreed to in writing, software
+; distributed under the License is distributed on an "AS IS" BASIS,
+; WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+; See the License for the specific language governing permissions and
+; limitations under the License.
+
+.source T_iget_char_3.java
+.class public dot.junit.opcodes.iget_char.d.T_iget_char_3
+.super java/lang/Object
+
+.field public i1 C
+
+.method public <init>()V
+.limit regs 1
+
+ invoke-direct {v0}, java/lang/Object/<init>()V
+ return-void
+.end method
+
+.method public run()V
+.limit regs 3
+
+ iget-char v3, v2, dot.junit.opcodes.iget_char.d.T_iget_char_3.i1 C
+ return-void
+.end method
+
+
diff --git a/tools/vm-tests-tf/src/dot/junit/opcodes/iget_char/d/T_iget_char_30.d b/tools/vm-tests-tf/src/dot/junit/opcodes/iget_char/d/T_iget_char_30.d
new file mode 100644
index 0000000..bdc90d2
--- /dev/null
+++ b/tools/vm-tests-tf/src/dot/junit/opcodes/iget_char/d/T_iget_char_30.d
@@ -0,0 +1,32 @@
+; Copyright (C) 2008 The Android Open Source Project
+;
+; Licensed under the Apache License, Version 2.0 (the "License");
+; you may not use this file except in compliance with the License.
+; You may obtain a copy of the License at
+;
+; http://www.apache.org/licenses/LICENSE-2.0
+;
+; Unless required by applicable law or agreed to in writing, software
+; distributed under the License is distributed on an "AS IS" BASIS,
+; WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+; See the License for the specific language governing permissions and
+; limitations under the License.
+
+.source T_iget_char_30.java
+.class public dot.junit.opcodes.iget_char.d.T_iget_char_30
+.super java/lang/Object
+
+.field public st_i1 C
+
+.method public <init>()V
+.limit regs 1
+ invoke-direct {v0}, java/lang/Object/<init>()V
+ return-void
+.end method
+
+.method public run()V
+.limit regs 3
+ new-instance v0, dot/junit/opcodes/iget_char/d/T_iget_char_30
+ iget-char v1, v0, dot.junit.opcodes.iget_char.d.T_iget_char_30.st_i1 C
+.end method
+
diff --git a/tools/vm-tests-tf/src/dot/junit/opcodes/iget_char/d/T_iget_char_4.d b/tools/vm-tests-tf/src/dot/junit/opcodes/iget_char/d/T_iget_char_4.d
new file mode 100644
index 0000000..428c14b
--- /dev/null
+++ b/tools/vm-tests-tf/src/dot/junit/opcodes/iget_char/d/T_iget_char_4.d
@@ -0,0 +1,35 @@
+; Copyright (C) 2008 The Android Open Source Project
+;
+; Licensed under the Apache License, Version 2.0 (the "License");
+; you may not use this file except in compliance with the License.
+; You may obtain a copy of the License at
+;
+; http://www.apache.org/licenses/LICENSE-2.0
+;
+; Unless required by applicable law or agreed to in writing, software
+; distributed under the License is distributed on an "AS IS" BASIS,
+; WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+; See the License for the specific language governing permissions and
+; limitations under the License.
+
+.source T_iget_char_4.java
+.class public dot.junit.opcodes.iget_char.d.T_iget_char_4
+.super java/lang/Object
+
+.field public i1 C
+
+.method public <init>()V
+.limit regs 1
+
+ invoke-direct {v0}, java/lang/Object/<init>()V
+ return-void
+.end method
+
+.method public run()C
+.limit regs 3
+
+ iget-char v1, v2, dot.junit.opcodes.iget_char.d.T_iget_char_4.i1 C
+ return v1
+.end method
+
+
diff --git a/tools/vm-tests-tf/src/dot/junit/opcodes/iget_char/d/T_iget_char_4.dfh b/tools/vm-tests-tf/src/dot/junit/opcodes/iget_char/d/T_iget_char_4.dfh
new file mode 100644
index 0000000..270fbc7
--- /dev/null
+++ b/tools/vm-tests-tf/src/dot/junit/opcodes/iget_char/d/T_iget_char_4.dfh
@@ -0,0 +1,266 @@
+// Processing 'dalvik-opcodes/out/classes_dasm/dot/junit/opcodes/iget_char/d/T_iget_char_4.dex'...
+// Opened 'dalvik-opcodes/out/classes_dasm/dot/junit/opcodes/iget_char/d/T_iget_char_4.dex', DEX version '035'
+// DEX file header:
+// parsed: offset 0, len 8: magic : 'dex
+// 035'
+ 64 65 78 0A 30 33 35 00
+// parsed: offset 8, len 4: checksum : 583643f9
+ F9 43 36 58
+// parsed: offset 12, len 20: signature : c593...65f6
+ C5 93 2D 56 9E A8 DE 9C EB 9B 10 08 C0 63 49 6A B5 96 65 F6
+// parsed: offset 32, len 4: file_size : 560
+ 30 02 00 00
+// parsed: offset 36, len 4: header_size : 112
+ 70 00 00 00
+// parsed: offset 40, len 4: endian_tag : 0x12345678
+ 78 56 34 12
+// parsed: offset 44, len 4: link_size : 0
+ 00 00 00 00
+// parsed: offset 48, len 4: link_off : 0 (0x000000)
+ 00 00 00 00
+// parsed: offset 52, len 4: map_off : 424 (0x0001a8)
+ A8 01 00 00
+// parsed: offset 56, len 4: string_ids_size : 8
+ 08 00 00 00
+// parsed: offset 60, len 4: string_ids_off : 112 (0x000070)
+ 70 00 00 00
+// parsed: offset 64, len 4: type_ids_size : 4
+ 04 00 00 00
+// parsed: offset 68, len 4: type_ids_off : 144 (0x000090)
+ 90 00 00 00
+// parsed: offset 72, len 4: proto_ids_size : 2
+ 02 00 00 00
+// parsed: offset 76, len 4: proto_ids_off : 160 (0x0000a0)
+ A0 00 00 00
+// parsed: offset 80, len 4: field_ids_size : 1
+ 01 00 00 00
+// parsed: offset 84, len 4: field_ids_off : 184 (0x0000b8)
+ B8 00 00 00
+// parsed: offset 88, len 4: method_ids_size : 3
+ 03 00 00 00
+// parsed: offset 92, len 4: method_ids_off : 192 (0x0000c0)
+ C0 00 00 00
+// parsed: offset 96, len 4: class_defs_size : 1
+ 01 00 00 00
+// parsed: offset 100, len 4: class_defs_off : 216 (0x0000d8)
+ D8 00 00 00
+// parsed: offset 104, len 4: data_size : 312
+ 38 01 00 00
+// parsed: offset 108, len 4: data_off : 248 (0x0000f8)
+ F8 00 00 00
+//
+// string_ids:
+// parsed: offset 112, len 4: [0] string_data_off: 296 (0x000128) "<init>"
+ 28 01 00 00
+// parsed: offset 116, len 4: [1] string_data_off: 304 (0x000130) "C"
+ 30 01 00 00
+// parsed: offset 120, len 4: [2] string_data_off: 307 (0x000133) "Ldot/junit/opcodes/iget_char/d/T_iget_char_4;"
+ 33 01 00 00
+// parsed: offset 124, len 4: [3] string_data_off: 354 (0x000162) "Ljava/lang/Object;"
+ 62 01 00 00
+// parsed: offset 128, len 4: [4] string_data_off: 374 (0x000176) "T_iget_char_4.java"
+ 76 01 00 00
+// parsed: offset 132, len 4: [5] string_data_off: 394 (0x00018a) "V"
+ 8A 01 00 00
+// parsed: offset 136, len 4: [6] string_data_off: 397 (0x00018d) "i1"
+ 8D 01 00 00
+// parsed: offset 140, len 4: [7] string_data_off: 401 (0x000191) "run"
+ 91 01 00 00
+
+// type_ids:
+// parsed: offset 144, len 4: [0] descriptor_idx: 1 (0x000001) "C"
+ 01 00 00 00
+// parsed: offset 148, len 4: [1] descriptor_idx: 2 (0x000002) "Ldot/junit/opcodes/iget_char/d/T_iget_char_4;"
+ 02 00 00 00
+// parsed: offset 152, len 4: [2] descriptor_idx: 3 (0x000003) "Ljava/lang/Object;"
+ 03 00 00 00
+// parsed: offset 156, len 4: [3] descriptor_idx: 5 (0x000005) "V"
+ 05 00 00 00
+
+// proto_ids:
+// parsed: offset 160, len 12: [0]
+// shorty_idx: 1 (0x000001) "C"
+// return_type_idx: 0 (0x000000) "C"
+// parameters_off: 0 (0x000000)
+ 01 00 00 00 00 00 00 00 00 00 00 00
+// parsed: offset 172, len 12: [1]
+// shorty_idx: 5 (0x000005) "V"
+// return_type_idx: 3 (0x000003) "V"
+// parameters_off: 0 (0x000000)
+ 05 00 00 00 03 00 00 00 00 00 00 00
+
+// field_ids:
+// parsed: offset 184, len 8: [0] class_idx: 1 (0x000001) type_idx: 0 (0x000000) name_idx: 6 (0x000006) "i1"
+ 01 00 00 00 06 00 00 00
+
+// methods_ids:
+// parsed: offset 192, len 8: [0] class_idx: 1 (0x000001) proto_idx: 1 (0x000001) name_idx: 0 (0x000000) "<init>"
+ 01 00 01 00 00 00 00 00
+// parsed: offset 200, len 8: [1] class_idx: 1 (0x000001) proto_idx: 0 (0x000000) name_idx: 7 (0x000007) "run"
+ 01 00 00 00 07 00 00 00
+// parsed: offset 208, len 8: [2] class_idx: 2 (0x000002) proto_idx: 1 (0x000001) name_idx: 0 (0x000000) "<init>"
+ 02 00 01 00 00 00 00 00
+
+// class_defs:
+// parsed: offset 216, len 32: Class [0]
+// class_idx: 1 "Ldot/junit/opcodes/iget_char/d/T_iget_char_4;"
+// access_flags: 0x000001 (PUBLIC)
+// superclass_idx: 2 "Ljava/lang/Object;"
+// interfaces_off: 0 (0x000000)
+// source_file_idx: 4 "T_iget_char_4.java"
+// annotations_off: 0 (0x000000)
+// class_data_off: 406 (0x000196)
+// static_values_off: 0 (0x000000)
+ 01 00 00 00 01 00 00 00 02 00 00 00 00 00 00 00 04 00 00 00 00 00 00 00 96 01 00 00 00 00 00 00
+// data_section:
+// CODE_ITEM for "dot.junit.opcodes.iget_char.d.T_iget_char_4.<init>"
+ // parsed: offset 248, len 2: registers_size: 1
+ 01 00
+ // parsed: offset 250, len 2: ins_size: 1
+ 01 00
+ // parsed: offset 252, len 2: outs_size: 1
+ 01 00
+ // parsed: offset 254, len 2: tries_size: 0
+ 00 00
+ // parsed: offset 256, len 4: debug_info_off: 0 (0x000000)
+ 00 00 00 00
+ // parsed: offset 260, len 4: insns_size: 4
+ 04 00 00 00
+ // insns:
+ // parsed: offset 264, len 6: |0000: invoke-direct {v0}, Ljava/lang/Object;.<init>:()V // method@0002
+ 70 10 02 00 00 00
+ // parsed: offset 270, len 2: |0003: return-void
+ 0E 00
+ // tries:
+ // handlers:
+// CODE_ITEM for "dot.junit.opcodes.iget_char.d.T_iget_char_4.run"
+ // parsed: offset 272, len 2: registers_size: 3
+ 03 00
+ // parsed: offset 274, len 2: ins_size: 1
+ 01 00
+ // parsed: offset 276, len 2: outs_size: 0
+ 00 00
+ // parsed: offset 278, len 2: tries_size: 0
+ 00 00
+ // parsed: offset 280, len 4: debug_info_off: 0 (0x000000)
+ 00 00 00 00
+ // parsed: offset 284, len 4: insns_size: 3
+ 03 00 00 00
+ // insns:
+ // parsed: offset 288, len 4: |0000: iget-char v1, v2, Ldot/junit/opcodes/iget_char/d/T_iget_char_4;.i1:C // field@0000
+//@mod 57 21 00 00
+ 57 21 00 01
+ // parsed: offset 292, len 2: |0002: return v1
+ 0F 01
+ // tries:
+ // handlers:
+// parsed: offset 294, len 2: PADDING
+ 00 00
+// parsed: offset 296, len 8: TYPE_STRING_DATA_ITEM [0] "<init>"
+ 06 3C 69 6E 69 74 3E 00
+// parsed: offset 304, len 3: TYPE_STRING_DATA_ITEM [1] "C"
+ 01 43 00
+// parsed: offset 307, len 47: TYPE_STRING_DATA_ITEM [2] "Ldot/junit/opcodes/iget_char/d/T_iget_char_4;"
+ 2D 4C 64 6F 74 2F 6A 75 6E 69 74 2F 6F 70 63 6F 64 65 73 2F 69 67 65 74 5F 63 68 61 72 2F 64 2F 54 5F 69 67 65 74 5F 63 68 61 72 5F 34 3B 00
+// parsed: offset 354, len 20: TYPE_STRING_DATA_ITEM [3] "Ljava/lang/Object;"
+ 12 4C 6A 61 76 61 2F 6C 61 6E 67 2F 4F 62 6A 65 63 74 3B 00
+// parsed: offset 374, len 20: TYPE_STRING_DATA_ITEM [4] "T_iget_char_4.java"
+ 12 54 5F 69 67 65 74 5F 63 68 61 72 5F 34 2E 6A 61 76 61 00
+// parsed: offset 394, len 3: TYPE_STRING_DATA_ITEM [5] "V"
+ 01 56 00
+// parsed: offset 397, len 4: TYPE_STRING_DATA_ITEM [6] "i1"
+ 02 69 31 00
+// parsed: offset 401, len 5: TYPE_STRING_DATA_ITEM [7] "run"
+ 03 72 75 6E 00
+// CLASS_DATA_ITEM for class [0] "Ldot/junit/opcodes/iget_char/d/T_iget_char_4;"
+ // parsed: offset 406, len 1: static_fields_size: 0
+ 00
+ // parsed: offset 407, len 1: instance_fields_size: 1
+ 01
+ // parsed: offset 408, len 1: direct_methods_size: 1
+ 01
+ // parsed: offset 409, len 1: virtual_methods_size: 1
+ 01
+ // static_fields:
+ // instance_fields:
+ // field [0]:
+ // parsed: offset 410, len 1: field_idx_diff: 0 (field_idx: 0 "i1")
+ 00
+ // parsed: offset 411, len 1: access_flags: 0x000001 (PUBLIC)
+ 01
+ // direct_methods:
+ // method [0]:
+ // parsed: offset 412, len 1: method_idx_diff: 0 (method_idx: 0 "<init>")
+ 00
+ // parsed: offset 413, len 3: access_flags: 0x010001 (PUBLIC CONSTRUCTOR)
+ 81 80 04
+ // parsed: offset 416, len 2: code_off: 248 (0x0000f8)
+ F8 01
+ // virtual_methods:
+ // method [0]:
+ // parsed: offset 418, len 1: method_idx_diff: 1 (method_idx: 1 "run")
+ 01
+ // parsed: offset 419, len 1: access_flags: 0x000001 (PUBLIC)
+ 01
+ // parsed: offset 420, len 2: code_off: 272 (0x000110)
+ 90 02
+// parsed: offset 422, len 2: PADDING
+ 00 00
+// map_list:
+ // parsed: offset 424, len 4: size: 11
+ 0B 00 00 00
+ // parsed: offset 428, len 12: [0] type: 0x0000 TYPE_HEADER_ITEM
+ // unused: 0
+ // size: 1
+ // offset: 0 (0x000000)
+ 00 00 00 00 01 00 00 00 00 00 00 00
+ // parsed: offset 440, len 12: [1] type: 0x0001 TYPE_STRING_ID_ITEM
+ // unused: 0
+ // size: 8
+ // offset: 112 (0x000070)
+ 01 00 00 00 08 00 00 00 70 00 00 00
+ // parsed: offset 452, len 12: [2] type: 0x0002 TYPE_TYPE_ID_ITEM
+ // unused: 0
+ // size: 4
+ // offset: 144 (0x000090)
+ 02 00 00 00 04 00 00 00 90 00 00 00
+ // parsed: offset 464, len 12: [3] type: 0x0003 TYPE_PROTO_ID_ITEM
+ // unused: 0
+ // size: 2
+ // offset: 160 (0x0000a0)
+ 03 00 00 00 02 00 00 00 A0 00 00 00
+ // parsed: offset 476, len 12: [4] type: 0x0004 TYPE_FIELD_ID_ITEM
+ // unused: 0
+ // size: 1
+ // offset: 184 (0x0000b8)
+ 04 00 00 00 01 00 00 00 B8 00 00 00
+ // parsed: offset 488, len 12: [5] type: 0x0005 TYPE_METHOD_ID_ITEM
+ // unused: 0
+ // size: 3
+ // offset: 192 (0x0000c0)
+ 05 00 00 00 03 00 00 00 C0 00 00 00
+ // parsed: offset 500, len 12: [6] type: 0x0006 TYPE_CLASS_DEF_ITEM
+ // unused: 0
+ // size: 1
+ // offset: 216 (0x0000d8)
+ 06 00 00 00 01 00 00 00 D8 00 00 00
+ // parsed: offset 512, len 12: [7] type: 0x2001 TYPE_CODE_ITEM
+ // unused: 0
+ // size: 2
+ // offset: 248 (0x0000f8)
+ 01 20 00 00 02 00 00 00 F8 00 00 00
+ // parsed: offset 524, len 12: [8] type: 0x2002 TYPE_STRING_DATA_ITEM
+ // unused: 0
+ // size: 8
+ // offset: 296 (0x000128)
+ 02 20 00 00 08 00 00 00 28 01 00 00
+ // parsed: offset 536, len 12: [9] type: 0x2000 TYPE_CLASS_DATA_ITEM
+ // unused: 0
+ // size: 1
+ // offset: 406 (0x000196)
+ 00 20 00 00 01 00 00 00 96 01 00 00
+ // parsed: offset 548, len 12: [10] type: 0x1000 TYPE_MAP_LIST
+ // unused: 0
+ // size: 1
+ // offset: 424 (0x0001a8)
+ 00 10 00 00 01 00 00 00 A8 01 00 00
diff --git a/tools/vm-tests-tf/src/dot/junit/opcodes/iget_char/d/T_iget_char_5.d b/tools/vm-tests-tf/src/dot/junit/opcodes/iget_char/d/T_iget_char_5.d
new file mode 100644
index 0000000..534412f
--- /dev/null
+++ b/tools/vm-tests-tf/src/dot/junit/opcodes/iget_char/d/T_iget_char_5.d
@@ -0,0 +1,35 @@
+; Copyright (C) 2008 The Android Open Source Project
+;
+; Licensed under the Apache License, Version 2.0 (the "License");
+; you may not use this file except in compliance with the License.
+; You may obtain a copy of the License at
+;
+; http://www.apache.org/licenses/LICENSE-2.0
+;
+; Unless required by applicable law or agreed to in writing, software
+; distributed under the License is distributed on an "AS IS" BASIS,
+; WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+; See the License for the specific language governing permissions and
+; limitations under the License.
+
+.source T_iget_char_5.java
+.class public dot.junit.opcodes.iget_char.d.T_iget_char_5
+.super java/lang/Object
+
+.field public static i1 C
+
+.method public <init>()V
+.limit regs 4
+
+ invoke-direct {v3}, java/lang/Object/<init>()V
+ return-void
+.end method
+
+.method public run()C
+.limit regs 3
+
+ iget-char v1, v2, dot.junit.opcodes.iget_char.d.T_iget_char_5.i1 C
+ return v1
+.end method
+
+
diff --git a/tools/vm-tests-tf/src/dot/junit/opcodes/iget_char/d/T_iget_char_5.java b/tools/vm-tests-tf/src/dot/junit/opcodes/iget_char/d/T_iget_char_5.java
new file mode 100644
index 0000000..4975e76
--- /dev/null
+++ b/tools/vm-tests-tf/src/dot/junit/opcodes/iget_char/d/T_iget_char_5.java
@@ -0,0 +1,24 @@
+/*
+ * Copyright (C) 2010 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package dot.junit.opcodes.iget_char.d;
+
+public class T_iget_char_5 {
+
+ public char run() {
+ return 0;
+ }
+}
diff --git a/tools/vm-tests-tf/src/dot/junit/opcodes/iget_char/d/T_iget_char_6.d b/tools/vm-tests-tf/src/dot/junit/opcodes/iget_char/d/T_iget_char_6.d
new file mode 100644
index 0000000..0d208b3
--- /dev/null
+++ b/tools/vm-tests-tf/src/dot/junit/opcodes/iget_char/d/T_iget_char_6.d
@@ -0,0 +1,37 @@
+; Copyright (C) 2008 The Android Open Source Project
+;
+; Licensed under the Apache License, Version 2.0 (the "License");
+; you may not use this file except in compliance with the License.
+; You may obtain a copy of the License at
+;
+; http://www.apache.org/licenses/LICENSE-2.0
+;
+; Unless required by applicable law or agreed to in writing, software
+; distributed under the License is distributed on an "AS IS" BASIS,
+; WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+; See the License for the specific language governing permissions and
+; limitations under the License.
+
+.source T_iget_char_6.java
+.class public dot.junit.opcodes.iget_char.d.T_iget_char_6
+.super java/lang/Object
+
+
+.method public <init>()V
+.limit regs 1
+
+ invoke-direct {v0}, java/lang/Object/<init>()V
+ return-void
+.end method
+
+.method public run()C
+.limit regs 3
+
+ new-instance v0, Ldot/junit/opcodes/iget_char/TestStubs;
+ invoke-direct {v0}, dot/junit/opcodes/iget_char/TestStubs/<init>()V
+
+ iget-char v1, v0, dot.junit.opcodes.iget_char.TestStubs.TestStubField C
+ return v1
+.end method
+
+
diff --git a/tools/vm-tests-tf/src/dot/junit/opcodes/iget_char/d/T_iget_char_6.java b/tools/vm-tests-tf/src/dot/junit/opcodes/iget_char/d/T_iget_char_6.java
new file mode 100644
index 0000000..8be8c2b
--- /dev/null
+++ b/tools/vm-tests-tf/src/dot/junit/opcodes/iget_char/d/T_iget_char_6.java
@@ -0,0 +1,24 @@
+/*
+ * Copyright (C) 2010 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package dot.junit.opcodes.iget_char.d;
+
+public class T_iget_char_6 {
+
+ public char run() {
+ return 0;
+ }
+}
diff --git a/tools/vm-tests-tf/src/dot/junit/opcodes/iget_char/d/T_iget_char_7.d b/tools/vm-tests-tf/src/dot/junit/opcodes/iget_char/d/T_iget_char_7.d
new file mode 100644
index 0000000..b2ca2ce
--- /dev/null
+++ b/tools/vm-tests-tf/src/dot/junit/opcodes/iget_char/d/T_iget_char_7.d
@@ -0,0 +1,33 @@
+; Copyright (C) 2008 The Android Open Source Project
+;
+; Licensed under the Apache License, Version 2.0 (the "License");
+; you may not use this file except in compliance with the License.
+; You may obtain a copy of the License at
+;
+; http://www.apache.org/licenses/LICENSE-2.0
+;
+; Unless required by applicable law or agreed to in writing, software
+; distributed under the License is distributed on an "AS IS" BASIS,
+; WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+; See the License for the specific language governing permissions and
+; limitations under the License.
+
+.source T_iget_char_7.java
+.class public dot.junit.opcodes.iget_char.d.T_iget_char_7
+.super java/lang/Object
+
+.method public <init>()V
+.limit regs 1
+
+ invoke-direct {v0}, java/lang/Object/<init>()V
+ return-void
+.end method
+
+.method public run()C
+.limit regs 3
+
+ iget-char v1, v2, dot.junit.opcodes.iget_char.d.T_iget_char_7no_class.i1 C
+ return v1
+.end method
+
+
diff --git a/tools/vm-tests-tf/src/dot/junit/opcodes/iget_char/d/T_iget_char_7.java b/tools/vm-tests-tf/src/dot/junit/opcodes/iget_char/d/T_iget_char_7.java
new file mode 100644
index 0000000..4ca80d7
--- /dev/null
+++ b/tools/vm-tests-tf/src/dot/junit/opcodes/iget_char/d/T_iget_char_7.java
@@ -0,0 +1,24 @@
+/*
+ * Copyright (C) 2010 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package dot.junit.opcodes.iget_char.d;
+
+public class T_iget_char_7 {
+
+ public char run() {
+ return 0;
+ }
+}
diff --git a/tools/vm-tests-tf/src/dot/junit/opcodes/iget_char/d/T_iget_char_8.d b/tools/vm-tests-tf/src/dot/junit/opcodes/iget_char/d/T_iget_char_8.d
new file mode 100644
index 0000000..7a75de0
--- /dev/null
+++ b/tools/vm-tests-tf/src/dot/junit/opcodes/iget_char/d/T_iget_char_8.d
@@ -0,0 +1,33 @@
+; Copyright (C) 2008 The Android Open Source Project
+;
+; Licensed under the Apache License, Version 2.0 (the "License");
+; you may not use this file except in compliance with the License.
+; You may obtain a copy of the License at
+;
+; http://www.apache.org/licenses/LICENSE-2.0
+;
+; Unless required by applicable law or agreed to in writing, software
+; distributed under the License is distributed on an "AS IS" BASIS,
+; WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+; See the License for the specific language governing permissions and
+; limitations under the License.
+
+.source T_iget_char_8.java
+.class public dot.junit.opcodes.iget_char.d.T_iget_char_8
+.super java/lang/Object
+
+.method public <init>()V
+.limit regs 1
+
+ invoke-direct {v0}, java/lang/Object/<init>()V
+ return-void
+.end method
+
+.method public run()C
+.limit regs 3
+
+ iget-char v1, v2, dot.junit.opcodes.iget_char.d.T_iget_char_8.i1N C
+ return v1
+.end method
+
+
diff --git a/tools/vm-tests-tf/src/dot/junit/opcodes/iget_char/d/T_iget_char_8.java b/tools/vm-tests-tf/src/dot/junit/opcodes/iget_char/d/T_iget_char_8.java
new file mode 100644
index 0000000..49d35c6
--- /dev/null
+++ b/tools/vm-tests-tf/src/dot/junit/opcodes/iget_char/d/T_iget_char_8.java
@@ -0,0 +1,24 @@
+/*
+ * Copyright (C) 2010 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package dot.junit.opcodes.iget_char.d;
+
+public class T_iget_char_8 {
+
+ public char run() {
+ return 0;
+ }
+}
diff --git a/tools/vm-tests-tf/src/dot/junit/opcodes/iget_char/d/T_iget_char_9.d b/tools/vm-tests-tf/src/dot/junit/opcodes/iget_char/d/T_iget_char_9.d
new file mode 100644
index 0000000..70eca20
--- /dev/null
+++ b/tools/vm-tests-tf/src/dot/junit/opcodes/iget_char/d/T_iget_char_9.d
@@ -0,0 +1,36 @@
+; Copyright (C) 2008 The Android Open Source Project
+;
+; Licensed under the Apache License, Version 2.0 (the "License");
+; you may not use this file except in compliance with the License.
+; You may obtain a copy of the License at
+;
+; http://www.apache.org/licenses/LICENSE-2.0
+;
+; Unless required by applicable law or agreed to in writing, software
+; distributed under the License is distributed on an "AS IS" BASIS,
+; WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+; See the License for the specific language governing permissions and
+; limitations under the License.
+
+.source T_iget_char_9.java
+.class public dot.junit.opcodes.iget_char.d.T_iget_char_9
+.super java/lang/Object
+
+.field public i1 C
+
+.method public <init>()V
+.limit regs 2
+
+ invoke-direct {v1}, java/lang/Object/<init>()V
+ return-void
+.end method
+
+.method public run()C
+.limit regs 3
+
+ const v0, 0
+ iget-char v1, v0, dot.junit.opcodes.iget_char.d.T_iget_char_9.i1 C
+ return v1
+.end method
+
+
diff --git a/tools/vm-tests-tf/src/dot/junit/opcodes/iget_char/d/T_iget_char_9.java b/tools/vm-tests-tf/src/dot/junit/opcodes/iget_char/d/T_iget_char_9.java
new file mode 100644
index 0000000..6bbe1ca
--- /dev/null
+++ b/tools/vm-tests-tf/src/dot/junit/opcodes/iget_char/d/T_iget_char_9.java
@@ -0,0 +1,24 @@
+/*
+ * Copyright (C) 2008 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT 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 dot.junit.opcodes.iget_char.d;
+
+public class T_iget_char_9 {
+
+ public char run(){
+ return 0;
+ }
+}