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

Implement gkernel: Part 2 #155

Merged
merged 5 commits into from
Dec 9, 2020
Merged

Implement gkernel: Part 2 #155

merged 5 commits into from
Dec 9, 2020

Conversation

water111
Copy link
Collaborator

@water111 water111 commented Dec 9, 2020

The implements almost all of the missing stuff in gkernel. Missing is

  • A few tree functions that are never used
  • The dead pool list
  • xmm's on suspend and resume (the entire runtime / compiler should probably be reviewed for this...)

There is an extremely basic test which runs two processes that suspend in a loop. It should catch very basic issues with dead-pool-heap, set-to-run, deactivate, and thread suspend and resume. It does not check these particularly thoroughly and better tests are needed to make sure registers/stacks aren't being messed up.

We also do not test:

  • Process Initialization with run-function-in-process
  • Anything with throw / catch
  • Anything with state (need gstate.gc first)
  • Dead pool heap compact and relocate (would at least need relocate.gc for the relocate method of process)
  • Temporary threads for trans and post
  • Process search

The plan is to improve multiple rlets in the same function and build a new static data "compiler" for the compiler and then address these issues. For now this test is enough to make sure that the kernel is at least mostly working.

@coveralls
Copy link

Pull Request Test Coverage Report for Build 409658370

  • 43 of 48 (89.58%) changed or added relevant lines in 4 files are covered.
  • No unchanged relevant lines lost coverage.
  • Overall coverage increased (+0.09%) to 81.232%

Changes Missing Coverage Covered Lines Changed/Added Lines %
goalc/compiler/Compiler.cpp 10 12 83.33%
test/goalc/test_goal_kernel.cpp 27 30 90.0%
Totals Coverage Status
Change from base Build 404472967: 0.09%
Covered Lines: 17785
Relevant Lines: 21894

💛 - Coveralls

@water111 water111 merged commit e05f3ce into master Dec 9, 2020
@water111 water111 deleted the w/gkernel-2 branch May 6, 2021 04:43
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants