aboutsummaryrefslogtreecommitdiffstats
path: root/lib/compiler/src/beam_disasm.hrl
diff options
context:
space:
mode:
Diffstat (limited to 'lib/compiler/src/beam_disasm.hrl')
-rw-r--r--lib/compiler/src/beam_disasm.hrl43
1 files changed, 43 insertions, 0 deletions
diff --git a/lib/compiler/src/beam_disasm.hrl b/lib/compiler/src/beam_disasm.hrl
new file mode 100644
index 0000000000..c2aca1199e
--- /dev/null
+++ b/lib/compiler/src/beam_disasm.hrl
@@ -0,0 +1,43 @@
+%% -*- erlang-indent-level: 4 -*-
+%%
+%% %CopyrightBegin%
+%%
+%% Copyright Ericsson AB 2007-2009. All Rights Reserved.
+%%
+%% The contents of this file are subject to the Erlang Public License,
+%% Version 1.1, (the "License"); you may not use this file except in
+%% compliance with the License. You should have received a copy of the
+%% Erlang Public License along with this software. If not, it can be
+%% retrieved online at http://www.erlang.org/.
+%%
+%% Software distributed under the License is distributed on an "AS IS"
+%% basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See
+%% the License for the specific language governing rights and limitations
+%% under the License.
+%%
+%% %CopyrightEnd%
+%%
+%% Purpose: Exposes type definitions used also in other parts of
+%% the system (e.g. in the translation from Beam to Icode).
+
+%%
+%% XXX: THE FOLLOWING TYPE DECLARATION DOES NOT BELONG HERE...
+%%
+-type beam_instr() :: 'bs_init_writable' | 'fclearerror' | 'if_end'
+ | 'remove_message' | 'return' | 'send' | 'timeout'
+ | tuple(). %% XXX: Very underspecified - FIX THIS
+
+%%-----------------------------------------------------------------------
+%% Record definitions
+%%-----------------------------------------------------------------------
+
+-record(function, {name :: atom(),
+ arity :: byte(),
+ entry, %% unused ??
+ code = [] :: [beam_instr()]}).
+
+-record(beam_file, {module :: module(),
+ labeled_exports = [] :: [beam_lib:labeled_entry()],
+ attributes = [] :: [beam_lib:attrib_entry()],
+ compile_info = [] :: [beam_lib:compinfo_entry()],
+ code = [] :: [#function{}]}).