Statistical profiling result from v8.log, (13 ticks, 2 unaccounted, 0 excluded).

 [Unknown]:
   ticks  total  nonlib   name
      2   15.4%

 [Shared libraries]:
   ticks  total  nonlib   name
      3   23.1%    0.0%  /lib32/libm-2.7.so
      1    7.7%    0.0%  ffffe000-fffff000

 [JavaScript]:
   ticks  total  nonlib   name
      1    7.7%   11.1%  LazyCompile: exp native math.js:41

 [C++]:
   ticks  total  nonlib   name
      2   15.4%   22.2%  v8::internal::Runtime_Math_exp(v8::internal::Arguments)
      1    7.7%   11.1%  v8::internal::JSObject::LocalLookupRealNamedProperty(v8::internal::String*, v8::internal::LookupResult*)
      1    7.7%   11.1%  v8::internal::HashTable<v8::internal::StringDictionaryShape, v8::internal::String*>::FindEntry(v8::internal::String*)
      1    7.7%   11.1%  exp

 [GC]:
   ticks  total  nonlib   name
      0    0.0%

 [Bottom up (heavy) profile]:
  Note: percentage shows a share of a particular caller in the total
  amount of its parent calls.
  Callers occupying less than 2.0% are not shown.

   ticks parent  name
      3   23.1%  /lib32/libm-2.7.so
      3  100.0%    LazyCompile: exp native math.js:41
      3  100.0%      Script: exp.js

      2   15.4%  v8::internal::Runtime_Math_exp(v8::internal::Arguments)
      2  100.0%    LazyCompile: exp native math.js:41
      2  100.0%      Script: exp.js

      1    7.7%  v8::internal::JSObject::LocalLookupRealNamedProperty(v8::internal::String*, v8::internal::LookupResult*)
      1  100.0%    Script: exp.js

      1    7.7%  v8::internal::HashTable<v8::internal::StringDictionaryShape, v8::internal::String*>::FindEntry(v8::internal::String*)
      1  100.0%    Script: exp.js

      1    7.7%  ffffe000-fffff000

      1    7.7%  exp
      1  100.0%    LazyCompile: exp native math.js:41
      1  100.0%      Script: exp.js

      1    7.7%  LazyCompile: exp native math.js:41
      1  100.0%    Script: exp.js

