Reviewers: Vitaly Repeshko, Dmitry Titov,
Message:
Some notes:
1. ON_BAILOUT and IsDeadCheck macros probably have a bug if API function is
called by external client when current isolate is not set.
2. This is by no means a complete reduction in TLS fetches of isolates.
Here are
some of the places from my notes:
* There are redundant TLS fetches in a few macros in api.cc (ENTER_V8,
EXCEPTION_* and others)
* Every "v8::HandleScope scope;" declaration is a TLS fetch, redundant in
most
places
* There is a lot of tls fetches in CpuProfile-related classes
I will do another scrub on all these issues once isolates land in
bleeding_edge
BUG=
TEST=
Description:
Adding 'isolate' argument to LOG macro to get rid of multiple TLS fetches.
The patch also passes 'isolate' argument to a couple of validation
macros/functions in api.cc (IsDeadCheck, ON_BAILOUT), as well as eliminates
some
redundant isolate tls fetches throughout api.cc (such as uses of HEAP and
FACTORY macros)
Please review this at http://codereview.chromium.org/6696042/
SVN Base: https://v8.googlecode.com/svn/branches/experimental/isolates
Affected files:
M src/api.cc
M src/builtins.cc
M src/code-stubs.cc
M src/compiler.cc
M src/cpu-profiler.h
M src/global-handles.h
M src/global-handles.cc
M src/handles.h
M src/handles.cc
M src/heap-profiler.cc
M src/heap.cc
M src/ia32/assembler-ia32.cc
M src/ia32/regexp-macro-assembler-ia32.cc
M src/ia32/stub-cache-ia32.cc
M src/ic.cc
M src/isolate.cc
M src/jsregexp.cc
M src/log.h
M src/log.cc
M src/mark-compact.cc
M src/objects.cc
M src/platform-cygwin.cc
M src/platform-freebsd.cc
M src/platform-linux.cc
M src/platform-macos.cc
M src/platform-openbsd.cc
M src/platform-solaris.cc
M src/platform-win32.cc
M src/serialize.cc
M src/spaces.cc
M src/string-stream.cc
M src/stub-cache.h
M src/stub-cache.cc
M src/top.cc
M src/vm-state-inl.h
M src/x64/assembler-x64.cc
M src/x64/regexp-macro-assembler-x64.cc
M src/x64/stub-cache-x64.cc
--
v8-dev mailing list
[email protected]
http://groups.google.com/group/v8-dev