diff options
author | Sverker Eriksson <[email protected]> | 2016-10-26 17:37:35 +0200 |
---|---|---|
committer | Sverker Eriksson <[email protected]> | 2016-10-26 17:37:35 +0200 |
commit | 42b9881d075344344a8c78026e282b40fa707a0c (patch) | |
tree | d9755627cee82a99eff6755c8f092ed45dd7a71e /erts/emulator/beam/erl_vm.h | |
parent | 6408400fc1ca9609169f6a0450f1c4671aced91c (diff) | |
parent | 1302b09c4aa0f944bdc0e3beeebb2cf84cc06c89 (diff) | |
download | otp-42b9881d075344344a8c78026e282b40fa707a0c.tar.gz otp-42b9881d075344344a8c78026e282b40fa707a0c.tar.bz2 otp-42b9881d075344344a8c78026e282b40fa707a0c.zip |
Merge branch 'master' into sverker/hipe-fun-purge
Diffstat (limited to 'erts/emulator/beam/erl_vm.h')
-rw-r--r-- | erts/emulator/beam/erl_vm.h | 14 |
1 files changed, 11 insertions, 3 deletions
diff --git a/erts/emulator/beam/erl_vm.h b/erts/emulator/beam/erl_vm.h index f97716d030..93cfe08105 100644 --- a/erts/emulator/beam/erl_vm.h +++ b/erts/emulator/beam/erl_vm.h @@ -146,11 +146,12 @@ typedef struct op_entry { int sz; /* Number of loaded words. */ char* pack; /* Instructions for packing engine. */ char* sign; /* Signature string. */ - unsigned count; /* Number of times executed. */ } OpEntry; -extern OpEntry opc[]; /* Description of all instructions. */ -extern int num_instructions; /* Number of instruction in opc[]. */ +extern const OpEntry opc[]; /* Description of all instructions. */ +extern const int num_instructions; /* Number of instruction in opc[]. */ + +extern Uint erts_instr_count[]; /* some constants for various table sizes etc */ @@ -185,4 +186,11 @@ extern int erts_pd_initial_size;/* Initial Process dictionary table size */ #include "erl_term.h" +#ifdef NO_JUMP_TABLE +#define BeamOp(Op) (Op) +#else +extern void** beam_ops; +#define BeamOp(Op) beam_ops[(Op)] +#endif + #endif /* __ERL_VM_H__ */ |