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
