Tyler Wilding
2d595c1ac0
lint: add include sorting config to clang-format ( #1517 )
2022-06-22 23:37:46 -04:00
water111
78cde74d5a
update readme and fix always playing str ( #1139 )
...
* update readme deps
* replace assert
* bump timeout
* fix memory corruption in kernel
* use unknown if level name is invalid
2022-02-08 19:02:47 -05:00
water111
35bdc9b1d3
add an optional, less-accurate-but-faster sprite render and fix silly math bug ( #1102 )
...
* also add a new sprite renderer
* claaaang
* goal build fix
* fix tests, add stack singleton option
* make all event-message-blocks the same
* diskboot
2022-01-21 21:11:57 -05:00
water111
f6b40637a3
add declare-file debug ( #1004 )
2021-12-12 12:52:23 -05:00
water111
24fe2c78c0
[goalc] Address-to-line ( #783 )
...
* refactor debug info stuff before adding form to emit
* source mapping working for non-macro sourced forms
* support macros
2021-08-26 20:33:00 -04:00
water111
7a5562106e
Compiler performance improvements and error clean-up ( #782 )
...
* compiler cleanup and error improvement
* fix test
2021-08-24 22:15:26 -04:00
water111
aa58d146c2
[goalc] register allocator v2 ( #731 )
...
* clean up allocator interface to be simpler
* working on functions without spills
* working for all
* fix missing includes for windows
* more windows includes
* initialize regs to zero so printing value unintiailized by game code is repeatable
2021-08-01 17:46:55 -04:00
water111
09c09ce35f
allow aliasing of registers in variables if we explictly ask for it ( #711 )
2021-07-22 20:14:08 -04:00
water111
542edfb164
[compiler/decompiler] Take the address of a variable ( #554 )
...
* support taking the address of variables
* partially working stack variables
* implement type cast stuff
* remove final
2021-06-04 13:43:19 -04:00
Tyler Wilding
65206823ef
Compiler - Implementing more VU Instructions (Part 1 of 2) ( #221 )
...
* A little project cleanup
* Script to grep decompiler results
* Compiler: Implement VNOP -> FNOP (.nop.vf)
temp: test new addition
* Compiler: Implement VMUL.xyzw (.mul.vf)
squash: cleaning up files i don't want to accidentally stage
* Compiler: Implement V[ADD|SUB|MUL].dest instructions
* Compiler: Implement V[ADD|SUB|MUL][x|y|w|z].dest instructions
* Compiler: Implement V[MIN|MAX]{[x|y|z|w]}.dest instructions
* Compiler: Implement V[ABS]{[x|y|z|w]}.dest instructions
* Cleanup review feedback before adding tests and docs
* Tests: Added missing emitter tests
* tests/compiler: Comprehensively test all new instructions
* docs: Add documentation for newly supported operations
* Remove unused vector-h function
* Address review feedback
2021-02-05 15:00:17 -05:00
water111
425cc6794c
[Compiler] Bug fixes ( #230 )
...
* fix method name and use-after-free during compile error
* doc fix
2021-02-03 11:07:47 -05:00
water111
a80b331c27
[Compiler] In-progress support for vector float (AVX) ( #171 )
...
* begin work on vf support
* split reg kind into reg hw kind and class, use class for ireg
* try test
* clang format
* add some more ops and some example functions
* better lvf on statics
* add documentation
2020-12-30 15:33:51 -05:00
water111
d86964985a
Improve Register Allocator ( #154 )
...
* before adding IRegSet stuff
* use bitsets for live analysis
* speed up
* add stack structures
* organize new better
2020-12-06 15:42:26 -05:00
water111
06918e1fea
Implement gkernel
: Part 1 ( #150 )
...
* start gkernel implementation
* progress
* more of kernel
* swap to new dispatcher, will it work on windows
* update
2020-12-05 17:09:46 -05:00
water111
90e5c023f1
Basic Inline Assembly ( #149 )
...
* basic inline assembly support
* fix rlet
* clean up detail in IR and update documentation
2020-12-04 12:57:10 -05:00
water
eb30fc88b0
fix compiler bugs
2020-11-22 20:10:33 -05:00
water111
460ec874bb
Add support for stack integers ( #135 )
...
* add support for stack integers
* update documentation
* revise value type stack variables
2020-11-22 12:22:19 -05:00
water111
951f31878e
[Source Line Debugger] Tracking objects and IR ( #115 )
...
* track where segments are when debugging
* missing windows include
* figure out what function we're in
* addr to IR is working
2020-11-13 22:33:57 -05:00
water111
27b865c0df
Add methods and pointers ( #53 )
...
* method calls and sorting
* add more tests and fix some alias stuff
2020-09-19 16:50:42 -04:00
water111
abcd444a3b
Add deftype ( #48 )
...
* initial deftype implementation
* fix library setup for windows
* implement deftype
* fix memory bug
* fix formatting
2020-09-17 21:47:52 -04:00
Tyler Wilding
9737dfad34
Add #pragma once to all headers
...
Resolves #19
2020-09-13 21:36:35 -04:00
water
9ec9b5a22a
add conditional stuff
2020-09-13 17:34:02 -04:00
water
e7f8620c92
add floats and inline stuff
2020-09-13 10:44:12 -04:00
water111
d56540f8c0
Add lambda and static objects ( #30 )
...
* add some more tests for let
* support static strings
* add function calling
* add prints for windows debgu
* one test only
* try swapping r14 and r15 in windows
* swap back
* disable defun for now
* fix massive bug
* fix formatting
2020-09-12 13:11:42 -04:00
water
1394cf13cd
17 of 124 compiler tests passing
2020-09-07 19:17:48 -04:00
water
ee4eb9f128
add some basic symbol stuff
2020-09-07 13:28:16 -04:00
water
1de0cbb6f6
enable macros
2020-09-06 17:42:20 -04:00
water
d49b01e310
working return integer tests as part of gtest
2020-09-06 16:58:25 -04:00
water
8bf0bd86d3
integer constant program working up to ir
2020-09-06 12:45:31 -04:00
water111
2075dd66b6
Add ObjectGenerator and Register Allocator ( #10 )
...
* start the ObjectFileGenerator
* finish v3 generation
* add analysis for register allocator
* add register allocator
* fix const
* fix build
* fix formatting for clang-format
* attempt to fix windows build
* windows 2
* windows 3
* windows 4
* windows 5
* windows 6
2020-09-05 16:37:37 -04:00