On 2015/06/08 11:17:14, jochen wrote:
On 2015/06/08 at 11:15:18, ishell wrote:
> On 2015/06/08 11:04:59, jochen wrote:
> > replaced all the #ifdefs
> >
> > https://codereview.chromium.org/1135353003/diff/120001/src/objects-inl.h
> > File src/objects-inl.h (right):
> >
> >

https://codereview.chromium.org/1135353003/diff/120001/src/objects-inl.h#newcode1553
> > src/objects-inl.h:1553: // TODO(jochen): Why do we claim that Code and Map
> > contain only raw values?
> > On 2015/06/08 at 10:45:12, Igor Sheludko wrote:
> > > I guess because we never called MayContainRawValues() method for Code
and
Map
> > object before, but now we do during the slots filtering. So probably it
makes
> > sense to return kTaggedValues for Code and Map here.
> > >
> > > I'm not sure which way is the best: to reorder instance types or to add
more
> > conditions here.
> >
> > I'd rather keep this patch as refactoring only, we can still do that in a
> > follow-up.
> Ok, fine.
>
> > At least Code should be kMixedValues, no? It contains all the assembly... > In this sense Map is also a kMixedValues thing - it contains sizes field and
bit fields.
> BTW, LayoutDescriptor machinery does not support Maps and Code cases.

bit fields and stuff are fine as long as they look like Smis (i.e. bit 0 is
unused)

I don't think it's guaranteed. Actually GC knows about these raw fields and
skips them manually (see Map::kPointerFieldsBeginOffset). Probably the same
could be said about Code handling. GC never looks into the assembly directly -
only through relocation info or through typed slot buffer entries.

https://codereview.chromium.org/1135353003/

--
--
v8-dev mailing list
[email protected]
http://groups.google.com/group/v8-dev
--- You received this message because you are subscribed to the Google Groups "v8-dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
For more options, visit https://groups.google.com/d/optout.

Reply via email to