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

Issue 73830044: code review 73830044: runtime: use unoptimized memmove and memclr on Plan 9 (Closed)

Can't Edit
Can't Publish+Mail
Start Review
Created:
11 years, 3 months ago by ality
Modified:
11 years, 3 months ago
Reviewers:
rsc
CC:
rsc, 0intro, golang-codereviews
Visibility:
Public.

Description

runtime: use unoptimized memmove and memclr on Plan 9 On Plan 9, the kernel disallows the use of floating point instructions while handling a note. Previously, we worked around this by using a simple loop in place of memmove. When I added that work-around, I verified that all paths from the note handler didn't end up calling memmove. Now that memclr is using SSE instructions, the same process will have to be done again. Instead of doing that, however, this CL just punts and uses unoptimized functions everywhere on Plan 9.

Patch Set 1 #

Patch Set 2 : diff -r 9a60a27637a4 https://code.google.com/p/go #

Patch Set 3 : diff -r 4d38723d03f0 https://code.google.com/p/go #

Patch Set 4 : diff -r de89d05d7ca7 https://code.google.com/p/go #

Unified diffs Side-by-side diffs Delta from patch set Stats (+24 lines, -282 lines) Patch
M src/pkg/runtime/memclr_386.s View 1 1 chunk +2 lines, -0 lines 0 comments Download
M src/pkg/runtime/memclr_amd64.s View 1 1 chunk +2 lines, -0 lines 0 comments Download
M src/pkg/runtime/memclr_plan9_386.s View 1 3 chunks +7 lines, -82 lines 0 comments Download
M src/pkg/runtime/memclr_plan9_amd64.s View 1 3 chunks +7 lines, -73 lines 0 comments Download
M src/pkg/runtime/memmove_386.s View 1 1 chunk +2 lines, -0 lines 0 comments Download
M src/pkg/runtime/memmove_amd64.s View 1 1 chunk +2 lines, -0 lines 0 comments Download
M src/pkg/runtime/memmove_plan9_386.s View 1 3 chunks +1 line, -47 lines 0 comments Download
M src/pkg/runtime/memmove_plan9_amd64.s View 1 3 chunks +1 line, -80 lines 0 comments Download

Messages

Total messages: 5
ality
Hello rsc@golang.org, 0intro@gmail.com (cc: golang-codereviews@googlegroups.com), I'd like you to review this change to https://code.google.com/p/go
11 years, 3 months ago (2014-03-12 12:12:25 UTC) #1
ality
The alternative to this is making the note handler a really small trampoline into runtime·sigpanic ...
11 years, 3 months ago (2014-03-12 12:39:37 UTC) #2
rsc
LGTM I'm not thrilled but it's fine.
11 years, 3 months ago (2014-03-12 15:51:47 UTC) #3
0intro
It looks fine to me.
11 years, 3 months ago (2014-03-12 18:57:20 UTC) #4
ality
11 years, 3 months ago (2014-03-13 01:12:49 UTC) #5
*** Submitted as https://code.google.com/p/go/source/detail?r=3018a8137880 ***

runtime: use unoptimized memmove and memclr on Plan 9

On Plan 9, the kernel disallows the use of floating point
instructions while handling a note. Previously, we worked
around this by using a simple loop in place of memmove.

When I added that work-around, I verified that all paths
from the note handler didn't end up calling memmove. Now
that memclr is using SSE instructions, the same process
will have to be done again.

Instead of doing that, however, this CL just punts and
uses unoptimized functions everywhere on Plan 9.

LGTM=rsc
R=rsc, 0intro
CC=golang-codereviews
https://codereview.appspot.com/73830044
Sign in to reply to this message.

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