1
0
mirror of https://github.com/golang/go synced 2024-10-05 19:11:22 -06:00
go/src/pkg/runtime/arm
Russ Cox 141a4a1759 runtime: fix arm reflect.call boundary case
The fault was lucky: when it wasn't faulting it was silently
copying a word from some other block and later putting
that same word back.  If some other goroutine had changed
that word of memory in the interim, too bad.

The ARM code was inconsistent about whether the
"argument frame" included the saved LR.  Including it made
some things more regular but mostly just caused confusion
in the places where the regularity broke.  Now the rule
reflects reality: argp is always a pointer to arguments,
never a saved link register.

Renamed struct fields to make meaning clearer.

Running ARM in QEMU, package time's gotest:
  * before: 27/58 failed
  * after: 0/50

R=r, r2
CC=golang-dev
https://golang.org/cl/3993041
2011-01-14 14:05:20 -05:00
..
arch.h runtime: various arm fixes 2010-04-05 12:51:09 -07:00
asm.s runtime: fix arm reflect.call boundary case 2011-01-14 14:05:20 -05:00
cas5.s runtime: ,s/[a-zA-Z0-9_]+/runtime·&/g, almost 2010-11-04 14:00:19 -04:00
cas6.s runtime: Add some missing runtime· prefixes to ARM asm code. 2010-11-10 15:10:19 -08:00
closure.c runtime: ,s/[a-zA-Z0-9_]+/runtime·&/g, almost 2010-11-04 14:00:19 -04:00
memmove.s runtime: ,s/[a-zA-Z0-9_]+/runtime·&/g, almost 2010-11-04 14:00:19 -04:00
memset.s runtime: ,s/[a-zA-Z0-9_]+/runtime·&/g, almost 2010-11-04 14:00:19 -04:00
softfloat.c arm floating point simulation 2010-12-09 14:45:27 -08:00
traceback.c runtime: ,s/[a-zA-Z0-9_]+/runtime·&/g, almost 2010-11-04 14:00:19 -04:00
vlop.s runtime: Add some missing runtime· prefixes to ARM asm code. 2010-11-10 15:10:19 -08:00
vlrt.c last of the arm conversions 2010-11-11 19:54:35 -08:00