finally, I find the reason: the allocated objects can't have reference to other objects, because GC don't know those reference and would recycle them. after GC, we'll have dangling pointer and may meet strange behavior.
在 2016年7月9日星期六 UTC+8下午1:11:49,Arthur写道: > > my program allocates many different kinds of small object, and that gives > GC a lot pressure. > so I wan't to make a big slice and split object from it manually. > > block = make([]byte, 30*1024) > myObj := (*myObjType)(unsafe.Pointer(&block[offset])) > > I write a simple allocator to do it, but I meet strange panic. > so my question is, can't go alloc custom objects from byte slice's memory > address? > -- 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. For more options, visit https://groups.google.com/d/optout.