Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(470)

Issue 19482023: Fix math min/max for -0.0 case. Enable min_max_test to run in optimizing compiler as well. (Closed)

Created:
7 years, 5 months ago by srdjan
Modified:
7 years, 5 months ago
Reviewers:
zra, regis, sra1
CC:
reviews_dartlang.org, Florian Schneider, floitsch
Visibility:
Public.

Description

Fix math min/max for -0.0 case. Enable min_max_test to run in optimizing compiler as well. R=regis@google.com, zra@google.com Committed: https://code.google.com/p/dart/source/detail?r=25306

Patch Set 1 #

Total comments: 6

Patch Set 2 : #

Total comments: 1
Unified diffs Side-by-side diffs Delta from patch set Stats (+148 lines, -46 lines) Patch
M runtime/vm/constants_mips.h View 1 1 chunk +8 lines, -0 lines 0 comments Download
M runtime/vm/intermediate_language_arm.cc View 1 1 chunk +31 lines, -12 lines 0 comments Download
M runtime/vm/intermediate_language_ia32.cc View 2 chunks +37 lines, -14 lines 1 comment Download
M runtime/vm/intermediate_language_mips.cc View 1 2 chunks +33 lines, -7 lines 0 comments Download
M runtime/vm/intermediate_language_x64.cc View 1 chunk +34 lines, -13 lines 0 comments Download
M tests/lib/lib.status View 1 chunk +2 lines, -0 lines 0 comments Download
M tests/lib/math/min_max_test.dart View 2 chunks +3 lines, -0 lines 0 comments Download

Messages

Total messages: 6 (0 generated)
srdjan
7 years, 5 months ago (2013-07-22 20:30:13 UTC) #1
zra
lgtm lgtm
7 years, 5 months ago (2013-07-22 20:35:53 UTC) #2
regis
LGTM with suggestions for ARM and MIPS. https://codereview.chromium.org/19482023/diff/1/runtime/vm/constants_mips.h File runtime/vm/constants_mips.h (right): https://codereview.chromium.org/19482023/diff/1/runtime/vm/constants_mips.h#newcode158 runtime/vm/constants_mips.h:158: static inline ...
7 years, 5 months ago (2013-07-22 20:55:10 UTC) #3
srdjan
https://codereview.chromium.org/19482023/diff/1/runtime/vm/constants_mips.h File runtime/vm/constants_mips.h (right): https://codereview.chromium.org/19482023/diff/1/runtime/vm/constants_mips.h#newcode158 runtime/vm/constants_mips.h:158: static inline FRegister OddFRegisterOf(DRegister d) { On 2013/07/22 20:55:11, ...
7 years, 5 months ago (2013-07-22 21:10:15 UTC) #4
srdjan
Committed patchset #2 manually as r25306 (presubmit successful).
7 years, 5 months ago (2013-07-22 21:37:49 UTC) #5
sra1
7 years, 5 months ago (2013-07-22 22:10:59 UTC) #6
Message was sent while issue was closed.
https://codereview.chromium.org/19482023/diff/10001/runtime/vm/intermediate_l...
File runtime/vm/intermediate_language_ia32.cc (right):

https://codereview.chromium.org/19482023/diff/10001/runtime/vm/intermediate_l...
runtime/vm/intermediate_language_ia32.cc:3687: // -0.0 or 0.0 respectively.
Both are equal, so are the same bits except +0.0/-0.0
The only difference is the sign bit.
Bitwise OR for min, bitwise AND for max.
Pity there is no ANDSD instruction, but ANDPD might be faster and more compact
that this code.

Powered by Google App Engine
This is Rietveld 408576698