David Given
2cdcc16bc2
Fix a buffer overrun that was manifesting on OpenBSD; also fix a bounds check and some uninitialised variable problems.
2017-01-16 22:44:37 +01:00
David Given
fa5675d439
Run through clang-format.
2017-01-16 21:16:33 +01:00
George Koehler
65c2a8a0ae
Remove stackadjust and stackoffset() from ncg.
...
This feature has never been used since its introduction, more than 3
years ago, in David Given's commit c93cb69
of May 8, 2013. The commit
was for "PowerPC and M68K work". I am not undoing the entire commit.
I am only removing the stackadjust and stackoffset() feature.
This commit removes the feature from my branch kernigh-linuxppc. This
removal includes the mach/proto/ncg parts. The default branch already
removed most of the feature, but kept the mach/proto/ncg parts. That
removal happened in commit 81778b6
of May 13, 2013 (which was a merge;
git diff af0dede
81778b6
). The branch dtrg-experimental-powerpc
merged the default branch but without the removal. That merge was
commit 4703db0f
of Sep 15, 2016 (git diff 8c94b13
4703db0
). My branch
kernigh-linuxppc is off branch dtrg-experimental-powerpc, so I can no
longer get the removal by merging default.
David Given described the stackadjust feature in
https://sourceforge.net/p/tack/mailman/message/30814691/
The instruction stackadjust would add a value to the offset, and the
function stackoffset() would return this offset. One would use this
to track sp - fp, then omit the frame pointer by not keeping fp in a
register.
2016-10-07 20:52:13 -04:00
David Given
c93cb69959
Check in incomplete Linux PowerPC and M68K work.
...
--HG--
branch : dtrg-experimental-powerpc
2013-05-08 00:48:48 +01:00
ceriel
1db6a3029b
Header --> Id
1994-06-24 14:02:31 +00:00
ceriel
ed2ba2e1d5
improved ply handling
1992-12-18 10:22:55 +00:00
ceriel
4d068e8e04
ply adaption was wrong for EM replacements
1992-12-17 12:52:21 +00:00
ceriel
53c4951b29
Do not use '#endif/#else xxx'; it is not allowed for ANSI C
1991-12-17 15:05:43 +00:00
ceriel
8c82c2e5ef
MAXPROCARG could be 0
1991-09-17 09:46:12 +00:00
ceriel
c34fcda208
Fixes: sometimes entered panic mode with wrong fakestack
1991-07-30 16:05:59 +00:00
ceriel
f572b1fb35
some changes that may make ncg a tiny bit less inefficient
1991-01-10 18:39:36 +00:00
eck
e37c249248
added casts of pointer difference to integer
1990-12-17 14:22:41 +00:00
ceriel
41dc11e497
Fixed problem with cost computation, added some assertions and
...
added some more precise debugging printing
1990-12-17 10:02:52 +00:00
ceriel
32f21c2bfa
changed 'uses REG=%1' behaviour: if no REG containing %1 is found, an
...
attempt is made to find an empty one
1990-10-26 18:18:53 +00:00
eck
5badcb4296
changed stackheight computation to top element size computation
1990-09-04 17:16:00 +00:00
ceriel
2f83a7e3d9
fix: also kill condition codes if they are set to a register that is to be killed
1990-09-03 11:12:44 +00:00
eck
7ef2d1bc37
switch to text segment when generating a label
1990-07-20 14:02:35 +00:00
eck
4ef2c70ed3
added stackheight message handling
1990-07-18 14:53:19 +00:00
ceriel
16ef0467a8
Fixed wrong assertion, and fixed bug in distance routine: it did not check
...
that each stackpattern token that does not exactly match can be made from the
stack
1990-04-04 14:52:29 +00:00
ceriel
95632b0fef
Oops in assertion: MAXPROCARG instead of MAXPROCARGS
1990-02-23 17:05:04 +00:00
ceriel
0ec452930f
print pointer as hex
1990-02-23 16:58:34 +00:00
ceriel
d9d6cc127f
Allow more procedure parameters
1989-11-09 11:04:18 +00:00
ceriel
339f9dd942
fixed bug in EM replacement code, and use new #defines from tables.h
1989-11-08 17:13:33 +00:00
ceriel
74546bd985
Added a command to kill a register
1989-10-26 15:41:38 +00:00
ceriel
3ecaa0b634
some fixes: fix order in which registers are allocated, make sure that
...
a pattern chosen by the distance routine can be made from the stack if the
fakestack does not contain enough tokens
1989-03-17 16:49:58 +00:00
ceriel
406d024e9f
change to keep lint happy
1989-01-17 11:23:33 +00:00
ceriel
f0d3a648af
fixed problem with temporary DEALLOCATES: sometimes a register was
...
used for stacking, that was only temporarily deallocated
1988-07-15 11:12:13 +00:00
ceriel
e64951e1d3
removed some lint complaints
1988-06-28 14:41:02 +00:00
ceriel
b72f2848dd
fixed panic mode
1988-06-22 18:47:48 +00:00
ceriel
b948e4b59d
corrected; sometimes lookahead would fail
1988-04-22 14:02:43 +00:00
ceriel
92f28ae164
Added another debug statement
1988-03-31 12:50:12 +00:00
ceriel
14d7db7499
remove some of the lint complaints
1988-03-31 11:17:47 +00:00
ceriel
092292683c
modified to use a different 'panic' strategy, and use
...
new clash-table in tables.c when possible, and some other tuning
1988-03-31 10:14:48 +00:00
ceriel
cb16212a09
declared freopen; apparently it is not declared in stdio.h
...
on some systems
1987-09-01 15:24:15 +00:00
ceriel
5537abbdfb
Added copyright notice
1987-03-10 01:26:51 +00:00
bal
5ac646f89f
Yet another bug reported by sater.
1985-11-18 16:55:53 +00:00
bal
de79024451
0 / -1 confusion for properties (2 bugs reported by sater).
1985-10-03 14:45:53 +00:00
keie
cb0b2e08cf
1 - At RREMOVE also check the stack set aside for coercions.
...
2 - When coercions unexpectedly need stack of part of the
stakpattern, discontinue this option.
1985-03-01 16:25:21 +00:00
sater
7f0def8861
RREMOVE section updated.
1985-01-11 09:44:34 +00:00
sater
4ba6e7a39c
*** empty log message ***
1985-01-08 15:34:54 +00:00