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
@@ -36,8 +36,6 @@
|
|
36
36
|
namespace v8 {
|
37
37
|
namespace internal {
|
38
38
|
|
39
|
-
// Forward declarations.
|
40
|
-
class ZoneScopeInfo;
|
41
39
|
|
42
40
|
// Defines all the roots in Heap.
|
43
41
|
#define UNCONDITIONAL_STRONG_ROOT_LIST(V) \
|
@@ -69,10 +67,12 @@ class ZoneScopeInfo;
|
|
69
67
|
V(Map, cons_symbol_map, ConsSymbolMap) \
|
70
68
|
V(Map, cons_ascii_symbol_map, ConsAsciiSymbolMap) \
|
71
69
|
V(Map, external_symbol_map, ExternalSymbolMap) \
|
70
|
+
V(Map, external_symbol_with_ascii_data_map, ExternalSymbolWithAsciiDataMap) \
|
72
71
|
V(Map, external_ascii_symbol_map, ExternalAsciiSymbolMap) \
|
73
72
|
V(Map, cons_string_map, ConsStringMap) \
|
74
73
|
V(Map, cons_ascii_string_map, ConsAsciiStringMap) \
|
75
74
|
V(Map, external_string_map, ExternalStringMap) \
|
75
|
+
V(Map, external_string_with_ascii_data_map, ExternalStringWithAsciiDataMap) \
|
76
76
|
V(Map, external_ascii_string_map, ExternalAsciiStringMap) \
|
77
77
|
V(Map, undetectable_string_map, UndetectableStringMap) \
|
78
78
|
V(Map, undetectable_ascii_string_map, UndetectableAsciiStringMap) \
|
@@ -93,6 +93,9 @@ class ZoneScopeInfo;
|
|
93
93
|
V(Map, proxy_map, ProxyMap) \
|
94
94
|
V(Object, nan_value, NanValue) \
|
95
95
|
V(Object, minus_zero_value, MinusZeroValue) \
|
96
|
+
V(Object, instanceof_cache_function, InstanceofCacheFunction) \
|
97
|
+
V(Object, instanceof_cache_map, InstanceofCacheMap) \
|
98
|
+
V(Object, instanceof_cache_answer, InstanceofCacheAnswer) \
|
96
99
|
V(String, empty_string, EmptyString) \
|
97
100
|
V(DescriptorArray, empty_descriptor_array, EmptyDescriptorArray) \
|
98
101
|
V(Map, neander_map, NeanderMap) \
|
@@ -203,6 +206,10 @@ class HeapStats;
|
|
203
206
|
|
204
207
|
typedef String* (*ExternalStringTableUpdaterCallback)(Object** pointer);
|
205
208
|
|
209
|
+
typedef bool (*DirtyRegionCallback)(Address start,
|
210
|
+
Address end,
|
211
|
+
ObjectSlotCallback copy_object_func);
|
212
|
+
|
206
213
|
|
207
214
|
// The all static Heap captures the interface to the global object heap.
|
208
215
|
// All JavaScript contexts by this process share the same object heap.
|
@@ -361,6 +368,11 @@ class Heap : public AllStatic {
|
|
361
368
|
// Allocates an empty code cache.
|
362
369
|
static Object* AllocateCodeCache();
|
363
370
|
|
371
|
+
// Clear the Instanceof cache (used when a prototype changes).
|
372
|
+
static void ClearInstanceofCache() {
|
373
|
+
set_instanceof_cache_function(the_hole_value());
|
374
|
+
}
|
375
|
+
|
364
376
|
// Allocates and fully initializes a String. There are two String
|
365
377
|
// encodings: ASCII and two byte. One should choose between the three string
|
366
378
|
// allocation functions based on the encoding of the string buffer used to
|
@@ -612,7 +624,6 @@ class Heap : public AllStatic {
|
|
612
624
|
// object by containing this pointer.
|
613
625
|
// Please note this function does not perform a garbage collection.
|
614
626
|
static Object* CreateCode(const CodeDesc& desc,
|
615
|
-
ZoneScopeInfo* sinfo,
|
616
627
|
Code::Flags flags,
|
617
628
|
Handle<Object> self_reference);
|
618
629
|
|
@@ -732,17 +743,55 @@ class Heap : public AllStatic {
|
|
732
743
|
// Iterates over all the other roots in the heap.
|
733
744
|
static void IterateWeakRoots(ObjectVisitor* v, VisitMode mode);
|
734
745
|
|
735
|
-
|
736
|
-
|
746
|
+
enum ExpectedPageWatermarkState {
|
747
|
+
WATERMARK_SHOULD_BE_VALID,
|
748
|
+
WATERMARK_CAN_BE_INVALID
|
749
|
+
};
|
750
|
+
|
751
|
+
// For each dirty region on a page in use from an old space call
|
752
|
+
// visit_dirty_region callback.
|
753
|
+
// If either visit_dirty_region or callback can cause an allocation
|
754
|
+
// in old space and changes in allocation watermark then
|
755
|
+
// can_preallocate_during_iteration should be set to true.
|
756
|
+
// All pages will be marked as having invalid watermark upon
|
757
|
+
// iteration completion.
|
758
|
+
static void IterateDirtyRegions(
|
759
|
+
PagedSpace* space,
|
760
|
+
DirtyRegionCallback visit_dirty_region,
|
761
|
+
ObjectSlotCallback callback,
|
762
|
+
ExpectedPageWatermarkState expected_page_watermark_state);
|
763
|
+
|
764
|
+
// Interpret marks as a bitvector of dirty marks for regions of size
|
765
|
+
// Page::kRegionSize aligned by Page::kRegionAlignmentMask and covering
|
766
|
+
// memory interval from start to top. For each dirty region call a
|
767
|
+
// visit_dirty_region callback. Return updated bitvector of dirty marks.
|
768
|
+
static uint32_t IterateDirtyRegions(uint32_t marks,
|
769
|
+
Address start,
|
770
|
+
Address end,
|
771
|
+
DirtyRegionCallback visit_dirty_region,
|
772
|
+
ObjectSlotCallback callback);
|
773
|
+
|
774
|
+
// Iterate pointers to from semispace of new space found in memory interval
|
775
|
+
// from start to end.
|
776
|
+
// Update dirty marks for page containing start address.
|
777
|
+
static void IterateAndMarkPointersToFromSpace(Address start,
|
778
|
+
Address end,
|
779
|
+
ObjectSlotCallback callback);
|
780
|
+
|
781
|
+
// Iterate pointers to new space found in memory interval from start to end.
|
782
|
+
// Return true if pointers to new space was found.
|
783
|
+
static bool IteratePointersInDirtyRegion(Address start,
|
784
|
+
Address end,
|
785
|
+
ObjectSlotCallback callback);
|
786
|
+
|
787
|
+
|
788
|
+
// Iterate pointers to new space found in memory interval from start to end.
|
789
|
+
// This interval is considered to belong to the map space.
|
790
|
+
// Return true if pointers to new space was found.
|
791
|
+
static bool IteratePointersInDirtyMapsRegion(Address start,
|
792
|
+
Address end,
|
793
|
+
ObjectSlotCallback callback);
|
737
794
|
|
738
|
-
// Iterates a range of remembered set addresses starting with rset_start
|
739
|
-
// corresponding to the range of allocated pointers
|
740
|
-
// [object_start, object_end).
|
741
|
-
// Returns the number of bits that were set.
|
742
|
-
static int IterateRSetRange(Address object_start,
|
743
|
-
Address object_end,
|
744
|
-
Address rset_start,
|
745
|
-
ObjectSlotCallback copy_object_func);
|
746
795
|
|
747
796
|
// Returns whether the object resides in new space.
|
748
797
|
static inline bool InNewSpace(Object* object);
|
@@ -844,17 +893,6 @@ class Heap : public AllStatic {
|
|
844
893
|
static void ScavengePointer(HeapObject** p);
|
845
894
|
static inline void ScavengeObject(HeapObject** p, HeapObject* object);
|
846
895
|
|
847
|
-
// Clear a range of remembered set addresses corresponding to the object
|
848
|
-
// area address 'start' with size 'size_in_bytes', eg, when adding blocks
|
849
|
-
// to the free list.
|
850
|
-
static void ClearRSetRange(Address start, int size_in_bytes);
|
851
|
-
|
852
|
-
// Rebuild remembered set in old and map spaces.
|
853
|
-
static void RebuildRSets();
|
854
|
-
|
855
|
-
// Update an old object's remembered set
|
856
|
-
static int UpdateRSet(HeapObject* obj);
|
857
|
-
|
858
896
|
// Commits from space if it is uncommitted.
|
859
897
|
static void EnsureFromSpaceIsCommitted();
|
860
898
|
|
@@ -945,18 +983,29 @@ class Heap : public AllStatic {
|
|
945
983
|
|
946
984
|
static void RecordStats(HeapStats* stats);
|
947
985
|
|
986
|
+
static Scavenger GetScavenger(int instance_type, int instance_size);
|
987
|
+
|
948
988
|
// Copy block of memory from src to dst. Size of block should be aligned
|
949
989
|
// by pointer size.
|
950
|
-
static inline void CopyBlock(
|
990
|
+
static inline void CopyBlock(Address dst, Address src, int byte_size);
|
991
|
+
|
992
|
+
static inline void CopyBlockToOldSpaceAndUpdateRegionMarks(Address dst,
|
993
|
+
Address src,
|
994
|
+
int byte_size);
|
951
995
|
|
952
996
|
// Optimized version of memmove for blocks with pointer size aligned sizes and
|
953
997
|
// pointer size aligned addresses.
|
954
|
-
static inline void MoveBlock(
|
998
|
+
static inline void MoveBlock(Address dst, Address src, int byte_size);
|
999
|
+
|
1000
|
+
static inline void MoveBlockToOldSpaceAndUpdateRegionMarks(Address dst,
|
1001
|
+
Address src,
|
1002
|
+
int byte_size);
|
955
1003
|
|
956
1004
|
// Check new space expansion criteria and expand semispaces if it was hit.
|
957
1005
|
static void CheckNewSpaceExpansionCriteria();
|
958
1006
|
|
959
1007
|
static inline void IncrementYoungSurvivorsCounter(int survived) {
|
1008
|
+
young_survivors_after_last_gc_ = survived;
|
960
1009
|
survived_since_last_expansion_ += survived;
|
961
1010
|
}
|
962
1011
|
|
@@ -971,6 +1020,10 @@ class Heap : public AllStatic {
|
|
971
1020
|
|
972
1021
|
static int MaxObjectSizeInNewSpace() { return kMaxObjectSizeInNewSpace; }
|
973
1022
|
|
1023
|
+
static void ClearJSFunctionResultCaches();
|
1024
|
+
|
1025
|
+
static GCTracer* tracer() { return tracer_; }
|
1026
|
+
|
974
1027
|
private:
|
975
1028
|
static int reserved_semispace_size_;
|
976
1029
|
static int max_semispace_size_;
|
@@ -1010,6 +1063,7 @@ class Heap : public AllStatic {
|
|
1010
1063
|
static int PromotedExternalMemorySize();
|
1011
1064
|
|
1012
1065
|
static int mc_count_; // how many mark-compact collections happened
|
1066
|
+
static int ms_count_; // how many mark-sweep collections happened
|
1013
1067
|
static int gc_count_; // how many gc happened
|
1014
1068
|
|
1015
1069
|
// Total length of the strings we failed to flatten since the last GC.
|
@@ -1171,30 +1225,19 @@ class Heap : public AllStatic {
|
|
1171
1225
|
static void MarkCompactPrologue(bool is_compacting);
|
1172
1226
|
static void MarkCompactEpilogue(bool is_compacting);
|
1173
1227
|
|
1174
|
-
//
|
1175
|
-
//
|
1176
|
-
|
1177
|
-
|
1178
|
-
|
1179
|
-
|
1180
|
-
|
1181
|
-
static void ClearJSFunctionResultCaches();
|
1228
|
+
// Completely clear the Instanceof cache (to stop it keeping objects alive
|
1229
|
+
// around a GC).
|
1230
|
+
static void CompletelyClearInstanceofCache() {
|
1231
|
+
set_instanceof_cache_map(the_hole_value());
|
1232
|
+
set_instanceof_cache_function(the_hole_value());
|
1233
|
+
}
|
1182
1234
|
|
1183
1235
|
#if defined(DEBUG) || defined(ENABLE_LOGGING_AND_PROFILING)
|
1184
|
-
// Record the copy of an object in the NewSpace's statistics.
|
1185
|
-
static void RecordCopiedObject(HeapObject* obj);
|
1186
|
-
|
1187
1236
|
// Record statistics before and after garbage collection.
|
1188
1237
|
static void ReportStatisticsBeforeGC();
|
1189
1238
|
static void ReportStatisticsAfterGC();
|
1190
1239
|
#endif
|
1191
1240
|
|
1192
|
-
// Rebuild remembered set in an old space.
|
1193
|
-
static void RebuildRSets(PagedSpace* space);
|
1194
|
-
|
1195
|
-
// Rebuild remembered set in the large object space.
|
1196
|
-
static void RebuildRSets(LargeObjectSpace* space);
|
1197
|
-
|
1198
1241
|
// Slow part of scavenge object.
|
1199
1242
|
static void ScavengeObjectSlow(HeapObject** p, HeapObject* object);
|
1200
1243
|
|
@@ -1208,12 +1251,67 @@ class Heap : public AllStatic {
|
|
1208
1251
|
SharedFunctionInfo* shared,
|
1209
1252
|
Object* prototype);
|
1210
1253
|
|
1254
|
+
static GCTracer* tracer_;
|
1255
|
+
|
1211
1256
|
|
1212
1257
|
// Initializes the number to string cache based on the max semispace size.
|
1213
1258
|
static Object* InitializeNumberStringCache();
|
1214
1259
|
// Flush the number to string cache.
|
1215
1260
|
static void FlushNumberStringCache();
|
1216
1261
|
|
1262
|
+
// Flush code from functions we do not expect to use again. The code will
|
1263
|
+
// be replaced with a lazy compilable version.
|
1264
|
+
static void FlushCode();
|
1265
|
+
|
1266
|
+
static void UpdateSurvivalRateTrend(int start_new_space_size);
|
1267
|
+
|
1268
|
+
enum SurvivalRateTrend { INCREASING, STABLE, DECREASING, FLUCTUATING };
|
1269
|
+
|
1270
|
+
static const int kYoungSurvivalRateThreshold = 90;
|
1271
|
+
static const int kYoungSurvivalRateAllowedDeviation = 15;
|
1272
|
+
|
1273
|
+
static int young_survivors_after_last_gc_;
|
1274
|
+
static int high_survival_rate_period_length_;
|
1275
|
+
static double survival_rate_;
|
1276
|
+
static SurvivalRateTrend previous_survival_rate_trend_;
|
1277
|
+
static SurvivalRateTrend survival_rate_trend_;
|
1278
|
+
|
1279
|
+
static void set_survival_rate_trend(SurvivalRateTrend survival_rate_trend) {
|
1280
|
+
ASSERT(survival_rate_trend != FLUCTUATING);
|
1281
|
+
previous_survival_rate_trend_ = survival_rate_trend_;
|
1282
|
+
survival_rate_trend_ = survival_rate_trend;
|
1283
|
+
}
|
1284
|
+
|
1285
|
+
static SurvivalRateTrend survival_rate_trend() {
|
1286
|
+
if (survival_rate_trend_ == STABLE) {
|
1287
|
+
return STABLE;
|
1288
|
+
} else if (previous_survival_rate_trend_ == STABLE) {
|
1289
|
+
return survival_rate_trend_;
|
1290
|
+
} else if (survival_rate_trend_ != previous_survival_rate_trend_) {
|
1291
|
+
return FLUCTUATING;
|
1292
|
+
} else {
|
1293
|
+
return survival_rate_trend_;
|
1294
|
+
}
|
1295
|
+
}
|
1296
|
+
|
1297
|
+
static bool IsStableOrIncreasingSurvivalTrend() {
|
1298
|
+
switch (survival_rate_trend()) {
|
1299
|
+
case STABLE:
|
1300
|
+
case INCREASING:
|
1301
|
+
return true;
|
1302
|
+
default:
|
1303
|
+
return false;
|
1304
|
+
}
|
1305
|
+
}
|
1306
|
+
|
1307
|
+
static bool IsIncreasingSurvivalTrend() {
|
1308
|
+
return survival_rate_trend() == INCREASING;
|
1309
|
+
}
|
1310
|
+
|
1311
|
+
static bool IsHighSurvivalRate() {
|
1312
|
+
return high_survival_rate_period_length_ > 0;
|
1313
|
+
}
|
1314
|
+
|
1217
1315
|
static const int kInitialSymbolTableSize = 2048;
|
1218
1316
|
static const int kInitialEvalCacheSize = 64;
|
1219
1317
|
|
@@ -1281,11 +1379,11 @@ class LinearAllocationScope {
|
|
1281
1379
|
|
1282
1380
|
|
1283
1381
|
#ifdef DEBUG
|
1284
|
-
// Visitor class to verify interior pointers that do not
|
1285
|
-
//
|
1286
|
-
// that has a map pointer at its first word.
|
1287
|
-
// approximation because it can return true for
|
1288
|
-
// above the allocation pointer.
|
1382
|
+
// Visitor class to verify interior pointers in spaces that do not contain
|
1383
|
+
// or care about intergenerational references. All heap object pointers have to
|
1384
|
+
// point into the heap to a location that has a map pointer at its first word.
|
1385
|
+
// Caveat: Heap::Contains is an approximation because it can return true for
|
1386
|
+
// objects in a heap space but above the allocation pointer.
|
1289
1387
|
class VerifyPointersVisitor: public ObjectVisitor {
|
1290
1388
|
public:
|
1291
1389
|
void VisitPointers(Object** start, Object** end) {
|
@@ -1300,10 +1398,11 @@ class VerifyPointersVisitor: public ObjectVisitor {
|
|
1300
1398
|
};
|
1301
1399
|
|
1302
1400
|
|
1303
|
-
// Visitor class to verify interior pointers that
|
1304
|
-
//
|
1305
|
-
//
|
1306
|
-
|
1401
|
+
// Visitor class to verify interior pointers in spaces that use region marks
|
1402
|
+
// to keep track of intergenerational references.
|
1403
|
+
// As VerifyPointersVisitor but also checks that dirty marks are set
|
1404
|
+
// for regions covering intergenerational references.
|
1405
|
+
class VerifyPointersAndDirtyRegionsVisitor: public ObjectVisitor {
|
1307
1406
|
public:
|
1308
1407
|
void VisitPointers(Object** start, Object** end) {
|
1309
1408
|
for (Object** current = start; current < end; current++) {
|
@@ -1312,7 +1411,9 @@ class VerifyPointersAndRSetVisitor: public ObjectVisitor {
|
|
1312
1411
|
ASSERT(Heap::Contains(object));
|
1313
1412
|
ASSERT(object->map()->IsMap());
|
1314
1413
|
if (Heap::InNewSpace(object)) {
|
1315
|
-
ASSERT(
|
1414
|
+
ASSERT(Heap::InToSpace(object));
|
1415
|
+
Address addr = reinterpret_cast<Address>(current);
|
1416
|
+
ASSERT(Page::FromAddress(addr)->IsRegionDirty(addr));
|
1316
1417
|
}
|
1317
1418
|
}
|
1318
1419
|
}
|
@@ -1614,19 +1715,31 @@ class DisableAssertNoAllocation {
|
|
1614
1715
|
|
1615
1716
|
class GCTracer BASE_EMBEDDED {
|
1616
1717
|
public:
|
1617
|
-
|
1618
|
-
// external time in the tracer and will be reported separately.
|
1619
|
-
class ExternalScope BASE_EMBEDDED {
|
1718
|
+
class Scope BASE_EMBEDDED {
|
1620
1719
|
public:
|
1621
|
-
|
1720
|
+
enum ScopeId {
|
1721
|
+
EXTERNAL,
|
1722
|
+
MC_MARK,
|
1723
|
+
MC_SWEEP,
|
1724
|
+
MC_COMPACT,
|
1725
|
+
MC_FLUSH_CODE,
|
1726
|
+
kNumberOfScopes
|
1727
|
+
};
|
1728
|
+
|
1729
|
+
Scope(GCTracer* tracer, ScopeId scope)
|
1730
|
+
: tracer_(tracer),
|
1731
|
+
scope_(scope) {
|
1622
1732
|
start_time_ = OS::TimeCurrentMillis();
|
1623
1733
|
}
|
1624
|
-
|
1625
|
-
|
1734
|
+
|
1735
|
+
~Scope() {
|
1736
|
+
ASSERT((0 <= scope_) && (scope_ < kNumberOfScopes));
|
1737
|
+
tracer_->scopes_[scope_] += OS::TimeCurrentMillis() - start_time_;
|
1626
1738
|
}
|
1627
1739
|
|
1628
1740
|
private:
|
1629
1741
|
GCTracer* tracer_;
|
1742
|
+
ScopeId scope_;
|
1630
1743
|
double start_time_;
|
1631
1744
|
};
|
1632
1745
|
|
@@ -1652,6 +1765,19 @@ class GCTracer BASE_EMBEDDED {
|
|
1652
1765
|
|
1653
1766
|
int marked_count() { return marked_count_; }
|
1654
1767
|
|
1768
|
+
void increment_promoted_objects_size(int object_size) {
|
1769
|
+
promoted_objects_size_ += object_size;
|
1770
|
+
}
|
1771
|
+
|
1772
|
+
// Returns maximum GC pause.
|
1773
|
+
static int get_max_gc_pause() { return max_gc_pause_; }
|
1774
|
+
|
1775
|
+
// Returns maximum size of objects alive after GC.
|
1776
|
+
static int get_max_alive_after_gc() { return max_alive_after_gc_; }
|
1777
|
+
|
1778
|
+
// Returns minimal interval between two subsequent collections.
|
1779
|
+
static int get_min_in_mutator() { return min_in_mutator_; }
|
1780
|
+
|
1655
1781
|
private:
|
1656
1782
|
// Returns a string matching the collector.
|
1657
1783
|
const char* CollectorString();
|
@@ -1662,12 +1788,9 @@ class GCTracer BASE_EMBEDDED {
|
|
1662
1788
|
}
|
1663
1789
|
|
1664
1790
|
double start_time_; // Timestamp set in the constructor.
|
1665
|
-
|
1791
|
+
int start_size_; // Size of objects in heap set in constructor.
|
1666
1792
|
GarbageCollector collector_; // Type of collector.
|
1667
1793
|
|
1668
|
-
// Keep track of the amount of time spent in external callbacks.
|
1669
|
-
double external_time_;
|
1670
|
-
|
1671
1794
|
// A count (including this one, eg, the first collection is 1) of the
|
1672
1795
|
// number of garbage collections.
|
1673
1796
|
int gc_count_;
|
@@ -1691,6 +1814,38 @@ class GCTracer BASE_EMBEDDED {
|
|
1691
1814
|
// The count from the end of the previous full GC. Will be zero if there
|
1692
1815
|
// was no previous full GC.
|
1693
1816
|
int previous_marked_count_;
|
1817
|
+
|
1818
|
+
// Amounts of time spent in different scopes during GC.
|
1819
|
+
double scopes_[Scope::kNumberOfScopes];
|
1820
|
+
|
1821
|
+
// Total amount of space either wasted or contained in one of free lists
|
1822
|
+
// before the current GC.
|
1823
|
+
int in_free_list_or_wasted_before_gc_;
|
1824
|
+
|
1825
|
+
// Difference between space used in the heap at the beginning of the current
|
1826
|
+
// collection and the end of the previous collection.
|
1827
|
+
int allocated_since_last_gc_;
|
1828
|
+
|
1829
|
+
// Amount of time spent in mutator that is time elapsed between end of the
|
1830
|
+
// previous collection and the beginning of the current one.
|
1831
|
+
double spent_in_mutator_;
|
1832
|
+
|
1833
|
+
// Size of objects promoted during the current collection.
|
1834
|
+
int promoted_objects_size_;
|
1835
|
+
|
1836
|
+
// Maximum GC pause.
|
1837
|
+
static int max_gc_pause_;
|
1838
|
+
|
1839
|
+
// Maximum size of objects alive after GC.
|
1840
|
+
static int max_alive_after_gc_;
|
1841
|
+
|
1842
|
+
// Minimal interval between two subsequent collections.
|
1843
|
+
static int min_in_mutator_;
|
1844
|
+
|
1845
|
+
// Size of objects alive after last GC.
|
1846
|
+
static int alive_after_last_gc_;
|
1847
|
+
|
1848
|
+
static double last_gc_end_timestamp_;
|
1694
1849
|
};
|
1695
1850
|
|
1696
1851
|
|
@@ -1770,8 +1925,8 @@ class TranscendentalCache {
|
|
1770
1925
|
};
|
1771
1926
|
inline static int Hash(const Converter& c) {
|
1772
1927
|
uint32_t hash = (c.integers[0] ^ c.integers[1]);
|
1773
|
-
hash ^= hash >> 16;
|
1774
|
-
hash ^= hash >> 8;
|
1928
|
+
hash ^= static_cast<int32_t>(hash) >> 16;
|
1929
|
+
hash ^= static_cast<int32_t>(hash) >> 8;
|
1775
1930
|
return (hash & (kCacheSize - 1));
|
1776
1931
|
}
|
1777
1932
|
|