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
@@ -615,9 +615,6 @@ void Map::MapPrint() {
|
|
615
615
|
if (is_undetectable()) {
|
616
616
|
PrintF(" - undetectable\n");
|
617
617
|
}
|
618
|
-
if (needs_loading()) {
|
619
|
-
PrintF(" - needs_loading\n");
|
620
|
-
}
|
621
618
|
if (has_instance_call_handler()) {
|
622
619
|
PrintF(" - instance_call_handler\n");
|
623
620
|
}
|
@@ -644,6 +641,24 @@ void Map::MapVerify() {
|
|
644
641
|
}
|
645
642
|
|
646
643
|
|
644
|
+
void CodeCache::CodeCachePrint() {
|
645
|
+
HeapObject::PrintHeader("CodeCache");
|
646
|
+
PrintF("\n - default_cache: ");
|
647
|
+
default_cache()->ShortPrint();
|
648
|
+
PrintF("\n - normal_type_cache: ");
|
649
|
+
normal_type_cache()->ShortPrint();
|
650
|
+
}
|
651
|
+
|
652
|
+
|
653
|
+
void CodeCache::CodeCacheVerify() {
|
654
|
+
VerifyHeapPointer(default_cache());
|
655
|
+
VerifyHeapPointer(normal_type_cache());
|
656
|
+
ASSERT(default_cache()->IsFixedArray());
|
657
|
+
ASSERT(normal_type_cache()->IsUndefined()
|
658
|
+
|| normal_type_cache()->IsCodeCacheHashTable());
|
659
|
+
}
|
660
|
+
|
661
|
+
|
647
662
|
void FixedArray::FixedArrayPrint() {
|
648
663
|
HeapObject::PrintHeader("FixedArray");
|
649
664
|
PrintF(" - length: %d", length());
|
@@ -710,7 +725,6 @@ void String::StringVerify() {
|
|
710
725
|
void JSFunction::JSFunctionPrint() {
|
711
726
|
HeapObject::PrintHeader("Function");
|
712
727
|
PrintF(" - map = 0x%p\n", map());
|
713
|
-
PrintF(" - is boilerplate: %s\n", IsBoilerplate() ? "yes" : "no");
|
714
728
|
PrintF(" - initial_map = ");
|
715
729
|
if (has_initial_map()) {
|
716
730
|
initial_map()->ShortPrint();
|
@@ -771,7 +785,7 @@ void SharedFunctionInfo::SharedFunctionInfoVerify() {
|
|
771
785
|
VerifyObjectField(kNameOffset);
|
772
786
|
VerifyObjectField(kCodeOffset);
|
773
787
|
VerifyObjectField(kInstanceClassNameOffset);
|
774
|
-
VerifyObjectField(
|
788
|
+
VerifyObjectField(kFunctionDataOffset);
|
775
789
|
VerifyObjectField(kScriptOffset);
|
776
790
|
VerifyObjectField(kDebugInfoOffset);
|
777
791
|
}
|
@@ -1036,6 +1050,8 @@ void FunctionTemplateInfo::FunctionTemplateInfoVerify() {
|
|
1036
1050
|
|
1037
1051
|
void FunctionTemplateInfo::FunctionTemplateInfoPrint() {
|
1038
1052
|
HeapObject::PrintHeader("FunctionTemplateInfo");
|
1053
|
+
PrintF("\n - class name: ");
|
1054
|
+
class_name()->ShortPrint();
|
1039
1055
|
PrintF("\n - tag: ");
|
1040
1056
|
tag()->ShortPrint();
|
1041
1057
|
PrintF("\n - property_list: ");
|
@@ -1312,6 +1328,32 @@ bool DescriptorArray::IsSortedNoDuplicates() {
|
|
1312
1328
|
}
|
1313
1329
|
|
1314
1330
|
|
1331
|
+
void JSFunctionResultCache::JSFunctionResultCacheVerify() {
|
1332
|
+
JSFunction::cast(get(kFactoryIndex))->Verify();
|
1333
|
+
|
1334
|
+
int size = Smi::cast(get(kCacheSizeIndex))->value();
|
1335
|
+
ASSERT(kEntriesIndex <= size);
|
1336
|
+
ASSERT(size <= length());
|
1337
|
+
ASSERT_EQ(0, size % kEntrySize);
|
1338
|
+
|
1339
|
+
int finger = Smi::cast(get(kFingerIndex))->value();
|
1340
|
+
ASSERT(kEntriesIndex <= finger);
|
1341
|
+
ASSERT(finger < size || finger == kEntriesIndex);
|
1342
|
+
ASSERT_EQ(0, finger % kEntrySize);
|
1343
|
+
|
1344
|
+
if (FLAG_enable_slow_asserts) {
|
1345
|
+
for (int i = kEntriesIndex; i < size; i++) {
|
1346
|
+
ASSERT(!get(i)->IsTheHole());
|
1347
|
+
get(i)->Verify();
|
1348
|
+
}
|
1349
|
+
for (int i = size; i < length(); i++) {
|
1350
|
+
ASSERT(get(i)->IsTheHole());
|
1351
|
+
get(i)->Verify();
|
1352
|
+
}
|
1353
|
+
}
|
1354
|
+
}
|
1355
|
+
|
1356
|
+
|
1315
1357
|
#endif // DEBUG
|
1316
1358
|
|
1317
1359
|
} } // namespace v8::internal
|
@@ -255,6 +255,16 @@ bool String::IsTwoByteRepresentation() {
|
|
255
255
|
}
|
256
256
|
|
257
257
|
|
258
|
+
bool String::IsExternalTwoByteStringWithAsciiChars() {
|
259
|
+
if (!IsExternalTwoByteString()) return false;
|
260
|
+
const uc16* data = ExternalTwoByteString::cast(this)->resource()->data();
|
261
|
+
for (int i = 0, len = length(); i < len; i++) {
|
262
|
+
if (data[i] > kMaxAsciiCharCode) return false;
|
263
|
+
}
|
264
|
+
return true;
|
265
|
+
}
|
266
|
+
|
267
|
+
|
258
268
|
bool StringShape::IsCons() {
|
259
269
|
return (type_ & kStringRepresentationMask) == kConsStringTag;
|
260
270
|
}
|
@@ -559,11 +569,32 @@ bool Object::IsSymbolTable() {
|
|
559
569
|
}
|
560
570
|
|
561
571
|
|
572
|
+
bool Object::IsJSFunctionResultCache() {
|
573
|
+
if (!IsFixedArray()) return false;
|
574
|
+
FixedArray* self = FixedArray::cast(this);
|
575
|
+
int length = self->length();
|
576
|
+
if (length < JSFunctionResultCache::kEntriesIndex) return false;
|
577
|
+
if ((length - JSFunctionResultCache::kEntriesIndex)
|
578
|
+
% JSFunctionResultCache::kEntrySize != 0) {
|
579
|
+
return false;
|
580
|
+
}
|
581
|
+
#ifdef DEBUG
|
582
|
+
reinterpret_cast<JSFunctionResultCache*>(this)->JSFunctionResultCacheVerify();
|
583
|
+
#endif
|
584
|
+
return true;
|
585
|
+
}
|
586
|
+
|
587
|
+
|
562
588
|
bool Object::IsCompilationCacheTable() {
|
563
589
|
return IsHashTable();
|
564
590
|
}
|
565
591
|
|
566
592
|
|
593
|
+
bool Object::IsCodeCacheHashTable() {
|
594
|
+
return IsHashTable();
|
595
|
+
}
|
596
|
+
|
597
|
+
|
567
598
|
bool Object::IsMapCache() {
|
568
599
|
return IsHashTable();
|
569
600
|
}
|
@@ -727,7 +758,8 @@ Object* Object::GetProperty(String* key, PropertyAttributes* attributes) {
|
|
727
758
|
} else { \
|
728
759
|
ASSERT(mode == SKIP_WRITE_BARRIER); \
|
729
760
|
ASSERT(Heap::InNewSpace(object) || \
|
730
|
-
!Heap::InNewSpace(READ_FIELD(object, offset))
|
761
|
+
!Heap::InNewSpace(READ_FIELD(object, offset)) || \
|
762
|
+
Page::IsRSetSet(object->address(), offset)); \
|
731
763
|
}
|
732
764
|
|
733
765
|
#define READ_DOUBLE_FIELD(p, offset) \
|
@@ -840,15 +872,17 @@ Failure* Failure::OutOfMemoryException() {
|
|
840
872
|
|
841
873
|
|
842
874
|
intptr_t Failure::value() const {
|
843
|
-
return
|
875
|
+
return static_cast<intptr_t>(
|
876
|
+
reinterpret_cast<uintptr_t>(this) >> kFailureTagSize);
|
844
877
|
}
|
845
878
|
|
846
879
|
|
847
880
|
Failure* Failure::RetryAfterGC(int requested_bytes) {
|
848
881
|
// Assert that the space encoding fits in the three bytes allotted for it.
|
849
882
|
ASSERT((LAST_SPACE & ~kSpaceTagMask) == 0);
|
850
|
-
|
851
|
-
|
883
|
+
uintptr_t requested =
|
884
|
+
static_cast<uintptr_t>(requested_bytes >> kObjectAlignmentBits);
|
885
|
+
int tag_bits = kSpaceTagSize + kFailureTypeTagSize + kFailureTagSize;
|
852
886
|
if (((requested << tag_bits) >> tag_bits) != requested) {
|
853
887
|
// No room for entire requested size in the bits. Round down to
|
854
888
|
// maximally representable size.
|
@@ -861,7 +895,8 @@ Failure* Failure::RetryAfterGC(int requested_bytes) {
|
|
861
895
|
|
862
896
|
|
863
897
|
Failure* Failure::Construct(Type type, intptr_t value) {
|
864
|
-
|
898
|
+
uintptr_t info =
|
899
|
+
(static_cast<uintptr_t>(value) << kFailureTypeTagSize) | type;
|
865
900
|
ASSERT(((info << kFailureTagSize) >> kFailureTagSize) == info);
|
866
901
|
return reinterpret_cast<Failure*>((info << kFailureTagSize) | kFailureTag);
|
867
902
|
}
|
@@ -1113,6 +1148,17 @@ void HeapNumber::set_value(double value) {
|
|
1113
1148
|
}
|
1114
1149
|
|
1115
1150
|
|
1151
|
+
int HeapNumber::get_exponent() {
|
1152
|
+
return ((READ_INT_FIELD(this, kExponentOffset) & kExponentMask) >>
|
1153
|
+
kExponentShift) - kExponentBias;
|
1154
|
+
}
|
1155
|
+
|
1156
|
+
|
1157
|
+
int HeapNumber::get_sign() {
|
1158
|
+
return READ_INT_FIELD(this, kExponentOffset) & kSignMask;
|
1159
|
+
}
|
1160
|
+
|
1161
|
+
|
1116
1162
|
ACCESSORS(JSObject, properties, FixedArray, kPropertiesOffset)
|
1117
1163
|
|
1118
1164
|
|
@@ -1349,7 +1395,7 @@ void FixedArray::set(int index, Object* value) {
|
|
1349
1395
|
}
|
1350
1396
|
|
1351
1397
|
|
1352
|
-
WriteBarrierMode HeapObject::GetWriteBarrierMode() {
|
1398
|
+
WriteBarrierMode HeapObject::GetWriteBarrierMode(const AssertNoAllocation&) {
|
1353
1399
|
if (Heap::InNewSpace(this)) return SKIP_WRITE_BARRIER;
|
1354
1400
|
return UPDATE_WRITE_BARRIER;
|
1355
1401
|
}
|
@@ -1367,6 +1413,7 @@ void FixedArray::set(int index,
|
|
1367
1413
|
|
1368
1414
|
void FixedArray::fast_set(FixedArray* array, int index, Object* value) {
|
1369
1415
|
ASSERT(index >= 0 && index < array->length());
|
1416
|
+
ASSERT(!Heap::InNewSpace(value));
|
1370
1417
|
WRITE_FIELD(array, kHeaderSize + index * kPointerSize, value);
|
1371
1418
|
}
|
1372
1419
|
|
@@ -1393,6 +1440,11 @@ void FixedArray::set_the_hole(int index) {
|
|
1393
1440
|
}
|
1394
1441
|
|
1395
1442
|
|
1443
|
+
Object** FixedArray::data_start() {
|
1444
|
+
return HeapObject::RawField(this, kHeaderSize);
|
1445
|
+
}
|
1446
|
+
|
1447
|
+
|
1396
1448
|
bool DescriptorArray::IsEmpty() {
|
1397
1449
|
ASSERT(this == Heap::empty_descriptor_array() ||
|
1398
1450
|
this->length() > 2);
|
@@ -1547,9 +1599,7 @@ uint32_t NumberDictionary::max_number_key() {
|
|
1547
1599
|
}
|
1548
1600
|
|
1549
1601
|
void NumberDictionary::set_requires_slow_elements() {
|
1550
|
-
set(kMaxNumberKeyIndex,
|
1551
|
-
Smi::FromInt(kRequiresSlowElementsMask),
|
1552
|
-
SKIP_WRITE_BARRIER);
|
1602
|
+
set(kMaxNumberKeyIndex, Smi::FromInt(kRequiresSlowElementsMask));
|
1553
1603
|
}
|
1554
1604
|
|
1555
1605
|
|
@@ -1560,7 +1610,9 @@ void NumberDictionary::set_requires_slow_elements() {
|
|
1560
1610
|
CAST_ACCESSOR(FixedArray)
|
1561
1611
|
CAST_ACCESSOR(DescriptorArray)
|
1562
1612
|
CAST_ACCESSOR(SymbolTable)
|
1613
|
+
CAST_ACCESSOR(JSFunctionResultCache)
|
1563
1614
|
CAST_ACCESSOR(CompilationCacheTable)
|
1615
|
+
CAST_ACCESSOR(CodeCacheHashTable)
|
1564
1616
|
CAST_ACCESSOR(MapCache)
|
1565
1617
|
CAST_ACCESSOR(String)
|
1566
1618
|
CAST_ACCESSOR(SeqString)
|
@@ -1616,7 +1668,7 @@ HashTable<Shape, Key>* HashTable<Shape, Key>::cast(Object* obj) {
|
|
1616
1668
|
INT_ACCESSORS(Array, length, kLengthOffset)
|
1617
1669
|
|
1618
1670
|
|
1619
|
-
|
1671
|
+
SMI_ACCESSORS(String, length, kLengthOffset)
|
1620
1672
|
|
1621
1673
|
|
1622
1674
|
uint32_t String::hash_field() {
|
@@ -1638,13 +1690,11 @@ bool String::Equals(String* other) {
|
|
1638
1690
|
}
|
1639
1691
|
|
1640
1692
|
|
1641
|
-
Object* String::
|
1693
|
+
Object* String::TryFlatten(PretenureFlag pretenure) {
|
1642
1694
|
// We don't need to flatten strings that are already flat. Since this code
|
1643
1695
|
// is inlined, it can be helpful in the flat case to not call out to Flatten.
|
1644
|
-
if (
|
1645
|
-
|
1646
|
-
}
|
1647
|
-
return this;
|
1696
|
+
if (IsFlat()) return this;
|
1697
|
+
return SlowTryFlatten(pretenure);
|
1648
1698
|
}
|
1649
1699
|
|
1650
1700
|
|
@@ -1740,14 +1790,12 @@ void SeqTwoByteString::SeqTwoByteStringSet(int index, uint16_t value) {
|
|
1740
1790
|
|
1741
1791
|
|
1742
1792
|
int SeqTwoByteString::SeqTwoByteStringSize(InstanceType instance_type) {
|
1743
|
-
|
1744
|
-
return SizeFor(length);
|
1793
|
+
return SizeFor(length());
|
1745
1794
|
}
|
1746
1795
|
|
1747
1796
|
|
1748
1797
|
int SeqAsciiString::SeqAsciiStringSize(InstanceType instance_type) {
|
1749
|
-
|
1750
|
-
return SizeFor(length);
|
1798
|
+
return SizeFor(length());
|
1751
1799
|
}
|
1752
1800
|
|
1753
1801
|
|
@@ -1805,6 +1853,20 @@ void ExternalTwoByteString::set_resource(
|
|
1805
1853
|
}
|
1806
1854
|
|
1807
1855
|
|
1856
|
+
void JSFunctionResultCache::MakeZeroSize() {
|
1857
|
+
set(kFingerIndex, Smi::FromInt(kEntriesIndex));
|
1858
|
+
set(kCacheSizeIndex, Smi::FromInt(kEntriesIndex));
|
1859
|
+
}
|
1860
|
+
|
1861
|
+
|
1862
|
+
void JSFunctionResultCache::Clear() {
|
1863
|
+
int cache_size = Smi::cast(get(kCacheSizeIndex))->value();
|
1864
|
+
Object** entries_start = RawField(this, OffsetOfElementAt(kEntriesIndex));
|
1865
|
+
MemsetPointer(entries_start, Heap::the_hole_value(), cache_size);
|
1866
|
+
MakeZeroSize();
|
1867
|
+
}
|
1868
|
+
|
1869
|
+
|
1808
1870
|
byte ByteArray::get(int index) {
|
1809
1871
|
ASSERT(index >= 0 && index < this->length());
|
1810
1872
|
return READ_BYTE_FIELD(this, kHeaderSize + index * kCharSize);
|
@@ -2080,6 +2142,20 @@ bool Map::has_non_instance_prototype() {
|
|
2080
2142
|
}
|
2081
2143
|
|
2082
2144
|
|
2145
|
+
void Map::set_function_with_prototype(bool value) {
|
2146
|
+
if (value) {
|
2147
|
+
set_bit_field2(bit_field2() | (1 << kFunctionWithPrototype));
|
2148
|
+
} else {
|
2149
|
+
set_bit_field2(bit_field2() & ~(1 << kFunctionWithPrototype));
|
2150
|
+
}
|
2151
|
+
}
|
2152
|
+
|
2153
|
+
|
2154
|
+
bool Map::function_with_prototype() {
|
2155
|
+
return ((1 << kFunctionWithPrototype) & bit_field2()) != 0;
|
2156
|
+
}
|
2157
|
+
|
2158
|
+
|
2083
2159
|
void Map::set_is_access_check_needed(bool access_check_needed) {
|
2084
2160
|
if (access_check_needed) {
|
2085
2161
|
set_bit_field(bit_field() | (1 << kIsAccessCheckNeeded));
|
@@ -2144,14 +2220,14 @@ int Code::arguments_count() {
|
|
2144
2220
|
|
2145
2221
|
|
2146
2222
|
CodeStub::Major Code::major_key() {
|
2147
|
-
ASSERT(kind() == STUB);
|
2223
|
+
ASSERT(kind() == STUB || kind() == BINARY_OP_IC);
|
2148
2224
|
return static_cast<CodeStub::Major>(READ_BYTE_FIELD(this,
|
2149
2225
|
kStubMajorKeyOffset));
|
2150
2226
|
}
|
2151
2227
|
|
2152
2228
|
|
2153
2229
|
void Code::set_major_key(CodeStub::Major major) {
|
2154
|
-
ASSERT(kind() == STUB);
|
2230
|
+
ASSERT(kind() == STUB || kind() == BINARY_OP_IC);
|
2155
2231
|
ASSERT(0 <= major && major < 256);
|
2156
2232
|
WRITE_BYTE_FIELD(this, kStubMajorKeyOffset, major);
|
2157
2233
|
}
|
@@ -2253,7 +2329,7 @@ void Map::set_prototype(Object* value, WriteBarrierMode mode) {
|
|
2253
2329
|
|
2254
2330
|
ACCESSORS(Map, instance_descriptors, DescriptorArray,
|
2255
2331
|
kInstanceDescriptorsOffset)
|
2256
|
-
ACCESSORS(Map, code_cache,
|
2332
|
+
ACCESSORS(Map, code_cache, Object, kCodeCacheOffset)
|
2257
2333
|
ACCESSORS(Map, constructor, Object, kConstructorOffset)
|
2258
2334
|
|
2259
2335
|
ACCESSORS(JSFunction, shared, SharedFunctionInfo, kSharedFunctionInfoOffset)
|
@@ -2346,12 +2422,11 @@ ACCESSORS(BreakPointInfo, statement_position, Smi, kStatementPositionIndex)
|
|
2346
2422
|
ACCESSORS(BreakPointInfo, break_point_objects, Object, kBreakPointObjectsIndex)
|
2347
2423
|
#endif
|
2348
2424
|
|
2349
|
-
ACCESSORS(SharedFunctionInfo, construct_stub, Code, kConstructStubOffset)
|
2350
2425
|
ACCESSORS(SharedFunctionInfo, name, Object, kNameOffset)
|
2426
|
+
ACCESSORS(SharedFunctionInfo, construct_stub, Code, kConstructStubOffset)
|
2351
2427
|
ACCESSORS(SharedFunctionInfo, instance_class_name, Object,
|
2352
2428
|
kInstanceClassNameOffset)
|
2353
|
-
ACCESSORS(SharedFunctionInfo, function_data, Object,
|
2354
|
-
kExternalReferenceDataOffset)
|
2429
|
+
ACCESSORS(SharedFunctionInfo, function_data, Object, kFunctionDataOffset)
|
2355
2430
|
ACCESSORS(SharedFunctionInfo, script, Object, kScriptOffset)
|
2356
2431
|
ACCESSORS(SharedFunctionInfo, debug_info, Object, kDebugInfoOffset)
|
2357
2432
|
ACCESSORS(SharedFunctionInfo, inferred_name, String, kInferredNameOffset)
|
@@ -2372,14 +2447,15 @@ BOOL_GETTER(SharedFunctionInfo, compiler_hints,
|
|
2372
2447
|
kHasOnlySimpleThisPropertyAssignments)
|
2373
2448
|
BOOL_ACCESSORS(SharedFunctionInfo,
|
2374
2449
|
compiler_hints,
|
2375
|
-
|
2376
|
-
|
2450
|
+
try_full_codegen,
|
2451
|
+
kTryFullCodegen)
|
2377
2452
|
|
2378
2453
|
INT_ACCESSORS(SharedFunctionInfo, length, kLengthOffset)
|
2379
2454
|
INT_ACCESSORS(SharedFunctionInfo, formal_parameter_count,
|
2380
2455
|
kFormalParameterCountOffset)
|
2381
2456
|
INT_ACCESSORS(SharedFunctionInfo, expected_nof_properties,
|
2382
2457
|
kExpectedNofPropertiesOffset)
|
2458
|
+
INT_ACCESSORS(SharedFunctionInfo, num_literals, kNumLiteralsOffset)
|
2383
2459
|
INT_ACCESSORS(SharedFunctionInfo, start_position_and_type,
|
2384
2460
|
kStartPositionAndTypeOffset)
|
2385
2461
|
INT_ACCESSORS(SharedFunctionInfo, end_position, kEndPositionOffset)
|
@@ -2391,6 +2467,9 @@ INT_ACCESSORS(SharedFunctionInfo, this_property_assignments_count,
|
|
2391
2467
|
kThisPropertyAssignmentsCountOffset)
|
2392
2468
|
|
2393
2469
|
|
2470
|
+
ACCESSORS(CodeCache, default_cache, FixedArray, kDefaultCacheOffset)
|
2471
|
+
ACCESSORS(CodeCache, normal_type_cache, Object, kNormalTypeCacheOffset)
|
2472
|
+
|
2394
2473
|
bool Script::HasValidSource() {
|
2395
2474
|
Object* src = this->source();
|
2396
2475
|
if (!src->IsString()) return true;
|
@@ -2439,18 +2518,24 @@ bool SharedFunctionInfo::is_compiled() {
|
|
2439
2518
|
}
|
2440
2519
|
|
2441
2520
|
|
2442
|
-
bool
|
2443
|
-
return
|
2521
|
+
bool SharedFunctionInfo::IsApiFunction() {
|
2522
|
+
return function_data()->IsFunctionTemplateInfo();
|
2444
2523
|
}
|
2445
2524
|
|
2446
2525
|
|
2447
|
-
|
2448
|
-
|
2526
|
+
FunctionTemplateInfo* SharedFunctionInfo::get_api_func_data() {
|
2527
|
+
ASSERT(IsApiFunction());
|
2528
|
+
return FunctionTemplateInfo::cast(function_data());
|
2449
2529
|
}
|
2450
2530
|
|
2451
2531
|
|
2452
|
-
bool
|
2453
|
-
return
|
2532
|
+
bool SharedFunctionInfo::HasCustomCallGenerator() {
|
2533
|
+
return function_data()->IsProxy();
|
2534
|
+
}
|
2535
|
+
|
2536
|
+
|
2537
|
+
bool JSFunction::IsBuiltin() {
|
2538
|
+
return context()->global()->IsJSBuiltinsObject();
|
2454
2539
|
}
|
2455
2540
|
|
2456
2541
|
|
@@ -2526,6 +2611,10 @@ Object* JSFunction::prototype() {
|
|
2526
2611
|
return instance_prototype();
|
2527
2612
|
}
|
2528
2613
|
|
2614
|
+
bool JSFunction::should_have_prototype() {
|
2615
|
+
return map()->function_with_prototype();
|
2616
|
+
}
|
2617
|
+
|
2529
2618
|
|
2530
2619
|
bool JSFunction::is_compiled() {
|
2531
2620
|
return shared()->is_compiled();
|
@@ -2539,15 +2628,29 @@ int JSFunction::NumberOfLiterals() {
|
|
2539
2628
|
|
2540
2629
|
Object* JSBuiltinsObject::javascript_builtin(Builtins::JavaScript id) {
|
2541
2630
|
ASSERT(0 <= id && id < kJSBuiltinsCount);
|
2542
|
-
return READ_FIELD(this,
|
2631
|
+
return READ_FIELD(this, OffsetOfFunctionWithId(id));
|
2543
2632
|
}
|
2544
2633
|
|
2545
2634
|
|
2546
2635
|
void JSBuiltinsObject::set_javascript_builtin(Builtins::JavaScript id,
|
2547
2636
|
Object* value) {
|
2548
2637
|
ASSERT(0 <= id && id < kJSBuiltinsCount);
|
2549
|
-
WRITE_FIELD(this,
|
2550
|
-
WRITE_BARRIER(this,
|
2638
|
+
WRITE_FIELD(this, OffsetOfFunctionWithId(id), value);
|
2639
|
+
WRITE_BARRIER(this, OffsetOfFunctionWithId(id));
|
2640
|
+
}
|
2641
|
+
|
2642
|
+
|
2643
|
+
Code* JSBuiltinsObject::javascript_builtin_code(Builtins::JavaScript id) {
|
2644
|
+
ASSERT(0 <= id && id < kJSBuiltinsCount);
|
2645
|
+
return Code::cast(READ_FIELD(this, OffsetOfCodeWithId(id)));
|
2646
|
+
}
|
2647
|
+
|
2648
|
+
|
2649
|
+
void JSBuiltinsObject::set_javascript_builtin_code(Builtins::JavaScript id,
|
2650
|
+
Code* value) {
|
2651
|
+
ASSERT(0 <= id && id < kJSBuiltinsCount);
|
2652
|
+
WRITE_FIELD(this, OffsetOfCodeWithId(id), value);
|
2653
|
+
ASSERT(!Heap::InNewSpace(value));
|
2551
2654
|
}
|
2552
2655
|
|
2553
2656
|
|
@@ -2774,6 +2877,13 @@ bool JSObject::HasIndexedInterceptor() {
|
|
2774
2877
|
}
|
2775
2878
|
|
2776
2879
|
|
2880
|
+
bool JSObject::AllowsSetElementsLength() {
|
2881
|
+
bool result = elements()->IsFixedArray();
|
2882
|
+
ASSERT(result == (!HasPixelElements() && !HasExternalArrayElements()));
|
2883
|
+
return result;
|
2884
|
+
}
|
2885
|
+
|
2886
|
+
|
2777
2887
|
StringDictionary* JSObject::property_dictionary() {
|
2778
2888
|
ASSERT(!HasFastProperties());
|
2779
2889
|
return StringDictionary::cast(properties());
|
@@ -2972,7 +3082,8 @@ void Dictionary<Shape, Key>::SetEntry(int entry,
|
|
2972
3082
|
PropertyDetails details) {
|
2973
3083
|
ASSERT(!key->IsString() || details.IsDeleted() || details.index() > 0);
|
2974
3084
|
int index = HashTable<Shape, Key>::EntryToIndex(entry);
|
2975
|
-
|
3085
|
+
AssertNoAllocation no_gc;
|
3086
|
+
WriteBarrierMode mode = FixedArray::GetWriteBarrierMode(no_gc);
|
2976
3087
|
FixedArray::set(index, key, mode);
|
2977
3088
|
FixedArray::set(index+1, value, mode);
|
2978
3089
|
FixedArray::fast_set(this, index+2, details.AsSmi());
|
@@ -3006,8 +3117,13 @@ void JSArray::EnsureSize(int required_size) {
|
|
3006
3117
|
}
|
3007
3118
|
|
3008
3119
|
|
3120
|
+
void JSArray::set_length(Smi* length) {
|
3121
|
+
set_length(static_cast<Object*>(length), SKIP_WRITE_BARRIER);
|
3122
|
+
}
|
3123
|
+
|
3124
|
+
|
3009
3125
|
void JSArray::SetContent(FixedArray* storage) {
|
3010
|
-
set_length(Smi::FromInt(storage->length())
|
3126
|
+
set_length(Smi::FromInt(storage->length()));
|
3011
3127
|
set_elements(storage);
|
3012
3128
|
}
|
3013
3129
|
|