Chromium Code Reviews| Index: src/heap.cc |
| =================================================================== |
| --- src/heap.cc (revision 2255) |
| +++ src/heap.cc (working copy) |
| @@ -1257,28 +1257,51 @@ |
| return true; |
| } |
| + |
| +void Heap::CreateCEntryStub() { |
| + CEntryStub stub; |
| + c_entry_code_ = *stub.GetCode(); |
| +} |
| + |
| + |
| +void Heap::CreateCEntryDebugBreakStub() { |
| + CEntryDebugBreakStub stub; |
| + c_entry_debug_break_code_ = *stub.GetCode(); |
| +} |
| + |
| + |
| +void Heap::CreateJSEntryStub() { |
| + JSEntryStub stub; |
| + js_entry_code_ = *stub.GetCode(); |
| +} |
| + |
| + |
| +void Heap::CreateJSConstructEntryStub() { |
| + JSConstructEntryStub stub; |
| + js_construct_entry_code_ = *stub.GetCode(); |
| +} |
| + |
| + |
| void Heap::CreateFixedStubs() { |
| // Here we create roots for fixed stubs. They are needed at GC |
| // for cooking and uncooking (check out frames.cc). |
| // The eliminates the need for doing dictionary lookup in the |
| // stub cache for these stubs. |
| HandleScope scope; |
| - { |
| - CEntryStub stub; |
| - c_entry_code_ = *stub.GetCode(); |
| - } |
| - { |
| - CEntryDebugBreakStub stub; |
| - c_entry_debug_break_code_ = *stub.GetCode(); |
| - } |
| - { |
| - JSEntryStub stub; |
| - js_entry_code_ = *stub.GetCode(); |
| - } |
| - { |
| - JSConstructEntryStub stub; |
| - js_construct_entry_code_ = *stub.GetCode(); |
| - } |
| + // gcc-4.4 has problem to generate the correct vtables if the following |
|
Erik Corry
2009/06/24 07:38:31
Should be "gcc-4.4 has problems generating..."
I
|
| + // functions are inlined. e.g., |
| + // { CEntryStub stub; |
| + // c_entry_code_ = *stub.GetCode(); |
| + // } |
| + // { CEntryDebugBreakStub stub; |
| + // c_entry_debug_break_code_ = *stub.GetCode(); |
| + // } |
| + // |
| + // Possible gcc bug: http://gcc.gnu.org/bugzilla/show_bug.cgi?id=32327 |
|
Erik Corry
2009/06/24 07:38:31
Is this relevant? According to the bug this was f
|
| + Heap::CreateCEntryStub(); |
| + Heap::CreateCEntryDebugBreakStub(); |
| + Heap::CreateJSEntryStub(); |
| + Heap::CreateJSConstructEntryStub(); |
| } |