aboutsummaryrefslogtreecommitdiffstats
path: root/erts/emulator/beam/global.h
diff options
context:
space:
mode:
authorBjörn Gustavsson <[email protected]>2012-01-18 16:44:48 +0100
committerSverker Eriksson <[email protected]>2012-02-21 12:22:59 +0100
commitdab78e34dac11579cda578ffc6cf9293394456e4 (patch)
tree37bb3c0c882683051d6d514772daf7f2ae856e70 /erts/emulator/beam/global.h
parentf3b2fc3db73e76323bff1a7f233a8914464b29aa (diff)
downloadotp-dab78e34dac11579cda578ffc6cf9293394456e4.tar.gz
otp-dab78e34dac11579cda578ffc6cf9293394456e4.tar.bz2
otp-dab78e34dac11579cda578ffc6cf9293394456e4.zip
BEAM loader: Break out handling of ranges into beam_ranges.c
Having the entire implementation of range handling (address table) in one source file will help when we'll need to update the ranges without stopping all schedulers in the next commit.
Diffstat (limited to 'erts/emulator/beam/global.h')
-rw-r--r--erts/emulator/beam/global.h8
1 files changed, 7 insertions, 1 deletions
diff --git a/erts/emulator/beam/global.h b/erts/emulator/beam/global.h
index 4ce6ed5280..05517ac9e8 100644
--- a/erts/emulator/beam/global.h
+++ b/erts/emulator/beam/global.h
@@ -884,12 +884,18 @@ void init_load(void);
BeamInstr* find_function_from_pc(BeamInstr* pc);
Eterm* erts_build_mfa_item(FunctionInfo* fi, Eterm* hp,
Eterm args, Eterm* mfa_p);
-void erts_lookup_function_info(FunctionInfo* fi, BeamInstr* pc, int full_info);
void erts_set_current_function(FunctionInfo* fi, BeamInstr* current);
Eterm erts_module_info_0(Process* p, Eterm module);
Eterm erts_module_info_1(Process* p, Eterm module, Eterm what);
Eterm erts_make_stub_module(Process* p, Eterm Mod, Eterm Beam, Eterm Info);
+/* beam_ranges.c */
+void erts_init_ranges(void);
+void erts_update_ranges(BeamInstr* code, Uint size);
+void erts_remove_from_ranges(BeamInstr* code);
+Uint erts_ranges_sz(void);
+void erts_lookup_function_info(FunctionInfo* fi, BeamInstr* pc, int full_info);
+
/* break.c */
void init_break_handler(void);
void erts_set_ignore_break(void);