Commit Graph

195 Commits

Author SHA1 Message Date
water111 0a231afdbb Merge pull request #67 from xTVaser/generative-tests
Create more general Test Framework and Organize the bulk of current tests
2020-10-09 21:11:34 -04:00
Tyler Wilding 4429632618 Prevent overflow causing negative numbers to be positive 2020-10-09 20:45:55 -04:00
Tyler Wilding bf3344cdd3 Remove negative hex test, windows is too good 2020-10-09 20:33:35 -04:00
Tyler Wilding 6e1dea4a65 Disable -Wshadow, also flakey test, or linux issue? 2020-10-09 20:23:31 -04:00
Tyler Wilding c34c0a898d Use ubuntu 20.04 which has GCC 8 atleast 2020-10-09 20:15:44 -04:00
Tyler Wilding f712c615ce Fix remaining failing tests 2020-10-09 19:44:16 -04:00
Tyler Wilding 76bede157d Merge remote-tracking branch 'water111/master' into generative-tests 2020-10-09 13:31:08 -04:00
Tyler Wilding b99b63af65 lint: Clang format 2020-10-09 13:24:55 -04:00
Tyler Wilding 83f2751795 Make all tests hermetic, only the tests with kernel left 2020-10-09 13:23:41 -04:00
water111 adc09d7c79 Merge pull request #69 from xTVaser/cmake-pprint-workaround
Fix CMake/NASM issue on windows caused by spdlog.  Temporarily workaround slow pprint test
2020-10-08 23:55:06 -04:00
Tyler Wilding 274418f12a Reduce time on windows pprint test until pretty-printer is improved 2020-10-08 23:48:36 -04:00
Tyler Wilding 1574c95e73 Workaround NASM bug on Windows/MSVC
https://gitlab.kitware.com/cmake/cmake/-/issues/19751
2020-10-08 23:48:07 -04:00
Tyler Wilding df6e6dd2a2 Create new categorized test classes, for the most part just a copy of current tests into new framework 2020-10-08 00:06:48 -04:00
Tyler Wilding 097a9157f5 Copy over LISP code 2020-10-08 00:05:01 -04:00
water111 a64dd6c90b Add CFG to IR decompiler pass (#60)
* add some more cfg ir stuff

* add cond with else

* add type of recognition

* add cond to compare conversion

* finally all conds are passing

* started sc recognize, but ash min and max should be recognized first

* fix ash showing up as sc

* add abs

* fix merge issues

* try building goos with optimizations on

* sc mostly working, still need to fix right aligned nesting

* ands and ors are converting correctly now

* clean up
2020-10-06 18:14:27 -04:00
water111 b102d22dd9 Replace Form with goos::Object (#64)
* add pretty printing to goos form

* temp

* fix format

* fix format

* fix windows build

* again

* windows

* Revert "windows"

This reverts commit b7d448e733.

* windows again

* give up and just add a getter function
2020-10-04 17:08:10 -04:00
Tyler Wilding 663453769c Final polish on the integer tests, time to start converting the rest 2020-10-03 18:32:01 -04:00
water111 d03080c463 Build spdlog as a shared library (#59)
* change build settings for spdlog

* fix typo

* trying with j4 now

* try as a shared library

* add shadow warning back
2020-10-03 10:33:20 -04:00
doctashay c2cb053a5d spdlog implementation (#58)
* Commit new spdlog implementation 

Hopefully resolves Linux build dependency errors

* clang formatting

* Fix Linux-only definition

Found the culprit!

* More Linux fixes

Linus Torvalds have mercy on my soul

* Replace printf logging with spdlog equivalent

Preserve previous printfs in comments for now. Spdlog needs to be configured to be thread-safe. Few additional printfs to convert later. No changes have been made to GOAL's internal printing system

* clang-format stuff

* ugh more clang-format

why

* Another shot

* CMakeLists.txt update

Fix issues related to spdlog version targeting

* Remove old prints + fix log types

Up next is the transition to a git submodule, should be simple enough

* spdlog is now a git submodule

* adapted for project

* Linux fix

* More fixes

Yikes

* Update for linux

I should really fix my WSL environment

* Update workflow.yaml

Hopefully will resolve issues with GitHub Actions on Linux
2020-10-03 09:39:04 -04:00
water111 376c273845 Add decompiler IR, basic operations, all-types file (#57)
* framework for basic op

* started IR framework

* check in type info file

* add some basic operations to the first pass ir conversion

* use a single condition system

* add more basic op decoding

* more ir
2020-09-29 20:24:15 -04:00
Tyler Wilding 282e53f1be Concept is working, just needs some polish and can start translating the tests 2020-09-26 18:48:40 -04:00
water111 c9b53d51ff Compiler Cleanup (Part 2) (#56)
* check on windows

* fix windows build

* version test

* clean up - will it work on windows

* fix formatting
2020-09-25 21:11:27 -04:00
water111 15051ec5dd Fix high cpu usage from iop thread (#55)
* fix crazy cpu usage from iop thread

* clang-format
2020-09-24 22:15:01 -04:00
water111 2d11e44eaf Compiler Cleanup and Documentation (#54)
* start cleanup

* fix typos

* fix syntax highlighting in doc

* lots of documentation updates

* clean and add tests

* more documentation and more error messages

* more document and try building kernel differently
2020-09-24 17:19:23 -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
water111 c7c342ce7e Add defmethod and some uses of the deref operator (#51)
* add tests for various xmms

* use unaligned stores and loads to back up and restore xmm128s and also fix argument spilling bug

* add deftype

* add deref and fix some method _type_ things
2020-09-18 22:02:27 -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
water111 8d322dd7fc Merge pull request #47 from water111/w/win-format
Add format order test and fix reg order for windows
2020-09-15 19:01:50 -04:00
water 3f193013b9 fix bug 2020-09-15 18:57:18 -04:00
water ca3acdb5ec add format order test and fix reg order for windows 2020-09-15 18:49:55 -04:00
water111 bb854dd81e Fix a Listener Bug (#45)
* try a fix

* add debug prints

* more prints

* try again

* more stderr

* print again

* am idiot

* cleanup

* cleanup
2020-09-14 22:14:07 -04:00
water111 8972d37167 Merge pull request #44 from water111/w/math_5
Add More Math!
2020-09-14 20:42:43 -04:00
water aadc274a89 Remove bad format test 2020-09-14 20:35:31 -04:00
water 8308bfb451 Merge branch 'master' of https://github.com/water111/jak-project into w/math_5 2020-09-14 20:31:46 -04:00
water111 7ffcfc4703 Merge pull request #41 from xTVaser/pragma-once
Add #pragma once to all header files
2020-09-14 20:31:41 -04:00
water b1b58230ee Merge branch 'master' of https://github.com/water111/jak-project into w/math_5 2020-09-14 20:31:19 -04:00
water111 0d0541d1c9 Merge pull request #40 from xTVaser/windows/compiler-warnings
Resolve a good chunk of windows compiler warnings
2020-09-14 20:31:10 -04:00
water a47620fd6d add more math 2020-09-14 20:24:05 -04:00
water111 28275e3d51 Merge pull request #42 from xTVaser/remove-perf-stats
Remove SystemThread performance stats
2020-09-14 17:03:01 -04:00
water f972cdcab5 formatting 2020-09-14 17:02:25 -04:00
water a74ed941ae add description 2020-09-14 16:45:42 -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
Tyler Wilding 80d04a8fbd Remove SystemThread performance stats
Resolves #18
2020-09-13 21:38:56 -04:00
Tyler Wilding 9737dfad34 Add #pragma once to all headers
Resolves #19
2020-09-13 21:36:35 -04:00
Tyler Wilding 45b7d8bf0f Script to add #pragma once headers 2020-09-13 21:32:40 -04:00
water111 28cd6a7e65 Update readme 2020-09-13 18:01:14 -04:00
water111 1ae52a3d58 Merge pull request #38 from water111/w/math_4
Add more math and Conditional Branching
2020-09-13 17:48:57 -04:00
water 9ec9b5a22a add conditional stuff 2020-09-13 17:34:02 -04:00
water f46acdf87a what is going on with clang format 2020-09-13 12:11:49 -04:00