Ok I think I just found the error...
FACTORY->NewNumberFromInt(val)
can allocate HeapNumbers if the val does not fit a Smi. I'll fix that and
test again.

Alexandre

On Fri, Nov 4, 2011 at 3:19 PM, Vyacheslav Egorov <[email protected]>wrote:

> Yes, this should work.
>
> Are you sure that this is the place that allocates the number which later
> fails the assertion?
>
> --
> Vyacheslav Egorov
>
>
> On Fri, Nov 4, 2011 at 4:17 PM, Alexandre Rames <[email protected]
> > wrote:
>
>> I am passing the TENURED flag to allocate in the old space:
>> HConstant(FACTORY->NewNumber(val, TENURED), \ + Representation::Double())Down
>> the call chain Heap::AllocateHeapNumber(double, PretenureFlag) uses the
>> OLD_DATA_SPACE. Isn't that the correct?
>>
>>  Alexandre
>>
>>
>> On Fri, Nov 4, 2011 at 3:03 PM, Vyacheslav Egorov 
>> <[email protected]>wrote:
>>
>>> Code objects can't contain pointers to new space objects.
>>>
>>> So any object that we are going to embed into the code should either
>>> be pretenured (allocated in oldspace) or has to go through a
>>> cell-indirection. See LCodeGen::LoadHeapObject for an example of this.
>>>
>>> --
>>> Vyacheslav Egorov
>>>
>>>
>>> On Fri, Nov 4, 2011 at 3:52 PM,  <[email protected]> wrote:
>>> > Reviewers: danno,
>>> >
>>> > Message:
>>> > The patch passes all the tests in release mode, but fails the debug
>>> mode.
>>> > A few tests fail with following error.
>>> >
>>> > # Fatal error in src/ia32/assembler-ia32-inl.h, line 293
>>> > # CHECK(!(v8::internal::Isolate::Current()->heap())->InNewSpace(obj))
>>> failed
>>> >
>>> > It looks like something goes wrong with the GC.
>>> > With GDB I can see that upon failure obj->IsHeapNumber() is true.
>>> > Are the double values incorrectly allocated when new HConstants are
>>> added to
>>> > the
>>> > HGraph?
>>> >
>>> > Any pointers or ideas where to look at to fix that?
>>> >
>>> > Description:
>>> > Propagate and combine constants in Hydrogen
>>> >
>>> > BUG=none
>>> > TEST=none
>>> >
>>> > Please review this at http://codereview.chromium.org/8473002/
>>> >
>>> > SVN Base: http://v8.googlecode.com/svn/branches/bleeding_edge/
>>> >
>>> > Affected files:
>>> >  M     src/flag-definitions.h
>>> >  M     src/hydrogen-instructions.h
>>> >  M     src/hydrogen-instructions.cc
>>> >  M     src/hydrogen.cc
>>> >
>>> >
>>> > --
>>> > v8-dev mailing list
>>> > [email protected]
>>> > http://groups.google.com/group/v8-dev
>>> >
>>>
>>> --
>>> v8-dev mailing list
>>> [email protected]
>>> http://groups.google.com/group/v8-dev
>>>
>>
>>
>

-- 
v8-dev mailing list
[email protected]
http://groups.google.com/group/v8-dev

Reply via email to