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
18714ba536
[decomp] load boundaries ( #922 )
...
* mostly working
* fixes
* very small fixes
* fix tests
* clang
2021-10-20 19:49:32 -04:00
water111
ac3092093c
fix really old compiler bug ( #799 )
2021-08-31 22:12:30 -04: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
e251f8b2d9
Support Behaviors ( #678 )
...
* temp
* working, but type pass got really slow
* clean up
* changelog and flip order
* clean up and add tests
* fix zero size array
* handle lambdas correctly
* another windows fix
2021-07-04 16:54:07 -04:00
water111
060b125324
[Compiler/Decompiler] Better support for Bitfield and Enum types ( #374 )
...
* compiler fixes, a decent amount of decompiler stuff is working too
* more support in decompiler, fix some casts
* decompile static data too
2021-04-22 19:08:58 -04:00
water111
c09e18f3a7
Fix stack new and add size-of to compiler ( #370 )
...
* make decompiler output stack-no-clear
* add size-of
2021-04-18 19:51:15 -04:00
water111
a863542fa3
[Compiler] Support dynamically constructed bitfields ( #354 )
...
* support dynamic bitfields
* update doc
2021-04-11 19:21:49 -04:00
water111
d9aa535dd0
[Decompiler] Fix issues in gcommon ( #305 )
...
* fix several issues
* small fixes
2021-03-03 20:52:25 -05:00
water111
8775840265
[Decomp] Decompile engine math library types ( #272 )
...
* decompile some stuff
* fix typo
* playing around with trigonometry
* more progress on trig
* more trig
* comments and small fixes
* finish trig
2021-02-20 11:42:46 -05:00
water111
feead303aa
better array indexing ( #176 )
2020-12-31 22:15:17 -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
11a82bbf08
[Compiler] Add static data features ( #162 )
...
* support static pairs
* also support strings
* reorganize static stuff
* add test
* support inlined fields
* add missing type check
2020-12-19 15:21:29 -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
water111
71dda76e2b
Add some compiler features and documentation ( #147 )
...
* update doc
* add disassemble and type checking
* improve compiler error messages
2020-12-01 21:39:46 -05:00
water111
21fbdce7aa
[Compiler] Bitfield Types ( #146 )
...
* add the ability to define and read bitfield types
* new set
* add bitfield setting
* add static bitfields
2020-11-29 18:01:30 -05:00
water111
09142d1712
Support "game count" and v4 objects ( #140 )
...
* generate object, but not supported in linker yet
* add link and tests
* update types
2020-11-24 20:48:38 -05:00
water111
29e4ff9e51
remove match param ( #127 )
2020-11-20 20:17:37 -05:00
water
acb91dbf48
some work on vector types
2020-10-25 18:02:03 -04:00
water111
d5d0d7f924
Add compiler features for gkernel ( #83 )
...
* add some type stuff for gkernel
* more tweaks
* blah
* more little tweaks and more of gkernel
* add static structures with integer fields but not basics
* static structures
* update gkernel
2020-10-16 17:08:26 -04:00
water111
3616b790bd
Add more array stuff and clean up field access ( #80 )
...
* implement some array stuff and clean up field access
* update goal change log
2020-10-14 13:42:14 -04: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
cee6c21603
Add basic features for types and objects ( #52 )
...
* started adding simple functions in gcommon
* more tests and features
* more tests, debug windows
* debug prints for windows
* back up some regs for windows
* remove debugging prints
2020-09-19 13:22:14 -04:00
Tyler Wilding
345b8e30d8
Resolve a good chunk of windows compiler warnings
...
Mostly revolved around the new MSVC check for functions that don't cover all paths (ie. a switch statement without a default case). It appears to not see an assert as a valid default case.
I switched assert(false) to exceptions in these cases. I believe this should also abort the program, but will also provide a hopefully useful message? Hopefully this is an improvement.
Resolves #32
2020-09-13 22:02:27 -04:00
water
9ec9b5a22a
add conditional stuff
2020-09-13 17:34:02 -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
water111
de5aa7e5e4
Move duplicated utilities to the common util folder and remove NEXT_DIR ( #29 )
...
* move things to the common library and remove next_dir
* fix for windows
* one last windows fix
* last fix for real this time
* debug listener test
* fix listener threading bug
2020-09-10 20:03:31 -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
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