[Webkit-unassigned] [Bug 89551] DFG should be able to print disassembly interleaved with the IR
bugzilla-daemon at webkit.org
bugzilla-daemon at webkit.org
Wed Jun 20 00:07:36 PDT 2012
https://bugs.webkit.org/show_bug.cgi?id=89551
--- Comment #1 from Filip Pizlo <fpizlo at apple.com> 2012-06-20 00:07:35 PST ---
Here's a sample:
Generated JIT code for DFG CodeBlock 0x109905400:
Code at [0x3ab1c260d960, 0x3ab1c260db2e):
0x3ab1c260d960: pop %rcx
0x3ab1c260d961: mov %rcx, -0x10(%r13)
0x3ab1c260d965: mov 0x109905400, %r11
0x3ab1c260d96f: mov %r11, -0x8(%r13)
0x3ab1c260d973: lea 0x18(%r13), %rdx
0x3ab1c260d977: mov 0x10986cea0, %r11
0x3ab1c260d981: cmp %rdx, (%r11)
0x3ab1c260d984: jb 0x3ab1c260da2d
0x3ab1c260d98a: mov 0x109905e54, %r11
0x3ab1c260d994: add 0x1, (%r11)
Block #0 (bc#0):
Predecessors:
Phi Nodes:
0: < 3:-> SetArgument(, arg0(F<Final>)) predicting Final, double ratio 0.000000
1: < 3:1> GetLocal(@0, JS, arg0(F<Final>)) predicting Final, double ratio 0.000000
0x3ab1c260d998: mov -0x38(%r13), %rax
2: <!0:-> CheckStructure(@1<Final>, MustGen|CanExit, struct(0x10a2b7c00))
0x3ab1c260d99c: test %rax, %r15
0x3ab1c260d99f: jnz 0x3ab1c260da94
0x3ab1c260d9a5: mov 0x10a2b7c00, %r11
0x3ab1c260d9af: cmp %r11, 0x8(%rax)
0x3ab1c260d9b3: jnz 0x3ab1c260daaa
4: < 1:1> GetByOffset(@1<Final>, JS, id0{direction}, 7) predicting Int
0x3ab1c260d9b9: mov 0x38(%rax), %rax
6: <!2:2> GetGlobalVar(JS|MustGen, global20(0x1098bcf38)) predicting Final
0x3ab1c260d9bd: mov 0x1098bcf38, %rdx
0x3ab1c260d9c7: mov (%rdx), %rdx
8: <!0:-> CheckStructure(@6<Final>, MustGen|CanExit, struct(0x10a2b9960))
0x3ab1c260d9ca: test %rdx, %r15
0x3ab1c260d9cd: jnz 0x3ab1c260dac0
0x3ab1c260d9d3: mov 0x10a2b9960, %r11
0x3ab1c260d9dd: cmp %r11, 0x8(%rdx)
0x3ab1c260d9e1: jnz 0x3ab1c260dad6
9: < 1:2> GetByOffset(@6<Final>, JS, id1{FORWARD}, 5) predicting Int
0x3ab1c260d9e7: mov 0x28(%rdx), %rdx
11: <!1:2> CompareEq(@4<Int32>, @9<Int32>, Boolean|MustGen|MightClobber|CanExit)
0x3ab1c260d9eb: cmp %r14, %rax
0x3ab1c260d9ee: jb 0x3ab1c260daec
0x3ab1c260d9f4: cmp %r14, %rdx
0x3ab1c260d9f7: jb 0x3ab1c260db02
0x3ab1c260d9fd: cmp %edx, %eax
0x3ab1c260d9ff: jnz 0x3ab1c260da16
Block #1 (bc#33):
Predecessors: #0
Phi Nodes: @14->(@0)
15: < 2:2> GetLocal(@14, JS, arg0(F<Final>)) predicting Final, double ratio 0.000000
0x3ab1c260da05: mov -0x38(%r13), %rcx
16: <!0:-> CheckStructure(@15<Final>, MustGen, struct(0x10a2b7c00))
17: < 1:2> GetByOffset(@15<Final>, JS, id2{v2}, 6) predicting Final
0x3ab1c260da09: mov 0x30(%rcx), %rcx
18: < 1:-> SetLocal(@17<Final>, , r0(J<Final>)) predicting Final, double ratio 0.000000
0x3ab1c260da0d: mov %rcx, 0x0(%r13)
19: <!0:-> Jump(MustGen, T:#3)
0x3ab1c260da11: jmp 0x3ab1c260da1f
Block #2 (bc#44):
Predecessors: #0
Phi Nodes: @20->(@0)
21: < 1:2> GetLocal(@20, JS, arg0(F<Final>)) predicting Final, double ratio 0.000000
0x3ab1c260da16: mov -0x38(%r13), %rbx
22: <!1:2> GetById(@21<Final>, JS|MustGen|Clobbers|CanExit, id3{v1}) predicting None
0x3ab1c260da1a: jmp 0x3ab1c260db18
Block #3 (bc#53):
Predecessors: #2 #1
Phi Nodes: @25->(@23, @18)
26: < 1:2> GetLocal(@25, JS, r0(J<Final>)) predicting Final, double ratio 0.000000
0x3ab1c260da1f: mov 0x0(%r13), %rax
27: <!0:-> Return(@26<Final>, MustGen)
0x3ab1c260da23: mov -0x10(%r13), %rdx
0x3ab1c260da27: mov -0x28(%r13), %r13
0x3ab1c260da2b: push %rdx
0x3ab1c260da2c: ret
(End Of Main Path)
0x3ab1c260da2d: mov %rsp, %rdi
0x3ab1c260da30: mov %r13, 0x58(%rsp)
0x3ab1c260da35: mov 0x0, -0x2c(%r13)
0x3ab1c260da3d: mov 0x10943e4c0, %r11
0x3ab1c260da47: call %r11
0x3ab1c260da4a: jmp 0x3ab1c260d98a
0x3ab1c260da4f: pop %rcx
0x3ab1c260da50: mov %rcx, -0x10(%r13)
0x3ab1c260da54: mov 0x109905400, %r11
0x3ab1c260da5e: mov %r11, -0x8(%r13)
0x3ab1c260da62: mov -0x30(%r13), %edx
0x3ab1c260da66: cmp 0x1, %edx
0x3ab1c260da69: jae 0x3ab1c260d973
0x3ab1c260da6f: mov %rsp, %rdi
0x3ab1c260da72: mov %r13, 0x58(%rsp)
0x3ab1c260da77: mov 0x1, -0x2c(%r13)
0x3ab1c260da7f: mov 0x109440650, %r11
0x3ab1c260da89: call %r11
0x3ab1c260da8c: mov %rax, %r13
0x3ab1c260da8f: jmp 0x3ab1c260d973
0x3ab1c260da94: mov 0x109859828, %r11
0x3ab1c260da9e: mov 0x0, (%r11)
0x3ab1c260daa5: jmp 0x3ab1c260db40
0x3ab1c260daaa: mov 0x109859828, %r11
0x3ab1c260dab4: mov 0x1, (%r11)
0x3ab1c260dabb: jmp 0x3ab1c260db40
0x3ab1c260dac0: mov 0x109859828, %r11
0x3ab1c260daca: mov 0x2, (%r11)
0x3ab1c260dad1: jmp 0x3ab1c260db40
0x3ab1c260dad6: mov 0x109859828, %r11
0x3ab1c260dae0: mov 0x3, (%r11)
0x3ab1c260dae7: jmp 0x3ab1c260db40
0x3ab1c260daec: mov 0x109859828, %r11
0x3ab1c260daf6: mov 0x4, (%r11)
0x3ab1c260dafd: jmp 0x3ab1c260db40
0x3ab1c260db02: mov 0x109859828, %r11
0x3ab1c260db0c: mov 0x5, (%r11)
0x3ab1c260db13: jmp 0x3ab1c260db40
0x3ab1c260db18: mov 0x109859828, %r11
0x3ab1c260db22: mov 0x6, (%r11)
0x3ab1c260db29: jmp 0x3ab1c260db40
--
Configure bugmail: https://bugs.webkit.org/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the assignee for the bug.
More information about the webkit-unassigned
mailing list