github.com/prattmic/llgo-embedded@v0.0.0-20150820070356-41cfecea0e1e/third_party/gofrontend/libgo/runtime/go-new.c (about)

     1  /* go-new.c -- the generic go new() function.
     2  
     3     Copyright 2009 The Go Authors. All rights reserved.
     4     Use of this source code is governed by a BSD-style
     5     license that can be found in the LICENSE file.  */
     6  
     7  #include "go-alloc.h"
     8  #include "runtime.h"
     9  #include "arch.h"
    10  #include "malloc.h"
    11  
    12  void *
    13  __go_new (const struct __go_type_descriptor *td, uintptr_t size)
    14  {
    15    return runtime_mallocgc (size,
    16  			   (uintptr) td | TypeInfo_SingleObject,
    17  			   0);
    18  }
    19  
    20  void *
    21  __go_new_nopointers (const struct __go_type_descriptor *td,  uintptr_t size)
    22  {
    23    return runtime_mallocgc (size,
    24  			   (uintptr) td | TypeInfo_SingleObject,
    25  			   FlagNoScan);
    26  }