diff options
author | Sverker Eriksson <sverker@erlang.org> | 2016-10-17 11:53:18 +0200 |
---|---|---|
committer | Sverker Eriksson <sverker@erlang.org> | 2016-10-17 11:53:18 +0200 |
commit | 32729cab75325de58bf127e6e8836348071b8682 (patch) | |
tree | 6084efc6883c937d9321ec6373f8ba7ac51ced3a /erts/emulator/hipe/hipe_load.h | |
parent | add49d36f93c03fc2edbf17663a4e7ddd982a5f0 (diff) | |
parent | a28149b2500a4db9b3c56b168dcd18effca87a3a (diff) | |
download | otp-32729cab75325de58bf127e6e8836348071b8682.tar.gz otp-32729cab75325de58bf127e6e8836348071b8682.tar.bz2 otp-32729cab75325de58bf127e6e8836348071b8682.zip |
Merge branch 'sverker/hipe-code-loadnpurge/OTP-13968'
* sverker/hipe-code-loadnpurge: (35 commits)
erts: Cleanup dead code
kernel,hipe: Fix dialyzer warnings
erts: Replace unsafe Module.first_hipe_ref
erts: Disable DBG_TRACE_MFA for debug build
kernel: Fix code_SUITE:upgrade for non-hipe
erts: Cleanup hipe trampoline code
erts: Remove dead alloc stats in hipe_amd64.c
erts: Remove code_SUITE:make_stub and make_stub_many_funs
erts: Let code:make_stub_module raise 'notsup'
erts: Fix bug in stack walk on risc
erts: Fix old leak for ppc hipe code
erts: Fix old leak for arm hipe code
erts: Fix old leak of sparc hipe code
erts: Fix old leak of hipe code on x86 32-bit
erts: Enable exec_alloc for all hipe architectures
erts: Remove debug printout for hipe loader state
erts: Free hipe_refs and hipe_sdesc of a failed load
erts: Refactor out hipe_purge_refs/sdesc
erts: Refactor hipe_loader_state_dtor into a true destructor
hipe: TRY fix llvm external calls to own module
...
Diffstat (limited to 'erts/emulator/hipe/hipe_load.h')
-rw-r--r-- | erts/emulator/hipe/hipe_load.h | 48 |
1 files changed, 48 insertions, 0 deletions
diff --git a/erts/emulator/hipe/hipe_load.h b/erts/emulator/hipe/hipe_load.h new file mode 100644 index 0000000000..40c8a8aa2a --- /dev/null +++ b/erts/emulator/hipe/hipe_load.h @@ -0,0 +1,48 @@ +/* + * %CopyrightBegin% + * + * Copyright Ericsson AB 2016. All Rights Reserved. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + * %CopyrightEnd% + */ +/* + * hipe_load.h + * + * HiPE atomic code loader + */ +#ifndef HIPE_LOAD_H +#define HIPE_LOAD_H + +#include "global.h" + +typedef struct hipe_loader_state { + Eterm module; /* Module name, atom */ + + void *text_segment; + Uint text_segment_size; + + void *data_segment; + Uint data_segment_size; + + struct hipe_ref* new_hipe_refs; + struct hipe_sdesc* new_hipe_sdesc; + +} HipeLoaderState; + +extern Binary *hipe_alloc_loader_state(Eterm module); +extern void hipe_free_loader_state(HipeLoaderState*); +extern HipeLoaderState *hipe_get_loader_state(Binary *binary); + +#endif /* HIPE_LOAD_H */ |