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
