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

Issue 595833002: Fix bug in MIPS BoxInt32 instruction. (Closed)

Created:
6 years, 2 months ago by Florian Schneider
Modified:
6 years, 2 months ago
CC:
reviews_dartlang.org, vm-dev_dartlang.org
Visibility:
Public.

Description

Fix bug in MIPS BoxInt32 instruction. BranchEqual was called with two registers, but generated a compare-immediate instead. Add the 2-register version for BranchEqual and BranchNotEqual. R=vegorov@google.com Committed: https://code.google.com/p/dart/source/detail?r=40588

Patch Set 1 #

Total comments: 2
Unified diffs Side-by-side diffs Delta from patch set Stats (+8 lines, -0 lines) Patch
M runtime/vm/assembler_mips.h View 2 chunks +8 lines, -0 lines 2 comments Download

Messages

Total messages: 12 (1 generated)
Florian Schneider
6 years, 2 months ago (2014-09-23 10:52:19 UTC) #1
Vyacheslav Egorov (Google)
lgtm
6 years, 2 months ago (2014-09-23 11:16:06 UTC) #2
Florian Schneider
Committed patchset #1 (id:1) manually as r40588 (presubmit successful).
6 years, 2 months ago (2014-09-23 11:29:55 UTC) #3
Ivan Posva
+zra We need to evaluate the use of unwrapped scalar values in the macro instructions. ...
6 years, 2 months ago (2014-09-23 14:31:43 UTC) #5
Vyacheslav Egorov (Google)
https://codereview.chromium.org/595833002/diff/1/runtime/vm/assembler_mips.h File runtime/vm/assembler_mips.h (right): https://codereview.chromium.org/595833002/diff/1/runtime/vm/assembler_mips.h#newcode935 runtime/vm/assembler_mips.h:935: void BranchEqual(Register rd, int32_t value, Label* l) { On ...
6 years, 2 months ago (2014-09-23 14:42:31 UTC) #6
zra
On 2014/09/23 14:42:31, Vyacheslav Egorov (Google) wrote: > https://codereview.chromium.org/595833002/diff/1/runtime/vm/assembler_mips.h > File runtime/vm/assembler_mips.h (right): > > ...
6 years, 2 months ago (2014-09-23 14:57:34 UTC) #7
Florian Schneider
On 2014/09/23 14:42:31, Vyacheslav Egorov (Google) wrote: > https://codereview.chromium.org/595833002/diff/1/runtime/vm/assembler_mips.h > File runtime/vm/assembler_mips.h (right): > > ...
6 years, 2 months ago (2014-09-23 15:13:43 UTC) #8
Ivan Posva
On 2014/09/23 14:57:34, zra wrote: > On 2014/09/23 14:42:31, Vyacheslav Egorov (Google) wrote: > > ...
6 years, 2 months ago (2014-09-23 15:22:42 UTC) #9
Florian Schneider
On 2014/09/23 14:57:34, zra wrote: > On 2014/09/23 14:42:31, Vyacheslav Egorov (Google) wrote: > > ...
6 years, 2 months ago (2014-09-23 15:24:26 UTC) #10
Ivan Posva
On 2014/09/23 14:42:31, Vyacheslav Egorov (Google) wrote: > https://codereview.chromium.org/595833002/diff/1/runtime/vm/assembler_mips.h > File runtime/vm/assembler_mips.h (right): > > ...
6 years, 2 months ago (2014-09-23 15:26:39 UTC) #11
zra
6 years, 2 months ago (2014-09-23 16:14:38 UTC) #12
Message was sent while issue was closed.
On 2014/09/23 15:26:39, Ivan Posva wrote:
> On 2014/09/23 14:42:31, Vyacheslav Egorov (Google) wrote:
> > https://codereview.chromium.org/595833002/diff/1/runtime/vm/assembler_mips.h
> > File runtime/vm/assembler_mips.h (right):
> > 
> >
>
https://codereview.chromium.org/595833002/diff/1/runtime/vm/assembler_mips.h#...
> > runtime/vm/assembler_mips.h:935: void BranchEqual(Register rd, int32_t
value,
> > Label* l) {
> > On 2014/09/23 14:31:43, Ivan Posva wrote:
> > > The real issue is that we are not using Immediate here and a lot of other
> > > similar places.
> > 
> > Alternative interpretation could be: we should make Register itself non
> > coerciable to int (at least in DEBUG builds)?
> > 
> > This would allow us to catch issues like this at compilation time.
> 
> Maybe you want to do both, but so far we have relied on the fast Register
> handling (aka enum) and not passed any scalars. These escaped somehow...
> 
> -Ivan

I will start by wrapping the integer arguments to macros that don't have
Immediate in their name. Changing the Register type would be pretty invasive,
I'd think, but if there's an easy way to do it we can go ahead and give it a
try, too.

Powered by Google App Engine
This is Rietveld 408576698