Deepak
unread,Nov 10, 2010, 4:32:39 AM11/10/10Sign in to reply to author
Sign in to forward
You do not have permission to delete messages in this group
Sign in to report message
Either email addresses are anonymous for this group or you need the view member email addresses permission to view the original message
to android-platform
Below is the Java program and the corresponding dump when I enable
Xjitverbose. The traces that get recompiled are not always the same.
class somethingjit {
public static void main(String[] args)
{
int i;
for(i=0;i<100;i++)
{
f(i);
}
}
static void f(int var)
{
int i=0,j=0;
for(i=0;i<1000;i++)
{
if(var%2 == 0)
j++;
else
j++;
}
}
}
****************************************************************
Dumping LIR insns
installed code is at 0x42aa7708
total size is 48 bytes
0x42aa7708 (0000): data 0x001c(28)
-------- entry offset: 0x0002
L0x0002:
-------- dalvik offset: 0x0002 @ const/16 v2, (#1000), (#0)
0x42aa770a (0002): ldr r0, [pc, #40]
-------- dalvik offset: 0x0004 @ if-ge v1, v2, (#14)
0x42aa770c (0004): ldr r1, [r5, #4]
0x42aa770e (0006): cmp r1, r0
0x42aa7710 (0008): str r0, [r5, #8]
0x42aa7712 (000a): bge 0x42aa771c
Exception_Handling:
0x42aa7714 (000c): .align4
-------- chaining cell (normal): 0x0006
0x42aa7714 (000c): ldr r0, [r6, #84]
0x42aa7716 (000e): blx r0
0x42aa7718 (0010): data 0x8170(33136)
0x42aa771a (0012): data 0x42b2(17074)
0x42aa771c (0014): .align4
-------- chaining cell (normal): 0x0012
0x42aa771c (0014): ldr r0, [r6, #84]
0x42aa771e (0016): blx r0
0x42aa7720 (0018): data 0x8188(33160)
0x42aa7722 (001a): data 0x42b2(17074)
-------- end of chaining cells (0x001c)
0x42aa7734 (002c): .word (0x3e8)
Dumping LIR insns
installed code is at 0x42aa7738
total size is 64 bytes
0x42aa7738 (0000): data 0x0028(40)
-------- entry offset: 0x000a
L0x000a:
-------- dalvik offset: 0x000a @ add-int/lit8 v0, v0, (#1)
0x42aa773a (0002): ldr r0, [r5, #0]
0x42aa773c (0004): ldr r1, [r5, #4]
0x42aa773e (0006): adds r0, r0, #1
-------- dalvik offset: 0x000c @ add-int/lit8 v1, v1, (#1)
0x42aa7740 (0008): adds r1, r1, #1
-------- dalvik offset: 0x000e @ goto, (#0), (#0)
0x42aa7742 (000a): str r0, [r5, #0]
0x42aa7744 (000c): str r1, [r5, #4]
L0x0002:
-------- dalvik offset: 0x0002 @ const/16 v2, (#1000), (#0)
0x42aa7746 (000e): ldr r2, [pc, #44]
-------- dalvik offset: 0x0004 @ if-ge v1, v2, (#14)
0x42aa7748 (0010): ldr r3, [r5, #4]
0x42aa774a (0012): cmp r3, r2
0x42aa774c (0014): str r2, [r5, #8]
0x42aa774e (0016): bge 0x42aa7758
Exception_Handling:
0x42aa7750 (0018): .align4
-------- chaining cell (normal): 0x0006
0x42aa7750 (0018): ldr r0, [r6, #84]
0x42aa7752 (001a): blx r0
0x42aa7754 (001c): data 0x8170(33136)
0x42aa7756 (001e): data 0x42b2(17074)
0x42aa7758 (0020): .align4
-------- chaining cell (normal): 0x0012
0x42aa7758 (0020): ldr r0, [r6, #84]
0x42aa775a (0022): blx r0
0x42aa775c (0024): data 0x8188(33160)
0x42aa775e (0026): data 0x42b2(17074)
-------- end of chaining cells (0x0028)
0x42aa7774 (003c): .word (0x3e8)
Dumping LIR insns
installed code is at 0x42aa7778
total size is 52 bytes
0x42aa7778 (0000): data 0x0020(32)
-------- entry offset: 0x0006
L0x0006:
-------- dalvik offset: 0x0006 @ rem-int/lit8 v2, v3, (#2)
0x42aa777a (0002): ldr r2, [pc, #44]
0x42aa777c (0004): ldr r0, [r5, #12]
0x42aa777e (0006): movs r1, #2
0x42aa7780 (0008): blx r2
-------- dalvik offset: 0x0008 @ if-nez v2, (#7), (#0)
0x42aa7782 (000a): cmp r1, #0
0x42aa7784 (000c): str r1, [r5, #8]
0x42aa7786 (000e): bne 0x42aa7790
Exception_Handling:
0x42aa7788 (0010): .align4
-------- chaining cell (normal): 0x000a
0x42aa7788 (0010): ldr r0, [r6, #84]
0x42aa778a (0012): blx r0
0x42aa778c (0014): data 0x8178(33144)
0x42aa778e (0016): data 0x42b2(17074)
0x42aa7790 (0018): .align4
-------- chaining cell (normal): 0x000f
0x42aa7790 (0018): ldr r0, [r6, #84]
0x42aa7792 (001a): blx r0
0x42aa7794 (001c): data 0x8182(33154)
0x42aa7796 (001e): data 0x42b2(17074)
-------- end of chaining cells (0x0020)
0x42aa77a8 (0030): .word (0xafd33294)
Dumping LIR insns
installed code is at 0x42aa77ac
total size is 60 bytes
0x42aa77ac (0000): data 0x0024(36)
-------- entry offset: 0x000c
L0x000c:
-------- dalvik offset: 0x000c @ add-int/lit8 v1, v1, (#1)
0x42aa77ae (0002): ldr r0, [r5, #4]
0x42aa77b0 (0004): adds r0, r0, #1
0x42aa77b2 (0006): str r0, [r5, #4]
-------- dalvik offset: 0x000e @ goto, (#0), (#0)
L0x0002:
-------- dalvik offset: 0x0002 @ const/16 v2, (#1000), (#0)
0x42aa77b4 (0008): ldr r1, [pc, #44]
-------- dalvik offset: 0x0004 @ if-ge v1, v2, (#14)
0x42aa77b6 (000a): ldr r2, [r5, #4]
0x42aa77b8 (000c): cmp r2, r1
0x42aa77ba (000e): str r1, [r5, #8]
0x42aa77bc (0010): bge 0x42aa77c8
Exception_Handling:
0x42aa77be (0012): .align4
-------- chaining cell (normal): 0x0006
0x42aa77c0 (0014): ldr r0, [r6, #84]
0x42aa77c2 (0016): blx r0
0x42aa77c4 (0018): data 0x8170(33136)
0x42aa77c6 (001a): data 0x42b2(17074)
0x42aa77c8 (001c): .align4
-------- chaining cell (normal): 0x0012
0x42aa77c8 (001c): ldr r0, [r6, #84]
0x42aa77ca (001e): blx r0
0x42aa77cc (0020): data 0x8188(33160)
0x42aa77ce (0022): data 0x42b2(17074)
-------- end of chaining cells (0x0024)
0x42aa77e4 (0038): .word (0x3e8)
Dumping LIR insns
installed code is at 0x42aa77e8
total size is 68 bytes
0x42aa77e8 (0000): data 0x0028(40)
-------- entry offset: 0x000f
L0x000f:
-------- dalvik offset: 0x000f @ add-int/lit8 v0, v0, (#1)
0x42aa77ea (0002): ldr r0, [r5, #0]
0x42aa77ec (0004): adds r0, r0, #1
0x42aa77ee (0006): str r0, [r5, #0]
-------- dalvik offset: 0x0011 @ goto, (#0), (#0)
L0x000c:
-------- dalvik offset: 0x000c @ add-int/lit8 v1, v1, (#1)
0x42aa77f0 (0008): ldr r1, [r5, #4]
0x42aa77f2 (000a): adds r1, r1, #1
0x42aa77f4 (000c): str r1, [r5, #4]
-------- dalvik offset: 0x000e @ goto, (#0), (#0)
L0x0002:
-------- dalvik offset: 0x0002 @ const/16 v2, (#1000), (#0)
0x42aa77f6 (000e): ldr r2, [pc, #48]
-------- dalvik offset: 0x0004 @ if-ge v1, v2, (#14)
0x42aa77f8 (0010): ldr r3, [r5, #4]
0x42aa77fa (0012): cmp r3, r2
0x42aa77fc (0014): str r2, [r5, #8]
0x42aa77fe (0016): bge 0x42aa7808
Exception_Handling:
0x42aa7800 (0018): .align4
-------- chaining cell (normal): 0x0006
0x42aa7800 (0018): ldr r0, [r6, #84]
0x42aa7802 (001a): blx r0
0x42aa7804 (001c): data 0x8170(33136)
0x42aa7806 (001e): data 0x42b2(17074)
0x42aa7808 (0020): .align4
-------- chaining cell (normal): 0x0012
0x42aa7808 (0020): ldr r0, [r6, #84]
0x42aa780a (0022): blx r0
0x42aa780c (0024): data 0x8188(33160)
0x42aa780e (0026): data 0x42b2(17074)
-------- end of chaining cells (0x0028)
0x42aa7828 (0040): .word (0x3e8)
Dumping LIR insns
installed code is at 0x42aa782c
total size is 64 bytes
0x42aa782c (0000): data 0x0028(40)
-------- entry offset: 0x000a
L0x000a:
-------- dalvik offset: 0x000a @ add-int/lit8 v0, v0, (#1)
0x42aa782e (0002): ldr r0, [r5, #0]
0x42aa7830 (0004): ldr r1, [r5, #4]
0x42aa7832 (0006): adds r0, r0, #1
-------- dalvik offset: 0x000c @ add-int/lit8 v1, v1, (#1)
0x42aa7834 (0008): adds r1, r1, #1
-------- dalvik offset: 0x000e @ goto, (#0), (#0)
0x42aa7836 (000a): str r0, [r5, #0]
0x42aa7838 (000c): str r1, [r5, #4]
L0x0002:
-------- dalvik offset: 0x0002 @ const/16 v2, (#1000), (#0)
0x42aa783a (000e): ldr r2, [pc, #44]
-------- dalvik offset: 0x0004 @ if-ge v1, v2, (#14)
0x42aa783c (0010): ldr r3, [r5, #4]
0x42aa783e (0012): cmp r3, r2
0x42aa7840 (0014): str r2, [r5, #8]
0x42aa7842 (0016): bge 0x42aa784c
Exception_Handling:
0x42aa7844 (0018): .align4
-------- chaining cell (normal): 0x0006
0x42aa7844 (0018): ldr r0, [r6, #84]
0x42aa7846 (001a): blx r0
0x42aa7848 (001c): data 0x8170(33136)
0x42aa784a (001e): data 0x42b2(17074)
0x42aa784c (0020): .align4
-------- chaining cell (normal): 0x0012
0x42aa784c (0020): ldr r0, [r6, #84]
0x42aa784e (0022): blx r0
0x42aa7850 (0024): data 0x8188(33160)
0x42aa7852 (0026): data 0x42b2(17074)
-------- end of chaining cells (0x0028)
0x42aa7868 (003c): .word (0x3e8)
Dumping LIR insns
installed code is at 0x42aa786c
total size is 52 bytes
0x42aa786c (0000): data 0x0020(32)
-------- entry offset: 0x0006
L0x0006:
-------- dalvik offset: 0x0006 @ rem-int/lit8 v2, v3, (#2)
0x42aa786e (0002): ldr r2, [pc, #44]
0x42aa7870 (0004): ldr r0, [r5, #12]
0x42aa7872 (0006): movs r1, #2
0x42aa7874 (0008): blx r2
-------- dalvik offset: 0x0008 @ if-nez v2, (#7), (#0)
0x42aa7876 (000a): cmp r1, #0
0x42aa7878 (000c): str r1, [r5, #8]
0x42aa787a (000e): bne 0x42aa7884
Exception_Handling:
0x42aa787c (0010): .align4
-------- chaining cell (normal): 0x000a
0x42aa787c (0010): ldr r0, [r6, #84]
0x42aa787e (0012): blx r0
0x42aa7880 (0014): data 0x8178(33144)
0x42aa7882 (0016): data 0x42b2(17074)
0x42aa7884 (0018): .align4
-------- chaining cell (normal): 0x000f
0x42aa7884 (0018): ldr r0, [r6, #84]
0x42aa7886 (001a): blx r0
0x42aa7888 (001c): data 0x8182(33154)
0x42aa788a (001e): data 0x42b2(17074)
-------- end of chaining cells (0x0020)
0x42aa789c (0030): .word (0xafd33294)
Dumping LIR insns
installed code is at 0x42aa78a0
total size is 68 bytes
0x42aa78a0 (0000): data 0x0028(40)
-------- entry offset: 0x000f
L0x000f:
-------- dalvik offset: 0x000f @ add-int/lit8 v0, v0, (#1)
0x42aa78a2 (0002): ldr r0, [r5, #0]
0x42aa78a4 (0004): adds r0, r0, #1
0x42aa78a6 (0006): str r0, [r5, #0]
-------- dalvik offset: 0x0011 @ goto, (#0), (#0)
L0x000c:
-------- dalvik offset: 0x000c @ add-int/lit8 v1, v1, (#1)
0x42aa78a8 (0008): ldr r1, [r5, #4]
0x42aa78aa (000a): adds r1, r1, #1
0x42aa78ac (000c): str r1, [r5, #4]
-------- dalvik offset: 0x000e @ goto, (#0), (#0)
L0x0002:
-------- dalvik offset: 0x0002 @ const/16 v2, (#1000), (#0)
0x42aa78ae (000e): ldr r2, [pc, #48]
-------- dalvik offset: 0x0004 @ if-ge v1, v2, (#14)
0x42aa78b0 (0010): ldr r3, [r5, #4]
0x42aa78b2 (0012): cmp r3, r2
0x42aa78b4 (0014): str r2, [r5, #8]
0x42aa78b6 (0016): bge 0x42aa78c0
Exception_Handling:
0x42aa78b8 (0018): .align4
-------- chaining cell (normal): 0x0006
0x42aa78b8 (0018): ldr r0, [r6, #84]
0x42aa78ba (001a): blx r0
0x42aa78bc (001c): data 0x8170(33136)
0x42aa78be (001e): data 0x42b2(17074)
0x42aa78c0 (0020): .align4
-------- chaining cell (normal): 0x0012
0x42aa78c0 (0020): ldr r0, [r6, #84]
0x42aa78c2 (0022): blx r0
0x42aa78c4 (0024): data 0x8188(33160)
0x42aa78c6 (0026): data 0x42b2(17074)
-------- end of chaining cells (0x0028)
0x42aa78e0 (0040): .word (0x3e8)
Dumping LIR insns
installed code is at 0x42aa78e4
total size is 40 bytes
0x42aa78e4 (0000): data 0x0018(24)
-------- entry offset: 0x0008
L0x0008:
-------- dalvik offset: 0x0008 @ if-nez v2, (#7), (#0)
0x42aa78e6 (0002): ldr r0, [r5, #8]
0x42aa78e8 (0004): cmp r0, #0
0x42aa78ea (0006): bne 0x42aa78f4
Exception_Handling:
0x42aa78ec (0008): .align4
-------- chaining cell (normal): 0x000a
0x42aa78ec (0008): ldr r0, [r6, #84]
0x42aa78ee (000a): blx r0
0x42aa78f0 (000c): data 0x8178(33144)
0x42aa78f2 (000e): data 0x42b2(17074)
0x42aa78f4 (0010): .align4
-------- chaining cell (normal): 0x000f
0x42aa78f4 (0010): ldr r0, [r6, #84]
0x42aa78f6 (0012): blx r0
0x42aa78f8 (0014): data 0x8182(33154)
0x42aa78fa (0016): data 0x42b2(17074)
-------- end of chaining cells (0x0018)
#