for review: stack trace changes to compiler.
Tyson Dowd
trd at cs.mu.OZ.AU
Tue Mar 3 18:57:06 AEDT 1998
Hi,
Here are some changes to the compiler to support stack layouts.
Changes to the runtime and library are on their way.
This change just needs a quick check, but you might want to
look at the runtime/library change as well.
===================================================================
Estimated hours taken: 1.0
Small changes to support stack traces.
compiler/llds_out.m:
Run initialization if MR_INSERT_LABELS is defined, because we
will need to do this for stack traces, accurate gc, etc.
compiler/stack_layout.m:
Update the documentation a little to refer to the new file
mercury_stack_layout.h rather than mercury_accurate_gc.h.
Index: compiler/llds_out.m
===================================================================
RCS file: /home/staff/zs/imp/mercury/compiler/llds_out.m,v
retrieving revision 1.72
diff -u -r1.72 llds_out.m
--- llds_out.m 1998/02/03 08:18:29 1.72
+++ llds_out.m 1998/02/19 04:28:39
@@ -253,7 +253,7 @@
io__write_string("!defined(USE_ASM_LABELS)) \\\n\t|| "),
io__write_string("defined(PROFILE_CALLS) || defined(DEBUG_GOTOS) \\\n"),
io__write_string("\t|| defined(DEBUG_LABELS) || !defined(SPEED) \\\n"),
- io__write_string("\t|| defined(NATIVE_GC) \n\n"),
+ io__write_string("\t|| defined(MR_INSERT_LABELS) \n\n"),
io__write_string("static void "),
output_bunch_name(BaseName, 0),
io__write_string("(void)\n"),
@@ -275,7 +275,7 @@
io__write_string("!defined(USE_ASM_LABELS)) \\\n\t|| "),
io__write_string("defined(PROFILE_CALLS) || defined(DEBUG_GOTOS) \\\n"),
io__write_string("\t|| defined(DEBUG_LABELS) || !defined(SPEED) \\\n"),
- io__write_string("\t|| defined(NATIVE_GC) \n\n"),
+ io__write_string("\t|| defined(MR_INSERT_LABELS) \n\n"),
io__write_string("\tstatic bool done = FALSE;\n"),
io__write_string("\tif (!done) {\n"),
io__write_string("\t\tdone = TRUE;\n"),
Index: compiler/stack_layout.m
===================================================================
RCS file: /home/staff/zs/imp/mercury/compiler/stack_layout.m,v
retrieving revision 1.7
diff -u -r1.7 stack_layout.m
--- stack_layout.m 1998/02/10 02:04:54 1.7
+++ stack_layout.m 1998/02/19 05:32:41
@@ -28,7 +28,7 @@
% This table will always contain the following information:
%
% code address (Code *) - address of entry
-% determinism (Integer) actually, type MR_determinism
+% determinism (Integer) actually, type MR_Determinism
% number of stack slots (Integer)
% succip stack location (Integer) actually, type MR_Live_Lval
% (the location will be set to -1
@@ -475,9 +475,9 @@
%---------------------------------------------------------------------------%
- % The constants here should be kept in sync with constants in
- % the runtime system:
- % mercury_accurate_gc.h - contains macros to access these
+ % The constants and representations here should be kept in sync
+ % with constants in the runtime system:
+ % mercury_stack_layout.h - contains macros to access these
% constants.
% Construct a representation of a live_value_type.
--
Tyson Dowd # There isn't any reason why Linux can't be
# implemented as an enterprise computing solution.
trd at cs.mu.oz.au # Find out what you've been missing while you've
http://www.cs.mu.oz.au/~trd # been rebooting Windows NT. -- InfoWorld, 1998.
More information about the developers
mailing list