therubyracer 0.6.3 → 0.7.0.pre
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/Rakefile +10 -9
- data/ext/v8/callbacks.cpp +15 -8
- data/ext/v8/converters.cpp +7 -8
- data/ext/v8/converters.h +0 -2
- data/ext/v8/extconf.rb +2 -0
- data/ext/v8/rr.cpp +169 -0
- data/ext/v8/rr.h +34 -0
- data/ext/v8/upstream/{2.0.6 → 2.1.10}/AUTHORS +8 -1
- data/ext/v8/upstream/{2.0.6 → 2.1.10}/ChangeLog +198 -0
- data/ext/v8/upstream/{2.0.6 → 2.1.10}/LICENSE +0 -0
- data/ext/v8/upstream/{2.0.6 → 2.1.10}/SConstruct +152 -38
- data/ext/v8/upstream/{2.0.6 → 2.1.10}/include/v8-debug.h +52 -4
- data/ext/v8/upstream/2.1.10/include/v8-profiler.h +176 -0
- data/ext/v8/upstream/{2.0.6 → 2.1.10}/include/v8.h +227 -48
- data/ext/v8/upstream/{2.0.6 → 2.1.10}/src/SConscript +60 -10
- data/ext/v8/upstream/{2.0.6 → 2.1.10}/src/accessors.cc +5 -39
- data/ext/v8/upstream/{2.0.6 → 2.1.10}/src/accessors.h +0 -0
- data/ext/v8/upstream/{2.0.6 → 2.1.10}/src/allocation.cc +0 -0
- data/ext/v8/upstream/{2.0.6 → 2.1.10}/src/allocation.h +0 -0
- data/ext/v8/upstream/{2.0.6 → 2.1.10}/src/api.cc +477 -57
- data/ext/v8/upstream/{2.0.6 → 2.1.10}/src/api.h +8 -4
- data/ext/v8/upstream/{2.0.6 → 2.1.10}/src/apinatives.js +1 -1
- data/ext/v8/upstream/{2.0.6 → 2.1.10}/src/apiutils.h +0 -0
- data/ext/v8/upstream/{2.0.6 → 2.1.10}/src/arguments.h +5 -6
- data/ext/v8/upstream/{2.0.6/src/arm/assembler-thumb2-inl.h → 2.1.10/src/arm/assembler-arm-inl.h} +42 -27
- data/ext/v8/upstream/{2.0.6 → 2.1.10}/src/arm/assembler-arm.cc +430 -216
- data/ext/v8/upstream/{2.0.6 → 2.1.10}/src/arm/assembler-arm.h +199 -110
- data/ext/v8/upstream/{2.0.6/src/arm/assembler-arm-inl.h → 2.1.10/src/arm/assembler-thumb2-inl.h} +4 -18
- data/ext/v8/upstream/{2.0.6 → 2.1.10}/src/arm/assembler-thumb2.cc +142 -85
- data/ext/v8/upstream/{2.0.6 → 2.1.10}/src/arm/assembler-thumb2.h +18 -9
- data/ext/v8/upstream/{2.0.6 → 2.1.10}/src/arm/builtins-arm.cc +127 -87
- data/ext/v8/upstream/{2.0.6 → 2.1.10}/src/arm/codegen-arm-inl.h +3 -5
- data/ext/v8/upstream/{2.0.6 → 2.1.10}/src/arm/codegen-arm.cc +4634 -1427
- data/ext/v8/upstream/2.1.10/src/arm/codegen-arm.h +946 -0
- data/ext/v8/upstream/{2.0.6 → 2.1.10}/src/arm/constants-arm.cc +21 -3
- data/ext/v8/upstream/{2.0.6 → 2.1.10}/src/arm/constants-arm.h +39 -13
- data/ext/v8/upstream/{2.0.6 → 2.1.10}/src/arm/cpu-arm.cc +9 -3
- data/ext/v8/upstream/{2.0.6 → 2.1.10}/src/arm/debug-arm.cc +34 -8
- data/ext/v8/upstream/{2.0.6 → 2.1.10}/src/arm/disasm-arm.cc +262 -117
- data/ext/v8/upstream/2.1.10/src/arm/fast-codegen-arm.cc +238 -0
- data/ext/v8/upstream/{2.0.6 → 2.1.10}/src/arm/frames-arm.cc +0 -0
- data/ext/v8/upstream/{2.0.6 → 2.1.10}/src/arm/frames-arm.h +0 -0
- data/ext/v8/upstream/{2.0.6/src/arm/fast-codegen-arm.cc → 2.1.10/src/arm/full-codegen-arm.cc} +453 -283
- data/ext/v8/upstream/2.1.10/src/arm/ic-arm.cc +1833 -0
- data/ext/v8/upstream/{2.0.6 → 2.1.10}/src/arm/jump-target-arm.cc +3 -29
- data/ext/v8/upstream/{2.0.6 → 2.1.10}/src/arm/macro-assembler-arm.cc +564 -104
- data/ext/v8/upstream/{2.0.6 → 2.1.10}/src/arm/macro-assembler-arm.h +255 -46
- data/ext/v8/upstream/{2.0.6 → 2.1.10}/src/arm/regexp-macro-assembler-arm.cc +78 -104
- data/ext/v8/upstream/{2.0.6 → 2.1.10}/src/arm/regexp-macro-assembler-arm.h +6 -22
- data/ext/v8/upstream/{2.0.6 → 2.1.10}/src/arm/register-allocator-arm-inl.h +0 -3
- data/ext/v8/upstream/{2.0.6 → 2.1.10}/src/arm/register-allocator-arm.cc +0 -0
- data/ext/v8/upstream/{2.0.6 → 2.1.10}/src/arm/register-allocator-arm.h +2 -1
- data/ext/v8/upstream/{2.0.6 → 2.1.10}/src/arm/simulator-arm.cc +557 -180
- data/ext/v8/upstream/{2.0.6 → 2.1.10}/src/arm/simulator-arm.h +52 -4
- data/ext/v8/upstream/{2.0.6 → 2.1.10}/src/arm/stub-cache-arm.cc +904 -240
- data/ext/v8/upstream/2.1.10/src/arm/virtual-frame-arm.cc +668 -0
- data/ext/v8/upstream/2.1.10/src/arm/virtual-frame-arm.h +503 -0
- data/ext/v8/upstream/{2.0.6 → 2.1.10}/src/array.js +82 -109
- data/ext/v8/upstream/{2.0.6 → 2.1.10}/src/assembler.cc +49 -13
- data/ext/v8/upstream/{2.0.6 → 2.1.10}/src/assembler.h +27 -5
- data/ext/v8/upstream/2.1.10/src/ast.cc +1138 -0
- data/ext/v8/upstream/{2.0.6 → 2.1.10}/src/ast.h +354 -53
- data/ext/v8/upstream/{2.0.6 → 2.1.10}/src/bootstrapper.cc +609 -501
- data/ext/v8/upstream/{2.0.6 → 2.1.10}/src/bootstrapper.h +27 -8
- data/ext/v8/upstream/2.1.10/src/builtins.cc +1512 -0
- data/ext/v8/upstream/{2.0.6 → 2.1.10}/src/builtins.h +41 -25
- data/ext/v8/upstream/{2.0.6 → 2.1.10}/src/bytecodes-irregexp.h +0 -0
- data/ext/v8/upstream/2.1.10/src/cached-powers.h +119 -0
- data/ext/v8/upstream/{2.0.6 → 2.1.10}/src/char-predicates-inl.h +0 -0
- data/ext/v8/upstream/{2.0.6 → 2.1.10}/src/char-predicates.h +0 -0
- data/ext/v8/upstream/{2.0.6 → 2.1.10}/src/checks.cc +0 -0
- data/ext/v8/upstream/{2.0.6 → 2.1.10}/src/checks.h +25 -1
- data/ext/v8/upstream/2.1.10/src/circular-queue-inl.h +101 -0
- data/ext/v8/upstream/2.1.10/src/circular-queue.cc +121 -0
- data/ext/v8/upstream/2.1.10/src/circular-queue.h +129 -0
- data/ext/v8/upstream/{2.0.6 → 2.1.10}/src/code-stubs.cc +23 -8
- data/ext/v8/upstream/{2.0.6 → 2.1.10}/src/code-stubs.h +16 -4
- data/ext/v8/upstream/{2.0.6 → 2.1.10}/src/code.h +0 -0
- data/ext/v8/upstream/{2.0.6 → 2.1.10}/src/codegen-inl.h +6 -34
- data/ext/v8/upstream/{2.0.6 → 2.1.10}/src/codegen.cc +73 -92
- data/ext/v8/upstream/{2.0.6 → 2.1.10}/src/codegen.h +164 -68
- data/ext/v8/upstream/{2.0.6 → 2.1.10}/src/compilation-cache.cc +117 -73
- data/ext/v8/upstream/{2.0.6 → 2.1.10}/src/compilation-cache.h +18 -17
- data/ext/v8/upstream/2.1.10/src/compiler.cc +623 -0
- data/ext/v8/upstream/2.1.10/src/compiler.h +299 -0
- data/ext/v8/upstream/{2.0.6 → 2.1.10}/src/contexts.cc +0 -0
- data/ext/v8/upstream/{2.0.6 → 2.1.10}/src/contexts.h +8 -11
- data/ext/v8/upstream/{2.0.6 → 2.1.10}/src/conversions-inl.h +28 -13
- data/ext/v8/upstream/2.1.10/src/conversions.cc +1105 -0
- data/ext/v8/upstream/{2.0.6 → 2.1.10}/src/conversions.h +9 -4
- data/ext/v8/upstream/{2.0.6 → 2.1.10}/src/counters.cc +0 -0
- data/ext/v8/upstream/{2.0.6 → 2.1.10}/src/counters.h +1 -1
- data/ext/v8/upstream/2.1.10/src/cpu-profiler-inl.h +99 -0
- data/ext/v8/upstream/2.1.10/src/cpu-profiler.cc +494 -0
- data/ext/v8/upstream/2.1.10/src/cpu-profiler.h +277 -0
- data/ext/v8/upstream/{2.0.6 → 2.1.10}/src/cpu.h +0 -0
- data/ext/v8/upstream/{2.0.6 → 2.1.10}/src/d8-debug.cc +15 -4
- data/ext/v8/upstream/{2.0.6 → 2.1.10}/src/d8-debug.h +0 -0
- data/ext/v8/upstream/{2.0.6 → 2.1.10}/src/d8-posix.cc +18 -0
- data/ext/v8/upstream/{2.0.6 → 2.1.10}/src/d8-readline.cc +2 -2
- data/ext/v8/upstream/{2.0.6 → 2.1.10}/src/d8-windows.cc +0 -0
- data/ext/v8/upstream/{2.0.6 → 2.1.10}/src/d8.cc +10 -6
- data/ext/v8/upstream/{2.0.6 → 2.1.10}/src/d8.h +2 -0
- data/ext/v8/upstream/{2.0.6 → 2.1.10}/src/d8.js +43 -38
- data/ext/v8/upstream/2.1.10/src/data-flow.cc +755 -0
- data/ext/v8/upstream/2.1.10/src/data-flow.h +278 -0
- data/ext/v8/upstream/{2.0.6/src/date-delay.js → 2.1.10/src/date.js} +100 -110
- data/ext/v8/upstream/{2.0.6 → 2.1.10}/src/dateparser-inl.h +11 -2
- data/ext/v8/upstream/{2.0.6 → 2.1.10}/src/dateparser.cc +24 -26
- data/ext/v8/upstream/{2.0.6 → 2.1.10}/src/dateparser.h +8 -4
- data/ext/v8/upstream/{2.0.6 → 2.1.10}/src/debug-agent.cc +3 -1
- data/ext/v8/upstream/{2.0.6 → 2.1.10}/src/debug-agent.h +0 -0
- data/ext/v8/upstream/{2.0.6/src/debug-delay.js → 2.1.10/src/debug-debugger.js} +111 -15
- data/ext/v8/upstream/{2.0.6 → 2.1.10}/src/debug.cc +156 -96
- data/ext/v8/upstream/{2.0.6 → 2.1.10}/src/debug.h +53 -5
- data/ext/v8/upstream/{2.0.6 → 2.1.10}/src/disasm.h +0 -0
- data/ext/v8/upstream/{2.0.6 → 2.1.10}/src/disassembler.cc +2 -8
- data/ext/v8/upstream/{2.0.6 → 2.1.10}/src/disassembler.h +0 -0
- data/ext/v8/upstream/2.1.10/src/diy-fp.cc +58 -0
- data/ext/v8/upstream/2.1.10/src/diy-fp.h +117 -0
- data/ext/v8/upstream/2.1.10/src/double.h +169 -0
- data/ext/v8/upstream/{2.0.6 → 2.1.10}/src/dtoa-config.c +4 -3
- data/ext/v8/upstream/{2.0.6 → 2.1.10}/src/execution.cc +22 -22
- data/ext/v8/upstream/{2.0.6 → 2.1.10}/src/execution.h +17 -4
- data/ext/v8/upstream/{2.0.6 → 2.1.10}/src/factory.cc +70 -46
- data/ext/v8/upstream/{2.0.6 → 2.1.10}/src/factory.h +27 -17
- data/ext/v8/upstream/2.1.10/src/fast-codegen.cc +746 -0
- data/ext/v8/upstream/2.1.10/src/fast-codegen.h +161 -0
- data/ext/v8/upstream/2.1.10/src/fast-dtoa.cc +512 -0
- data/ext/v8/upstream/2.1.10/src/fast-dtoa.h +59 -0
- data/ext/v8/upstream/{2.0.6 → 2.1.10}/src/flag-definitions.h +32 -11
- data/ext/v8/upstream/{2.0.6 → 2.1.10}/src/flags.cc +0 -0
- data/ext/v8/upstream/{2.0.6 → 2.1.10}/src/flags.h +0 -0
- data/ext/v8/upstream/2.1.10/src/flow-graph.cc +763 -0
- data/ext/v8/upstream/2.1.10/src/flow-graph.h +180 -0
- data/ext/v8/upstream/{2.0.6 → 2.1.10}/src/frame-element.cc +1 -4
- data/ext/v8/upstream/{2.0.6 → 2.1.10}/src/frame-element.h +49 -11
- data/ext/v8/upstream/{2.0.6 → 2.1.10}/src/frames-inl.h +2 -0
- data/ext/v8/upstream/{2.0.6 → 2.1.10}/src/frames.cc +91 -17
- data/ext/v8/upstream/{2.0.6 → 2.1.10}/src/frames.h +24 -2
- data/ext/v8/upstream/{2.0.6/src/fast-codegen.cc → 2.1.10/src/full-codegen.cc} +549 -198
- data/ext/v8/upstream/{2.0.6/src/fast-codegen.h → 2.1.10/src/full-codegen.h} +109 -29
- data/ext/v8/upstream/{2.0.6 → 2.1.10}/src/func-name-inferrer.cc +0 -0
- data/ext/v8/upstream/{2.0.6 → 2.1.10}/src/func-name-inferrer.h +0 -0
- data/ext/v8/upstream/{2.0.6 → 2.1.10}/src/global-handles.cc +0 -0
- data/ext/v8/upstream/{2.0.6 → 2.1.10}/src/global-handles.h +0 -0
- data/ext/v8/upstream/{2.0.6 → 2.1.10}/src/globals.h +67 -43
- data/ext/v8/upstream/{2.0.6 → 2.1.10}/src/handles-inl.h +0 -0
- data/ext/v8/upstream/{2.0.6 → 2.1.10}/src/handles.cc +124 -129
- data/ext/v8/upstream/{2.0.6 → 2.1.10}/src/handles.h +33 -15
- data/ext/v8/upstream/{2.0.6 → 2.1.10}/src/hashmap.cc +0 -0
- data/ext/v8/upstream/{2.0.6 → 2.1.10}/src/hashmap.h +0 -0
- data/ext/v8/upstream/{2.0.6 → 2.1.10}/src/heap-inl.h +56 -12
- data/ext/v8/upstream/{2.0.6 → 2.1.10}/src/heap-profiler.cc +2 -2
- data/ext/v8/upstream/{2.0.6 → 2.1.10}/src/heap-profiler.h +2 -0
- data/ext/v8/upstream/{2.0.6 → 2.1.10}/src/heap.cc +413 -221
- data/ext/v8/upstream/{2.0.6 → 2.1.10}/src/heap.h +192 -67
- data/ext/v8/upstream/{2.0.6 → 2.1.10}/src/ia32/assembler-ia32-inl.h +6 -0
- data/ext/v8/upstream/{2.0.6 → 2.1.10}/src/ia32/assembler-ia32.cc +187 -32
- data/ext/v8/upstream/{2.0.6 → 2.1.10}/src/ia32/assembler-ia32.h +31 -4
- data/ext/v8/upstream/{2.0.6 → 2.1.10}/src/ia32/builtins-ia32.cc +160 -133
- data/ext/v8/upstream/{2.0.6 → 2.1.10}/src/ia32/codegen-ia32-inl.h +0 -0
- data/ext/v8/upstream/{2.0.6 → 2.1.10}/src/ia32/codegen-ia32.cc +5533 -2177
- data/ext/v8/upstream/{2.0.6/src/x64/codegen-x64.h → 2.1.10/src/ia32/codegen-ia32.h} +453 -134
- data/ext/v8/upstream/{2.0.6 → 2.1.10}/src/ia32/cpu-ia32.cc +0 -0
- data/ext/v8/upstream/{2.0.6 → 2.1.10}/src/ia32/debug-ia32.cc +63 -8
- data/ext/v8/upstream/{2.0.6 → 2.1.10}/src/ia32/disasm-ia32.cc +99 -16
- data/ext/v8/upstream/2.1.10/src/ia32/fast-codegen-ia32.cc +950 -0
- data/ext/v8/upstream/2.1.10/src/ia32/fast-codegen-ia32.h +155 -0
- data/ext/v8/upstream/{2.0.6 → 2.1.10}/src/ia32/frames-ia32.cc +0 -0
- data/ext/v8/upstream/{2.0.6 → 2.1.10}/src/ia32/frames-ia32.h +0 -0
- data/ext/v8/upstream/{2.0.6/src/ia32/fast-codegen-ia32.cc → 2.1.10/src/ia32/full-codegen-ia32.cc} +454 -253
- data/ext/v8/upstream/{2.0.6 → 2.1.10}/src/ia32/ic-ia32.cc +545 -390
- data/ext/v8/upstream/{2.0.6 → 2.1.10}/src/ia32/jump-target-ia32.cc +1 -0
- data/ext/v8/upstream/{2.0.6 → 2.1.10}/src/ia32/macro-assembler-ia32.cc +330 -139
- data/ext/v8/upstream/{2.0.6 → 2.1.10}/src/ia32/macro-assembler-ia32.h +96 -30
- data/ext/v8/upstream/{2.0.6 → 2.1.10}/src/ia32/regexp-macro-assembler-ia32.cc +73 -89
- data/ext/v8/upstream/{2.0.6 → 2.1.10}/src/ia32/regexp-macro-assembler-ia32.h +6 -21
- data/ext/v8/upstream/{2.0.6 → 2.1.10}/src/ia32/register-allocator-ia32-inl.h +0 -0
- data/ext/v8/upstream/{2.0.6 → 2.1.10}/src/ia32/register-allocator-ia32.cc +59 -5
- data/ext/v8/upstream/{2.0.6 → 2.1.10}/src/ia32/register-allocator-ia32.h +0 -0
- data/ext/v8/upstream/{2.0.6 → 2.1.10}/src/ia32/simulator-ia32.cc +0 -0
- data/ext/v8/upstream/{2.0.6 → 2.1.10}/src/ia32/simulator-ia32.h +2 -2
- data/ext/v8/upstream/{2.0.6 → 2.1.10}/src/ia32/stub-cache-ia32.cc +745 -303
- data/ext/v8/upstream/{2.0.6 → 2.1.10}/src/ia32/virtual-frame-ia32.cc +278 -71
- data/ext/v8/upstream/{2.0.6 → 2.1.10}/src/ia32/virtual-frame-ia32.h +78 -22
- data/ext/v8/upstream/{2.0.6 → 2.1.10}/src/ic-inl.h +0 -0
- data/ext/v8/upstream/{2.0.6 → 2.1.10}/src/ic.cc +172 -89
- data/ext/v8/upstream/{2.0.6 → 2.1.10}/src/ic.h +51 -20
- data/ext/v8/upstream/{2.0.6 → 2.1.10}/src/interpreter-irregexp.cc +0 -0
- data/ext/v8/upstream/{2.0.6 → 2.1.10}/src/interpreter-irregexp.h +0 -0
- data/ext/v8/upstream/{2.0.6/src/json-delay.js → 2.1.10/src/json.js} +26 -12
- data/ext/v8/upstream/{2.0.6 → 2.1.10}/src/jsregexp.cc +151 -118
- data/ext/v8/upstream/{2.0.6 → 2.1.10}/src/jsregexp.h +31 -7
- data/ext/v8/upstream/2.1.10/src/jump-target-heavy-inl.h +51 -0
- data/ext/v8/upstream/{2.0.6/src/jump-target.cc → 2.1.10/src/jump-target-heavy.cc} +164 -184
- data/ext/v8/upstream/{2.0.6 → 2.1.10}/src/jump-target-inl.h +8 -9
- data/ext/v8/upstream/{2.0.6/src/usage-analyzer.h → 2.1.10/src/jump-target-light-inl.h} +9 -7
- data/ext/v8/upstream/2.1.10/src/jump-target-light.cc +86 -0
- data/ext/v8/upstream/2.1.10/src/jump-target.cc +155 -0
- data/ext/v8/upstream/{2.0.6 → 2.1.10}/src/jump-target.h +6 -0
- data/ext/v8/upstream/{2.0.6 → 2.1.10}/src/list-inl.h +0 -0
- data/ext/v8/upstream/{2.0.6 → 2.1.10}/src/list.h +2 -1
- data/ext/v8/upstream/2.1.10/src/liveedit-debugger.js +944 -0
- data/ext/v8/upstream/2.1.10/src/liveedit.cc +1468 -0
- data/ext/v8/upstream/2.1.10/src/liveedit.h +170 -0
- data/ext/v8/upstream/2.1.10/src/log-inl.h +59 -0
- data/ext/v8/upstream/{2.0.6 → 2.1.10}/src/log-utils.cc +3 -9
- data/ext/v8/upstream/{2.0.6 → 2.1.10}/src/log-utils.h +1 -4
- data/ext/v8/upstream/{2.0.6 → 2.1.10}/src/log.cc +198 -95
- data/ext/v8/upstream/{2.0.6 → 2.1.10}/src/log.h +50 -49
- data/ext/v8/upstream/{2.0.6 → 2.1.10}/src/macro-assembler.h +9 -0
- data/ext/v8/upstream/{2.0.6 → 2.1.10}/src/macros.py +30 -11
- data/ext/v8/upstream/{2.0.6 → 2.1.10}/src/mark-compact.cc +464 -152
- data/ext/v8/upstream/{2.0.6 → 2.1.10}/src/mark-compact.h +41 -20
- data/ext/v8/upstream/{2.0.6 → 2.1.10}/src/math.js +9 -8
- data/ext/v8/upstream/{2.0.6 → 2.1.10}/src/memory.h +0 -0
- data/ext/v8/upstream/{2.0.6 → 2.1.10}/src/messages.cc +1 -0
- data/ext/v8/upstream/{2.0.6 → 2.1.10}/src/messages.h +0 -0
- data/ext/v8/upstream/{2.0.6 → 2.1.10}/src/messages.js +46 -9
- data/ext/v8/upstream/2.1.10/src/mips/assembler-mips-inl.h +215 -0
- data/ext/v8/upstream/2.1.10/src/mips/assembler-mips.cc +1208 -0
- data/ext/v8/upstream/2.1.10/src/mips/assembler-mips.h +665 -0
- data/ext/v8/upstream/2.1.10/src/mips/builtins-mips.cc +202 -0
- data/ext/v8/upstream/2.1.10/src/mips/codegen-mips-inl.h +70 -0
- data/ext/v8/upstream/2.1.10/src/mips/codegen-mips.cc +1428 -0
- data/ext/v8/upstream/{2.0.6/src/arm/codegen-arm.h → 2.1.10/src/mips/codegen-mips.h} +103 -205
- data/ext/v8/upstream/2.1.10/src/mips/constants-mips.cc +323 -0
- data/ext/v8/upstream/2.1.10/src/mips/constants-mips.h +525 -0
- data/ext/v8/upstream/2.1.10/src/mips/cpu-mips.cc +69 -0
- data/ext/v8/upstream/2.1.10/src/mips/debug-mips.cc +128 -0
- data/ext/v8/upstream/2.1.10/src/mips/disasm-mips.cc +784 -0
- data/ext/v8/upstream/2.1.10/src/mips/fast-codegen-mips.cc +74 -0
- data/ext/v8/upstream/2.1.10/src/mips/frames-mips.cc +99 -0
- data/ext/v8/upstream/2.1.10/src/mips/frames-mips.h +164 -0
- data/ext/v8/upstream/2.1.10/src/mips/full-codegen-mips.cc +273 -0
- data/ext/v8/upstream/2.1.10/src/mips/ic-mips.cc +217 -0
- data/ext/v8/upstream/2.1.10/src/mips/jump-target-mips.cc +172 -0
- data/ext/v8/upstream/2.1.10/src/mips/macro-assembler-mips.cc +1323 -0
- data/ext/v8/upstream/2.1.10/src/mips/macro-assembler-mips.h +461 -0
- data/ext/v8/upstream/2.1.10/src/mips/register-allocator-mips-inl.h +137 -0
- data/ext/v8/upstream/2.1.10/src/mips/register-allocator-mips.cc +60 -0
- data/ext/v8/upstream/2.1.10/src/mips/register-allocator-mips.h +46 -0
- data/ext/v8/upstream/2.1.10/src/mips/simulator-mips.cc +1648 -0
- data/ext/v8/upstream/2.1.10/src/mips/simulator-mips.h +311 -0
- data/ext/v8/upstream/2.1.10/src/mips/stub-cache-mips.cc +400 -0
- data/ext/v8/upstream/2.1.10/src/mips/virtual-frame-mips.cc +316 -0
- data/ext/v8/upstream/{2.0.6/src/arm/virtual-frame-arm.h → 2.1.10/src/mips/virtual-frame-mips.h} +87 -71
- data/ext/v8/upstream/{2.0.6/src/mirror-delay.js → 2.1.10/src/mirror-debugger.js} +51 -45
- data/ext/v8/upstream/{2.0.6 → 2.1.10}/src/mksnapshot.cc +97 -10
- data/ext/v8/upstream/{2.0.6 → 2.1.10}/src/natives.h +6 -6
- data/ext/v8/upstream/{2.0.6 → 2.1.10}/src/objects-debug.cc +47 -5
- data/ext/v8/upstream/{2.0.6 → 2.1.10}/src/objects-inl.h +154 -38
- data/ext/v8/upstream/{2.0.6 → 2.1.10}/src/objects.cc +528 -280
- data/ext/v8/upstream/{2.0.6 → 2.1.10}/src/objects.h +302 -95
- data/ext/v8/upstream/{2.0.6 → 2.1.10}/src/oprofile-agent.cc +25 -33
- data/ext/v8/upstream/{2.0.6 → 2.1.10}/src/oprofile-agent.h +9 -1
- data/ext/v8/upstream/{2.0.6 → 2.1.10}/src/parser.cc +444 -72
- data/ext/v8/upstream/{2.0.6 → 2.1.10}/src/parser.h +4 -2
- data/ext/v8/upstream/{2.0.6 → 2.1.10}/src/platform-freebsd.cc +32 -13
- data/ext/v8/upstream/{2.0.6 → 2.1.10}/src/platform-linux.cc +59 -25
- data/ext/v8/upstream/{2.0.6 → 2.1.10}/src/platform-macos.cc +30 -13
- data/ext/v8/upstream/{2.0.6 → 2.1.10}/src/platform-nullos.cc +0 -0
- data/ext/v8/upstream/{2.0.6 → 2.1.10}/src/platform-openbsd.cc +21 -2
- data/ext/v8/upstream/{2.0.6 → 2.1.10}/src/platform-posix.cc +0 -18
- data/ext/v8/upstream/2.1.10/src/platform-solaris.cc +607 -0
- data/ext/v8/upstream/{2.0.6 → 2.1.10}/src/platform-win32.cc +16 -17
- data/ext/v8/upstream/{2.0.6 → 2.1.10}/src/platform.h +25 -8
- data/ext/v8/upstream/2.1.10/src/powers-ten.h +2461 -0
- data/ext/v8/upstream/{2.0.6 → 2.1.10}/src/prettyprinter.cc +49 -29
- data/ext/v8/upstream/{2.0.6 → 2.1.10}/src/prettyprinter.h +3 -1
- data/ext/v8/upstream/2.1.10/src/profile-generator-inl.h +124 -0
- data/ext/v8/upstream/2.1.10/src/profile-generator.cc +583 -0
- data/ext/v8/upstream/2.1.10/src/profile-generator.h +364 -0
- data/ext/v8/upstream/{2.0.6 → 2.1.10}/src/property.cc +1 -1
- data/ext/v8/upstream/{2.0.6 → 2.1.10}/src/property.h +12 -24
- data/ext/v8/upstream/{2.0.6 → 2.1.10}/src/regexp-macro-assembler-irregexp-inl.h +2 -2
- data/ext/v8/upstream/{2.0.6 → 2.1.10}/src/regexp-macro-assembler-irregexp.cc +2 -2
- data/ext/v8/upstream/{2.0.6 → 2.1.10}/src/regexp-macro-assembler-irregexp.h +2 -2
- data/ext/v8/upstream/{2.0.6 → 2.1.10}/src/regexp-macro-assembler-tracer.cc +2 -2
- data/ext/v8/upstream/{2.0.6 → 2.1.10}/src/regexp-macro-assembler-tracer.h +0 -0
- data/ext/v8/upstream/{2.0.6 → 2.1.10}/src/regexp-macro-assembler.cc +33 -10
- data/ext/v8/upstream/{2.0.6 → 2.1.10}/src/regexp-macro-assembler.h +12 -4
- data/ext/v8/upstream/{2.0.6 → 2.1.10}/src/regexp-stack.cc +0 -0
- data/ext/v8/upstream/{2.0.6 → 2.1.10}/src/regexp-stack.h +0 -0
- data/ext/v8/upstream/{2.0.6/src/regexp-delay.js → 2.1.10/src/regexp.js} +180 -58
- data/ext/v8/upstream/{2.0.6 → 2.1.10}/src/register-allocator-inl.h +68 -1
- data/ext/v8/upstream/{2.0.6 → 2.1.10}/src/register-allocator.cc +5 -2
- data/ext/v8/upstream/{2.0.6 → 2.1.10}/src/register-allocator.h +42 -17
- data/ext/v8/upstream/{2.0.6 → 2.1.10}/src/rewriter.cc +110 -4
- data/ext/v8/upstream/{2.0.6 → 2.1.10}/src/rewriter.h +0 -0
- data/ext/v8/upstream/{2.0.6 → 2.1.10}/src/runtime.cc +2733 -623
- data/ext/v8/upstream/{2.0.6 → 2.1.10}/src/runtime.h +43 -20
- data/ext/v8/upstream/{2.0.6 → 2.1.10}/src/runtime.js +46 -35
- data/ext/v8/upstream/{2.0.6 → 2.1.10}/src/scanner.cc +278 -36
- data/ext/v8/upstream/{2.0.6 → 2.1.10}/src/scanner.h +97 -26
- data/ext/v8/upstream/{2.0.6 → 2.1.10}/src/scopeinfo.cc +3 -3
- data/ext/v8/upstream/{2.0.6 → 2.1.10}/src/scopeinfo.h +1 -0
- data/ext/v8/upstream/{2.0.6 → 2.1.10}/src/scopes.cc +11 -12
- data/ext/v8/upstream/{2.0.6 → 2.1.10}/src/scopes.h +0 -1
- data/ext/v8/upstream/{2.0.6 → 2.1.10}/src/serialize.cc +298 -175
- data/ext/v8/upstream/{2.0.6 → 2.1.10}/src/serialize.h +184 -40
- data/ext/v8/upstream/{2.0.6 → 2.1.10}/src/shell.h +0 -0
- data/ext/v8/upstream/{2.0.6 → 2.1.10}/src/simulator.h +2 -0
- data/ext/v8/upstream/{2.0.6 → 2.1.10}/src/smart-pointer.h +0 -0
- data/ext/v8/upstream/{2.0.6 → 2.1.10}/src/snapshot-common.cc +16 -31
- data/ext/v8/upstream/2.1.10/src/snapshot-empty.cc +50 -0
- data/ext/v8/upstream/{2.0.6 → 2.1.10}/src/snapshot.h +13 -1
- data/ext/v8/upstream/{2.0.6 → 2.1.10}/src/spaces-inl.h +35 -27
- data/ext/v8/upstream/{2.0.6 → 2.1.10}/src/spaces.cc +256 -42
- data/ext/v8/upstream/{2.0.6 → 2.1.10}/src/spaces.h +136 -42
- data/ext/v8/upstream/{2.0.6/src/zone-inl.h → 2.1.10/src/splay-tree-inl.h} +102 -89
- data/ext/v8/upstream/2.1.10/src/splay-tree.h +203 -0
- data/ext/v8/upstream/{2.0.6 → 2.1.10}/src/string-stream.cc +0 -0
- data/ext/v8/upstream/{2.0.6 → 2.1.10}/src/string-stream.h +0 -0
- data/ext/v8/upstream/{2.0.6 → 2.1.10}/src/string.js +260 -149
- data/ext/v8/upstream/{2.0.6 → 2.1.10}/src/stub-cache.cc +195 -69
- data/ext/v8/upstream/{2.0.6 → 2.1.10}/src/stub-cache.h +127 -12
- data/ext/v8/upstream/{2.0.6 → 2.1.10}/src/third_party/dtoa/COPYING +0 -0
- data/ext/v8/upstream/{2.0.6 → 2.1.10}/src/third_party/dtoa/dtoa.c +0 -0
- data/ext/v8/upstream/{2.0.6 → 2.1.10}/src/third_party/valgrind/valgrind.h +0 -0
- data/ext/v8/upstream/{2.0.6 → 2.1.10}/src/token.cc +0 -0
- data/ext/v8/upstream/{2.0.6 → 2.1.10}/src/token.h +0 -0
- data/ext/v8/upstream/{2.0.6 → 2.1.10}/src/top.cc +26 -31
- data/ext/v8/upstream/{2.0.6 → 2.1.10}/src/top.h +3 -4
- data/ext/v8/upstream/2.1.10/src/type-info.cc +53 -0
- data/ext/v8/upstream/2.1.10/src/type-info.h +244 -0
- data/ext/v8/upstream/{2.0.6 → 2.1.10}/src/unicode-inl.h +0 -0
- data/ext/v8/upstream/{2.0.6 → 2.1.10}/src/unicode.cc +0 -0
- data/ext/v8/upstream/{2.0.6 → 2.1.10}/src/unicode.h +0 -0
- data/ext/v8/upstream/{2.0.6 → 2.1.10}/src/uri.js +6 -6
- data/ext/v8/upstream/{2.0.6 → 2.1.10}/src/utils.cc +0 -37
- data/ext/v8/upstream/{2.0.6 → 2.1.10}/src/utils.h +121 -50
- data/ext/v8/upstream/{2.0.6 → 2.1.10}/src/v8-counters.cc +0 -0
- data/ext/v8/upstream/{2.0.6 → 2.1.10}/src/v8-counters.h +130 -98
- data/ext/v8/upstream/{2.0.6 → 2.1.10}/src/v8.cc +42 -11
- data/ext/v8/upstream/{2.0.6 → 2.1.10}/src/v8.h +4 -2
- data/ext/v8/upstream/{2.0.6 → 2.1.10}/src/v8natives.js +202 -37
- data/ext/v8/upstream/{2.0.6 → 2.1.10}/src/v8threads.cc +11 -0
- data/ext/v8/upstream/{2.0.6 → 2.1.10}/src/v8threads.h +15 -0
- data/ext/v8/upstream/{2.0.6 → 2.1.10}/src/variables.cc +7 -51
- data/ext/v8/upstream/{2.0.6 → 2.1.10}/src/variables.h +5 -35
- data/ext/v8/upstream/{2.0.6 → 2.1.10}/src/version.cc +3 -3
- data/ext/v8/upstream/{2.0.6 → 2.1.10}/src/version.h +0 -0
- data/ext/v8/upstream/2.1.10/src/virtual-frame-heavy-inl.h +152 -0
- data/ext/v8/upstream/{2.0.6/src/virtual-frame.cc → 2.1.10/src/virtual-frame-heavy.cc} +107 -176
- data/ext/v8/upstream/2.1.10/src/virtual-frame-inl.h +39 -0
- data/ext/v8/upstream/2.1.10/src/virtual-frame-light-inl.h +69 -0
- data/ext/v8/upstream/2.1.10/src/virtual-frame-light.cc +49 -0
- data/ext/v8/upstream/2.1.10/src/virtual-frame.cc +49 -0
- data/ext/v8/upstream/{2.0.6 → 2.1.10}/src/virtual-frame.h +2 -0
- data/ext/v8/upstream/{2.0.6/src/log-inl.h → 2.1.10/src/vm-state-inl.h} +28 -20
- data/ext/v8/upstream/{2.0.6/src/snapshot-empty.cc → 2.1.10/src/vm-state.cc} +5 -6
- data/ext/v8/upstream/2.1.10/src/vm-state.h +75 -0
- data/ext/v8/upstream/{2.0.6 → 2.1.10}/src/x64/assembler-x64-inl.h +11 -0
- data/ext/v8/upstream/{2.0.6 → 2.1.10}/src/x64/assembler-x64.cc +285 -93
- data/ext/v8/upstream/{2.0.6 → 2.1.10}/src/x64/assembler-x64.h +81 -78
- data/ext/v8/upstream/{2.0.6 → 2.1.10}/src/x64/builtins-x64.cc +130 -87
- data/ext/v8/upstream/{2.0.6 → 2.1.10}/src/x64/codegen-x64-inl.h +0 -0
- data/ext/v8/upstream/{2.0.6 → 2.1.10}/src/x64/codegen-x64.cc +4520 -1317
- data/ext/v8/upstream/{2.0.6/src/ia32/codegen-ia32.h → 2.1.10/src/x64/codegen-x64.h} +362 -141
- data/ext/v8/upstream/{2.0.6 → 2.1.10}/src/x64/cpu-x64.cc +0 -0
- data/ext/v8/upstream/{2.0.6 → 2.1.10}/src/x64/debug-x64.cc +20 -4
- data/ext/v8/upstream/{2.0.6 → 2.1.10}/src/x64/disasm-x64.cc +121 -44
- data/ext/v8/upstream/2.1.10/src/x64/fast-codegen-x64.cc +246 -0
- data/ext/v8/upstream/{2.0.6 → 2.1.10}/src/x64/frames-x64.cc +0 -0
- data/ext/v8/upstream/{2.0.6 → 2.1.10}/src/x64/frames-x64.h +0 -0
- data/ext/v8/upstream/{2.0.6/src/x64/fast-codegen-x64.cc → 2.1.10/src/x64/full-codegen-x64.cc} +404 -231
- data/ext/v8/upstream/{2.0.6 → 2.1.10}/src/x64/ic-x64.cc +346 -117
- data/ext/v8/upstream/{2.0.6 → 2.1.10}/src/x64/jump-target-x64.cc +1 -0
- data/ext/v8/upstream/{2.0.6 → 2.1.10}/src/x64/macro-assembler-x64.cc +537 -181
- data/ext/v8/upstream/{2.0.6 → 2.1.10}/src/x64/macro-assembler-x64.h +140 -34
- data/ext/v8/upstream/{2.0.6 → 2.1.10}/src/x64/regexp-macro-assembler-x64.cc +74 -96
- data/ext/v8/upstream/{2.0.6 → 2.1.10}/src/x64/regexp-macro-assembler-x64.h +8 -25
- data/ext/v8/upstream/{2.0.6 → 2.1.10}/src/x64/register-allocator-x64-inl.h +1 -1
- data/ext/v8/upstream/{2.0.6 → 2.1.10}/src/x64/register-allocator-x64.cc +3 -0
- data/ext/v8/upstream/{2.0.6 → 2.1.10}/src/x64/register-allocator-x64.h +0 -0
- data/ext/v8/upstream/{2.0.6 → 2.1.10}/src/x64/simulator-x64.cc +0 -0
- data/ext/v8/upstream/{2.0.6 → 2.1.10}/src/x64/simulator-x64.h +2 -2
- data/ext/v8/upstream/{2.0.6 → 2.1.10}/src/x64/stub-cache-x64.cc +785 -288
- data/ext/v8/upstream/{2.0.6 → 2.1.10}/src/x64/virtual-frame-x64.cc +128 -52
- data/ext/v8/upstream/{2.0.6 → 2.1.10}/src/x64/virtual-frame-x64.h +40 -19
- data/ext/v8/upstream/2.1.10/src/zone-inl.h +82 -0
- data/ext/v8/upstream/{2.0.6 → 2.1.10}/src/zone.cc +1 -0
- data/ext/v8/upstream/{2.0.6 → 2.1.10}/src/zone.h +6 -90
- data/ext/v8/upstream/{2.0.6 → 2.1.10}/tools/codemap.js +12 -0
- data/ext/v8/upstream/{2.0.6 → 2.1.10}/tools/consarray.js +0 -0
- data/ext/v8/upstream/{2.0.6 → 2.1.10}/tools/csvparser.js +22 -37
- data/ext/v8/upstream/2.1.10/tools/generate-ten-powers.scm +286 -0
- data/ext/v8/upstream/{2.0.6 → 2.1.10}/tools/gyp/v8.gyp +86 -24
- data/ext/v8/upstream/{2.0.6 → 2.1.10}/tools/js2c.py +22 -22
- data/ext/v8/upstream/{2.0.6 → 2.1.10}/tools/jsmin.py +0 -0
- data/ext/v8/upstream/{2.0.6 → 2.1.10}/tools/linux-tick-processor +10 -1
- data/ext/v8/upstream/{2.0.6 → 2.1.10}/tools/linux-tick-processor.py +0 -0
- data/ext/v8/upstream/{2.0.6 → 2.1.10}/tools/logreader.js +34 -16
- data/ext/v8/upstream/{2.0.6 → 2.1.10}/tools/mac-nm +0 -0
- data/ext/v8/upstream/{2.0.6 → 2.1.10}/tools/mac-tick-processor +0 -0
- data/ext/v8/upstream/{2.0.6 → 2.1.10}/tools/oprofile/annotate +0 -0
- data/ext/v8/upstream/{2.0.6 → 2.1.10}/tools/oprofile/common +0 -0
- data/ext/v8/upstream/{2.0.6 → 2.1.10}/tools/oprofile/dump +0 -0
- data/ext/v8/upstream/{2.0.6 → 2.1.10}/tools/oprofile/report +0 -0
- data/ext/v8/upstream/{2.0.6 → 2.1.10}/tools/oprofile/reset +0 -0
- data/ext/v8/upstream/{2.0.6 → 2.1.10}/tools/oprofile/run +0 -0
- data/ext/v8/upstream/{2.0.6 → 2.1.10}/tools/oprofile/shutdown +0 -0
- data/ext/v8/upstream/{2.0.6 → 2.1.10}/tools/oprofile/start +0 -0
- data/ext/v8/upstream/{2.0.6 → 2.1.10}/tools/presubmit.py +0 -0
- data/ext/v8/upstream/{2.0.6 → 2.1.10}/tools/process-heap-prof.py +0 -0
- data/ext/v8/upstream/{2.0.6 → 2.1.10}/tools/profile.js +70 -0
- data/ext/v8/upstream/{2.0.6 → 2.1.10}/tools/profile_view.js +0 -0
- data/ext/v8/upstream/{2.0.6 → 2.1.10}/tools/run-valgrind.py +0 -0
- data/ext/v8/upstream/{2.0.6 → 2.1.10}/tools/splaytree.js +0 -0
- data/ext/v8/upstream/{2.0.6 → 2.1.10}/tools/splaytree.py +0 -0
- data/ext/v8/upstream/{2.0.6 → 2.1.10}/tools/stats-viewer.py +0 -0
- data/ext/v8/upstream/{2.0.6 → 2.1.10}/tools/test.py +7 -7
- data/ext/v8/upstream/{2.0.6 → 2.1.10}/tools/tickprocessor-driver.js +7 -1
- data/ext/v8/upstream/{2.0.6 → 2.1.10}/tools/tickprocessor.js +140 -9
- data/ext/v8/upstream/{2.0.6 → 2.1.10}/tools/tickprocessor.py +40 -4
- data/ext/v8/upstream/{2.0.6 → 2.1.10}/tools/utils.py +6 -0
- data/ext/v8/upstream/{2.0.6 → 2.1.10}/tools/visual_studio/README.txt +0 -0
- data/ext/v8/upstream/{2.0.6 → 2.1.10}/tools/visual_studio/arm.vsprops +1 -1
- data/ext/v8/upstream/{2.0.6 → 2.1.10}/tools/visual_studio/common.vsprops +1 -2
- data/ext/v8/upstream/{2.0.6 → 2.1.10}/tools/visual_studio/d8.vcproj +0 -6
- data/ext/v8/upstream/{2.0.6 → 2.1.10}/tools/visual_studio/d8_arm.vcproj +193 -199
- data/ext/v8/upstream/{2.0.6 → 2.1.10}/tools/visual_studio/d8_x64.vcproj +16 -8
- data/ext/v8/upstream/{2.0.6 → 2.1.10}/tools/visual_studio/d8js2c.cmd +0 -0
- data/ext/v8/upstream/{2.0.6 → 2.1.10}/tools/visual_studio/debug.vsprops +0 -0
- data/ext/v8/upstream/{2.0.6 → 2.1.10}/tools/visual_studio/ia32.vsprops +5 -1
- data/ext/v8/upstream/{2.0.6 → 2.1.10}/tools/visual_studio/js2c.cmd +1 -1
- data/ext/v8/upstream/{2.0.6 → 2.1.10}/tools/visual_studio/release.vsprops +0 -0
- data/ext/v8/upstream/{2.0.6 → 2.1.10}/tools/visual_studio/v8.sln +0 -0
- data/ext/v8/upstream/{2.0.6 → 2.1.10}/tools/visual_studio/v8.vcproj +11 -7
- data/ext/v8/upstream/{2.0.6 → 2.1.10}/tools/visual_studio/v8_arm.sln +0 -0
- data/ext/v8/upstream/{2.0.6 → 2.1.10}/tools/visual_studio/v8_arm.vcproj +227 -223
- data/ext/v8/upstream/{2.0.6 → 2.1.10}/tools/visual_studio/v8_base.vcproj +137 -5
- data/ext/v8/upstream/{2.0.6 → 2.1.10}/tools/visual_studio/v8_base_arm.vcproj +116 -4
- data/ext/v8/upstream/{2.0.6 → 2.1.10}/tools/visual_studio/v8_base_x64.vcproj +125 -4
- data/ext/v8/upstream/{2.0.6 → 2.1.10}/tools/visual_studio/v8_cctest.vcproj +12 -6
- data/ext/v8/upstream/{2.0.6 → 2.1.10}/tools/visual_studio/v8_cctest_arm.vcproj +12 -6
- data/ext/v8/upstream/{2.0.6 → 2.1.10}/tools/visual_studio/v8_cctest_x64.vcproj +11 -11
- data/ext/v8/upstream/{2.0.6 → 2.1.10}/tools/visual_studio/v8_mksnapshot.vcproj +0 -6
- data/ext/v8/upstream/{2.0.6 → 2.1.10}/tools/visual_studio/v8_mksnapshot_x64.vcproj +0 -6
- data/ext/v8/upstream/{2.0.6 → 2.1.10}/tools/visual_studio/v8_process_sample.vcproj +0 -6
- data/ext/v8/upstream/{2.0.6 → 2.1.10}/tools/visual_studio/v8_process_sample_arm.vcproj +145 -151
- data/ext/v8/upstream/{2.0.6 → 2.1.10}/tools/visual_studio/v8_process_sample_x64.vcproj +16 -6
- data/ext/v8/upstream/{2.0.6 → 2.1.10}/tools/visual_studio/v8_shell_sample.vcproj +0 -6
- data/ext/v8/upstream/{2.0.6 → 2.1.10}/tools/visual_studio/v8_shell_sample_arm.vcproj +145 -151
- data/ext/v8/upstream/{2.0.6 → 2.1.10}/tools/visual_studio/v8_shell_sample_x64.vcproj +16 -8
- data/ext/v8/upstream/{2.0.6 → 2.1.10}/tools/visual_studio/v8_snapshot.vcproj +0 -0
- data/ext/v8/upstream/{2.0.6 → 2.1.10}/tools/visual_studio/v8_snapshot_cc.vcproj +0 -0
- data/ext/v8/upstream/{2.0.6 → 2.1.10}/tools/visual_studio/v8_snapshot_cc_x64.vcproj +0 -0
- data/ext/v8/upstream/{2.0.6 → 2.1.10}/tools/visual_studio/v8_snapshot_x64.vcproj +0 -0
- data/ext/v8/upstream/{2.0.6 → 2.1.10}/tools/visual_studio/v8_x64.sln +0 -0
- data/ext/v8/upstream/{2.0.6 → 2.1.10}/tools/visual_studio/v8_x64.vcproj +11 -7
- data/ext/v8/upstream/{2.0.6 → 2.1.10}/tools/visual_studio/x64.vsprops +5 -1
- data/ext/v8/upstream/2.1.10/tools/windows-tick-processor.bat +29 -0
- data/ext/v8/upstream/{2.0.6 → 2.1.10}/tools/windows-tick-processor.py +0 -0
- data/ext/v8/upstream/Makefile +8 -2
- data/ext/v8/v8.cpp +21 -73
- data/ext/v8/v8_array.cpp +56 -0
- data/ext/v8/v8_array.h +8 -0
- data/ext/v8/v8_callbacks.cpp +121 -0
- data/ext/v8/v8_callbacks.h +8 -0
- data/ext/v8/v8_cxt.cpp +74 -77
- data/ext/v8/v8_cxt.h +2 -9
- data/ext/v8/v8_date.cpp +26 -0
- data/ext/v8/v8_date.h +6 -0
- data/ext/v8/v8_exception.cpp +55 -0
- data/ext/v8/v8_exception.h +6 -0
- data/ext/v8/v8_external.cpp +50 -0
- data/ext/v8/v8_external.h +8 -0
- data/ext/v8/v8_func.cpp +76 -18
- data/ext/v8/v8_func.h +5 -4
- data/ext/v8/v8_msg.cpp +55 -46
- data/ext/v8/v8_msg.h +3 -11
- data/ext/v8/v8_obj.cpp +67 -36
- data/ext/v8/v8_obj.h +6 -8
- data/ext/v8/v8_ref.cpp +25 -9
- data/ext/v8/v8_ref.h +3 -5
- data/ext/v8/v8_script.cpp +17 -10
- data/ext/v8/v8_script.h +3 -3
- data/ext/v8/v8_str.cpp +34 -6
- data/ext/v8/v8_str.h +4 -2
- data/ext/v8/v8_template.cpp +195 -33
- data/ext/v8/v8_template.h +4 -5
- data/ext/v8/v8_try_catch.cpp +99 -0
- data/ext/v8/v8_try_catch.h +5 -0
- data/ext/v8/v8_value.cpp +164 -0
- data/ext/v8/v8_value.h +10 -0
- data/lib/v8.rb +3 -1
- data/lib/v8/access.rb +60 -0
- data/lib/v8/array.rb +15 -0
- data/lib/v8/callbacks.rb +88 -0
- data/lib/v8/cli.rb +1 -1
- data/lib/v8/context.rb +55 -66
- data/lib/v8/function.rb +20 -2
- data/lib/v8/object.rb +14 -12
- data/lib/v8/ruby_error.rb +3 -0
- data/lib/v8/to.rb +59 -7
- data/spec/ext/cxt_spec.rb +2 -15
- data/spec/ext/func_spec.rb +17 -10
- data/spec/ext/try_catch_spec.rb +32 -0
- data/spec/foo.rb +17 -0
- data/spec/redjs/jsapi_spec.rb +173 -96
- data/spec/spec_helper.rb +7 -0
- data/spec/v8/to_spec.rb +0 -1
- data/therubyracer.gemspec +6 -6
- metadata +493 -386
- data/ext/v8/upstream/2.0.6/src/arm/ic-arm.cc +0 -849
- data/ext/v8/upstream/2.0.6/src/arm/virtual-frame-arm.cc +0 -412
- data/ext/v8/upstream/2.0.6/src/ast.cc +0 -512
- data/ext/v8/upstream/2.0.6/src/builtins.cc +0 -851
- data/ext/v8/upstream/2.0.6/src/compiler.cc +0 -1132
- data/ext/v8/upstream/2.0.6/src/compiler.h +0 -107
- data/ext/v8/upstream/2.0.6/src/conversions.cc +0 -709
- data/ext/v8/upstream/2.0.6/src/usage-analyzer.cc +0 -426
- data/ext/v8/upstream/2.0.6/tools/windows-tick-processor.bat +0 -5
- data/ext/v8/upstream/no-strict-aliasing.patch +0 -13
- data/ext/v8/v8_standalone.cpp +0 -69
- data/ext/v8/v8_standalone.h +0 -31
- data/spec/ext/obj_spec.rb +0 -13
@@ -25,13 +25,6 @@
|
|
25
25
|
// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
|
26
26
|
// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
27
27
|
|
28
|
-
// Touch the RegExp and Date functions to make sure that date-delay.js and
|
29
|
-
// regexp-delay.js has been loaded. This is required as the mirrors use
|
30
|
-
// functions within these files through the builtins object.
|
31
|
-
RegExp;
|
32
|
-
Date;
|
33
|
-
|
34
|
-
|
35
28
|
// Handle id counters.
|
36
29
|
var next_handle_ = 0;
|
37
30
|
var next_transient_handle_ = -1;
|
@@ -74,7 +67,7 @@ function MakeMirror(value, opt_transient) {
|
|
74
67
|
}
|
75
68
|
}
|
76
69
|
}
|
77
|
-
|
70
|
+
|
78
71
|
if (IS_UNDEFINED(value)) {
|
79
72
|
mirror = new UndefinedMirror();
|
80
73
|
} else if (IS_NULL(value)) {
|
@@ -117,7 +110,7 @@ function LookupMirror(handle) {
|
|
117
110
|
return mirror_cache_[handle];
|
118
111
|
}
|
119
112
|
|
120
|
-
|
113
|
+
|
121
114
|
/**
|
122
115
|
* Returns the mirror for the undefined value.
|
123
116
|
*
|
@@ -553,14 +546,16 @@ StringMirror.prototype.length = function() {
|
|
553
546
|
return this.value_.length;
|
554
547
|
};
|
555
548
|
|
556
|
-
|
557
|
-
|
558
|
-
|
559
|
-
return this.value_.substring(0, kMaxProtocolStringLength) +
|
549
|
+
StringMirror.prototype.getTruncatedValue = function(maxLength) {
|
550
|
+
if (maxLength != -1 && this.length() > maxLength) {
|
551
|
+
return this.value_.substring(0, maxLength) +
|
560
552
|
'... (length: ' + this.length() + ')';
|
561
|
-
} else {
|
562
|
-
return this.value_;
|
563
553
|
}
|
554
|
+
return this.value_;
|
555
|
+
}
|
556
|
+
|
557
|
+
StringMirror.prototype.toText = function() {
|
558
|
+
return this.getTruncatedValue(kMaxProtocolStringLength);
|
564
559
|
}
|
565
560
|
|
566
561
|
|
@@ -600,14 +595,14 @@ ObjectMirror.prototype.protoObject = function() {
|
|
600
595
|
|
601
596
|
ObjectMirror.prototype.hasNamedInterceptor = function() {
|
602
597
|
// Get information on interceptors for this object.
|
603
|
-
var x = %
|
598
|
+
var x = %GetInterceptorInfo(this.value_);
|
604
599
|
return (x & 2) != 0;
|
605
600
|
};
|
606
601
|
|
607
602
|
|
608
603
|
ObjectMirror.prototype.hasIndexedInterceptor = function() {
|
609
604
|
// Get information on interceptors for this object.
|
610
|
-
var x = %
|
605
|
+
var x = %GetInterceptorInfo(this.value_);
|
611
606
|
return (x & 1) != 0;
|
612
607
|
};
|
613
608
|
|
@@ -627,17 +622,17 @@ ObjectMirror.prototype.propertyNames = function(kind, limit) {
|
|
627
622
|
var propertyNames;
|
628
623
|
var elementNames;
|
629
624
|
var total = 0;
|
630
|
-
|
625
|
+
|
631
626
|
// Find all the named properties.
|
632
627
|
if (kind & PropertyKind.Named) {
|
633
628
|
// Get the local property names.
|
634
|
-
propertyNames = %
|
629
|
+
propertyNames = %GetLocalPropertyNames(this.value_);
|
635
630
|
total += propertyNames.length;
|
636
631
|
|
637
632
|
// Get names for named interceptor properties if any.
|
638
633
|
if (this.hasNamedInterceptor() && (kind & PropertyKind.Named)) {
|
639
634
|
var namedInterceptorNames =
|
640
|
-
%
|
635
|
+
%GetNamedInterceptorPropertyNames(this.value_);
|
641
636
|
if (namedInterceptorNames) {
|
642
637
|
propertyNames = propertyNames.concat(namedInterceptorNames);
|
643
638
|
total += namedInterceptorNames.length;
|
@@ -648,13 +643,13 @@ ObjectMirror.prototype.propertyNames = function(kind, limit) {
|
|
648
643
|
// Find all the indexed properties.
|
649
644
|
if (kind & PropertyKind.Indexed) {
|
650
645
|
// Get the local element names.
|
651
|
-
elementNames = %
|
646
|
+
elementNames = %GetLocalElementNames(this.value_);
|
652
647
|
total += elementNames.length;
|
653
648
|
|
654
649
|
// Get names for indexed interceptor properties.
|
655
650
|
if (this.hasIndexedInterceptor() && (kind & PropertyKind.Indexed)) {
|
656
651
|
var indexedInterceptorNames =
|
657
|
-
%
|
652
|
+
%GetIndexedInterceptorElementNames(this.value_);
|
658
653
|
if (indexedInterceptorNames) {
|
659
654
|
elementNames = elementNames.concat(indexedInterceptorNames);
|
660
655
|
total += indexedInterceptorNames.length;
|
@@ -1228,7 +1223,7 @@ PropertyMirror.prototype.setter = function() {
|
|
1228
1223
|
/**
|
1229
1224
|
* Returns whether this property is natively implemented by the host or a set
|
1230
1225
|
* through JavaScript code.
|
1231
|
-
* @return {boolean} True if the property is
|
1226
|
+
* @return {boolean} True if the property is
|
1232
1227
|
* UndefinedMirror if there is no setter for this property
|
1233
1228
|
*/
|
1234
1229
|
PropertyMirror.prototype.isNative = function() {
|
@@ -1395,7 +1390,7 @@ FrameMirror.prototype.index = function() {
|
|
1395
1390
|
FrameMirror.prototype.func = function() {
|
1396
1391
|
// Get the function for this frame from the VM.
|
1397
1392
|
var f = this.details_.func();
|
1398
|
-
|
1393
|
+
|
1399
1394
|
// Create a function mirror. NOTE: MakeMirror cannot be used here as the
|
1400
1395
|
// value returned from the VM might be a string if the function for the
|
1401
1396
|
// frame is unresolved.
|
@@ -1733,7 +1728,7 @@ ScriptMirror.prototype.value = function() {
|
|
1733
1728
|
|
1734
1729
|
|
1735
1730
|
ScriptMirror.prototype.name = function() {
|
1736
|
-
return this.script_.name;
|
1731
|
+
return this.script_.name || this.script_.nameOrSourceURL();
|
1737
1732
|
};
|
1738
1733
|
|
1739
1734
|
|
@@ -1909,10 +1904,10 @@ JSONProtocolSerializer.prototype.serializeValue = function(mirror) {
|
|
1909
1904
|
JSONProtocolSerializer.prototype.serializeReferencedObjects = function() {
|
1910
1905
|
// Collect the protocol representation of the referenced objects in an array.
|
1911
1906
|
var content = [];
|
1912
|
-
|
1907
|
+
|
1913
1908
|
// Get the number of referenced objects.
|
1914
1909
|
var count = this.mirrors_.length;
|
1915
|
-
|
1910
|
+
|
1916
1911
|
for (var i = 0; i < count; i++) {
|
1917
1912
|
content.push(this.serialize_(this.mirrors_[i], false, false));
|
1918
1913
|
}
|
@@ -1931,6 +1926,15 @@ JSONProtocolSerializer.prototype.inlineRefs_ = function() {
|
|
1931
1926
|
}
|
1932
1927
|
|
1933
1928
|
|
1929
|
+
JSONProtocolSerializer.prototype.maxStringLength_ = function() {
|
1930
|
+
if (IS_UNDEFINED(this.options_) ||
|
1931
|
+
IS_UNDEFINED(this.options_.maxStringLength)) {
|
1932
|
+
return kMaxProtocolStringLength;
|
1933
|
+
}
|
1934
|
+
return this.options_.maxStringLength;
|
1935
|
+
}
|
1936
|
+
|
1937
|
+
|
1934
1938
|
JSONProtocolSerializer.prototype.add_ = function(mirror) {
|
1935
1939
|
// If this mirror is already in the list just return.
|
1936
1940
|
for (var i = 0; i < this.mirrors_.length; i++) {
|
@@ -1938,7 +1942,7 @@ JSONProtocolSerializer.prototype.add_ = function(mirror) {
|
|
1938
1942
|
return;
|
1939
1943
|
}
|
1940
1944
|
}
|
1941
|
-
|
1945
|
+
|
1942
1946
|
// Add the mirror to the list of mirrors to be serialized.
|
1943
1947
|
this.mirrors_.push(mirror);
|
1944
1948
|
}
|
@@ -1950,7 +1954,7 @@ JSONProtocolSerializer.prototype.add_ = function(mirror) {
|
|
1950
1954
|
* @param {Mirror} mirror Mirror to serialize.
|
1951
1955
|
* @return {Object} Protocol reference object.
|
1952
1956
|
*/
|
1953
|
-
JSONProtocolSerializer.prototype.serializeReferenceWithDisplayData_ =
|
1957
|
+
JSONProtocolSerializer.prototype.serializeReferenceWithDisplayData_ =
|
1954
1958
|
function(mirror) {
|
1955
1959
|
var o = {};
|
1956
1960
|
o.ref = mirror.handle();
|
@@ -1963,8 +1967,7 @@ JSONProtocolSerializer.prototype.serializeReferenceWithDisplayData_ =
|
|
1963
1967
|
o.value = mirror.value();
|
1964
1968
|
break;
|
1965
1969
|
case STRING_TYPE:
|
1966
|
-
|
1967
|
-
o.value = mirror.toText();
|
1970
|
+
o.value = mirror.getTruncatedValue(this.maxStringLength_());
|
1968
1971
|
break;
|
1969
1972
|
case FUNCTION_TYPE:
|
1970
1973
|
o.name = mirror.name();
|
@@ -1998,7 +2001,7 @@ JSONProtocolSerializer.prototype.serialize_ = function(mirror, reference,
|
|
1998
2001
|
return {'ref' : mirror.handle()};
|
1999
2002
|
}
|
2000
2003
|
}
|
2001
|
-
|
2004
|
+
|
2002
2005
|
// Collect the JSON property/value pairs.
|
2003
2006
|
var content = {};
|
2004
2007
|
|
@@ -2028,11 +2031,12 @@ JSONProtocolSerializer.prototype.serialize_ = function(mirror, reference,
|
|
2028
2031
|
|
2029
2032
|
case STRING_TYPE:
|
2030
2033
|
// String values might have their value cropped to keep down size.
|
2031
|
-
if (
|
2032
|
-
|
2034
|
+
if (this.maxStringLength_() != -1 &&
|
2035
|
+
mirror.length() > this.maxStringLength_()) {
|
2036
|
+
var str = mirror.getTruncatedValue(this.maxStringLength_());
|
2033
2037
|
content.value = str;
|
2034
2038
|
content.fromIndex = 0;
|
2035
|
-
content.toIndex =
|
2039
|
+
content.toIndex = this.maxStringLength_();
|
2036
2040
|
} else {
|
2037
2041
|
content.value = mirror.value();
|
2038
2042
|
}
|
@@ -2089,8 +2093,10 @@ JSONProtocolSerializer.prototype.serialize_ = function(mirror, reference,
|
|
2089
2093
|
content.evalFromScript =
|
2090
2094
|
this.serializeReference(mirror.evalFromScript());
|
2091
2095
|
var evalFromLocation = mirror.evalFromLocation()
|
2092
|
-
|
2093
|
-
|
2096
|
+
if (evalFromLocation) {
|
2097
|
+
content.evalFromLocation = { line: evalFromLocation.line,
|
2098
|
+
column: evalFromLocation.column };
|
2099
|
+
}
|
2094
2100
|
if (mirror.evalFromFunctionName()) {
|
2095
2101
|
content.evalFromFunctionName = mirror.evalFromFunctionName();
|
2096
2102
|
}
|
@@ -2107,7 +2113,7 @@ JSONProtocolSerializer.prototype.serialize_ = function(mirror, reference,
|
|
2107
2113
|
|
2108
2114
|
// Always add the text representation.
|
2109
2115
|
content.text = mirror.toText();
|
2110
|
-
|
2116
|
+
|
2111
2117
|
// Create and return the JSON string.
|
2112
2118
|
return content;
|
2113
2119
|
}
|
@@ -2140,7 +2146,7 @@ JSONProtocolSerializer.prototype.serializeObject_ = function(mirror, content,
|
|
2140
2146
|
if (mirror.hasIndexedInterceptor()) {
|
2141
2147
|
content.indexedInterceptor = true;
|
2142
2148
|
}
|
2143
|
-
|
2149
|
+
|
2144
2150
|
// Add function specific properties.
|
2145
2151
|
if (mirror.isFunction()) {
|
2146
2152
|
// Add function specific properties.
|
@@ -2155,7 +2161,7 @@ JSONProtocolSerializer.prototype.serializeObject_ = function(mirror, content,
|
|
2155
2161
|
if (mirror.script()) {
|
2156
2162
|
content.script = this.serializeReference(mirror.script());
|
2157
2163
|
content.scriptId = mirror.script().id();
|
2158
|
-
|
2164
|
+
|
2159
2165
|
serializeLocationFields(mirror.sourceLocation(), content);
|
2160
2166
|
}
|
2161
2167
|
}
|
@@ -2194,13 +2200,13 @@ JSONProtocolSerializer.prototype.serializeObject_ = function(mirror, content,
|
|
2194
2200
|
* "position":"<position>",
|
2195
2201
|
* "line":"<line>",
|
2196
2202
|
* "column":"<column>",
|
2197
|
-
*
|
2203
|
+
*
|
2198
2204
|
* @param {SourceLocation} location The location to serialize, may be undefined.
|
2199
2205
|
*/
|
2200
2206
|
function serializeLocationFields (location, content) {
|
2201
2207
|
if (!location) {
|
2202
2208
|
return;
|
2203
|
-
}
|
2209
|
+
}
|
2204
2210
|
content.position = location.position;
|
2205
2211
|
var line = location.line;
|
2206
2212
|
if (!IS_UNDEFINED(line)) {
|
@@ -2234,7 +2240,7 @@ function serializeLocationFields (location, content) {
|
|
2234
2240
|
*/
|
2235
2241
|
JSONProtocolSerializer.prototype.serializeProperty_ = function(propertyMirror) {
|
2236
2242
|
var result = {};
|
2237
|
-
|
2243
|
+
|
2238
2244
|
result.name = propertyMirror.name();
|
2239
2245
|
var propertyValue = propertyMirror.value();
|
2240
2246
|
if (this.inlineRefs_() && propertyValue.isValue()) {
|
@@ -2286,7 +2292,7 @@ JSONProtocolSerializer.prototype.serializeFrame_ = function(mirror, content) {
|
|
2286
2292
|
if (!IS_UNDEFINED(source_line_text)) {
|
2287
2293
|
content.sourceLineText = source_line_text;
|
2288
2294
|
}
|
2289
|
-
|
2295
|
+
|
2290
2296
|
content.scopes = [];
|
2291
2297
|
for (var i = 0; i < mirror.scopeCount(); i++) {
|
2292
2298
|
var scope = mirror.scope(i);
|
@@ -2328,5 +2334,5 @@ function NumberToJSON_(value) {
|
|
2328
2334
|
return '-Infinity';
|
2329
2335
|
}
|
2330
2336
|
}
|
2331
|
-
return value;
|
2337
|
+
return value;
|
2332
2338
|
}
|
@@ -35,6 +35,7 @@
|
|
35
35
|
#include "natives.h"
|
36
36
|
#include "platform.h"
|
37
37
|
#include "serialize.h"
|
38
|
+
#include "list.h"
|
38
39
|
|
39
40
|
// use explicit namespace to avoid clashing with types in namespace v8
|
40
41
|
namespace i = v8::internal;
|
@@ -96,7 +97,9 @@ static CounterMap counter_table_;
|
|
96
97
|
|
97
98
|
class CppByteSink : public i::SnapshotByteSink {
|
98
99
|
public:
|
99
|
-
explicit CppByteSink(const char* snapshot_file)
|
100
|
+
explicit CppByteSink(const char* snapshot_file)
|
101
|
+
: bytes_written_(0),
|
102
|
+
partial_sink_(this) {
|
100
103
|
fp_ = i::OS::FOpen(snapshot_file, "wb");
|
101
104
|
if (fp_ == NULL) {
|
102
105
|
i::PrintF("Unable to write to snapshot file \"%s\"\n", snapshot_file);
|
@@ -111,11 +114,53 @@ class CppByteSink : public i::SnapshotByteSink {
|
|
111
114
|
}
|
112
115
|
|
113
116
|
virtual ~CppByteSink() {
|
114
|
-
|
115
|
-
|
116
|
-
|
117
|
-
|
118
|
-
|
117
|
+
fprintf(fp_, "const int Snapshot::size_ = %d;\n\n", bytes_written_);
|
118
|
+
fprintf(fp_, "} } // namespace v8::internal\n");
|
119
|
+
fclose(fp_);
|
120
|
+
}
|
121
|
+
|
122
|
+
void WriteSpaceUsed(
|
123
|
+
int new_space_used,
|
124
|
+
int pointer_space_used,
|
125
|
+
int data_space_used,
|
126
|
+
int code_space_used,
|
127
|
+
int map_space_used,
|
128
|
+
int cell_space_used,
|
129
|
+
int large_space_used) {
|
130
|
+
fprintf(fp_, "};\n\n");
|
131
|
+
fprintf(fp_, "const int Snapshot::new_space_used_ = %d;\n", new_space_used);
|
132
|
+
fprintf(fp_,
|
133
|
+
"const int Snapshot::pointer_space_used_ = %d;\n",
|
134
|
+
pointer_space_used);
|
135
|
+
fprintf(fp_,
|
136
|
+
"const int Snapshot::data_space_used_ = %d;\n",
|
137
|
+
data_space_used);
|
138
|
+
fprintf(fp_,
|
139
|
+
"const int Snapshot::code_space_used_ = %d;\n",
|
140
|
+
code_space_used);
|
141
|
+
fprintf(fp_, "const int Snapshot::map_space_used_ = %d;\n", map_space_used);
|
142
|
+
fprintf(fp_,
|
143
|
+
"const int Snapshot::cell_space_used_ = %d;\n",
|
144
|
+
cell_space_used);
|
145
|
+
fprintf(fp_,
|
146
|
+
"const int Snapshot::large_space_used_ = %d;\n",
|
147
|
+
large_space_used);
|
148
|
+
}
|
149
|
+
|
150
|
+
void WritePartialSnapshot() {
|
151
|
+
int length = partial_sink_.Position();
|
152
|
+
fprintf(fp_, "};\n\n");
|
153
|
+
fprintf(fp_, "const int Snapshot::context_size_ = %d;\n", length);
|
154
|
+
fprintf(fp_, "const byte Snapshot::context_data_[] = {\n");
|
155
|
+
for (int j = 0; j < length; j++) {
|
156
|
+
if ((j & 0x1f) == 0x1f) {
|
157
|
+
fprintf(fp_, "\n");
|
158
|
+
}
|
159
|
+
char byte = partial_sink_.at(j);
|
160
|
+
if (j != 0) {
|
161
|
+
fprintf(fp_, ",");
|
162
|
+
}
|
163
|
+
fprintf(fp_, "%d", byte);
|
119
164
|
}
|
120
165
|
}
|
121
166
|
|
@@ -125,14 +170,37 @@ class CppByteSink : public i::SnapshotByteSink {
|
|
125
170
|
}
|
126
171
|
fprintf(fp_, "%d", byte);
|
127
172
|
bytes_written_++;
|
128
|
-
if ((bytes_written_ &
|
173
|
+
if ((bytes_written_ & 0x1f) == 0) {
|
129
174
|
fprintf(fp_, "\n");
|
130
175
|
}
|
131
176
|
}
|
132
177
|
|
178
|
+
virtual int Position() {
|
179
|
+
return bytes_written_;
|
180
|
+
}
|
181
|
+
|
182
|
+
i::SnapshotByteSink* partial_sink() { return &partial_sink_; }
|
183
|
+
|
184
|
+
class PartialSnapshotSink : public i::SnapshotByteSink {
|
185
|
+
public:
|
186
|
+
explicit PartialSnapshotSink(CppByteSink* parent)
|
187
|
+
: parent_(parent),
|
188
|
+
data_() { }
|
189
|
+
virtual ~PartialSnapshotSink() { data_.Free(); }
|
190
|
+
virtual void Put(int byte, const char* description) {
|
191
|
+
data_.Add(byte);
|
192
|
+
}
|
193
|
+
virtual int Position() { return data_.length(); }
|
194
|
+
char at(int i) { return data_[i]; }
|
195
|
+
private:
|
196
|
+
CppByteSink* parent_;
|
197
|
+
i::List<char> data_;
|
198
|
+
};
|
199
|
+
|
133
200
|
private:
|
134
201
|
FILE* fp_;
|
135
202
|
int bytes_written_;
|
203
|
+
PartialSnapshotSink partial_sink_;
|
136
204
|
};
|
137
205
|
|
138
206
|
|
@@ -158,12 +226,31 @@ int main(int argc, char** argv) {
|
|
158
226
|
i::Bootstrapper::NativesSourceLookup(i);
|
159
227
|
}
|
160
228
|
}
|
229
|
+
// If we don't do this then we end up with a stray root pointing at the
|
230
|
+
// context even after we have disposed of the context.
|
231
|
+
i::Heap::CollectAllGarbage(true);
|
232
|
+
i::Object* raw_context = *(v8::Utils::OpenHandle(*context));
|
161
233
|
context.Dispose();
|
162
234
|
CppByteSink sink(argv[1]);
|
163
|
-
i::Serializer ser(&sink);
|
164
235
|
// This results in a somewhat smaller snapshot, probably because it gets rid
|
165
236
|
// of some things that are cached between garbage collections.
|
166
|
-
i::
|
167
|
-
ser.
|
237
|
+
i::StartupSerializer ser(&sink);
|
238
|
+
ser.SerializeStrongReferences();
|
239
|
+
|
240
|
+
i::PartialSerializer partial_ser(&ser, sink.partial_sink());
|
241
|
+
partial_ser.Serialize(&raw_context);
|
242
|
+
|
243
|
+
ser.SerializeWeakReferences();
|
244
|
+
|
245
|
+
sink.WritePartialSnapshot();
|
246
|
+
|
247
|
+
sink.WriteSpaceUsed(
|
248
|
+
partial_ser.CurrentAllocationAddress(i::NEW_SPACE),
|
249
|
+
partial_ser.CurrentAllocationAddress(i::OLD_POINTER_SPACE),
|
250
|
+
partial_ser.CurrentAllocationAddress(i::OLD_DATA_SPACE),
|
251
|
+
partial_ser.CurrentAllocationAddress(i::CODE_SPACE),
|
252
|
+
partial_ser.CurrentAllocationAddress(i::MAP_SPACE),
|
253
|
+
partial_ser.CurrentAllocationAddress(i::CELL_SPACE),
|
254
|
+
partial_ser.CurrentAllocationAddress(i::LO_SPACE));
|
168
255
|
return 0;
|
169
256
|
}
|
@@ -44,13 +44,13 @@ class NativesCollection {
|
|
44
44
|
public:
|
45
45
|
// Number of built-in scripts.
|
46
46
|
static int GetBuiltinsCount();
|
47
|
-
// Number of
|
48
|
-
static int
|
47
|
+
// Number of debugger implementation scripts.
|
48
|
+
static int GetDebuggerCount();
|
49
49
|
|
50
|
-
// These are used to access built-in scripts.
|
51
|
-
//
|
52
|
-
//
|
53
|
-
//
|
50
|
+
// These are used to access built-in scripts. The debugger implementation
|
51
|
+
// scripts have an index in the interval [0, GetDebuggerCount()). The
|
52
|
+
// non-debugger scripts have an index in the interval [GetDebuggerCount(),
|
53
|
+
// GetNativesCount()).
|
54
54
|
static int GetIndex(const char* name);
|
55
55
|
static Vector<const char> GetScriptSource(int index);
|
56
56
|
static Vector<const char> GetScriptName(int index);
|