Skip to content

Instantly share code, notes, and snippets.

@nikic

nikic/cfg Secret

Created April 16, 2021 09:00
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save nikic/84d11192df4d7b6cc42f971c7d15920b to your computer and use it in GitHub Desktop.
Save nikic/84d11192df4d7b6cc42f971c7d15920b to your computer and use it in GitHub Desktop.
test:
; (lines=13, args=2, vars=5, tmps=1)
; (JIT)
; /home/nikic/php/php-src/t277.php:2-15
; return [] RANGE[0..0]
BB0:
; start lines=[0-0]
; to=(BB1)
; level=0
; children=(BB1)
0000 CV0($a) = RECV 1
BB1:
; recv follow entry lines=[1-1]
; from=(BB0)
; to=(BB2)
; idom=BB0
; level=1
; children=(BB2)
0001 CV1($b) = RECV 2
BB2:
; recv follow entry lines=[2-2]
; from=(BB1)
; to=(BB3)
; idom=BB1
; level=2
; children=(BB3)
0002 ECHO string("Start
")
BB3:
; follow target lines=[3-3]
; from=(BB2, BB7)
; to=(BB4)
; idom=BB2
; level=3
; children=(BB4)
0003 PRE_INC CV2($i)
BB4:
; follow try lines=[4-4]
; from=(BB3)
; to=(BB7)
; idom=BB3
; level=4
; children=(BB7)
0004 JMP BB7
BB5:
; catch lines=[5-5]
; to=(BB6)
; level=0
0005 CV3($e) = CATCH string("Exception")
BB6:
; follow target lines=[6-8]
; from=(BB5, BB6)
; to=(BB6, BB7)
; level=0
0006 PRE_INC CV4($j)
0007 T5 = IS_SMALLER CV4($j) CV1($b)
0008 JMPNZ T5 BB6
BB7:
; follow target lines=[9-10]
; from=(BB4, BB6)
; to=(BB3, BB8)
; idom=BB4
; level=5
; children=(BB8)
0009 T5 = IS_SMALLER CV2($i) CV0($a)
0010 JMPNZ T5 BB3
BB8:
; follow exit lines=[11-12]
; from=(BB7)
; idom=BB7
; level=6
0011 ECHO string("Done
")
0012 RETURN null
EXCEPTION TABLE:
BB4, BB5, -, -
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment