Re:New SSA Back End for the Go Compiler (2015)
by wyldfire on Saturday April 02, 2016 @11:58AM
(#11411961)
Is "Stack maps" the same as "segmented stacks" that Mr Cox refers to?
[ Parent
| on HN ]
Re:New SSA Back End for the Go Compiler (2015)
by riscy on Saturday April 02, 2016 @12:07PM
(#11412017)
No, stack maps provide information about each stack frame (typically using the return instruction pointer left in that frame) to allow for the garbage collector to determine what is a pointer or not in that frame.
Re:New SSA Back End for the Go Compiler (2015)
by kibwen on Saturday April 02, 2016 @05:26PM
(#11413544)
Note that Go no longer uses segmented stacks (and hasn't since 1.2). It uses contiguous, copyable stacks: http://agis.io/2014/03/25/contiguous-stacks-in-go.html
Re:New SSA Back End for the Go Compiler (2015)
by DannyBee on Saturday April 02, 2016 @12:15PM
(#11412055)
Segmented stacks are basically what safestack offers, and that is also something llvm does :)
Re:New SSA Back End for the Go Compiler (2015)
by riscy on Saturday April 02, 2016 @12:25PM
(#11412091)
No it's not. Segmented stacks are a way of allocating smaller stack segments that are linked together with pointers and kept in the heap and is a means of implementing coroutines. Safestack is more complicated and it segregates the stack into 2 parts to prevent stack buffer overflow attacks.