Rietveld Code Review Tool
Help | Bug tracker | Discussion group | Source code | Sign in
(3153)

Issue 198770044: code review 198770044: compiler, reflect, runtime: Use static chain for closures. (Closed)

Can't Edit
Can't Publish+Mail
Start Review
Created:
9 years, 3 months ago by iant
Modified:
9 years, 3 months ago
Reviewers:
CC:
iant, gofrontend-dev_googlegroups.com
Visibility:
Public.

Description

compiler, reflect, runtime: Use static chain for closures. Change from using __go_set_closure to passing the closure value in the static chain field. Uses new backend support for setting the closure chain in a call from C via __builtin_call_with_static_chain. Uses new support in libffi for Go closures. The old architecture specific support for reflect.MakeFunc is removed, replaced by the libffi support. All work done by Richard Henderson.

Patch Set 1 #

Patch Set 2 : -r 59a0d3fab78413b7a8904358c9601a0c8ee0b995 https://iant%40golang.org@code.google.com/p/gofrontend #

Unified diffs Side-by-side diffs Delta from patch set Stats (+126 lines, -2377 lines) Patch
M go/backend.h View 2 chunks +6 lines, -1 line 0 comments Download
M go/expressions.cc View 4 chunks +8 lines, -13 lines 0 comments Download
M go/gogo.h View 2 chunks +14 lines, -0 lines 0 comments Download
M go/gogo.cc View 7 chunks +15 lines, -14 lines 0 comments Download
M go/runtime.def View 1 chunk +0 lines, -6 lines 0 comments Download
M libgo/Makefile.am View 3 chunks +0 lines, -38 lines 0 comments Download
M libgo/Makefile.in View 4 chunks +5 lines, -39 lines 0 comments Download
M libgo/go/reflect/makefunc.go View 1 4 chunks +11 lines, -50 lines 0 comments Download
R libgo/go/reflect/makefunc_386.S View 1 chunk +0 lines, -230 lines 0 comments Download
R libgo/go/reflect/makefunc_amd64.S View 1 chunk +0 lines, -177 lines 0 comments Download
R libgo/go/reflect/makefunc_dummy.c View 1 chunk +0 lines, -15 lines 0 comments Download
M libgo/go/reflect/makefunc_ffi.go View 2 chunks +19 lines, -44 lines 0 comments Download
M libgo/go/reflect/makefunc_ffi_c.c View 4 chunks +16 lines, -52 lines 0 comments Download
R libgo/go/reflect/makefunc_s390.c View 1 chunk +0 lines, -86 lines 0 comments Download
R libgo/go/reflect/makefuncgo_386.go View 1 chunk +0 lines, -139 lines 0 comments Download
R libgo/go/reflect/makefuncgo_amd64.go View 1 chunk +0 lines, -496 lines 0 comments Download
R libgo/go/reflect/makefuncgo_s390.go View 1 chunk +0 lines, -454 lines 0 comments Download
R libgo/go/reflect/makefuncgo_s390x.go View 1 chunk +0 lines, -436 lines 0 comments Download
M libgo/go/reflect/value.go View 3 chunks +0 lines, -24 lines 0 comments Download
M libgo/runtime/go-ffi.c View 4 chunks +25 lines, -16 lines 0 comments Download
M libgo/runtime/go-reflect-call.c View 3 chunks +4 lines, -11 lines 0 comments Download
M libgo/runtime/malloc.goc View 4 chunks +0 lines, -8 lines 0 comments Download
M libgo/runtime/mgc0.c View 1 chunk +2 lines, -2 lines 0 comments Download
M libgo/runtime/proc.c View 1 chunk +0 lines, -20 lines 0 comments Download
M libgo/runtime/runtime.h View 2 chunks +0 lines, -4 lines 0 comments Download
M libgo/runtime/time.goc View 1 chunk +1 line, -2 lines 0 comments Download

Messages

Total messages: 2
iant
Hello iant@golang.org (cc: gofrontend-dev@googlegroups.com), I'd like you to review this change to https://iant%40golang.org@code.google.com/p/gofrontend
9 years, 3 months ago (2015-01-16 21:28:19 UTC) #1
iant
9 years, 3 months ago (2015-01-16 21:28:25 UTC) #2
*** Submitted as
https://code.google.com/p/gofrontend/source/detail?r=bb70e852004f ***

compiler, reflect, runtime: Use static chain for closures.

Change from using __go_set_closure to passing the closure
value in the static chain field.  Uses new backend support for
setting the closure chain in a call from C via
__builtin_call_with_static_chain.  Uses new support in libffi
for Go closures.

The old architecture specific support for reflect.MakeFunc is
removed, replaced by the libffi support.

All work done by Richard Henderson.

R=iant
CC=gofrontend-dev
https://codereview.appspot.com/198770044
Sign in to reply to this message.

Powered by Google App Engine
RSS Feeds Recent Issues | This issue
This is Rietveld f62528b