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

Issue 1375283003: Fill the header of an Instructions object with null (Closed)

Created:
5 years, 2 months ago by Cutch
Modified:
5 years, 2 months ago
CC:
reviews_dartlang.org, vm-dev_dartlang.org
Base URL:
git@github.com:dart-lang/sdk.git@master
Target Ref:
refs/heads/master
Visibility:
Public.

Description

Fill the header of an Instructions object with null Fixes debug mode failure discovered on mips bot. R=rmacnak@google.com Committed: https://github.com/dart-lang/sdk/commit/6b622133ca8da0fc79e04e4f8246ab6283ebe9fa

Patch Set 1 #

Unified diffs Side-by-side diffs Delta from patch set Stats (+14 lines, -2 lines) Patch
M runtime/vm/object.cc View 1 chunk +14 lines, -2 lines 0 comments Download

Messages

Total messages: 9 (2 generated)
Cutch
5 years, 2 months ago (2015-09-30 17:04:55 UTC) #2
rmacnak
lgtm
5 years, 2 months ago (2015-09-30 17:06:15 UTC) #3
Cutch
Committed patchset #1 (id:1) manually as 6b622133ca8da0fc79e04e4f8246ab6283ebe9fa (presubmit successful).
5 years, 2 months ago (2015-09-30 17:06:35 UTC) #4
Florian Schneider
dbc: Only the slot with the code backpointer has to be null-initialized, right? It is ...
5 years, 2 months ago (2015-09-30 19:11:13 UTC) #6
Cutch
On 2015/09/30 19:11:13, Florian Schneider wrote: > dbc: Only the slot with the code backpointer ...
5 years, 2 months ago (2015-09-30 19:30:11 UTC) #7
koda
On 2015/09/30 19:11:13, Florian Schneider wrote: > dbc: Only the slot with the code backpointer ...
5 years, 2 months ago (2015-09-30 19:33:57 UTC) #8
koda
5 years, 2 months ago (2015-09-30 19:42:11 UTC) #9
Message was sent while issue was closed.
On 2015/09/30 19:33:57, koda wrote:
> On 2015/09/30 19:11:13, Florian Schneider wrote:
> > dbc: Only the slot with the code backpointer has to be null-initialized,
> right?
> > It is visited by GC.
> > 
> > Also, smi 0 would be better than Object::null() since it does not change
> between
> > runs of the VM - otherwise the precompiled snapshot differs between runs of
> the
> > same input, which I tried to avoid using the break-instructions as fillers.
> 
> Also, just as a general reminder, if any field ever needs to be initialized to
> anything other than null/Smi, please use RawObject::Store{Pointer,Smi,...},
> which ensure any present or future write barrier is correctly applied.

... and to clarify, since Store* does indeed verify the previous value, you'd
need to either do it after writing a (redundant) null (and after the call to
VerifiedMemory::Accept), or add a C++ version of Assembler::InitializeField,
etc., which we use in generated code.

Powered by Google App Engine
This is Rietveld 408576698