Bill Currie
17e19f3892
regain about 5000 globals for customTF, but this fixes possible breakage with
...
premature temp var re-usage (ie, it puts the temps back into the locals space).
2001-06-04 22:35:54 +00:00
Bill Currie
55d58f8d46
ignore .vimrc
2001-06-04 18:33:50 +00:00
Bill Currie
42c880ab8a
formatting cleanup
2001-06-04 18:33:32 +00:00
Bill Currie
e090f3c9e3
do proper temp def handling so we don'e use any where near as many defs for
...
temporary variables (customTF went from 35941 to 12587 pr_globals).
2001-06-04 17:52:50 +00:00
Bill Currie
53e9fb65d1
prepare PR_Statement for proper temporary usage
2001-06-04 05:45:51 +00:00
Bill Currie
e339e82c01
hash.h is now const correct as is a lot of qfcc
2001-06-04 04:52:14 +00:00
Bill Currie
4aa47d728a
use the correct STORE_ op for function arges, rather than STORE_V. Should
...
speed up progs in general.
2001-06-04 03:57:15 +00:00
Bill Currie
275e74161b
string comparison operators
2001-06-04 03:36:35 +00:00
Bill Currie
7178824ee6
put ADD_S up where it belongs :)
2001-06-04 02:49:59 +00:00
Bill Currie
ddcd172a03
re-write the opcode selection to be a hash table lookup and statment generation
...
to get the opcode from the table record rather than the location within the
table (ewww). gives a nice speed boost /and/ makes the opcode table easier to
maintain.
2001-06-04 02:41:45 +00:00
Bill Currie
09118bc01e
pr_comp.h:
...
add OP_ADD_S. WARNING!!! this /will/ move.
progs.h:
add prototype for PR_PrintStatement
pr_edict.c:
add OP_ADD_S support in the progs checker
pr_exec.c:
implement OP_ADD_S
tools/qfcc/include/.gitignore:
add config.h.in
qfcc.h:
nuke PR_NameImmediate and change PR_ParseImmediate's prototype (see
pr_imm.c)
pr_comp.c:
add ADD_S, adjust for PR_ParseImmediate's prototype, make
PR_ParseExpression work with non-sequential opcodes (slow, will work on
that next). Fix up initialised global parsing.
pr_imm.c:
nuke PR_NameImmediate. didn't work well and wasn't such a good idea anyway.
PR_ParseImmediate now accepts a def_t * arg. if null, will allocate a
new global def, otherwise it will initialize the def passed in.
qwaq/main.c:
sports some debugging code (dumps info about the progs it's running)
qwaq/main.qc:
better ADD_S testing
2001-06-03 17:36:49 +00:00
Bill Currie
297f7c0567
this shouldn't be here
2001-06-02 05:23:00 +00:00
Bill Currie
351e70b3bd
replace a missing / when producing files.dat
2001-05-22 18:23:29 +00:00
Bill Currie
2f2ba28bb7
pr_lex.c:
...
rewrite PR_LexPunctuation to avoid looping. 6x speedup for that function
according to gprof on customTF
configure.in:
--enable-profile
2001-04-03 16:50:31 +00:00
Bill Currie
f896506835
heh, seem to have forgotten this
2001-04-02 21:30:16 +00:00
Bill Currie
b7aba0b643
allow named constants to be checked for immediate constants. qfcc now produces
...
the same number of globals etc as it used to
2001-04-02 18:43:10 +00:00
Bill Currie
f517dc6ce6
fix a silly bug and an incorrect interpretation of the old code
2001-04-02 18:10:43 +00:00
Bill Currie
02b09f4e5c
no more redundant strings. costs ~7ms, though, but HALVING the strofs size
...
in frikbot seems worth it.
2001-04-01 06:40:51 +00:00
Bill Currie
59e55834ed
Another massive speadup caused by using hash tables to lookup already
...
generated immediate values. frikbot now compiles in just over 1s on my
machine.
2001-04-01 06:01:02 +00:00
Bill Currie
43ea8f4fc0
Rip out I_FloatTime from cmdlib.
...
Use Sys_DoubleTime instead of I_FloatTime and print out ms for compilation
2001-04-01 03:33:11 +00:00
Bill Currie
ec16ffaa65
move to using hash tables for variable lookups.
...
WARNING: this fixes a scope bug in qcc and thus you WILL get different (but
now correct) code for the following:
float foo;
void () bar =
{
local float foo;
foo = 0;
}
ie, the local foo will, as is correct, now be a separate var to the global
foo.
2001-04-01 02:12:57 +00:00
Bill Currie
f5ae853de8
don't need to worry about zlib any more because that's now taken care of by
...
libQFutil
2001-03-31 03:54:00 +00:00
Bill Currie
d5345b7db9
add .vimrc
2001-03-31 01:04:38 +00:00
Bill Currie
1d9791553f
make qfcc use detect and use the installed libs/headers. currently doesn't work
...
due to modularity problems in libQFutil
2001-03-29 21:26:56 +00:00
Bill Currie
a23c5e82e0
correct the qf libs path
2001-03-28 23:42:36 +00:00
Bill Currie
8866d86fba
rip out the crc code in favour of libqfutil
2001-03-28 23:40:54 +00:00
Bill Currie
cb5c262ffc
qtypes.h:
...
remove includes of qdefs.h and compat.h
pr_comp.h:
merge pr_comp.h from quake and qfcc, removing the copy in qfcc
cmdlib.[ch]:
nuke the endian code.
qendian.c:
initialise the LittleLong etc pointers at compile time rather than run
time
com.c (both nq and qw):
nuke the LittleLong etc init code
everything else:
fix up after the qtypes.h cleanup
2001-03-28 17:17:56 +00:00
Bill Currie
cea45d19d4
bah, another premature commit
2001-03-27 21:47:44 +00:00
Bill Currie
82b533e1ef
forgot that .S files don't have dependency info :/
2001-03-27 21:46:49 +00:00
Bill Currie
c958372f51
enable use of qf libs independent of where they are in relation to the qfcc
...
source. nothing is actually used yet, but it will be :)
2001-03-27 21:13:18 +00:00
Bill Currie
a3c9af646b
back out my premature commit
2001-03-27 20:37:12 +00:00
Bill Currie
f78b973978
move the api headers into include/QF and clean up (most of) the resulting mess.
...
target specific files that I don't build won't compile yet. just put QF/
infront of the offending headers.
Also move ver_check into libqfutils
2001-03-27 20:33:07 +00:00
Bill Currie
5e993575a4
put a comment in the right place
2001-03-27 00:52:52 +00:00
Bill Currie
c34868c117
attack cmdlib with a chainsaw. All unused functions are gone.
2001-03-26 21:02:18 +00:00
Bill Currie
19b146748a
add .vimrc
2001-03-26 16:36:44 +00:00
Bill Currie
135e533e77
raise some limits so customtf will build. this is NOT the right solution :(
2001-03-26 05:33:02 +00:00
Bill Currie
6247233e0e
when checking a token, they type of the token must be taken into account.
2001-03-14 04:14:09 +00:00
Bill Currie
32d14bac22
ignore generated files
2001-03-12 21:16:26 +00:00
Bill Currie
21fa23a747
the crc field in progs.dat is evily generated from the crc of progsdef.h, so
...
change the header to produce a matching crc. This is an interrim fix until a
better solution can be found.
2001-03-12 20:04:22 +00:00
Jeff Teunissen
2dd03876af
QFCC -- the QuakeForge Code Compiler -- an autoconfiscated qcc.
...
It sucks, but it works, and will form the basis for something that Does
Not Suck.
2001-02-24 06:58:54 +00:00