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

Issue 15760044: code review 15760044: runtime: assembly and system calls for Native Client x86-64 (Closed)

Can't Edit
Can't Publish+Mail
Start Review
Created:
10 years, 6 months ago by rsc
Modified:
10 years, 5 months ago
Reviewers:
adg
Visibility:
Public.

Description

runtime: assembly and system calls for Native Client x86-64 See golang.org/s/go13nacl for design overview. This CL is publicly visible but not CC'ed to golang-dev, to avoid distracting from the preparation of the Go 1.2 release. This CL and the others will be checked into my rsc-go13nacl clone repo for now, and I will send CLs against the main repo early in the Go 1.3 development.

Patch Set 1 #

Patch Set 2 : diff -r 6752a7aad603 https://code.google.com/r/rsc-go13nacl #

Patch Set 3 : diff -r 6752a7aad603 https://code.google.com/r/rsc-go13nacl #

Patch Set 4 : diff -r 6752a7aad603 https://code.google.com/r/rsc-go13nacl #

Patch Set 5 : diff -r 6752a7aad603 https://code.google.com/r/rsc-go13nacl #

Patch Set 6 : diff -r eca0ca43a863 https://code.google.com/r/rsc-go13nacl #

Patch Set 7 : diff -r de159d1f10be https://code.google.com/r/rsc-go13nacl #

Total comments: 2

Patch Set 8 : diff -r de159d1f10be https://code.google.com/r/rsc-go13nacl #

Patch Set 9 : diff -r 228a67edf974 https://code.google.com/r/rsc-go13nacl #

Total comments: 2
Unified diffs Side-by-side diffs Delta from patch set Stats (+555 lines, -0 lines) Patch
A src/pkg/runtime/cgo/asm_nacl_amd64p32.s View 1 1 chunk +13 lines, -0 lines 0 comments Download
A src/pkg/runtime/defs_nacl_amd64p32.h View 1 2 3 1 chunk +90 lines, -0 lines 0 comments Download
A src/pkg/runtime/memmove_nacl_amd64p32.s View 1 1 chunk +46 lines, -0 lines 0 comments Download
A src/pkg/runtime/sys_nacl_amd64p32.s View 1 2 3 4 5 6 1 chunk +406 lines, -0 lines 2 comments Download

Messages

Total messages: 5
adg
https://codereview.appspot.com/15760044/diff/160001/src/pkg/runtime/sys_nacl_amd64p32.s File src/pkg/runtime/sys_nacl_amd64p32.s (right): https://codereview.appspot.com/15760044/diff/160001/src/pkg/runtime/sys_nacl_amd64p32.s#newcode58 src/pkg/runtime/sys_nacl_amd64p32.s:58: MOVL arg1+0(FP), DI add a comment: // only do ...
10 years, 6 months ago (2013-11-05 04:37:43 UTC) #1
rsc
Hello adg@golang.org, I'd like you to review this change to https://code.google.com/r/rsc-go13nacl
10 years, 5 months ago (2013-11-11 14:50:31 UTC) #2
rsc
*** Submitted as 436bb084caed *** runtime: assembly and system calls for Native Client x86-64 See ...
10 years, 5 months ago (2013-11-11 14:50:38 UTC) #3
adg
https://codereview.appspot.com/15760044/diff/200001/src/pkg/runtime/sys_nacl_amd64p32.s File src/pkg/runtime/sys_nacl_amd64p32.s (right): https://codereview.appspot.com/15760044/diff/200001/src/pkg/runtime/sys_nacl_amd64p32.s#newcode71 src/pkg/runtime/sys_nacl_amd64p32.s:71: timedwrite: Should there be a per-fd lock held between ...
10 years, 5 months ago (2013-11-12 05:08:32 UTC) #4
rsc
10 years, 5 months ago (2013-11-12 13:50:36 UTC) #5
Message was sent while issue was closed.
https://codereview.appspot.com/15760044/diff/200001/src/pkg/runtime/sys_nacl_...
File src/pkg/runtime/sys_nacl_amd64p32.s (right):

https://codereview.appspot.com/15760044/diff/200001/src/pkg/runtime/sys_nacl_...
src/pkg/runtime/sys_nacl_amd64p32.s:71: timedwrite:
On 2013/11/12 05:08:32, adg wrote:
> Should there be a per-fd lock held between here and RET?
> Concurrent writes could interleave playback headers with data, creating a
> corrupted playback feed and mysterious errors, as users typically have no idea
> of the trickery that makes this possible.

Yes, and there is. The next four lines are a simple spin lock looping until
runtime.writelock can be acquired (via XCHGL). The unlock is the MOVL $0 at the
bottom just before RET. It's just one lock, not one per fd.

I forgot to make the changes you wanted about renaming timedwrite. I'll send a
CL that does that and adds more comments.
Sign in to reply to this message.

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