simonmar [Fri, 18 Feb 2000 10:46:27 +0000 (10:46 +0000)]
[project @ 2000-02-18 10:46:27 by simonmar]
put SRTs in the text section.
simonmar [Fri, 18 Feb 2000 10:26:19 +0000 (10:26 +0000)]
[project @ 2000-02-18 10:26:19 by simonmar]
Add copyright & Id
simonmar [Fri, 18 Feb 2000 10:25:53 +0000 (10:25 +0000)]
[project @ 2000-02-18 10:25:53 by simonmar]
Module size wasn't taking into account the data section.
simonmar [Thu, 17 Feb 2000 17:19:42 +0000 (17:19 +0000)]
[project @ 2000-02-17 17:19:42 by simonmar]
Fitst cut at XML-style profiling logs. Time/allocation profiling only
for now, and the new flag '+RTS -px' enables the new log file format.
panne [Thu, 17 Feb 2000 14:47:32 +0000 (14:47 +0000)]
[project @ 2000-02-17 14:47:21 by panne]
Result of my daily DEPRECATED-hour: Now it's possible to use the
pragma without harm, but nothing spectacular happens yet, only the
usual renamer checks (duplication, var in scope).
simonmar [Thu, 17 Feb 2000 14:15:10 +0000 (14:15 +0000)]
[project @ 2000-02-17 14:15:10 by simonmar]
clean up: some parallel stuff had escaped from #ifdef PAR (Hans???)
simonmar [Thu, 17 Feb 2000 12:20:04 +0000 (12:20 +0000)]
[project @ 2000-02-17 12:20:04 by simonmar]
sync with reality slightly.
panne [Wed, 16 Feb 2000 12:57:39 +0000 (12:57 +0000)]
[project @ 2000-02-16 12:57:39 by panne]
Fixed pretty printing of DEPRECATED
panne [Wed, 16 Feb 2000 12:56:22 +0000 (12:56 +0000)]
[project @ 2000-02-16 12:56:22 by panne]
Fixed pretty printing of RULES
panne [Tue, 15 Feb 2000 22:18:54 +0000 (22:18 +0000)]
[project @ 2000-02-15 22:18:16 by panne]
First steps towards DEPRECATED before Rosebank (12yrs) takes its toll.
Nothing very functional yet, but at least hsc can be compiled and it
still compiles the Prelude.
Parsing the pragma turned out to be a little bit more complicated than
expected, here the comment from Parser.y:
The place for module deprecation is really too restrictive, but if it
was allowed at its natural place just before 'module', we get an ugly
s/r conflict with the second alternative. Another solution would be the
introduction of a new pragma DEPRECATED_MODULE, but this is not very nice,
either, and DEPRECATED is only expected to be used by people who really
know what they are doing. :-)
Net result: Module deprecation is allowed exactly behind the module's
name and nowhere else. I probably have to think a little bit more
about this some day...
sewardj [Tue, 15 Feb 2000 15:14:09 +0000 (15:14 +0000)]
[project @ 2000-02-15 15:14:09 by sewardj]
Implement CONST_INT_big and CONST_ADDR_big.
sewardj [Tue, 15 Feb 2000 13:16:20 +0000 (13:16 +0000)]
[project @ 2000-02-15 13:16:19 by sewardj]
Backend interop fixes:
-- Make Hugs use the same constructor tag numbering as GHC, viz, starting
at zero.
-- Evaluator.c: when unwinding the stack on entering a constructor,
return to the scheduler if a RET_{VEC_}{SMALL|BIG} is found on the
stack.
sewardj [Tue, 15 Feb 2000 11:24:20 +0000 (11:24 +0000)]
[project @ 2000-02-15 11:24:20 by sewardj]
In hugsprimRunIO_toplevel, use catchException instead of catch.
At least exceptions can then be caught, although Hugs then goes on
to die with an assertion failure in unblockAsyncExceptionszh_ret_entry,
probably caused by wrongly entering it twice in immediate succession.
sewardj [Mon, 14 Feb 2000 11:59:27 +0000 (11:59 +0000)]
[project @ 2000-02-14 11:59:27 by sewardj]
Build parser/ctypes.o with $(HC), not $(CC).
sewardj [Mon, 14 Feb 2000 11:15:09 +0000 (11:15 +0000)]
[project @ 2000-02-14 11:15:09 by sewardj]
wibble
sewardj [Mon, 14 Feb 2000 11:13:11 +0000 (11:13 +0000)]
[project @ 2000-02-14 11:13:11 by sewardj]
cosmetic wibbles
sewardj [Mon, 14 Feb 2000 11:12:29 +0000 (11:12 +0000)]
[project @ 2000-02-14 11:12:29 by sewardj]
Remove fromDouble from class Fractional, and make it standalone.
This matches GHC. I don't think this is strictly necessary, but
Hugs refers to fromDouble during desugaring and I prefer to avoid
possible mishaps.
sewardj [Mon, 14 Feb 2000 11:04:58 +0000 (11:04 +0000)]
[project @ 2000-02-14 11:04:58 by sewardj]
Paranoia: barf if enterBCO_primop1 or enterBCO_primop2 are called
in combined mode (since GHC should handle all primops in that case).
sewardj [Mon, 14 Feb 2000 11:01:27 +0000 (11:01 +0000)]
[project @ 2000-02-14 11:01:27 by sewardj]
Add a debugging version of the mini-interpreter for Hugs.
sewardj [Mon, 14 Feb 2000 10:59:30 +0000 (10:59 +0000)]
[project @ 2000-02-14 10:59:30 by sewardj]
Tart up printStackChunk a bit./
sewardj [Mon, 14 Feb 2000 10:58:05 +0000 (10:58 +0000)]
[project @ 2000-02-14 10:58:05 by sewardj]
initStorage: remove #ifdef COMPILER around call to mp_set_memory_functions.
sewardj [Mon, 14 Feb 2000 10:56:47 +0000 (10:56 +0000)]
[project @ 2000-02-14 10:56:47 by sewardj]
PUSH_N for 0 regs available: also push stack tag to aid debugging
simonpj [Fri, 11 Feb 2000 13:07:25 +0000 (13:07 +0000)]
[project @ 2000-02-11 13:07:25 by simonpj]
Add pprFSInCStyle
simonpj [Fri, 11 Feb 2000 13:06:39 +0000 (13:06 +0000)]
[project @ 2000-02-11 13:06:39 by simonpj]
Add a few functions to Outputable
lewie [Thu, 10 Feb 2000 18:39:51 +0000 (18:39 +0000)]
[project @ 2000-02-10 18:39:51 by lewie]
Fix a couple of Implicit Param wibbles.
simonpj [Thu, 10 Feb 2000 15:39:39 +0000 (15:39 +0000)]
[project @ 2000-02-10 15:39:39 by simonpj]
A few comments about RnIfaces.lookupFixity
lewie [Wed, 9 Feb 2000 18:32:10 +0000 (18:32 +0000)]
[project @ 2000-02-09 18:32:09 by lewie]
Misc. fixes to implicit parameters support.
sewardj [Wed, 9 Feb 2000 14:50:21 +0000 (14:50 +0000)]
[project @ 2000-02-09 14:50:19 by sewardj]
More bug fixes resulting from trying to load small programs into Hugs
using the GHC Prelude:
-- Better handling of kinds on class method types. It's still a kludge
(I reckon) but works well enough to correctly handle methods in
Monad and Functor. See comment in startGHCClass() in interface.c.
-- Add hugsprimReadField and hugsprimShowField.
-- Make error be exported from the Prelude. For some reason, PrelErr.hi
doesn't give a signature for error, so we have to fake it by copying
that of hugsprimError.
-- Handle fixity declarations read from interfaces.
-- Set nameListMonad so that list comprehensions can be translated.
sewardj [Tue, 8 Feb 2000 17:50:46 +0000 (17:50 +0000)]
[project @ 2000-02-08 17:50:46 by sewardj]
-- finishGHCClass(): fill in the .number fields for members in the
correct order.
-- Let nullary constructors be called via their _closure labels so they
don't get heap-allocated.
sewardj [Tue, 8 Feb 2000 15:34:36 +0000 (15:34 +0000)]
[project @ 2000-02-08 15:34:36 by sewardj]
Add hugsprimError, hugsprimCompAux.
sewardj [Tue, 8 Feb 2000 15:32:31 +0000 (15:32 +0000)]
[project @ 2000-02-08 15:32:29 by sewardj]
Many bug fixes for object loading:
-- create class symbol table entries more correctly
-- find GHC-created info tables for names which are constructors
-- add debugging machinery: :d <entity> and symbol-table printers
simonmar [Mon, 7 Feb 2000 20:57:58 +0000 (20:57 +0000)]
[project @ 2000-02-07 20:57:58 by simonmar]
I'm utterly bemused, but it seems that someone called simonpj disabled
the virtual timer in rev 1.25:
+ #if 0 /* tmp--SDM */
initialize_virtual_timer(TICK_MILLISECS);
+ #endif
and tried to blame it on me by putting my name in the comment :-)
(Simon - perhaps you copied this file out of my working tree and
committed it by mistake or something?)
sewardj [Fri, 4 Feb 2000 17:29:24 +0000 (17:29 +0000)]
[project @ 2000-02-04 17:29:24 by sewardj]
Remove various -fvia-Cs, leaving the minimal required set (4 of them).
sewardj [Fri, 4 Feb 2000 17:26:58 +0000 (17:26 +0000)]
[project @ 2000-02-04 17:26:58 by sewardj]
GSQRT, GSIN, GCOS, GTAN: if result size is float (as opposed to double),
truncate the result to that length by writing it into memory and
getting it back again (duh!), since that's what gcc does.
lewie [Fri, 4 Feb 2000 17:02:12 +0000 (17:02 +0000)]
[project @ 2000-02-04 17:02:11 by lewie]
Fix a subtle bug in overlapping instances where a generic instance is sometimes
chosen rather than a more specific one. See discussion at top of InstEnv
for details.
sewardj [Fri, 4 Feb 2000 13:41:00 +0000 (13:41 +0000)]
[project @ 2000-02-04 13:41:00 by sewardj]
startGHCClass(): set the .dsels (superclass dsels) field.
simonmar [Fri, 4 Feb 2000 11:18:05 +0000 (11:18 +0000)]
[project @ 2000-02-04 11:18:05 by simonmar]
Fix bug #2 in unregisterised RTS:
forceIO had the same problem as catch#. This bug has been here for a
long time, not sure why we haven't noticed it before.
Jules: that should get you back on the road.
simonmar [Fri, 4 Feb 2000 11:15:04 +0000 (11:15 +0000)]
[project @ 2000-02-04 11:15:04 by simonmar]
Fix bug #1 in the unregisterised RTS:
Now that catch# is a fully-fledged IO operation, it has to respect the
return convention for IO, in particular if we don't have an R1
(eg. when unregisterised) then the return value goes on the stack.
The return convention could be better, after all we use R1 when
returning normal values, but I'll just fix it for now.
sewardj [Thu, 3 Feb 2000 18:01:03 +0000 (18:01 +0000)]
[project @ 2000-02-03 18:01:03 by sewardj]
Fix x86 NCG so the compiler can compile itself `-O':
-- Implement fake x86 insn GITOD/GITOF.
-- Implement primops ReadMutVarOp and WriteMutVarOp.
-- Pro tem, disable use of %eax as a spill temp.
-- Clarify wording of Rules of the Game comment in MachCode.
sewardj [Thu, 3 Feb 2000 15:56:13 +0000 (15:56 +0000)]
[project @ 2000-02-03 15:56:13 by sewardj]
Remember all the classes loaded from an object file group, and
call visitClass on them at the end of processInterfaces(), so that
the .level numbers on the class get calculated.
sewardj [Thu, 3 Feb 2000 14:01:07 +0000 (14:01 +0000)]
[project @ 2000-02-03 14:01:07 by sewardj]
Add hugsprimPmFail.
sewardj [Thu, 3 Feb 2000 13:55:22 +0000 (13:55 +0000)]
[project @ 2000-02-03 13:55:21 by sewardj]
-- Make default defaults work in combined mode
-- rename some fns in lib/Prelude.hs to match names in HugsPrel.lhs
sewardj [Wed, 2 Feb 2000 11:40:33 +0000 (11:40 +0000)]
[project @ 2000-02-02 11:40:33 by sewardj]
trivialCode on x86 is the heart of instruction selection for
expressions. It is definitely a non-trivial in complexity.
To generate correct code it needs to observe preserve several
delicate invariants, but didn't.
-- Recorded in MachCode.lhs the "Rules of the Game"; ie what I think
the required invariants are.
-- Completely rewrote trivialCode (also shift_code). I think it should
handle all cases correctly, and has special treatment for literal
operands.
-- Updated NOTES file to record issues which need to be resolved
before x86 nativeGen can be considered ready for public use.
sewardj [Tue, 1 Feb 2000 16:08:17 +0000 (16:08 +0000)]
[project @ 2000-02-01 16:08:17 by sewardj]
Export findReservedRegs for all architectures.
sewardj [Tue, 1 Feb 2000 16:02:12 +0000 (16:02 +0000)]
[project @ 2000-02-01 16:02:12 by sewardj]
primOpStrictness(CatchOp): catch# isn't strict in its first arg.
sewardj [Tue, 1 Feb 2000 14:08:22 +0000 (14:08 +0000)]
[project @ 2000-02-01 14:08:22 by sewardj]
Double the number of RESERVED_C_STACK_BYTES so as to give the
native code generator up to 508 spill slots.
sewardj [Tue, 1 Feb 2000 14:02:02 +0000 (14:02 +0000)]
[project @ 2000-02-01 14:02:02 by sewardj]
-- Cosmetic changes in register allocator.
-- Implement macro HP_GEN_SEQ_NP.
-- MachCode(trivialCode, x86): because one of the operands is also
the destination (on this 2-address arch), it's invalid to sequence
the code to compute the operands using asmParThen [code1, code2].
since the order of assignments matters. Fixed.
sewardj [Mon, 31 Jan 2000 18:11:50 +0000 (18:11 +0000)]
[project @ 2000-01-31 18:11:50 by sewardj]
Spilling and x86 shift-code cleanups.
simonmar [Mon, 31 Jan 2000 15:35:05 +0000 (15:35 +0000)]
[project @ 2000-01-31 15:35:05 by simonmar]
Add configure target to detect when autoconf needs to be run.
simonmar [Mon, 31 Jan 2000 15:12:07 +0000 (15:12 +0000)]
[project @ 2000-01-31 15:12:07 by simonmar]
Include the configure script in a src dist.
sewardj [Mon, 31 Jan 2000 14:25:34 +0000 (14:25 +0000)]
[project @ 2000-01-31 14:25:34 by sewardj]
Change primOpUsg(CatchOp) to reflect changed arity of catch#. Also
update primOpStrictness(CatchOp).
simonmar [Mon, 31 Jan 2000 13:17:18 +0000 (13:17 +0000)]
[project @ 2000-01-31 13:17:18 by simonmar]
We don't want -keep-{hc,s}-files-too on by default, and why do we need
-H32M -K32M for PrelBase.lhs? Hans: I want a word with you :)
simonmar [Sun, 30 Jan 2000 10:25:29 +0000 (10:25 +0000)]
[project @ 2000-01-30 10:25:27 by simonmar]
Change the type of catch# to
catch# :: (W# -> (# W#, a #))
-> (b -> W# -> (# W#, a #))
-> W# -> (# W# , a #)
where W# == State# RealWorld. In other words, make it explicit that
catch# is an IO operation and takes IO operations as arguments. The
previous type was too general, and resulted in catch# having the wrong
arity which could cause mis-optimisations.
The down side is that we now have to pass the state token around
inside the primop instead of doing it in the Haskell wrapper, and
raiseAsync() also has to build a PAP(handler,exception,realworld)
instead of just a PAP(handler,exception) when it invokes a handler as
a result of an async exception.
I also added some optimisations to (un)?blockAsyncException to not
grow the stack if it can be avoided, such as when we're about to block
async exceptions and there's a blockAsyncExceptions_ret stack frame on
the top of the stack.
simonmar [Sun, 30 Jan 2000 10:17:44 +0000 (10:17 +0000)]
[project @ 2000-01-30 10:17:44 by simonmar]
The bd->free field of a block descriptor is supposed to be set to -1
for free blocks, if we're #ifdef DEBUGging. It wasn't sometimes.
simonmar [Sun, 30 Jan 2000 10:16:09 +0000 (10:16 +0000)]
[project @ 2000-01-30 10:16:09 by simonmar]
Deal with ThreadRelocated in checkTSO().
simonmar [Sun, 30 Jan 2000 10:11:32 +0000 (10:11 +0000)]
[project @ 2000-01-30 10:11:32 by simonmar]
Add notes about where the IO representation is wired in to various
parts of the source tree, since I'm about to add some more.
simonmar [Sun, 30 Jan 2000 10:08:27 +0000 (10:08 +0000)]
[project @ 2000-01-30 10:08:27 by simonmar]
comment fixup
lewie [Fri, 28 Jan 2000 20:52:46 +0000 (20:52 +0000)]
[project @ 2000-01-28 20:52:37 by lewie]
First pass at implicit parameters. Honest, I didn't really go in *intending*
to modify every file in the typechecker... ;-) The breadth of the change
is partly due to generalizing contexts so that they are not hardwired to
be (Class, [Type]) pairs. See types/Type.lhs for details (look for PredType).
sewardj [Fri, 28 Jan 2000 18:07:56 +0000 (18:07 +0000)]
[project @ 2000-01-28 18:07:55 by sewardj]
Modifications to make x86 register spilling to work reasonably. It
should work ok most of the time, although there is still a remote
possibility that the allocator simply will be unable to complete
spilling, and will just give up.
-- Incrementally try with 0, 1, 2 and 3 spill regs, so as not to
unduly restrict the supply of regs in code which doesn't need spilling.
-- Remove the use of %ecx for shift values, so it is always available
as the first-choice spill temporary. For code which doesn't do
int division, make %edx and %eax available for spilling too.
Shifts by a non-constant amount (very rare) are now done by
a short test-and-jump sequence, so that %ecx is not tied up.
-- x86 FP: do sin, cos, tan in-line so we get the same answers as gcc.
-- Moved a little code around to remove recursive dependencies.
-- Fix a subtle bug in x86 regUsage, which could cause underestimation
of live ranges.
simonmar [Fri, 28 Jan 2000 16:36:03 +0000 (16:36 +0000)]
[project @ 2000-01-28 16:36:03 by simonmar]
bump version to 4.07 on the main trunk.
simonmar [Fri, 28 Jan 2000 14:14:01 +0000 (14:14 +0000)]
[project @ 2000-01-28 14:14:01 by simonmar]
don't use ^ in patterns, Solaris sh barfs on it.
sewardj [Fri, 28 Jan 2000 09:40:06 +0000 (09:40 +0000)]
[project @ 2000-01-28 09:40:05 by sewardj]
Commit all changes prior to addressing the x86 spilling situation in
the register allocator.
-- Fix nonsensical x86 addressing mode hacks in mangleIndexTree
and getAmode.
-- Make char-sized loads work properly, using MOVZBL.
-- In assignIntCode, use primRep on the assign node to determine
the size of data transfer, not the size of the source.
-- Redo Integer primitives to be in line with current representation
of Integers.
rrt [Thu, 27 Jan 2000 10:23:09 +0000 (10:23 +0000)]
[project @ 2000-01-27 10:23:09 by rrt]
Added note about the necessity of using the Cygnus DocBook tools (rather
than, e.g., SuSE).
rrt [Wed, 26 Jan 2000 17:02:32 +0000 (17:02 +0000)]
[project @ 2000-01-26 17:02:32 by rrt]
Removed redundant rules (%.dvi : %.tex &c.) that were breaking DocBook
(re)building.
rrt [Wed, 26 Jan 2000 16:08:25 +0000 (16:08 +0000)]
[project @ 2000-01-26 16:08:25 by rrt]
Corrected release notes URLs
sewardj [Wed, 26 Jan 2000 13:40:54 +0000 (13:40 +0000)]
[project @ 2000-01-26 13:40:54 by sewardj]
Observe the C conventions for use of the FP register stack. In particular,
free up any live fp registers prior to non-local control transfers. Sigh.
This is not good. The FP situation needs to be reviewed once the rest
of x86 nativeGen is stable.
sewardj [Wed, 26 Jan 2000 13:38:36 +0000 (13:38 +0000)]
[project @ 2000-01-26 13:38:36 by sewardj]
genCCall (x86): pass float args in double format.
sewardj [Wed, 26 Jan 2000 13:38:02 +0000 (13:38 +0000)]
[project @ 2000-01-26 13:38:02 by sewardj]
spillReg, loadReg (x86): always spill fp registers using double-sized
loads/stores, even if they nominally contain only a float value --
otherwise the spill loses the extra guard bits.
simonmar [Wed, 26 Jan 2000 13:07:55 +0000 (13:07 +0000)]
[project @ 2000-01-26 13:07:55 by simonmar]
Finish pass 1 over the build system docs.
simonmar [Wed, 26 Jan 2000 12:45:52 +0000 (12:45 +0000)]
[project @ 2000-01-26 12:45:52 by simonmar]
Fix some of the gross inaccuracies in this documentation.
rrt [Wed, 26 Jan 2000 12:27:34 +0000 (12:27 +0000)]
[project @ 2000-01-26 12:27:34 by rrt]
Removed version number and reelucidated some text swallowed by index entries.
rrt [Wed, 26 Jan 2000 11:40:54 +0000 (11:40 +0000)]
[project @ 2000-01-26 11:40:54 by rrt]
Changed default text size to "normal".
sewardj [Wed, 26 Jan 2000 11:40:26 +0000 (11:40 +0000)]
[project @ 2000-01-26 11:40:26 by sewardj]
spillReg, loadReg (x86): spill above %esp, not below it. Duh. If you
spill below %esp, ccalls, which use stack below %esp, can trash the
spill area.
rrt [Wed, 26 Jan 2000 11:35:02 +0000 (11:35 +0000)]
[project @ 2000-01-26 11:35:02 by rrt]
Updated version to 4.06
panne [Wed, 26 Jan 2000 10:44:13 +0000 (10:44 +0000)]
[project @ 2000-01-26 10:44:07 by panne]
Sven's first autoheader commandment: Don't change config.h.in manually...!
(Why is mk/config.h.in in the repository? configure is not, either.)
sewardj [Tue, 25 Jan 2000 20:09:22 +0000 (20:09 +0000)]
[project @ 2000-01-25 20:09:22 by sewardj]
Teach magicIdRegMaybe about R9 and R10.
sewardj [Tue, 25 Jan 2000 20:08:33 +0000 (20:08 +0000)]
[project @ 2000-01-25 20:08:33 by sewardj]
Print a useful panic msg if getRegister(x86) can't reduce a tree.
sewardj [Tue, 25 Jan 2000 19:49:45 +0000 (19:49 +0000)]
[project @ 2000-01-25 19:49:45 by sewardj]
pprInstr: implement GABS, GNEG, GSQRT.
sewardj [Tue, 25 Jan 2000 19:33:32 +0000 (19:33 +0000)]
[project @ 2000-01-25 19:33:32 by sewardj]
Handle float args correctly for x86 ccalls.
sewardj [Tue, 25 Jan 2000 19:18:42 +0000 (19:18 +0000)]
[project @ 2000-01-25 19:18:42 by sewardj]
Disable a dubious looking clause for trivialCode (x86), which was
generating bad code for some subtracts.
sewardj [Tue, 25 Jan 2000 18:09:52 +0000 (18:09 +0000)]
[project @ 2000-01-25 18:09:52 by sewardj]
Implement the HP_CHK_GEN macro. As a result, teach mkNativeHdr et al
about R9 and R10.
sewardj [Tue, 25 Jan 2000 16:59:30 +0000 (16:59 +0000)]
[project @ 2000-01-25 16:59:30 by sewardj]
wibble
sewardj [Tue, 25 Jan 2000 16:58:57 +0000 (16:58 +0000)]
[project @ 2000-01-25 16:58:57 by sewardj]
amodeToStix, GET_TAG: implement correctly for little-endian-32 and
supply implementation for big-endian-32. Definitely won't work on
64-bit platforms.
sewardj [Tue, 25 Jan 2000 16:57:40 +0000 (16:57 +0000)]
[project @ 2000-01-25 16:57:40 by sewardj]
genCodeInfoTable: put tag value into srt_len field for constr info tables.
panne [Tue, 25 Jan 2000 14:57:53 +0000 (14:57 +0000)]
[project @ 2000-01-25 14:57:53 by panne]
"installing" is now called "building"
sewardj [Tue, 25 Jan 2000 14:40:32 +0000 (14:40 +0000)]
[project @ 2000-01-25 14:40:32 by sewardj]
x86: free up all FP regs before doing a ccall. This appears to be a
part of the x86 calling convention(s).
panne [Tue, 25 Jan 2000 14:39:14 +0000 (14:39 +0000)]
[project @ 2000-01-25 14:39:14 by panne]
Added a bunch of #defines for {SIZEOF,ALIGNMENT}_{INT,WORD}{8,16,32,64}.
All this is a real hack: The include files need a more thorough restructuring.
panne [Tue, 25 Jan 2000 14:36:53 +0000 (14:36 +0000)]
[project @ 2000-01-25 14:36:53 by panne]
Added note about necessary synching with MachDeps.h and fixed a small typo
panne [Tue, 25 Jan 2000 14:34:12 +0000 (14:34 +0000)]
[project @ 2000-01-25 14:34:07 by panne]
Added more SIZEOF/ALIGNMENT tests
simonpj [Tue, 25 Jan 2000 14:12:08 +0000 (14:12 +0000)]
[project @ 2000-01-25 14:12:08 by simonpj]
fix typo
rrt [Tue, 25 Jan 2000 12:01:59 +0000 (12:01 +0000)]
[project @ 2000-01-25 12:01:59 by rrt]
Renamed from installing.sgml
rrt [Tue, 25 Jan 2000 12:01:28 +0000 (12:01 +0000)]
[project @ 2000-01-25 12:01:28 by rrt]
Renamed to building.sgml
rrt [Tue, 25 Jan 2000 11:33:46 +0000 (11:33 +0000)]
[project @ 2000-01-25 11:33:46 by rrt]
Corrected some URLs
rrt [Tue, 25 Jan 2000 11:25:54 +0000 (11:25 +0000)]
[project @ 2000-01-25 11:25:54 by rrt]
Added an ID to the exceptions update section to use as a hyperlink destination
simonpj [Tue, 25 Jan 2000 10:56:17 +0000 (10:56 +0000)]
[project @ 2000-01-25 10:56:17 by simonpj]
Announce 4.06
simonmar [Tue, 25 Jan 2000 10:31:08 +0000 (10:31 +0000)]
[project @ 2000-01-25 10:31:08 by simonmar]
urk, Solaris sh doesn't understand [^0-9] in patterns, it seems.
sewardj [Tue, 25 Jan 2000 10:25:15 +0000 (10:25 +0000)]
[project @ 2000-01-25 10:25:15 by sewardj]
Add missing final paragraph of explaination about x86 FP trickery.
sewardj [Tue, 25 Jan 2000 10:23:34 +0000 (10:23 +0000)]
[project @ 2000-01-25 10:23:34 by sewardj]
Minor improvements to x86 FP fake-to-real insn translation.
sewardj [Tue, 25 Jan 2000 10:22:55 +0000 (10:22 +0000)]
[project @ 2000-01-25 10:22:55 by sewardj]
genCCall for x86, as supplied, used PUSH et al to move args onto the C
stack ready for the call. Reasonable as this seems, it causes a
problem with spill code, since the spiller spills relative to %esp and
assumes that %esp doesn't move. If the args of a ccall involved any
spilled values, the resulting code would be wrong.
The One True Way is to do it like a RISC: move args to the stack
without adjusting %esp for each argument, then adjust it all at once
immediately prior to the call insn and un-adjust it immediately
afterwards. genCCall now does this. In general, push/pop and other
C-stack effecting operations should not be generated for the same
reason.
simonmar [Tue, 25 Jan 2000 10:15:55 +0000 (10:15 +0000)]
[project @ 2000-01-25 10:15:55 by simonmar]
Add -optCrts-M80m for older compilers. Sigh.