Jim Thoenen
2ddb5ad50d
Update per IRC peer review feedback
...
Restore the swap function's original name, remove convenience function,
use %u in log message, whitespace tweak.
2014-02-02 02:32:50 -06:00
Jim Thoenen
1bf9ebabcc
Big-endian: Byteswap only the field contents when writing progs.dat
...
The previous code swapped not just the fields' contents themselves, but
also field positions within several of the structs, resulting in a
non-working progs.dat when compiled on big endian (ppc in my case).
Swapping on a field-by-field basis now.
Also:
* Addresses weird swap size requests (30+ bytes in one case)
* Take a guess at the right way to log a weird swap request before dying
* Fix swap array length scaling
* Rename the main swap function to reflect its native->little-endian
purpose. Figued that was okay because progs.dat is required to be
always little-endian...
* Add a non-array version of the swap function for convenience
2014-02-02 00:57:02 -06:00
Dale Weiler
a934e0fe4b
Happy new year!
2014-01-01 06:24:16 -05:00
Dale Weiler
65a2b83abd
Cleanup for builds
2013-10-14 02:17:45 -04:00
Dale Weiler
033cf7c7d3
More cleanups
2013-10-11 03:59:25 -04:00
Dale Weiler
76c37d9cc0
Rid of util_debug
2013-08-30 06:49:24 -04:00
Dale Weiler
4937fa51c0
Merge divVerent/ftypeless-stores, but rid of the macro abuse.
2013-08-27 04:28:22 -04:00
Rudolf Polzer
f4f805f4c9
New options: -ftypeless-stores and -fsort-operands
...
These flags reduce entropy, but not size, of the generated assembly
code. This helps compressability of the files.
Additionally, -ftypeless-stores might SLIGHTLY improve engine
performance due to less instructions being used (so branch prediction
might work better). Probably cannot be measured though.
Signed-off-by: Rudolf Polzer <divverent@xonotic.org>
2013-08-27 09:55:00 +02:00
Dale Weiler
fc57fa4064
Add support for columns to LNOF files.
2013-08-26 14:14:33 -04:00
Dale Weiler
e15046d66c
Please the Samual
2013-08-18 23:44:23 +00:00
Dale Weiler
a622d5163b
Rework some build stuff for better output and to enable strict prototypes
2013-08-16 03:28:02 +00:00
Dale Weiler
1201f06a55
Remove vec_upload
2013-08-14 06:19:48 +00:00
Dale Weiler
5e54db46c4
Some statistics as Samual wanted.
2013-08-14 04:08:00 +00:00
Dale Weiler
d6ca5673dc
Use the _t consistency naming scheme. Also various cleanups.
2013-07-30 16:00:51 +00:00
Dale Weiler
c8c25ef6f7
Some cleanups and smaller binaries!
2013-07-28 00:23:15 +00:00
Dale Weiler
52e7394418
Fix uninitialized data
2013-06-22 00:00:17 +00:00
Dale Weiler
8afd373e4f
Fixed whitespace
2013-06-14 21:36:16 +00:00
Dale Weiler
11179a2a71
Major header reworking, this respects the namespaces properly. Makes object dependency more obvious, allows for better make caches, and prevents misuse of library features, i.e use con_* instead of printf.
2013-06-04 02:47:07 +00:00
Dale Weiler
f281de7a3c
Cleanups and fixes
2013-05-29 02:16:50 +00:00
Wolfgang Bumiller
c5225b2fa1
fixing a few leaks - code_write doesn't delete the code object anymore, code_cleanup has to be called
2013-05-07 19:56:41 +02:00
Dale Weiler
79a5ed0482
Implemented support for having codegen (and lno files) be wrote out to memory, this essentially allows us to embed the compiler in applications now.
2013-04-28 04:29:20 +00:00
Dale Weiler
785ab7c072
No more globals for codegen
2013-04-25 09:35:30 +00:00
Dale Weiler
10dd7aacfe
Apply some static where it belongs
2013-04-25 03:34:42 +00:00
Wolfgang Bumiller
3a4aba0b31
Grrrr
2013-04-24 17:47:42 +02:00
Dale Weiler
489ad486bc
Get it compiling in visual studio again.
2013-04-24 01:43:53 +00:00
Dale Weiler
8d59d7029d
Cleanup cargocult directory and file specific things, to fs.c (renamed file.c which also contains directory handling stuff). Also cleaned up some stuff, and added proper end comments to conditional inclusion stuff.
2013-02-08 12:06:59 +00:00
Dale Weiler
36c5722273
Rename
2013-01-30 05:35:07 +00:00
Dale Weiler
d201cfe6b4
Work in progress options cleanup.
2013-01-30 05:24:30 +00:00
Wolfgang Bumiller
dcc511f4c3
make the LNOF header compiler friendlier
2013-01-06 16:40:38 +01:00
Dale Weiler
29db4a44ed
Happy new years!
2013-01-01 05:08:55 +00:00
Dale Weiler
2ddb49f546
memleak
2012-12-28 14:47:27 +00:00
Dale Weiler
cb12460b95
Fix another Blub bug .. learn to use comments properly :P
2012-12-28 12:54:20 +00:00
Wolfgang Bumiller
35ba2dcaf9
The very aggressive -Ooverlap-strings
2012-12-25 20:38:05 +01:00
Wolfgang Bumiller
d3568627e9
code_genstring now caches strings, no need for code_cachestring
2012-12-23 21:42:00 +01:00
Dale Weiler
13003bf6af
Wrapper around FILE to take advantage of MSVC "secure" CRT. We don't actually defend bounds checks (we just hack in the few ones to silent MSVC .. and to pass WinRT "native code" rules)
2012-12-23 06:05:22 +00:00
Wolfgang Bumiller
1d3fdea432
Fix util_endianswap; and endianswap the LNO data as well
2012-12-20 22:03:51 +01:00
Wolfgang Bumiller
98b6772db9
Fix a leak: free code_linenums
2012-12-20 20:26:14 +01:00
Wolfgang (Blub) Bumiller
dccafd65ac
More jump removal
2012-12-18 14:03:20 +01:00
Wolfgang (Blub) Bumiller
83a41d13c0
Don't generate AINSTR_END anymore, use INSTR_DONE
2012-12-18 11:46:26 +01:00
Wolfgang (Blub) Bumiller
f9b1d057b5
Moving all the global opts_ variables into a struct, now there's one global 'opts' struct
2012-12-06 13:23:53 +01:00
Dale Weiler
37ccf19769
added __STD_VERSION_[MINOR/MAJOR]__, and vec_upload
2012-12-02 04:30:46 +00:00
Wolfgang (Blub) Bumiller
836935fba2
Remove unused omit-nullbytes code in code.c
2012-12-01 23:14:52 +01:00
Wolfgang (Blub) Bumiller
6fc00e523d
All ir_instrs now get their lex-context, so that we can create an LNO file with -flno
2012-11-30 18:20:02 +01:00
Dale Weiler
5c0a62be96
Add respective license headers + some cleanups
2012-11-24 21:22:35 +00:00
Dale Weiler
f454a9f9cd
Whitespace
2012-11-24 20:33:03 +00:00
Wolfgang (Blub) Bumiller
906f319673
Replaced it all...
2012-11-15 18:32:09 +01:00
Wolfgang (Blub) Bumiller
354dd94b95
Generating checksums
2012-10-02 17:09:49 +02:00
Wolfgang (Blub) Bumiller
9a1ec9aaa3
code_crc added, initializing to 0
2012-10-02 16:01:35 +02:00
Wolfgang (Blub) Bumiller
9f411a533a
Add the empty globaldef/fielddef to the object, savegame skips that null-def when saving variables...
2012-08-23 18:40:10 +02:00
Wolfgang (Blub) Bumiller
defb0fb6c4
using %i for instruction opcode output is a little more consistent with the above data, so you can quickly spot if an operand is a local or something else
2012-08-22 18:27:49 +02:00