Skip to content

runtime: stack scan / copy needs fixing #17

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

Open
binarycrusader opened this issue Jul 12, 2016 · 0 comments
Open

runtime: stack scan / copy needs fixing #17

binarycrusader opened this issue Jul 12, 2016 · 0 comments

Comments

@binarycrusader
Copy link
Collaborator

binarycrusader commented Jul 12, 2016

Aram's notes:

  • Things are saved on the stack in different places comapred to other architectures, even accounting for the stack bias. plus there is the whole register windows spill area which has to be scanned.
  • This is for the garbage colector and for the stack copying mechanism (which is also used for growing stacks).
  • The pc/sp/fp are saved in a different slot in the stack frame. but even regular variables are effected
    since they are relative to FP on sparc, but Go looks at everything relative to SP; since SP mod 16 = 0 on sparc, variables are sometimes at a 8-byte offset from what Go expects.

As a side note, we currently use 64kB stacks for goroutines, and it's unclear what size is used for threads (Solaris' default minimum is 2MB for 64-bit processes, so this should be investigated at least to see if perhaps they're too small).

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

No branches or pull requests

1 participant