Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking β€œSign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

WIP: Implement reference counting #60

Merged
merged 67 commits into from
Feb 19, 2021
Merged
Changes from 1 commit
Commits
Show all changes
67 commits
Select commit Hold shift + click to select a range
2ad8013
Keep ANY in stack memory
Jul 9, 2019
9ac573b
Move 'ANY' into stack memory
Jul 11, 2019
60c33f6
Get rid of 'examples2' folder
Jul 12, 2019
5138def
Remove 'test.c'
Jul 12, 2019
81be146
Fix warning in ctests stub function
Jul 12, 2019
def9940
Add tests for dealing with prelude and foreign values
Jul 12, 2019
0d7d0c6
Update TCO implementation
Jul 12, 2019
c1e6554
Replace init functions with macros
Jul 12, 2019
0af400e
Remove 'purs_any_thunk' functions for now
Jul 12, 2019
8d0f902
Track size in 'purs_any_cons_t'
Jul 12, 2019
0a8cff5
Convert more code-gen helper functions into macros
Jul 12, 2019
8ddb2df
Remove unused 'anyMut'
Jul 12, 2019
f3f636f
Rename 'examples' to 'tests'
Jul 12, 2019
e1d8961
Dhall freeze mkPackage.dhall
Jul 12, 2019
c57a16f
Set up exhaustive testing via 'make test'
Jul 12, 2019
2e98604
Set up cmocka, and work towards a ref counting setup
Jul 13, 2019
bd49d63
Continue RC implementation
Jul 13, 2019
099ed9c
Continue RC implementation, and add more c tests
Jul 14, 2019
bba11e2
Fix up compilation and test generated code for leakage
Jul 14, 2019
b27dfcc
Work towards making test 00-basic non-leaky
Jul 14, 2019
a86d262
Continue working towards making 00-basic free of leaks
Jul 15, 2019
190949f
Continue exploring a transform that frees resources
Jul 15, 2019
e852335
Fix mk/target.mk multiple target generation
Jul 15, 2019
41fb8d0
Fix test-case macro in Makefil, and continue exploration
Jul 16, 2019
3387a63
Fix some allocated thunk types not being retained
Jul 16, 2019
15da145
Simplify and write up thoughts on freeing resources
Jul 16, 2019
e230cba
Emit warning for missing PURS_ANY_RETAIN impls
Jul 16, 2019
aaf1c12
Release allocated resources (incomplete)
Jul 17, 2019
b6b6ef7
Implement initial version of 'releaseResources' pass
Jul 17, 2019
dd78008
Update PURS_FFI_FUNC family of macros
Jul 17, 2019
5c9b8c6
Fix 'releaseResources' pass: 00-basic test is leak and seg-fault free!
Jul 18, 2019
ec562ce
Continue...
Jul 18, 2019
73159c2
Fix double-retaining of captured variables
Jul 18, 2019
7d104e8
Get three core tests passing, fix/free TCO state, name temp vars
Jul 18, 2019
a790378
Quiet down tests and simplify Mutrec test to not use foreigns
Jul 19, 2019
0af7701
Implement reference counting for thunks
Jul 19, 2019
dcba22f
Add tests for indirect thunks and fix related seg-fault
Jul 19, 2019
ce208c3
Generate slighly more easy to read code
Jul 19, 2019
160373b
Add support for reference counted data constructors
Jul 20, 2019
55d22ba
Ensure record updates are handled correctly
Jul 20, 2019
8901075
Fix wording in Makefile
Jul 20, 2019
9f80616
Work towards stitching up upstream tests using Spago
Jul 20, 2019
cd3afc0
Add test for type classes
Jul 23, 2019
e587fc0
Work towards a passing 10-prelude test
Jul 23, 2019
4a3ddcb
Freeze packages.dhall to speed up builds
Jul 23, 2019
ed7f906
Fix 10-prelude test, update to purs 0.13.2, fix FFI_FUNC seg-fault
Jul 23, 2019
d5fd4c5
Implement reference counting for foreign values
Nov 3, 2019
9ad3a68
Update codegen for rc-ed foreign values
Nov 3, 2019
65d44dc
Allow building projects both spago or bower
Nov 3, 2019
f53fe27
Add compat return for Unit-based entry functions, fix PURS_FFI_VALUE
Nov 3, 2019
6a666b0
Fix handling of NULL records
Nov 3, 2019
ac7c548
Fix warning
Nov 3, 2019
284246b
Drop support for BWDGC for the time being
Nov 3, 2019
804c80d
Make PURS_FFI_FUNC_X macros more debug friendly
Nov 3, 2019
8ed1b1c
Get all tests passing
Nov 5, 2019
bf6c4bf
Work towards getting upstream tests flying again
Nov 5, 2019
330cba9
Simplify custom package-set's packages.dhall
Nov 5, 2019
7541f88
Simplify tests' spago.dhall
Nov 6, 2019
dfec898
Improve PURS_ANY_THUNK_DEF macro for better line nos when debugging
Nov 6, 2019
23af726
Commit to Spago
Nov 6, 2019
43005c1
Add tests for purescript-effect
Nov 6, 2019
e0a0073
Resurrect improved PURS_FFI_FUNC_UNCURRIED_* macros
Nov 7, 2019
dd141f0
Update README, Makefile, and spago
felixSchl Jan 31, 2021
a9b84c0
Remove README section on examples, and update section on tests
felixSchl Jan 31, 2021
e3ca8c3
Update packages.dhall to use repos on github
felixSchl Feb 3, 2021
f16d4a8
Remove support for bower and improve build invalidation
felixSchl Feb 3, 2021
d3651c7
Start documenting runtime C headers
felixSchl Feb 3, 2021
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Prev Previous commit
Next Next commit
Rename 'examples' to 'tests'
  • Loading branch information
Felix Schlitter committed Jul 12, 2019
commit f3f636fc341f51880784eb71b87a9cc8963f0502
9 changes: 0 additions & 9 deletions examples/partialfuns/spago.dhall

This file was deleted.

12 changes: 0 additions & 12 deletions examples/prelude/#Makefile#

This file was deleted.

File renamed without changes.
File renamed without changes.
File renamed without changes.
2 changes: 1 addition & 1 deletion examples/basic/spago.dhall β†’ tests/basic/spago.dhall
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
{ name =
"purec-example-basic"
"purec-test-basic"
, dependencies =
[] : List Text
, packages =
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
{ name =
"purec-example-memory"
"purec-test-foreign"
, dependencies =
[] : List Text
, packages =
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
{ name =
"purec-example-mutrec"
"purec-test-memory"
, dependencies =
[] : List Text
, packages =
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
{ name =
"purec-example-foreign"
"purec-test-mutrec"
, dependencies =
[] : List Text
, packages =
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
9 changes: 9 additions & 0 deletions tests/partialfuns/spago.dhall
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
{ name =
"purec-test-partialfuns"
, dependencies =
[] : List Text
, packages =
./packages.dhall
, sources =
[ "src/**/*.purs", "test/**/*.purs" ]
}
File renamed without changes.
File renamed without changes.
File renamed without changes.
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
{ name =
"purec-example-prelude"
"purec-test-prelude"
, dependencies =
[ "prelude" ]
, packages =
File renamed without changes.
File renamed without changes.