1
0
mirror of https://github.com/golang/go synced 2024-10-04 10:31:22 -06:00
go/src/cmd/gc
Russ Cox 68aaf2ccda runtime: make scan of pointer-in-interface same as scan of pointer
The GC program describing a data structure sometimes trusts the
pointer base type and other times does not (if not, the garbage collector
must fall back on per-allocation type information stored in the heap).
Make the scanning of a pointer in an interface do the same.
This fixes a crash in a particular use of reflect.SliceHeader.

Fixes #8004.

LGTM=khr
R=golang-codereviews, khr
CC=0xe2.0x9a.0x9b, golang-codereviews, iant, r
https://golang.org/cl/100470045
2014-05-15 15:53:36 -04:00
..
align.c all: merge NaCl branch (part 1) 2014-02-25 09:47:42 -05:00
array.c cmd/5g, cmd/5l, cmd/6g, cmd/6l, cmd/8g, cmd/8l, cmd/gc, runtime: generate pointer maps by liveness analysis 2013-12-05 17:35:22 -08:00
bisonerrors cmd/gc: make bisonerrors compatible with GNU Bison 3.0 2013-07-30 04:31:15 +02:00
bits.c cmd/gc: alias more variables during register allocation 2014-05-12 17:10:36 -04:00
builtin.c cmd/gc, runtime: optimize map[string] lookup from []byte key 2014-04-03 19:05:17 -04:00
bv.c cmd/gc: handle non-escaping address-taken variables better 2014-01-16 10:32:30 -05:00
closure.c cmd/gc: shorten even more temporary lifetimes 2014-04-02 14:09:42 -04:00
const.c cmd/gc: fix segfault in isgoconst. 2014-04-16 23:12:06 -04:00
cplx.c cmd/gc: silence valgrind error 2013-03-13 16:12:38 -04:00
dcl.c cmd/gc: correct liveness for fat variables 2014-02-15 10:58:55 -05:00
doc.go all: final merge of NaCl tree 2014-02-27 20:37:00 -05:00
esc.c cmd/gc: fix escape analysis for slice of array 2014-05-12 14:45:05 -04:00
export.c cmd/gc: implement -pack flag 2013-12-17 21:43:33 -05:00
fmt.c cmd/gc: shorten more temporary lifetimes 2014-04-01 20:02:54 -04:00
gen.c cmd/gc: alias more variables during register allocation 2014-05-12 17:10:36 -04:00
go.errors cmd/gc: better error messages for C-style if statements. 2013-08-19 11:49:59 +10:00
go.h cmd/gc: alias more variables during register allocation 2014-05-12 17:10:36 -04:00
go.y cmd/gc: fix spurious "bad negated constant" for complex constants. 2014-04-01 02:55:38 -04:00
init.c cmd/gc: do not generate code for var _ = ... unless necessary 2012-12-30 12:01:53 -05:00
inl.c cmd/gc: allow append and complex builtins to accept 2-result call expression as first argument. 2014-03-05 14:16:21 -05:00
lex.c cmd/gc: avoid %L in error message 2014-04-20 11:02:01 +02:00
Makefile build: update Makefile to track source code dependencies better 2012-03-13 03:31:11 +08:00
md5.c cmd/gc, cmd/ld, runtime: compact liveness bitmaps 2014-04-02 16:49:27 -04:00
md5.h cmd/gc, cmd/ld, runtime: compact liveness bitmaps 2014-04-02 16:49:27 -04:00
mkbuiltin cmd/gc: update runtime.go for new map implementation. 2013-03-27 21:51:07 +01:00
mkbuiltin1.c cmd/gc: silence clang warning 2013-10-29 11:50:18 -04:00
mkopnames gc: use octal escapes in mkopnames 2012-01-31 18:15:42 -08:00
mparith1.c cmd/gc: round floats with a large negative exponent towards zero 2014-03-24 10:10:29 -07:00
mparith2.c cmd/gc: avoid confusing error message "ovf in mpaddxx" 2014-04-09 08:36:27 +02:00
mparith3.c cmd/gc: check exponent overflow and underflow in mparith 2014-03-19 05:48:00 +01:00
obj.c liblink, cmd/gc, cmd/{5,6,8}{a,c}: rename linkwriteobj to writeobj 2014-04-16 14:36:44 -07:00
order.c cmd/gc: fix ... escape analysis bug 2014-05-09 15:40:45 -04:00
pgen.c cmd/gc: fix out of bounds access 2014-05-14 19:24:00 +04:00
plive.c cmd/8g: fix liveness for 387 build (including plan9) 2014-04-06 10:30:02 -04:00
popt.c cmd/gc: shorten temporary lifetimes when possible 2014-04-01 13:31:38 -04:00
popt.h cmd/gc: eliminate redundant &x.Field nil checks 2013-09-17 16:54:22 -04:00
racewalk.c cmd/gc: shorten temporary lifetimes when possible 2014-04-01 13:31:38 -04:00
range.c cmd/gc: shorten even more temporary lifetimes 2014-04-02 14:09:42 -04:00
reflect.c runtime: make scan of pointer-in-interface same as scan of pointer 2014-05-15 15:53:36 -04:00
runtime.go cmd/gc, runtime: optimize map[string] lookup from []byte key 2014-04-03 19:05:17 -04:00
select.c cmd/gc: shorten even more temporary lifetimes 2014-04-02 14:09:42 -04:00
sinit.c cmd/gc: disable link-time copying of un-Go-initialized globals 2014-05-09 16:03:44 -04:00
subr.c cmd/gc: record line number for auto-generated wrappers as <autogenerated>:1 2014-05-12 11:59:55 -04:00
swt.c cmd/gc: reject incorrect use of fallthrough. 2014-02-19 07:55:03 +01:00
typecheck.c cmd/gc: fix duplicate map key check 2014-05-15 15:34:37 -04:00
unsafe.c cmd/gc: fix some overflows in the compiler 2013-04-29 22:44:40 -07:00
unsafe.go gc: delete old unsafe functions 2012-02-13 15:37:35 -05:00
walk.c cmd/gc, runtime: optimize map[string] lookup from []byte key 2014-04-03 19:05:17 -04:00
y.tab.c cmd/gc: fix spurious "bad negated constant" for complex constants. 2014-04-01 02:55:38 -04:00
y.tab.h cmd/gc: fix spurious "bad negated constant" for complex constants. 2014-04-01 02:55:38 -04:00
yerr.h cmd/gc: qualified embedded fields with owner package. 2013-10-02 12:27:33 -04:00