diff options
author | Lukas Larsson <[email protected]> | 2016-10-12 16:29:01 +0200 |
---|---|---|
committer | Lukas Larsson <[email protected]> | 2016-10-12 16:29:01 +0200 |
commit | 885599a603fdf33f04125b6052f73d7c8e193d70 (patch) | |
tree | 9b0fd2da5ab637fa9f228a4384021a3312bc5d2a /erts/emulator/beam/export.h | |
parent | 83801d03ae4e3e157862eb51179c4c154795f976 (diff) | |
parent | c283f299551d53b62027ae1a8b189285c57573e8 (diff) | |
download | otp-885599a603fdf33f04125b6052f73d7c8e193d70.tar.gz otp-885599a603fdf33f04125b6052f73d7c8e193d70.tar.bz2 otp-885599a603fdf33f04125b6052f73d7c8e193d70.zip |
Merge branch 'lukas/erts/beam_func_info_struct/OTP-13821'
* lukas/erts/beam_func_info_struct/OTP-13821:
erts: Fix some dtrace related compile issues
erts: Refactor rename Export.code[] to Export.beam[]
erts: Improve printouts for some etp commands
erts: Fix erts_debug:df with new func_info
erts: Refactor find_function_from_pc to return MFA
erts: Refactor out func_info into struct
Diffstat (limited to 'erts/emulator/beam/export.h')
-rw-r--r-- | erts/emulator/beam/export.h | 18 |
1 files changed, 8 insertions, 10 deletions
diff --git a/erts/emulator/beam/export.h b/erts/emulator/beam/export.h index 1e7bb8514b..198b90c839 100644 --- a/erts/emulator/beam/export.h +++ b/erts/emulator/beam/export.h @@ -33,22 +33,20 @@ typedef struct export { void* addressv[ERTS_NUM_CODE_IX]; /* Pointer to code for function. */ - BeamInstr fake_op_func_info_for_hipe[2]; /* MUST be just before code[] */ + ErtsCodeInfo info; /* MUST be just before beam[] */ + /* - * code[0]: Tagged atom for module. - * code[1]: Tagged atom for function. - * code[2]: Arity (untagged integer). - * code[3]: This entry is 0 unless the 'address' field points to it. + * beam[0]: This entry is 0 unless the 'addressv' field points to it. * Threaded code instruction to load function * (em_call_error_handler), execute BIF (em_apply_bif), * or a breakpoint instruction (op_i_generic_breakpoint). - * code[4]: Function pointer to BIF function (for BIFs only), + * beam[1]: Function pointer to BIF function (for BIFs only), * or pointer to threaded code if the module has an * on_load function that has not been run yet, or pointer - * to code for function code[3] is a breakpont instruction. + * to code if function beam[0] is a breakpoint instruction. * Otherwise: 0. */ - BeamInstr code[5]; + BeamInstr beam[2]; } Export; @@ -74,8 +72,8 @@ extern erts_smp_mtx_t export_staging_lock; #include "beam_load.h" /* For em_* extern declarations */ #define ExportIsBuiltIn(EntryPtr) \ -(((EntryPtr)->addressv[erts_active_code_ix()] == (EntryPtr)->code + 3) && \ - ((EntryPtr)->code[3] == (BeamInstr) em_apply_bif)) +(((EntryPtr)->addressv[erts_active_code_ix()] == (EntryPtr)->beam) && \ + ((EntryPtr)->beam[0] == (BeamInstr) em_apply_bif)) #if ERTS_GLB_INLINE_INCL_FUNC_DEF |