Reviewers: Vitaly, Dmitry Titov,
http://codereview.chromium.org/2435001/diff/1/36
File src/isolate.cc (right):
http://codereview.chromium.org/2435001/diff/1/36#newcode78
src/isolate.cc:78: global_isolate = this;
On 2010/05/31 15:36:43, Dmitry Titov wrote:
This is the code that will never be correct.
Should it be just ASSERT(global_isolate == this) for now?
global_isolate isn't set permanently in ::Create until ::Init exits.
We'll probably end up doing something special here even in the final
case because we'll have to enter an isolate that is still under
construction.
Description:
- Make ROOT_ACCESSOR, STRUCT_MAP_ACCESSOR, SYMBOL_ACCESSOR macro-generated
methods on Heap non-static.
- Inline the Heap class into Isolate.
- Fix Isolate::Init to set global_isolate to the isolate being initialized.
- Define the macro HEAP to use during conversion.
HEAP expands into v8::internal::Isolate::current()->heap(). Since we haven't
finalized how the heap (or parts of the heap) will be accessed from inside
V8,
using the macro allows us to make progress without worrying about
reformatting
code ("Heap::" is the same length as "HEAP->"). In addition, for those
methods
where we decide to keep a local copy of the pointer to the current heap,
HEAP->
can become heap-> again without changing formatting.
THIS is defined within heap.cc to be equivalent to HEAP. THIS will go away
as
methods that are morally non-static but are currently marked as static are
converted.
Please review this at http://codereview.chromium.org/2435001/show
SVN Base: http://v8.googlecode.com/svn/branches/experimental/isolates/
Affected files:
M src/accessors.cc
M src/api.cc
M src/arm/codegen-arm.cc
M src/arm/full-codegen-arm.cc
M src/arm/ic-arm.cc
M src/arm/macro-assembler-arm.cc
M src/arm/stub-cache-arm.cc
M src/ast.h
M src/ast.cc
M src/bootstrapper.cc
M src/builtins.cc
M src/code-stubs.cc
M src/compilation-cache.cc
M src/compiler.cc
M src/contexts.h
M src/contexts.cc
M src/cpu-profiler.cc
M src/debug.cc
M src/disassembler.cc
M src/execution.cc
M src/factory.cc
M src/frames.cc
M src/handles.cc
M src/heap-inl.h
M src/heap-profiler.h
M src/heap-profiler.cc
M src/heap.h
M src/heap.cc
M src/ia32/codegen-ia32.cc
M src/ia32/full-codegen-ia32.cc
M src/ia32/ic-ia32.cc
M src/ia32/macro-assembler-ia32.cc
M src/ia32/stub-cache-ia32.cc
M src/ic.cc
M src/isolate.h
M src/isolate.cc
M src/jsregexp.h
M src/liveedit.cc
M src/log.cc
M src/mark-compact.cc
M src/objects-debug.cc
M src/objects-inl.h
M src/objects.cc
M src/parser.cc
M src/prettyprinter.cc
M src/property.h
M src/rewriter.cc
M src/runtime.cc
M src/serialize.cc
M src/spaces-inl.h
M src/spaces.cc
M src/string-stream.cc
M src/stub-cache.cc
M src/top.h
M src/top.cc
M src/x64/codegen-x64.cc
M src/x64/full-codegen-x64.cc
M src/x64/ic-x64.cc
M src/x64/macro-assembler-x64.cc
M src/x64/stub-cache-x64.cc
M test/cctest/test-api.cc
M test/cctest/test-assembler-arm.cc
M test/cctest/test-assembler-ia32.cc
M test/cctest/test-compiler.cc
M test/cctest/test-cpu-profiler.cc
M test/cctest/test-disasm-ia32.cc
M test/cctest/test-func-name-inference.cc
M test/cctest/test-heap-profiler.cc
M test/cctest/test-heap.cc
M test/cctest/test-mark-compact.cc
M test/cctest/test-serialize.cc
--
v8-dev mailing list
[email protected]
http://groups.google.com/group/v8-dev