sync the repo
[hiphop-php.git] / hphp / test / quick / asm_switch.hhas
blob3e8f3ff78e9a378cace04e4188007a410a9a61cf
2 # Switch statement
5 # array(0,1,2,3,4)
6 .adata my_array = """D:5:{i:0;i:0;i:1;i:1;i:2;i:2;i:3;i:3;i:4;i:4;}""";
8 .function ["__EntryPoint"("""y:0:{}""")] N main() {
9          .numiters 1;
10          .declvars $arr $foo;
12          Dict @my_array
13          SetL $arr
14          PopC
16          # Loop over array and jump to each label.
17          IterInit <> 0 NK V:$foo $arr endfor
18          .try {
19 loop:      CGetL $foo
20            Switch Unbounded 0 <label_0 label_1 label_2 label_3 label_4>
22 label_0:   String "label_0\n"
23            Jmp printer
24 label_1:   String "label_1\n"
25            Jmp printer
26 label_2:   String "label_2\n"
27            Jmp printer
28 label_3:   String "label_3\n"
29            Jmp printer
30 label_4:   String "label_4\n"
32 printer:   Print
33            PopC
34            IterNext <> 0 NK V:$foo $arr loop
35            Jmp endfor
36          } .catch {
37            IterFree 0
38            Throw
39          }
40 endfor:  Int 1
41          RetC