diff options
| author | Damien Doligez <damien.doligez-inria.fr> | 2015-04-02 02:55:20 +0000 |
|---|---|---|
| committer | Damien Doligez <damien.doligez-inria.fr> | 2015-04-02 02:55:20 +0000 |
| commit | 32f63afa58d62e2c7b1d86658c600323cdd59619 (patch) | |
| tree | 87c7d6c9b31c5cebff71946a3549845fbfc30f54 /tools | |
| parent | 2e4de14a943df1f2fcbc5caf2b33e2fb334b3be4 (diff) | |
| download | ocaml-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.ml | 96 |
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"; ;; |
