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
@@ -0,0 +1,277 @@
|
|
1
|
+
// Copyright 2010 the V8 project authors. All rights reserved.
|
2
|
+
// Redistribution and use in source and binary forms, with or without
|
3
|
+
// modification, are permitted provided that the following conditions are
|
4
|
+
// met:
|
5
|
+
//
|
6
|
+
// * Redistributions of source code must retain the above copyright
|
7
|
+
// notice, this list of conditions and the following disclaimer.
|
8
|
+
// * Redistributions in binary form must reproduce the above
|
9
|
+
// copyright notice, this list of conditions and the following
|
10
|
+
// disclaimer in the documentation and/or other materials provided
|
11
|
+
// with the distribution.
|
12
|
+
// * Neither the name of Google Inc. nor the names of its
|
13
|
+
// contributors may be used to endorse or promote products derived
|
14
|
+
// from this software without specific prior written permission.
|
15
|
+
//
|
16
|
+
// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
|
17
|
+
// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
|
18
|
+
// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
|
19
|
+
// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
|
20
|
+
// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
|
21
|
+
// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
|
22
|
+
// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
|
23
|
+
// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
|
24
|
+
// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
|
25
|
+
// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
|
26
|
+
// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
27
|
+
|
28
|
+
#ifndef V8_CPU_PROFILER_H_
|
29
|
+
#define V8_CPU_PROFILER_H_
|
30
|
+
|
31
|
+
#ifdef ENABLE_LOGGING_AND_PROFILING
|
32
|
+
|
33
|
+
#include "circular-queue.h"
|
34
|
+
|
35
|
+
namespace v8 {
|
36
|
+
namespace internal {
|
37
|
+
|
38
|
+
// Forward declarations.
|
39
|
+
class CodeEntry;
|
40
|
+
class CodeMap;
|
41
|
+
class CpuProfile;
|
42
|
+
class CpuProfilesCollection;
|
43
|
+
class ProfileGenerator;
|
44
|
+
|
45
|
+
|
46
|
+
#define CODE_EVENTS_TYPE_LIST(V) \
|
47
|
+
V(CODE_CREATION, CodeCreateEventRecord) \
|
48
|
+
V(CODE_MOVE, CodeMoveEventRecord) \
|
49
|
+
V(CODE_DELETE, CodeDeleteEventRecord) \
|
50
|
+
V(CODE_ALIAS, CodeAliasEventRecord)
|
51
|
+
|
52
|
+
|
53
|
+
class CodeEventRecord {
|
54
|
+
public:
|
55
|
+
#define DECLARE_TYPE(type, ignore) type,
|
56
|
+
enum Type {
|
57
|
+
NONE = 0,
|
58
|
+
CODE_EVENTS_TYPE_LIST(DECLARE_TYPE)
|
59
|
+
NUMBER_OF_TYPES
|
60
|
+
};
|
61
|
+
#undef DECLARE_TYPE
|
62
|
+
|
63
|
+
Type type;
|
64
|
+
unsigned order;
|
65
|
+
};
|
66
|
+
|
67
|
+
|
68
|
+
class CodeCreateEventRecord : public CodeEventRecord {
|
69
|
+
public:
|
70
|
+
Address start;
|
71
|
+
CodeEntry* entry;
|
72
|
+
unsigned size;
|
73
|
+
|
74
|
+
INLINE(void UpdateCodeMap(CodeMap* code_map));
|
75
|
+
};
|
76
|
+
|
77
|
+
|
78
|
+
class CodeMoveEventRecord : public CodeEventRecord {
|
79
|
+
public:
|
80
|
+
Address from;
|
81
|
+
Address to;
|
82
|
+
|
83
|
+
INLINE(void UpdateCodeMap(CodeMap* code_map));
|
84
|
+
};
|
85
|
+
|
86
|
+
|
87
|
+
class CodeDeleteEventRecord : public CodeEventRecord {
|
88
|
+
public:
|
89
|
+
Address start;
|
90
|
+
|
91
|
+
INLINE(void UpdateCodeMap(CodeMap* code_map));
|
92
|
+
};
|
93
|
+
|
94
|
+
|
95
|
+
class CodeAliasEventRecord : public CodeEventRecord {
|
96
|
+
public:
|
97
|
+
Address alias;
|
98
|
+
Address start;
|
99
|
+
|
100
|
+
INLINE(void UpdateCodeMap(CodeMap* code_map));
|
101
|
+
};
|
102
|
+
|
103
|
+
|
104
|
+
class TickSampleEventRecord BASE_EMBEDDED {
|
105
|
+
public:
|
106
|
+
// The first machine word of a TickSampleEventRecord must not ever
|
107
|
+
// become equal to SamplingCircularQueue::kClear. As both order and
|
108
|
+
// TickSample's first field are not reliable in this sense (order
|
109
|
+
// can overflow, TickSample can have all fields reset), we are
|
110
|
+
// forced to use an artificial filler field.
|
111
|
+
int filler;
|
112
|
+
unsigned order;
|
113
|
+
TickSample sample;
|
114
|
+
|
115
|
+
static TickSampleEventRecord* cast(void* value) {
|
116
|
+
return reinterpret_cast<TickSampleEventRecord*>(value);
|
117
|
+
}
|
118
|
+
|
119
|
+
INLINE(static TickSampleEventRecord* init(void* value));
|
120
|
+
|
121
|
+
private:
|
122
|
+
DISALLOW_IMPLICIT_CONSTRUCTORS(TickSampleEventRecord);
|
123
|
+
};
|
124
|
+
|
125
|
+
|
126
|
+
// This class implements both the profile events processor thread and
|
127
|
+
// methods called by event producers: VM and stack sampler threads.
|
128
|
+
class ProfilerEventsProcessor : public Thread {
|
129
|
+
public:
|
130
|
+
explicit ProfilerEventsProcessor(ProfileGenerator* generator);
|
131
|
+
virtual ~ProfilerEventsProcessor() { }
|
132
|
+
|
133
|
+
// Thread control.
|
134
|
+
virtual void Run();
|
135
|
+
inline void Stop() { running_ = false; }
|
136
|
+
INLINE(bool running()) { return running_; }
|
137
|
+
|
138
|
+
// Events adding methods. Called by VM threads.
|
139
|
+
void CallbackCreateEvent(Logger::LogEventsAndTags tag,
|
140
|
+
const char* prefix, String* name,
|
141
|
+
Address start);
|
142
|
+
void CodeCreateEvent(Logger::LogEventsAndTags tag,
|
143
|
+
String* name,
|
144
|
+
String* resource_name, int line_number,
|
145
|
+
Address start, unsigned size);
|
146
|
+
void CodeCreateEvent(Logger::LogEventsAndTags tag,
|
147
|
+
const char* name,
|
148
|
+
Address start, unsigned size);
|
149
|
+
void CodeCreateEvent(Logger::LogEventsAndTags tag,
|
150
|
+
int args_count,
|
151
|
+
Address start, unsigned size);
|
152
|
+
void CodeMoveEvent(Address from, Address to);
|
153
|
+
void CodeDeleteEvent(Address from);
|
154
|
+
void FunctionCreateEvent(Address alias, Address start);
|
155
|
+
void FunctionMoveEvent(Address from, Address to);
|
156
|
+
void FunctionDeleteEvent(Address from);
|
157
|
+
void RegExpCodeCreateEvent(Logger::LogEventsAndTags tag,
|
158
|
+
const char* prefix, String* name,
|
159
|
+
Address start, unsigned size);
|
160
|
+
|
161
|
+
// Tick sample events are filled directly in the buffer of the circular
|
162
|
+
// queue (because the structure is of fixed width, but usually not all
|
163
|
+
// stack frame entries are filled.) This method returns a pointer to the
|
164
|
+
// next record of the buffer.
|
165
|
+
INLINE(TickSample* TickSampleEvent());
|
166
|
+
|
167
|
+
private:
|
168
|
+
union CodeEventsContainer {
|
169
|
+
CodeEventRecord generic;
|
170
|
+
#define DECLARE_CLASS(ignore, type) type type##_;
|
171
|
+
CODE_EVENTS_TYPE_LIST(DECLARE_CLASS)
|
172
|
+
#undef DECLARE_TYPE
|
173
|
+
};
|
174
|
+
|
175
|
+
// Called from events processing thread (Run() method.)
|
176
|
+
bool ProcessCodeEvent(unsigned* dequeue_order);
|
177
|
+
bool ProcessTicks(unsigned dequeue_order);
|
178
|
+
|
179
|
+
INLINE(static bool FilterOutCodeCreateEvent(Logger::LogEventsAndTags tag));
|
180
|
+
|
181
|
+
ProfileGenerator* generator_;
|
182
|
+
bool running_;
|
183
|
+
CircularQueue<CodeEventsContainer> events_buffer_;
|
184
|
+
SamplingCircularQueue ticks_buffer_;
|
185
|
+
unsigned enqueue_order_;
|
186
|
+
};
|
187
|
+
|
188
|
+
} } // namespace v8::internal
|
189
|
+
|
190
|
+
|
191
|
+
#define PROFILE(Call) \
|
192
|
+
LOG(Call); \
|
193
|
+
do { \
|
194
|
+
if (v8::internal::CpuProfiler::is_profiling()) { \
|
195
|
+
v8::internal::CpuProfiler::Call; \
|
196
|
+
} \
|
197
|
+
} while (false)
|
198
|
+
#else
|
199
|
+
#define PROFILE(Call) LOG(Call)
|
200
|
+
#endif // ENABLE_LOGGING_AND_PROFILING
|
201
|
+
|
202
|
+
|
203
|
+
namespace v8 {
|
204
|
+
namespace internal {
|
205
|
+
|
206
|
+
class CpuProfiler {
|
207
|
+
public:
|
208
|
+
static void Setup();
|
209
|
+
static void TearDown();
|
210
|
+
|
211
|
+
#ifdef ENABLE_LOGGING_AND_PROFILING
|
212
|
+
static void StartProfiling(const char* title);
|
213
|
+
static void StartProfiling(String* title);
|
214
|
+
static CpuProfile* StopProfiling(const char* title);
|
215
|
+
static CpuProfile* StopProfiling(String* title);
|
216
|
+
static int GetProfilesCount();
|
217
|
+
static CpuProfile* GetProfile(int index);
|
218
|
+
static CpuProfile* FindProfile(unsigned uid);
|
219
|
+
|
220
|
+
// Invoked from stack sampler (thread or signal handler.)
|
221
|
+
static TickSample* TickSampleEvent();
|
222
|
+
|
223
|
+
// Must be called via PROFILE macro, otherwise will crash when
|
224
|
+
// profiling is not enabled.
|
225
|
+
static void CallbackEvent(String* name, Address entry_point);
|
226
|
+
static void CodeCreateEvent(Logger::LogEventsAndTags tag,
|
227
|
+
Code* code, const char* comment);
|
228
|
+
static void CodeCreateEvent(Logger::LogEventsAndTags tag,
|
229
|
+
Code* code, String* name);
|
230
|
+
static void CodeCreateEvent(Logger::LogEventsAndTags tag,
|
231
|
+
Code* code, String* name,
|
232
|
+
String* source, int line);
|
233
|
+
static void CodeCreateEvent(Logger::LogEventsAndTags tag,
|
234
|
+
Code* code, int args_count);
|
235
|
+
static void CodeMoveEvent(Address from, Address to);
|
236
|
+
static void CodeDeleteEvent(Address from);
|
237
|
+
static void FunctionCreateEvent(JSFunction* function);
|
238
|
+
static void FunctionMoveEvent(Address from, Address to);
|
239
|
+
static void FunctionDeleteEvent(Address from);
|
240
|
+
static void GetterCallbackEvent(String* name, Address entry_point);
|
241
|
+
static void RegExpCodeCreateEvent(Code* code, String* source);
|
242
|
+
static void SetterCallbackEvent(String* name, Address entry_point);
|
243
|
+
|
244
|
+
static INLINE(bool is_profiling()) {
|
245
|
+
return singleton_ != NULL && singleton_->processor_ != NULL;
|
246
|
+
}
|
247
|
+
|
248
|
+
private:
|
249
|
+
CpuProfiler();
|
250
|
+
~CpuProfiler();
|
251
|
+
void StartCollectingProfile(const char* title);
|
252
|
+
void StartCollectingProfile(String* title);
|
253
|
+
void StartProcessorIfNotStarted();
|
254
|
+
CpuProfile* StopCollectingProfile(const char* title);
|
255
|
+
CpuProfile* StopCollectingProfile(String* title);
|
256
|
+
void StopProcessorIfLastProfile();
|
257
|
+
|
258
|
+
CpuProfilesCollection* profiles_;
|
259
|
+
unsigned next_profile_uid_;
|
260
|
+
ProfileGenerator* generator_;
|
261
|
+
ProfilerEventsProcessor* processor_;
|
262
|
+
int saved_logging_nesting_;
|
263
|
+
|
264
|
+
static CpuProfiler* singleton_;
|
265
|
+
|
266
|
+
#else
|
267
|
+
static INLINE(bool is_profiling()) { return false; }
|
268
|
+
#endif // ENABLE_LOGGING_AND_PROFILING
|
269
|
+
|
270
|
+
private:
|
271
|
+
DISALLOW_COPY_AND_ASSIGN(CpuProfiler);
|
272
|
+
};
|
273
|
+
|
274
|
+
} } // namespace v8::internal
|
275
|
+
|
276
|
+
|
277
|
+
#endif // V8_CPU_PROFILER_H_
|
File without changes
|
@@ -34,6 +34,11 @@
|
|
34
34
|
|
35
35
|
namespace v8 {
|
36
36
|
|
37
|
+
void PrintPrompt() {
|
38
|
+
printf("dbg> ");
|
39
|
+
fflush(stdout);
|
40
|
+
}
|
41
|
+
|
37
42
|
|
38
43
|
void HandleDebugEvent(DebugEvent event,
|
39
44
|
Handle<Object> exec_state,
|
@@ -86,7 +91,7 @@ void HandleDebugEvent(DebugEvent event,
|
|
86
91
|
bool running = false;
|
87
92
|
while (!running) {
|
88
93
|
char command[kBufferSize];
|
89
|
-
|
94
|
+
PrintPrompt();
|
90
95
|
char* str = fgets(command, kBufferSize, stdin);
|
91
96
|
if (str == NULL) break;
|
92
97
|
|
@@ -178,6 +183,7 @@ void RemoteDebugger::Run() {
|
|
178
183
|
// Start the keyboard thread.
|
179
184
|
KeyboardThread keyboard(this);
|
180
185
|
keyboard.Start();
|
186
|
+
PrintPrompt();
|
181
187
|
|
182
188
|
// Process events received from debugged VM and from the keyboard.
|
183
189
|
bool terminate = false;
|
@@ -264,7 +270,8 @@ void RemoteDebugger::HandleMessageReceived(char* message) {
|
|
264
270
|
Handle<Object> details =
|
265
271
|
Shell::DebugMessageDetails(Handle<String>::Cast(String::New(message)));
|
266
272
|
if (try_catch.HasCaught()) {
|
267
|
-
|
273
|
+
Shell::ReportException(&try_catch);
|
274
|
+
PrintPrompt();
|
268
275
|
return;
|
269
276
|
}
|
270
277
|
String::Utf8Value str(details->Get(String::New("text")));
|
@@ -277,7 +284,7 @@ void RemoteDebugger::HandleMessageReceived(char* message) {
|
|
277
284
|
} else {
|
278
285
|
printf("???\n");
|
279
286
|
}
|
280
|
-
|
287
|
+
PrintPrompt();
|
281
288
|
}
|
282
289
|
|
283
290
|
|
@@ -289,13 +296,17 @@ void RemoteDebugger::HandleKeyboardCommand(char* command) {
|
|
289
296
|
Handle<Value> request =
|
290
297
|
Shell::DebugCommandToJSONRequest(String::New(command));
|
291
298
|
if (try_catch.HasCaught()) {
|
292
|
-
|
299
|
+
v8::String::Utf8Value exception(try_catch.Exception());
|
300
|
+
const char* exception_string = Shell::ToCString(exception);
|
301
|
+
printf("%s\n", exception_string);
|
302
|
+
PrintPrompt();
|
293
303
|
return;
|
294
304
|
}
|
295
305
|
|
296
306
|
// If undefined is returned the command was handled internally and there is
|
297
307
|
// no JSON to send.
|
298
308
|
if (request->IsUndefined()) {
|
309
|
+
PrintPrompt();
|
299
310
|
return;
|
300
311
|
}
|
301
312
|
|
File without changes
|
@@ -663,10 +663,28 @@ Handle<Value> Shell::SetEnvironment(const Arguments& args) {
|
|
663
663
|
}
|
664
664
|
|
665
665
|
|
666
|
+
Handle<Value> Shell::UnsetEnvironment(const Arguments& args) {
|
667
|
+
if (args.Length() != 1) {
|
668
|
+
const char* message = "unsetenv() takes one argument";
|
669
|
+
return ThrowException(String::New(message));
|
670
|
+
}
|
671
|
+
String::Utf8Value var(args[0]);
|
672
|
+
if (*var == NULL) {
|
673
|
+
const char* message =
|
674
|
+
"os.setenv(): String conversion of variable name failed.";
|
675
|
+
return ThrowException(String::New(message));
|
676
|
+
}
|
677
|
+
unsetenv(*var);
|
678
|
+
return v8::Undefined();
|
679
|
+
}
|
680
|
+
|
681
|
+
|
666
682
|
void Shell::AddOSMethods(Handle<ObjectTemplate> os_templ) {
|
667
683
|
os_templ->Set(String::New("system"), FunctionTemplate::New(System));
|
668
684
|
os_templ->Set(String::New("chdir"), FunctionTemplate::New(ChangeDirectory));
|
669
685
|
os_templ->Set(String::New("setenv"), FunctionTemplate::New(SetEnvironment));
|
686
|
+
os_templ->Set(String::New("unsetenv"),
|
687
|
+
FunctionTemplate::New(UnsetEnvironment));
|
670
688
|
os_templ->Set(String::New("umask"), FunctionTemplate::New(SetUMask));
|
671
689
|
os_templ->Set(String::New("mkdirp"), FunctionTemplate::New(MakeDirectory));
|
672
690
|
os_templ->Set(String::New("rmdir"), FunctionTemplate::New(RemoveDirectory));
|
File without changes
|
@@ -102,7 +102,7 @@ bool CounterMap::Match(void* key1, void* key2) {
|
|
102
102
|
|
103
103
|
|
104
104
|
// Converts a V8 value to a C string.
|
105
|
-
const char* ToCString(const v8::String::Utf8Value& value) {
|
105
|
+
const char* Shell::ToCString(const v8::String::Utf8Value& value) {
|
106
106
|
return *value ? *value : "<string conversion failed>";
|
107
107
|
}
|
108
108
|
|
@@ -447,9 +447,10 @@ void Shell::Initialize() {
|
|
447
447
|
#ifdef ENABLE_DEBUGGER_SUPPORT
|
448
448
|
// Install the debugger object in the utility scope
|
449
449
|
i::Debug::Load();
|
450
|
-
i::JSObject
|
450
|
+
i::Handle<i::JSObject> debug
|
451
|
+
= i::Handle<i::JSObject>(i::Debug::debug_context()->global());
|
451
452
|
utility_context_->Global()->Set(String::New("$debug"),
|
452
|
-
Utils::ToLocal(
|
453
|
+
Utils::ToLocal(debug));
|
453
454
|
#endif
|
454
455
|
|
455
456
|
// Run the d8 shell utility script in the utility context
|
@@ -467,9 +468,12 @@ void Shell::Initialize() {
|
|
467
468
|
|
468
469
|
// Mark the d8 shell script as native to avoid it showing up as normal source
|
469
470
|
// in the debugger.
|
470
|
-
i::Handle<i::
|
471
|
-
i::Handle<i::Script> script_object =
|
472
|
-
i::Handle<i::Script>(i::Script::cast(
|
471
|
+
i::Handle<i::Object> compiled_script = Utils::OpenHandle(*script);
|
472
|
+
i::Handle<i::Script> script_object = compiled_script->IsJSFunction()
|
473
|
+
? i::Handle<i::Script>(i::Script::cast(
|
474
|
+
i::JSFunction::cast(*compiled_script)->shared()->script()))
|
475
|
+
: i::Handle<i::Script>(i::Script::cast(
|
476
|
+
i::SharedFunctionInfo::cast(*compiled_script)->script()));
|
473
477
|
script_object->set_type(i::Smi::FromInt(i::Script::TYPE_NATIVE));
|
474
478
|
|
475
479
|
// Create the evaluation context
|
@@ -117,6 +117,7 @@ class Shell: public i::AllStatic {
|
|
117
117
|
Handle<Value> name,
|
118
118
|
bool print_result,
|
119
119
|
bool report_exceptions);
|
120
|
+
static const char* ToCString(const v8::String::Utf8Value& value);
|
120
121
|
static void ReportException(TryCatch* try_catch);
|
121
122
|
static void Initialize();
|
122
123
|
static void OnExit();
|
@@ -175,6 +176,7 @@ class Shell: public i::AllStatic {
|
|
175
176
|
static Handle<Value> System(const Arguments& args);
|
176
177
|
static Handle<Value> ChangeDirectory(const Arguments& args);
|
177
178
|
static Handle<Value> SetEnvironment(const Arguments& args);
|
179
|
+
static Handle<Value> UnsetEnvironment(const Arguments& args);
|
178
180
|
static Handle<Value> SetUMask(const Arguments& args);
|
179
181
|
static Handle<Value> MakeDirectory(const Arguments& args);
|
180
182
|
static Handle<Value> RemoveDirectory(const Arguments& args);
|
@@ -164,7 +164,7 @@ function DebugEventDetails(response) {
|
|
164
164
|
Debug.State.currentFrame = 0;
|
165
165
|
details.text = result;
|
166
166
|
break;
|
167
|
-
|
167
|
+
|
168
168
|
case 'exception':
|
169
169
|
if (body.uncaught) {
|
170
170
|
result += 'Uncaught: ';
|
@@ -212,7 +212,7 @@ function DebugEventDetails(response) {
|
|
212
212
|
|
213
213
|
function SourceInfo(body) {
|
214
214
|
var result = '';
|
215
|
-
|
215
|
+
|
216
216
|
if (body.script) {
|
217
217
|
if (body.script.name) {
|
218
218
|
result += body.script.name;
|
@@ -224,7 +224,7 @@ function SourceInfo(body) {
|
|
224
224
|
result += body.sourceLine + 1;
|
225
225
|
result += ' column ';
|
226
226
|
result += body.sourceColumn + 1;
|
227
|
-
|
227
|
+
|
228
228
|
return result;
|
229
229
|
}
|
230
230
|
|
@@ -297,20 +297,20 @@ function DebugRequest(cmd_line) {
|
|
297
297
|
case 'bt':
|
298
298
|
this.request_ = this.backtraceCommandToJSONRequest_(args);
|
299
299
|
break;
|
300
|
-
|
300
|
+
|
301
301
|
case 'frame':
|
302
302
|
case 'f':
|
303
303
|
this.request_ = this.frameCommandToJSONRequest_(args);
|
304
304
|
break;
|
305
|
-
|
305
|
+
|
306
306
|
case 'scopes':
|
307
307
|
this.request_ = this.scopesCommandToJSONRequest_(args);
|
308
308
|
break;
|
309
|
-
|
309
|
+
|
310
310
|
case 'scope':
|
311
311
|
this.request_ = this.scopeCommandToJSONRequest_(args);
|
312
312
|
break;
|
313
|
-
|
313
|
+
|
314
314
|
case 'print':
|
315
315
|
case 'p':
|
316
316
|
this.request_ = this.printCommandToJSONRequest_(args);
|
@@ -331,16 +331,16 @@ function DebugRequest(cmd_line) {
|
|
331
331
|
case 'source':
|
332
332
|
this.request_ = this.sourceCommandToJSONRequest_(args);
|
333
333
|
break;
|
334
|
-
|
334
|
+
|
335
335
|
case 'scripts':
|
336
336
|
this.request_ = this.scriptsCommandToJSONRequest_(args);
|
337
337
|
break;
|
338
|
-
|
338
|
+
|
339
339
|
case 'break':
|
340
340
|
case 'b':
|
341
341
|
this.request_ = this.breakCommandToJSONRequest_(args);
|
342
342
|
break;
|
343
|
-
|
343
|
+
|
344
344
|
case 'clear':
|
345
345
|
this.request_ = this.clearCommandToJSONRequest_(args);
|
346
346
|
break;
|
@@ -365,7 +365,7 @@ function DebugRequest(cmd_line) {
|
|
365
365
|
default:
|
366
366
|
throw new Error('Unknown command "' + cmd + '"');
|
367
367
|
}
|
368
|
-
|
368
|
+
|
369
369
|
last_cmd = cmd;
|
370
370
|
}
|
371
371
|
|
@@ -490,22 +490,22 @@ DebugRequest.prototype.stepCommandToJSONRequest_ = function(args) {
|
|
490
490
|
case 'i':
|
491
491
|
request.arguments.stepaction = 'in';
|
492
492
|
break;
|
493
|
-
|
493
|
+
|
494
494
|
case 'min':
|
495
495
|
case 'm':
|
496
496
|
request.arguments.stepaction = 'min';
|
497
497
|
break;
|
498
|
-
|
498
|
+
|
499
499
|
case 'next':
|
500
500
|
case 'n':
|
501
501
|
request.arguments.stepaction = 'next';
|
502
502
|
break;
|
503
|
-
|
503
|
+
|
504
504
|
case 'out':
|
505
505
|
case 'o':
|
506
506
|
request.arguments.stepaction = 'out';
|
507
507
|
break;
|
508
|
-
|
508
|
+
|
509
509
|
default:
|
510
510
|
throw new Error('Invalid step argument "' + args[0] + '".');
|
511
511
|
}
|
@@ -523,7 +523,7 @@ DebugRequest.prototype.stepCommandToJSONRequest_ = function(args) {
|
|
523
523
|
DebugRequest.prototype.backtraceCommandToJSONRequest_ = function(args) {
|
524
524
|
// Build a backtrace request from the text command.
|
525
525
|
var request = this.createRequest('backtrace');
|
526
|
-
|
526
|
+
|
527
527
|
// Default is to show top 10 frames.
|
528
528
|
request.arguments = {};
|
529
529
|
request.arguments.fromFrame = 0;
|
@@ -626,7 +626,7 @@ DebugRequest.prototype.referencesCommandToJSONRequest_ = function(args) {
|
|
626
626
|
if (args.length == 0) {
|
627
627
|
throw new Error('Missing object id.');
|
628
628
|
}
|
629
|
-
|
629
|
+
|
630
630
|
return this.makeReferencesJSONRequest_(args, 'referencedBy');
|
631
631
|
};
|
632
632
|
|
@@ -637,7 +637,7 @@ DebugRequest.prototype.instancesCommandToJSONRequest_ = function(args) {
|
|
637
637
|
if (args.length == 0) {
|
638
638
|
throw new Error('Missing object id.');
|
639
639
|
}
|
640
|
-
|
640
|
+
|
641
641
|
// Build a references request.
|
642
642
|
return this.makeReferencesJSONRequest_(args, 'constructedBy');
|
643
643
|
};
|
@@ -691,18 +691,18 @@ DebugRequest.prototype.scriptsCommandToJSONRequest_ = function(args) {
|
|
691
691
|
case 'natives':
|
692
692
|
request.arguments.types = ScriptTypeFlag(Debug.ScriptType.Native);
|
693
693
|
break;
|
694
|
-
|
694
|
+
|
695
695
|
case 'extensions':
|
696
696
|
request.arguments.types = ScriptTypeFlag(Debug.ScriptType.Extension);
|
697
697
|
break;
|
698
|
-
|
698
|
+
|
699
699
|
case 'all':
|
700
700
|
request.arguments.types =
|
701
701
|
ScriptTypeFlag(Debug.ScriptType.Normal) |
|
702
702
|
ScriptTypeFlag(Debug.ScriptType.Native) |
|
703
703
|
ScriptTypeFlag(Debug.ScriptType.Extension);
|
704
704
|
break;
|
705
|
-
|
705
|
+
|
706
706
|
default:
|
707
707
|
throw new Error('Invalid argument "' + args[0] + '".');
|
708
708
|
}
|
@@ -715,8 +715,6 @@ DebugRequest.prototype.scriptsCommandToJSONRequest_ = function(args) {
|
|
715
715
|
// Create a JSON request for the break command.
|
716
716
|
DebugRequest.prototype.breakCommandToJSONRequest_ = function(args) {
|
717
717
|
// Build a evaluate request from the text command.
|
718
|
-
var request = this.createRequest('setbreakpoint');
|
719
|
-
|
720
718
|
// Process arguments if any.
|
721
719
|
if (args && args.length > 0) {
|
722
720
|
var target = args;
|
@@ -726,6 +724,8 @@ DebugRequest.prototype.breakCommandToJSONRequest_ = function(args) {
|
|
726
724
|
var condition;
|
727
725
|
var pos;
|
728
726
|
|
727
|
+
var request = this.createRequest('setbreakpoint');
|
728
|
+
|
729
729
|
// Check for breakpoint condition.
|
730
730
|
pos = args.indexOf(' ');
|
731
731
|
if (pos > 0) {
|
@@ -740,7 +740,7 @@ DebugRequest.prototype.breakCommandToJSONRequest_ = function(args) {
|
|
740
740
|
type = 'script';
|
741
741
|
var tmp = target.substring(pos + 1, target.length);
|
742
742
|
target = target.substring(0, pos);
|
743
|
-
|
743
|
+
|
744
744
|
// Check for both line and column.
|
745
745
|
pos = tmp.indexOf(':');
|
746
746
|
if (pos > 0) {
|
@@ -755,7 +755,7 @@ DebugRequest.prototype.breakCommandToJSONRequest_ = function(args) {
|
|
755
755
|
} else {
|
756
756
|
type = 'function';
|
757
757
|
}
|
758
|
-
|
758
|
+
|
759
759
|
request.arguments = {};
|
760
760
|
request.arguments.type = type;
|
761
761
|
request.arguments.target = target;
|
@@ -763,7 +763,7 @@ DebugRequest.prototype.breakCommandToJSONRequest_ = function(args) {
|
|
763
763
|
request.arguments.column = column;
|
764
764
|
request.arguments.condition = condition;
|
765
765
|
} else {
|
766
|
-
|
766
|
+
var request = this.createRequest('suspend');
|
767
767
|
}
|
768
768
|
|
769
769
|
return request.toJSONProtocol();
|
@@ -817,6 +817,7 @@ DebugRequest.prototype.helpCommand_ = function(args) {
|
|
817
817
|
print('warning: arguments to \'help\' are ignored');
|
818
818
|
}
|
819
819
|
|
820
|
+
print('break');
|
820
821
|
print('break location [condition]');
|
821
822
|
print(' break on named function: location is a function name');
|
822
823
|
print(' break on function: location is #<id>#');
|
@@ -931,18 +932,22 @@ function DebugResponseDetails(response) {
|
|
931
932
|
var body = response.body();
|
932
933
|
var result = '';
|
933
934
|
switch (response.command()) {
|
935
|
+
case 'suspend':
|
936
|
+
details.text = 'stopped';
|
937
|
+
break;
|
938
|
+
|
934
939
|
case 'setbreakpoint':
|
935
940
|
result = 'set breakpoint #';
|
936
941
|
result += body.breakpoint;
|
937
942
|
details.text = result;
|
938
943
|
break;
|
939
|
-
|
944
|
+
|
940
945
|
case 'clearbreakpoint':
|
941
946
|
result = 'cleared breakpoint #';
|
942
947
|
result += body.breakpoint;
|
943
948
|
details.text = result;
|
944
949
|
break;
|
945
|
-
|
950
|
+
|
946
951
|
case 'backtrace':
|
947
952
|
if (body.totalFrames == 0) {
|
948
953
|
result = '(empty stack)';
|
@@ -956,14 +961,14 @@ function DebugResponseDetails(response) {
|
|
956
961
|
}
|
957
962
|
details.text = result;
|
958
963
|
break;
|
959
|
-
|
964
|
+
|
960
965
|
case 'frame':
|
961
966
|
details.text = SourceUnderline(body.sourceLineText,
|
962
967
|
body.column);
|
963
968
|
Debug.State.currentSourceLine = body.line;
|
964
969
|
Debug.State.currentFrame = body.index;
|
965
970
|
break;
|
966
|
-
|
971
|
+
|
967
972
|
case 'scopes':
|
968
973
|
if (body.totalScopes == 0) {
|
969
974
|
result = '(no scopes)';
|
@@ -987,7 +992,7 @@ function DebugResponseDetails(response) {
|
|
987
992
|
result += formatObject_(scope_object_value, true);
|
988
993
|
details.text = result;
|
989
994
|
break;
|
990
|
-
|
995
|
+
|
991
996
|
case 'evaluate':
|
992
997
|
case 'lookup':
|
993
998
|
if (last_cmd == 'p' || last_cmd == 'print') {
|
@@ -1031,7 +1036,7 @@ function DebugResponseDetails(response) {
|
|
1031
1036
|
}
|
1032
1037
|
details.text = result;
|
1033
1038
|
break;
|
1034
|
-
|
1039
|
+
|
1035
1040
|
case 'source':
|
1036
1041
|
// Get the source from the response.
|
1037
1042
|
var source = body.source;
|
@@ -1066,7 +1071,7 @@ function DebugResponseDetails(response) {
|
|
1066
1071
|
}
|
1067
1072
|
details.text = result;
|
1068
1073
|
break;
|
1069
|
-
|
1074
|
+
|
1070
1075
|
case 'scripts':
|
1071
1076
|
var result = '';
|
1072
1077
|
for (i = 0; i < body.length; i++) {
|
@@ -1128,7 +1133,7 @@ function DebugResponseDetails(response) {
|
|
1128
1133
|
case 'continue':
|
1129
1134
|
details.text = "(running)";
|
1130
1135
|
break;
|
1131
|
-
|
1136
|
+
|
1132
1137
|
default:
|
1133
1138
|
details.text =
|
1134
1139
|
'Response for unknown command \'' + response.command + '\'' +
|
@@ -1137,7 +1142,7 @@ function DebugResponseDetails(response) {
|
|
1137
1142
|
} catch (e) {
|
1138
1143
|
details.text = 'Error: "' + e + '" formatting response';
|
1139
1144
|
}
|
1140
|
-
|
1145
|
+
|
1141
1146
|
return details;
|
1142
1147
|
};
|
1143
1148
|
|
@@ -1254,7 +1259,7 @@ ProtocolValue.prototype.type = function() {
|
|
1254
1259
|
|
1255
1260
|
|
1256
1261
|
/**
|
1257
|
-
* Get a metadata field from a protocol value.
|
1262
|
+
* Get a metadata field from a protocol value.
|
1258
1263
|
* @return {Object} the metadata field value
|
1259
1264
|
*/
|
1260
1265
|
ProtocolValue.prototype.field = function(name) {
|
@@ -1435,12 +1440,12 @@ function ArrayToJSONArray_(content) {
|
|
1435
1440
|
|
1436
1441
|
|
1437
1442
|
function BooleanToJSON_(value) {
|
1438
|
-
return String(value);
|
1443
|
+
return String(value);
|
1439
1444
|
}
|
1440
1445
|
|
1441
1446
|
|
1442
1447
|
function NumberToJSON_(value) {
|
1443
|
-
return String(value);
|
1448
|
+
return String(value);
|
1444
1449
|
}
|
1445
1450
|
|
1446
1451
|
|