summaryrefslogtreecommitdiff
path: root/tools
diff options
context:
space:
mode:
authorDamien Doligez <damien.doligez-inria.fr>2015-04-02 02:55:20 +0000
committerDamien Doligez <damien.doligez-inria.fr>2015-04-02 02:55:20 +0000
commit32f63afa58d62e2c7b1d86658c600323cdd59619 (patch)
tree87c7d6c9b31c5cebff71946a3549845fbfc30f54 /tools
parent2e4de14a943df1f2fcbc5caf2b33e2fb334b3be4 (diff)
downloadocaml-32f63afa58d62e2c7b1d86658c600323cdd59619.tar.gz
dumpobj: remove spurious whitespace and add missing opcodes
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@15980 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
Diffstat (limited to 'tools')
-rw-r--r--tools/dumpobj.ml96
1 files changed, 50 insertions, 46 deletions
diff --git a/tools/dumpobj.ml b/tools/dumpobj.ml
index f1e2897381..7fd3e43914 100644
--- a/tools/dumpobj.ml
+++ b/tools/dumpobj.ml
@@ -394,6 +394,8 @@ let op_shapes = [
opSTOP, Nothing;
opEVENT, Nothing;
opBREAK, Nothing;
+ opRERAISE, Nothing;
+ opRAISE_NOTRACE, Nothing;
];;
let print_event ev =
@@ -412,52 +414,54 @@ let print_instr ic =
if op >= Array.length names_of_instructions || op < 0
then (print_string "*** unknown opcode : "; print_int op)
else print_string names_of_instructions.(op);
- print_string " ";
- begin try match List.assoc op op_shapes with
- | Uint -> print_int (inputu ic)
- | Sint -> print_int (inputs ic)
- | Uint_Uint
- -> print_int (inputu ic); print_string ", "; print_int (inputu ic)
- | Disp -> let p = currpc ic in print_int (p + inputs ic)
- | Uint_Disp
- -> print_int (inputu ic); print_string ", ";
- let p = currpc ic in print_int (p + inputs ic)
- | Sint_Disp
- -> print_int (inputs ic); print_string ", ";
- let p = currpc ic in print_int (p + inputs ic)
- | Getglobal -> print_getglobal_name ic
- | Getglobal_Uint
- -> print_getglobal_name ic; print_string ", "; print_int (inputu ic)
- | Setglobal -> print_setglobal_name ic
- | Primitive -> print_primitive ic
- | Uint_Primitive
- -> print_int(inputu ic); print_string ", "; print_primitive ic
- | Switch
- -> let n = inputu ic in
- let orig = currpc ic in
- for i = 0 to (n land 0xFFFF) - 1 do
- print_string "\n int "; print_int i; print_string " -> ";
- print_int(orig + inputs ic);
- done;
- for i = 0 to (n lsr 16) - 1 do
- print_string "\n tag "; print_int i; print_string " -> ";
- print_int(orig + inputs ic);
- done;
- | Closurerec
- -> let nfuncs = inputu ic in
- let nvars = inputu ic in
- let orig = currpc ic in
- print_int nvars;
- for _i = 0 to nfuncs - 1 do
- print_string ", ";
- print_int (orig + inputs ic);
- done;
- | Pubmet
- -> let tag = inputs ic in
- let _cache = inputu ic in
- print_int tag
- | Nothing -> ()
- with Not_found -> print_string "(unknown arguments)"
+ begin try
+ let shape = List.assoc op op_shapes in
+ if shape <> Nothing then print_string " ";
+ match shape with
+ | Uint -> print_int (inputu ic)
+ | Sint -> print_int (inputs ic)
+ | Uint_Uint
+ -> print_int (inputu ic); print_string ", "; print_int (inputu ic)
+ | Disp -> let p = currpc ic in print_int (p + inputs ic)
+ | Uint_Disp
+ -> print_int (inputu ic); print_string ", ";
+ let p = currpc ic in print_int (p + inputs ic)
+ | Sint_Disp
+ -> print_int (inputs ic); print_string ", ";
+ let p = currpc ic in print_int (p + inputs ic)
+ | Getglobal -> print_getglobal_name ic
+ | Getglobal_Uint
+ -> print_getglobal_name ic; print_string ", "; print_int (inputu ic)
+ | Setglobal -> print_setglobal_name ic
+ | Primitive -> print_primitive ic
+ | Uint_Primitive
+ -> print_int(inputu ic); print_string ", "; print_primitive ic
+ | Switch
+ -> let n = inputu ic in
+ let orig = currpc ic in
+ for i = 0 to (n land 0xFFFF) - 1 do
+ print_string "\n int "; print_int i; print_string " -> ";
+ print_int(orig + inputs ic);
+ done;
+ for i = 0 to (n lsr 16) - 1 do
+ print_string "\n tag "; print_int i; print_string " -> ";
+ print_int(orig + inputs ic);
+ done;
+ | Closurerec
+ -> let nfuncs = inputu ic in
+ let nvars = inputu ic in
+ let orig = currpc ic in
+ print_int nvars;
+ for _i = 0 to nfuncs - 1 do
+ print_string ", ";
+ print_int (orig + inputs ic);
+ done;
+ | Pubmet
+ -> let tag = inputs ic in
+ let _cache = inputu ic in
+ print_int tag
+ | Nothing -> ()
+ with Not_found -> print_string " (unknown arguments)"
end;
print_string "\n";
;;