aboutsummaryrefslogtreecommitdiffstats
path: root/lib/kernel/src/hipe_ext_format.hrl
diff options
context:
space:
mode:
Diffstat (limited to 'lib/kernel/src/hipe_ext_format.hrl')
-rw-r--r--lib/kernel/src/hipe_ext_format.hrl41
1 files changed, 41 insertions, 0 deletions
diff --git a/lib/kernel/src/hipe_ext_format.hrl b/lib/kernel/src/hipe_ext_format.hrl
new file mode 100644
index 0000000000..102cb49a2b
--- /dev/null
+++ b/lib/kernel/src/hipe_ext_format.hrl
@@ -0,0 +1,41 @@
+%% hipe_x86_ext_format.hrl
+%% Definitions for unified external object format
+%% Currently: sparc, x86, amd64
+%% Authors: Erik Johansson, Ulf Magnusson
+
+-define(LOAD_ATOM,0).
+-define(LOAD_ADDRESS,1).
+-define(CALL_REMOTE,2).
+-define(CALL_LOCAL,3).
+-define(SDESC,4).
+-define(X86ABSPCREL,5).
+
+-define(TERM,0).
+-define(BLOCK,1).
+-define(SORTEDBLOCK,2).
+
+-define(CONST_TYPE2EXT(T),
+ case T of
+ term -> ?TERM;
+ sorted_block -> ?SORTEDBLOCK;
+ block -> ?BLOCK
+ end).
+
+-define(EXT2CONST_TYPE(E),
+ case E of
+ ?TERM -> term;
+ ?SORTEDBLOCK -> sorted_block;
+ ?BLOCK -> block
+ end).
+
+-define(EXT2PATCH_TYPE(E),
+ case E of
+ ?LOAD_ATOM -> load_atom;
+ ?LOAD_ADDRESS -> load_address;
+ ?SDESC -> sdesc;
+ ?X86ABSPCREL -> x86_abs_pcrel;
+ ?CALL_REMOTE -> call_remote;
+ ?CALL_LOCAL -> call_local
+ end).
+
+-define(STACK_DESC(ExnRA, FSize, Arity, Live), {ExnRA, FSize, Arity, Live}).