summaryrefslogtreecommitdiff
path: root/testsuite/tests/tool-ocaml/t172-pushenvacc4.ml
blob: 061abe3d18da01302f8faaaea8139938a2b5d70c (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
(* TEST
 include tool-ocaml-lib;
 flags = "-w -a";
 ocaml_script_as_argument = "true";
 setup-ocaml-build-env;
 ocaml;
*)

open Lib;;
let x = 5 in
let y = 4 in
let z = 3 in
let a = 2 in
let f _ = a + z + y + x in
if f 0 <> 14 then raise Not_found
;;

(**
       0 CONSTINT 42
       2 PUSHACC0
       3 MAKEBLOCK1 0
       5 POP 1
       7 SETGLOBAL Lib
       9 BRANCH 21
      11 ENVACC1
      12 PUSHENVACC2
      13 PUSHENVACC3
      14 PUSHENVACC 4
      16 ADDINT
      17 ADDINT
      18 ADDINT
      19 RETURN 1
      21 CONSTINT 5
      23 PUSHCONSTINT 4
      25 PUSHCONST3
      26 PUSHCONST2
      27 PUSHACC0
      28 PUSHACC2
      29 PUSHACC4
      30 PUSHACC6
      31 CLOSURE 4, 11
      34 PUSHCONSTINT 14
      36 PUSHCONST0
      37 PUSHACC2
      38 APPLY1
      39 NEQ
      40 BRANCHIFNOT 47
      42 GETGLOBAL Not_found
      44 MAKEBLOCK1 0
      46 RAISE
      47 POP 5
      49 ATOM0
      50 SETGLOBAL T172-pushenvacc4
      52 STOP
**)