therubyracer 0.7.4 → 0.7.5
Sign up to get free protection for your applications and to get access to all the features.
Potentially problematic release.
This version of therubyracer might be problematic. Click here for more details.
- data/History.txt +11 -0
- data/Rakefile +1 -1
- data/ext/v8/extconf.rb +0 -18
- data/ext/v8/rr.cpp +2 -2
- data/ext/v8/upstream/{2.1.10 → 2.3.3}/AUTHORS +1 -0
- data/ext/v8/upstream/{2.1.10 → 2.3.3}/ChangeLog +239 -0
- data/ext/v8/upstream/{2.1.10 → 2.3.3}/LICENSE +0 -0
- data/ext/v8/upstream/{2.1.10 → 2.3.3}/SConstruct +29 -17
- data/ext/v8/upstream/{2.1.10 → 2.3.3}/include/v8-debug.h +61 -3
- data/ext/v8/upstream/{2.1.10 → 2.3.3}/include/v8-profiler.h +182 -5
- data/ext/v8/upstream/{2.1.10 → 2.3.3}/include/v8.h +458 -257
- data/ext/v8/upstream/{2.1.10 → 2.3.3}/src/SConscript +2 -5
- data/ext/v8/upstream/{2.1.10 → 2.3.3}/src/accessors.cc +2 -2
- data/ext/v8/upstream/{2.1.10 → 2.3.3}/src/accessors.h +0 -0
- data/ext/v8/upstream/{2.1.10 → 2.3.3}/src/allocation.cc +0 -0
- data/ext/v8/upstream/{2.1.10 → 2.3.3}/src/allocation.h +0 -0
- data/ext/v8/upstream/{2.1.10 → 2.3.3}/src/api.cc +574 -30
- data/ext/v8/upstream/{2.1.10 → 2.3.3}/src/api.h +12 -10
- data/ext/v8/upstream/{2.1.10 → 2.3.3}/src/apinatives.js +0 -0
- data/ext/v8/upstream/{2.1.10 → 2.3.3}/src/apiutils.h +0 -0
- data/ext/v8/upstream/{2.1.10 → 2.3.3}/src/arguments.h +0 -0
- data/ext/v8/upstream/{2.1.10 → 2.3.3}/src/arm/assembler-arm-inl.h +38 -15
- data/ext/v8/upstream/{2.1.10 → 2.3.3}/src/arm/assembler-arm.cc +646 -101
- data/ext/v8/upstream/{2.1.10 → 2.3.3}/src/arm/assembler-arm.h +174 -15
- data/ext/v8/upstream/{2.1.10 → 2.3.3}/src/arm/builtins-arm.cc +56 -47
- data/ext/v8/upstream/2.3.3/src/arm/codegen-arm-inl.h +48 -0
- data/ext/v8/upstream/{2.1.10 → 2.3.3}/src/arm/codegen-arm.cc +2957 -1448
- data/ext/v8/upstream/{2.1.10 → 2.3.3}/src/arm/codegen-arm.h +230 -74
- data/ext/v8/upstream/{2.1.10 → 2.3.3}/src/arm/constants-arm.cc +25 -1
- data/ext/v8/upstream/{2.1.10 → 2.3.3}/src/arm/constants-arm.h +16 -1
- data/ext/v8/upstream/{2.1.10 → 2.3.3}/src/arm/cpu-arm.cc +4 -0
- data/ext/v8/upstream/{2.1.10 → 2.3.3}/src/arm/debug-arm.cc +76 -6
- data/ext/v8/upstream/{2.1.10 → 2.3.3}/src/arm/disasm-arm.cc +168 -20
- data/ext/v8/upstream/{2.1.10 → 2.3.3}/src/arm/fast-codegen-arm.cc +5 -2
- data/ext/v8/upstream/{2.1.10 → 2.3.3}/src/arm/frames-arm.cc +4 -4
- data/ext/v8/upstream/{2.1.10 → 2.3.3}/src/arm/frames-arm.h +0 -0
- data/ext/v8/upstream/{2.1.10 → 2.3.3}/src/arm/full-codegen-arm.cc +1558 -248
- data/ext/v8/upstream/2.3.3/src/arm/ic-arm.cc +2258 -0
- data/ext/v8/upstream/{2.1.10 → 2.3.3}/src/arm/jump-target-arm.cc +55 -103
- data/ext/v8/upstream/{2.1.10 → 2.3.3}/src/arm/macro-assembler-arm.cc +358 -185
- data/ext/v8/upstream/{2.1.10 → 2.3.3}/src/arm/macro-assembler-arm.h +136 -41
- data/ext/v8/upstream/{2.1.10 → 2.3.3}/src/arm/regexp-macro-assembler-arm.cc +26 -5
- data/ext/v8/upstream/{2.1.10 → 2.3.3}/src/arm/regexp-macro-assembler-arm.h +0 -0
- data/ext/v8/upstream/{2.1.10 → 2.3.3}/src/arm/register-allocator-arm-inl.h +0 -0
- data/ext/v8/upstream/{2.1.10 → 2.3.3}/src/arm/register-allocator-arm.cc +4 -0
- data/ext/v8/upstream/{2.1.10 → 2.3.3}/src/arm/register-allocator-arm.h +0 -0
- data/ext/v8/upstream/{2.1.10 → 2.3.3}/src/arm/simulator-arm.cc +203 -22
- data/ext/v8/upstream/{2.1.10 → 2.3.3}/src/arm/simulator-arm.h +7 -0
- data/ext/v8/upstream/{2.1.10 → 2.3.3}/src/arm/stub-cache-arm.cc +531 -324
- data/ext/v8/upstream/2.3.3/src/arm/virtual-frame-arm-inl.h +59 -0
- data/ext/v8/upstream/{2.1.10 → 2.3.3}/src/arm/virtual-frame-arm.cc +247 -81
- data/ext/v8/upstream/{2.1.10 → 2.3.3}/src/arm/virtual-frame-arm.h +99 -83
- data/ext/v8/upstream/{2.1.10 → 2.3.3}/src/array.js +2 -2
- data/ext/v8/upstream/{2.1.10 → 2.3.3}/src/assembler.cc +6 -13
- data/ext/v8/upstream/{2.1.10 → 2.3.3}/src/assembler.h +36 -10
- data/ext/v8/upstream/2.3.3/src/ast-inl.h +81 -0
- data/ext/v8/upstream/{2.1.10 → 2.3.3}/src/ast.cc +14 -0
- data/ext/v8/upstream/{2.1.10 → 2.3.3}/src/ast.h +20 -35
- data/ext/v8/upstream/{2.1.10 → 2.3.3}/src/bootstrapper.cc +32 -1
- data/ext/v8/upstream/{2.1.10 → 2.3.3}/src/bootstrapper.h +0 -4
- data/ext/v8/upstream/{2.1.10 → 2.3.3}/src/builtins.cc +50 -33
- data/ext/v8/upstream/{2.1.10 → 2.3.3}/src/builtins.h +2 -0
- data/ext/v8/upstream/{2.1.10 → 2.3.3}/src/bytecodes-irregexp.h +0 -0
- data/ext/v8/upstream/{2.1.10 → 2.3.3}/src/cached-powers.h +0 -0
- data/ext/v8/upstream/{2.1.10 → 2.3.3}/src/char-predicates-inl.h +0 -0
- data/ext/v8/upstream/{2.1.10 → 2.3.3}/src/char-predicates.h +0 -0
- data/ext/v8/upstream/{2.1.10 → 2.3.3}/src/checks.cc +0 -0
- data/ext/v8/upstream/{2.1.10 → 2.3.3}/src/checks.h +8 -6
- data/ext/v8/upstream/2.3.3/src/circular-queue-inl.h +53 -0
- data/ext/v8/upstream/{2.1.10 → 2.3.3}/src/circular-queue.cc +0 -0
- data/ext/v8/upstream/{2.1.10 → 2.3.3}/src/circular-queue.h +0 -26
- data/ext/v8/upstream/{2.1.10 → 2.3.3}/src/code-stubs.cc +2 -4
- data/ext/v8/upstream/{2.1.10 → 2.3.3}/src/code-stubs.h +1 -0
- data/ext/v8/upstream/{2.1.10 → 2.3.3}/src/code.h +0 -0
- data/ext/v8/upstream/{2.1.10 → 2.3.3}/src/codegen-inl.h +0 -0
- data/ext/v8/upstream/{2.1.10 → 2.3.3}/src/codegen.cc +44 -13
- data/ext/v8/upstream/{2.1.10 → 2.3.3}/src/codegen.h +310 -31
- data/ext/v8/upstream/{2.1.10 → 2.3.3}/src/compilation-cache.cc +28 -0
- data/ext/v8/upstream/{2.1.10 → 2.3.3}/src/compilation-cache.h +3 -0
- data/ext/v8/upstream/{2.1.10 → 2.3.3}/src/compiler.cc +45 -14
- data/ext/v8/upstream/{2.1.10 → 2.3.3}/src/compiler.h +0 -0
- data/ext/v8/upstream/{2.1.10 → 2.3.3}/src/contexts.cc +11 -11
- data/ext/v8/upstream/{2.1.10 → 2.3.3}/src/contexts.h +0 -0
- data/ext/v8/upstream/{2.1.10 → 2.3.3}/src/conversions-inl.h +0 -0
- data/ext/v8/upstream/{2.1.10 → 2.3.3}/src/conversions.cc +25 -11
- data/ext/v8/upstream/{2.1.10 → 2.3.3}/src/conversions.h +0 -0
- data/ext/v8/upstream/{2.1.10 → 2.3.3}/src/counters.cc +0 -0
- data/ext/v8/upstream/{2.1.10 → 2.3.3}/src/counters.h +0 -0
- data/ext/v8/upstream/{2.1.10 → 2.3.3}/src/cpu-profiler-inl.h +2 -1
- data/ext/v8/upstream/{2.1.10 → 2.3.3}/src/cpu-profiler.cc +68 -24
- data/ext/v8/upstream/{2.1.10 → 2.3.3}/src/cpu-profiler.h +19 -11
- data/ext/v8/upstream/{2.1.10 → 2.3.3}/src/cpu.h +0 -0
- data/ext/v8/upstream/{2.1.10 → 2.3.3}/src/d8-debug.cc +0 -0
- data/ext/v8/upstream/{2.1.10 → 2.3.3}/src/d8-debug.h +0 -0
- data/ext/v8/upstream/{2.1.10 → 2.3.3}/src/d8-posix.cc +0 -0
- data/ext/v8/upstream/{2.1.10 → 2.3.3}/src/d8-readline.cc +0 -0
- data/ext/v8/upstream/{2.1.10 → 2.3.3}/src/d8-windows.cc +0 -0
- data/ext/v8/upstream/{2.1.10 → 2.3.3}/src/d8.cc +3 -0
- data/ext/v8/upstream/{2.1.10 → 2.3.3}/src/d8.h +0 -0
- data/ext/v8/upstream/{2.1.10 → 2.3.3}/src/d8.js +55 -2
- data/ext/v8/upstream/{2.1.10 → 2.3.3}/src/data-flow.cc +3 -0
- data/ext/v8/upstream/{2.1.10 → 2.3.3}/src/data-flow.h +0 -0
- data/ext/v8/upstream/{2.1.10 → 2.3.3}/src/date.js +68 -137
- data/ext/v8/upstream/{2.1.10 → 2.3.3}/src/dateparser-inl.h +0 -0
- data/ext/v8/upstream/{2.1.10 → 2.3.3}/src/dateparser.cc +2 -8
- data/ext/v8/upstream/{2.1.10 → 2.3.3}/src/dateparser.h +0 -0
- data/ext/v8/upstream/{2.1.10 → 2.3.3}/src/debug-agent.cc +3 -3
- data/ext/v8/upstream/{2.1.10 → 2.3.3}/src/debug-agent.h +0 -0
- data/ext/v8/upstream/{2.1.10 → 2.3.3}/src/debug-debugger.js +81 -23
- data/ext/v8/upstream/{2.1.10 → 2.3.3}/src/debug.cc +275 -81
- data/ext/v8/upstream/{2.1.10 → 2.3.3}/src/debug.h +85 -6
- data/ext/v8/upstream/{2.1.10 → 2.3.3}/src/disasm.h +0 -0
- data/ext/v8/upstream/{2.1.10 → 2.3.3}/src/disassembler.cc +1 -1
- data/ext/v8/upstream/{2.1.10 → 2.3.3}/src/disassembler.h +0 -0
- data/ext/v8/upstream/{2.1.10 → 2.3.3}/src/diy-fp.cc +0 -0
- data/ext/v8/upstream/{2.1.10 → 2.3.3}/src/diy-fp.h +0 -0
- data/ext/v8/upstream/{2.1.10 → 2.3.3}/src/double.h +0 -0
- data/ext/v8/upstream/{2.1.10 → 2.3.3}/src/dtoa-config.c +0 -0
- data/ext/v8/upstream/2.3.3/src/dtoa.cc +77 -0
- data/ext/v8/upstream/2.3.3/src/dtoa.h +81 -0
- data/ext/v8/upstream/{2.1.10 → 2.3.3}/src/execution.cc +111 -3
- data/ext/v8/upstream/{2.1.10 → 2.3.3}/src/execution.h +12 -1
- data/ext/v8/upstream/{2.1.10 → 2.3.3}/src/factory.cc +25 -3
- data/ext/v8/upstream/{2.1.10 → 2.3.3}/src/factory.h +16 -9
- data/ext/v8/upstream/{2.1.10 → 2.3.3}/src/fast-codegen.cc +0 -0
- data/ext/v8/upstream/{2.1.10 → 2.3.3}/src/fast-codegen.h +0 -0
- data/ext/v8/upstream/{2.1.10 → 2.3.3}/src/fast-dtoa.cc +2 -9
- data/ext/v8/upstream/{2.1.10 → 2.3.3}/src/fast-dtoa.h +1 -2
- data/ext/v8/upstream/2.3.3/src/fixed-dtoa.cc +405 -0
- data/ext/v8/upstream/{2.1.10/src/jump-target-light.cc → 2.3.3/src/fixed-dtoa.h} +22 -53
- data/ext/v8/upstream/{2.1.10 → 2.3.3}/src/flag-definitions.h +14 -6
- data/ext/v8/upstream/{2.1.10 → 2.3.3}/src/flags.cc +5 -9
- data/ext/v8/upstream/{2.1.10 → 2.3.3}/src/flags.h +0 -0
- data/ext/v8/upstream/{2.1.10 → 2.3.3}/src/flow-graph.cc +0 -0
- data/ext/v8/upstream/{2.1.10 → 2.3.3}/src/flow-graph.h +0 -0
- data/ext/v8/upstream/{2.1.10 → 2.3.3}/src/frame-element.cc +0 -0
- data/ext/v8/upstream/{2.1.10 → 2.3.3}/src/frame-element.h +0 -0
- data/ext/v8/upstream/{2.1.10 → 2.3.3}/src/frames-inl.h +0 -0
- data/ext/v8/upstream/{2.1.10 → 2.3.3}/src/frames.cc +5 -2
- data/ext/v8/upstream/{2.1.10 → 2.3.3}/src/frames.h +1 -0
- data/ext/v8/upstream/{2.1.10 → 2.3.3}/src/full-codegen.cc +387 -20
- data/ext/v8/upstream/{2.1.10 → 2.3.3}/src/full-codegen.h +102 -5
- data/ext/v8/upstream/{2.1.10 → 2.3.3}/src/func-name-inferrer.cc +0 -0
- data/ext/v8/upstream/{2.1.10 → 2.3.3}/src/func-name-inferrer.h +0 -0
- data/ext/v8/upstream/{2.1.10 → 2.3.3}/src/global-handles.cc +8 -4
- data/ext/v8/upstream/{2.1.10 → 2.3.3}/src/global-handles.h +0 -0
- data/ext/v8/upstream/{2.1.10 → 2.3.3}/src/globals.h +44 -7
- data/ext/v8/upstream/{2.1.10 → 2.3.3}/src/handles-inl.h +0 -0
- data/ext/v8/upstream/{2.1.10 → 2.3.3}/src/handles.cc +19 -0
- data/ext/v8/upstream/{2.1.10 → 2.3.3}/src/handles.h +8 -0
- data/ext/v8/upstream/{2.1.10 → 2.3.3}/src/hashmap.cc +0 -0
- data/ext/v8/upstream/{2.1.10 → 2.3.3}/src/hashmap.h +0 -0
- data/ext/v8/upstream/{2.1.10 → 2.3.3}/src/heap-inl.h +56 -14
- data/ext/v8/upstream/{2.1.10 → 2.3.3}/src/heap-profiler.cc +85 -1
- data/ext/v8/upstream/{2.1.10 → 2.3.3}/src/heap-profiler.h +45 -1
- data/ext/v8/upstream/{2.1.10 → 2.3.3}/src/heap.cc +994 -396
- data/ext/v8/upstream/{2.1.10 → 2.3.3}/src/heap.h +220 -65
- data/ext/v8/upstream/{2.1.10 → 2.3.3}/src/ia32/assembler-ia32-inl.h +41 -12
- data/ext/v8/upstream/{2.1.10 → 2.3.3}/src/ia32/assembler-ia32.cc +94 -24
- data/ext/v8/upstream/{2.1.10 → 2.3.3}/src/ia32/assembler-ia32.h +32 -4
- data/ext/v8/upstream/{2.1.10 → 2.3.3}/src/ia32/builtins-ia32.cc +42 -30
- data/ext/v8/upstream/{2.1.10 → 2.3.3}/src/ia32/codegen-ia32-inl.h +0 -0
- data/ext/v8/upstream/{2.1.10 → 2.3.3}/src/ia32/codegen-ia32.cc +1758 -916
- data/ext/v8/upstream/{2.1.10 → 2.3.3}/src/ia32/codegen-ia32.h +67 -74
- data/ext/v8/upstream/{2.1.10 → 2.3.3}/src/ia32/cpu-ia32.cc +4 -0
- data/ext/v8/upstream/{2.1.10 → 2.3.3}/src/ia32/debug-ia32.cc +46 -0
- data/ext/v8/upstream/{2.1.10 → 2.3.3}/src/ia32/disasm-ia32.cc +37 -6
- data/ext/v8/upstream/{2.1.10 → 2.3.3}/src/ia32/fast-codegen-ia32.cc +4 -0
- data/ext/v8/upstream/{2.1.10 → 2.3.3}/src/ia32/fast-codegen-ia32.h +0 -0
- data/ext/v8/upstream/{2.1.10 → 2.3.3}/src/ia32/frames-ia32.cc +4 -0
- data/ext/v8/upstream/{2.1.10 → 2.3.3}/src/ia32/frames-ia32.h +0 -0
- data/ext/v8/upstream/{2.1.10 → 2.3.3}/src/ia32/full-codegen-ia32.cc +1465 -198
- data/ext/v8/upstream/{2.1.10 → 2.3.3}/src/ia32/ic-ia32.cc +688 -367
- data/ext/v8/upstream/{2.1.10 → 2.3.3}/src/ia32/jump-target-ia32.cc +4 -0
- data/ext/v8/upstream/{2.1.10 → 2.3.3}/src/ia32/macro-assembler-ia32.cc +82 -180
- data/ext/v8/upstream/{2.1.10 → 2.3.3}/src/ia32/macro-assembler-ia32.h +41 -25
- data/ext/v8/upstream/{2.1.10 → 2.3.3}/src/ia32/regexp-macro-assembler-ia32.cc +68 -24
- data/ext/v8/upstream/{2.1.10 → 2.3.3}/src/ia32/regexp-macro-assembler-ia32.h +1 -2
- data/ext/v8/upstream/{2.1.10 → 2.3.3}/src/ia32/register-allocator-ia32-inl.h +0 -0
- data/ext/v8/upstream/{2.1.10 → 2.3.3}/src/ia32/register-allocator-ia32.cc +4 -0
- data/ext/v8/upstream/{2.1.10 → 2.3.3}/src/ia32/register-allocator-ia32.h +0 -0
- data/ext/v8/upstream/{2.1.10 → 2.3.3}/src/ia32/simulator-ia32.cc +0 -0
- data/ext/v8/upstream/{2.1.10 → 2.3.3}/src/ia32/simulator-ia32.h +0 -0
- data/ext/v8/upstream/{2.1.10 → 2.3.3}/src/ia32/stub-cache-ia32.cc +649 -302
- data/ext/v8/upstream/{2.1.10 → 2.3.3}/src/ia32/virtual-frame-ia32.cc +23 -1
- data/ext/v8/upstream/{2.1.10 → 2.3.3}/src/ia32/virtual-frame-ia32.h +18 -27
- data/ext/v8/upstream/{2.1.10 → 2.3.3}/src/ic-inl.h +30 -3
- data/ext/v8/upstream/{2.1.10 → 2.3.3}/src/ic.cc +384 -66
- data/ext/v8/upstream/{2.1.10 → 2.3.3}/src/ic.h +65 -24
- data/ext/v8/upstream/{2.1.10 → 2.3.3}/src/interpreter-irregexp.cc +0 -0
- data/ext/v8/upstream/{2.1.10 → 2.3.3}/src/interpreter-irregexp.h +0 -0
- data/ext/v8/upstream/{2.1.10 → 2.3.3}/src/json.js +3 -3
- data/ext/v8/upstream/{2.1.10 → 2.3.3}/src/jsregexp.cc +20 -4
- data/ext/v8/upstream/{2.1.10 → 2.3.3}/src/jsregexp.h +0 -0
- data/ext/v8/upstream/{2.1.10 → 2.3.3}/src/jump-target-heavy-inl.h +0 -0
- data/ext/v8/upstream/{2.1.10 → 2.3.3}/src/jump-target-heavy.cc +79 -13
- data/ext/v8/upstream/{2.1.10/src/jump-target.h → 2.3.3/src/jump-target-heavy.h} +5 -47
- data/ext/v8/upstream/{2.1.10 → 2.3.3}/src/jump-target-inl.h +0 -0
- data/ext/v8/upstream/{2.1.10 → 2.3.3}/src/jump-target-light-inl.h +16 -2
- data/ext/v8/upstream/2.3.3/src/jump-target-light.cc +110 -0
- data/ext/v8/upstream/2.3.3/src/jump-target-light.h +192 -0
- data/ext/v8/upstream/{2.1.10 → 2.3.3}/src/jump-target.cc +0 -64
- data/ext/v8/upstream/2.3.3/src/jump-target.h +90 -0
- data/ext/v8/upstream/{2.1.10 → 2.3.3}/src/list-inl.h +0 -0
- data/ext/v8/upstream/{2.1.10 → 2.3.3}/src/list.h +0 -0
- data/ext/v8/upstream/{2.1.10 → 2.3.3}/src/liveedit-debugger.js +141 -28
- data/ext/v8/upstream/{2.1.10 → 2.3.3}/src/liveedit.cc +19 -7
- data/ext/v8/upstream/{2.1.10 → 2.3.3}/src/liveedit.h +0 -0
- data/ext/v8/upstream/{2.1.10 → 2.3.3}/src/log-inl.h +0 -0
- data/ext/v8/upstream/{2.1.10 → 2.3.3}/src/log-utils.cc +0 -0
- data/ext/v8/upstream/{2.1.10 → 2.3.3}/src/log-utils.h +0 -0
- data/ext/v8/upstream/{2.1.10 → 2.3.3}/src/log.cc +12 -11
- data/ext/v8/upstream/{2.1.10 → 2.3.3}/src/log.h +12 -0
- data/ext/v8/upstream/{2.1.10 → 2.3.3}/src/macro-assembler.h +0 -16
- data/ext/v8/upstream/{2.1.10 → 2.3.3}/src/macros.py +21 -0
- data/ext/v8/upstream/{2.1.10 → 2.3.3}/src/mark-compact.cc +120 -109
- data/ext/v8/upstream/{2.1.10 → 2.3.3}/src/mark-compact.h +25 -37
- data/ext/v8/upstream/{2.1.10 → 2.3.3}/src/math.js +0 -0
- data/ext/v8/upstream/{2.1.10 → 2.3.3}/src/memory.h +0 -0
- data/ext/v8/upstream/{2.1.10 → 2.3.3}/src/messages.cc +8 -3
- data/ext/v8/upstream/{2.1.10 → 2.3.3}/src/messages.h +2 -1
- data/ext/v8/upstream/{2.1.10 → 2.3.3}/src/messages.js +15 -7
- data/ext/v8/upstream/{2.1.10 → 2.3.3}/src/mips/assembler-mips-inl.h +0 -0
- data/ext/v8/upstream/{2.1.10 → 2.3.3}/src/mips/assembler-mips.cc +12 -1
- data/ext/v8/upstream/{2.1.10 → 2.3.3}/src/mips/assembler-mips.h +4 -1
- data/ext/v8/upstream/{2.1.10 → 2.3.3}/src/mips/builtins-mips.cc +3 -0
- data/ext/v8/upstream/{2.1.10 → 2.3.3}/src/mips/codegen-mips-inl.h +0 -0
- data/ext/v8/upstream/{2.1.10 → 2.3.3}/src/mips/codegen-mips.cc +9 -0
- data/ext/v8/upstream/{2.1.10 → 2.3.3}/src/mips/codegen-mips.h +1 -0
- data/ext/v8/upstream/{2.1.10 → 2.3.3}/src/mips/constants-mips.cc +5 -0
- data/ext/v8/upstream/{2.1.10 → 2.3.3}/src/mips/constants-mips.h +0 -0
- data/ext/v8/upstream/{2.1.10 → 2.3.3}/src/mips/cpu-mips.cc +4 -0
- data/ext/v8/upstream/{2.1.10 → 2.3.3}/src/mips/debug-mips.cc +3 -0
- data/ext/v8/upstream/{2.1.10 → 2.3.3}/src/mips/disasm-mips.cc +3 -0
- data/ext/v8/upstream/{2.1.10 → 2.3.3}/src/mips/fast-codegen-mips.cc +3 -0
- data/ext/v8/upstream/{2.1.10 → 2.3.3}/src/mips/frames-mips.cc +3 -0
- data/ext/v8/upstream/{2.1.10 → 2.3.3}/src/mips/frames-mips.h +0 -0
- data/ext/v8/upstream/{2.1.10 → 2.3.3}/src/mips/full-codegen-mips.cc +5 -1
- data/ext/v8/upstream/{2.1.10 → 2.3.3}/src/mips/ic-mips.cc +3 -0
- data/ext/v8/upstream/{2.1.10 → 2.3.3}/src/mips/jump-target-mips.cc +3 -0
- data/ext/v8/upstream/{2.1.10 → 2.3.3}/src/mips/macro-assembler-mips.cc +3 -0
- data/ext/v8/upstream/{2.1.10 → 2.3.3}/src/mips/macro-assembler-mips.h +0 -0
- data/ext/v8/upstream/{2.1.10 → 2.3.3}/src/mips/register-allocator-mips-inl.h +0 -0
- data/ext/v8/upstream/{2.1.10 → 2.3.3}/src/mips/register-allocator-mips.cc +3 -0
- data/ext/v8/upstream/{2.1.10 → 2.3.3}/src/mips/register-allocator-mips.h +0 -0
- data/ext/v8/upstream/{2.1.10 → 2.3.3}/src/mips/simulator-mips.cc +3 -0
- data/ext/v8/upstream/{2.1.10 → 2.3.3}/src/mips/simulator-mips.h +0 -0
- data/ext/v8/upstream/{2.1.10 → 2.3.3}/src/mips/stub-cache-mips.cc +3 -0
- data/ext/v8/upstream/{2.1.10 → 2.3.3}/src/mips/virtual-frame-mips.cc +3 -0
- data/ext/v8/upstream/{2.1.10 → 2.3.3}/src/mips/virtual-frame-mips.h +0 -0
- data/ext/v8/upstream/{2.1.10 → 2.3.3}/src/mirror-debugger.js +46 -4
- data/ext/v8/upstream/{2.1.10 → 2.3.3}/src/mksnapshot.cc +0 -0
- data/ext/v8/upstream/{2.1.10 → 2.3.3}/src/natives.h +0 -0
- data/ext/v8/upstream/{2.1.10 → 2.3.3}/src/objects-debug.cc +8 -1
- data/ext/v8/upstream/{2.1.10 → 2.3.3}/src/objects-inl.h +235 -62
- data/ext/v8/upstream/{2.1.10 → 2.3.3}/src/objects.cc +497 -231
- data/ext/v8/upstream/{2.1.10 → 2.3.3}/src/objects.h +355 -149
- data/ext/v8/upstream/{2.1.10 → 2.3.3}/src/oprofile-agent.cc +0 -0
- data/ext/v8/upstream/{2.1.10 → 2.3.3}/src/oprofile-agent.h +0 -0
- data/ext/v8/upstream/{2.1.10 → 2.3.3}/src/parser.cc +31 -6
- data/ext/v8/upstream/{2.1.10 → 2.3.3}/src/parser.h +1 -1
- data/ext/v8/upstream/{2.1.10 → 2.3.3}/src/platform-freebsd.cc +9 -6
- data/ext/v8/upstream/{2.1.10 → 2.3.3}/src/platform-linux.cc +26 -6
- data/ext/v8/upstream/{2.1.10 → 2.3.3}/src/platform-macos.cc +11 -6
- data/ext/v8/upstream/{2.1.10 → 2.3.3}/src/platform-nullos.cc +0 -0
- data/ext/v8/upstream/{2.1.10 → 2.3.3}/src/platform-openbsd.cc +6 -0
- data/ext/v8/upstream/{2.1.10 → 2.3.3}/src/platform-posix.cc +0 -0
- data/ext/v8/upstream/{2.1.10 → 2.3.3}/src/platform-solaris.cc +69 -23
- data/ext/v8/upstream/{2.1.10 → 2.3.3}/src/platform-win32.cc +15 -11
- data/ext/v8/upstream/{2.1.10 → 2.3.3}/src/platform.h +10 -6
- data/ext/v8/upstream/{2.1.10 → 2.3.3}/src/powers-ten.h +0 -0
- data/ext/v8/upstream/{2.1.10 → 2.3.3}/src/prettyprinter.cc +0 -0
- data/ext/v8/upstream/{2.1.10 → 2.3.3}/src/prettyprinter.h +0 -0
- data/ext/v8/upstream/{2.1.10 → 2.3.3}/src/profile-generator-inl.h +26 -2
- data/ext/v8/upstream/2.3.3/src/profile-generator.cc +1830 -0
- data/ext/v8/upstream/2.3.3/src/profile-generator.h +853 -0
- data/ext/v8/upstream/{2.1.10 → 2.3.3}/src/property.cc +0 -0
- data/ext/v8/upstream/{2.1.10 → 2.3.3}/src/property.h +0 -0
- data/ext/v8/upstream/{2.1.10 → 2.3.3}/src/regexp-macro-assembler-irregexp-inl.h +0 -0
- data/ext/v8/upstream/{2.1.10 → 2.3.3}/src/regexp-macro-assembler-irregexp.cc +0 -0
- data/ext/v8/upstream/{2.1.10 → 2.3.3}/src/regexp-macro-assembler-irregexp.h +0 -0
- data/ext/v8/upstream/{2.1.10 → 2.3.3}/src/regexp-macro-assembler-tracer.cc +0 -0
- data/ext/v8/upstream/{2.1.10 → 2.3.3}/src/regexp-macro-assembler-tracer.h +0 -0
- data/ext/v8/upstream/{2.1.10 → 2.3.3}/src/regexp-macro-assembler.cc +1 -3
- data/ext/v8/upstream/{2.1.10 → 2.3.3}/src/regexp-macro-assembler.h +0 -0
- data/ext/v8/upstream/{2.1.10 → 2.3.3}/src/regexp-stack.cc +0 -0
- data/ext/v8/upstream/{2.1.10 → 2.3.3}/src/regexp-stack.h +0 -0
- data/ext/v8/upstream/{2.1.10 → 2.3.3}/src/regexp.js +25 -4
- data/ext/v8/upstream/{2.1.10 → 2.3.3}/src/register-allocator-inl.h +0 -0
- data/ext/v8/upstream/{2.1.10 → 2.3.3}/src/register-allocator.cc +4 -3
- data/ext/v8/upstream/{2.1.10 → 2.3.3}/src/register-allocator.h +0 -0
- data/ext/v8/upstream/{2.1.10 → 2.3.3}/src/rewriter.cc +85 -8
- data/ext/v8/upstream/{2.1.10 → 2.3.3}/src/rewriter.h +0 -0
- data/ext/v8/upstream/{2.1.10 → 2.3.3}/src/runtime.cc +547 -221
- data/ext/v8/upstream/{2.1.10 → 2.3.3}/src/runtime.h +5 -1
- data/ext/v8/upstream/{2.1.10 → 2.3.3}/src/runtime.js +23 -31
- data/ext/v8/upstream/{2.1.10 → 2.3.3}/src/scanner.cc +12 -6
- data/ext/v8/upstream/{2.1.10 → 2.3.3}/src/scanner.h +60 -53
- data/ext/v8/upstream/{2.1.10 → 2.3.3}/src/scopeinfo.cc +156 -168
- data/ext/v8/upstream/{2.1.10 → 2.3.3}/src/scopeinfo.h +58 -62
- data/ext/v8/upstream/{2.1.10 → 2.3.3}/src/scopes.cc +0 -0
- data/ext/v8/upstream/{2.1.10 → 2.3.3}/src/scopes.h +0 -0
- data/ext/v8/upstream/{2.1.10 → 2.3.3}/src/serialize.cc +320 -242
- data/ext/v8/upstream/{2.1.10 → 2.3.3}/src/serialize.h +81 -48
- data/ext/v8/upstream/{2.1.10 → 2.3.3}/src/shell.h +0 -0
- data/ext/v8/upstream/{2.1.10 → 2.3.3}/src/simulator.h +0 -0
- data/ext/v8/upstream/{2.1.10 → 2.3.3}/src/smart-pointer.h +0 -0
- data/ext/v8/upstream/{2.1.10 → 2.3.3}/src/snapshot-common.cc +0 -0
- data/ext/v8/upstream/{2.1.10 → 2.3.3}/src/snapshot-empty.cc +0 -0
- data/ext/v8/upstream/{2.1.10 → 2.3.3}/src/snapshot.h +0 -0
- data/ext/v8/upstream/{2.1.10 → 2.3.3}/src/spaces-inl.h +177 -74
- data/ext/v8/upstream/{2.1.10 → 2.3.3}/src/spaces.cc +138 -315
- data/ext/v8/upstream/{2.1.10 → 2.3.3}/src/spaces.h +155 -124
- data/ext/v8/upstream/{2.1.10 → 2.3.3}/src/splay-tree-inl.h +0 -0
- data/ext/v8/upstream/{2.1.10 → 2.3.3}/src/splay-tree.h +0 -0
- data/ext/v8/upstream/{2.1.10 → 2.3.3}/src/string-stream.cc +0 -0
- data/ext/v8/upstream/{2.1.10 → 2.3.3}/src/string-stream.h +0 -0
- data/ext/v8/upstream/{2.1.10 → 2.3.3}/src/string.js +113 -119
- data/ext/v8/upstream/{2.1.10 → 2.3.3}/src/stub-cache.cc +242 -97
- data/ext/v8/upstream/{2.1.10 → 2.3.3}/src/stub-cache.h +118 -55
- data/ext/v8/upstream/{2.1.10 → 2.3.3}/src/third_party/dtoa/COPYING +0 -0
- data/ext/v8/upstream/{2.1.10 → 2.3.3}/src/third_party/dtoa/dtoa.c +4 -0
- data/ext/v8/upstream/{2.1.10 → 2.3.3}/src/third_party/valgrind/valgrind.h +0 -0
- data/ext/v8/upstream/{2.1.10 → 2.3.3}/src/token.cc +0 -0
- data/ext/v8/upstream/{2.1.10 → 2.3.3}/src/token.h +0 -0
- data/ext/v8/upstream/{2.1.10 → 2.3.3}/src/top.cc +107 -26
- data/ext/v8/upstream/{2.1.10 → 2.3.3}/src/top.h +9 -4
- data/ext/v8/upstream/{2.1.10 → 2.3.3}/src/type-info.cc +0 -0
- data/ext/v8/upstream/{2.1.10 → 2.3.3}/src/type-info.h +2 -2
- data/ext/v8/upstream/2.3.3/src/unbound-queue-inl.h +95 -0
- data/ext/v8/upstream/2.3.3/src/unbound-queue.h +67 -0
- data/ext/v8/upstream/{2.1.10 → 2.3.3}/src/unicode-inl.h +0 -0
- data/ext/v8/upstream/{2.1.10 → 2.3.3}/src/unicode.cc +0 -0
- data/ext/v8/upstream/{2.1.10 → 2.3.3}/src/unicode.h +0 -0
- data/ext/v8/upstream/{2.1.10 → 2.3.3}/src/uri.js +0 -0
- data/ext/v8/upstream/{2.1.10 → 2.3.3}/src/utils.cc +0 -0
- data/ext/v8/upstream/{2.1.10 → 2.3.3}/src/utils.h +83 -1
- data/ext/v8/upstream/{2.1.10 → 2.3.3}/src/v8-counters.cc +0 -0
- data/ext/v8/upstream/{2.1.10 → 2.3.3}/src/v8-counters.h +20 -0
- data/ext/v8/upstream/{2.1.10 → 2.3.3}/src/v8.cc +5 -1
- data/ext/v8/upstream/{2.1.10 → 2.3.3}/src/v8.h +0 -0
- data/ext/v8/upstream/2.3.3/src/v8dll-main.cc +39 -0
- data/ext/v8/upstream/{2.1.10 → 2.3.3}/src/v8natives.js +210 -33
- data/ext/v8/upstream/{2.1.10 → 2.3.3}/src/v8threads.cc +1 -1
- data/ext/v8/upstream/{2.1.10 → 2.3.3}/src/v8threads.h +1 -1
- data/ext/v8/upstream/{2.1.10 → 2.3.3}/src/variables.cc +0 -0
- data/ext/v8/upstream/{2.1.10 → 2.3.3}/src/variables.h +0 -0
- data/ext/v8/upstream/{2.1.10 → 2.3.3}/src/version.cc +3 -3
- data/ext/v8/upstream/{2.1.10 → 2.3.3}/src/version.h +0 -0
- data/ext/v8/upstream/{2.1.10 → 2.3.3}/src/virtual-frame-heavy-inl.h +40 -0
- data/ext/v8/upstream/{2.1.10 → 2.3.3}/src/virtual-frame-heavy.cc +0 -0
- data/ext/v8/upstream/{2.1.10 → 2.3.3}/src/virtual-frame-inl.h +0 -0
- data/ext/v8/upstream/{2.1.10 → 2.3.3}/src/virtual-frame-light-inl.h +106 -5
- data/ext/v8/upstream/{2.1.10 → 2.3.3}/src/virtual-frame-light.cc +4 -1
- data/ext/v8/upstream/{2.1.10 → 2.3.3}/src/virtual-frame.cc +0 -0
- data/ext/v8/upstream/{2.1.10 → 2.3.3}/src/virtual-frame.h +0 -0
- data/ext/v8/upstream/{2.1.10 → 2.3.3}/src/vm-state-inl.h +6 -3
- data/ext/v8/upstream/{2.1.10 → 2.3.3}/src/vm-state.cc +1 -1
- data/ext/v8/upstream/{2.1.10 → 2.3.3}/src/vm-state.h +6 -4
- data/ext/v8/upstream/{2.1.10 → 2.3.3}/src/x64/assembler-x64-inl.h +42 -5
- data/ext/v8/upstream/{2.1.10 → 2.3.3}/src/x64/assembler-x64.cc +285 -53
- data/ext/v8/upstream/{2.1.10 → 2.3.3}/src/x64/assembler-x64.h +54 -18
- data/ext/v8/upstream/{2.1.10 → 2.3.3}/src/x64/builtins-x64.cc +31 -33
- data/ext/v8/upstream/{2.1.10 → 2.3.3}/src/x64/codegen-x64-inl.h +0 -0
- data/ext/v8/upstream/{2.1.10 → 2.3.3}/src/x64/codegen-x64.cc +9787 -8722
- data/ext/v8/upstream/{2.1.10 → 2.3.3}/src/x64/codegen-x64.h +82 -47
- data/ext/v8/upstream/{2.1.10 → 2.3.3}/src/x64/cpu-x64.cc +4 -0
- data/ext/v8/upstream/{2.1.10 → 2.3.3}/src/x64/debug-x64.cc +55 -6
- data/ext/v8/upstream/{2.1.10 → 2.3.3}/src/x64/disasm-x64.cc +42 -19
- data/ext/v8/upstream/{2.1.10 → 2.3.3}/src/x64/fast-codegen-x64.cc +4 -0
- data/ext/v8/upstream/{2.1.10 → 2.3.3}/src/x64/frames-x64.cc +4 -0
- data/ext/v8/upstream/{2.1.10 → 2.3.3}/src/x64/frames-x64.h +4 -0
- data/ext/v8/upstream/{2.1.10 → 2.3.3}/src/x64/full-codegen-x64.cc +1487 -210
- data/ext/v8/upstream/2.3.3/src/x64/ic-x64.cc +1907 -0
- data/ext/v8/upstream/{2.1.10 → 2.3.3}/src/x64/jump-target-x64.cc +4 -0
- data/ext/v8/upstream/{2.1.10 → 2.3.3}/src/x64/macro-assembler-x64.cc +366 -338
- data/ext/v8/upstream/{2.1.10 → 2.3.3}/src/x64/macro-assembler-x64.h +83 -38
- data/ext/v8/upstream/{2.1.10 → 2.3.3}/src/x64/regexp-macro-assembler-x64.cc +82 -23
- data/ext/v8/upstream/{2.1.10 → 2.3.3}/src/x64/regexp-macro-assembler-x64.h +1 -2
- data/ext/v8/upstream/{2.1.10 → 2.3.3}/src/x64/register-allocator-x64-inl.h +6 -5
- data/ext/v8/upstream/{2.1.10 → 2.3.3}/src/x64/register-allocator-x64.cc +4 -0
- data/ext/v8/upstream/{2.1.10 → 2.3.3}/src/x64/register-allocator-x64.h +1 -1
- data/ext/v8/upstream/{2.1.10 → 2.3.3}/src/x64/simulator-x64.cc +0 -0
- data/ext/v8/upstream/{2.1.10 → 2.3.3}/src/x64/simulator-x64.h +0 -0
- data/ext/v8/upstream/{2.1.10 → 2.3.3}/src/x64/stub-cache-x64.cc +556 -377
- data/ext/v8/upstream/{2.1.10 → 2.3.3}/src/x64/virtual-frame-x64.cc +197 -98
- data/ext/v8/upstream/{2.1.10 → 2.3.3}/src/x64/virtual-frame-x64.h +37 -28
- data/ext/v8/upstream/{2.1.10 → 2.3.3}/src/zone-inl.h +0 -0
- data/ext/v8/upstream/{2.1.10 → 2.3.3}/src/zone.cc +0 -0
- data/ext/v8/upstream/{2.1.10 → 2.3.3}/src/zone.h +0 -0
- data/ext/v8/upstream/{2.1.10 → 2.3.3}/tools/codemap.js +0 -0
- data/ext/v8/upstream/{2.1.10 → 2.3.3}/tools/consarray.js +0 -0
- data/ext/v8/upstream/{2.1.10 → 2.3.3}/tools/csvparser.js +0 -0
- data/ext/v8/upstream/2.3.3/tools/gc-nvp-trace-processor.py +317 -0
- data/ext/v8/upstream/{2.1.10 → 2.3.3}/tools/generate-ten-powers.scm +0 -0
- data/ext/v8/upstream/{2.1.10 → 2.3.3}/tools/gyp/v8.gyp +87 -20
- data/ext/v8/upstream/{2.1.10 → 2.3.3}/tools/js2c.py +19 -15
- data/ext/v8/upstream/{2.1.10 → 2.3.3}/tools/jsmin.py +0 -0
- data/ext/v8/upstream/{2.1.10 → 2.3.3}/tools/linux-tick-processor +0 -0
- data/ext/v8/upstream/{2.1.10 → 2.3.3}/tools/linux-tick-processor.py +0 -0
- data/ext/v8/upstream/{2.1.10 → 2.3.3}/tools/logreader.js +0 -0
- data/ext/v8/upstream/{2.1.10 → 2.3.3}/tools/mac-nm +0 -0
- data/ext/v8/upstream/{2.1.10 → 2.3.3}/tools/mac-tick-processor +0 -0
- data/ext/v8/upstream/{2.1.10 → 2.3.3}/tools/oprofile/annotate +0 -0
- data/ext/v8/upstream/{2.1.10 → 2.3.3}/tools/oprofile/common +0 -0
- data/ext/v8/upstream/{2.1.10 → 2.3.3}/tools/oprofile/dump +0 -0
- data/ext/v8/upstream/{2.1.10 → 2.3.3}/tools/oprofile/report +0 -0
- data/ext/v8/upstream/{2.1.10 → 2.3.3}/tools/oprofile/reset +0 -0
- data/ext/v8/upstream/{2.1.10 → 2.3.3}/tools/oprofile/run +0 -0
- data/ext/v8/upstream/{2.1.10 → 2.3.3}/tools/oprofile/shutdown +0 -0
- data/ext/v8/upstream/{2.1.10 → 2.3.3}/tools/oprofile/start +0 -0
- data/ext/v8/upstream/{2.1.10 → 2.3.3}/tools/presubmit.py +0 -0
- data/ext/v8/upstream/{2.1.10 → 2.3.3}/tools/process-heap-prof.py +0 -0
- data/ext/v8/upstream/{2.1.10 → 2.3.3}/tools/profile.js +0 -0
- data/ext/v8/upstream/{2.1.10 → 2.3.3}/tools/profile_view.js +0 -0
- data/ext/v8/upstream/{2.1.10 → 2.3.3}/tools/run-valgrind.py +0 -0
- data/ext/v8/upstream/{2.1.10 → 2.3.3}/tools/splaytree.js +0 -0
- data/ext/v8/upstream/{2.1.10 → 2.3.3}/tools/splaytree.py +0 -0
- data/ext/v8/upstream/{2.1.10 → 2.3.3}/tools/stats-viewer.py +25 -13
- data/ext/v8/upstream/{2.1.10 → 2.3.3}/tools/test.py +0 -0
- data/ext/v8/upstream/{2.1.10 → 2.3.3}/tools/tickprocessor-driver.js +0 -0
- data/ext/v8/upstream/{2.1.10 → 2.3.3}/tools/tickprocessor.js +0 -0
- data/ext/v8/upstream/{2.1.10 → 2.3.3}/tools/tickprocessor.py +0 -0
- data/ext/v8/upstream/{2.1.10 → 2.3.3}/tools/utils.py +0 -0
- data/ext/v8/upstream/2.3.3/tools/v8.xcodeproj/project.pbxproj +1855 -0
- data/ext/v8/upstream/{2.1.10 → 2.3.3}/tools/visual_studio/README.txt +0 -0
- data/ext/v8/upstream/{2.1.10 → 2.3.3}/tools/visual_studio/arm.vsprops +0 -0
- data/ext/v8/upstream/{2.1.10 → 2.3.3}/tools/visual_studio/common.vsprops +0 -0
- data/ext/v8/upstream/{2.1.10 → 2.3.3}/tools/visual_studio/d8.vcproj +0 -0
- data/ext/v8/upstream/{2.1.10 → 2.3.3}/tools/visual_studio/d8_arm.vcproj +0 -0
- data/ext/v8/upstream/{2.1.10 → 2.3.3}/tools/visual_studio/d8_x64.vcproj +0 -0
- data/ext/v8/upstream/{2.1.10 → 2.3.3}/tools/visual_studio/d8js2c.cmd +0 -0
- data/ext/v8/upstream/{2.1.10 → 2.3.3}/tools/visual_studio/debug.vsprops +0 -0
- data/ext/v8/upstream/{2.1.10 → 2.3.3}/tools/visual_studio/ia32.vsprops +0 -0
- data/ext/v8/upstream/{2.1.10 → 2.3.3}/tools/visual_studio/js2c.cmd +0 -0
- data/ext/v8/upstream/{2.1.10 → 2.3.3}/tools/visual_studio/release.vsprops +0 -0
- data/ext/v8/upstream/{2.1.10 → 2.3.3}/tools/visual_studio/v8.sln +0 -0
- data/ext/v8/upstream/{2.1.10 → 2.3.3}/tools/visual_studio/v8.vcproj +0 -0
- data/ext/v8/upstream/{2.1.10 → 2.3.3}/tools/visual_studio/v8_arm.sln +0 -0
- data/ext/v8/upstream/{2.1.10 → 2.3.3}/tools/visual_studio/v8_arm.vcproj +0 -0
- data/ext/v8/upstream/{2.1.10 → 2.3.3}/tools/visual_studio/v8_base.vcproj +40 -0
- data/ext/v8/upstream/{2.1.10 → 2.3.3}/tools/visual_studio/v8_base_arm.vcproj +20 -0
- data/ext/v8/upstream/{2.1.10 → 2.3.3}/tools/visual_studio/v8_base_x64.vcproj +16 -0
- data/ext/v8/upstream/{2.1.10 → 2.3.3}/tools/visual_studio/v8_cctest.vcproj +4 -0
- data/ext/v8/upstream/{2.1.10 → 2.3.3}/tools/visual_studio/v8_cctest_arm.vcproj +0 -0
- data/ext/v8/upstream/{2.1.10 → 2.3.3}/tools/visual_studio/v8_cctest_x64.vcproj +0 -0
- data/ext/v8/upstream/{2.1.10 → 2.3.3}/tools/visual_studio/v8_mksnapshot.vcproj +0 -0
- data/ext/v8/upstream/{2.1.10 → 2.3.3}/tools/visual_studio/v8_mksnapshot_x64.vcproj +0 -0
- data/ext/v8/upstream/{2.1.10 → 2.3.3}/tools/visual_studio/v8_process_sample.vcproj +0 -0
- data/ext/v8/upstream/{2.1.10 → 2.3.3}/tools/visual_studio/v8_process_sample_arm.vcproj +0 -0
- data/ext/v8/upstream/{2.1.10 → 2.3.3}/tools/visual_studio/v8_process_sample_x64.vcproj +0 -0
- data/ext/v8/upstream/{2.1.10 → 2.3.3}/tools/visual_studio/v8_shell_sample.vcproj +0 -0
- data/ext/v8/upstream/{2.1.10 → 2.3.3}/tools/visual_studio/v8_shell_sample_arm.vcproj +0 -0
- data/ext/v8/upstream/{2.1.10 → 2.3.3}/tools/visual_studio/v8_shell_sample_x64.vcproj +0 -0
- data/ext/v8/upstream/{2.1.10 → 2.3.3}/tools/visual_studio/v8_snapshot.vcproj +0 -0
- data/ext/v8/upstream/{2.1.10 → 2.3.3}/tools/visual_studio/v8_snapshot_cc.vcproj +0 -0
- data/ext/v8/upstream/{2.1.10 → 2.3.3}/tools/visual_studio/v8_snapshot_cc_x64.vcproj +0 -0
- data/ext/v8/upstream/{2.1.10 → 2.3.3}/tools/visual_studio/v8_snapshot_x64.vcproj +0 -0
- data/ext/v8/upstream/{2.1.10 → 2.3.3}/tools/visual_studio/v8_x64.sln +0 -0
- data/ext/v8/upstream/{2.1.10 → 2.3.3}/tools/visual_studio/v8_x64.vcproj +0 -0
- data/ext/v8/upstream/{2.1.10 → 2.3.3}/tools/visual_studio/x64.vsprops +0 -0
- data/ext/v8/upstream/{2.1.10 → 2.3.3}/tools/windows-tick-processor.bat +0 -0
- data/ext/v8/upstream/{2.1.10 → 2.3.3}/tools/windows-tick-processor.py +0 -0
- data/ext/v8/upstream/Makefile +1 -1
- data/ext/v8/v8_template.cpp +94 -2
- data/ext/v8/v8_try_catch.cpp +2 -2
- data/lib/v8.rb +1 -1
- data/lib/v8/access.rb +93 -40
- data/lib/v8/cli.rb +1 -1
- data/lib/v8/function.rb +14 -2
- data/spec/redjs/jsapi_spec.rb +231 -42
- data/therubyracer.gemspec +3 -3
- metadata +463 -453
- data/ext/v8/upstream/2.1.10/src/arm/assembler-thumb2-inl.h +0 -263
- data/ext/v8/upstream/2.1.10/src/arm/assembler-thumb2.cc +0 -1878
- data/ext/v8/upstream/2.1.10/src/arm/assembler-thumb2.h +0 -1036
- data/ext/v8/upstream/2.1.10/src/arm/codegen-arm-inl.h +0 -72
- data/ext/v8/upstream/2.1.10/src/arm/ic-arm.cc +0 -1833
- data/ext/v8/upstream/2.1.10/src/circular-queue-inl.h +0 -101
- data/ext/v8/upstream/2.1.10/src/profile-generator.cc +0 -583
- data/ext/v8/upstream/2.1.10/src/profile-generator.h +0 -364
- data/ext/v8/upstream/2.1.10/src/x64/ic-x64.cc +0 -1621
File without changes
|
File without changes
|
@@ -51,7 +51,8 @@ Debug.LiveEdit = new function() {
|
|
51
51
|
// Applies the change to the script.
|
52
52
|
// The change is in form of list of chunks encoded in a single array as
|
53
53
|
// a series of triplets (pos1_start, pos1_end, pos2_end)
|
54
|
-
function ApplyPatchMultiChunk(script, diff_array, new_source,
|
54
|
+
function ApplyPatchMultiChunk(script, diff_array, new_source, preview_only,
|
55
|
+
change_log) {
|
55
56
|
|
56
57
|
var old_source = script.source;
|
57
58
|
|
@@ -96,7 +97,7 @@ Debug.LiveEdit = new function() {
|
|
96
97
|
}
|
97
98
|
|
98
99
|
// Recursively collects all newly compiled functions that are going into
|
99
|
-
// business and should
|
100
|
+
// business and should have link to the actual script updated.
|
100
101
|
function CollectNew(node_list) {
|
101
102
|
for (var i = 0; i < node_list.length; i++) {
|
102
103
|
link_to_original_script_list.push(node_list[i]);
|
@@ -121,6 +122,20 @@ Debug.LiveEdit = new function() {
|
|
121
122
|
}
|
122
123
|
}
|
123
124
|
|
125
|
+
var preview_description = {
|
126
|
+
change_tree: DescribeChangeTree(root_old_node),
|
127
|
+
textual_diff: {
|
128
|
+
old_len: old_source.length,
|
129
|
+
new_len: new_source.length,
|
130
|
+
chunks: diff_array
|
131
|
+
},
|
132
|
+
updated: false
|
133
|
+
};
|
134
|
+
|
135
|
+
if (preview_only) {
|
136
|
+
return preview_description;
|
137
|
+
}
|
138
|
+
|
124
139
|
HarvestTodo(root_old_node);
|
125
140
|
|
126
141
|
// Collect shared infos for functions whose code need to be patched.
|
@@ -132,13 +147,15 @@ Debug.LiveEdit = new function() {
|
|
132
147
|
}
|
133
148
|
}
|
134
149
|
|
135
|
-
// Check that function being patched is not currently on stack.
|
136
|
-
CheckStackActivations(replaced_function_infos, change_log);
|
137
|
-
|
138
|
-
|
139
150
|
// We haven't changed anything before this line yet.
|
140
151
|
// Committing all changes.
|
141
152
|
|
153
|
+
// Check that function being patched is not currently on stack or drop them.
|
154
|
+
var dropped_functions_number =
|
155
|
+
CheckStackActivations(replaced_function_infos, change_log);
|
156
|
+
|
157
|
+
preview_description.stack_modified = dropped_functions_number != 0;
|
158
|
+
|
142
159
|
// Start with breakpoints. Convert their line/column positions and
|
143
160
|
// temporary remove.
|
144
161
|
var break_points_restorer = TemporaryRemoveBreakPoints(script, change_log);
|
@@ -166,6 +183,8 @@ Debug.LiveEdit = new function() {
|
|
166
183
|
LinkToOldScript(link_to_old_script_list[i], old_script,
|
167
184
|
link_to_old_script_report);
|
168
185
|
}
|
186
|
+
|
187
|
+
preview_description.created_script_name = old_script_name;
|
169
188
|
}
|
170
189
|
|
171
190
|
// Link to an actual script all the functions that we are going to use.
|
@@ -189,6 +208,9 @@ Debug.LiveEdit = new function() {
|
|
189
208
|
}
|
190
209
|
|
191
210
|
break_points_restorer(pos_translator, old_script);
|
211
|
+
|
212
|
+
preview_description.updated = true;
|
213
|
+
return preview_description;
|
192
214
|
}
|
193
215
|
// Function is public.
|
194
216
|
this.ApplyPatchMultiChunk = ApplyPatchMultiChunk;
|
@@ -494,6 +516,16 @@ Debug.LiveEdit = new function() {
|
|
494
516
|
this.new_end_pos = void 0;
|
495
517
|
this.corresponding_node = void 0;
|
496
518
|
this.unmatched_new_nodes = void 0;
|
519
|
+
|
520
|
+
// 'Textual' correspondence/matching is weaker than 'pure'
|
521
|
+
// correspondence/matching. We need 'textual' level for visual presentation
|
522
|
+
// in UI, we use 'pure' level for actual code manipulation.
|
523
|
+
// Sometimes only function body is changed (functions in old and new script
|
524
|
+
// textually correspond), but we cannot patch the code, so we see them
|
525
|
+
// as an old function deleted and new function created.
|
526
|
+
this.textual_corresponding_node = void 0;
|
527
|
+
this.textually_unmatched_new_nodes = void 0;
|
528
|
+
|
497
529
|
this.live_shared_info_wrapper = void 0;
|
498
530
|
}
|
499
531
|
|
@@ -640,6 +672,7 @@ Debug.LiveEdit = new function() {
|
|
640
672
|
var new_children = new_node.children;
|
641
673
|
|
642
674
|
var unmatched_new_nodes_list = [];
|
675
|
+
var textually_unmatched_new_nodes_list = [];
|
643
676
|
|
644
677
|
var old_index = 0;
|
645
678
|
var new_index = 0;
|
@@ -650,6 +683,7 @@ Debug.LiveEdit = new function() {
|
|
650
683
|
if (new_children[new_index].info.start_position <
|
651
684
|
old_children[old_index].new_start_pos) {
|
652
685
|
unmatched_new_nodes_list.push(new_children[new_index]);
|
686
|
+
textually_unmatched_new_nodes_list.push(new_children[new_index]);
|
653
687
|
new_index++;
|
654
688
|
} else if (new_children[new_index].info.start_position ==
|
655
689
|
old_children[old_index].new_start_pos) {
|
@@ -657,6 +691,8 @@ Debug.LiveEdit = new function() {
|
|
657
691
|
old_children[old_index].new_end_pos) {
|
658
692
|
old_children[old_index].corresponding_node =
|
659
693
|
new_children[new_index];
|
694
|
+
old_children[old_index].textual_corresponding_node =
|
695
|
+
new_children[new_index];
|
660
696
|
if (old_children[old_index].status != FunctionStatus.UNCHANGED) {
|
661
697
|
ProcessChildren(old_children[old_index],
|
662
698
|
new_children[new_index]);
|
@@ -673,6 +709,7 @@ Debug.LiveEdit = new function() {
|
|
673
709
|
"No corresponding function in new script found";
|
674
710
|
old_node.status = FunctionStatus.CHANGED;
|
675
711
|
unmatched_new_nodes_list.push(new_children[new_index]);
|
712
|
+
textually_unmatched_new_nodes_list.push(new_children[new_index]);
|
676
713
|
}
|
677
714
|
new_index++;
|
678
715
|
old_index++;
|
@@ -694,21 +731,28 @@ Debug.LiveEdit = new function() {
|
|
694
731
|
|
695
732
|
while (new_index < new_children.length) {
|
696
733
|
unmatched_new_nodes_list.push(new_children[new_index]);
|
734
|
+
textually_unmatched_new_nodes_list.push(new_children[new_index]);
|
697
735
|
new_index++;
|
698
736
|
}
|
699
737
|
|
700
738
|
if (old_node.status == FunctionStatus.CHANGED) {
|
701
|
-
|
739
|
+
var why_wrong_expectations =
|
740
|
+
WhyFunctionExpectationsDiffer(old_node.info, new_node.info);
|
741
|
+
if (why_wrong_expectations) {
|
702
742
|
old_node.status = FunctionStatus.DAMAGED;
|
703
|
-
old_node.status_explanation =
|
743
|
+
old_node.status_explanation = why_wrong_expectations;
|
704
744
|
}
|
705
745
|
}
|
706
746
|
old_node.unmatched_new_nodes = unmatched_new_nodes_list;
|
747
|
+
old_node.textually_unmatched_new_nodes =
|
748
|
+
textually_unmatched_new_nodes_list;
|
707
749
|
}
|
708
750
|
|
709
751
|
ProcessChildren(old_code_tree, new_code_tree);
|
710
752
|
|
711
753
|
old_code_tree.corresponding_node = new_code_tree;
|
754
|
+
old_code_tree.textual_corresponding_node = new_code_tree;
|
755
|
+
|
712
756
|
Assert(old_code_tree.status != FunctionStatus.DAMAGED,
|
713
757
|
"Script became damaged");
|
714
758
|
}
|
@@ -792,27 +836,37 @@ Debug.LiveEdit = new function() {
|
|
792
836
|
}
|
793
837
|
|
794
838
|
// Compares a function interface old and new version, whether it
|
795
|
-
// changed or not.
|
796
|
-
function
|
839
|
+
// changed or not. Returns explanation if they differ.
|
840
|
+
function WhyFunctionExpectationsDiffer(function_info1, function_info2) {
|
797
841
|
// Check that function has the same number of parameters (there may exist
|
798
842
|
// an adapter, that won't survive function parameter number change).
|
799
843
|
if (function_info1.param_num != function_info2.param_num) {
|
800
|
-
return
|
844
|
+
return "Changed parameter number: " + function_info1.param_num +
|
845
|
+
" and " + function_info2.param_num;
|
801
846
|
}
|
802
847
|
var scope_info1 = function_info1.scope_info;
|
803
848
|
var scope_info2 = function_info2.scope_info;
|
804
|
-
|
805
|
-
|
806
|
-
|
849
|
+
|
850
|
+
var scope_info1_text;
|
851
|
+
var scope_info2_text;
|
852
|
+
|
853
|
+
if (scope_info1) {
|
854
|
+
scope_info1_text = scope_info1.toString();
|
855
|
+
} else {
|
856
|
+
scope_info1_text = "";
|
807
857
|
}
|
808
|
-
|
809
|
-
|
810
|
-
|
858
|
+
if (scope_info2) {
|
859
|
+
scope_info2_text = scope_info2.toString();
|
860
|
+
} else {
|
861
|
+
scope_info2_text = "";
|
811
862
|
}
|
812
|
-
|
813
|
-
|
814
|
-
|
815
|
-
|
863
|
+
|
864
|
+
if (scope_info1_text != scope_info2_text) {
|
865
|
+
return "Incompatible variable maps: [" + scope_info1_text +
|
866
|
+
"] and [" + scope_info2_text + "]";
|
867
|
+
}
|
868
|
+
// No differences. Return undefined.
|
869
|
+
return;
|
816
870
|
}
|
817
871
|
|
818
872
|
// Minifier forward declaration.
|
@@ -856,6 +910,8 @@ Debug.LiveEdit = new function() {
|
|
856
910
|
change_log.push( { functions_on_stack: problems } );
|
857
911
|
throw new Failure("Blocked by functions on stack");
|
858
912
|
}
|
913
|
+
|
914
|
+
return dropped.length;
|
859
915
|
}
|
860
916
|
|
861
917
|
// A copy of the FunctionPatchabilityStatus enum from liveedit.h
|
@@ -897,14 +953,11 @@ Debug.LiveEdit = new function() {
|
|
897
953
|
this.GetPcFromSourcePos = GetPcFromSourcePos;
|
898
954
|
|
899
955
|
// LiveEdit main entry point: changes a script text to a new string.
|
900
|
-
function SetScriptSource(script, new_source, change_log) {
|
956
|
+
function SetScriptSource(script, new_source, preview_only, change_log) {
|
901
957
|
var old_source = script.source;
|
902
958
|
var diff = CompareStringsLinewise(old_source, new_source);
|
903
|
-
|
904
|
-
|
905
|
-
return;
|
906
|
-
}
|
907
|
-
ApplyPatchMultiChunk(script, diff, new_source, change_log);
|
959
|
+
return ApplyPatchMultiChunk(script, diff, new_source, preview_only,
|
960
|
+
change_log);
|
908
961
|
}
|
909
962
|
// Function is public.
|
910
963
|
this.SetScriptSource = SetScriptSource;
|
@@ -931,7 +984,67 @@ Debug.LiveEdit = new function() {
|
|
931
984
|
|
932
985
|
return ApplyPatchMultiChunk(script,
|
933
986
|
[ change_pos, change_pos + change_len, change_pos + new_str.length],
|
934
|
-
new_source, change_log);
|
987
|
+
new_source, false, change_log);
|
988
|
+
}
|
989
|
+
|
990
|
+
// Creates JSON description for a change tree.
|
991
|
+
function DescribeChangeTree(old_code_tree) {
|
992
|
+
|
993
|
+
function ProcessOldNode(node) {
|
994
|
+
var child_infos = [];
|
995
|
+
for (var i = 0; i < node.children.length; i++) {
|
996
|
+
var child = node.children[i];
|
997
|
+
if (child.status != FunctionStatus.UNCHANGED) {
|
998
|
+
child_infos.push(ProcessOldNode(child));
|
999
|
+
}
|
1000
|
+
}
|
1001
|
+
var new_child_infos = [];
|
1002
|
+
if (node.textually_unmatched_new_nodes) {
|
1003
|
+
for (var i = 0; i < node.textually_unmatched_new_nodes.length; i++) {
|
1004
|
+
var child = node.textually_unmatched_new_nodes[i];
|
1005
|
+
new_child_infos.push(ProcessNewNode(child));
|
1006
|
+
}
|
1007
|
+
}
|
1008
|
+
var res = {
|
1009
|
+
name: node.info.function_name,
|
1010
|
+
positions: DescribePositions(node),
|
1011
|
+
status: node.status,
|
1012
|
+
children: child_infos,
|
1013
|
+
new_children: new_child_infos
|
1014
|
+
};
|
1015
|
+
if (node.status_explanation) {
|
1016
|
+
res.status_explanation = node.status_explanation;
|
1017
|
+
}
|
1018
|
+
if (node.textual_corresponding_node) {
|
1019
|
+
res.new_positions = DescribePositions(node.textual_corresponding_node);
|
1020
|
+
}
|
1021
|
+
return res;
|
1022
|
+
}
|
1023
|
+
|
1024
|
+
function ProcessNewNode(node) {
|
1025
|
+
var child_infos = [];
|
1026
|
+
// Do not list ancestors.
|
1027
|
+
if (false) {
|
1028
|
+
for (var i = 0; i < node.children.length; i++) {
|
1029
|
+
child_infos.push(ProcessNewNode(node.children[i]));
|
1030
|
+
}
|
1031
|
+
}
|
1032
|
+
var res = {
|
1033
|
+
name: node.info.function_name,
|
1034
|
+
positions: DescribePositions(node),
|
1035
|
+
children: child_infos,
|
1036
|
+
};
|
1037
|
+
return res;
|
1038
|
+
}
|
1039
|
+
|
1040
|
+
function DescribePositions(node) {
|
1041
|
+
return {
|
1042
|
+
start_position: node.info.start_position,
|
1043
|
+
end_position: node.info.end_position
|
1044
|
+
};
|
1045
|
+
}
|
1046
|
+
|
1047
|
+
return ProcessOldNode(old_code_tree);
|
935
1048
|
}
|
936
1049
|
|
937
1050
|
|
@@ -794,7 +794,7 @@ class FrameUncookingThreadVisitor : public ThreadVisitor {
|
|
794
794
|
|
795
795
|
static void IterateAllThreads(ThreadVisitor* visitor) {
|
796
796
|
Top::IterateThread(visitor);
|
797
|
-
ThreadManager::
|
797
|
+
ThreadManager::IterateArchivedThreads(visitor);
|
798
798
|
}
|
799
799
|
|
800
800
|
// Finds all references to original and replaces them with substitution.
|
@@ -988,7 +988,7 @@ class RelocInfoBuffer {
|
|
988
988
|
byte* buffer_;
|
989
989
|
int buffer_size_;
|
990
990
|
|
991
|
-
static const int kBufferGap =
|
991
|
+
static const int kBufferGap = RelocInfoWriter::kMaxSize;
|
992
992
|
static const int kMaximalBufferSize = 512*MB;
|
993
993
|
};
|
994
994
|
|
@@ -1187,7 +1187,12 @@ static bool FixTryCatchHandler(StackFrame* top_frame,
|
|
1187
1187
|
// Returns error message or NULL.
|
1188
1188
|
static const char* DropFrames(Vector<StackFrame*> frames,
|
1189
1189
|
int top_frame_index,
|
1190
|
-
int bottom_js_frame_index
|
1190
|
+
int bottom_js_frame_index,
|
1191
|
+
Debug::FrameDropMode* mode) {
|
1192
|
+
if (Debug::kFrameDropperFrameSize < 0) {
|
1193
|
+
return "Stack manipulations are not supported in this architecture.";
|
1194
|
+
}
|
1195
|
+
|
1191
1196
|
StackFrame* pre_top_frame = frames[top_frame_index - 1];
|
1192
1197
|
StackFrame* top_frame = frames[top_frame_index];
|
1193
1198
|
StackFrame* bottom_js_frame = frames[bottom_js_frame_index];
|
@@ -1198,12 +1203,18 @@ static const char* DropFrames(Vector<StackFrame*> frames,
|
|
1198
1203
|
if (pre_top_frame->code()->is_inline_cache_stub() &&
|
1199
1204
|
pre_top_frame->code()->ic_state() == DEBUG_BREAK) {
|
1200
1205
|
// OK, we can drop inline cache calls.
|
1206
|
+
*mode = Debug::FRAME_DROPPED_IN_IC_CALL;
|
1207
|
+
} else if (pre_top_frame->code() == Debug::debug_break_slot()) {
|
1208
|
+
// OK, we can drop debug break slot.
|
1209
|
+
*mode = Debug::FRAME_DROPPED_IN_DEBUG_SLOT_CALL;
|
1201
1210
|
} else if (pre_top_frame->code() ==
|
1202
1211
|
Builtins::builtin(Builtins::FrameDropper_LiveEdit)) {
|
1203
1212
|
// OK, we can drop our own code.
|
1213
|
+
*mode = Debug::FRAME_DROPPED_IN_DIRECT_CALL;
|
1204
1214
|
} else if (pre_top_frame->code()->kind() == Code::STUB &&
|
1205
1215
|
pre_top_frame->code()->major_key()) {
|
1206
|
-
//
|
1216
|
+
// Entry from our unit tests, it's fine, we support this case.
|
1217
|
+
*mode = Debug::FRAME_DROPPED_IN_DIRECT_CALL;
|
1207
1218
|
} else {
|
1208
1219
|
return "Unknown structure of stack above changing function";
|
1209
1220
|
}
|
@@ -1316,8 +1327,9 @@ static const char* DropActivationsInActiveThread(
|
|
1316
1327
|
return NULL;
|
1317
1328
|
}
|
1318
1329
|
|
1330
|
+
Debug::FrameDropMode drop_mode = Debug::FRAMES_UNTOUCHED;
|
1319
1331
|
const char* error_message = DropFrames(frames, top_frame_index,
|
1320
|
-
bottom_js_frame_index);
|
1332
|
+
bottom_js_frame_index, &drop_mode);
|
1321
1333
|
|
1322
1334
|
if (error_message != NULL) {
|
1323
1335
|
return error_message;
|
@@ -1331,7 +1343,7 @@ static const char* DropActivationsInActiveThread(
|
|
1331
1343
|
break;
|
1332
1344
|
}
|
1333
1345
|
}
|
1334
|
-
Debug::FramesHaveBeenDropped(new_id);
|
1346
|
+
Debug::FramesHaveBeenDropped(new_id, drop_mode);
|
1335
1347
|
|
1336
1348
|
// Replace "blocked on active" with "replaced on active" status.
|
1337
1349
|
for (int i = 0; i < array_len; i++) {
|
@@ -1386,7 +1398,7 @@ Handle<JSArray> LiveEdit::CheckAndDropActivations(
|
|
1386
1398
|
// First check inactive threads. Fail if some functions are blocked there.
|
1387
1399
|
InactiveThreadActivationsChecker inactive_threads_checker(shared_info_array,
|
1388
1400
|
result);
|
1389
|
-
ThreadManager::
|
1401
|
+
ThreadManager::IterateArchivedThreads(&inactive_threads_checker);
|
1390
1402
|
if (inactive_threads_checker.HasBlockedFunctions()) {
|
1391
1403
|
return result;
|
1392
1404
|
}
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
@@ -170,7 +170,7 @@ void StackTracer::Trace(TickSample* sample) {
|
|
170
170
|
SafeStackTraceFrameIterator it(sample->fp, sample->sp,
|
171
171
|
sample->sp, js_entry_sp);
|
172
172
|
while (!it.done() && i < TickSample::kMaxFramesCount) {
|
173
|
-
sample->stack[i++] = it.frame()->
|
173
|
+
sample->stack[i++] = reinterpret_cast<Address>(it.frame()->function());
|
174
174
|
it.Advance();
|
175
175
|
}
|
176
176
|
sample->frames_count = i;
|
@@ -309,10 +309,10 @@ void Profiler::Disengage() {
|
|
309
309
|
|
310
310
|
void Profiler::Run() {
|
311
311
|
TickSample sample;
|
312
|
-
bool overflow =
|
312
|
+
bool overflow = Remove(&sample);
|
313
313
|
while (running_) {
|
314
314
|
LOG(TickEvent(&sample, overflow));
|
315
|
-
overflow =
|
315
|
+
overflow = Remove(&sample);
|
316
316
|
}
|
317
317
|
}
|
318
318
|
|
@@ -1150,7 +1150,7 @@ void Logger::TickEvent(TickSample* sample, bool overflow) {
|
|
1150
1150
|
|
1151
1151
|
int Logger::GetActiveProfilerModules() {
|
1152
1152
|
int result = PROFILER_MODULE_NONE;
|
1153
|
-
if (!profiler_->paused()) {
|
1153
|
+
if (profiler_ != NULL && !profiler_->paused()) {
|
1154
1154
|
result |= PROFILER_MODULE_CPU;
|
1155
1155
|
}
|
1156
1156
|
if (FLAG_log_gc) {
|
@@ -1162,7 +1162,7 @@ int Logger::GetActiveProfilerModules() {
|
|
1162
1162
|
|
1163
1163
|
void Logger::PauseProfiler(int flags, int tag) {
|
1164
1164
|
if (!Log::IsEnabled()) return;
|
1165
|
-
if (flags & PROFILER_MODULE_CPU) {
|
1165
|
+
if (profiler_ != NULL && (flags & PROFILER_MODULE_CPU)) {
|
1166
1166
|
// It is OK to have negative nesting.
|
1167
1167
|
if (--cpu_profiler_nesting_ == 0) {
|
1168
1168
|
profiler_->pause();
|
@@ -1193,7 +1193,7 @@ void Logger::ResumeProfiler(int flags, int tag) {
|
|
1193
1193
|
if (tag != 0) {
|
1194
1194
|
UncheckedIntEvent("open-tag", tag);
|
1195
1195
|
}
|
1196
|
-
if (flags & PROFILER_MODULE_CPU) {
|
1196
|
+
if (profiler_ != NULL && (flags & PROFILER_MODULE_CPU)) {
|
1197
1197
|
if (cpu_profiler_nesting_++ == 0) {
|
1198
1198
|
++logging_nesting_;
|
1199
1199
|
if (FLAG_prof_lazy) {
|
@@ -1295,6 +1295,10 @@ void Logger::LogCodeObject(Object* object) {
|
|
1295
1295
|
description = "A call IC from the snapshot";
|
1296
1296
|
tag = Logger::CALL_IC_TAG;
|
1297
1297
|
break;
|
1298
|
+
case Code::KEYED_CALL_IC:
|
1299
|
+
description = "A keyed call IC from the snapshot";
|
1300
|
+
tag = Logger::KEYED_CALL_IC_TAG;
|
1301
|
+
break;
|
1298
1302
|
}
|
1299
1303
|
PROFILE(CodeCreateEvent(tag, code_object, description));
|
1300
1304
|
}
|
@@ -1313,9 +1317,8 @@ void Logger::LogCodeObjects() {
|
|
1313
1317
|
void Logger::LogCompiledFunctions() {
|
1314
1318
|
HandleScope scope;
|
1315
1319
|
const int compiled_funcs_count = EnumerateCompiledFunctions(NULL);
|
1316
|
-
Handle<SharedFunctionInfo
|
1317
|
-
|
1318
|
-
EnumerateCompiledFunctions(sfis);
|
1320
|
+
ScopedVector< Handle<SharedFunctionInfo> > sfis(compiled_funcs_count);
|
1321
|
+
EnumerateCompiledFunctions(sfis.start());
|
1319
1322
|
|
1320
1323
|
// During iteration, there can be heap allocation due to
|
1321
1324
|
// GetScriptLineNumber call.
|
@@ -1360,8 +1363,6 @@ void Logger::LogCompiledFunctions() {
|
|
1360
1363
|
Logger::LAZY_COMPILE_TAG, shared->code(), *func_name));
|
1361
1364
|
}
|
1362
1365
|
}
|
1363
|
-
|
1364
|
-
DeleteArray(sfis);
|
1365
1366
|
}
|
1366
1367
|
|
1367
1368
|
|