Change the compiler handle append as the gc compiler does: call a
function to grow the slice, but otherwise assign the new elements
directly to the final slice.
For the current gccgo memory allocator the slice code has to call
runtime_newarray, not mallocgc directly, so that the allocator sets the
TypeInfo_Array bit in the type pointer.
Rename the static function cnew to runtime_docnew, so that the stack
trace ignores it when ignoring runtime functions. This was needed to
fix the runtime/pprof tests on 386.
Reviewed-on: https://go-review.googlesource.com/32218
From-SVN: r241667
| Name |
Last commit
|
Last update |
|---|---|---|
| .. | ||
| arch.h | Loading commit data... | |
| array.h | Loading commit data... | |
| defs.h | Loading commit data... | |
| env_posix.c | Loading commit data... | |
| getncpu-bsd.c | Loading commit data... | |
| getncpu-irix.c | Loading commit data... | |
| getncpu-linux.c | Loading commit data... | |
| getncpu-none.c | Loading commit data... | |
| getncpu-solaris.c | Loading commit data... | |
| go-alloc.h | Loading commit data... | |
| go-assert.c | Loading commit data... | |
| go-assert.h | Loading commit data... | |
| go-breakpoint.c | Loading commit data... | |
| go-caller.c | Loading commit data... | |
| go-callers.c | Loading commit data... | |
| go-cdiv.c | Loading commit data... | |
| go-cgo.c | Loading commit data... | |
| go-construct-map.c | Loading commit data... | |
| go-defer.c | Loading commit data... | |
| go-deferred-recover.c | Loading commit data... | |
| go-ffi.c | Loading commit data... | |
| go-ffi.h | Loading commit data... | |
| go-fieldtrack.c | Loading commit data... | |
| go-libmain.c | Loading commit data... | |
| go-main.c | Loading commit data... | |
| go-matherr.c | Loading commit data... | |
| go-memclr.c | Loading commit data... | |
| go-memcmp.c | Loading commit data... | |
| go-memequal.c | Loading commit data... | |
| go-memmove.c | Loading commit data... | |
| go-nanotime.c | Loading commit data... | |
| go-new.c | Loading commit data... | |
| go-nosys.c | Loading commit data... | |
| go-now.c | Loading commit data... | |
| go-panic.c | Loading commit data... | |
| go-panic.h | Loading commit data... | |
| go-recover.c | Loading commit data... | |
| go-reflect-call.c | Loading commit data... | |
| go-runtime-error.c | Loading commit data... | |
| go-setenv.c | Loading commit data... | |
| go-signal.c | Loading commit data... | |
| go-string.h | Loading commit data... | |
| go-strslice.c | Loading commit data... | |
| go-trampoline.c | Loading commit data... | |
| go-type-complex.c | Loading commit data... | |
| go-type-float.c | Loading commit data... | |
| go-type-identity.c | Loading commit data... | |
| go-type-string.c | Loading commit data... | |
| go-type.h | Loading commit data... | |
| go-typedesc-equal.c | Loading commit data... | |
| go-unsafe-new.c | Loading commit data... | |
| go-unsafe-newarray.c | Loading commit data... | |
| go-unsafe-pointer.c | Loading commit data... | |
| go-unsetenv.c | Loading commit data... | |
| go-unwind.c | Loading commit data... | |
| go-varargs.c | Loading commit data... | |
| goc2c.c | Loading commit data... | |
| heapdump.c | Loading commit data... | |
| malloc.goc | Loading commit data... | |
| malloc.h | Loading commit data... | |
| mcache.c | Loading commit data... | |
| mcentral.c | Loading commit data... | |
| mem.c | Loading commit data... | |
| mem_posix_memalign.c | Loading commit data... | |
| mfixalloc.c | Loading commit data... | |
| mgc0.c | Loading commit data... | |
| mgc0.h | Loading commit data... | |
| mheap.c | Loading commit data... | |
| msize.c | Loading commit data... | |
| panic.c | Loading commit data... | |
| parfor.c | Loading commit data... | |
| print.c | Loading commit data... | |
| proc.c | Loading commit data... | |
| rtems-task-variable-add.c | Loading commit data... | |
| runtime.c | Loading commit data... | |
| runtime.h | Loading commit data... | |
| runtime1.goc | Loading commit data... | |
| signal_unix.c | Loading commit data... | |
| signal_unix.h | Loading commit data... | |
| sigqueue.goc | Loading commit data... | |
| thread-linux.c | Loading commit data... | |
| thread-sema.c | Loading commit data... | |
| thread.c | Loading commit data... | |
| yield.c | Loading commit data... |