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

Issue 3822041: code review 3822041: runtime: implementation of callback functions for Windo...

Can't Edit
Can't Publish+Mail
Start Review
Created:
14 years, 1 month ago by czaplinski
Modified:
14 years ago
Reviewers:
brainman
CC:
golang-dev
Visibility:
Public.

Description

runtime: implementation of callback functions for Windows, with split-stack handling Avoids split-stack overflow from syscall by drawing new g0 split-stack boundaries on OS stack, then calling new scheduler in that space. This allows for further nesting of syscalls from a Go callback. Important notes: - builds on CL http://codereview.appspot.com/1696051 (updated to newer tip; included) - experimental - especially no guarantees on stability when doing panic/recovery in callbacks (no research done) I'd be more than happy to move the code to the 'exp' directory, but I'm not sure what's the best way to do that in this case, given the tight coupling with local code in proc.c + goc usage.

Patch Set 1 #

Patch Set 2 : code review 3822041: runtime: implementation of callback functions for Windo... #

Unified diffs Side-by-side diffs Delta from patch set Stats (+779 lines, -6 lines) Patch
M .hgignore View 1 chunk +1 line, -0 lines 0 comments Download
A src/pkg/exp/wingui/Makefile View 1 chunk +26 lines, -0 lines 0 comments Download
A src/pkg/exp/wingui/gui.go View 1 chunk +157 lines, -0 lines 0 comments Download
A src/pkg/exp/wingui/winapi.go View 1 chunk +148 lines, -0 lines 0 comments Download
A src/pkg/exp/wingui/zwinapi.go View 1 chunk +214 lines, -0 lines 0 comments Download
M src/pkg/runtime/darwin/thread.c View 1 chunk +6 lines, -0 lines 0 comments Download
M src/pkg/runtime/freebsd/thread.c View 1 chunk +6 lines, -0 lines 0 comments Download
M src/pkg/runtime/linux/thread.c View 1 chunk +6 lines, -0 lines 0 comments Download
M src/pkg/runtime/mgc0.c View 1 chunk +1 line, -1 line 0 comments Download
M src/pkg/runtime/plan9/thread.c View 1 chunk +5 lines, -0 lines 0 comments Download
M src/pkg/runtime/proc.c View 6 chunks +75 lines, -4 lines 0 comments Download
M src/pkg/runtime/runtime.h View 2 chunks +3 lines, -1 line 0 comments Download
M src/pkg/runtime/tiny/thread.c View 1 chunk +5 lines, -0 lines 0 comments Download
M src/pkg/runtime/windows/386/sys.s View 1 chunk +62 lines, -0 lines 0 comments Download
M src/pkg/runtime/windows/os.h View 1 chunk +4 lines, -0 lines 0 comments Download
M src/pkg/runtime/windows/syscall.goc View 1 chunk +4 lines, -0 lines 0 comments Download
M src/pkg/runtime/windows/thread.c View 2 chunks +36 lines, -0 lines 0 comments Download
M src/pkg/syscall/syscall_windows.go View 1 chunk +20 lines, -0 lines 0 comments Download

Messages

Total messages: 9
czaplinski
Hello rsc, brainman, lxn (cc: golang-dev@googlegroups.com), I'd like you to review this change.
14 years, 1 month ago (2010-12-21 22:33:36 UTC) #1
czaplinski
I'd highly appreciate some feedback on this CL. If the size of the change is ...
14 years ago (2011-01-06 20:16:12 UTC) #2
brainman
On 2011/01/06 20:16:12, czaplinski wrote: > I'd highly appreciate some feedback on this CL. > ...
14 years ago (2011-01-07 06:19:13 UTC) #3
czaplinski
On 2011/01/07 06:19:13, brainman wrote: > On 2011/01/06 20:16:12, czaplinski wrote: > > I'd highly ...
14 years ago (2011-01-07 15:08:34 UTC) #4
brainman
On 2011/01/07 15:08:34, czaplinski wrote: > ... I had another go at my CL: http://codereview.appspot.com/1696051/ ...
14 years ago (2011-01-11 04:23:39 UTC) #5
czaplinski
On 2011/01/11 04:23:39, brainman wrote: > I had another go at my CL: > http://codereview.appspot.com/1696051/ ...
14 years ago (2011-01-11 08:36:18 UTC) #6
brainman
On 2011/01/11 08:36:18, czaplinski wrote: > > Additional note: without saving these registers, crashes occur ...
14 years ago (2011-01-11 08:44:59 UTC) #7
czaplinski
On 2011/01/11 08:44:59, brainman wrote: > On 2011/01/11 08:36:18, czaplinski wrote: > > Additional note: ...
14 years ago (2011-01-11 09:16:54 UTC) #8
rsc
14 years ago (2011-01-19 19:18:10 UTC) #9
setting R=brainman.
assuming will merge this and the other exp/wingui CL
Sign in to reply to this message.

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