Anyway, I can't reproduce the claim that
GetAlignedPointerFromInternalField is
not inlined in Chrome.
I'll look again in more detail when I'm sitting at my Linux machine again.
The
profile showed GetAlignedPointerFromInternalField being inlined in some
instances, but not in other. I verified that it wasn't inline by looking
at the
disassembly of one of the hot functions.
In fact, I verified that *all* functions marked "inline" are
actually inlined.
All the functions in the V8 header, or all function in the entire product?
There are certainly functions in WebKit that we mark inline to get internal
linkage that aren't actually inlined.
How did you build your Chrome? Perhaps there is a difference
in the toolchain etc.?
I was looking at a binary build with GYP_DEFINES="profiling=1". I need to
re-check that build and then check the build without profiling=1.
If this is the case we should fix the toolchain or its
parameters and avoid any ad-hoc changes in the v8 header.
I'm open to fixing this in whichever way is appropriate. I would expect all
users of V8 to want to inline GetAlignedPointerFromInternalField because (1)
it's extremely short and (2) its purpose is to optimize the performance of
the
fast path.
https://codereview.chromium.org/11434021/
--
v8-dev mailing list
[email protected]
http://groups.google.com/group/v8-dev