Paste: bad output from scheduling
Author: | littledan |
Mode: | factor |
Date: | Thu, 5 Nov 2009 06:48:38 |
Plain Text |
==With no scheduler==
_label 0
_prologue T{ stack-frame { total-size 32 } { calls-vm? t } }
_label 1
##gc RAX RCX 72 { } { } f
##load-immediate RAX 5
##load-reference RCX { metrics 7 1 tuple 3547099654 metrics 121759836292 }
##allot RBX 72 tuple RDX
##set-slot-imm RCX RBX 1 7
##peek RCX D 1
##peek RDX D 0
##inc-r 2
##replace RBX D 1
##set-slot-imm RAX RBX 2 7
##set-slot-imm RAX RBX 3 7
##replace RCX D 0
##replace RDX R 1
##replace RCX R 0
##set-slot-imm RAX RBX 4 7
##set-slot-imm RAX RBX 5 7
##set-slot-imm RAX RBX 6 7
##set-slot-imm RAX RBX 7 7
##set-slot-imm RAX RBX 8 7
_label 2
##call CTFontGetCapHeight
_label 3
##peek RAX D 1
##write-barrier-imm RAX 49 RCX RDX
##peek RCX D 0
##peek RDX R 0
##inc-r -1
##replace RDX D 0
##set-slot-imm RCX RAX 7 7
_label 4
##call CTFontGetXHeight
_label 5
##gc RAX RCX 72 { } { } f
##load-immediate RAX 0
##load-constant RCX 0.0
##allot RBX 24 byte-array RDX
##allot RBP 24 byte-array RDX
##load-immediate RDX 64
##allot RDI 24 byte-array RSI
##peek RSI D 1
##peek R8 D 0
##peek R9 R 0
##write-barrier-imm RSI 57 R10 R11
##set-slot-imm R8 RSI 8 7
##set-slot-imm RDX RBX 1 6
##set-slot-imm RAX RBX 2 6
##set-slot-imm RAX RBX 3 6
##set-slot-imm RAX RBX 4 6
##inc-d 3
##set-slot-imm RAX RBX 5 6
##inc-r 2
##set-slot-imm RAX RBX 6 6
##replace R9 D 3
##set-slot-imm RAX RBX 7 6
##set-slot-imm RAX RBX 8 6
##set-slot-imm RAX RBX 9 6
##replace RBX D 2
##replace RDI D 1
##replace RBP D 0
##replace RBX R 0
##replace RBP R 2
##alien-double XMM0 RCX 5
##set-alien-double RBX 10 XMM0
##set-slot-imm RDX RDI 1 6
##replace RDI R 1
##set-slot-imm RAX RDI 2 6
##set-slot-imm RAX RDI 3 6
##set-slot-imm RAX RDI 4 6
##set-slot-imm RAX RDI 5 6
##set-slot-imm RAX RDI 6 6
##set-slot-imm RAX RDI 7 6
##set-slot-imm RAX RDI 8 6
##set-slot-imm RAX RDI 9 6
##set-alien-double RDI 10 XMM0
##set-slot-imm RDX RBP 1 6
##set-slot-imm RAX RBP 2 6
##set-slot-imm RAX RBP 3 6
##set-slot-imm RAX RBP 4 6
##set-slot-imm RAX RBP 5 6
##set-slot-imm RAX RBP 6 6
##set-slot-imm RAX RBP 7 6
##set-slot-imm RAX RBP 8 6
##set-slot-imm RAX RBP 9 6
##set-alien-double RBP 10 XMM0
_label 6
##call CTLineGetTypographicBounds
_label 7
##gc RAX RCX 48 { } { } f
##allot RCX 16 float RAX
##allot RDX 16 float RAX
##peek RAX R 0
##alien-double XMM0 RAX 10
##allot RBX 16 float RAX
##set-alien-double RDX 5 XMM0
##peek RAX R 2
##peek RBP R 1
##alien-double XMM0 RBP 10
##peek RBP D 1
##write-barrier-imm RBP 9 RSI RDI
##write-barrier-imm RBP 25 RDI RSI
##peek RSI D 0
##set-alien-double RCX 5 XMM0
##inc-d 1
##write-barrier-imm RBP 41 R8 RDI
##write-barrier-imm RBP 17 RDI R8
##alien-double XMM0 RAX 10
##set-alien-double RBX 5 XMM0
##set-slot-imm RSI RBP 2 7
##set-slot-imm RDX RBP 3 7
##set-slot-imm RCX RBP 4 7
##inc-r -3
##replace RDX D 1
##set-slot-imm RBX RBP 6 7
##replace RCX D 0
_label 8
##call +
_label 9
##peek RAX D 1
##write-barrier-imm RAX 33 RDX RCX
##peek RCX D 0
##set-slot-imm RCX RAX 5 7
##inc-d -1
_label 10
_epilogue T{ stack-frame { total-size 32 } { calls-vm? t } }
##return
_spill-area-size 0
==With the scheduler==
_label 0
_prologue T{ stack-frame { total-size 32 } { calls-vm? t } }
_label 1
##gc RAX RCX 72 { } { } f
##peek RAX D 1
##peek RCX D 0
##load-immediate RDX 5
##load-reference RBX { metrics 7 1 tuple 3547099654 metrics 121759836292 }
##allot RSI 72 tuple RBP
##set-slot-imm RBX RSI 1 7
##set-slot-imm RDX RSI 2 7
##set-slot-imm RDX RSI 3 7
##set-slot-imm RDX RSI 4 7
##set-slot-imm RDX RSI 5 7
##set-slot-imm RDX RSI 6 7
##set-slot-imm RDX RSI 7 7
##set-slot-imm RDX RSI 8 7
##inc-r 2
##replace RSI D 1
##replace RAX D 0
##replace RCX R 1
##replace RAX R 0
_label 2
##call CTFontGetCapHeight
_label 3
##peek RAX D 1
##peek RCX D 0
##peek RDX R 0
##set-slot-imm RCX RAX 7 7
##write-barrier-imm RAX 49 RCX RBX
##inc-r -1
##replace RDX D 0
_label 4
##call CTFontGetXHeight
_label 5
##gc RAX RCX 72 { } { } f
##peek RAX D 1
##peek RCX D 0
##peek RDX R 0
##load-immediate RBX 64
##set-slot-imm RCX RAX 8 7
##write-barrier-imm RAX 57 RCX RBP
##load-immediate RAX 0
##allot RBP 24 byte-array RCX
##set-slot-imm RBX RBP 1 6
##set-slot-imm RAX RBP 2 6
##set-slot-imm RAX RBP 3 6
##set-slot-imm RAX RBP 4 6
##set-slot-imm RAX RBP 5 6
##set-slot-imm RAX RBP 6 6
##set-slot-imm RAX RBP 7 6
##set-slot-imm RAX RBP 8 6
##set-slot-imm RAX RBP 9 6
##load-constant RCX 0.0
##alien-double XMM0 RCX 5
##set-alien-double RBP 10 XMM0
##allot RSI 24 byte-array RCX
##set-slot-imm RBX RSI 1 6
##set-slot-imm RAX RSI 2 6
##set-slot-imm RAX RSI 3 6
##set-slot-imm RAX RSI 4 6
##set-slot-imm RAX RSI 5 6
##set-slot-imm RAX RSI 6 6
##set-slot-imm RAX RSI 7 6
##set-slot-imm RAX RSI 8 6
##set-slot-imm RAX RSI 9 6
##set-alien-double RSI 10 XMM0
##allot RDI 24 byte-array RCX
##set-slot-imm RBX RDI 1 6
##set-slot-imm RAX RDI 2 6
##set-slot-imm RAX RDI 3 6
##set-slot-imm RAX RDI 4 6
##set-slot-imm RAX RDI 5 6
##set-slot-imm RAX RDI 6 6
##set-slot-imm RAX RDI 7 6
##set-slot-imm RAX RDI 8 6
##set-slot-imm RAX RDI 9 6
##set-alien-double RDI 10 XMM0
##inc-d 3
##inc-r 2
##replace RDX D 3
##replace RBP D 2
##replace RSI D 1
##replace RDI D 0
##replace RBP R 0
##replace RDI R 2
##replace RSI R 1
_label 6
##call CTLineGetTypographicBounds
_label 7
##gc RAX RCX 48 { } { } f
##peek RAX R 0
##peek RCX R 2
##peek RDX R 1
##peek RBX D 1
##peek RBP D 0
##alien-double XMM0 RAX 10
##allot RAX 16 float RSI
##set-alien-double RAX 5 XMM0
##alien-double XMM0 RDX 10
##allot RSI 16 float RDX
##set-alien-double RSI 5 XMM0
##alien-double XMM0 RCX 10
##allot RDX 16 float RCX
##set-alien-double RDX 5 XMM0
##set-slot-imm RBP RBX 2 7
##write-barrier-imm RBX 9 RBP RCX
##set-slot-imm RAX RBX 3 7
##write-barrier-imm RBX 17 RBP RCX
##set-slot-imm RSI RBX 4 7
##write-barrier-imm RBX 25 RBP RCX
##set-slot-imm RDX RBX 6 7
##write-barrier-imm RBX 41 RDX RCX
##inc-d 1
##inc-r -3
##replace RAX D 1
##replace RSI D 0
_label 8
##call +
_label 9
##peek RAX D 1
##peek RCX D 0
##set-slot-imm RCX RAX 5 7
##write-barrier-imm RAX 33 RCX RDX
##inc-d -1
_label 10
_epilogue T{ stack-frame { total-size 32 } { calls-vm? t } }
##return
_spill-area-size 0
Author: | littledan |
Mode: | factor |
Date: | Thu, 5 Nov 2009 06:50:08 |
Plain Text |
This is actually labeled backwards. The first piece of IR is with the scheduler, and the second piece is without the scheduler
New Annotation