therubyracer 0.9.0beta2 → 0.9.0beta3
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/.gitmodules +3 -0
- data/ext/v8/upstream/Makefile +1 -2
- data/ext/v8/upstream/v8/.gitignore +33 -0
- data/ext/v8/upstream/v8/AUTHORS +42 -0
- data/ext/v8/upstream/v8/ChangeLog +2663 -0
- data/ext/v8/upstream/{3.1.8 → v8}/LICENSE +0 -0
- data/ext/v8/upstream/{3.1.8 → v8}/LICENSE.strongtalk +0 -0
- data/ext/v8/upstream/{3.1.8 → v8}/LICENSE.v8 +0 -0
- data/ext/v8/upstream/{3.1.8 → v8}/LICENSE.valgrind +0 -0
- data/ext/v8/upstream/v8/SConstruct +1473 -0
- data/ext/v8/upstream/{3.1.8 → v8}/build/README.txt +0 -0
- data/ext/v8/upstream/{3.1.8 → v8}/build/all.gyp +0 -0
- data/ext/v8/upstream/{3.1.8 → v8}/build/armu.gypi +0 -0
- data/ext/v8/upstream/{3.1.8 → v8}/build/common.gypi +0 -0
- data/ext/v8/upstream/{3.1.8 → v8}/build/gyp_v8 +0 -0
- data/ext/v8/upstream/v8/include/v8-debug.h +394 -0
- data/ext/v8/upstream/v8/include/v8-preparser.h +116 -0
- data/ext/v8/upstream/v8/include/v8-profiler.h +505 -0
- data/ext/v8/upstream/v8/include/v8-testing.h +104 -0
- data/ext/v8/upstream/v8/include/v8.h +4000 -0
- data/ext/v8/upstream/{3.1.8 → v8}/include/v8stdint.h +0 -0
- data/ext/v8/upstream/v8/preparser/SConscript +38 -0
- data/ext/v8/upstream/v8/preparser/preparser-process.cc +169 -0
- data/ext/v8/upstream/v8/src/SConscript +380 -0
- data/ext/v8/upstream/v8/src/accessors.cc +766 -0
- data/ext/v8/upstream/{3.1.8 → v8}/src/accessors.h +0 -0
- data/ext/v8/upstream/v8/src/allocation-inl.h +49 -0
- data/ext/v8/upstream/v8/src/allocation.cc +122 -0
- data/ext/v8/upstream/v8/src/allocation.h +143 -0
- data/ext/v8/upstream/v8/src/api.cc +5678 -0
- data/ext/v8/upstream/v8/src/api.h +572 -0
- data/ext/v8/upstream/{3.1.8 → v8}/src/apinatives.js +0 -0
- data/ext/v8/upstream/v8/src/apiutils.h +73 -0
- data/ext/v8/upstream/v8/src/arguments.h +116 -0
- data/ext/v8/upstream/v8/src/arm/assembler-arm-inl.h +353 -0
- data/ext/v8/upstream/v8/src/arm/assembler-arm.cc +2877 -0
- data/ext/v8/upstream/v8/src/arm/assembler-arm.h +1382 -0
- data/ext/v8/upstream/v8/src/arm/builtins-arm.cc +1634 -0
- data/ext/v8/upstream/v8/src/arm/code-stubs-arm.cc +6917 -0
- data/ext/v8/upstream/v8/src/arm/code-stubs-arm.h +623 -0
- data/ext/v8/upstream/{3.1.8 → v8}/src/arm/codegen-arm-inl.h +0 -0
- data/ext/v8/upstream/v8/src/arm/codegen-arm.cc +7437 -0
- data/ext/v8/upstream/v8/src/arm/codegen-arm.h +595 -0
- data/ext/v8/upstream/{3.1.8 → v8}/src/arm/constants-arm.cc +0 -0
- data/ext/v8/upstream/v8/src/arm/constants-arm.h +778 -0
- data/ext/v8/upstream/v8/src/arm/cpu-arm.cc +149 -0
- data/ext/v8/upstream/v8/src/arm/debug-arm.cc +317 -0
- data/ext/v8/upstream/v8/src/arm/deoptimizer-arm.cc +737 -0
- data/ext/v8/upstream/v8/src/arm/disasm-arm.cc +1503 -0
- data/ext/v8/upstream/{3.1.8 → v8}/src/arm/frames-arm.cc +0 -0
- data/ext/v8/upstream/v8/src/arm/frames-arm.h +168 -0
- data/ext/v8/upstream/v8/src/arm/full-codegen-arm.cc +4374 -0
- data/ext/v8/upstream/v8/src/arm/ic-arm.cc +1793 -0
- data/ext/v8/upstream/{3.1.8 → v8}/src/arm/jump-target-arm.cc +0 -0
- data/ext/v8/upstream/v8/src/arm/lithium-arm.cc +2120 -0
- data/ext/v8/upstream/v8/src/arm/lithium-arm.h +2179 -0
- data/ext/v8/upstream/v8/src/arm/lithium-codegen-arm.cc +4132 -0
- data/ext/v8/upstream/v8/src/arm/lithium-codegen-arm.h +329 -0
- data/ext/v8/upstream/v8/src/arm/lithium-gap-resolver-arm.cc +305 -0
- data/ext/v8/upstream/{3.1.8 → v8}/src/arm/lithium-gap-resolver-arm.h +0 -0
- data/ext/v8/upstream/v8/src/arm/macro-assembler-arm.cc +2939 -0
- data/ext/v8/upstream/v8/src/arm/macro-assembler-arm.h +1071 -0
- data/ext/v8/upstream/v8/src/arm/regexp-macro-assembler-arm.cc +1287 -0
- data/ext/v8/upstream/v8/src/arm/regexp-macro-assembler-arm.h +253 -0
- data/ext/v8/upstream/{3.1.8 → v8}/src/arm/register-allocator-arm-inl.h +0 -0
- data/ext/v8/upstream/{3.1.8 → v8}/src/arm/register-allocator-arm.cc +0 -0
- data/ext/v8/upstream/{3.1.8 → v8}/src/arm/register-allocator-arm.h +0 -0
- data/ext/v8/upstream/v8/src/arm/simulator-arm.cc +3288 -0
- data/ext/v8/upstream/v8/src/arm/simulator-arm.h +413 -0
- data/ext/v8/upstream/v8/src/arm/stub-cache-arm.cc +4034 -0
- data/ext/v8/upstream/{3.1.8 → v8}/src/arm/virtual-frame-arm-inl.h +0 -0
- data/ext/v8/upstream/v8/src/arm/virtual-frame-arm.cc +843 -0
- data/ext/v8/upstream/v8/src/arm/virtual-frame-arm.h +523 -0
- data/ext/v8/upstream/v8/src/array.js +1249 -0
- data/ext/v8/upstream/v8/src/assembler.cc +1067 -0
- data/ext/v8/upstream/v8/src/assembler.h +823 -0
- data/ext/v8/upstream/v8/src/ast-inl.h +112 -0
- data/ext/v8/upstream/v8/src/ast.cc +1078 -0
- data/ext/v8/upstream/v8/src/ast.h +2234 -0
- data/ext/v8/upstream/v8/src/atomicops.h +167 -0
- data/ext/v8/upstream/{3.1.8 → v8}/src/atomicops_internals_arm_gcc.h +0 -0
- data/ext/v8/upstream/v8/src/atomicops_internals_mips_gcc.h +169 -0
- data/ext/v8/upstream/{3.1.8 → v8}/src/atomicops_internals_x86_gcc.cc +0 -0
- data/ext/v8/upstream/{3.1.8 → v8}/src/atomicops_internals_x86_gcc.h +0 -0
- data/ext/v8/upstream/{3.1.8 → v8}/src/atomicops_internals_x86_macosx.h +0 -0
- data/ext/v8/upstream/{3.1.8 → v8}/src/atomicops_internals_x86_msvc.h +0 -0
- data/ext/v8/upstream/{3.1.8 → v8}/src/bignum-dtoa.cc +0 -0
- data/ext/v8/upstream/{3.1.8 → v8}/src/bignum-dtoa.h +0 -0
- data/ext/v8/upstream/{3.1.8 → v8}/src/bignum.cc +0 -0
- data/ext/v8/upstream/{3.1.8 → v8}/src/bignum.h +0 -0
- data/ext/v8/upstream/v8/src/bootstrapper.cc +2138 -0
- data/ext/v8/upstream/v8/src/bootstrapper.h +185 -0
- data/ext/v8/upstream/v8/src/builtins.cc +1708 -0
- data/ext/v8/upstream/v8/src/builtins.h +368 -0
- data/ext/v8/upstream/{3.1.8 → v8}/src/bytecodes-irregexp.h +0 -0
- data/ext/v8/upstream/{3.1.8 → v8}/src/cached-powers.cc +0 -0
- data/ext/v8/upstream/{3.1.8 → v8}/src/cached-powers.h +0 -0
- data/ext/v8/upstream/{3.1.8 → v8}/src/char-predicates-inl.h +0 -0
- data/ext/v8/upstream/{3.1.8 → v8}/src/char-predicates.h +0 -0
- data/ext/v8/upstream/v8/src/checks.cc +110 -0
- data/ext/v8/upstream/v8/src/checks.h +296 -0
- data/ext/v8/upstream/{3.1.8 → v8}/src/circular-queue-inl.h +0 -0
- data/ext/v8/upstream/{3.1.8 → v8}/src/circular-queue.cc +0 -0
- data/ext/v8/upstream/{3.1.8 → v8}/src/circular-queue.h +0 -0
- data/ext/v8/upstream/v8/src/code-stubs.cc +240 -0
- data/ext/v8/upstream/v8/src/code-stubs.h +971 -0
- data/ext/v8/upstream/{3.1.8 → v8}/src/code.h +0 -0
- data/ext/v8/upstream/v8/src/codegen-inl.h +68 -0
- data/ext/v8/upstream/v8/src/codegen.cc +505 -0
- data/ext/v8/upstream/v8/src/codegen.h +245 -0
- data/ext/v8/upstream/v8/src/compilation-cache.cc +540 -0
- data/ext/v8/upstream/v8/src/compilation-cache.h +287 -0
- data/ext/v8/upstream/v8/src/compiler.cc +792 -0
- data/ext/v8/upstream/v8/src/compiler.h +307 -0
- data/ext/v8/upstream/v8/src/contexts.cc +327 -0
- data/ext/v8/upstream/v8/src/contexts.h +382 -0
- data/ext/v8/upstream/{3.1.8 → v8}/src/conversions-inl.h +0 -0
- data/ext/v8/upstream/v8/src/conversions.cc +1125 -0
- data/ext/v8/upstream/{3.1.8 → v8}/src/conversions.h +0 -0
- data/ext/v8/upstream/v8/src/counters.cc +93 -0
- data/ext/v8/upstream/v8/src/counters.h +254 -0
- data/ext/v8/upstream/v8/src/cpu-profiler-inl.h +101 -0
- data/ext/v8/upstream/v8/src/cpu-profiler.cc +606 -0
- data/ext/v8/upstream/v8/src/cpu-profiler.h +305 -0
- data/ext/v8/upstream/v8/src/cpu.h +67 -0
- data/ext/v8/upstream/v8/src/d8-debug.cc +367 -0
- data/ext/v8/upstream/v8/src/d8-debug.h +158 -0
- data/ext/v8/upstream/v8/src/d8-posix.cc +695 -0
- data/ext/v8/upstream/{3.1.8 → v8}/src/d8-readline.cc +0 -0
- data/ext/v8/upstream/{3.1.8 → v8}/src/d8-windows.cc +0 -0
- data/ext/v8/upstream/v8/src/d8.cc +796 -0
- data/ext/v8/upstream/v8/src/d8.gyp +88 -0
- data/ext/v8/upstream/{3.1.8 → v8}/src/d8.h +0 -0
- data/ext/v8/upstream/{3.1.8 → v8}/src/d8.js +0 -0
- data/ext/v8/upstream/{3.1.8 → v8}/src/data-flow.cc +0 -0
- data/ext/v8/upstream/v8/src/data-flow.h +379 -0
- data/ext/v8/upstream/{3.1.8 → v8}/src/date.js +0 -0
- data/ext/v8/upstream/{3.1.8 → v8}/src/dateparser-inl.h +0 -0
- data/ext/v8/upstream/{3.1.8 → v8}/src/dateparser.cc +0 -0
- data/ext/v8/upstream/v8/src/dateparser.h +265 -0
- data/ext/v8/upstream/v8/src/debug-agent.cc +447 -0
- data/ext/v8/upstream/v8/src/debug-agent.h +129 -0
- data/ext/v8/upstream/{3.1.8 → v8}/src/debug-debugger.js +0 -0
- data/ext/v8/upstream/v8/src/debug.cc +3188 -0
- data/ext/v8/upstream/v8/src/debug.h +1055 -0
- data/ext/v8/upstream/v8/src/deoptimizer.cc +1296 -0
- data/ext/v8/upstream/v8/src/deoptimizer.h +629 -0
- data/ext/v8/upstream/v8/src/disasm.h +80 -0
- data/ext/v8/upstream/v8/src/disassembler.cc +339 -0
- data/ext/v8/upstream/{3.1.8 → v8}/src/disassembler.h +0 -0
- data/ext/v8/upstream/{3.1.8 → v8}/src/diy-fp.cc +0 -0
- data/ext/v8/upstream/{3.1.8 → v8}/src/diy-fp.h +0 -0
- data/ext/v8/upstream/{3.1.8 → v8}/src/double.h +0 -0
- data/ext/v8/upstream/{3.1.8 → v8}/src/dtoa.cc +0 -0
- data/ext/v8/upstream/{3.1.8 → v8}/src/dtoa.h +0 -0
- data/ext/v8/upstream/v8/src/execution.cc +791 -0
- data/ext/v8/upstream/v8/src/execution.h +291 -0
- data/ext/v8/upstream/v8/src/extensions/experimental/break-iterator.cc +250 -0
- data/ext/v8/upstream/v8/src/extensions/experimental/break-iterator.h +89 -0
- data/ext/v8/upstream/v8/src/extensions/experimental/experimental.gyp +55 -0
- data/ext/v8/upstream/v8/src/extensions/experimental/i18n-extension.cc +284 -0
- data/ext/v8/upstream/{3.1.8 → v8}/src/extensions/experimental/i18n-extension.h +0 -0
- data/ext/v8/upstream/v8/src/extensions/externalize-string-extension.cc +141 -0
- data/ext/v8/upstream/{3.1.8 → v8}/src/extensions/externalize-string-extension.h +0 -0
- data/ext/v8/upstream/v8/src/extensions/gc-extension.cc +58 -0
- data/ext/v8/upstream/{3.1.8 → v8}/src/extensions/gc-extension.h +0 -0
- data/ext/v8/upstream/v8/src/factory.cc +1194 -0
- data/ext/v8/upstream/v8/src/factory.h +436 -0
- data/ext/v8/upstream/{3.1.8 → v8}/src/fast-dtoa.cc +0 -0
- data/ext/v8/upstream/{3.1.8 → v8}/src/fast-dtoa.h +0 -0
- data/ext/v8/upstream/{3.1.8 → v8}/src/fixed-dtoa.cc +0 -0
- data/ext/v8/upstream/{3.1.8 → v8}/src/fixed-dtoa.h +0 -0
- data/ext/v8/upstream/v8/src/flag-definitions.h +556 -0
- data/ext/v8/upstream/{3.1.8 → v8}/src/flags.cc +0 -0
- data/ext/v8/upstream/{3.1.8 → v8}/src/flags.h +0 -0
- data/ext/v8/upstream/v8/src/frame-element.cc +37 -0
- data/ext/v8/upstream/v8/src/frame-element.h +269 -0
- data/ext/v8/upstream/v8/src/frames-inl.h +236 -0
- data/ext/v8/upstream/v8/src/frames.cc +1273 -0
- data/ext/v8/upstream/v8/src/frames.h +854 -0
- data/ext/v8/upstream/v8/src/full-codegen.cc +1385 -0
- data/ext/v8/upstream/v8/src/full-codegen.h +753 -0
- data/ext/v8/upstream/v8/src/func-name-inferrer.cc +91 -0
- data/ext/v8/upstream/v8/src/func-name-inferrer.h +111 -0
- data/ext/v8/upstream/v8/src/gdb-jit.cc +1548 -0
- data/ext/v8/upstream/{3.1.8 → v8}/src/gdb-jit.h +0 -0
- data/ext/v8/upstream/v8/src/global-handles.cc +596 -0
- data/ext/v8/upstream/v8/src/global-handles.h +239 -0
- data/ext/v8/upstream/v8/src/globals.h +325 -0
- data/ext/v8/upstream/v8/src/handles-inl.h +177 -0
- data/ext/v8/upstream/v8/src/handles.cc +965 -0
- data/ext/v8/upstream/v8/src/handles.h +372 -0
- data/ext/v8/upstream/{3.1.8 → v8}/src/hashmap.cc +0 -0
- data/ext/v8/upstream/v8/src/hashmap.h +121 -0
- data/ext/v8/upstream/v8/src/heap-inl.h +703 -0
- data/ext/v8/upstream/v8/src/heap-profiler.cc +1173 -0
- data/ext/v8/upstream/v8/src/heap-profiler.h +396 -0
- data/ext/v8/upstream/v8/src/heap.cc +5856 -0
- data/ext/v8/upstream/v8/src/heap.h +2264 -0
- data/ext/v8/upstream/v8/src/hydrogen-instructions.cc +1639 -0
- data/ext/v8/upstream/v8/src/hydrogen-instructions.h +3657 -0
- data/ext/v8/upstream/v8/src/hydrogen.cc +6011 -0
- data/ext/v8/upstream/v8/src/hydrogen.h +1137 -0
- data/ext/v8/upstream/v8/src/ia32/assembler-ia32-inl.h +430 -0
- data/ext/v8/upstream/v8/src/ia32/assembler-ia32.cc +2846 -0
- data/ext/v8/upstream/v8/src/ia32/assembler-ia32.h +1159 -0
- data/ext/v8/upstream/v8/src/ia32/builtins-ia32.cc +1596 -0
- data/ext/v8/upstream/v8/src/ia32/code-stubs-ia32.cc +6549 -0
- data/ext/v8/upstream/v8/src/ia32/code-stubs-ia32.h +495 -0
- data/ext/v8/upstream/{3.1.8 → v8}/src/ia32/codegen-ia32-inl.h +0 -0
- data/ext/v8/upstream/v8/src/ia32/codegen-ia32.cc +10385 -0
- data/ext/v8/upstream/v8/src/ia32/codegen-ia32.h +801 -0
- data/ext/v8/upstream/v8/src/ia32/cpu-ia32.cc +88 -0
- data/ext/v8/upstream/v8/src/ia32/debug-ia32.cc +312 -0
- data/ext/v8/upstream/v8/src/ia32/deoptimizer-ia32.cc +774 -0
- data/ext/v8/upstream/v8/src/ia32/disasm-ia32.cc +1620 -0
- data/ext/v8/upstream/{3.1.8 → v8}/src/ia32/frames-ia32.cc +0 -0
- data/ext/v8/upstream/v8/src/ia32/frames-ia32.h +140 -0
- data/ext/v8/upstream/v8/src/ia32/full-codegen-ia32.cc +4357 -0
- data/ext/v8/upstream/v8/src/ia32/ic-ia32.cc +1779 -0
- data/ext/v8/upstream/{3.1.8 → v8}/src/ia32/jump-target-ia32.cc +0 -0
- data/ext/v8/upstream/v8/src/ia32/lithium-codegen-ia32.cc +4158 -0
- data/ext/v8/upstream/v8/src/ia32/lithium-codegen-ia32.h +318 -0
- data/ext/v8/upstream/v8/src/ia32/lithium-gap-resolver-ia32.cc +466 -0
- data/ext/v8/upstream/{3.1.8 → v8}/src/ia32/lithium-gap-resolver-ia32.h +0 -0
- data/ext/v8/upstream/v8/src/ia32/lithium-ia32.cc +2181 -0
- data/ext/v8/upstream/v8/src/ia32/lithium-ia32.h +2235 -0
- data/ext/v8/upstream/v8/src/ia32/macro-assembler-ia32.cc +2056 -0
- data/ext/v8/upstream/v8/src/ia32/macro-assembler-ia32.h +807 -0
- data/ext/v8/upstream/v8/src/ia32/regexp-macro-assembler-ia32.cc +1264 -0
- data/ext/v8/upstream/v8/src/ia32/regexp-macro-assembler-ia32.h +216 -0
- data/ext/v8/upstream/{3.1.8 → v8}/src/ia32/register-allocator-ia32-inl.h +0 -0
- data/ext/v8/upstream/v8/src/ia32/register-allocator-ia32.cc +157 -0
- data/ext/v8/upstream/{3.1.8 → v8}/src/ia32/register-allocator-ia32.h +0 -0
- data/ext/v8/upstream/{3.1.8 → v8}/src/ia32/simulator-ia32.cc +0 -0
- data/ext/v8/upstream/v8/src/ia32/simulator-ia32.h +72 -0
- data/ext/v8/upstream/v8/src/ia32/stub-cache-ia32.cc +3711 -0
- data/ext/v8/upstream/v8/src/ia32/virtual-frame-ia32.cc +1366 -0
- data/ext/v8/upstream/v8/src/ia32/virtual-frame-ia32.h +650 -0
- data/ext/v8/upstream/v8/src/ic-inl.h +130 -0
- data/ext/v8/upstream/v8/src/ic.cc +2389 -0
- data/ext/v8/upstream/v8/src/ic.h +675 -0
- data/ext/v8/upstream/{3.1.8 → v8}/src/inspector.cc +0 -0
- data/ext/v8/upstream/{3.1.8 → v8}/src/inspector.h +0 -0
- data/ext/v8/upstream/v8/src/interpreter-irregexp.cc +659 -0
- data/ext/v8/upstream/v8/src/interpreter-irregexp.h +49 -0
- data/ext/v8/upstream/v8/src/isolate.cc +883 -0
- data/ext/v8/upstream/v8/src/isolate.h +1306 -0
- data/ext/v8/upstream/v8/src/json.js +342 -0
- data/ext/v8/upstream/v8/src/jsregexp.cc +5371 -0
- data/ext/v8/upstream/v8/src/jsregexp.h +1483 -0
- data/ext/v8/upstream/{3.1.8 → v8}/src/jump-target-heavy-inl.h +0 -0
- data/ext/v8/upstream/v8/src/jump-target-heavy.cc +427 -0
- data/ext/v8/upstream/v8/src/jump-target-heavy.h +238 -0
- data/ext/v8/upstream/v8/src/jump-target-inl.h +48 -0
- data/ext/v8/upstream/{3.1.8 → v8}/src/jump-target-light-inl.h +0 -0
- data/ext/v8/upstream/v8/src/jump-target-light.cc +111 -0
- data/ext/v8/upstream/{3.1.8 → v8}/src/jump-target-light.h +0 -0
- data/ext/v8/upstream/{3.1.8 → v8}/src/jump-target.cc +0 -0
- data/ext/v8/upstream/{3.1.8 → v8}/src/jump-target.h +0 -0
- data/ext/v8/upstream/{3.1.8 → v8}/src/list-inl.h +0 -0
- data/ext/v8/upstream/{3.1.8 → v8}/src/list.h +0 -0
- data/ext/v8/upstream/v8/src/lithium-allocator-inl.h +142 -0
- data/ext/v8/upstream/v8/src/lithium-allocator.cc +2105 -0
- data/ext/v8/upstream/v8/src/lithium-allocator.h +630 -0
- data/ext/v8/upstream/v8/src/lithium.cc +169 -0
- data/ext/v8/upstream/{3.1.8 → v8}/src/lithium.h +0 -0
- data/ext/v8/upstream/{3.1.8 → v8}/src/liveedit-debugger.js +0 -0
- data/ext/v8/upstream/v8/src/liveedit.cc +1693 -0
- data/ext/v8/upstream/v8/src/liveedit.h +179 -0
- data/ext/v8/upstream/{3.1.8 → v8}/src/liveobjectlist-inl.h +0 -0
- data/ext/v8/upstream/v8/src/liveobjectlist.cc +2589 -0
- data/ext/v8/upstream/v8/src/liveobjectlist.h +322 -0
- data/ext/v8/upstream/{3.1.8 → v8}/src/log-inl.h +0 -0
- data/ext/v8/upstream/v8/src/log-utils.cc +423 -0
- data/ext/v8/upstream/v8/src/log-utils.h +229 -0
- data/ext/v8/upstream/v8/src/log.cc +1666 -0
- data/ext/v8/upstream/v8/src/log.h +446 -0
- data/ext/v8/upstream/{3.1.8 → v8}/src/macro-assembler.h +0 -0
- data/ext/v8/upstream/{3.1.8 → v8}/src/macros.py +0 -0
- data/ext/v8/upstream/v8/src/mark-compact.cc +3092 -0
- data/ext/v8/upstream/v8/src/mark-compact.h +506 -0
- data/ext/v8/upstream/{3.1.8 → v8}/src/math.js +0 -0
- data/ext/v8/upstream/v8/src/messages.cc +166 -0
- data/ext/v8/upstream/{3.1.8 → v8}/src/messages.h +0 -0
- data/ext/v8/upstream/v8/src/messages.js +1090 -0
- data/ext/v8/upstream/v8/src/mips/assembler-mips-inl.h +335 -0
- data/ext/v8/upstream/v8/src/mips/assembler-mips.cc +2093 -0
- data/ext/v8/upstream/v8/src/mips/assembler-mips.h +1066 -0
- data/ext/v8/upstream/v8/src/mips/builtins-mips.cc +148 -0
- data/ext/v8/upstream/v8/src/mips/code-stubs-mips.cc +752 -0
- data/ext/v8/upstream/v8/src/mips/code-stubs-mips.h +511 -0
- data/ext/v8/upstream/v8/src/mips/codegen-mips-inl.h +64 -0
- data/ext/v8/upstream/v8/src/mips/codegen-mips.cc +1213 -0
- data/ext/v8/upstream/v8/src/mips/codegen-mips.h +633 -0
- data/ext/v8/upstream/v8/src/mips/constants-mips.cc +352 -0
- data/ext/v8/upstream/v8/src/mips/constants-mips.h +723 -0
- data/ext/v8/upstream/v8/src/mips/cpu-mips.cc +90 -0
- data/ext/v8/upstream/v8/src/mips/debug-mips.cc +155 -0
- data/ext/v8/upstream/v8/src/mips/deoptimizer-mips.cc +91 -0
- data/ext/v8/upstream/v8/src/mips/disasm-mips.cc +1023 -0
- data/ext/v8/upstream/v8/src/mips/frames-mips.cc +48 -0
- data/ext/v8/upstream/v8/src/mips/frames-mips.h +179 -0
- data/ext/v8/upstream/v8/src/mips/full-codegen-mips.cc +727 -0
- data/ext/v8/upstream/v8/src/mips/ic-mips.cc +244 -0
- data/ext/v8/upstream/v8/src/mips/jump-target-mips.cc +80 -0
- data/ext/v8/upstream/v8/src/mips/lithium-codegen-mips.h +65 -0
- data/ext/v8/upstream/v8/src/mips/lithium-mips.h +304 -0
- data/ext/v8/upstream/v8/src/mips/macro-assembler-mips.cc +3327 -0
- data/ext/v8/upstream/v8/src/mips/macro-assembler-mips.h +1058 -0
- data/ext/v8/upstream/v8/src/mips/regexp-macro-assembler-mips.cc +478 -0
- data/ext/v8/upstream/v8/src/mips/regexp-macro-assembler-mips.h +250 -0
- data/ext/v8/upstream/v8/src/mips/register-allocator-mips-inl.h +134 -0
- data/ext/v8/upstream/{3.1.8 → v8}/src/mips/register-allocator-mips.cc +0 -0
- data/ext/v8/upstream/v8/src/mips/register-allocator-mips.h +47 -0
- data/ext/v8/upstream/v8/src/mips/simulator-mips.cc +2438 -0
- data/ext/v8/upstream/v8/src/mips/simulator-mips.h +394 -0
- data/ext/v8/upstream/v8/src/mips/stub-cache-mips.cc +601 -0
- data/ext/v8/upstream/v8/src/mips/virtual-frame-mips-inl.h +58 -0
- data/ext/v8/upstream/v8/src/mips/virtual-frame-mips.cc +307 -0
- data/ext/v8/upstream/v8/src/mips/virtual-frame-mips.h +530 -0
- data/ext/v8/upstream/v8/src/mirror-debugger.js +2381 -0
- data/ext/v8/upstream/v8/src/mksnapshot.cc +256 -0
- data/ext/v8/upstream/{3.1.8 → v8}/src/natives.h +0 -0
- data/ext/v8/upstream/v8/src/objects-debug.cc +722 -0
- data/ext/v8/upstream/v8/src/objects-inl.h +4166 -0
- data/ext/v8/upstream/v8/src/objects-printer.cc +801 -0
- data/ext/v8/upstream/v8/src/objects-visiting.cc +142 -0
- data/ext/v8/upstream/v8/src/objects-visiting.h +422 -0
- data/ext/v8/upstream/v8/src/objects.cc +10296 -0
- data/ext/v8/upstream/v8/src/objects.h +6662 -0
- data/ext/v8/upstream/v8/src/parser.cc +5168 -0
- data/ext/v8/upstream/v8/src/parser.h +823 -0
- data/ext/v8/upstream/v8/src/platform-cygwin.cc +811 -0
- data/ext/v8/upstream/v8/src/platform-freebsd.cc +854 -0
- data/ext/v8/upstream/v8/src/platform-linux.cc +1120 -0
- data/ext/v8/upstream/v8/src/platform-macos.cc +865 -0
- data/ext/v8/upstream/v8/src/platform-nullos.cc +504 -0
- data/ext/v8/upstream/v8/src/platform-openbsd.cc +672 -0
- data/ext/v8/upstream/v8/src/platform-posix.cc +424 -0
- data/ext/v8/upstream/v8/src/platform-solaris.cc +796 -0
- data/ext/v8/upstream/v8/src/platform-tls-mac.h +62 -0
- data/ext/v8/upstream/v8/src/platform-tls-win32.h +62 -0
- data/ext/v8/upstream/v8/src/platform-tls.h +50 -0
- data/ext/v8/upstream/v8/src/platform-win32.cc +2072 -0
- data/ext/v8/upstream/v8/src/platform.h +693 -0
- data/ext/v8/upstream/v8/src/preparse-data.cc +185 -0
- data/ext/v8/upstream/{3.1.8 → v8}/src/preparse-data.h +0 -0
- data/ext/v8/upstream/v8/src/preparser-api.cc +219 -0
- data/ext/v8/upstream/v8/src/preparser.cc +1205 -0
- data/ext/v8/upstream/{3.1.8 → v8}/src/preparser.h +0 -0
- data/ext/v8/upstream/v8/src/prettyprinter.cc +1530 -0
- data/ext/v8/upstream/v8/src/prettyprinter.h +223 -0
- data/ext/v8/upstream/{3.1.8 → v8}/src/profile-generator-inl.h +0 -0
- data/ext/v8/upstream/v8/src/profile-generator.cc +3095 -0
- data/ext/v8/upstream/v8/src/profile-generator.h +1125 -0
- data/ext/v8/upstream/v8/src/property.cc +102 -0
- data/ext/v8/upstream/v8/src/property.h +348 -0
- data/ext/v8/upstream/{3.1.8 → v8}/src/regexp-macro-assembler-irregexp-inl.h +0 -0
- data/ext/v8/upstream/v8/src/regexp-macro-assembler-irregexp.cc +470 -0
- data/ext/v8/upstream/{3.1.8 → v8}/src/regexp-macro-assembler-irregexp.h +0 -0
- data/ext/v8/upstream/{3.1.8 → v8}/src/regexp-macro-assembler-tracer.cc +0 -0
- data/ext/v8/upstream/{3.1.8 → v8}/src/regexp-macro-assembler-tracer.h +0 -0
- data/ext/v8/upstream/v8/src/regexp-macro-assembler.cc +266 -0
- data/ext/v8/upstream/v8/src/regexp-macro-assembler.h +236 -0
- data/ext/v8/upstream/v8/src/regexp-stack.cc +111 -0
- data/ext/v8/upstream/v8/src/regexp-stack.h +147 -0
- data/ext/v8/upstream/v8/src/regexp.js +483 -0
- data/ext/v8/upstream/v8/src/register-allocator-inl.h +141 -0
- data/ext/v8/upstream/v8/src/register-allocator.cc +98 -0
- data/ext/v8/upstream/v8/src/register-allocator.h +310 -0
- data/ext/v8/upstream/v8/src/rewriter.cc +1024 -0
- data/ext/v8/upstream/{3.1.8 → v8}/src/rewriter.h +0 -0
- data/ext/v8/upstream/v8/src/runtime-profiler.cc +478 -0
- data/ext/v8/upstream/v8/src/runtime-profiler.h +192 -0
- data/ext/v8/upstream/v8/src/runtime.cc +11949 -0
- data/ext/v8/upstream/v8/src/runtime.h +643 -0
- data/ext/v8/upstream/{3.1.8 → v8}/src/runtime.js +0 -0
- data/ext/v8/upstream/v8/src/safepoint-table.cc +256 -0
- data/ext/v8/upstream/v8/src/safepoint-table.h +269 -0
- data/ext/v8/upstream/v8/src/scanner-base.cc +964 -0
- data/ext/v8/upstream/v8/src/scanner-base.h +664 -0
- data/ext/v8/upstream/v8/src/scanner.cc +584 -0
- data/ext/v8/upstream/v8/src/scanner.h +196 -0
- data/ext/v8/upstream/v8/src/scopeinfo.cc +631 -0
- data/ext/v8/upstream/v8/src/scopeinfo.h +249 -0
- data/ext/v8/upstream/v8/src/scopes.cc +1093 -0
- data/ext/v8/upstream/v8/src/scopes.h +508 -0
- data/ext/v8/upstream/v8/src/serialize.cc +1574 -0
- data/ext/v8/upstream/v8/src/serialize.h +589 -0
- data/ext/v8/upstream/{3.1.8 → v8}/src/shell.h +0 -0
- data/ext/v8/upstream/{3.1.8 → v8}/src/simulator.h +0 -0
- data/ext/v8/upstream/v8/src/small-pointer-list.h +163 -0
- data/ext/v8/upstream/{3.1.8 → v8}/src/smart-pointer.h +0 -0
- data/ext/v8/upstream/v8/src/snapshot-common.cc +82 -0
- data/ext/v8/upstream/{3.1.8 → v8}/src/snapshot-empty.cc +0 -0
- data/ext/v8/upstream/v8/src/snapshot.h +73 -0
- data/ext/v8/upstream/v8/src/spaces-inl.h +529 -0
- data/ext/v8/upstream/v8/src/spaces.cc +3147 -0
- data/ext/v8/upstream/v8/src/spaces.h +2368 -0
- data/ext/v8/upstream/{3.1.8 → v8}/src/splay-tree-inl.h +0 -0
- data/ext/v8/upstream/{3.1.8 → v8}/src/splay-tree.h +0 -0
- data/ext/v8/upstream/v8/src/string-search.cc +41 -0
- data/ext/v8/upstream/v8/src/string-search.h +568 -0
- data/ext/v8/upstream/v8/src/string-stream.cc +592 -0
- data/ext/v8/upstream/{3.1.8 → v8}/src/string-stream.h +0 -0
- data/ext/v8/upstream/v8/src/string.js +915 -0
- data/ext/v8/upstream/{3.1.8 → v8}/src/strtod.cc +0 -0
- data/ext/v8/upstream/{3.1.8 → v8}/src/strtod.h +0 -0
- data/ext/v8/upstream/v8/src/stub-cache.cc +1940 -0
- data/ext/v8/upstream/v8/src/stub-cache.h +866 -0
- data/ext/v8/upstream/{3.1.8 → v8}/src/third_party/valgrind/valgrind.h +0 -0
- data/ext/v8/upstream/v8/src/token.cc +63 -0
- data/ext/v8/upstream/v8/src/token.h +288 -0
- data/ext/v8/upstream/v8/src/top.cc +983 -0
- data/ext/v8/upstream/v8/src/type-info.cc +472 -0
- data/ext/v8/upstream/v8/src/type-info.h +290 -0
- data/ext/v8/upstream/{3.1.8 → v8}/src/unbound-queue-inl.h +0 -0
- data/ext/v8/upstream/{3.1.8 → v8}/src/unbound-queue.h +0 -0
- data/ext/v8/upstream/{3.1.8 → v8}/src/unicode-inl.h +0 -0
- data/ext/v8/upstream/v8/src/unicode.cc +1624 -0
- data/ext/v8/upstream/v8/src/unicode.h +280 -0
- data/ext/v8/upstream/{3.1.8 → v8}/src/uri.js +0 -0
- data/ext/v8/upstream/{3.1.8 → v8}/src/utils.cc +0 -0
- data/ext/v8/upstream/v8/src/utils.h +796 -0
- data/ext/v8/upstream/v8/src/v8-counters.cc +62 -0
- data/ext/v8/upstream/v8/src/v8-counters.h +311 -0
- data/ext/v8/upstream/v8/src/v8.cc +215 -0
- data/ext/v8/upstream/v8/src/v8.h +130 -0
- data/ext/v8/upstream/{3.1.8 → v8}/src/v8checks.h +0 -0
- data/ext/v8/upstream/{3.1.8 → v8}/src/v8dll-main.cc +0 -0
- data/ext/v8/upstream/v8/src/v8globals.h +486 -0
- data/ext/v8/upstream/{3.1.8/src/memory.h → v8/src/v8memory.h} +0 -0
- data/ext/v8/upstream/v8/src/v8natives.js +1293 -0
- data/ext/v8/upstream/{3.1.8 → v8}/src/v8preparserdll-main.cc +0 -0
- data/ext/v8/upstream/v8/src/v8threads.cc +453 -0
- data/ext/v8/upstream/v8/src/v8threads.h +164 -0
- data/ext/v8/upstream/v8/src/v8utils.h +317 -0
- data/ext/v8/upstream/{3.1.8 → v8}/src/variables.cc +0 -0
- data/ext/v8/upstream/v8/src/variables.h +212 -0
- data/ext/v8/upstream/v8/src/version.cc +116 -0
- data/ext/v8/upstream/v8/src/version.h +68 -0
- data/ext/v8/upstream/{3.1.8 → v8}/src/virtual-frame-heavy-inl.h +0 -0
- data/ext/v8/upstream/{3.1.8 → v8}/src/virtual-frame-heavy.cc +0 -0
- data/ext/v8/upstream/{3.1.8 → v8}/src/virtual-frame-inl.h +0 -0
- data/ext/v8/upstream/v8/src/virtual-frame-light-inl.h +171 -0
- data/ext/v8/upstream/{3.1.8 → v8}/src/virtual-frame-light.cc +0 -0
- data/ext/v8/upstream/{3.1.8 → v8}/src/virtual-frame.cc +0 -0
- data/ext/v8/upstream/{3.1.8 → v8}/src/virtual-frame.h +0 -0
- data/ext/v8/upstream/v8/src/vm-state-inl.h +138 -0
- data/ext/v8/upstream/v8/src/vm-state.h +70 -0
- data/ext/v8/upstream/v8/src/win32-headers.h +96 -0
- data/ext/v8/upstream/v8/src/x64/assembler-x64-inl.h +456 -0
- data/ext/v8/upstream/v8/src/x64/assembler-x64.cc +2954 -0
- data/ext/v8/upstream/v8/src/x64/assembler-x64.h +1630 -0
- data/ext/v8/upstream/v8/src/x64/builtins-x64.cc +1493 -0
- data/ext/v8/upstream/v8/src/x64/code-stubs-x64.cc +5132 -0
- data/ext/v8/upstream/v8/src/x64/code-stubs-x64.h +477 -0
- data/ext/v8/upstream/{3.1.8 → v8}/src/x64/codegen-x64-inl.h +0 -0
- data/ext/v8/upstream/v8/src/x64/codegen-x64.cc +8843 -0
- data/ext/v8/upstream/v8/src/x64/codegen-x64.h +753 -0
- data/ext/v8/upstream/v8/src/x64/cpu-x64.cc +88 -0
- data/ext/v8/upstream/v8/src/x64/debug-x64.cc +318 -0
- data/ext/v8/upstream/v8/src/x64/deoptimizer-x64.cc +815 -0
- data/ext/v8/upstream/v8/src/x64/disasm-x64.cc +1752 -0
- data/ext/v8/upstream/{3.1.8 → v8}/src/x64/frames-x64.cc +0 -0
- data/ext/v8/upstream/v8/src/x64/frames-x64.h +130 -0
- data/ext/v8/upstream/v8/src/x64/full-codegen-x64.cc +4339 -0
- data/ext/v8/upstream/v8/src/x64/ic-x64.cc +1752 -0
- data/ext/v8/upstream/{3.1.8 → v8}/src/x64/jump-target-x64.cc +0 -0
- data/ext/v8/upstream/v8/src/x64/lithium-codegen-x64.cc +3970 -0
- data/ext/v8/upstream/v8/src/x64/lithium-codegen-x64.h +318 -0
- data/ext/v8/upstream/{3.1.8 → v8}/src/x64/lithium-gap-resolver-x64.cc +0 -0
- data/ext/v8/upstream/{3.1.8 → v8}/src/x64/lithium-gap-resolver-x64.h +0 -0
- data/ext/v8/upstream/v8/src/x64/lithium-x64.cc +2115 -0
- data/ext/v8/upstream/v8/src/x64/lithium-x64.h +2161 -0
- data/ext/v8/upstream/v8/src/x64/macro-assembler-x64.cc +2911 -0
- data/ext/v8/upstream/v8/src/x64/macro-assembler-x64.h +1984 -0
- data/ext/v8/upstream/v8/src/x64/regexp-macro-assembler-x64.cc +1398 -0
- data/ext/v8/upstream/v8/src/x64/regexp-macro-assembler-x64.h +282 -0
- data/ext/v8/upstream/v8/src/x64/register-allocator-x64-inl.h +87 -0
- data/ext/v8/upstream/v8/src/x64/register-allocator-x64.cc +95 -0
- data/ext/v8/upstream/{3.1.8 → v8}/src/x64/register-allocator-x64.h +0 -0
- data/ext/v8/upstream/{3.1.8 → v8}/src/x64/simulator-x64.cc +0 -0
- data/ext/v8/upstream/v8/src/x64/simulator-x64.h +71 -0
- data/ext/v8/upstream/v8/src/x64/stub-cache-x64.cc +3460 -0
- data/ext/v8/upstream/v8/src/x64/virtual-frame-x64.cc +1296 -0
- data/ext/v8/upstream/v8/src/x64/virtual-frame-x64.h +597 -0
- data/ext/v8/upstream/v8/src/zone-inl.h +129 -0
- data/ext/v8/upstream/v8/src/zone.cc +196 -0
- data/ext/v8/upstream/v8/src/zone.h +236 -0
- data/ext/v8/upstream/{3.1.8 → v8}/tools/codemap.js +0 -0
- data/ext/v8/upstream/{3.1.8 → v8}/tools/consarray.js +0 -0
- data/ext/v8/upstream/{3.1.8 → v8}/tools/csvparser.js +0 -0
- data/ext/v8/upstream/{3.1.8 → v8}/tools/disasm.py +0 -0
- data/ext/v8/upstream/v8/tools/freebsd-tick-processor +10 -0
- data/ext/v8/upstream/{3.1.8 → v8}/tools/gc-nvp-trace-processor.py +0 -0
- data/ext/v8/upstream/{3.1.8 → v8}/tools/generate-ten-powers.scm +0 -0
- data/ext/v8/upstream/{3.1.8 → v8}/tools/grokdump.py +0 -0
- data/ext/v8/upstream/v8/tools/gyp/v8.gyp +844 -0
- data/ext/v8/upstream/{3.1.8 → v8}/tools/js2c.py +0 -0
- data/ext/v8/upstream/{3.1.8 → v8}/tools/jsmin.py +0 -0
- data/ext/v8/upstream/v8/tools/linux-tick-processor +35 -0
- data/ext/v8/upstream/{3.1.8 → v8}/tools/ll_prof.py +0 -0
- data/ext/v8/upstream/{3.1.8 → v8}/tools/logreader.js +0 -0
- data/ext/v8/upstream/{3.1.8 → v8}/tools/mac-nm +0 -0
- data/ext/v8/upstream/{3.1.8 → v8}/tools/mac-tick-processor +0 -0
- data/ext/v8/upstream/{3.1.8 → v8}/tools/oom_dump/README +0 -0
- data/ext/v8/upstream/{3.1.8 → v8}/tools/oom_dump/SConstruct +0 -0
- data/ext/v8/upstream/{3.1.8 → v8}/tools/oom_dump/oom_dump.cc +0 -0
- data/ext/v8/upstream/{3.1.8 → v8}/tools/presubmit.py +0 -0
- data/ext/v8/upstream/{3.1.8 → v8}/tools/process-heap-prof.py +0 -0
- data/ext/v8/upstream/{3.1.8 → v8}/tools/profile.js +0 -0
- data/ext/v8/upstream/{3.1.8 → v8}/tools/profile_view.js +0 -0
- data/ext/v8/upstream/{3.1.8 → v8}/tools/run-valgrind.py +0 -0
- data/ext/v8/upstream/{3.1.8 → v8}/tools/splaytree.js +0 -0
- data/ext/v8/upstream/{3.1.8 → v8}/tools/stats-viewer.py +0 -0
- data/ext/v8/upstream/v8/tools/test.py +1490 -0
- data/ext/v8/upstream/{3.1.8 → v8}/tools/tickprocessor-driver.js +0 -0
- data/ext/v8/upstream/v8/tools/tickprocessor.js +877 -0
- data/ext/v8/upstream/{3.1.8 → v8}/tools/utils.py +0 -0
- data/ext/v8/upstream/{3.1.8 → v8}/tools/visual_studio/README.txt +0 -0
- data/ext/v8/upstream/{3.1.8 → v8}/tools/visual_studio/arm.vsprops +0 -0
- data/ext/v8/upstream/{3.1.8 → v8}/tools/visual_studio/common.vsprops +0 -0
- data/ext/v8/upstream/{3.1.8 → v8}/tools/visual_studio/d8.vcproj +0 -0
- data/ext/v8/upstream/{3.1.8 → v8}/tools/visual_studio/d8_arm.vcproj +0 -0
- data/ext/v8/upstream/{3.1.8 → v8}/tools/visual_studio/d8_x64.vcproj +0 -0
- data/ext/v8/upstream/{3.1.8 → v8}/tools/visual_studio/d8js2c.cmd +0 -0
- data/ext/v8/upstream/{3.1.8 → v8}/tools/visual_studio/debug.vsprops +0 -0
- data/ext/v8/upstream/{3.1.8 → v8}/tools/visual_studio/ia32.vsprops +0 -0
- data/ext/v8/upstream/{3.1.8 → v8}/tools/visual_studio/js2c.cmd +0 -0
- data/ext/v8/upstream/{3.1.8 → v8}/tools/visual_studio/release.vsprops +0 -0
- data/ext/v8/upstream/{3.1.8 → v8}/tools/visual_studio/v8.sln +0 -0
- data/ext/v8/upstream/{3.1.8 → v8}/tools/visual_studio/v8.vcproj +0 -0
- data/ext/v8/upstream/{3.1.8 → v8}/tools/visual_studio/v8_arm.sln +0 -0
- data/ext/v8/upstream/{3.1.8 → v8}/tools/visual_studio/v8_arm.vcproj +0 -0
- data/ext/v8/upstream/v8/tools/visual_studio/v8_base.vcproj +1308 -0
- data/ext/v8/upstream/v8/tools/visual_studio/v8_base_arm.vcproj +1238 -0
- data/ext/v8/upstream/v8/tools/visual_studio/v8_base_x64.vcproj +1300 -0
- data/ext/v8/upstream/{3.1.8 → v8}/tools/visual_studio/v8_cctest.vcproj +0 -0
- data/ext/v8/upstream/{3.1.8 → v8}/tools/visual_studio/v8_cctest_arm.vcproj +0 -0
- data/ext/v8/upstream/{3.1.8 → v8}/tools/visual_studio/v8_cctest_x64.vcproj +0 -0
- data/ext/v8/upstream/{3.1.8 → v8}/tools/visual_studio/v8_mksnapshot.vcproj +0 -0
- data/ext/v8/upstream/{3.1.8 → v8}/tools/visual_studio/v8_mksnapshot_x64.vcproj +0 -0
- data/ext/v8/upstream/{3.1.8 → v8}/tools/visual_studio/v8_process_sample.vcproj +0 -0
- data/ext/v8/upstream/{3.1.8 → v8}/tools/visual_studio/v8_process_sample_arm.vcproj +0 -0
- data/ext/v8/upstream/{3.1.8 → v8}/tools/visual_studio/v8_process_sample_x64.vcproj +0 -0
- data/ext/v8/upstream/{3.1.8 → v8}/tools/visual_studio/v8_shell_sample.vcproj +0 -0
- data/ext/v8/upstream/{3.1.8 → v8}/tools/visual_studio/v8_shell_sample_arm.vcproj +0 -0
- data/ext/v8/upstream/{3.1.8 → v8}/tools/visual_studio/v8_shell_sample_x64.vcproj +0 -0
- data/ext/v8/upstream/{3.1.8 → v8}/tools/visual_studio/v8_snapshot.vcproj +0 -0
- data/ext/v8/upstream/{3.1.8 → v8}/tools/visual_studio/v8_snapshot_cc.vcproj +0 -0
- data/ext/v8/upstream/{3.1.8 → v8}/tools/visual_studio/v8_snapshot_cc_x64.vcproj +0 -0
- data/ext/v8/upstream/{3.1.8 → v8}/tools/visual_studio/v8_snapshot_x64.vcproj +0 -0
- data/ext/v8/upstream/{3.1.8 → v8}/tools/visual_studio/v8_x64.sln +0 -0
- data/ext/v8/upstream/{3.1.8 → v8}/tools/visual_studio/v8_x64.vcproj +0 -0
- data/ext/v8/upstream/v8/tools/visual_studio/x64.vsprops +18 -0
- data/ext/v8/upstream/{3.1.8 → v8}/tools/windows-tick-processor.bat +0 -0
- data/ext/v8/v8_callbacks.cpp +52 -92
- data/ext/v8/v8_date.cpp +2 -3
- data/ext/v8/v8_object.cpp +4 -0
- data/ext/v8/v8_template.cpp +2 -2
- data/ext/v8/v8_try_catch.cpp +8 -38
- data/lib/v8/version.rb +1 -1
- data/spec/ext/ext_spec_helper.rb +2 -20
- data/spec/ext/object_spec.rb +0 -12
- data/spec/ext/try_catch_spec.rb +29 -1
- data/spec/spec_helper.rb +1 -0
- data/spec/v8/portal/proxies_spec.rb +1 -84
- data/specmem/handle_memspec.rb +41 -0
- data/specmem/object_memspec.rb +16 -0
- data/specmem/proxies_memspec.rb +86 -0
- data/specmem/spec_helper.rb +24 -0
- data/therubyracer.gemspec +7 -2
- metadata +564 -541
- data/ext/v8/upstream/3.1.8/.gitignore +0 -31
- data/ext/v8/upstream/3.1.8/AUTHORS +0 -40
- data/ext/v8/upstream/3.1.8/ChangeLog +0 -2566
- data/ext/v8/upstream/3.1.8/SConstruct +0 -1192
- data/ext/v8/upstream/3.1.8/include/v8-debug.h +0 -384
- data/ext/v8/upstream/3.1.8/include/v8-preparser.h +0 -116
- data/ext/v8/upstream/3.1.8/include/v8-profiler.h +0 -426
- data/ext/v8/upstream/3.1.8/include/v8-testing.h +0 -99
- data/ext/v8/upstream/3.1.8/include/v8.h +0 -3846
- data/ext/v8/upstream/3.1.8/preparser/preparser-process.cc +0 -206
- data/ext/v8/upstream/3.1.8/src/SConscript +0 -356
- data/ext/v8/upstream/3.1.8/src/accessors.cc +0 -907
- data/ext/v8/upstream/3.1.8/src/allocation.cc +0 -204
- data/ext/v8/upstream/3.1.8/src/allocation.h +0 -176
- data/ext/v8/upstream/3.1.8/src/api.cc +0 -5191
- data/ext/v8/upstream/3.1.8/src/api.h +0 -508
- data/ext/v8/upstream/3.1.8/src/apiutils.h +0 -80
- data/ext/v8/upstream/3.1.8/src/arguments.h +0 -105
- data/ext/v8/upstream/3.1.8/src/arm/assembler-arm-inl.h +0 -352
- data/ext/v8/upstream/3.1.8/src/arm/assembler-arm.cc +0 -2756
- data/ext/v8/upstream/3.1.8/src/arm/assembler-arm.h +0 -1294
- data/ext/v8/upstream/3.1.8/src/arm/builtins-arm.cc +0 -1628
- data/ext/v8/upstream/3.1.8/src/arm/code-stubs-arm.cc +0 -6783
- data/ext/v8/upstream/3.1.8/src/arm/code-stubs-arm.h +0 -657
- data/ext/v8/upstream/3.1.8/src/arm/codegen-arm.cc +0 -7403
- data/ext/v8/upstream/3.1.8/src/arm/codegen-arm.h +0 -595
- data/ext/v8/upstream/3.1.8/src/arm/constants-arm.h +0 -769
- data/ext/v8/upstream/3.1.8/src/arm/cpu-arm.cc +0 -147
- data/ext/v8/upstream/3.1.8/src/arm/debug-arm.cc +0 -315
- data/ext/v8/upstream/3.1.8/src/arm/deoptimizer-arm.cc +0 -700
- data/ext/v8/upstream/3.1.8/src/arm/disasm-arm.cc +0 -1439
- data/ext/v8/upstream/3.1.8/src/arm/frames-arm.h +0 -168
- data/ext/v8/upstream/3.1.8/src/arm/full-codegen-arm.cc +0 -4230
- data/ext/v8/upstream/3.1.8/src/arm/ic-arm.cc +0 -1799
- data/ext/v8/upstream/3.1.8/src/arm/lithium-arm.cc +0 -2041
- data/ext/v8/upstream/3.1.8/src/arm/lithium-arm.h +0 -2046
- data/ext/v8/upstream/3.1.8/src/arm/lithium-codegen-arm.cc +0 -3822
- data/ext/v8/upstream/3.1.8/src/arm/lithium-codegen-arm.h +0 -312
- data/ext/v8/upstream/3.1.8/src/arm/lithium-gap-resolver-arm.cc +0 -303
- data/ext/v8/upstream/3.1.8/src/arm/macro-assembler-arm.cc +0 -2701
- data/ext/v8/upstream/3.1.8/src/arm/macro-assembler-arm.h +0 -1015
- data/ext/v8/upstream/3.1.8/src/arm/regexp-macro-assembler-arm.cc +0 -1280
- data/ext/v8/upstream/3.1.8/src/arm/regexp-macro-assembler-arm.h +0 -252
- data/ext/v8/upstream/3.1.8/src/arm/simulator-arm.cc +0 -3165
- data/ext/v8/upstream/3.1.8/src/arm/simulator-arm.h +0 -402
- data/ext/v8/upstream/3.1.8/src/arm/stub-cache-arm.cc +0 -4077
- data/ext/v8/upstream/3.1.8/src/arm/virtual-frame-arm.cc +0 -843
- data/ext/v8/upstream/3.1.8/src/arm/virtual-frame-arm.h +0 -520
- data/ext/v8/upstream/3.1.8/src/array.js +0 -1231
- data/ext/v8/upstream/3.1.8/src/assembler.cc +0 -973
- data/ext/v8/upstream/3.1.8/src/assembler.h +0 -787
- data/ext/v8/upstream/3.1.8/src/ast-inl.h +0 -107
- data/ext/v8/upstream/3.1.8/src/ast.cc +0 -1067
- data/ext/v8/upstream/3.1.8/src/ast.h +0 -2177
- data/ext/v8/upstream/3.1.8/src/atomicops.h +0 -165
- data/ext/v8/upstream/3.1.8/src/bootstrapper.cc +0 -1888
- data/ext/v8/upstream/3.1.8/src/bootstrapper.h +0 -118
- data/ext/v8/upstream/3.1.8/src/builtins.cc +0 -1586
- data/ext/v8/upstream/3.1.8/src/builtins.h +0 -339
- data/ext/v8/upstream/3.1.8/src/checks.cc +0 -110
- data/ext/v8/upstream/3.1.8/src/checks.h +0 -292
- data/ext/v8/upstream/3.1.8/src/code-stubs.cc +0 -230
- data/ext/v8/upstream/3.1.8/src/code-stubs.h +0 -950
- data/ext/v8/upstream/3.1.8/src/codegen-inl.h +0 -64
- data/ext/v8/upstream/3.1.8/src/codegen.cc +0 -495
- data/ext/v8/upstream/3.1.8/src/codegen.h +0 -245
- data/ext/v8/upstream/3.1.8/src/compilation-cache.cc +0 -654
- data/ext/v8/upstream/3.1.8/src/compilation-cache.h +0 -112
- data/ext/v8/upstream/3.1.8/src/compiler.cc +0 -806
- data/ext/v8/upstream/3.1.8/src/compiler.h +0 -290
- data/ext/v8/upstream/3.1.8/src/contexts.cc +0 -320
- data/ext/v8/upstream/3.1.8/src/contexts.h +0 -376
- data/ext/v8/upstream/3.1.8/src/conversions.cc +0 -1069
- data/ext/v8/upstream/3.1.8/src/counters.cc +0 -78
- data/ext/v8/upstream/3.1.8/src/counters.h +0 -242
- data/ext/v8/upstream/3.1.8/src/cpu-profiler-inl.h +0 -100
- data/ext/v8/upstream/3.1.8/src/cpu-profiler.cc +0 -554
- data/ext/v8/upstream/3.1.8/src/cpu-profiler.h +0 -291
- data/ext/v8/upstream/3.1.8/src/cpu.h +0 -65
- data/ext/v8/upstream/3.1.8/src/d8-debug.cc +0 -367
- data/ext/v8/upstream/3.1.8/src/d8-debug.h +0 -157
- data/ext/v8/upstream/3.1.8/src/d8-posix.cc +0 -693
- data/ext/v8/upstream/3.1.8/src/d8.cc +0 -792
- data/ext/v8/upstream/3.1.8/src/d8.gyp +0 -85
- data/ext/v8/upstream/3.1.8/src/data-flow.h +0 -379
- data/ext/v8/upstream/3.1.8/src/dateparser.h +0 -263
- data/ext/v8/upstream/3.1.8/src/debug-agent.cc +0 -446
- data/ext/v8/upstream/3.1.8/src/debug-agent.h +0 -131
- data/ext/v8/upstream/3.1.8/src/debug.cc +0 -3085
- data/ext/v8/upstream/3.1.8/src/debug.h +0 -1025
- data/ext/v8/upstream/3.1.8/src/deoptimizer.cc +0 -1185
- data/ext/v8/upstream/3.1.8/src/deoptimizer.h +0 -529
- data/ext/v8/upstream/3.1.8/src/disasm.h +0 -77
- data/ext/v8/upstream/3.1.8/src/disassembler.cc +0 -338
- data/ext/v8/upstream/3.1.8/src/execution.cc +0 -735
- data/ext/v8/upstream/3.1.8/src/execution.h +0 -322
- data/ext/v8/upstream/3.1.8/src/extensions/experimental/experimental.gyp +0 -53
- data/ext/v8/upstream/3.1.8/src/extensions/experimental/i18n-extension.cc +0 -264
- data/ext/v8/upstream/3.1.8/src/extensions/externalize-string-extension.cc +0 -141
- data/ext/v8/upstream/3.1.8/src/extensions/gc-extension.cc +0 -58
- data/ext/v8/upstream/3.1.8/src/factory.cc +0 -1087
- data/ext/v8/upstream/3.1.8/src/factory.h +0 -432
- data/ext/v8/upstream/3.1.8/src/flag-definitions.h +0 -552
- data/ext/v8/upstream/3.1.8/src/frame-element.cc +0 -42
- data/ext/v8/upstream/3.1.8/src/frame-element.h +0 -277
- data/ext/v8/upstream/3.1.8/src/frames-inl.h +0 -210
- data/ext/v8/upstream/3.1.8/src/frames.cc +0 -1232
- data/ext/v8/upstream/3.1.8/src/frames.h +0 -826
- data/ext/v8/upstream/3.1.8/src/full-codegen.cc +0 -1382
- data/ext/v8/upstream/3.1.8/src/full-codegen.h +0 -751
- data/ext/v8/upstream/3.1.8/src/func-name-inferrer.cc +0 -90
- data/ext/v8/upstream/3.1.8/src/func-name-inferrer.h +0 -111
- data/ext/v8/upstream/3.1.8/src/gdb-jit.cc +0 -1547
- data/ext/v8/upstream/3.1.8/src/global-handles.cc +0 -534
- data/ext/v8/upstream/3.1.8/src/global-handles.h +0 -181
- data/ext/v8/upstream/3.1.8/src/globals.h +0 -325
- data/ext/v8/upstream/3.1.8/src/handles-inl.h +0 -80
- data/ext/v8/upstream/3.1.8/src/handles.cc +0 -910
- data/ext/v8/upstream/3.1.8/src/handles.h +0 -424
- data/ext/v8/upstream/3.1.8/src/hashmap.h +0 -121
- data/ext/v8/upstream/3.1.8/src/heap-inl.h +0 -587
- data/ext/v8/upstream/3.1.8/src/heap-profiler.cc +0 -1128
- data/ext/v8/upstream/3.1.8/src/heap-profiler.h +0 -381
- data/ext/v8/upstream/3.1.8/src/heap.cc +0 -5610
- data/ext/v8/upstream/3.1.8/src/heap.h +0 -2218
- data/ext/v8/upstream/3.1.8/src/hydrogen-instructions.cc +0 -1490
- data/ext/v8/upstream/3.1.8/src/hydrogen-instructions.h +0 -3493
- data/ext/v8/upstream/3.1.8/src/hydrogen.cc +0 -6056
- data/ext/v8/upstream/3.1.8/src/hydrogen.h +0 -1091
- data/ext/v8/upstream/3.1.8/src/ia32/assembler-ia32-inl.h +0 -429
- data/ext/v8/upstream/3.1.8/src/ia32/assembler-ia32.cc +0 -2800
- data/ext/v8/upstream/3.1.8/src/ia32/assembler-ia32.h +0 -1093
- data/ext/v8/upstream/3.1.8/src/ia32/builtins-ia32.cc +0 -1590
- data/ext/v8/upstream/3.1.8/src/ia32/code-stubs-ia32.cc +0 -6624
- data/ext/v8/upstream/3.1.8/src/ia32/code-stubs-ia32.h +0 -536
- data/ext/v8/upstream/3.1.8/src/ia32/codegen-ia32.cc +0 -10354
- data/ext/v8/upstream/3.1.8/src/ia32/codegen-ia32.h +0 -798
- data/ext/v8/upstream/3.1.8/src/ia32/cpu-ia32.cc +0 -87
- data/ext/v8/upstream/3.1.8/src/ia32/debug-ia32.cc +0 -309
- data/ext/v8/upstream/3.1.8/src/ia32/deoptimizer-ia32.cc +0 -664
- data/ext/v8/upstream/3.1.8/src/ia32/disasm-ia32.cc +0 -1597
- data/ext/v8/upstream/3.1.8/src/ia32/frames-ia32.h +0 -140
- data/ext/v8/upstream/3.1.8/src/ia32/full-codegen-ia32.cc +0 -4278
- data/ext/v8/upstream/3.1.8/src/ia32/ic-ia32.cc +0 -1786
- data/ext/v8/upstream/3.1.8/src/ia32/lithium-codegen-ia32.cc +0 -3880
- data/ext/v8/upstream/3.1.8/src/ia32/lithium-codegen-ia32.h +0 -309
- data/ext/v8/upstream/3.1.8/src/ia32/lithium-gap-resolver-ia32.cc +0 -460
- data/ext/v8/upstream/3.1.8/src/ia32/lithium-ia32.cc +0 -2095
- data/ext/v8/upstream/3.1.8/src/ia32/lithium-ia32.h +0 -2127
- data/ext/v8/upstream/3.1.8/src/ia32/macro-assembler-ia32.cc +0 -2031
- data/ext/v8/upstream/3.1.8/src/ia32/macro-assembler-ia32.h +0 -798
- data/ext/v8/upstream/3.1.8/src/ia32/regexp-macro-assembler-ia32.cc +0 -1253
- data/ext/v8/upstream/3.1.8/src/ia32/regexp-macro-assembler-ia32.h +0 -215
- data/ext/v8/upstream/3.1.8/src/ia32/register-allocator-ia32.cc +0 -157
- data/ext/v8/upstream/3.1.8/src/ia32/simulator-ia32.h +0 -72
- data/ext/v8/upstream/3.1.8/src/ia32/stub-cache-ia32.cc +0 -3732
- data/ext/v8/upstream/3.1.8/src/ia32/virtual-frame-ia32.cc +0 -1360
- data/ext/v8/upstream/3.1.8/src/ia32/virtual-frame-ia32.h +0 -646
- data/ext/v8/upstream/3.1.8/src/ic-inl.h +0 -129
- data/ext/v8/upstream/3.1.8/src/ic.cc +0 -2333
- data/ext/v8/upstream/3.1.8/src/ic.h +0 -639
- data/ext/v8/upstream/3.1.8/src/interpreter-irregexp.cc +0 -655
- data/ext/v8/upstream/3.1.8/src/interpreter-irregexp.h +0 -48
- data/ext/v8/upstream/3.1.8/src/json.js +0 -342
- data/ext/v8/upstream/3.1.8/src/jsregexp.cc +0 -5340
- data/ext/v8/upstream/3.1.8/src/jsregexp.h +0 -1484
- data/ext/v8/upstream/3.1.8/src/jump-target-heavy.cc +0 -430
- data/ext/v8/upstream/3.1.8/src/jump-target-heavy.h +0 -244
- data/ext/v8/upstream/3.1.8/src/jump-target-inl.h +0 -48
- data/ext/v8/upstream/3.1.8/src/jump-target-light.cc +0 -111
- data/ext/v8/upstream/3.1.8/src/lithium-allocator-inl.h +0 -140
- data/ext/v8/upstream/3.1.8/src/lithium-allocator.cc +0 -2093
- data/ext/v8/upstream/3.1.8/src/lithium-allocator.h +0 -644
- data/ext/v8/upstream/3.1.8/src/lithium.cc +0 -168
- data/ext/v8/upstream/3.1.8/src/liveedit.cc +0 -1650
- data/ext/v8/upstream/3.1.8/src/liveedit.h +0 -174
- data/ext/v8/upstream/3.1.8/src/liveobjectlist.cc +0 -2527
- data/ext/v8/upstream/3.1.8/src/liveobjectlist.h +0 -322
- data/ext/v8/upstream/3.1.8/src/log-utils.cc +0 -336
- data/ext/v8/upstream/3.1.8/src/log-utils.h +0 -232
- data/ext/v8/upstream/3.1.8/src/log.cc +0 -1608
- data/ext/v8/upstream/3.1.8/src/log.h +0 -379
- data/ext/v8/upstream/3.1.8/src/mark-compact.cc +0 -2957
- data/ext/v8/upstream/3.1.8/src/mark-compact.h +0 -433
- data/ext/v8/upstream/3.1.8/src/messages.cc +0 -164
- data/ext/v8/upstream/3.1.8/src/messages.js +0 -1071
- data/ext/v8/upstream/3.1.8/src/mips/assembler-mips-inl.h +0 -215
- data/ext/v8/upstream/3.1.8/src/mips/assembler-mips.cc +0 -1219
- data/ext/v8/upstream/3.1.8/src/mips/assembler-mips.h +0 -667
- data/ext/v8/upstream/3.1.8/src/mips/builtins-mips.cc +0 -205
- data/ext/v8/upstream/3.1.8/src/mips/codegen-mips-inl.h +0 -70
- data/ext/v8/upstream/3.1.8/src/mips/codegen-mips.cc +0 -1437
- data/ext/v8/upstream/3.1.8/src/mips/codegen-mips.h +0 -431
- data/ext/v8/upstream/3.1.8/src/mips/constants-mips.cc +0 -328
- data/ext/v8/upstream/3.1.8/src/mips/constants-mips.h +0 -525
- data/ext/v8/upstream/3.1.8/src/mips/cpu-mips.cc +0 -73
- data/ext/v8/upstream/3.1.8/src/mips/debug-mips.cc +0 -127
- data/ext/v8/upstream/3.1.8/src/mips/disasm-mips.cc +0 -787
- data/ext/v8/upstream/3.1.8/src/mips/fast-codegen-mips.cc +0 -77
- data/ext/v8/upstream/3.1.8/src/mips/frames-mips.cc +0 -96
- data/ext/v8/upstream/3.1.8/src/mips/frames-mips.h +0 -164
- data/ext/v8/upstream/3.1.8/src/mips/full-codegen-mips.cc +0 -277
- data/ext/v8/upstream/3.1.8/src/mips/ic-mips.cc +0 -208
- data/ext/v8/upstream/3.1.8/src/mips/jump-target-mips.cc +0 -175
- data/ext/v8/upstream/3.1.8/src/mips/macro-assembler-mips.cc +0 -1326
- data/ext/v8/upstream/3.1.8/src/mips/macro-assembler-mips.h +0 -461
- data/ext/v8/upstream/3.1.8/src/mips/register-allocator-mips-inl.h +0 -137
- data/ext/v8/upstream/3.1.8/src/mips/register-allocator-mips.h +0 -46
- data/ext/v8/upstream/3.1.8/src/mips/simulator-mips.cc +0 -1650
- data/ext/v8/upstream/3.1.8/src/mips/simulator-mips.h +0 -311
- data/ext/v8/upstream/3.1.8/src/mips/stub-cache-mips.cc +0 -418
- data/ext/v8/upstream/3.1.8/src/mips/virtual-frame-mips.cc +0 -319
- data/ext/v8/upstream/3.1.8/src/mips/virtual-frame-mips.h +0 -548
- data/ext/v8/upstream/3.1.8/src/mirror-debugger.js +0 -2380
- data/ext/v8/upstream/3.1.8/src/mksnapshot.cc +0 -256
- data/ext/v8/upstream/3.1.8/src/objects-debug.cc +0 -722
- data/ext/v8/upstream/3.1.8/src/objects-inl.h +0 -3946
- data/ext/v8/upstream/3.1.8/src/objects-printer.cc +0 -801
- data/ext/v8/upstream/3.1.8/src/objects-visiting.cc +0 -142
- data/ext/v8/upstream/3.1.8/src/objects-visiting.h +0 -401
- data/ext/v8/upstream/3.1.8/src/objects.cc +0 -10044
- data/ext/v8/upstream/3.1.8/src/objects.h +0 -6571
- data/ext/v8/upstream/3.1.8/src/parser.cc +0 -5165
- data/ext/v8/upstream/3.1.8/src/parser.h +0 -802
- data/ext/v8/upstream/3.1.8/src/platform-cygwin.cc +0 -745
- data/ext/v8/upstream/3.1.8/src/platform-freebsd.cc +0 -702
- data/ext/v8/upstream/3.1.8/src/platform-linux.cc +0 -981
- data/ext/v8/upstream/3.1.8/src/platform-macos.cc +0 -732
- data/ext/v8/upstream/3.1.8/src/platform-nullos.cc +0 -498
- data/ext/v8/upstream/3.1.8/src/platform-openbsd.cc +0 -657
- data/ext/v8/upstream/3.1.8/src/platform-posix.cc +0 -399
- data/ext/v8/upstream/3.1.8/src/platform-solaris.cc +0 -714
- data/ext/v8/upstream/3.1.8/src/platform-win32.cc +0 -1974
- data/ext/v8/upstream/3.1.8/src/platform.h +0 -636
- data/ext/v8/upstream/3.1.8/src/preparse-data.cc +0 -183
- data/ext/v8/upstream/3.1.8/src/preparser-api.cc +0 -213
- data/ext/v8/upstream/3.1.8/src/preparser.cc +0 -1205
- data/ext/v8/upstream/3.1.8/src/prettyprinter.cc +0 -1539
- data/ext/v8/upstream/3.1.8/src/prettyprinter.h +0 -223
- data/ext/v8/upstream/3.1.8/src/profile-generator.cc +0 -2899
- data/ext/v8/upstream/3.1.8/src/profile-generator.h +0 -1151
- data/ext/v8/upstream/3.1.8/src/property.cc +0 -96
- data/ext/v8/upstream/3.1.8/src/property.h +0 -337
- data/ext/v8/upstream/3.1.8/src/regexp-macro-assembler-irregexp.cc +0 -470
- data/ext/v8/upstream/3.1.8/src/regexp-macro-assembler.cc +0 -257
- data/ext/v8/upstream/3.1.8/src/regexp-macro-assembler.h +0 -231
- data/ext/v8/upstream/3.1.8/src/regexp-stack.cc +0 -103
- data/ext/v8/upstream/3.1.8/src/regexp-stack.h +0 -123
- data/ext/v8/upstream/3.1.8/src/regexp.js +0 -483
- data/ext/v8/upstream/3.1.8/src/register-allocator-inl.h +0 -141
- data/ext/v8/upstream/3.1.8/src/register-allocator.cc +0 -104
- data/ext/v8/upstream/3.1.8/src/register-allocator.h +0 -320
- data/ext/v8/upstream/3.1.8/src/rewriter.cc +0 -1023
- data/ext/v8/upstream/3.1.8/src/runtime-profiler.cc +0 -443
- data/ext/v8/upstream/3.1.8/src/runtime-profiler.h +0 -77
- data/ext/v8/upstream/3.1.8/src/runtime.cc +0 -11592
- data/ext/v8/upstream/3.1.8/src/runtime.h +0 -582
- data/ext/v8/upstream/3.1.8/src/safepoint-table.cc +0 -253
- data/ext/v8/upstream/3.1.8/src/safepoint-table.h +0 -263
- data/ext/v8/upstream/3.1.8/src/scanner-base.cc +0 -971
- data/ext/v8/upstream/3.1.8/src/scanner-base.h +0 -653
- data/ext/v8/upstream/3.1.8/src/scanner.cc +0 -586
- data/ext/v8/upstream/3.1.8/src/scanner.h +0 -194
- data/ext/v8/upstream/3.1.8/src/scopeinfo.cc +0 -636
- data/ext/v8/upstream/3.1.8/src/scopeinfo.h +0 -238
- data/ext/v8/upstream/3.1.8/src/scopes.cc +0 -1063
- data/ext/v8/upstream/3.1.8/src/scopes.h +0 -494
- data/ext/v8/upstream/3.1.8/src/serialize.cc +0 -1535
- data/ext/v8/upstream/3.1.8/src/serialize.h +0 -584
- data/ext/v8/upstream/3.1.8/src/snapshot-common.cc +0 -82
- data/ext/v8/upstream/3.1.8/src/snapshot.h +0 -71
- data/ext/v8/upstream/3.1.8/src/spaces-inl.h +0 -524
- data/ext/v8/upstream/3.1.8/src/spaces.cc +0 -3254
- data/ext/v8/upstream/3.1.8/src/spaces.h +0 -2362
- data/ext/v8/upstream/3.1.8/src/string-search.cc +0 -40
- data/ext/v8/upstream/3.1.8/src/string-search.h +0 -567
- data/ext/v8/upstream/3.1.8/src/string-stream.cc +0 -584
- data/ext/v8/upstream/3.1.8/src/string.js +0 -915
- data/ext/v8/upstream/3.1.8/src/stub-cache.cc +0 -1878
- data/ext/v8/upstream/3.1.8/src/stub-cache.h +0 -849
- data/ext/v8/upstream/3.1.8/src/token.cc +0 -63
- data/ext/v8/upstream/3.1.8/src/token.h +0 -288
- data/ext/v8/upstream/3.1.8/src/top.cc +0 -1152
- data/ext/v8/upstream/3.1.8/src/top.h +0 -608
- data/ext/v8/upstream/3.1.8/src/type-info.cc +0 -406
- data/ext/v8/upstream/3.1.8/src/type-info.h +0 -283
- data/ext/v8/upstream/3.1.8/src/unicode.cc +0 -1624
- data/ext/v8/upstream/3.1.8/src/unicode.h +0 -280
- data/ext/v8/upstream/3.1.8/src/utils.h +0 -793
- data/ext/v8/upstream/3.1.8/src/v8-counters.cc +0 -55
- data/ext/v8/upstream/3.1.8/src/v8-counters.h +0 -290
- data/ext/v8/upstream/3.1.8/src/v8.cc +0 -270
- data/ext/v8/upstream/3.1.8/src/v8.h +0 -127
- data/ext/v8/upstream/3.1.8/src/v8globals.h +0 -480
- data/ext/v8/upstream/3.1.8/src/v8natives.js +0 -1252
- data/ext/v8/upstream/3.1.8/src/v8threads.cc +0 -440
- data/ext/v8/upstream/3.1.8/src/v8threads.h +0 -157
- data/ext/v8/upstream/3.1.8/src/v8utils.h +0 -354
- data/ext/v8/upstream/3.1.8/src/variables.h +0 -212
- data/ext/v8/upstream/3.1.8/src/version.cc +0 -95
- data/ext/v8/upstream/3.1.8/src/version.h +0 -64
- data/ext/v8/upstream/3.1.8/src/virtual-frame-light-inl.h +0 -170
- data/ext/v8/upstream/3.1.8/src/vm-state-inl.h +0 -134
- data/ext/v8/upstream/3.1.8/src/vm-state.h +0 -68
- data/ext/v8/upstream/3.1.8/src/win32-headers.h +0 -95
- data/ext/v8/upstream/3.1.8/src/x64/assembler-x64-inl.h +0 -455
- data/ext/v8/upstream/3.1.8/src/x64/assembler-x64.cc +0 -3162
- data/ext/v8/upstream/3.1.8/src/x64/assembler-x64.h +0 -1584
- data/ext/v8/upstream/3.1.8/src/x64/builtins-x64.cc +0 -1492
- data/ext/v8/upstream/3.1.8/src/x64/code-stubs-x64.cc +0 -5150
- data/ext/v8/upstream/3.1.8/src/x64/code-stubs-x64.h +0 -519
- data/ext/v8/upstream/3.1.8/src/x64/codegen-x64.cc +0 -8835
- data/ext/v8/upstream/3.1.8/src/x64/codegen-x64.h +0 -750
- data/ext/v8/upstream/3.1.8/src/x64/cpu-x64.cc +0 -86
- data/ext/v8/upstream/3.1.8/src/x64/debug-x64.cc +0 -316
- data/ext/v8/upstream/3.1.8/src/x64/deoptimizer-x64.cc +0 -781
- data/ext/v8/upstream/3.1.8/src/x64/disasm-x64.cc +0 -1737
- data/ext/v8/upstream/3.1.8/src/x64/frames-x64.h +0 -130
- data/ext/v8/upstream/3.1.8/src/x64/full-codegen-x64.cc +0 -3984
- data/ext/v8/upstream/3.1.8/src/x64/ic-x64.cc +0 -1761
- data/ext/v8/upstream/3.1.8/src/x64/lithium-codegen-x64.cc +0 -3639
- data/ext/v8/upstream/3.1.8/src/x64/lithium-codegen-x64.h +0 -305
- data/ext/v8/upstream/3.1.8/src/x64/lithium-x64.cc +0 -2044
- data/ext/v8/upstream/3.1.8/src/x64/lithium-x64.h +0 -2052
- data/ext/v8/upstream/3.1.8/src/x64/macro-assembler-x64.cc +0 -2660
- data/ext/v8/upstream/3.1.8/src/x64/macro-assembler-x64.h +0 -1852
- data/ext/v8/upstream/3.1.8/src/x64/regexp-macro-assembler-x64.cc +0 -1382
- data/ext/v8/upstream/3.1.8/src/x64/regexp-macro-assembler-x64.h +0 -278
- data/ext/v8/upstream/3.1.8/src/x64/register-allocator-x64-inl.h +0 -87
- data/ext/v8/upstream/3.1.8/src/x64/register-allocator-x64.cc +0 -91
- data/ext/v8/upstream/3.1.8/src/x64/simulator-x64.h +0 -71
- data/ext/v8/upstream/3.1.8/src/x64/stub-cache-x64.cc +0 -3509
- data/ext/v8/upstream/3.1.8/src/x64/virtual-frame-x64.cc +0 -1292
- data/ext/v8/upstream/3.1.8/src/x64/virtual-frame-x64.h +0 -593
- data/ext/v8/upstream/3.1.8/src/zone-inl.h +0 -83
- data/ext/v8/upstream/3.1.8/src/zone.cc +0 -195
- data/ext/v8/upstream/3.1.8/src/zone.h +0 -233
- data/ext/v8/upstream/3.1.8/tools/gyp/v8.gyp +0 -869
- data/ext/v8/upstream/3.1.8/tools/linux-tick-processor +0 -33
- data/ext/v8/upstream/3.1.8/tools/tickprocessor.js +0 -863
- data/ext/v8/upstream/3.1.8/tools/visual_studio/v8_base.vcproj +0 -1296
- data/ext/v8/upstream/3.1.8/tools/visual_studio/v8_base_arm.vcproj +0 -1234
- data/ext/v8/upstream/3.1.8/tools/visual_studio/v8_base_x64.vcproj +0 -1296
- data/ext/v8/upstream/3.1.8/tools/visual_studio/x64.vsprops +0 -17
- data/spec/ext/mem_spec.rb +0 -42
@@ -1,245 +0,0 @@
|
|
1
|
-
// Copyright 2010 the V8 project authors. All rights reserved.
|
2
|
-
// Redistribution and use in source and binary forms, with or without
|
3
|
-
// modification, are permitted provided that the following conditions are
|
4
|
-
// met:
|
5
|
-
//
|
6
|
-
// * Redistributions of source code must retain the above copyright
|
7
|
-
// notice, this list of conditions and the following disclaimer.
|
8
|
-
// * Redistributions in binary form must reproduce the above
|
9
|
-
// copyright notice, this list of conditions and the following
|
10
|
-
// disclaimer in the documentation and/or other materials provided
|
11
|
-
// with the distribution.
|
12
|
-
// * Neither the name of Google Inc. nor the names of its
|
13
|
-
// contributors may be used to endorse or promote products derived
|
14
|
-
// from this software without specific prior written permission.
|
15
|
-
//
|
16
|
-
// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
|
17
|
-
// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
|
18
|
-
// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
|
19
|
-
// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
|
20
|
-
// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
|
21
|
-
// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
|
22
|
-
// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
|
23
|
-
// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
|
24
|
-
// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
|
25
|
-
// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
|
26
|
-
// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
27
|
-
|
28
|
-
#ifndef V8_CODEGEN_H_
|
29
|
-
#define V8_CODEGEN_H_
|
30
|
-
|
31
|
-
#include "code-stubs.h"
|
32
|
-
#include "runtime.h"
|
33
|
-
#include "type-info.h"
|
34
|
-
|
35
|
-
// Include the declaration of the architecture defined class CodeGenerator.
|
36
|
-
// The contract to the shared code is that the the CodeGenerator is a subclass
|
37
|
-
// of Visitor and that the following methods are available publicly:
|
38
|
-
// MakeCode
|
39
|
-
// MakeCodePrologue
|
40
|
-
// MakeCodeEpilogue
|
41
|
-
// masm
|
42
|
-
// frame
|
43
|
-
// script
|
44
|
-
// has_valid_frame
|
45
|
-
// SetFrame
|
46
|
-
// DeleteFrame
|
47
|
-
// allocator
|
48
|
-
// AddDeferred
|
49
|
-
// in_spilled_code
|
50
|
-
// set_in_spilled_code
|
51
|
-
// RecordPositions
|
52
|
-
//
|
53
|
-
// These methods are either used privately by the shared code or implemented as
|
54
|
-
// shared code:
|
55
|
-
// CodeGenerator
|
56
|
-
// ~CodeGenerator
|
57
|
-
// ProcessDeferred
|
58
|
-
// Generate
|
59
|
-
// ComputeLazyCompile
|
60
|
-
// BuildFunctionInfo
|
61
|
-
// ProcessDeclarations
|
62
|
-
// DeclareGlobals
|
63
|
-
// CheckForInlineRuntimeCall
|
64
|
-
// AnalyzeCondition
|
65
|
-
// CodeForFunctionPosition
|
66
|
-
// CodeForReturnPosition
|
67
|
-
// CodeForStatementPosition
|
68
|
-
// CodeForDoWhileConditionPosition
|
69
|
-
// CodeForSourcePosition
|
70
|
-
|
71
|
-
enum InitState { CONST_INIT, NOT_CONST_INIT };
|
72
|
-
enum TypeofState { INSIDE_TYPEOF, NOT_INSIDE_TYPEOF };
|
73
|
-
|
74
|
-
#if V8_TARGET_ARCH_IA32
|
75
|
-
#include "ia32/codegen-ia32.h"
|
76
|
-
#elif V8_TARGET_ARCH_X64
|
77
|
-
#include "x64/codegen-x64.h"
|
78
|
-
#elif V8_TARGET_ARCH_ARM
|
79
|
-
#include "arm/codegen-arm.h"
|
80
|
-
#elif V8_TARGET_ARCH_MIPS
|
81
|
-
#include "mips/codegen-mips.h"
|
82
|
-
#else
|
83
|
-
#error Unsupported target architecture.
|
84
|
-
#endif
|
85
|
-
|
86
|
-
#include "register-allocator.h"
|
87
|
-
|
88
|
-
namespace v8 {
|
89
|
-
namespace internal {
|
90
|
-
|
91
|
-
// Code generation can be nested. Code generation scopes form a stack
|
92
|
-
// of active code generators.
|
93
|
-
class CodeGeneratorScope BASE_EMBEDDED {
|
94
|
-
public:
|
95
|
-
explicit CodeGeneratorScope(CodeGenerator* cgen) {
|
96
|
-
previous_ = top_;
|
97
|
-
top_ = cgen;
|
98
|
-
}
|
99
|
-
|
100
|
-
~CodeGeneratorScope() {
|
101
|
-
top_ = previous_;
|
102
|
-
}
|
103
|
-
|
104
|
-
static CodeGenerator* Current() {
|
105
|
-
ASSERT(top_ != NULL);
|
106
|
-
return top_;
|
107
|
-
}
|
108
|
-
|
109
|
-
private:
|
110
|
-
static CodeGenerator* top_;
|
111
|
-
CodeGenerator* previous_;
|
112
|
-
};
|
113
|
-
|
114
|
-
|
115
|
-
#if V8_TARGET_ARCH_IA32 || V8_TARGET_ARCH_X64
|
116
|
-
|
117
|
-
// State of used registers in a virtual frame.
|
118
|
-
class FrameRegisterState {
|
119
|
-
public:
|
120
|
-
// Captures the current state of the given frame.
|
121
|
-
explicit FrameRegisterState(VirtualFrame* frame);
|
122
|
-
|
123
|
-
// Saves the state in the stack.
|
124
|
-
void Save(MacroAssembler* masm) const;
|
125
|
-
|
126
|
-
// Restores the state from the stack.
|
127
|
-
void Restore(MacroAssembler* masm) const;
|
128
|
-
|
129
|
-
private:
|
130
|
-
// Constants indicating special actions. They should not be multiples
|
131
|
-
// of kPointerSize so they will not collide with valid offsets from
|
132
|
-
// the frame pointer.
|
133
|
-
static const int kIgnore = -1;
|
134
|
-
static const int kPush = 1;
|
135
|
-
|
136
|
-
// This flag is ored with a valid offset from the frame pointer, so
|
137
|
-
// it should fit in the low zero bits of a valid offset.
|
138
|
-
static const int kSyncedFlag = 2;
|
139
|
-
|
140
|
-
int registers_[RegisterAllocator::kNumRegisters];
|
141
|
-
};
|
142
|
-
|
143
|
-
#elif V8_TARGET_ARCH_ARM || V8_TARGET_ARCH_MIPS
|
144
|
-
|
145
|
-
|
146
|
-
class FrameRegisterState {
|
147
|
-
public:
|
148
|
-
inline FrameRegisterState(VirtualFrame frame) : frame_(frame) { }
|
149
|
-
|
150
|
-
inline const VirtualFrame* frame() const { return &frame_; }
|
151
|
-
|
152
|
-
private:
|
153
|
-
VirtualFrame frame_;
|
154
|
-
};
|
155
|
-
|
156
|
-
#else
|
157
|
-
|
158
|
-
#error Unsupported target architecture.
|
159
|
-
|
160
|
-
#endif
|
161
|
-
|
162
|
-
|
163
|
-
// RuntimeCallHelper implementation that saves/restores state of a
|
164
|
-
// virtual frame.
|
165
|
-
class VirtualFrameRuntimeCallHelper : public RuntimeCallHelper {
|
166
|
-
public:
|
167
|
-
// Does not take ownership of |frame_state|.
|
168
|
-
explicit VirtualFrameRuntimeCallHelper(const FrameRegisterState* frame_state)
|
169
|
-
: frame_state_(frame_state) {}
|
170
|
-
|
171
|
-
virtual void BeforeCall(MacroAssembler* masm) const;
|
172
|
-
|
173
|
-
virtual void AfterCall(MacroAssembler* masm) const;
|
174
|
-
|
175
|
-
private:
|
176
|
-
const FrameRegisterState* frame_state_;
|
177
|
-
};
|
178
|
-
|
179
|
-
|
180
|
-
// Deferred code objects are small pieces of code that are compiled
|
181
|
-
// out of line. They are used to defer the compilation of uncommon
|
182
|
-
// paths thereby avoiding expensive jumps around uncommon code parts.
|
183
|
-
class DeferredCode: public ZoneObject {
|
184
|
-
public:
|
185
|
-
DeferredCode();
|
186
|
-
virtual ~DeferredCode() { }
|
187
|
-
|
188
|
-
virtual void Generate() = 0;
|
189
|
-
|
190
|
-
MacroAssembler* masm() { return masm_; }
|
191
|
-
|
192
|
-
int statement_position() const { return statement_position_; }
|
193
|
-
int position() const { return position_; }
|
194
|
-
|
195
|
-
Label* entry_label() { return &entry_label_; }
|
196
|
-
Label* exit_label() { return &exit_label_; }
|
197
|
-
|
198
|
-
#ifdef DEBUG
|
199
|
-
void set_comment(const char* comment) { comment_ = comment; }
|
200
|
-
const char* comment() const { return comment_; }
|
201
|
-
#else
|
202
|
-
void set_comment(const char* comment) { }
|
203
|
-
const char* comment() const { return ""; }
|
204
|
-
#endif
|
205
|
-
|
206
|
-
inline void Jump();
|
207
|
-
inline void Branch(Condition cc);
|
208
|
-
void BindExit() { masm_->bind(&exit_label_); }
|
209
|
-
|
210
|
-
const FrameRegisterState* frame_state() const { return &frame_state_; }
|
211
|
-
|
212
|
-
void SaveRegisters();
|
213
|
-
void RestoreRegisters();
|
214
|
-
void Exit();
|
215
|
-
|
216
|
-
// If this returns true then all registers will be saved for the duration
|
217
|
-
// of the Generate() call. Otherwise the registers are not saved and the
|
218
|
-
// Generate() call must bracket runtime any runtime calls with calls to
|
219
|
-
// SaveRegisters() and RestoreRegisters(). In this case the Generate
|
220
|
-
// method must also call Exit() in order to return to the non-deferred
|
221
|
-
// code.
|
222
|
-
virtual bool AutoSaveAndRestore() { return true; }
|
223
|
-
|
224
|
-
protected:
|
225
|
-
MacroAssembler* masm_;
|
226
|
-
|
227
|
-
private:
|
228
|
-
int statement_position_;
|
229
|
-
int position_;
|
230
|
-
|
231
|
-
Label entry_label_;
|
232
|
-
Label exit_label_;
|
233
|
-
|
234
|
-
FrameRegisterState frame_state_;
|
235
|
-
|
236
|
-
#ifdef DEBUG
|
237
|
-
const char* comment_;
|
238
|
-
#endif
|
239
|
-
DISALLOW_COPY_AND_ASSIGN(DeferredCode);
|
240
|
-
};
|
241
|
-
|
242
|
-
|
243
|
-
} } // namespace v8::internal
|
244
|
-
|
245
|
-
#endif // V8_CODEGEN_H_
|
@@ -1,654 +0,0 @@
|
|
1
|
-
// Copyright 2008 the V8 project authors. All rights reserved.
|
2
|
-
// Redistribution and use in source and binary forms, with or without
|
3
|
-
// modification, are permitted provided that the following conditions are
|
4
|
-
// met:
|
5
|
-
//
|
6
|
-
// * Redistributions of source code must retain the above copyright
|
7
|
-
// notice, this list of conditions and the following disclaimer.
|
8
|
-
// * Redistributions in binary form must reproduce the above
|
9
|
-
// copyright notice, this list of conditions and the following
|
10
|
-
// disclaimer in the documentation and/or other materials provided
|
11
|
-
// with the distribution.
|
12
|
-
// * Neither the name of Google Inc. nor the names of its
|
13
|
-
// contributors may be used to endorse or promote products derived
|
14
|
-
// from this software without specific prior written permission.
|
15
|
-
//
|
16
|
-
// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
|
17
|
-
// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
|
18
|
-
// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
|
19
|
-
// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
|
20
|
-
// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
|
21
|
-
// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
|
22
|
-
// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
|
23
|
-
// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
|
24
|
-
// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
|
25
|
-
// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
|
26
|
-
// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
27
|
-
|
28
|
-
#include "v8.h"
|
29
|
-
|
30
|
-
#include "compilation-cache.h"
|
31
|
-
#include "serialize.h"
|
32
|
-
|
33
|
-
namespace v8 {
|
34
|
-
namespace internal {
|
35
|
-
|
36
|
-
// The number of sub caches covering the different types to cache.
|
37
|
-
static const int kSubCacheCount = 4;
|
38
|
-
|
39
|
-
// The number of generations for each sub cache.
|
40
|
-
// The number of ScriptGenerations is carefully chosen based on histograms.
|
41
|
-
// See issue 458: http://code.google.com/p/v8/issues/detail?id=458
|
42
|
-
static const int kScriptGenerations = 5;
|
43
|
-
static const int kEvalGlobalGenerations = 2;
|
44
|
-
static const int kEvalContextualGenerations = 2;
|
45
|
-
static const int kRegExpGenerations = 2;
|
46
|
-
|
47
|
-
// Initial size of each compilation cache table allocated.
|
48
|
-
static const int kInitialCacheSize = 64;
|
49
|
-
|
50
|
-
// Index for the first generation in the cache.
|
51
|
-
static const int kFirstGeneration = 0;
|
52
|
-
|
53
|
-
// The compilation cache consists of several generational sub-caches which uses
|
54
|
-
// this class as a base class. A sub-cache contains a compilation cache tables
|
55
|
-
// for each generation of the sub-cache. Since the same source code string has
|
56
|
-
// different compiled code for scripts and evals, we use separate sub-caches
|
57
|
-
// for different compilation modes, to avoid retrieving the wrong result.
|
58
|
-
class CompilationSubCache {
|
59
|
-
public:
|
60
|
-
explicit CompilationSubCache(int generations): generations_(generations) {
|
61
|
-
tables_ = NewArray<Object*>(generations);
|
62
|
-
}
|
63
|
-
|
64
|
-
~CompilationSubCache() { DeleteArray(tables_); }
|
65
|
-
|
66
|
-
// Get the compilation cache tables for a specific generation.
|
67
|
-
Handle<CompilationCacheTable> GetTable(int generation);
|
68
|
-
|
69
|
-
// Accessors for first generation.
|
70
|
-
Handle<CompilationCacheTable> GetFirstTable() {
|
71
|
-
return GetTable(kFirstGeneration);
|
72
|
-
}
|
73
|
-
void SetFirstTable(Handle<CompilationCacheTable> value) {
|
74
|
-
ASSERT(kFirstGeneration < generations_);
|
75
|
-
tables_[kFirstGeneration] = *value;
|
76
|
-
}
|
77
|
-
|
78
|
-
// Age the sub-cache by evicting the oldest generation and creating a new
|
79
|
-
// young generation.
|
80
|
-
void Age();
|
81
|
-
|
82
|
-
// GC support.
|
83
|
-
void Iterate(ObjectVisitor* v);
|
84
|
-
void IterateFunctions(ObjectVisitor* v);
|
85
|
-
|
86
|
-
// Clear this sub-cache evicting all its content.
|
87
|
-
void Clear();
|
88
|
-
|
89
|
-
// Remove given shared function info from sub-cache.
|
90
|
-
void Remove(Handle<SharedFunctionInfo> function_info);
|
91
|
-
|
92
|
-
// Number of generations in this sub-cache.
|
93
|
-
inline int generations() { return generations_; }
|
94
|
-
|
95
|
-
private:
|
96
|
-
int generations_; // Number of generations.
|
97
|
-
Object** tables_; // Compilation cache tables - one for each generation.
|
98
|
-
|
99
|
-
DISALLOW_IMPLICIT_CONSTRUCTORS(CompilationSubCache);
|
100
|
-
};
|
101
|
-
|
102
|
-
|
103
|
-
// Sub-cache for scripts.
|
104
|
-
class CompilationCacheScript : public CompilationSubCache {
|
105
|
-
public:
|
106
|
-
explicit CompilationCacheScript(int generations)
|
107
|
-
: CompilationSubCache(generations) { }
|
108
|
-
|
109
|
-
Handle<SharedFunctionInfo> Lookup(Handle<String> source,
|
110
|
-
Handle<Object> name,
|
111
|
-
int line_offset,
|
112
|
-
int column_offset);
|
113
|
-
void Put(Handle<String> source, Handle<SharedFunctionInfo> function_info);
|
114
|
-
|
115
|
-
private:
|
116
|
-
MUST_USE_RESULT MaybeObject* TryTablePut(
|
117
|
-
Handle<String> source, Handle<SharedFunctionInfo> function_info);
|
118
|
-
|
119
|
-
// Note: Returns a new hash table if operation results in expansion.
|
120
|
-
Handle<CompilationCacheTable> TablePut(
|
121
|
-
Handle<String> source, Handle<SharedFunctionInfo> function_info);
|
122
|
-
|
123
|
-
bool HasOrigin(Handle<SharedFunctionInfo> function_info,
|
124
|
-
Handle<Object> name,
|
125
|
-
int line_offset,
|
126
|
-
int column_offset);
|
127
|
-
|
128
|
-
DISALLOW_IMPLICIT_CONSTRUCTORS(CompilationCacheScript);
|
129
|
-
};
|
130
|
-
|
131
|
-
|
132
|
-
// Sub-cache for eval scripts.
|
133
|
-
class CompilationCacheEval: public CompilationSubCache {
|
134
|
-
public:
|
135
|
-
explicit CompilationCacheEval(int generations)
|
136
|
-
: CompilationSubCache(generations) { }
|
137
|
-
|
138
|
-
Handle<SharedFunctionInfo> Lookup(Handle<String> source,
|
139
|
-
Handle<Context> context,
|
140
|
-
StrictModeFlag strict_mode);
|
141
|
-
|
142
|
-
void Put(Handle<String> source,
|
143
|
-
Handle<Context> context,
|
144
|
-
Handle<SharedFunctionInfo> function_info);
|
145
|
-
|
146
|
-
private:
|
147
|
-
MUST_USE_RESULT MaybeObject* TryTablePut(
|
148
|
-
Handle<String> source,
|
149
|
-
Handle<Context> context,
|
150
|
-
Handle<SharedFunctionInfo> function_info);
|
151
|
-
|
152
|
-
|
153
|
-
// Note: Returns a new hash table if operation results in expansion.
|
154
|
-
Handle<CompilationCacheTable> TablePut(
|
155
|
-
Handle<String> source,
|
156
|
-
Handle<Context> context,
|
157
|
-
Handle<SharedFunctionInfo> function_info);
|
158
|
-
|
159
|
-
DISALLOW_IMPLICIT_CONSTRUCTORS(CompilationCacheEval);
|
160
|
-
};
|
161
|
-
|
162
|
-
|
163
|
-
// Sub-cache for regular expressions.
|
164
|
-
class CompilationCacheRegExp: public CompilationSubCache {
|
165
|
-
public:
|
166
|
-
explicit CompilationCacheRegExp(int generations)
|
167
|
-
: CompilationSubCache(generations) { }
|
168
|
-
|
169
|
-
Handle<FixedArray> Lookup(Handle<String> source, JSRegExp::Flags flags);
|
170
|
-
|
171
|
-
void Put(Handle<String> source,
|
172
|
-
JSRegExp::Flags flags,
|
173
|
-
Handle<FixedArray> data);
|
174
|
-
private:
|
175
|
-
MUST_USE_RESULT MaybeObject* TryTablePut(Handle<String> source,
|
176
|
-
JSRegExp::Flags flags,
|
177
|
-
Handle<FixedArray> data);
|
178
|
-
|
179
|
-
// Note: Returns a new hash table if operation results in expansion.
|
180
|
-
Handle<CompilationCacheTable> TablePut(Handle<String> source,
|
181
|
-
JSRegExp::Flags flags,
|
182
|
-
Handle<FixedArray> data);
|
183
|
-
|
184
|
-
DISALLOW_IMPLICIT_CONSTRUCTORS(CompilationCacheRegExp);
|
185
|
-
};
|
186
|
-
|
187
|
-
|
188
|
-
// Statically allocate all the sub-caches.
|
189
|
-
static CompilationCacheScript script(kScriptGenerations);
|
190
|
-
static CompilationCacheEval eval_global(kEvalGlobalGenerations);
|
191
|
-
static CompilationCacheEval eval_contextual(kEvalContextualGenerations);
|
192
|
-
static CompilationCacheRegExp reg_exp(kRegExpGenerations);
|
193
|
-
static CompilationSubCache* subcaches[kSubCacheCount] =
|
194
|
-
{&script, &eval_global, &eval_contextual, ®_exp};
|
195
|
-
|
196
|
-
|
197
|
-
// Current enable state of the compilation cache.
|
198
|
-
static bool enabled = true;
|
199
|
-
static inline bool IsEnabled() {
|
200
|
-
return FLAG_compilation_cache && enabled;
|
201
|
-
}
|
202
|
-
|
203
|
-
|
204
|
-
static Handle<CompilationCacheTable> AllocateTable(int size) {
|
205
|
-
CALL_HEAP_FUNCTION(CompilationCacheTable::Allocate(size),
|
206
|
-
CompilationCacheTable);
|
207
|
-
}
|
208
|
-
|
209
|
-
|
210
|
-
Handle<CompilationCacheTable> CompilationSubCache::GetTable(int generation) {
|
211
|
-
ASSERT(generation < generations_);
|
212
|
-
Handle<CompilationCacheTable> result;
|
213
|
-
if (tables_[generation]->IsUndefined()) {
|
214
|
-
result = AllocateTable(kInitialCacheSize);
|
215
|
-
tables_[generation] = *result;
|
216
|
-
} else {
|
217
|
-
CompilationCacheTable* table =
|
218
|
-
CompilationCacheTable::cast(tables_[generation]);
|
219
|
-
result = Handle<CompilationCacheTable>(table);
|
220
|
-
}
|
221
|
-
return result;
|
222
|
-
}
|
223
|
-
|
224
|
-
|
225
|
-
void CompilationSubCache::Age() {
|
226
|
-
// Age the generations implicitly killing off the oldest.
|
227
|
-
for (int i = generations_ - 1; i > 0; i--) {
|
228
|
-
tables_[i] = tables_[i - 1];
|
229
|
-
}
|
230
|
-
|
231
|
-
// Set the first generation as unborn.
|
232
|
-
tables_[0] = Heap::undefined_value();
|
233
|
-
}
|
234
|
-
|
235
|
-
|
236
|
-
void CompilationSubCache::IterateFunctions(ObjectVisitor* v) {
|
237
|
-
Object* undefined = Heap::raw_unchecked_undefined_value();
|
238
|
-
for (int i = 0; i < generations_; i++) {
|
239
|
-
if (tables_[i] != undefined) {
|
240
|
-
reinterpret_cast<CompilationCacheTable*>(tables_[i])->IterateElements(v);
|
241
|
-
}
|
242
|
-
}
|
243
|
-
}
|
244
|
-
|
245
|
-
|
246
|
-
void CompilationSubCache::Iterate(ObjectVisitor* v) {
|
247
|
-
v->VisitPointers(&tables_[0], &tables_[generations_]);
|
248
|
-
}
|
249
|
-
|
250
|
-
|
251
|
-
void CompilationSubCache::Clear() {
|
252
|
-
MemsetPointer(tables_, Heap::undefined_value(), generations_);
|
253
|
-
}
|
254
|
-
|
255
|
-
|
256
|
-
void CompilationSubCache::Remove(Handle<SharedFunctionInfo> function_info) {
|
257
|
-
// Probe the script generation tables. Make sure not to leak handles
|
258
|
-
// into the caller's handle scope.
|
259
|
-
{ HandleScope scope;
|
260
|
-
for (int generation = 0; generation < generations(); generation++) {
|
261
|
-
Handle<CompilationCacheTable> table = GetTable(generation);
|
262
|
-
table->Remove(*function_info);
|
263
|
-
}
|
264
|
-
}
|
265
|
-
}
|
266
|
-
|
267
|
-
|
268
|
-
// We only re-use a cached function for some script source code if the
|
269
|
-
// script originates from the same place. This is to avoid issues
|
270
|
-
// when reporting errors, etc.
|
271
|
-
bool CompilationCacheScript::HasOrigin(
|
272
|
-
Handle<SharedFunctionInfo> function_info,
|
273
|
-
Handle<Object> name,
|
274
|
-
int line_offset,
|
275
|
-
int column_offset) {
|
276
|
-
Handle<Script> script =
|
277
|
-
Handle<Script>(Script::cast(function_info->script()));
|
278
|
-
// If the script name isn't set, the boilerplate script should have
|
279
|
-
// an undefined name to have the same origin.
|
280
|
-
if (name.is_null()) {
|
281
|
-
return script->name()->IsUndefined();
|
282
|
-
}
|
283
|
-
// Do the fast bailout checks first.
|
284
|
-
if (line_offset != script->line_offset()->value()) return false;
|
285
|
-
if (column_offset != script->column_offset()->value()) return false;
|
286
|
-
// Check that both names are strings. If not, no match.
|
287
|
-
if (!name->IsString() || !script->name()->IsString()) return false;
|
288
|
-
// Compare the two name strings for equality.
|
289
|
-
return String::cast(*name)->Equals(String::cast(script->name()));
|
290
|
-
}
|
291
|
-
|
292
|
-
|
293
|
-
// TODO(245): Need to allow identical code from different contexts to
|
294
|
-
// be cached in the same script generation. Currently the first use
|
295
|
-
// will be cached, but subsequent code from different source / line
|
296
|
-
// won't.
|
297
|
-
Handle<SharedFunctionInfo> CompilationCacheScript::Lookup(Handle<String> source,
|
298
|
-
Handle<Object> name,
|
299
|
-
int line_offset,
|
300
|
-
int column_offset) {
|
301
|
-
Object* result = NULL;
|
302
|
-
int generation;
|
303
|
-
|
304
|
-
// Probe the script generation tables. Make sure not to leak handles
|
305
|
-
// into the caller's handle scope.
|
306
|
-
{ HandleScope scope;
|
307
|
-
for (generation = 0; generation < generations(); generation++) {
|
308
|
-
Handle<CompilationCacheTable> table = GetTable(generation);
|
309
|
-
Handle<Object> probe(table->Lookup(*source));
|
310
|
-
if (probe->IsSharedFunctionInfo()) {
|
311
|
-
Handle<SharedFunctionInfo> function_info =
|
312
|
-
Handle<SharedFunctionInfo>::cast(probe);
|
313
|
-
// Break when we've found a suitable shared function info that
|
314
|
-
// matches the origin.
|
315
|
-
if (HasOrigin(function_info, name, line_offset, column_offset)) {
|
316
|
-
result = *function_info;
|
317
|
-
break;
|
318
|
-
}
|
319
|
-
}
|
320
|
-
}
|
321
|
-
}
|
322
|
-
|
323
|
-
static void* script_histogram = StatsTable::CreateHistogram(
|
324
|
-
"V8.ScriptCache",
|
325
|
-
0,
|
326
|
-
kScriptGenerations,
|
327
|
-
kScriptGenerations + 1);
|
328
|
-
|
329
|
-
if (script_histogram != NULL) {
|
330
|
-
// The level NUMBER_OF_SCRIPT_GENERATIONS is equivalent to a cache miss.
|
331
|
-
StatsTable::AddHistogramSample(script_histogram, generation);
|
332
|
-
}
|
333
|
-
|
334
|
-
// Once outside the manacles of the handle scope, we need to recheck
|
335
|
-
// to see if we actually found a cached script. If so, we return a
|
336
|
-
// handle created in the caller's handle scope.
|
337
|
-
if (result != NULL) {
|
338
|
-
Handle<SharedFunctionInfo> shared(SharedFunctionInfo::cast(result));
|
339
|
-
ASSERT(HasOrigin(shared, name, line_offset, column_offset));
|
340
|
-
// If the script was found in a later generation, we promote it to
|
341
|
-
// the first generation to let it survive longer in the cache.
|
342
|
-
if (generation != 0) Put(source, shared);
|
343
|
-
Counters::compilation_cache_hits.Increment();
|
344
|
-
return shared;
|
345
|
-
} else {
|
346
|
-
Counters::compilation_cache_misses.Increment();
|
347
|
-
return Handle<SharedFunctionInfo>::null();
|
348
|
-
}
|
349
|
-
}
|
350
|
-
|
351
|
-
|
352
|
-
MaybeObject* CompilationCacheScript::TryTablePut(
|
353
|
-
Handle<String> source,
|
354
|
-
Handle<SharedFunctionInfo> function_info) {
|
355
|
-
Handle<CompilationCacheTable> table = GetFirstTable();
|
356
|
-
return table->Put(*source, *function_info);
|
357
|
-
}
|
358
|
-
|
359
|
-
|
360
|
-
Handle<CompilationCacheTable> CompilationCacheScript::TablePut(
|
361
|
-
Handle<String> source,
|
362
|
-
Handle<SharedFunctionInfo> function_info) {
|
363
|
-
CALL_HEAP_FUNCTION(TryTablePut(source, function_info), CompilationCacheTable);
|
364
|
-
}
|
365
|
-
|
366
|
-
|
367
|
-
void CompilationCacheScript::Put(Handle<String> source,
|
368
|
-
Handle<SharedFunctionInfo> function_info) {
|
369
|
-
HandleScope scope;
|
370
|
-
SetFirstTable(TablePut(source, function_info));
|
371
|
-
}
|
372
|
-
|
373
|
-
|
374
|
-
Handle<SharedFunctionInfo> CompilationCacheEval::Lookup(
|
375
|
-
Handle<String> source,
|
376
|
-
Handle<Context> context,
|
377
|
-
StrictModeFlag strict_mode) {
|
378
|
-
// Make sure not to leak the table into the surrounding handle
|
379
|
-
// scope. Otherwise, we risk keeping old tables around even after
|
380
|
-
// having cleared the cache.
|
381
|
-
Object* result = NULL;
|
382
|
-
int generation;
|
383
|
-
{ HandleScope scope;
|
384
|
-
for (generation = 0; generation < generations(); generation++) {
|
385
|
-
Handle<CompilationCacheTable> table = GetTable(generation);
|
386
|
-
result = table->LookupEval(*source, *context, strict_mode);
|
387
|
-
if (result->IsSharedFunctionInfo()) {
|
388
|
-
break;
|
389
|
-
}
|
390
|
-
}
|
391
|
-
}
|
392
|
-
if (result->IsSharedFunctionInfo()) {
|
393
|
-
Handle<SharedFunctionInfo>
|
394
|
-
function_info(SharedFunctionInfo::cast(result));
|
395
|
-
if (generation != 0) {
|
396
|
-
Put(source, context, function_info);
|
397
|
-
}
|
398
|
-
Counters::compilation_cache_hits.Increment();
|
399
|
-
return function_info;
|
400
|
-
} else {
|
401
|
-
Counters::compilation_cache_misses.Increment();
|
402
|
-
return Handle<SharedFunctionInfo>::null();
|
403
|
-
}
|
404
|
-
}
|
405
|
-
|
406
|
-
|
407
|
-
MaybeObject* CompilationCacheEval::TryTablePut(
|
408
|
-
Handle<String> source,
|
409
|
-
Handle<Context> context,
|
410
|
-
Handle<SharedFunctionInfo> function_info) {
|
411
|
-
Handle<CompilationCacheTable> table = GetFirstTable();
|
412
|
-
return table->PutEval(*source, *context, *function_info);
|
413
|
-
}
|
414
|
-
|
415
|
-
|
416
|
-
Handle<CompilationCacheTable> CompilationCacheEval::TablePut(
|
417
|
-
Handle<String> source,
|
418
|
-
Handle<Context> context,
|
419
|
-
Handle<SharedFunctionInfo> function_info) {
|
420
|
-
CALL_HEAP_FUNCTION(TryTablePut(source, context, function_info),
|
421
|
-
CompilationCacheTable);
|
422
|
-
}
|
423
|
-
|
424
|
-
|
425
|
-
void CompilationCacheEval::Put(Handle<String> source,
|
426
|
-
Handle<Context> context,
|
427
|
-
Handle<SharedFunctionInfo> function_info) {
|
428
|
-
HandleScope scope;
|
429
|
-
SetFirstTable(TablePut(source, context, function_info));
|
430
|
-
}
|
431
|
-
|
432
|
-
|
433
|
-
Handle<FixedArray> CompilationCacheRegExp::Lookup(Handle<String> source,
|
434
|
-
JSRegExp::Flags flags) {
|
435
|
-
// Make sure not to leak the table into the surrounding handle
|
436
|
-
// scope. Otherwise, we risk keeping old tables around even after
|
437
|
-
// having cleared the cache.
|
438
|
-
Object* result = NULL;
|
439
|
-
int generation;
|
440
|
-
{ HandleScope scope;
|
441
|
-
for (generation = 0; generation < generations(); generation++) {
|
442
|
-
Handle<CompilationCacheTable> table = GetTable(generation);
|
443
|
-
result = table->LookupRegExp(*source, flags);
|
444
|
-
if (result->IsFixedArray()) {
|
445
|
-
break;
|
446
|
-
}
|
447
|
-
}
|
448
|
-
}
|
449
|
-
if (result->IsFixedArray()) {
|
450
|
-
Handle<FixedArray> data(FixedArray::cast(result));
|
451
|
-
if (generation != 0) {
|
452
|
-
Put(source, flags, data);
|
453
|
-
}
|
454
|
-
Counters::compilation_cache_hits.Increment();
|
455
|
-
return data;
|
456
|
-
} else {
|
457
|
-
Counters::compilation_cache_misses.Increment();
|
458
|
-
return Handle<FixedArray>::null();
|
459
|
-
}
|
460
|
-
}
|
461
|
-
|
462
|
-
|
463
|
-
MaybeObject* CompilationCacheRegExp::TryTablePut(
|
464
|
-
Handle<String> source,
|
465
|
-
JSRegExp::Flags flags,
|
466
|
-
Handle<FixedArray> data) {
|
467
|
-
Handle<CompilationCacheTable> table = GetFirstTable();
|
468
|
-
return table->PutRegExp(*source, flags, *data);
|
469
|
-
}
|
470
|
-
|
471
|
-
|
472
|
-
Handle<CompilationCacheTable> CompilationCacheRegExp::TablePut(
|
473
|
-
Handle<String> source,
|
474
|
-
JSRegExp::Flags flags,
|
475
|
-
Handle<FixedArray> data) {
|
476
|
-
CALL_HEAP_FUNCTION(TryTablePut(source, flags, data), CompilationCacheTable);
|
477
|
-
}
|
478
|
-
|
479
|
-
|
480
|
-
void CompilationCacheRegExp::Put(Handle<String> source,
|
481
|
-
JSRegExp::Flags flags,
|
482
|
-
Handle<FixedArray> data) {
|
483
|
-
HandleScope scope;
|
484
|
-
SetFirstTable(TablePut(source, flags, data));
|
485
|
-
}
|
486
|
-
|
487
|
-
|
488
|
-
void CompilationCache::Remove(Handle<SharedFunctionInfo> function_info) {
|
489
|
-
if (!IsEnabled()) return;
|
490
|
-
|
491
|
-
eval_global.Remove(function_info);
|
492
|
-
eval_contextual.Remove(function_info);
|
493
|
-
script.Remove(function_info);
|
494
|
-
}
|
495
|
-
|
496
|
-
|
497
|
-
Handle<SharedFunctionInfo> CompilationCache::LookupScript(Handle<String> source,
|
498
|
-
Handle<Object> name,
|
499
|
-
int line_offset,
|
500
|
-
int column_offset) {
|
501
|
-
if (!IsEnabled()) {
|
502
|
-
return Handle<SharedFunctionInfo>::null();
|
503
|
-
}
|
504
|
-
|
505
|
-
return script.Lookup(source, name, line_offset, column_offset);
|
506
|
-
}
|
507
|
-
|
508
|
-
|
509
|
-
Handle<SharedFunctionInfo> CompilationCache::LookupEval(
|
510
|
-
Handle<String> source,
|
511
|
-
Handle<Context> context,
|
512
|
-
bool is_global,
|
513
|
-
StrictModeFlag strict_mode) {
|
514
|
-
if (!IsEnabled()) {
|
515
|
-
return Handle<SharedFunctionInfo>::null();
|
516
|
-
}
|
517
|
-
|
518
|
-
Handle<SharedFunctionInfo> result;
|
519
|
-
if (is_global) {
|
520
|
-
result = eval_global.Lookup(source, context, strict_mode);
|
521
|
-
} else {
|
522
|
-
result = eval_contextual.Lookup(source, context, strict_mode);
|
523
|
-
}
|
524
|
-
return result;
|
525
|
-
}
|
526
|
-
|
527
|
-
|
528
|
-
Handle<FixedArray> CompilationCache::LookupRegExp(Handle<String> source,
|
529
|
-
JSRegExp::Flags flags) {
|
530
|
-
if (!IsEnabled()) {
|
531
|
-
return Handle<FixedArray>::null();
|
532
|
-
}
|
533
|
-
|
534
|
-
return reg_exp.Lookup(source, flags);
|
535
|
-
}
|
536
|
-
|
537
|
-
|
538
|
-
void CompilationCache::PutScript(Handle<String> source,
|
539
|
-
Handle<SharedFunctionInfo> function_info) {
|
540
|
-
if (!IsEnabled()) {
|
541
|
-
return;
|
542
|
-
}
|
543
|
-
|
544
|
-
script.Put(source, function_info);
|
545
|
-
}
|
546
|
-
|
547
|
-
|
548
|
-
void CompilationCache::PutEval(Handle<String> source,
|
549
|
-
Handle<Context> context,
|
550
|
-
bool is_global,
|
551
|
-
Handle<SharedFunctionInfo> function_info) {
|
552
|
-
if (!IsEnabled()) {
|
553
|
-
return;
|
554
|
-
}
|
555
|
-
|
556
|
-
HandleScope scope;
|
557
|
-
if (is_global) {
|
558
|
-
eval_global.Put(source, context, function_info);
|
559
|
-
} else {
|
560
|
-
eval_contextual.Put(source, context, function_info);
|
561
|
-
}
|
562
|
-
}
|
563
|
-
|
564
|
-
|
565
|
-
|
566
|
-
void CompilationCache::PutRegExp(Handle<String> source,
|
567
|
-
JSRegExp::Flags flags,
|
568
|
-
Handle<FixedArray> data) {
|
569
|
-
if (!IsEnabled()) {
|
570
|
-
return;
|
571
|
-
}
|
572
|
-
|
573
|
-
reg_exp.Put(source, flags, data);
|
574
|
-
}
|
575
|
-
|
576
|
-
|
577
|
-
static bool SourceHashCompare(void* key1, void* key2) {
|
578
|
-
return key1 == key2;
|
579
|
-
}
|
580
|
-
|
581
|
-
|
582
|
-
static HashMap* EagerOptimizingSet() {
|
583
|
-
static HashMap map(&SourceHashCompare);
|
584
|
-
return ↦
|
585
|
-
}
|
586
|
-
|
587
|
-
|
588
|
-
bool CompilationCache::ShouldOptimizeEagerly(Handle<JSFunction> function) {
|
589
|
-
if (FLAG_opt_eagerly) return true;
|
590
|
-
uint32_t hash = function->SourceHash();
|
591
|
-
void* key = reinterpret_cast<void*>(hash);
|
592
|
-
return EagerOptimizingSet()->Lookup(key, hash, false) != NULL;
|
593
|
-
}
|
594
|
-
|
595
|
-
|
596
|
-
void CompilationCache::MarkForEagerOptimizing(Handle<JSFunction> function) {
|
597
|
-
uint32_t hash = function->SourceHash();
|
598
|
-
void* key = reinterpret_cast<void*>(hash);
|
599
|
-
EagerOptimizingSet()->Lookup(key, hash, true);
|
600
|
-
}
|
601
|
-
|
602
|
-
|
603
|
-
void CompilationCache::MarkForLazyOptimizing(Handle<JSFunction> function) {
|
604
|
-
uint32_t hash = function->SourceHash();
|
605
|
-
void* key = reinterpret_cast<void*>(hash);
|
606
|
-
EagerOptimizingSet()->Remove(key, hash);
|
607
|
-
}
|
608
|
-
|
609
|
-
|
610
|
-
void CompilationCache::ResetEagerOptimizingData() {
|
611
|
-
HashMap* set = EagerOptimizingSet();
|
612
|
-
if (set->occupancy() > 0) set->Clear();
|
613
|
-
}
|
614
|
-
|
615
|
-
|
616
|
-
void CompilationCache::Clear() {
|
617
|
-
for (int i = 0; i < kSubCacheCount; i++) {
|
618
|
-
subcaches[i]->Clear();
|
619
|
-
}
|
620
|
-
}
|
621
|
-
|
622
|
-
void CompilationCache::Iterate(ObjectVisitor* v) {
|
623
|
-
for (int i = 0; i < kSubCacheCount; i++) {
|
624
|
-
subcaches[i]->Iterate(v);
|
625
|
-
}
|
626
|
-
}
|
627
|
-
|
628
|
-
|
629
|
-
void CompilationCache::IterateFunctions(ObjectVisitor* v) {
|
630
|
-
for (int i = 0; i < kSubCacheCount; i++) {
|
631
|
-
subcaches[i]->IterateFunctions(v);
|
632
|
-
}
|
633
|
-
}
|
634
|
-
|
635
|
-
|
636
|
-
void CompilationCache::MarkCompactPrologue() {
|
637
|
-
for (int i = 0; i < kSubCacheCount; i++) {
|
638
|
-
subcaches[i]->Age();
|
639
|
-
}
|
640
|
-
}
|
641
|
-
|
642
|
-
|
643
|
-
void CompilationCache::Enable() {
|
644
|
-
enabled = true;
|
645
|
-
}
|
646
|
-
|
647
|
-
|
648
|
-
void CompilationCache::Disable() {
|
649
|
-
enabled = false;
|
650
|
-
Clear();
|
651
|
-
}
|
652
|
-
|
653
|
-
|
654
|
-
} } // namespace v8::internal
|