Hello, 
  By investigating the source code of gollvm and attempting to fix some 
bugs in GoStatepoints.cpp, I have some questions about the current GC 
implementation:
1. Can an object pointer live in a callee-saved register and live through a 
call, recorded in the corresponding stackmap? Since gollvm uses the 
sysv64ABI for amd64, I think the current implementation seems to ignore 
this register part. In "emitCallsiteEntries" it only emits the pointer map 
of the current stack.
2. When GC is triggered, during the unwinding process, the 
"scanstackwithmap_callback" should also test the regmap and mark the 
pointers that live in the registers
3. How to deal with the C stacks of the C runtime functions? Currently we 
don't have stackmaps generated for them.

Thanks.

-- 
You received this message because you are subscribed to the Google Groups 
"golang-nuts" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to golang-nuts+unsubscr...@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/golang-nuts/e25a42b4-f1a6-49db-a273-92685bdd1185n%40googlegroups.com.

Reply via email to