Re: [go-nuts] Understanding gollvm garbage collection

2021-07-12 Thread Kavindu Gimhan Zoysa
Hi Ian and Than, Thank you both. Does it use the data available on *__LLVM_STACKMAPS* section to create that specific stack map? Or does it follow a different way to generate stack map information? Thank you, Kavindu On Monday, 12 July 2021 at 18:25:22 UTC+5:30 th...@google.com wrote: > >A

Re: [go-nuts] Understanding gollvm garbage collection

2021-07-12 Thread 'Than McIntosh' via golang-nuts
>Also does gollvm create a new stack map? I think it does not use the stack map created by LLVM. gollvm does not use stack maps of the format used by LLVM, correct. Than On Fri, Jul 9, 2021 at 11:17 AM Kavindu Gimhan Zoysa wrote: > Also does gollvm create a new stack map? I think it does not

Re: [go-nuts] Understanding gollvm garbage collection

2021-07-09 Thread Ian Lance Taylor
On Fri, Jul 9, 2021 at 7:05 AM Kavindu Gimhan Zoysa wrote: > > Thank you Than, Is go scheduler is responsible for running GC? Go uses a concurrent garbage collector. There are GC worker goroutines that work in parallel with the rest of the program. There are also cases where an ordinary program

Re: [go-nuts] Understanding gollvm garbage collection

2021-07-09 Thread Kavindu Gimhan Zoysa
Also does gollvm create a new stack map? I think it does not use the stack map created by LLVM. Thank you, Kavindu On Friday, 9 July 2021 at 19:35:03 UTC+5:30 Kavindu Gimhan Zoysa wrote: > Thank you Than, Is go scheduler is

Re: [go-nuts] Understanding gollvm garbage collection

2021-07-09 Thread Kavindu Gimhan Zoysa
Thank you Than, Is go scheduler is responsible for running GC? On Friday, 9 July 2021 at 19:14:43 UTC+5:30 th...@google.com wrote: > >1. If we do not enable the gc (-enable-gc=1), GC assumes all the stack > memory blocks are pointed to the heap. > >2. If gc is enabled, it inserts statepoints and

Re: [go-nuts] Understanding gollvm garbage collection

2021-07-09 Thread 'Than McIntosh' via golang-nuts
>1. If we do not enable the gc (-enable-gc=1), GC assumes all the stack memory blocks are pointed to the heap. >2. If gc is enabled, it inserts statepoints and generates the stack map (by LLVM). Using that stack map, GC can find where the actual heap references are located. Yes, this is basically

[go-nuts] Understanding gollvm garbage collection

2021-07-09 Thread Kavindu Gimhan Zoysa
Hi all, By looking at the source code, and other mail theads in group, I was able to understand the sopport of GC by gollvm upto some extend. 1. If we do not enable the gc (-enable-gc=1), GC assumes all the stack memory blocks are pointed to the heap. 2. If gc is enabled, it inserts statepoint