summaryrefslogtreecommitdiffstats
path: root/dx/tests
diff options
context:
space:
mode:
authorjeffhao <jeffhao@google.com>2011-03-24 14:01:25 -0700
committerjeffhao <jeffhao@google.com>2011-03-24 14:01:25 -0700
commit38b61748553bd387bc36b6bd82a8667b6c5f5934 (patch)
treedd3799cff34b6cd7a36a479018971fd107a0d773 /dx/tests
parent87614af52f5aeb9a25f0329ee5414d29a5713334 (diff)
downloadandroid_dalvik-38b61748553bd387bc36b6bd82a8667b6c5f5934.tar.gz
android_dalvik-38b61748553bd387bc36b6bd82a8667b6c5f5934.tar.bz2
android_dalvik-38b61748553bd387bc36b6bd82a8667b6c5f5934.zip
Various dx fixes to make it preserve locals and debug info.
The SCCP pass checks if a register has associated local info before attepting to prune branches or replace values with constants. Also, the register allocator reserves a register for each local in a method. This could be later improved by only reserving registers for the lengths of their lifetimes as specified by the local info table. Change-Id: I654ac014a9aac530f1db0db7d5cdef7535ff49bf
Diffstat (limited to 'dx/tests')
-rw-r--r--dx/tests/091-ssa-const-collector/expected.txt10
1 files changed, 5 insertions, 5 deletions
diff --git a/dx/tests/091-ssa-const-collector/expected.txt b/dx/tests/091-ssa-const-collector/expected.txt
index b1c855adb..764c7ee95 100644
--- a/dx/tests/091-ssa-const-collector/expected.txt
+++ b/dx/tests/091-ssa-const-collector/expected.txt
@@ -310,11 +310,11 @@ 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) . <- v0:Ljava/io/PrintStream; v2:Ljava/lang/String;="foo"
+ catch) . <- v2:Ljava/io/PrintStream; v3:Ljava/lang/String;="foo"
next 007f
block 007e
pred 0094
- Blort.java:33@0000: move-param-object(0) v3:"this"LBlort; <- .
+ Blort.java:33@0000: move-param-object(0) v4:"this"LBlort; <- .
Blort.java:33@0000: goto . <- .
next 0000
block 007f
@@ -367,12 +367,12 @@ block 0090
block 0092
pred 0035
Blort.java:43@0036: Rop{move-result-pseudo Ljava/io/PrintStream; <- . flows}
- v0:Ljava/io/PrintStream; <- .
+ v2:Ljava/io/PrintStream; <- .
Blort.java:43@0036: goto . <- .
next 0039
block 0093
pred 0039
- Blort.java:43@0039: Rop{move-result-pseudo Ljava/lang/String; <- . flows} v2:
+ Blort.java:43@0039: Rop{move-result-pseudo Ljava/lang/String; <- . flows} v3:
Ljava/lang/String;="foo" <- .
Blort.java:43@0039: goto . <- .
next 003b
@@ -407,7 +407,7 @@ block 0000
@????: 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: const-int(100) v3:I=100 <- .
+ Blort.java:56@0018: mul-const-int(10) v3:I=100 <- v3:I
@????: mark-local-int . <- v3:"i"I=100
Blort.java:57@001a: goto . <- .
next 0003