therubyracer 0.7.4 → 0.7.5
Sign up to get free protection for your applications and to get access to all the features.
Potentially problematic release.
This version of therubyracer might be problematic. Click here for more details.
- data/History.txt +11 -0
- data/Rakefile +1 -1
- data/ext/v8/extconf.rb +0 -18
- data/ext/v8/rr.cpp +2 -2
- data/ext/v8/upstream/{2.1.10 → 2.3.3}/AUTHORS +1 -0
- data/ext/v8/upstream/{2.1.10 → 2.3.3}/ChangeLog +239 -0
- data/ext/v8/upstream/{2.1.10 → 2.3.3}/LICENSE +0 -0
- data/ext/v8/upstream/{2.1.10 → 2.3.3}/SConstruct +29 -17
- data/ext/v8/upstream/{2.1.10 → 2.3.3}/include/v8-debug.h +61 -3
- data/ext/v8/upstream/{2.1.10 → 2.3.3}/include/v8-profiler.h +182 -5
- data/ext/v8/upstream/{2.1.10 → 2.3.3}/include/v8.h +458 -257
- data/ext/v8/upstream/{2.1.10 → 2.3.3}/src/SConscript +2 -5
- data/ext/v8/upstream/{2.1.10 → 2.3.3}/src/accessors.cc +2 -2
- data/ext/v8/upstream/{2.1.10 → 2.3.3}/src/accessors.h +0 -0
- data/ext/v8/upstream/{2.1.10 → 2.3.3}/src/allocation.cc +0 -0
- data/ext/v8/upstream/{2.1.10 → 2.3.3}/src/allocation.h +0 -0
- data/ext/v8/upstream/{2.1.10 → 2.3.3}/src/api.cc +574 -30
- data/ext/v8/upstream/{2.1.10 → 2.3.3}/src/api.h +12 -10
- data/ext/v8/upstream/{2.1.10 → 2.3.3}/src/apinatives.js +0 -0
- data/ext/v8/upstream/{2.1.10 → 2.3.3}/src/apiutils.h +0 -0
- data/ext/v8/upstream/{2.1.10 → 2.3.3}/src/arguments.h +0 -0
- data/ext/v8/upstream/{2.1.10 → 2.3.3}/src/arm/assembler-arm-inl.h +38 -15
- data/ext/v8/upstream/{2.1.10 → 2.3.3}/src/arm/assembler-arm.cc +646 -101
- data/ext/v8/upstream/{2.1.10 → 2.3.3}/src/arm/assembler-arm.h +174 -15
- data/ext/v8/upstream/{2.1.10 → 2.3.3}/src/arm/builtins-arm.cc +56 -47
- data/ext/v8/upstream/2.3.3/src/arm/codegen-arm-inl.h +48 -0
- data/ext/v8/upstream/{2.1.10 → 2.3.3}/src/arm/codegen-arm.cc +2957 -1448
- data/ext/v8/upstream/{2.1.10 → 2.3.3}/src/arm/codegen-arm.h +230 -74
- data/ext/v8/upstream/{2.1.10 → 2.3.3}/src/arm/constants-arm.cc +25 -1
- data/ext/v8/upstream/{2.1.10 → 2.3.3}/src/arm/constants-arm.h +16 -1
- data/ext/v8/upstream/{2.1.10 → 2.3.3}/src/arm/cpu-arm.cc +4 -0
- data/ext/v8/upstream/{2.1.10 → 2.3.3}/src/arm/debug-arm.cc +76 -6
- data/ext/v8/upstream/{2.1.10 → 2.3.3}/src/arm/disasm-arm.cc +168 -20
- data/ext/v8/upstream/{2.1.10 → 2.3.3}/src/arm/fast-codegen-arm.cc +5 -2
- data/ext/v8/upstream/{2.1.10 → 2.3.3}/src/arm/frames-arm.cc +4 -4
- data/ext/v8/upstream/{2.1.10 → 2.3.3}/src/arm/frames-arm.h +0 -0
- data/ext/v8/upstream/{2.1.10 → 2.3.3}/src/arm/full-codegen-arm.cc +1558 -248
- data/ext/v8/upstream/2.3.3/src/arm/ic-arm.cc +2258 -0
- data/ext/v8/upstream/{2.1.10 → 2.3.3}/src/arm/jump-target-arm.cc +55 -103
- data/ext/v8/upstream/{2.1.10 → 2.3.3}/src/arm/macro-assembler-arm.cc +358 -185
- data/ext/v8/upstream/{2.1.10 → 2.3.3}/src/arm/macro-assembler-arm.h +136 -41
- data/ext/v8/upstream/{2.1.10 → 2.3.3}/src/arm/regexp-macro-assembler-arm.cc +26 -5
- data/ext/v8/upstream/{2.1.10 → 2.3.3}/src/arm/regexp-macro-assembler-arm.h +0 -0
- data/ext/v8/upstream/{2.1.10 → 2.3.3}/src/arm/register-allocator-arm-inl.h +0 -0
- data/ext/v8/upstream/{2.1.10 → 2.3.3}/src/arm/register-allocator-arm.cc +4 -0
- data/ext/v8/upstream/{2.1.10 → 2.3.3}/src/arm/register-allocator-arm.h +0 -0
- data/ext/v8/upstream/{2.1.10 → 2.3.3}/src/arm/simulator-arm.cc +203 -22
- data/ext/v8/upstream/{2.1.10 → 2.3.3}/src/arm/simulator-arm.h +7 -0
- data/ext/v8/upstream/{2.1.10 → 2.3.3}/src/arm/stub-cache-arm.cc +531 -324
- data/ext/v8/upstream/2.3.3/src/arm/virtual-frame-arm-inl.h +59 -0
- data/ext/v8/upstream/{2.1.10 → 2.3.3}/src/arm/virtual-frame-arm.cc +247 -81
- data/ext/v8/upstream/{2.1.10 → 2.3.3}/src/arm/virtual-frame-arm.h +99 -83
- data/ext/v8/upstream/{2.1.10 → 2.3.3}/src/array.js +2 -2
- data/ext/v8/upstream/{2.1.10 → 2.3.3}/src/assembler.cc +6 -13
- data/ext/v8/upstream/{2.1.10 → 2.3.3}/src/assembler.h +36 -10
- data/ext/v8/upstream/2.3.3/src/ast-inl.h +81 -0
- data/ext/v8/upstream/{2.1.10 → 2.3.3}/src/ast.cc +14 -0
- data/ext/v8/upstream/{2.1.10 → 2.3.3}/src/ast.h +20 -35
- data/ext/v8/upstream/{2.1.10 → 2.3.3}/src/bootstrapper.cc +32 -1
- data/ext/v8/upstream/{2.1.10 → 2.3.3}/src/bootstrapper.h +0 -4
- data/ext/v8/upstream/{2.1.10 → 2.3.3}/src/builtins.cc +50 -33
- data/ext/v8/upstream/{2.1.10 → 2.3.3}/src/builtins.h +2 -0
- data/ext/v8/upstream/{2.1.10 → 2.3.3}/src/bytecodes-irregexp.h +0 -0
- data/ext/v8/upstream/{2.1.10 → 2.3.3}/src/cached-powers.h +0 -0
- data/ext/v8/upstream/{2.1.10 → 2.3.3}/src/char-predicates-inl.h +0 -0
- data/ext/v8/upstream/{2.1.10 → 2.3.3}/src/char-predicates.h +0 -0
- data/ext/v8/upstream/{2.1.10 → 2.3.3}/src/checks.cc +0 -0
- data/ext/v8/upstream/{2.1.10 → 2.3.3}/src/checks.h +8 -6
- data/ext/v8/upstream/2.3.3/src/circular-queue-inl.h +53 -0
- data/ext/v8/upstream/{2.1.10 → 2.3.3}/src/circular-queue.cc +0 -0
- data/ext/v8/upstream/{2.1.10 → 2.3.3}/src/circular-queue.h +0 -26
- data/ext/v8/upstream/{2.1.10 → 2.3.3}/src/code-stubs.cc +2 -4
- data/ext/v8/upstream/{2.1.10 → 2.3.3}/src/code-stubs.h +1 -0
- data/ext/v8/upstream/{2.1.10 → 2.3.3}/src/code.h +0 -0
- data/ext/v8/upstream/{2.1.10 → 2.3.3}/src/codegen-inl.h +0 -0
- data/ext/v8/upstream/{2.1.10 → 2.3.3}/src/codegen.cc +44 -13
- data/ext/v8/upstream/{2.1.10 → 2.3.3}/src/codegen.h +310 -31
- data/ext/v8/upstream/{2.1.10 → 2.3.3}/src/compilation-cache.cc +28 -0
- data/ext/v8/upstream/{2.1.10 → 2.3.3}/src/compilation-cache.h +3 -0
- data/ext/v8/upstream/{2.1.10 → 2.3.3}/src/compiler.cc +45 -14
- data/ext/v8/upstream/{2.1.10 → 2.3.3}/src/compiler.h +0 -0
- data/ext/v8/upstream/{2.1.10 → 2.3.3}/src/contexts.cc +11 -11
- data/ext/v8/upstream/{2.1.10 → 2.3.3}/src/contexts.h +0 -0
- data/ext/v8/upstream/{2.1.10 → 2.3.3}/src/conversions-inl.h +0 -0
- data/ext/v8/upstream/{2.1.10 → 2.3.3}/src/conversions.cc +25 -11
- data/ext/v8/upstream/{2.1.10 → 2.3.3}/src/conversions.h +0 -0
- data/ext/v8/upstream/{2.1.10 → 2.3.3}/src/counters.cc +0 -0
- data/ext/v8/upstream/{2.1.10 → 2.3.3}/src/counters.h +0 -0
- data/ext/v8/upstream/{2.1.10 → 2.3.3}/src/cpu-profiler-inl.h +2 -1
- data/ext/v8/upstream/{2.1.10 → 2.3.3}/src/cpu-profiler.cc +68 -24
- data/ext/v8/upstream/{2.1.10 → 2.3.3}/src/cpu-profiler.h +19 -11
- data/ext/v8/upstream/{2.1.10 → 2.3.3}/src/cpu.h +0 -0
- data/ext/v8/upstream/{2.1.10 → 2.3.3}/src/d8-debug.cc +0 -0
- data/ext/v8/upstream/{2.1.10 → 2.3.3}/src/d8-debug.h +0 -0
- data/ext/v8/upstream/{2.1.10 → 2.3.3}/src/d8-posix.cc +0 -0
- data/ext/v8/upstream/{2.1.10 → 2.3.3}/src/d8-readline.cc +0 -0
- data/ext/v8/upstream/{2.1.10 → 2.3.3}/src/d8-windows.cc +0 -0
- data/ext/v8/upstream/{2.1.10 → 2.3.3}/src/d8.cc +3 -0
- data/ext/v8/upstream/{2.1.10 → 2.3.3}/src/d8.h +0 -0
- data/ext/v8/upstream/{2.1.10 → 2.3.3}/src/d8.js +55 -2
- data/ext/v8/upstream/{2.1.10 → 2.3.3}/src/data-flow.cc +3 -0
- data/ext/v8/upstream/{2.1.10 → 2.3.3}/src/data-flow.h +0 -0
- data/ext/v8/upstream/{2.1.10 → 2.3.3}/src/date.js +68 -137
- data/ext/v8/upstream/{2.1.10 → 2.3.3}/src/dateparser-inl.h +0 -0
- data/ext/v8/upstream/{2.1.10 → 2.3.3}/src/dateparser.cc +2 -8
- data/ext/v8/upstream/{2.1.10 → 2.3.3}/src/dateparser.h +0 -0
- data/ext/v8/upstream/{2.1.10 → 2.3.3}/src/debug-agent.cc +3 -3
- data/ext/v8/upstream/{2.1.10 → 2.3.3}/src/debug-agent.h +0 -0
- data/ext/v8/upstream/{2.1.10 → 2.3.3}/src/debug-debugger.js +81 -23
- data/ext/v8/upstream/{2.1.10 → 2.3.3}/src/debug.cc +275 -81
- data/ext/v8/upstream/{2.1.10 → 2.3.3}/src/debug.h +85 -6
- data/ext/v8/upstream/{2.1.10 → 2.3.3}/src/disasm.h +0 -0
- data/ext/v8/upstream/{2.1.10 → 2.3.3}/src/disassembler.cc +1 -1
- data/ext/v8/upstream/{2.1.10 → 2.3.3}/src/disassembler.h +0 -0
- data/ext/v8/upstream/{2.1.10 → 2.3.3}/src/diy-fp.cc +0 -0
- data/ext/v8/upstream/{2.1.10 → 2.3.3}/src/diy-fp.h +0 -0
- data/ext/v8/upstream/{2.1.10 → 2.3.3}/src/double.h +0 -0
- data/ext/v8/upstream/{2.1.10 → 2.3.3}/src/dtoa-config.c +0 -0
- data/ext/v8/upstream/2.3.3/src/dtoa.cc +77 -0
- data/ext/v8/upstream/2.3.3/src/dtoa.h +81 -0
- data/ext/v8/upstream/{2.1.10 → 2.3.3}/src/execution.cc +111 -3
- data/ext/v8/upstream/{2.1.10 → 2.3.3}/src/execution.h +12 -1
- data/ext/v8/upstream/{2.1.10 → 2.3.3}/src/factory.cc +25 -3
- data/ext/v8/upstream/{2.1.10 → 2.3.3}/src/factory.h +16 -9
- data/ext/v8/upstream/{2.1.10 → 2.3.3}/src/fast-codegen.cc +0 -0
- data/ext/v8/upstream/{2.1.10 → 2.3.3}/src/fast-codegen.h +0 -0
- data/ext/v8/upstream/{2.1.10 → 2.3.3}/src/fast-dtoa.cc +2 -9
- data/ext/v8/upstream/{2.1.10 → 2.3.3}/src/fast-dtoa.h +1 -2
- data/ext/v8/upstream/2.3.3/src/fixed-dtoa.cc +405 -0
- data/ext/v8/upstream/{2.1.10/src/jump-target-light.cc → 2.3.3/src/fixed-dtoa.h} +22 -53
- data/ext/v8/upstream/{2.1.10 → 2.3.3}/src/flag-definitions.h +14 -6
- data/ext/v8/upstream/{2.1.10 → 2.3.3}/src/flags.cc +5 -9
- data/ext/v8/upstream/{2.1.10 → 2.3.3}/src/flags.h +0 -0
- data/ext/v8/upstream/{2.1.10 → 2.3.3}/src/flow-graph.cc +0 -0
- data/ext/v8/upstream/{2.1.10 → 2.3.3}/src/flow-graph.h +0 -0
- data/ext/v8/upstream/{2.1.10 → 2.3.3}/src/frame-element.cc +0 -0
- data/ext/v8/upstream/{2.1.10 → 2.3.3}/src/frame-element.h +0 -0
- data/ext/v8/upstream/{2.1.10 → 2.3.3}/src/frames-inl.h +0 -0
- data/ext/v8/upstream/{2.1.10 → 2.3.3}/src/frames.cc +5 -2
- data/ext/v8/upstream/{2.1.10 → 2.3.3}/src/frames.h +1 -0
- data/ext/v8/upstream/{2.1.10 → 2.3.3}/src/full-codegen.cc +387 -20
- data/ext/v8/upstream/{2.1.10 → 2.3.3}/src/full-codegen.h +102 -5
- data/ext/v8/upstream/{2.1.10 → 2.3.3}/src/func-name-inferrer.cc +0 -0
- data/ext/v8/upstream/{2.1.10 → 2.3.3}/src/func-name-inferrer.h +0 -0
- data/ext/v8/upstream/{2.1.10 → 2.3.3}/src/global-handles.cc +8 -4
- data/ext/v8/upstream/{2.1.10 → 2.3.3}/src/global-handles.h +0 -0
- data/ext/v8/upstream/{2.1.10 → 2.3.3}/src/globals.h +44 -7
- data/ext/v8/upstream/{2.1.10 → 2.3.3}/src/handles-inl.h +0 -0
- data/ext/v8/upstream/{2.1.10 → 2.3.3}/src/handles.cc +19 -0
- data/ext/v8/upstream/{2.1.10 → 2.3.3}/src/handles.h +8 -0
- data/ext/v8/upstream/{2.1.10 → 2.3.3}/src/hashmap.cc +0 -0
- data/ext/v8/upstream/{2.1.10 → 2.3.3}/src/hashmap.h +0 -0
- data/ext/v8/upstream/{2.1.10 → 2.3.3}/src/heap-inl.h +56 -14
- data/ext/v8/upstream/{2.1.10 → 2.3.3}/src/heap-profiler.cc +85 -1
- data/ext/v8/upstream/{2.1.10 → 2.3.3}/src/heap-profiler.h +45 -1
- data/ext/v8/upstream/{2.1.10 → 2.3.3}/src/heap.cc +994 -396
- data/ext/v8/upstream/{2.1.10 → 2.3.3}/src/heap.h +220 -65
- data/ext/v8/upstream/{2.1.10 → 2.3.3}/src/ia32/assembler-ia32-inl.h +41 -12
- data/ext/v8/upstream/{2.1.10 → 2.3.3}/src/ia32/assembler-ia32.cc +94 -24
- data/ext/v8/upstream/{2.1.10 → 2.3.3}/src/ia32/assembler-ia32.h +32 -4
- data/ext/v8/upstream/{2.1.10 → 2.3.3}/src/ia32/builtins-ia32.cc +42 -30
- data/ext/v8/upstream/{2.1.10 → 2.3.3}/src/ia32/codegen-ia32-inl.h +0 -0
- data/ext/v8/upstream/{2.1.10 → 2.3.3}/src/ia32/codegen-ia32.cc +1758 -916
- data/ext/v8/upstream/{2.1.10 → 2.3.3}/src/ia32/codegen-ia32.h +67 -74
- data/ext/v8/upstream/{2.1.10 → 2.3.3}/src/ia32/cpu-ia32.cc +4 -0
- data/ext/v8/upstream/{2.1.10 → 2.3.3}/src/ia32/debug-ia32.cc +46 -0
- data/ext/v8/upstream/{2.1.10 → 2.3.3}/src/ia32/disasm-ia32.cc +37 -6
- data/ext/v8/upstream/{2.1.10 → 2.3.3}/src/ia32/fast-codegen-ia32.cc +4 -0
- data/ext/v8/upstream/{2.1.10 → 2.3.3}/src/ia32/fast-codegen-ia32.h +0 -0
- data/ext/v8/upstream/{2.1.10 → 2.3.3}/src/ia32/frames-ia32.cc +4 -0
- data/ext/v8/upstream/{2.1.10 → 2.3.3}/src/ia32/frames-ia32.h +0 -0
- data/ext/v8/upstream/{2.1.10 → 2.3.3}/src/ia32/full-codegen-ia32.cc +1465 -198
- data/ext/v8/upstream/{2.1.10 → 2.3.3}/src/ia32/ic-ia32.cc +688 -367
- data/ext/v8/upstream/{2.1.10 → 2.3.3}/src/ia32/jump-target-ia32.cc +4 -0
- data/ext/v8/upstream/{2.1.10 → 2.3.3}/src/ia32/macro-assembler-ia32.cc +82 -180
- data/ext/v8/upstream/{2.1.10 → 2.3.3}/src/ia32/macro-assembler-ia32.h +41 -25
- data/ext/v8/upstream/{2.1.10 → 2.3.3}/src/ia32/regexp-macro-assembler-ia32.cc +68 -24
- data/ext/v8/upstream/{2.1.10 → 2.3.3}/src/ia32/regexp-macro-assembler-ia32.h +1 -2
- data/ext/v8/upstream/{2.1.10 → 2.3.3}/src/ia32/register-allocator-ia32-inl.h +0 -0
- data/ext/v8/upstream/{2.1.10 → 2.3.3}/src/ia32/register-allocator-ia32.cc +4 -0
- data/ext/v8/upstream/{2.1.10 → 2.3.3}/src/ia32/register-allocator-ia32.h +0 -0
- data/ext/v8/upstream/{2.1.10 → 2.3.3}/src/ia32/simulator-ia32.cc +0 -0
- data/ext/v8/upstream/{2.1.10 → 2.3.3}/src/ia32/simulator-ia32.h +0 -0
- data/ext/v8/upstream/{2.1.10 → 2.3.3}/src/ia32/stub-cache-ia32.cc +649 -302
- data/ext/v8/upstream/{2.1.10 → 2.3.3}/src/ia32/virtual-frame-ia32.cc +23 -1
- data/ext/v8/upstream/{2.1.10 → 2.3.3}/src/ia32/virtual-frame-ia32.h +18 -27
- data/ext/v8/upstream/{2.1.10 → 2.3.3}/src/ic-inl.h +30 -3
- data/ext/v8/upstream/{2.1.10 → 2.3.3}/src/ic.cc +384 -66
- data/ext/v8/upstream/{2.1.10 → 2.3.3}/src/ic.h +65 -24
- data/ext/v8/upstream/{2.1.10 → 2.3.3}/src/interpreter-irregexp.cc +0 -0
- data/ext/v8/upstream/{2.1.10 → 2.3.3}/src/interpreter-irregexp.h +0 -0
- data/ext/v8/upstream/{2.1.10 → 2.3.3}/src/json.js +3 -3
- data/ext/v8/upstream/{2.1.10 → 2.3.3}/src/jsregexp.cc +20 -4
- data/ext/v8/upstream/{2.1.10 → 2.3.3}/src/jsregexp.h +0 -0
- data/ext/v8/upstream/{2.1.10 → 2.3.3}/src/jump-target-heavy-inl.h +0 -0
- data/ext/v8/upstream/{2.1.10 → 2.3.3}/src/jump-target-heavy.cc +79 -13
- data/ext/v8/upstream/{2.1.10/src/jump-target.h → 2.3.3/src/jump-target-heavy.h} +5 -47
- data/ext/v8/upstream/{2.1.10 → 2.3.3}/src/jump-target-inl.h +0 -0
- data/ext/v8/upstream/{2.1.10 → 2.3.3}/src/jump-target-light-inl.h +16 -2
- data/ext/v8/upstream/2.3.3/src/jump-target-light.cc +110 -0
- data/ext/v8/upstream/2.3.3/src/jump-target-light.h +192 -0
- data/ext/v8/upstream/{2.1.10 → 2.3.3}/src/jump-target.cc +0 -64
- data/ext/v8/upstream/2.3.3/src/jump-target.h +90 -0
- data/ext/v8/upstream/{2.1.10 → 2.3.3}/src/list-inl.h +0 -0
- data/ext/v8/upstream/{2.1.10 → 2.3.3}/src/list.h +0 -0
- data/ext/v8/upstream/{2.1.10 → 2.3.3}/src/liveedit-debugger.js +141 -28
- data/ext/v8/upstream/{2.1.10 → 2.3.3}/src/liveedit.cc +19 -7
- data/ext/v8/upstream/{2.1.10 → 2.3.3}/src/liveedit.h +0 -0
- data/ext/v8/upstream/{2.1.10 → 2.3.3}/src/log-inl.h +0 -0
- data/ext/v8/upstream/{2.1.10 → 2.3.3}/src/log-utils.cc +0 -0
- data/ext/v8/upstream/{2.1.10 → 2.3.3}/src/log-utils.h +0 -0
- data/ext/v8/upstream/{2.1.10 → 2.3.3}/src/log.cc +12 -11
- data/ext/v8/upstream/{2.1.10 → 2.3.3}/src/log.h +12 -0
- data/ext/v8/upstream/{2.1.10 → 2.3.3}/src/macro-assembler.h +0 -16
- data/ext/v8/upstream/{2.1.10 → 2.3.3}/src/macros.py +21 -0
- data/ext/v8/upstream/{2.1.10 → 2.3.3}/src/mark-compact.cc +120 -109
- data/ext/v8/upstream/{2.1.10 → 2.3.3}/src/mark-compact.h +25 -37
- data/ext/v8/upstream/{2.1.10 → 2.3.3}/src/math.js +0 -0
- data/ext/v8/upstream/{2.1.10 → 2.3.3}/src/memory.h +0 -0
- data/ext/v8/upstream/{2.1.10 → 2.3.3}/src/messages.cc +8 -3
- data/ext/v8/upstream/{2.1.10 → 2.3.3}/src/messages.h +2 -1
- data/ext/v8/upstream/{2.1.10 → 2.3.3}/src/messages.js +15 -7
- data/ext/v8/upstream/{2.1.10 → 2.3.3}/src/mips/assembler-mips-inl.h +0 -0
- data/ext/v8/upstream/{2.1.10 → 2.3.3}/src/mips/assembler-mips.cc +12 -1
- data/ext/v8/upstream/{2.1.10 → 2.3.3}/src/mips/assembler-mips.h +4 -1
- data/ext/v8/upstream/{2.1.10 → 2.3.3}/src/mips/builtins-mips.cc +3 -0
- data/ext/v8/upstream/{2.1.10 → 2.3.3}/src/mips/codegen-mips-inl.h +0 -0
- data/ext/v8/upstream/{2.1.10 → 2.3.3}/src/mips/codegen-mips.cc +9 -0
- data/ext/v8/upstream/{2.1.10 → 2.3.3}/src/mips/codegen-mips.h +1 -0
- data/ext/v8/upstream/{2.1.10 → 2.3.3}/src/mips/constants-mips.cc +5 -0
- data/ext/v8/upstream/{2.1.10 → 2.3.3}/src/mips/constants-mips.h +0 -0
- data/ext/v8/upstream/{2.1.10 → 2.3.3}/src/mips/cpu-mips.cc +4 -0
- data/ext/v8/upstream/{2.1.10 → 2.3.3}/src/mips/debug-mips.cc +3 -0
- data/ext/v8/upstream/{2.1.10 → 2.3.3}/src/mips/disasm-mips.cc +3 -0
- data/ext/v8/upstream/{2.1.10 → 2.3.3}/src/mips/fast-codegen-mips.cc +3 -0
- data/ext/v8/upstream/{2.1.10 → 2.3.3}/src/mips/frames-mips.cc +3 -0
- data/ext/v8/upstream/{2.1.10 → 2.3.3}/src/mips/frames-mips.h +0 -0
- data/ext/v8/upstream/{2.1.10 → 2.3.3}/src/mips/full-codegen-mips.cc +5 -1
- data/ext/v8/upstream/{2.1.10 → 2.3.3}/src/mips/ic-mips.cc +3 -0
- data/ext/v8/upstream/{2.1.10 → 2.3.3}/src/mips/jump-target-mips.cc +3 -0
- data/ext/v8/upstream/{2.1.10 → 2.3.3}/src/mips/macro-assembler-mips.cc +3 -0
- data/ext/v8/upstream/{2.1.10 → 2.3.3}/src/mips/macro-assembler-mips.h +0 -0
- data/ext/v8/upstream/{2.1.10 → 2.3.3}/src/mips/register-allocator-mips-inl.h +0 -0
- data/ext/v8/upstream/{2.1.10 → 2.3.3}/src/mips/register-allocator-mips.cc +3 -0
- data/ext/v8/upstream/{2.1.10 → 2.3.3}/src/mips/register-allocator-mips.h +0 -0
- data/ext/v8/upstream/{2.1.10 → 2.3.3}/src/mips/simulator-mips.cc +3 -0
- data/ext/v8/upstream/{2.1.10 → 2.3.3}/src/mips/simulator-mips.h +0 -0
- data/ext/v8/upstream/{2.1.10 → 2.3.3}/src/mips/stub-cache-mips.cc +3 -0
- data/ext/v8/upstream/{2.1.10 → 2.3.3}/src/mips/virtual-frame-mips.cc +3 -0
- data/ext/v8/upstream/{2.1.10 → 2.3.3}/src/mips/virtual-frame-mips.h +0 -0
- data/ext/v8/upstream/{2.1.10 → 2.3.3}/src/mirror-debugger.js +46 -4
- data/ext/v8/upstream/{2.1.10 → 2.3.3}/src/mksnapshot.cc +0 -0
- data/ext/v8/upstream/{2.1.10 → 2.3.3}/src/natives.h +0 -0
- data/ext/v8/upstream/{2.1.10 → 2.3.3}/src/objects-debug.cc +8 -1
- data/ext/v8/upstream/{2.1.10 → 2.3.3}/src/objects-inl.h +235 -62
- data/ext/v8/upstream/{2.1.10 → 2.3.3}/src/objects.cc +497 -231
- data/ext/v8/upstream/{2.1.10 → 2.3.3}/src/objects.h +355 -149
- data/ext/v8/upstream/{2.1.10 → 2.3.3}/src/oprofile-agent.cc +0 -0
- data/ext/v8/upstream/{2.1.10 → 2.3.3}/src/oprofile-agent.h +0 -0
- data/ext/v8/upstream/{2.1.10 → 2.3.3}/src/parser.cc +31 -6
- data/ext/v8/upstream/{2.1.10 → 2.3.3}/src/parser.h +1 -1
- data/ext/v8/upstream/{2.1.10 → 2.3.3}/src/platform-freebsd.cc +9 -6
- data/ext/v8/upstream/{2.1.10 → 2.3.3}/src/platform-linux.cc +26 -6
- data/ext/v8/upstream/{2.1.10 → 2.3.3}/src/platform-macos.cc +11 -6
- data/ext/v8/upstream/{2.1.10 → 2.3.3}/src/platform-nullos.cc +0 -0
- data/ext/v8/upstream/{2.1.10 → 2.3.3}/src/platform-openbsd.cc +6 -0
- data/ext/v8/upstream/{2.1.10 → 2.3.3}/src/platform-posix.cc +0 -0
- data/ext/v8/upstream/{2.1.10 → 2.3.3}/src/platform-solaris.cc +69 -23
- data/ext/v8/upstream/{2.1.10 → 2.3.3}/src/platform-win32.cc +15 -11
- data/ext/v8/upstream/{2.1.10 → 2.3.3}/src/platform.h +10 -6
- data/ext/v8/upstream/{2.1.10 → 2.3.3}/src/powers-ten.h +0 -0
- data/ext/v8/upstream/{2.1.10 → 2.3.3}/src/prettyprinter.cc +0 -0
- data/ext/v8/upstream/{2.1.10 → 2.3.3}/src/prettyprinter.h +0 -0
- data/ext/v8/upstream/{2.1.10 → 2.3.3}/src/profile-generator-inl.h +26 -2
- data/ext/v8/upstream/2.3.3/src/profile-generator.cc +1830 -0
- data/ext/v8/upstream/2.3.3/src/profile-generator.h +853 -0
- data/ext/v8/upstream/{2.1.10 → 2.3.3}/src/property.cc +0 -0
- data/ext/v8/upstream/{2.1.10 → 2.3.3}/src/property.h +0 -0
- data/ext/v8/upstream/{2.1.10 → 2.3.3}/src/regexp-macro-assembler-irregexp-inl.h +0 -0
- data/ext/v8/upstream/{2.1.10 → 2.3.3}/src/regexp-macro-assembler-irregexp.cc +0 -0
- data/ext/v8/upstream/{2.1.10 → 2.3.3}/src/regexp-macro-assembler-irregexp.h +0 -0
- data/ext/v8/upstream/{2.1.10 → 2.3.3}/src/regexp-macro-assembler-tracer.cc +0 -0
- data/ext/v8/upstream/{2.1.10 → 2.3.3}/src/regexp-macro-assembler-tracer.h +0 -0
- data/ext/v8/upstream/{2.1.10 → 2.3.3}/src/regexp-macro-assembler.cc +1 -3
- data/ext/v8/upstream/{2.1.10 → 2.3.3}/src/regexp-macro-assembler.h +0 -0
- data/ext/v8/upstream/{2.1.10 → 2.3.3}/src/regexp-stack.cc +0 -0
- data/ext/v8/upstream/{2.1.10 → 2.3.3}/src/regexp-stack.h +0 -0
- data/ext/v8/upstream/{2.1.10 → 2.3.3}/src/regexp.js +25 -4
- data/ext/v8/upstream/{2.1.10 → 2.3.3}/src/register-allocator-inl.h +0 -0
- data/ext/v8/upstream/{2.1.10 → 2.3.3}/src/register-allocator.cc +4 -3
- data/ext/v8/upstream/{2.1.10 → 2.3.3}/src/register-allocator.h +0 -0
- data/ext/v8/upstream/{2.1.10 → 2.3.3}/src/rewriter.cc +85 -8
- data/ext/v8/upstream/{2.1.10 → 2.3.3}/src/rewriter.h +0 -0
- data/ext/v8/upstream/{2.1.10 → 2.3.3}/src/runtime.cc +547 -221
- data/ext/v8/upstream/{2.1.10 → 2.3.3}/src/runtime.h +5 -1
- data/ext/v8/upstream/{2.1.10 → 2.3.3}/src/runtime.js +23 -31
- data/ext/v8/upstream/{2.1.10 → 2.3.3}/src/scanner.cc +12 -6
- data/ext/v8/upstream/{2.1.10 → 2.3.3}/src/scanner.h +60 -53
- data/ext/v8/upstream/{2.1.10 → 2.3.3}/src/scopeinfo.cc +156 -168
- data/ext/v8/upstream/{2.1.10 → 2.3.3}/src/scopeinfo.h +58 -62
- data/ext/v8/upstream/{2.1.10 → 2.3.3}/src/scopes.cc +0 -0
- data/ext/v8/upstream/{2.1.10 → 2.3.3}/src/scopes.h +0 -0
- data/ext/v8/upstream/{2.1.10 → 2.3.3}/src/serialize.cc +320 -242
- data/ext/v8/upstream/{2.1.10 → 2.3.3}/src/serialize.h +81 -48
- data/ext/v8/upstream/{2.1.10 → 2.3.3}/src/shell.h +0 -0
- data/ext/v8/upstream/{2.1.10 → 2.3.3}/src/simulator.h +0 -0
- data/ext/v8/upstream/{2.1.10 → 2.3.3}/src/smart-pointer.h +0 -0
- data/ext/v8/upstream/{2.1.10 → 2.3.3}/src/snapshot-common.cc +0 -0
- data/ext/v8/upstream/{2.1.10 → 2.3.3}/src/snapshot-empty.cc +0 -0
- data/ext/v8/upstream/{2.1.10 → 2.3.3}/src/snapshot.h +0 -0
- data/ext/v8/upstream/{2.1.10 → 2.3.3}/src/spaces-inl.h +177 -74
- data/ext/v8/upstream/{2.1.10 → 2.3.3}/src/spaces.cc +138 -315
- data/ext/v8/upstream/{2.1.10 → 2.3.3}/src/spaces.h +155 -124
- data/ext/v8/upstream/{2.1.10 → 2.3.3}/src/splay-tree-inl.h +0 -0
- data/ext/v8/upstream/{2.1.10 → 2.3.3}/src/splay-tree.h +0 -0
- data/ext/v8/upstream/{2.1.10 → 2.3.3}/src/string-stream.cc +0 -0
- data/ext/v8/upstream/{2.1.10 → 2.3.3}/src/string-stream.h +0 -0
- data/ext/v8/upstream/{2.1.10 → 2.3.3}/src/string.js +113 -119
- data/ext/v8/upstream/{2.1.10 → 2.3.3}/src/stub-cache.cc +242 -97
- data/ext/v8/upstream/{2.1.10 → 2.3.3}/src/stub-cache.h +118 -55
- data/ext/v8/upstream/{2.1.10 → 2.3.3}/src/third_party/dtoa/COPYING +0 -0
- data/ext/v8/upstream/{2.1.10 → 2.3.3}/src/third_party/dtoa/dtoa.c +4 -0
- data/ext/v8/upstream/{2.1.10 → 2.3.3}/src/third_party/valgrind/valgrind.h +0 -0
- data/ext/v8/upstream/{2.1.10 → 2.3.3}/src/token.cc +0 -0
- data/ext/v8/upstream/{2.1.10 → 2.3.3}/src/token.h +0 -0
- data/ext/v8/upstream/{2.1.10 → 2.3.3}/src/top.cc +107 -26
- data/ext/v8/upstream/{2.1.10 → 2.3.3}/src/top.h +9 -4
- data/ext/v8/upstream/{2.1.10 → 2.3.3}/src/type-info.cc +0 -0
- data/ext/v8/upstream/{2.1.10 → 2.3.3}/src/type-info.h +2 -2
- data/ext/v8/upstream/2.3.3/src/unbound-queue-inl.h +95 -0
- data/ext/v8/upstream/2.3.3/src/unbound-queue.h +67 -0
- data/ext/v8/upstream/{2.1.10 → 2.3.3}/src/unicode-inl.h +0 -0
- data/ext/v8/upstream/{2.1.10 → 2.3.3}/src/unicode.cc +0 -0
- data/ext/v8/upstream/{2.1.10 → 2.3.3}/src/unicode.h +0 -0
- data/ext/v8/upstream/{2.1.10 → 2.3.3}/src/uri.js +0 -0
- data/ext/v8/upstream/{2.1.10 → 2.3.3}/src/utils.cc +0 -0
- data/ext/v8/upstream/{2.1.10 → 2.3.3}/src/utils.h +83 -1
- data/ext/v8/upstream/{2.1.10 → 2.3.3}/src/v8-counters.cc +0 -0
- data/ext/v8/upstream/{2.1.10 → 2.3.3}/src/v8-counters.h +20 -0
- data/ext/v8/upstream/{2.1.10 → 2.3.3}/src/v8.cc +5 -1
- data/ext/v8/upstream/{2.1.10 → 2.3.3}/src/v8.h +0 -0
- data/ext/v8/upstream/2.3.3/src/v8dll-main.cc +39 -0
- data/ext/v8/upstream/{2.1.10 → 2.3.3}/src/v8natives.js +210 -33
- data/ext/v8/upstream/{2.1.10 → 2.3.3}/src/v8threads.cc +1 -1
- data/ext/v8/upstream/{2.1.10 → 2.3.3}/src/v8threads.h +1 -1
- data/ext/v8/upstream/{2.1.10 → 2.3.3}/src/variables.cc +0 -0
- data/ext/v8/upstream/{2.1.10 → 2.3.3}/src/variables.h +0 -0
- data/ext/v8/upstream/{2.1.10 → 2.3.3}/src/version.cc +3 -3
- data/ext/v8/upstream/{2.1.10 → 2.3.3}/src/version.h +0 -0
- data/ext/v8/upstream/{2.1.10 → 2.3.3}/src/virtual-frame-heavy-inl.h +40 -0
- data/ext/v8/upstream/{2.1.10 → 2.3.3}/src/virtual-frame-heavy.cc +0 -0
- data/ext/v8/upstream/{2.1.10 → 2.3.3}/src/virtual-frame-inl.h +0 -0
- data/ext/v8/upstream/{2.1.10 → 2.3.3}/src/virtual-frame-light-inl.h +106 -5
- data/ext/v8/upstream/{2.1.10 → 2.3.3}/src/virtual-frame-light.cc +4 -1
- data/ext/v8/upstream/{2.1.10 → 2.3.3}/src/virtual-frame.cc +0 -0
- data/ext/v8/upstream/{2.1.10 → 2.3.3}/src/virtual-frame.h +0 -0
- data/ext/v8/upstream/{2.1.10 → 2.3.3}/src/vm-state-inl.h +6 -3
- data/ext/v8/upstream/{2.1.10 → 2.3.3}/src/vm-state.cc +1 -1
- data/ext/v8/upstream/{2.1.10 → 2.3.3}/src/vm-state.h +6 -4
- data/ext/v8/upstream/{2.1.10 → 2.3.3}/src/x64/assembler-x64-inl.h +42 -5
- data/ext/v8/upstream/{2.1.10 → 2.3.3}/src/x64/assembler-x64.cc +285 -53
- data/ext/v8/upstream/{2.1.10 → 2.3.3}/src/x64/assembler-x64.h +54 -18
- data/ext/v8/upstream/{2.1.10 → 2.3.3}/src/x64/builtins-x64.cc +31 -33
- data/ext/v8/upstream/{2.1.10 → 2.3.3}/src/x64/codegen-x64-inl.h +0 -0
- data/ext/v8/upstream/{2.1.10 → 2.3.3}/src/x64/codegen-x64.cc +9787 -8722
- data/ext/v8/upstream/{2.1.10 → 2.3.3}/src/x64/codegen-x64.h +82 -47
- data/ext/v8/upstream/{2.1.10 → 2.3.3}/src/x64/cpu-x64.cc +4 -0
- data/ext/v8/upstream/{2.1.10 → 2.3.3}/src/x64/debug-x64.cc +55 -6
- data/ext/v8/upstream/{2.1.10 → 2.3.3}/src/x64/disasm-x64.cc +42 -19
- data/ext/v8/upstream/{2.1.10 → 2.3.3}/src/x64/fast-codegen-x64.cc +4 -0
- data/ext/v8/upstream/{2.1.10 → 2.3.3}/src/x64/frames-x64.cc +4 -0
- data/ext/v8/upstream/{2.1.10 → 2.3.3}/src/x64/frames-x64.h +4 -0
- data/ext/v8/upstream/{2.1.10 → 2.3.3}/src/x64/full-codegen-x64.cc +1487 -210
- data/ext/v8/upstream/2.3.3/src/x64/ic-x64.cc +1907 -0
- data/ext/v8/upstream/{2.1.10 → 2.3.3}/src/x64/jump-target-x64.cc +4 -0
- data/ext/v8/upstream/{2.1.10 → 2.3.3}/src/x64/macro-assembler-x64.cc +366 -338
- data/ext/v8/upstream/{2.1.10 → 2.3.3}/src/x64/macro-assembler-x64.h +83 -38
- data/ext/v8/upstream/{2.1.10 → 2.3.3}/src/x64/regexp-macro-assembler-x64.cc +82 -23
- data/ext/v8/upstream/{2.1.10 → 2.3.3}/src/x64/regexp-macro-assembler-x64.h +1 -2
- data/ext/v8/upstream/{2.1.10 → 2.3.3}/src/x64/register-allocator-x64-inl.h +6 -5
- data/ext/v8/upstream/{2.1.10 → 2.3.3}/src/x64/register-allocator-x64.cc +4 -0
- data/ext/v8/upstream/{2.1.10 → 2.3.3}/src/x64/register-allocator-x64.h +1 -1
- data/ext/v8/upstream/{2.1.10 → 2.3.3}/src/x64/simulator-x64.cc +0 -0
- data/ext/v8/upstream/{2.1.10 → 2.3.3}/src/x64/simulator-x64.h +0 -0
- data/ext/v8/upstream/{2.1.10 → 2.3.3}/src/x64/stub-cache-x64.cc +556 -377
- data/ext/v8/upstream/{2.1.10 → 2.3.3}/src/x64/virtual-frame-x64.cc +197 -98
- data/ext/v8/upstream/{2.1.10 → 2.3.3}/src/x64/virtual-frame-x64.h +37 -28
- data/ext/v8/upstream/{2.1.10 → 2.3.3}/src/zone-inl.h +0 -0
- data/ext/v8/upstream/{2.1.10 → 2.3.3}/src/zone.cc +0 -0
- data/ext/v8/upstream/{2.1.10 → 2.3.3}/src/zone.h +0 -0
- data/ext/v8/upstream/{2.1.10 → 2.3.3}/tools/codemap.js +0 -0
- data/ext/v8/upstream/{2.1.10 → 2.3.3}/tools/consarray.js +0 -0
- data/ext/v8/upstream/{2.1.10 → 2.3.3}/tools/csvparser.js +0 -0
- data/ext/v8/upstream/2.3.3/tools/gc-nvp-trace-processor.py +317 -0
- data/ext/v8/upstream/{2.1.10 → 2.3.3}/tools/generate-ten-powers.scm +0 -0
- data/ext/v8/upstream/{2.1.10 → 2.3.3}/tools/gyp/v8.gyp +87 -20
- data/ext/v8/upstream/{2.1.10 → 2.3.3}/tools/js2c.py +19 -15
- data/ext/v8/upstream/{2.1.10 → 2.3.3}/tools/jsmin.py +0 -0
- data/ext/v8/upstream/{2.1.10 → 2.3.3}/tools/linux-tick-processor +0 -0
- data/ext/v8/upstream/{2.1.10 → 2.3.3}/tools/linux-tick-processor.py +0 -0
- data/ext/v8/upstream/{2.1.10 → 2.3.3}/tools/logreader.js +0 -0
- data/ext/v8/upstream/{2.1.10 → 2.3.3}/tools/mac-nm +0 -0
- data/ext/v8/upstream/{2.1.10 → 2.3.3}/tools/mac-tick-processor +0 -0
- data/ext/v8/upstream/{2.1.10 → 2.3.3}/tools/oprofile/annotate +0 -0
- data/ext/v8/upstream/{2.1.10 → 2.3.3}/tools/oprofile/common +0 -0
- data/ext/v8/upstream/{2.1.10 → 2.3.3}/tools/oprofile/dump +0 -0
- data/ext/v8/upstream/{2.1.10 → 2.3.3}/tools/oprofile/report +0 -0
- data/ext/v8/upstream/{2.1.10 → 2.3.3}/tools/oprofile/reset +0 -0
- data/ext/v8/upstream/{2.1.10 → 2.3.3}/tools/oprofile/run +0 -0
- data/ext/v8/upstream/{2.1.10 → 2.3.3}/tools/oprofile/shutdown +0 -0
- data/ext/v8/upstream/{2.1.10 → 2.3.3}/tools/oprofile/start +0 -0
- data/ext/v8/upstream/{2.1.10 → 2.3.3}/tools/presubmit.py +0 -0
- data/ext/v8/upstream/{2.1.10 → 2.3.3}/tools/process-heap-prof.py +0 -0
- data/ext/v8/upstream/{2.1.10 → 2.3.3}/tools/profile.js +0 -0
- data/ext/v8/upstream/{2.1.10 → 2.3.3}/tools/profile_view.js +0 -0
- data/ext/v8/upstream/{2.1.10 → 2.3.3}/tools/run-valgrind.py +0 -0
- data/ext/v8/upstream/{2.1.10 → 2.3.3}/tools/splaytree.js +0 -0
- data/ext/v8/upstream/{2.1.10 → 2.3.3}/tools/splaytree.py +0 -0
- data/ext/v8/upstream/{2.1.10 → 2.3.3}/tools/stats-viewer.py +25 -13
- data/ext/v8/upstream/{2.1.10 → 2.3.3}/tools/test.py +0 -0
- data/ext/v8/upstream/{2.1.10 → 2.3.3}/tools/tickprocessor-driver.js +0 -0
- data/ext/v8/upstream/{2.1.10 → 2.3.3}/tools/tickprocessor.js +0 -0
- data/ext/v8/upstream/{2.1.10 → 2.3.3}/tools/tickprocessor.py +0 -0
- data/ext/v8/upstream/{2.1.10 → 2.3.3}/tools/utils.py +0 -0
- data/ext/v8/upstream/2.3.3/tools/v8.xcodeproj/project.pbxproj +1855 -0
- data/ext/v8/upstream/{2.1.10 → 2.3.3}/tools/visual_studio/README.txt +0 -0
- data/ext/v8/upstream/{2.1.10 → 2.3.3}/tools/visual_studio/arm.vsprops +0 -0
- data/ext/v8/upstream/{2.1.10 → 2.3.3}/tools/visual_studio/common.vsprops +0 -0
- data/ext/v8/upstream/{2.1.10 → 2.3.3}/tools/visual_studio/d8.vcproj +0 -0
- data/ext/v8/upstream/{2.1.10 → 2.3.3}/tools/visual_studio/d8_arm.vcproj +0 -0
- data/ext/v8/upstream/{2.1.10 → 2.3.3}/tools/visual_studio/d8_x64.vcproj +0 -0
- data/ext/v8/upstream/{2.1.10 → 2.3.3}/tools/visual_studio/d8js2c.cmd +0 -0
- data/ext/v8/upstream/{2.1.10 → 2.3.3}/tools/visual_studio/debug.vsprops +0 -0
- data/ext/v8/upstream/{2.1.10 → 2.3.3}/tools/visual_studio/ia32.vsprops +0 -0
- data/ext/v8/upstream/{2.1.10 → 2.3.3}/tools/visual_studio/js2c.cmd +0 -0
- data/ext/v8/upstream/{2.1.10 → 2.3.3}/tools/visual_studio/release.vsprops +0 -0
- data/ext/v8/upstream/{2.1.10 → 2.3.3}/tools/visual_studio/v8.sln +0 -0
- data/ext/v8/upstream/{2.1.10 → 2.3.3}/tools/visual_studio/v8.vcproj +0 -0
- data/ext/v8/upstream/{2.1.10 → 2.3.3}/tools/visual_studio/v8_arm.sln +0 -0
- data/ext/v8/upstream/{2.1.10 → 2.3.3}/tools/visual_studio/v8_arm.vcproj +0 -0
- data/ext/v8/upstream/{2.1.10 → 2.3.3}/tools/visual_studio/v8_base.vcproj +40 -0
- data/ext/v8/upstream/{2.1.10 → 2.3.3}/tools/visual_studio/v8_base_arm.vcproj +20 -0
- data/ext/v8/upstream/{2.1.10 → 2.3.3}/tools/visual_studio/v8_base_x64.vcproj +16 -0
- data/ext/v8/upstream/{2.1.10 → 2.3.3}/tools/visual_studio/v8_cctest.vcproj +4 -0
- data/ext/v8/upstream/{2.1.10 → 2.3.3}/tools/visual_studio/v8_cctest_arm.vcproj +0 -0
- data/ext/v8/upstream/{2.1.10 → 2.3.3}/tools/visual_studio/v8_cctest_x64.vcproj +0 -0
- data/ext/v8/upstream/{2.1.10 → 2.3.3}/tools/visual_studio/v8_mksnapshot.vcproj +0 -0
- data/ext/v8/upstream/{2.1.10 → 2.3.3}/tools/visual_studio/v8_mksnapshot_x64.vcproj +0 -0
- data/ext/v8/upstream/{2.1.10 → 2.3.3}/tools/visual_studio/v8_process_sample.vcproj +0 -0
- data/ext/v8/upstream/{2.1.10 → 2.3.3}/tools/visual_studio/v8_process_sample_arm.vcproj +0 -0
- data/ext/v8/upstream/{2.1.10 → 2.3.3}/tools/visual_studio/v8_process_sample_x64.vcproj +0 -0
- data/ext/v8/upstream/{2.1.10 → 2.3.3}/tools/visual_studio/v8_shell_sample.vcproj +0 -0
- data/ext/v8/upstream/{2.1.10 → 2.3.3}/tools/visual_studio/v8_shell_sample_arm.vcproj +0 -0
- data/ext/v8/upstream/{2.1.10 → 2.3.3}/tools/visual_studio/v8_shell_sample_x64.vcproj +0 -0
- data/ext/v8/upstream/{2.1.10 → 2.3.3}/tools/visual_studio/v8_snapshot.vcproj +0 -0
- data/ext/v8/upstream/{2.1.10 → 2.3.3}/tools/visual_studio/v8_snapshot_cc.vcproj +0 -0
- data/ext/v8/upstream/{2.1.10 → 2.3.3}/tools/visual_studio/v8_snapshot_cc_x64.vcproj +0 -0
- data/ext/v8/upstream/{2.1.10 → 2.3.3}/tools/visual_studio/v8_snapshot_x64.vcproj +0 -0
- data/ext/v8/upstream/{2.1.10 → 2.3.3}/tools/visual_studio/v8_x64.sln +0 -0
- data/ext/v8/upstream/{2.1.10 → 2.3.3}/tools/visual_studio/v8_x64.vcproj +0 -0
- data/ext/v8/upstream/{2.1.10 → 2.3.3}/tools/visual_studio/x64.vsprops +0 -0
- data/ext/v8/upstream/{2.1.10 → 2.3.3}/tools/windows-tick-processor.bat +0 -0
- data/ext/v8/upstream/{2.1.10 → 2.3.3}/tools/windows-tick-processor.py +0 -0
- data/ext/v8/upstream/Makefile +1 -1
- data/ext/v8/v8_template.cpp +94 -2
- data/ext/v8/v8_try_catch.cpp +2 -2
- data/lib/v8.rb +1 -1
- data/lib/v8/access.rb +93 -40
- data/lib/v8/cli.rb +1 -1
- data/lib/v8/function.rb +14 -2
- data/spec/redjs/jsapi_spec.rb +231 -42
- data/therubyracer.gemspec +3 -3
- metadata +463 -453
- data/ext/v8/upstream/2.1.10/src/arm/assembler-thumb2-inl.h +0 -263
- data/ext/v8/upstream/2.1.10/src/arm/assembler-thumb2.cc +0 -1878
- data/ext/v8/upstream/2.1.10/src/arm/assembler-thumb2.h +0 -1036
- data/ext/v8/upstream/2.1.10/src/arm/codegen-arm-inl.h +0 -72
- data/ext/v8/upstream/2.1.10/src/arm/ic-arm.cc +0 -1833
- data/ext/v8/upstream/2.1.10/src/circular-queue-inl.h +0 -101
- data/ext/v8/upstream/2.1.10/src/profile-generator.cc +0 -583
- data/ext/v8/upstream/2.1.10/src/profile-generator.h +0 -364
- data/ext/v8/upstream/2.1.10/src/x64/ic-x64.cc +0 -1621
@@ -31,6 +31,7 @@
|
|
31
31
|
#ifdef ENABLE_LOGGING_AND_PROFILING
|
32
32
|
|
33
33
|
#include "circular-queue.h"
|
34
|
+
#include "unbound-queue.h"
|
34
35
|
|
35
36
|
namespace v8 {
|
36
37
|
namespace internal {
|
@@ -41,7 +42,7 @@ class CodeMap;
|
|
41
42
|
class CpuProfile;
|
42
43
|
class CpuProfilesCollection;
|
43
44
|
class ProfileGenerator;
|
44
|
-
|
45
|
+
class TokenEnumerator;
|
45
46
|
|
46
47
|
#define CODE_EVENTS_TYPE_LIST(V) \
|
47
48
|
V(CODE_CREATION, CodeCreateEventRecord) \
|
@@ -94,8 +95,9 @@ class CodeDeleteEventRecord : public CodeEventRecord {
|
|
94
95
|
|
95
96
|
class CodeAliasEventRecord : public CodeEventRecord {
|
96
97
|
public:
|
97
|
-
Address alias;
|
98
98
|
Address start;
|
99
|
+
CodeEntry* entry;
|
100
|
+
Address code_start;
|
99
101
|
|
100
102
|
INLINE(void UpdateCodeMap(CodeMap* code_map));
|
101
103
|
};
|
@@ -103,6 +105,11 @@ class CodeAliasEventRecord : public CodeEventRecord {
|
|
103
105
|
|
104
106
|
class TickSampleEventRecord BASE_EMBEDDED {
|
105
107
|
public:
|
108
|
+
TickSampleEventRecord()
|
109
|
+
: filler(1) {
|
110
|
+
ASSERT(filler != SamplingCircularQueue::kClear);
|
111
|
+
}
|
112
|
+
|
106
113
|
// The first machine word of a TickSampleEventRecord must not ever
|
107
114
|
// become equal to SamplingCircularQueue::kClear. As both order and
|
108
115
|
// TickSample's first field are not reliable in this sense (order
|
@@ -117,9 +124,6 @@ class TickSampleEventRecord BASE_EMBEDDED {
|
|
117
124
|
}
|
118
125
|
|
119
126
|
INLINE(static TickSampleEventRecord* init(void* value));
|
120
|
-
|
121
|
-
private:
|
122
|
-
DISALLOW_IMPLICIT_CONSTRUCTORS(TickSampleEventRecord);
|
123
127
|
};
|
124
128
|
|
125
129
|
|
@@ -151,12 +155,14 @@ class ProfilerEventsProcessor : public Thread {
|
|
151
155
|
Address start, unsigned size);
|
152
156
|
void CodeMoveEvent(Address from, Address to);
|
153
157
|
void CodeDeleteEvent(Address from);
|
154
|
-
void FunctionCreateEvent(Address alias, Address start);
|
158
|
+
void FunctionCreateEvent(Address alias, Address start, int security_token_id);
|
155
159
|
void FunctionMoveEvent(Address from, Address to);
|
156
160
|
void FunctionDeleteEvent(Address from);
|
157
161
|
void RegExpCodeCreateEvent(Logger::LogEventsAndTags tag,
|
158
162
|
const char* prefix, String* name,
|
159
163
|
Address start, unsigned size);
|
164
|
+
// Puts current stack into tick sample events buffer.
|
165
|
+
void AddCurrentStack();
|
160
166
|
|
161
167
|
// Tick sample events are filled directly in the buffer of the circular
|
162
168
|
// queue (because the structure is of fixed width, but usually not all
|
@@ -180,8 +186,9 @@ class ProfilerEventsProcessor : public Thread {
|
|
180
186
|
|
181
187
|
ProfileGenerator* generator_;
|
182
188
|
bool running_;
|
183
|
-
|
189
|
+
UnboundQueue<CodeEventsContainer> events_buffer_;
|
184
190
|
SamplingCircularQueue ticks_buffer_;
|
191
|
+
UnboundQueue<TickSampleEventRecord> ticks_from_vm_buffer_;
|
185
192
|
unsigned enqueue_order_;
|
186
193
|
};
|
187
194
|
|
@@ -212,10 +219,10 @@ class CpuProfiler {
|
|
212
219
|
static void StartProfiling(const char* title);
|
213
220
|
static void StartProfiling(String* title);
|
214
221
|
static CpuProfile* StopProfiling(const char* title);
|
215
|
-
static CpuProfile* StopProfiling(String* title);
|
222
|
+
static CpuProfile* StopProfiling(Object* security_token, String* title);
|
216
223
|
static int GetProfilesCount();
|
217
|
-
static CpuProfile* GetProfile(int index);
|
218
|
-
static CpuProfile* FindProfile(unsigned uid);
|
224
|
+
static CpuProfile* GetProfile(Object* security_token, int index);
|
225
|
+
static CpuProfile* FindProfile(Object* security_token, unsigned uid);
|
219
226
|
|
220
227
|
// Invoked from stack sampler (thread or signal handler.)
|
221
228
|
static TickSample* TickSampleEvent();
|
@@ -252,11 +259,12 @@ class CpuProfiler {
|
|
252
259
|
void StartCollectingProfile(String* title);
|
253
260
|
void StartProcessorIfNotStarted();
|
254
261
|
CpuProfile* StopCollectingProfile(const char* title);
|
255
|
-
CpuProfile* StopCollectingProfile(String* title);
|
262
|
+
CpuProfile* StopCollectingProfile(Object* security_token, String* title);
|
256
263
|
void StopProcessorIfLastProfile();
|
257
264
|
|
258
265
|
CpuProfilesCollection* profiles_;
|
259
266
|
unsigned next_profile_uid_;
|
267
|
+
TokenEnumerator* token_enumerator_;
|
260
268
|
ProfileGenerator* generator_;
|
261
269
|
ProfilerEventsProcessor* processor_;
|
262
270
|
int saved_logging_nesting_;
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
@@ -576,6 +576,9 @@ Handle<String> Shell::ReadFile(const char* name) {
|
|
576
576
|
void Shell::RunShell() {
|
577
577
|
LineEditor* editor = LineEditor::Get();
|
578
578
|
printf("V8 version %s [console: %s]\n", V8::GetVersion(), editor->name());
|
579
|
+
if (i::FLAG_debugger) {
|
580
|
+
printf("JavaScript debugger enabled\n");
|
581
|
+
}
|
579
582
|
editor->Open();
|
580
583
|
while (true) {
|
581
584
|
Locker locker;
|
File without changes
|
@@ -341,6 +341,11 @@ function DebugRequest(cmd_line) {
|
|
341
341
|
this.request_ = this.breakCommandToJSONRequest_(args);
|
342
342
|
break;
|
343
343
|
|
344
|
+
case 'breakpoints':
|
345
|
+
case 'bb':
|
346
|
+
this.request_ = this.breakpointsCommandToJSONRequest_(args);
|
347
|
+
break;
|
348
|
+
|
344
349
|
case 'clear':
|
345
350
|
this.request_ = this.clearCommandToJSONRequest_(args);
|
346
351
|
break;
|
@@ -770,6 +775,15 @@ DebugRequest.prototype.breakCommandToJSONRequest_ = function(args) {
|
|
770
775
|
};
|
771
776
|
|
772
777
|
|
778
|
+
DebugRequest.prototype.breakpointsCommandToJSONRequest_ = function(args) {
|
779
|
+
if (args && args.length > 0) {
|
780
|
+
throw new Error('Unexpected arguments.');
|
781
|
+
}
|
782
|
+
var request = this.createRequest('listbreakpoints');
|
783
|
+
return request.toJSONProtocol();
|
784
|
+
};
|
785
|
+
|
786
|
+
|
773
787
|
// Create a JSON request for the clear command.
|
774
788
|
DebugRequest.prototype.clearCommandToJSONRequest_ = function(args) {
|
775
789
|
// Build a evaluate request from the text command.
|
@@ -947,6 +961,39 @@ function DebugResponseDetails(response) {
|
|
947
961
|
result += body.breakpoint;
|
948
962
|
details.text = result;
|
949
963
|
break;
|
964
|
+
|
965
|
+
case 'listbreakpoints':
|
966
|
+
result = 'breakpoints: (' + body.breakpoints.length + ')';
|
967
|
+
for (var i = 0; i < body.breakpoints.length; i++) {
|
968
|
+
var breakpoint = body.breakpoints[i];
|
969
|
+
result += '\n id=' + breakpoint.number;
|
970
|
+
result += ' type=' + breakpoint.type;
|
971
|
+
if (breakpoint.script_id) {
|
972
|
+
result += ' script_id=' + breakpoint.script_id;
|
973
|
+
}
|
974
|
+
if (breakpoint.script_name) {
|
975
|
+
result += ' script_name=' + breakpoint.script_name;
|
976
|
+
}
|
977
|
+
result += ' line=' + breakpoint.line;
|
978
|
+
if (breakpoint.column != null) {
|
979
|
+
result += ' column=' + breakpoint.column;
|
980
|
+
}
|
981
|
+
if (breakpoint.groupId) {
|
982
|
+
result += ' groupId=' + breakpoint.groupId;
|
983
|
+
}
|
984
|
+
if (breakpoint.ignoreCount) {
|
985
|
+
result += ' ignoreCount=' + breakpoint.ignoreCount;
|
986
|
+
}
|
987
|
+
if (breakpoint.active === false) {
|
988
|
+
result += ' inactive';
|
989
|
+
}
|
990
|
+
if (breakpoint.condition) {
|
991
|
+
result += ' condition=' + breakpoint.condition;
|
992
|
+
}
|
993
|
+
result += ' hit_count=' + breakpoint.hit_count;
|
994
|
+
}
|
995
|
+
details.text = result;
|
996
|
+
break;
|
950
997
|
|
951
998
|
case 'backtrace':
|
952
999
|
if (body.totalFrames == 0) {
|
@@ -1136,8 +1183,8 @@ function DebugResponseDetails(response) {
|
|
1136
1183
|
|
1137
1184
|
default:
|
1138
1185
|
details.text =
|
1139
|
-
'Response for unknown command \'' + response.command + '\'' +
|
1140
|
-
' (' +
|
1186
|
+
'Response for unknown command \'' + response.command() + '\'' +
|
1187
|
+
' (' + response.raw_json() + ')';
|
1141
1188
|
}
|
1142
1189
|
} catch (e) {
|
1143
1190
|
details.text = 'Error: "' + e + '" formatting response';
|
@@ -1153,6 +1200,7 @@ function DebugResponseDetails(response) {
|
|
1153
1200
|
* @constructor
|
1154
1201
|
*/
|
1155
1202
|
function ProtocolPackage(json) {
|
1203
|
+
this.raw_json_ = json;
|
1156
1204
|
this.packet_ = JSON.parse(json);
|
1157
1205
|
this.refs_ = [];
|
1158
1206
|
if (this.packet_.refs) {
|
@@ -1243,6 +1291,11 @@ ProtocolPackage.prototype.lookup = function(handle) {
|
|
1243
1291
|
}
|
1244
1292
|
|
1245
1293
|
|
1294
|
+
ProtocolPackage.prototype.raw_json = function() {
|
1295
|
+
return this.raw_json_;
|
1296
|
+
}
|
1297
|
+
|
1298
|
+
|
1246
1299
|
function ProtocolValue(value, packet) {
|
1247
1300
|
this.value_ = value;
|
1248
1301
|
this.packet_ = packet;
|
@@ -318,6 +318,9 @@ Variable* AssignedVariablesAnalyzer::FindSmiLoopVariable(ForStatement* stmt) {
|
|
318
318
|
Variable* loop_var = init->target()->AsVariableProxy()->AsVariable();
|
319
319
|
if (loop_var == NULL || !loop_var->IsStackAllocated()) return NULL;
|
320
320
|
|
321
|
+
// Don't try to get clever with const or dynamic variables.
|
322
|
+
if (loop_var->mode() != Variable::VAR) return NULL;
|
323
|
+
|
321
324
|
// The initial value has to be a smi.
|
322
325
|
Literal* init_lit = init->value()->AsLiteral();
|
323
326
|
if (init_lit == NULL || !init_lit->handle()->IsSmi()) return NULL;
|
File without changes
|
@@ -238,7 +238,15 @@ function LocalTime(time) {
|
|
238
238
|
return time + DaylightSavingsOffset(time) + local_time_offset;
|
239
239
|
}
|
240
240
|
|
241
|
+
|
242
|
+
var ltcache = {
|
243
|
+
key: null,
|
244
|
+
val: null
|
245
|
+
};
|
246
|
+
|
241
247
|
function LocalTimeNoCheck(time) {
|
248
|
+
var ltc = ltcache;
|
249
|
+
if (%_ObjectEquals(time, ltc.key)) return ltc.val;
|
242
250
|
if (time < -MAX_TIME_MS || time > MAX_TIME_MS) {
|
243
251
|
return $NaN;
|
244
252
|
}
|
@@ -252,7 +260,8 @@ function LocalTimeNoCheck(time) {
|
|
252
260
|
} else {
|
253
261
|
var dst_offset = DaylightSavingsOffset(time);
|
254
262
|
}
|
255
|
-
|
263
|
+
ltc.key = time;
|
264
|
+
return (ltc.val = time + local_time_offset + dst_offset);
|
256
265
|
}
|
257
266
|
|
258
267
|
|
@@ -338,9 +347,10 @@ function DateFromTime(t) {
|
|
338
347
|
function MakeDay(year, month, date) {
|
339
348
|
if (!$isFinite(year) || !$isFinite(month) || !$isFinite(date)) return $NaN;
|
340
349
|
|
341
|
-
|
342
|
-
|
343
|
-
|
350
|
+
// Convert to integer and map -0 to 0.
|
351
|
+
year = TO_INTEGER_MAP_MINUS_ZERO(year);
|
352
|
+
month = TO_INTEGER_MAP_MINUS_ZERO(month);
|
353
|
+
date = TO_INTEGER_MAP_MINUS_ZERO(date);
|
344
354
|
|
345
355
|
if (year < kMinYear || year > kMaxYear ||
|
346
356
|
month < kMinMonth || month > kMaxMonth ||
|
@@ -443,111 +453,6 @@ var Date_cache = {
|
|
443
453
|
});
|
444
454
|
|
445
455
|
|
446
|
-
// Helper functions.
|
447
|
-
function GetTimeFrom(aDate) {
|
448
|
-
return DATE_VALUE(aDate);
|
449
|
-
}
|
450
|
-
|
451
|
-
function GetMillisecondsFrom(aDate) {
|
452
|
-
var t = DATE_VALUE(aDate);
|
453
|
-
if (NUMBER_IS_NAN(t)) return t;
|
454
|
-
return MS_FROM_TIME(LocalTimeNoCheck(t));
|
455
|
-
}
|
456
|
-
|
457
|
-
|
458
|
-
function GetUTCMillisecondsFrom(aDate) {
|
459
|
-
var t = DATE_VALUE(aDate);
|
460
|
-
if (NUMBER_IS_NAN(t)) return t;
|
461
|
-
return MS_FROM_TIME(t);
|
462
|
-
}
|
463
|
-
|
464
|
-
|
465
|
-
function GetSecondsFrom(aDate) {
|
466
|
-
var t = DATE_VALUE(aDate);
|
467
|
-
if (NUMBER_IS_NAN(t)) return t;
|
468
|
-
return SEC_FROM_TIME(LocalTimeNoCheck(t));
|
469
|
-
}
|
470
|
-
|
471
|
-
|
472
|
-
function GetUTCSecondsFrom(aDate) {
|
473
|
-
var t = DATE_VALUE(aDate);
|
474
|
-
if (NUMBER_IS_NAN(t)) return t;
|
475
|
-
return SEC_FROM_TIME(t);
|
476
|
-
}
|
477
|
-
|
478
|
-
|
479
|
-
function GetMinutesFrom(aDate) {
|
480
|
-
var t = DATE_VALUE(aDate);
|
481
|
-
if (NUMBER_IS_NAN(t)) return t;
|
482
|
-
return MIN_FROM_TIME(LocalTimeNoCheck(t));
|
483
|
-
}
|
484
|
-
|
485
|
-
|
486
|
-
function GetUTCMinutesFrom(aDate) {
|
487
|
-
var t = DATE_VALUE(aDate);
|
488
|
-
if (NUMBER_IS_NAN(t)) return t;
|
489
|
-
return MIN_FROM_TIME(t);
|
490
|
-
}
|
491
|
-
|
492
|
-
|
493
|
-
function GetHoursFrom(aDate) {
|
494
|
-
var t = DATE_VALUE(aDate);
|
495
|
-
if (NUMBER_IS_NAN(t)) return t;
|
496
|
-
return HOUR_FROM_TIME(LocalTimeNoCheck(t));
|
497
|
-
}
|
498
|
-
|
499
|
-
|
500
|
-
function GetUTCHoursFrom(aDate) {
|
501
|
-
var t = DATE_VALUE(aDate);
|
502
|
-
if (NUMBER_IS_NAN(t)) return t;
|
503
|
-
return HOUR_FROM_TIME(t);
|
504
|
-
}
|
505
|
-
|
506
|
-
|
507
|
-
function GetFullYearFrom(aDate) {
|
508
|
-
var t = DATE_VALUE(aDate);
|
509
|
-
if (NUMBER_IS_NAN(t)) return t;
|
510
|
-
var cache = Date_cache;
|
511
|
-
if (cache.time === t) return cache.year;
|
512
|
-
return YEAR_FROM_TIME(LocalTimeNoCheck(t));
|
513
|
-
}
|
514
|
-
|
515
|
-
|
516
|
-
function GetUTCFullYearFrom(aDate) {
|
517
|
-
var t = DATE_VALUE(aDate);
|
518
|
-
if (NUMBER_IS_NAN(t)) return t;
|
519
|
-
return YEAR_FROM_TIME(t);
|
520
|
-
}
|
521
|
-
|
522
|
-
|
523
|
-
function GetMonthFrom(aDate) {
|
524
|
-
var t = DATE_VALUE(aDate);
|
525
|
-
if (NUMBER_IS_NAN(t)) return t;
|
526
|
-
return MONTH_FROM_TIME(LocalTimeNoCheck(t));
|
527
|
-
}
|
528
|
-
|
529
|
-
|
530
|
-
function GetUTCMonthFrom(aDate) {
|
531
|
-
var t = DATE_VALUE(aDate);
|
532
|
-
if (NUMBER_IS_NAN(t)) return t;
|
533
|
-
return MONTH_FROM_TIME(t);
|
534
|
-
}
|
535
|
-
|
536
|
-
|
537
|
-
function GetDateFrom(aDate) {
|
538
|
-
var t = DATE_VALUE(aDate);
|
539
|
-
if (NUMBER_IS_NAN(t)) return t;
|
540
|
-
return DATE_FROM_TIME(LocalTimeNoCheck(t));
|
541
|
-
}
|
542
|
-
|
543
|
-
|
544
|
-
function GetUTCDateFrom(aDate) {
|
545
|
-
var t = DATE_VALUE(aDate);
|
546
|
-
if (NUMBER_IS_NAN(t)) return t;
|
547
|
-
return DATE_FROM_TIME(t);
|
548
|
-
}
|
549
|
-
|
550
|
-
|
551
456
|
%FunctionSetPrototype($Date, new $Date($NaN));
|
552
457
|
|
553
458
|
|
@@ -727,37 +632,50 @@ function DateGetTime() {
|
|
727
632
|
|
728
633
|
// ECMA 262 - 15.9.5.10
|
729
634
|
function DateGetFullYear() {
|
730
|
-
|
635
|
+
var t = DATE_VALUE(this);
|
636
|
+
if (NUMBER_IS_NAN(t)) return t;
|
637
|
+
var cache = Date_cache;
|
638
|
+
if (cache.time === t) return cache.year;
|
639
|
+
return YEAR_FROM_TIME(LocalTimeNoCheck(t));
|
731
640
|
}
|
732
641
|
|
733
642
|
|
734
643
|
// ECMA 262 - 15.9.5.11
|
735
644
|
function DateGetUTCFullYear() {
|
736
|
-
|
645
|
+
var t = DATE_VALUE(this);
|
646
|
+
if (NUMBER_IS_NAN(t)) return t;
|
647
|
+
return YEAR_FROM_TIME(t);
|
737
648
|
}
|
738
649
|
|
739
650
|
|
740
651
|
// ECMA 262 - 15.9.5.12
|
741
652
|
function DateGetMonth() {
|
742
|
-
|
653
|
+
var t = DATE_VALUE(this);
|
654
|
+
if (NUMBER_IS_NAN(t)) return t;
|
655
|
+
return MONTH_FROM_TIME(LocalTimeNoCheck(t));
|
743
656
|
}
|
744
657
|
|
745
658
|
|
746
659
|
// ECMA 262 - 15.9.5.13
|
747
660
|
function DateGetUTCMonth() {
|
748
|
-
|
661
|
+
var t = DATE_VALUE(this);
|
662
|
+
if (NUMBER_IS_NAN(t)) return t;
|
663
|
+
return MONTH_FROM_TIME(t);
|
749
664
|
}
|
750
665
|
|
751
666
|
|
752
667
|
// ECMA 262 - 15.9.5.14
|
753
668
|
function DateGetDate() {
|
754
|
-
|
669
|
+
var t = DATE_VALUE(this);
|
670
|
+
if (NUMBER_IS_NAN(t)) return t;
|
671
|
+
return DATE_FROM_TIME(LocalTimeNoCheck(t));
|
755
672
|
}
|
756
673
|
|
757
674
|
|
758
675
|
// ECMA 262 - 15.9.5.15
|
759
676
|
function DateGetUTCDate() {
|
760
|
-
|
677
|
+
var t = DATE_VALUE(this);
|
678
|
+
return NAN_OR_DATE_FROM_TIME(t);
|
761
679
|
}
|
762
680
|
|
763
681
|
|
@@ -779,49 +697,62 @@ function DateGetUTCDay() {
|
|
779
697
|
|
780
698
|
// ECMA 262 - 15.9.5.18
|
781
699
|
function DateGetHours() {
|
782
|
-
|
700
|
+
var t = DATE_VALUE(this);
|
701
|
+
if (NUMBER_IS_NAN(t)) return t;
|
702
|
+
return HOUR_FROM_TIME(LocalTimeNoCheck(t));
|
783
703
|
}
|
784
704
|
|
785
705
|
|
786
706
|
// ECMA 262 - 15.9.5.19
|
787
707
|
function DateGetUTCHours() {
|
788
|
-
|
708
|
+
var t = DATE_VALUE(this);
|
709
|
+
if (NUMBER_IS_NAN(t)) return t;
|
710
|
+
return HOUR_FROM_TIME(t);
|
789
711
|
}
|
790
712
|
|
791
713
|
|
792
714
|
// ECMA 262 - 15.9.5.20
|
793
715
|
function DateGetMinutes() {
|
794
|
-
|
716
|
+
var t = DATE_VALUE(this);
|
717
|
+
if (NUMBER_IS_NAN(t)) return t;
|
718
|
+
return MIN_FROM_TIME(LocalTimeNoCheck(t));
|
795
719
|
}
|
796
720
|
|
797
721
|
|
798
722
|
// ECMA 262 - 15.9.5.21
|
799
723
|
function DateGetUTCMinutes() {
|
800
|
-
|
724
|
+
var t = DATE_VALUE(this);
|
725
|
+
return NAN_OR_MIN_FROM_TIME(t);
|
801
726
|
}
|
802
727
|
|
803
728
|
|
804
729
|
// ECMA 262 - 15.9.5.22
|
805
730
|
function DateGetSeconds() {
|
806
|
-
|
731
|
+
var t = DATE_VALUE(this);
|
732
|
+
if (NUMBER_IS_NAN(t)) return t;
|
733
|
+
return SEC_FROM_TIME(LocalTimeNoCheck(t));
|
807
734
|
}
|
808
735
|
|
809
736
|
|
810
737
|
// ECMA 262 - 15.9.5.23
|
811
738
|
function DateGetUTCSeconds() {
|
812
|
-
|
739
|
+
var t = DATE_VALUE(this);
|
740
|
+
return NAN_OR_SEC_FROM_TIME(t);
|
813
741
|
}
|
814
742
|
|
815
743
|
|
816
744
|
// ECMA 262 - 15.9.5.24
|
817
745
|
function DateGetMilliseconds() {
|
818
|
-
|
746
|
+
var t = DATE_VALUE(this);
|
747
|
+
if (NUMBER_IS_NAN(t)) return t;
|
748
|
+
return MS_FROM_TIME(LocalTimeNoCheck(t));
|
819
749
|
}
|
820
750
|
|
821
751
|
|
822
752
|
// ECMA 262 - 15.9.5.25
|
823
753
|
function DateGetUTCMilliseconds() {
|
824
|
-
|
754
|
+
var t = DATE_VALUE(this);
|
755
|
+
return NAN_OR_MS_FROM_TIME(t);
|
825
756
|
}
|
826
757
|
|
827
758
|
|
@@ -862,7 +793,7 @@ function DateSetUTCMilliseconds(ms) {
|
|
862
793
|
function DateSetSeconds(sec, ms) {
|
863
794
|
var t = LocalTime(DATE_VALUE(this));
|
864
795
|
sec = ToNumber(sec);
|
865
|
-
ms = %_ArgumentsLength() < 2 ?
|
796
|
+
ms = %_ArgumentsLength() < 2 ? NAN_OR_MS_FROM_TIME(t) : ToNumber(ms);
|
866
797
|
var time = MakeTime(HOUR_FROM_TIME(t), MIN_FROM_TIME(t), sec, ms);
|
867
798
|
return %_SetValueOf(this, TimeClip(UTC(MakeDate(DAY(t), time))));
|
868
799
|
}
|
@@ -872,7 +803,7 @@ function DateSetSeconds(sec, ms) {
|
|
872
803
|
function DateSetUTCSeconds(sec, ms) {
|
873
804
|
var t = DATE_VALUE(this);
|
874
805
|
sec = ToNumber(sec);
|
875
|
-
ms = %_ArgumentsLength() < 2 ?
|
806
|
+
ms = %_ArgumentsLength() < 2 ? NAN_OR_MS_FROM_TIME(t) : ToNumber(ms);
|
876
807
|
var time = MakeTime(HOUR_FROM_TIME(t), MIN_FROM_TIME(t), sec, ms);
|
877
808
|
return %_SetValueOf(this, TimeClip(MakeDate(DAY(t), time)));
|
878
809
|
}
|
@@ -883,8 +814,8 @@ function DateSetMinutes(min, sec, ms) {
|
|
883
814
|
var t = LocalTime(DATE_VALUE(this));
|
884
815
|
min = ToNumber(min);
|
885
816
|
var argc = %_ArgumentsLength();
|
886
|
-
sec = argc < 2 ?
|
887
|
-
ms = argc < 3 ?
|
817
|
+
sec = argc < 2 ? NAN_OR_SEC_FROM_TIME(t) : ToNumber(sec);
|
818
|
+
ms = argc < 3 ? NAN_OR_MS_FROM_TIME(t) : ToNumber(ms);
|
888
819
|
var time = MakeTime(HOUR_FROM_TIME(t), min, sec, ms);
|
889
820
|
return %_SetValueOf(this, TimeClip(UTC(MakeDate(DAY(t), time))));
|
890
821
|
}
|
@@ -895,8 +826,8 @@ function DateSetUTCMinutes(min, sec, ms) {
|
|
895
826
|
var t = DATE_VALUE(this);
|
896
827
|
min = ToNumber(min);
|
897
828
|
var argc = %_ArgumentsLength();
|
898
|
-
sec = argc < 2 ?
|
899
|
-
ms = argc < 3 ?
|
829
|
+
sec = argc < 2 ? NAN_OR_SEC_FROM_TIME(t) : ToNumber(sec);
|
830
|
+
ms = argc < 3 ? NAN_OR_MS_FROM_TIME(t) : ToNumber(ms);
|
900
831
|
var time = MakeTime(HOUR_FROM_TIME(t), min, sec, ms);
|
901
832
|
return %_SetValueOf(this, TimeClip(MakeDate(DAY(t), time)));
|
902
833
|
}
|
@@ -907,9 +838,9 @@ function DateSetHours(hour, min, sec, ms) {
|
|
907
838
|
var t = LocalTime(DATE_VALUE(this));
|
908
839
|
hour = ToNumber(hour);
|
909
840
|
var argc = %_ArgumentsLength();
|
910
|
-
min = argc < 2 ?
|
911
|
-
sec = argc < 3 ?
|
912
|
-
ms = argc < 4 ?
|
841
|
+
min = argc < 2 ? NAN_OR_MIN_FROM_TIME(t) : ToNumber(min);
|
842
|
+
sec = argc < 3 ? NAN_OR_SEC_FROM_TIME(t) : ToNumber(sec);
|
843
|
+
ms = argc < 4 ? NAN_OR_MS_FROM_TIME(t) : ToNumber(ms);
|
913
844
|
var time = MakeTime(hour, min, sec, ms);
|
914
845
|
return %_SetValueOf(this, TimeClip(UTC(MakeDate(DAY(t), time))));
|
915
846
|
}
|
@@ -920,9 +851,9 @@ function DateSetUTCHours(hour, min, sec, ms) {
|
|
920
851
|
var t = DATE_VALUE(this);
|
921
852
|
hour = ToNumber(hour);
|
922
853
|
var argc = %_ArgumentsLength();
|
923
|
-
min = argc < 2 ?
|
924
|
-
sec = argc < 3 ?
|
925
|
-
ms = argc < 4 ?
|
854
|
+
min = argc < 2 ? NAN_OR_MIN_FROM_TIME(t) : ToNumber(min);
|
855
|
+
sec = argc < 3 ? NAN_OR_SEC_FROM_TIME(t) : ToNumber(sec);
|
856
|
+
ms = argc < 4 ? NAN_OR_MS_FROM_TIME(t) : ToNumber(ms);
|
926
857
|
var time = MakeTime(hour, min, sec, ms);
|
927
858
|
return %_SetValueOf(this, TimeClip(MakeDate(DAY(t), time)));
|
928
859
|
}
|
@@ -950,7 +881,7 @@ function DateSetUTCDate(date) {
|
|
950
881
|
function DateSetMonth(month, date) {
|
951
882
|
var t = LocalTime(DATE_VALUE(this));
|
952
883
|
month = ToNumber(month);
|
953
|
-
date = %_ArgumentsLength() < 2 ?
|
884
|
+
date = %_ArgumentsLength() < 2 ? NAN_OR_DATE_FROM_TIME(t) : ToNumber(date);
|
954
885
|
var day = MakeDay(YEAR_FROM_TIME(t), month, date);
|
955
886
|
return %_SetValueOf(this, TimeClip(UTC(MakeDate(day, TimeWithinDay(t)))));
|
956
887
|
}
|
@@ -960,7 +891,7 @@ function DateSetMonth(month, date) {
|
|
960
891
|
function DateSetUTCMonth(month, date) {
|
961
892
|
var t = DATE_VALUE(this);
|
962
893
|
month = ToNumber(month);
|
963
|
-
date = %_ArgumentsLength() < 2 ?
|
894
|
+
date = %_ArgumentsLength() < 2 ? NAN_OR_DATE_FROM_TIME(t) : ToNumber(date);
|
964
895
|
var day = MakeDay(YEAR_FROM_TIME(t), month, date);
|
965
896
|
return %_SetValueOf(this, TimeClip(MakeDate(day, TimeWithinDay(t))));
|
966
897
|
}
|