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

Issue 11883045: code review 11883045: runtime: fix arm preemption (Closed)

Can't Edit
Can't Publish+Mail
Start Review
Created:
11 years, 8 months ago by rsc
Modified:
11 years, 8 months ago
Reviewers:
dave, dvyukov, remyoudompheng
CC:
golang-dev
Visibility:
Public.

Description

runtime: fix arm preemption Preemption during the software floating point code could cause m (R9) to change, so that when the original registers were restored at the end of the floating point handler, the changed and correct m would be replaced by the old and incorrect m.

Patch Set 1 #

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

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

Total comments: 2
Unified diffs Side-by-side diffs Delta from patch set Stats (+9 lines, -1 line) Patch
M src/pkg/runtime/vlop_arm.s View 1 2 1 chunk +9 lines, -1 line 2 comments Download

Messages

Total messages: 6
rsc
Hello dvyukov (cc: golang-dev@googlegroups.com), I'd like you to review this change to https://code.google.com/p/go/
11 years, 8 months ago (2013-08-01 04:16:29 UTC) #1
rsc
*** Submitted as https://code.google.com/p/go/source/detail?r=0e50ba9a0494 *** runtime: fix arm preemption Preemption during the software floating point ...
11 years, 8 months ago (2013-08-01 04:16:35 UTC) #2
dave_cheney.net
https://codereview.appspot.com/11883045/diff/4001/src/pkg/runtime/vlop_arm.s File src/pkg/runtime/vlop_arm.s (right): https://codereview.appspot.com/11883045/diff/4001/src/pkg/runtime/vlop_arm.s#newcode70 src/pkg/runtime/vlop_arm.s:70: MOVM.IA.W (R0), [R11-R12] Thanks rsc. Could this also be ...
11 years, 8 months ago (2013-08-01 04:21:17 UTC) #3
dvyukov
rubber stamp LGTM
11 years, 8 months ago (2013-08-01 10:40:42 UTC) #4
remyoudompheng
The linux arm builders seem to still complain about numeric corruptions, not sure what is ...
11 years, 8 months ago (2013-08-01 10:52:02 UTC) #5
rsc
11 years, 8 months ago (2013-08-01 14:50:57 UTC) #6
Message was sent while issue was closed.
https://codereview.appspot.com/11883045/diff/4001/src/pkg/runtime/vlop_arm.s
File src/pkg/runtime/vlop_arm.s (right):

https://codereview.appspot.com/11883045/diff/4001/src/pkg/runtime/vlop_arm.s#...
src/pkg/runtime/vlop_arm.s:70: MOVM.IA.W	(R0), [R11-R12]
On 2013/08/01 04:21:17, dfc wrote:
> Thanks rsc. Could this also be written as
> 
> MOVM.IA.W (R0), [R1,R2,R3,R4,R5,R6,R7,R8,R11,R12] ?
> 
> It probably doesn't matter that much 

No, it can't, because I need to skip over the R9 and R10 values that are on the
stack. I didn't change the form of the struct being passed to _sfloat, because
it assumes it can index into the list using the register number.

It's possible that if R0 is being updated that I could have done ADD $8, R0
instead of MOVW $52(R13), R0, but both are a single instruction and I was more
sure of the latter.
Sign in to reply to this message.

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