It works with a fixed version of NewNumberFromInt.
The updated patch should be uploaded on Monday.

On Fri, Nov 4, 2011 at 3:24 PM, Alexandre Rames
<[email protected]>wrote:

> 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