diff options
author | jeffhao <jeffhao@google.com> | 2011-03-24 14:01:25 -0700 |
---|---|---|
committer | jeffhao <jeffhao@google.com> | 2011-03-24 14:01:25 -0700 |
commit | 38b61748553bd387bc36b6bd82a8667b6c5f5934 (patch) | |
tree | dd3799cff34b6cd7a36a479018971fd107a0d773 /dx/tests | |
parent | 87614af52f5aeb9a25f0329ee5414d29a5713334 (diff) | |
download | android_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.txt | 10 |
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 |