Commit graph

205 commits

Author SHA1 Message Date
water111 1e1b5e7c00
Make decompiler more successful (#66)
* w/early-return-and-break

* more edge cases

* all instructions in non asm functions now convert to ir

* cleanup

* implement rarely used control flow in IR

* clang format
2020-10-11 18:27:44 -04:00
water111 30e0e4204b
Merge pull request #70 from xTVaser/ci/actions-improvements
Github Actions enhancements
2020-10-09 21:46:48 -04:00
Tyler Wilding 68d0bd2d7b Merge remote-tracking branch 'water111/master' into ci/actions-improvements 2020-10-09 21:40:40 -04:00
water111 119a975a48
Merge pull request #71 from water111/w/clean-up-warnings
Clean up some warnings and add some extra integer tests
2020-10-09 21:38:16 -04:00
Tyler Wilding eb7b52989b Update README with new badges 2020-10-09 21:38:13 -04:00
water f7abe9c5f8 clean up some warnings and add some extra integer tests 2020-10-09 21:28:41 -04:00
Tyler Wilding b39b6c8ce6 Unrelated: Add back pretty-print tests 2020-10-09 21:19:33 -04:00
Tyler Wilding 911a115c61 Merge remote-tracking branch 'water111/master' into ci/actions-improvements 2020-10-09 21:18:25 -04:00
Tyler Wilding d868b35c57 Disable ccache for now, causing coverage problems 2020-10-09 21:18:05 -04:00
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 a5972e5111 Github Actions enhancements 2020-10-09 21:08:16 -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