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
File without changes
|
@@ -31,6 +31,7 @@
|
|
31
31
|
#include "api.h"
|
32
32
|
#include "arguments.h"
|
33
33
|
#include "bootstrapper.h"
|
34
|
+
#include "codegen.h"
|
34
35
|
#include "compiler.h"
|
35
36
|
#include "debug.h"
|
36
37
|
#include "execution.h"
|
@@ -173,13 +174,6 @@ void SetExpectedNofPropertiesFromEstimate(Handle<SharedFunctionInfo> shared,
|
|
173
174
|
}
|
174
175
|
|
175
176
|
|
176
|
-
void SetExpectedNofPropertiesFromEstimate(Handle<JSFunction> func,
|
177
|
-
int estimate) {
|
178
|
-
SetExpectedNofProperties(
|
179
|
-
func, ExpectedNofPropertiesFromEstimate(estimate));
|
180
|
-
}
|
181
|
-
|
182
|
-
|
183
177
|
void NormalizeProperties(Handle<JSObject> object,
|
184
178
|
PropertyNormalizationMode mode,
|
185
179
|
int expected_additional_properties) {
|
@@ -202,13 +196,14 @@ void TransformToFastProperties(Handle<JSObject> object,
|
|
202
196
|
|
203
197
|
|
204
198
|
void FlattenString(Handle<String> string) {
|
205
|
-
CALL_HEAP_FUNCTION_VOID(string->
|
199
|
+
CALL_HEAP_FUNCTION_VOID(string->TryFlatten());
|
206
200
|
ASSERT(string->IsFlat());
|
207
201
|
}
|
208
202
|
|
209
203
|
|
210
204
|
Handle<Object> SetPrototype(Handle<JSFunction> function,
|
211
205
|
Handle<Object> prototype) {
|
206
|
+
ASSERT(function->should_have_prototype());
|
212
207
|
CALL_HEAP_FUNCTION(Accessors::FunctionSetPrototype(*function,
|
213
208
|
*prototype,
|
214
209
|
NULL),
|
@@ -242,6 +237,15 @@ Handle<Object> ForceSetProperty(Handle<JSObject> object,
|
|
242
237
|
}
|
243
238
|
|
244
239
|
|
240
|
+
Handle<Object> SetNormalizedProperty(Handle<JSObject> object,
|
241
|
+
Handle<String> key,
|
242
|
+
Handle<Object> value,
|
243
|
+
PropertyDetails details) {
|
244
|
+
CALL_HEAP_FUNCTION(object->SetNormalizedProperty(*key, *value, details),
|
245
|
+
Object);
|
246
|
+
}
|
247
|
+
|
248
|
+
|
245
249
|
Handle<Object> ForceDeleteProperty(Handle<JSObject> object,
|
246
250
|
Handle<Object> key) {
|
247
251
|
CALL_HEAP_FUNCTION(Runtime::ForceDeleteObjectProperty(object, key), Object);
|
@@ -282,6 +286,12 @@ Handle<Object> GetProperty(Handle<Object> obj,
|
|
282
286
|
}
|
283
287
|
|
284
288
|
|
289
|
+
Handle<Object> GetElement(Handle<Object> obj,
|
290
|
+
uint32_t index) {
|
291
|
+
CALL_HEAP_FUNCTION(Runtime::GetElement(obj, index), Object);
|
292
|
+
}
|
293
|
+
|
294
|
+
|
285
295
|
Handle<Object> GetPropertyWithInterceptor(Handle<JSObject> receiver,
|
286
296
|
Handle<JSObject> holder,
|
287
297
|
Handle<String> name,
|
@@ -299,6 +309,12 @@ Handle<Object> GetPrototype(Handle<Object> obj) {
|
|
299
309
|
}
|
300
310
|
|
301
311
|
|
312
|
+
Handle<Object> SetPrototype(Handle<JSObject> obj, Handle<Object> value) {
|
313
|
+
const bool skip_hidden_prototypes = false;
|
314
|
+
CALL_HEAP_FUNCTION(obj->SetPrototype(*value, skip_hidden_prototypes), Object);
|
315
|
+
}
|
316
|
+
|
317
|
+
|
302
318
|
Handle<Object> GetHiddenProperties(Handle<JSObject> obj,
|
303
319
|
bool create_if_needed) {
|
304
320
|
Object* holder = obj->BypassGlobalProxy();
|
@@ -355,8 +371,11 @@ Handle<Object> LookupSingleCharacterStringFromCode(uint32_t index) {
|
|
355
371
|
}
|
356
372
|
|
357
373
|
|
358
|
-
Handle<String> SubString(Handle<String> str,
|
359
|
-
|
374
|
+
Handle<String> SubString(Handle<String> str,
|
375
|
+
int start,
|
376
|
+
int end,
|
377
|
+
PretenureFlag pretenure) {
|
378
|
+
CALL_HEAP_FUNCTION(str->SubString(start, end, pretenure), String);
|
360
379
|
}
|
361
380
|
|
362
381
|
|
@@ -439,6 +458,16 @@ void InitScriptLineEnds(Handle<Script> script) {
|
|
439
458
|
}
|
440
459
|
|
441
460
|
Handle<String> src(String::cast(script->source()));
|
461
|
+
|
462
|
+
Handle<FixedArray> array = CalculateLineEnds(src, true);
|
463
|
+
|
464
|
+
script->set_line_ends(*array);
|
465
|
+
ASSERT(script->line_ends()->IsFixedArray());
|
466
|
+
}
|
467
|
+
|
468
|
+
|
469
|
+
Handle<FixedArray> CalculateLineEnds(Handle<String> src,
|
470
|
+
bool with_imaginary_last_new_line) {
|
442
471
|
const int src_len = src->length();
|
443
472
|
Handle<String> new_line = Factory::NewStringFromAscii(CStrVector("\n"));
|
444
473
|
|
@@ -450,8 +479,12 @@ void InitScriptLineEnds(Handle<Script> script) {
|
|
450
479
|
if (position != -1) {
|
451
480
|
position++;
|
452
481
|
}
|
453
|
-
|
454
|
-
|
482
|
+
if (position != -1) {
|
483
|
+
line_count++;
|
484
|
+
} else if (with_imaginary_last_new_line) {
|
485
|
+
// Even if the last line misses a line end, it is counted.
|
486
|
+
line_count++;
|
487
|
+
}
|
455
488
|
}
|
456
489
|
|
457
490
|
// Pass 2: Fill in line ends positions
|
@@ -460,15 +493,17 @@ void InitScriptLineEnds(Handle<Script> script) {
|
|
460
493
|
position = 0;
|
461
494
|
while (position != -1 && position < src_len) {
|
462
495
|
position = Runtime::StringMatch(src, new_line, position);
|
463
|
-
|
464
|
-
|
465
|
-
|
466
|
-
|
496
|
+
if (position != -1) {
|
497
|
+
array->set(array_index++, Smi::FromInt(position++));
|
498
|
+
} else if (with_imaginary_last_new_line) {
|
499
|
+
// If the script does not end with a line ending add the final end
|
500
|
+
// position as just past the last line ending.
|
501
|
+
array->set(array_index++, Smi::FromInt(src_len));
|
502
|
+
}
|
467
503
|
}
|
468
504
|
ASSERT(array_index == line_count);
|
469
505
|
|
470
|
-
|
471
|
-
ASSERT(script->line_ends()->IsFixedArray());
|
506
|
+
return array;
|
472
507
|
}
|
473
508
|
|
474
509
|
|
@@ -476,30 +511,54 @@ void InitScriptLineEnds(Handle<Script> script) {
|
|
476
511
|
int GetScriptLineNumber(Handle<Script> script, int code_pos) {
|
477
512
|
InitScriptLineEnds(script);
|
478
513
|
AssertNoAllocation no_allocation;
|
479
|
-
FixedArray* line_ends_array =
|
480
|
-
FixedArray::cast(script->line_ends());
|
514
|
+
FixedArray* line_ends_array = FixedArray::cast(script->line_ends());
|
481
515
|
const int line_ends_len = line_ends_array->length();
|
482
516
|
|
483
|
-
|
484
|
-
|
485
|
-
|
486
|
-
|
487
|
-
|
488
|
-
|
489
|
-
|
490
|
-
|
491
|
-
|
492
|
-
|
493
|
-
|
517
|
+
if (!line_ends_len)
|
518
|
+
return -1;
|
519
|
+
|
520
|
+
if ((Smi::cast(line_ends_array->get(0)))->value() >= code_pos)
|
521
|
+
return script->line_offset()->value();
|
522
|
+
|
523
|
+
int left = 0;
|
524
|
+
int right = line_ends_len;
|
525
|
+
while (int half = (right - left) / 2) {
|
526
|
+
if ((Smi::cast(line_ends_array->get(left + half)))->value() > code_pos) {
|
527
|
+
right -= half;
|
528
|
+
} else {
|
529
|
+
left += half;
|
494
530
|
}
|
495
531
|
}
|
532
|
+
return right + script->line_offset()->value();
|
533
|
+
}
|
496
534
|
|
497
|
-
|
535
|
+
|
536
|
+
int GetScriptLineNumberSafe(Handle<Script> script, int code_pos) {
|
537
|
+
AssertNoAllocation no_allocation;
|
538
|
+
if (!script->line_ends()->IsUndefined()) {
|
539
|
+
return GetScriptLineNumber(script, code_pos);
|
540
|
+
}
|
541
|
+
// Slow mode: we do not have line_ends. We have to iterate through source.
|
542
|
+
if (!script->source()->IsString()) {
|
543
|
+
return -1;
|
544
|
+
}
|
545
|
+
String* source = String::cast(script->source());
|
546
|
+
int line = 0;
|
547
|
+
int len = source->length();
|
548
|
+
for (int pos = 0; pos < len; pos++) {
|
549
|
+
if (pos == code_pos) {
|
550
|
+
break;
|
551
|
+
}
|
552
|
+
if (source->Get(pos) == '\n') {
|
553
|
+
line++;
|
554
|
+
}
|
555
|
+
}
|
556
|
+
return line;
|
498
557
|
}
|
499
558
|
|
500
559
|
|
501
560
|
void CustomArguments::IterateInstance(ObjectVisitor* v) {
|
502
|
-
v->VisitPointers(values_, values_ +
|
561
|
+
v->VisitPointers(values_, values_ + ARRAY_SIZE(values_));
|
503
562
|
}
|
504
563
|
|
505
564
|
|
@@ -666,31 +725,50 @@ Handle<FixedArray> GetEnumPropertyKeys(Handle<JSObject> object,
|
|
666
725
|
}
|
667
726
|
|
668
727
|
|
669
|
-
bool
|
670
|
-
|
671
|
-
|
728
|
+
bool EnsureCompiled(Handle<SharedFunctionInfo> shared,
|
729
|
+
ClearExceptionFlag flag) {
|
730
|
+
return shared->is_compiled() || CompileLazyShared(shared, flag);
|
731
|
+
}
|
732
|
+
|
733
|
+
|
734
|
+
static bool CompileLazyHelper(CompilationInfo* info,
|
735
|
+
ClearExceptionFlag flag) {
|
672
736
|
// Compile the source information to a code object.
|
673
|
-
ASSERT(!
|
674
|
-
bool result = Compiler::CompileLazy(
|
737
|
+
ASSERT(!info->shared_info()->is_compiled());
|
738
|
+
bool result = Compiler::CompileLazy(info);
|
675
739
|
ASSERT(result != Top::has_pending_exception());
|
676
740
|
if (!result && flag == CLEAR_EXCEPTION) Top::clear_pending_exception();
|
677
741
|
return result;
|
678
742
|
}
|
679
743
|
|
680
744
|
|
681
|
-
bool
|
682
|
-
|
683
|
-
|
684
|
-
return
|
745
|
+
bool CompileLazyShared(Handle<SharedFunctionInfo> shared,
|
746
|
+
ClearExceptionFlag flag) {
|
747
|
+
CompilationInfo info(shared);
|
748
|
+
return CompileLazyHelper(&info, flag);
|
685
749
|
}
|
686
750
|
|
687
751
|
|
688
|
-
bool
|
689
|
-
|
690
|
-
|
691
|
-
|
752
|
+
bool CompileLazy(Handle<JSFunction> function,
|
753
|
+
Handle<Object> receiver,
|
754
|
+
ClearExceptionFlag flag) {
|
755
|
+
CompilationInfo info(function, 0, receiver);
|
756
|
+
bool result = CompileLazyHelper(&info, flag);
|
757
|
+
PROFILE(FunctionCreateEvent(*function));
|
758
|
+
return result;
|
692
759
|
}
|
693
760
|
|
761
|
+
|
762
|
+
bool CompileLazyInLoop(Handle<JSFunction> function,
|
763
|
+
Handle<Object> receiver,
|
764
|
+
ClearExceptionFlag flag) {
|
765
|
+
CompilationInfo info(function, 1, receiver);
|
766
|
+
bool result = CompileLazyHelper(&info, flag);
|
767
|
+
PROFILE(FunctionCreateEvent(*function));
|
768
|
+
return result;
|
769
|
+
}
|
770
|
+
|
771
|
+
|
694
772
|
OptimizedObjectForAddingMultipleProperties::
|
695
773
|
OptimizedObjectForAddingMultipleProperties(Handle<JSObject> object,
|
696
774
|
int expected_additional_properties,
|
@@ -725,87 +803,4 @@ OptimizedObjectForAddingMultipleProperties::
|
|
725
803
|
}
|
726
804
|
}
|
727
805
|
|
728
|
-
|
729
|
-
void LoadLazy(Handle<JSObject> obj, bool* pending_exception) {
|
730
|
-
HandleScope scope;
|
731
|
-
Handle<FixedArray> info(FixedArray::cast(obj->map()->constructor()));
|
732
|
-
int index = Smi::cast(info->get(0))->value();
|
733
|
-
ASSERT(index >= 0);
|
734
|
-
Handle<Context> compile_context(Context::cast(info->get(1)));
|
735
|
-
Handle<Context> function_context(Context::cast(info->get(2)));
|
736
|
-
Handle<Object> receiver(compile_context->global()->builtins());
|
737
|
-
|
738
|
-
Vector<const char> name = Natives::GetScriptName(index);
|
739
|
-
|
740
|
-
Handle<JSFunction> boilerplate;
|
741
|
-
|
742
|
-
if (!Bootstrapper::NativesCacheLookup(name, &boilerplate)) {
|
743
|
-
Handle<String> source_code = Bootstrapper::NativesSourceLookup(index);
|
744
|
-
Handle<String> script_name = Factory::NewStringFromAscii(name);
|
745
|
-
bool allow_natives_syntax = FLAG_allow_natives_syntax;
|
746
|
-
FLAG_allow_natives_syntax = true;
|
747
|
-
boilerplate = Compiler::Compile(source_code, script_name, 0, 0, NULL, NULL);
|
748
|
-
FLAG_allow_natives_syntax = allow_natives_syntax;
|
749
|
-
// If the compilation failed (possibly due to stack overflows), we
|
750
|
-
// should never enter the result in the natives cache. Instead we
|
751
|
-
// return from the function without marking the function as having
|
752
|
-
// been lazily loaded.
|
753
|
-
if (boilerplate.is_null()) {
|
754
|
-
*pending_exception = true;
|
755
|
-
return;
|
756
|
-
}
|
757
|
-
Bootstrapper::NativesCacheAdd(name, boilerplate);
|
758
|
-
}
|
759
|
-
|
760
|
-
// We shouldn't get here if compiling the script failed.
|
761
|
-
ASSERT(!boilerplate.is_null());
|
762
|
-
|
763
|
-
#ifdef ENABLE_DEBUGGER_SUPPORT
|
764
|
-
// When the debugger running in its own context touches lazy loaded
|
765
|
-
// functions loading can be triggered. In that case ensure that the
|
766
|
-
// execution of the boilerplate is in the correct context.
|
767
|
-
SaveContext save;
|
768
|
-
if (!Debug::debug_context().is_null() &&
|
769
|
-
Top::context() == *Debug::debug_context()) {
|
770
|
-
Top::set_context(*compile_context);
|
771
|
-
}
|
772
|
-
#endif
|
773
|
-
|
774
|
-
// Reset the lazy load data before running the script to make sure
|
775
|
-
// not to get recursive lazy loading.
|
776
|
-
obj->map()->set_needs_loading(false);
|
777
|
-
obj->map()->set_constructor(info->get(3));
|
778
|
-
|
779
|
-
// Run the script.
|
780
|
-
Handle<JSFunction> script_fun(
|
781
|
-
Factory::NewFunctionFromBoilerplate(boilerplate, function_context));
|
782
|
-
Execution::Call(script_fun, receiver, 0, NULL, pending_exception);
|
783
|
-
|
784
|
-
// If lazy loading failed, restore the unloaded state of obj.
|
785
|
-
if (*pending_exception) {
|
786
|
-
obj->map()->set_needs_loading(true);
|
787
|
-
obj->map()->set_constructor(*info);
|
788
|
-
}
|
789
|
-
}
|
790
|
-
|
791
|
-
|
792
|
-
void SetupLazy(Handle<JSObject> obj,
|
793
|
-
int index,
|
794
|
-
Handle<Context> compile_context,
|
795
|
-
Handle<Context> function_context) {
|
796
|
-
Handle<FixedArray> arr = Factory::NewFixedArray(4);
|
797
|
-
arr->set(0, Smi::FromInt(index));
|
798
|
-
arr->set(1, *compile_context); // Compile in this context
|
799
|
-
arr->set(2, *function_context); // Set function context to this
|
800
|
-
arr->set(3, obj->map()->constructor()); // Remember the constructor
|
801
|
-
Handle<Map> old_map(obj->map());
|
802
|
-
Handle<Map> new_map = Factory::CopyMapDropTransitions(old_map);
|
803
|
-
obj->set_map(*new_map);
|
804
|
-
new_map->set_needs_loading(true);
|
805
|
-
// Store the lazy loading info in the constructor field. We'll
|
806
|
-
// reestablish the constructor from the fixed array after loading.
|
807
|
-
new_map->set_constructor(*arr);
|
808
|
-
ASSERT(!obj->IsLoaded());
|
809
|
-
}
|
810
|
-
|
811
806
|
} } // namespace v8::internal
|
@@ -42,7 +42,7 @@ namespace internal {
|
|
42
42
|
template<class T>
|
43
43
|
class Handle {
|
44
44
|
public:
|
45
|
-
INLINE(Handle(T** location)) { location_ = location; }
|
45
|
+
INLINE(explicit Handle(T** location)) { location_ = location; }
|
46
46
|
INLINE(explicit Handle(T* obj));
|
47
47
|
|
48
48
|
INLINE(Handle()) : location_(NULL) {}
|
@@ -210,6 +210,11 @@ Handle<Object> ForceSetProperty(Handle<JSObject> object,
|
|
210
210
|
Handle<Object> value,
|
211
211
|
PropertyAttributes attributes);
|
212
212
|
|
213
|
+
Handle<Object> SetNormalizedProperty(Handle<JSObject> object,
|
214
|
+
Handle<String> key,
|
215
|
+
Handle<Object> value,
|
216
|
+
PropertyDetails details);
|
217
|
+
|
213
218
|
Handle<Object> ForceDeleteProperty(Handle<JSObject> object,
|
214
219
|
Handle<Object> key);
|
215
220
|
|
@@ -233,6 +238,9 @@ Handle<Object> GetProperty(Handle<JSObject> obj,
|
|
233
238
|
Handle<Object> GetProperty(Handle<Object> obj,
|
234
239
|
Handle<Object> key);
|
235
240
|
|
241
|
+
Handle<Object> GetElement(Handle<Object> obj,
|
242
|
+
uint32_t index);
|
243
|
+
|
236
244
|
Handle<Object> GetPropertyWithInterceptor(Handle<JSObject> receiver,
|
237
245
|
Handle<JSObject> holder,
|
238
246
|
Handle<String> name,
|
@@ -240,6 +248,8 @@ Handle<Object> GetPropertyWithInterceptor(Handle<JSObject> receiver,
|
|
240
248
|
|
241
249
|
Handle<Object> GetPrototype(Handle<Object> obj);
|
242
250
|
|
251
|
+
Handle<Object> SetPrototype(Handle<JSObject> obj, Handle<Object> value);
|
252
|
+
|
243
253
|
// Return the object's hidden properties object. If the object has no hidden
|
244
254
|
// properties and create_if_needed is true, then a new hidden property object
|
245
255
|
// will be allocated. Otherwise the Heap::undefined_value is returned.
|
@@ -261,7 +271,14 @@ Handle<JSValue> GetScriptWrapper(Handle<Script> script);
|
|
261
271
|
|
262
272
|
// Script line number computations.
|
263
273
|
void InitScriptLineEnds(Handle<Script> script);
|
274
|
+
// For string calculates an array of line end positions. If the string
|
275
|
+
// does not end with a new line character, this character may optionally be
|
276
|
+
// imagined.
|
277
|
+
Handle<FixedArray> CalculateLineEnds(Handle<String> string,
|
278
|
+
bool with_imaginary_last_new_line);
|
264
279
|
int GetScriptLineNumber(Handle<Script> script, int code_position);
|
280
|
+
// The safe version does not make heap allocations but may work much slower.
|
281
|
+
int GetScriptLineNumberSafe(Handle<Script> script, int code_position);
|
265
282
|
|
266
283
|
// Computes the enumerable keys from interceptors. Used for debug mirrors and
|
267
284
|
// by GetKeysInFixedArrayFor below.
|
@@ -285,7 +302,10 @@ Handle<FixedArray> GetEnumPropertyKeys(Handle<JSObject> object,
|
|
285
302
|
Handle<FixedArray> UnionOfKeys(Handle<FixedArray> first,
|
286
303
|
Handle<FixedArray> second);
|
287
304
|
|
288
|
-
Handle<String> SubString(Handle<String> str,
|
305
|
+
Handle<String> SubString(Handle<String> str,
|
306
|
+
int start,
|
307
|
+
int end,
|
308
|
+
PretenureFlag pretenure = NOT_TENURED);
|
289
309
|
|
290
310
|
|
291
311
|
// Sets the expected number of properties for the function's instances.
|
@@ -297,8 +317,6 @@ void SetPrototypeProperty(Handle<JSFunction> func, Handle<JSObject> value);
|
|
297
317
|
// Sets the expected number of properties based on estimate from compiler.
|
298
318
|
void SetExpectedNofPropertiesFromEstimate(Handle<SharedFunctionInfo> shared,
|
299
319
|
int estimate);
|
300
|
-
void SetExpectedNofPropertiesFromEstimate(Handle<JSFunction> func,
|
301
|
-
int estimate);
|
302
320
|
|
303
321
|
|
304
322
|
Handle<JSGlobalProxy> ReinitializeJSGlobalProxy(
|
@@ -313,23 +331,23 @@ Handle<Object> SetPrototype(Handle<JSFunction> function,
|
|
313
331
|
// false if the compilation resulted in a stack overflow.
|
314
332
|
enum ClearExceptionFlag { KEEP_EXCEPTION, CLEAR_EXCEPTION };
|
315
333
|
|
334
|
+
bool EnsureCompiled(Handle<SharedFunctionInfo> shared,
|
335
|
+
ClearExceptionFlag flag);
|
336
|
+
|
316
337
|
bool CompileLazyShared(Handle<SharedFunctionInfo> shared,
|
317
|
-
ClearExceptionFlag flag
|
318
|
-
|
338
|
+
ClearExceptionFlag flag);
|
339
|
+
|
340
|
+
bool CompileLazy(Handle<JSFunction> function,
|
341
|
+
Handle<Object> receiver,
|
342
|
+
ClearExceptionFlag flag);
|
319
343
|
|
320
|
-
bool
|
321
|
-
|
344
|
+
bool CompileLazyInLoop(Handle<JSFunction> function,
|
345
|
+
Handle<Object> receiver,
|
346
|
+
ClearExceptionFlag flag);
|
322
347
|
|
323
348
|
// Returns the lazy compilation stub for argc arguments.
|
324
349
|
Handle<Code> ComputeLazyCompile(int argc);
|
325
350
|
|
326
|
-
// These deal with lazily loaded properties.
|
327
|
-
void SetupLazy(Handle<JSObject> obj,
|
328
|
-
int index,
|
329
|
-
Handle<Context> compile_context,
|
330
|
-
Handle<Context> function_context);
|
331
|
-
void LoadLazy(Handle<JSObject> obj, bool* pending_exception);
|
332
|
-
|
333
351
|
class NoHandleAllocation BASE_EMBEDDED {
|
334
352
|
public:
|
335
353
|
#ifndef DEBUG
|