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 #include "go-type.h"
12 
13 void *
__go_new(const struct __go_type_descriptor * td,uintptr_t size)14 __go_new (const struct __go_type_descriptor *td, uintptr_t size)
15 {
16   return runtime_mallocgc (size,
17 			   (uintptr) td | TypeInfo_SingleObject,
18 			   td->__code & GO_NO_POINTERS ? FlagNoScan : 0);
19 }
20