From 40c0f755c998d2615fe8466aab20c6d81bd463e7 Mon Sep 17 00:00:00 2001 From: Ryan Date: Wed, 22 Apr 2009 19:35:47 +0200 Subject: import full versions of dependency libraries! --- deps/v8/src/SConscript | 183 + deps/v8/src/accessors.cc | 548 ++ deps/v8/src/accessors.h | 101 + deps/v8/src/allocation.cc | 197 + deps/v8/src/allocation.h | 168 + deps/v8/src/api.cc | 3348 ++++++++++ deps/v8/src/api.h | 454 ++ deps/v8/src/apinatives.js | 109 + deps/v8/src/apiutils.h | 69 + deps/v8/src/arguments.h | 70 + deps/v8/src/array.js | 938 +++ deps/v8/src/assembler-arm-inl.h | 249 + deps/v8/src/assembler-arm.cc | 1471 ++++ deps/v8/src/assembler-arm.h | 789 +++ deps/v8/src/assembler-ia32-inl.h | 302 + deps/v8/src/assembler-ia32.cc | 2205 ++++++ deps/v8/src/assembler-ia32.h | 863 +++ deps/v8/src/assembler.cc | 585 ++ deps/v8/src/assembler.h | 456 ++ deps/v8/src/ast.cc | 490 ++ deps/v8/src/ast.h | 1710 +++++ deps/v8/src/bootstrapper.cc | 1528 +++++ deps/v8/src/bootstrapper.h | 80 + deps/v8/src/builtins-arm.cc | 658 ++ deps/v8/src/builtins-ia32.cc | 756 +++ deps/v8/src/builtins.cc | 744 +++ deps/v8/src/builtins.h | 217 + deps/v8/src/bytecodes-irregexp.h | 103 + deps/v8/src/char-predicates-inl.h | 85 + deps/v8/src/char-predicates.h | 64 + deps/v8/src/checks.cc | 98 + deps/v8/src/checks.h | 263 + deps/v8/src/code-stubs.cc | 142 + deps/v8/src/code-stubs.h | 109 + deps/v8/src/code.h | 67 + deps/v8/src/codegen-arm.cc | 5203 +++++++++++++++ deps/v8/src/codegen-arm.h | 446 ++ deps/v8/src/codegen-ia32.cc | 7116 ++++++++++++++++++++ deps/v8/src/codegen-ia32.h | 621 ++ deps/v8/src/codegen-inl.h | 75 + deps/v8/src/codegen.cc | 622 ++ deps/v8/src/codegen.h | 311 + deps/v8/src/compilation-cache.cc | 230 + deps/v8/src/compilation-cache.h | 105 + deps/v8/src/compiler.cc | 353 + deps/v8/src/compiler.h | 73 + deps/v8/src/constants-arm.h | 235 + deps/v8/src/contexts.cc | 252 + deps/v8/src/contexts.h | 335 + deps/v8/src/conversions-inl.h | 94 + deps/v8/src/conversions.cc | 707 ++ deps/v8/src/conversions.h | 116 + deps/v8/src/counters.cc | 77 + deps/v8/src/counters.h | 238 + deps/v8/src/cpu-arm.cc | 124 + deps/v8/src/cpu-ia32.cc | 65 + deps/v8/src/cpu.h | 64 + deps/v8/src/d8-debug.cc | 345 + deps/v8/src/d8-debug.h | 155 + deps/v8/src/d8-posix.cc | 668 ++ deps/v8/src/d8-readline.cc | 128 + deps/v8/src/d8-windows.cc | 42 + deps/v8/src/d8.cc | 726 ++ deps/v8/src/d8.h | 220 + deps/v8/src/d8.js | 1434 ++++ deps/v8/src/date-delay.js | 1051 +++ deps/v8/src/dateparser-inl.h | 106 + deps/v8/src/dateparser.cc | 185 + deps/v8/src/dateparser.h | 239 + deps/v8/src/debug-agent.cc | 414 ++ deps/v8/src/debug-agent.h | 117 + deps/v8/src/debug-arm.cc | 195 + deps/v8/src/debug-delay.js | 1853 +++++ deps/v8/src/debug-ia32.cc | 218 + deps/v8/src/debug.cc | 2227 ++++++ deps/v8/src/debug.h | 722 ++ deps/v8/src/disasm-arm.cc | 891 +++ deps/v8/src/disasm-ia32.cc | 1202 ++++ deps/v8/src/disasm.h | 77 + deps/v8/src/disassembler.cc | 309 + deps/v8/src/disassembler.h | 55 + deps/v8/src/dtoa-config.c | 84 + deps/v8/src/execution.cc | 637 ++ deps/v8/src/execution.h | 276 + deps/v8/src/factory.cc | 902 +++ deps/v8/src/factory.h | 361 + deps/v8/src/flag-definitions.h | 384 ++ deps/v8/src/flags.cc | 554 ++ deps/v8/src/flags.h | 80 + deps/v8/src/frames-arm.cc | 117 + deps/v8/src/frames-arm.h | 379 ++ deps/v8/src/frames-ia32.cc | 115 + deps/v8/src/frames-ia32.h | 291 + deps/v8/src/frames-inl.h | 226 + deps/v8/src/frames.cc | 740 ++ deps/v8/src/frames.h | 689 ++ deps/v8/src/func-name-inferrer.cc | 74 + deps/v8/src/func-name-inferrer.h | 127 + deps/v8/src/global-handles.cc | 383 ++ deps/v8/src/global-handles.h | 148 + deps/v8/src/globals.h | 519 ++ deps/v8/src/handles-inl.h | 75 + deps/v8/src/handles.cc | 688 ++ deps/v8/src/handles.h | 338 + deps/v8/src/hashmap.cc | 170 + deps/v8/src/hashmap.h | 116 + deps/v8/src/heap-inl.h | 286 + deps/v8/src/heap.cc | 3393 ++++++++++ deps/v8/src/heap.h | 1313 ++++ deps/v8/src/ic-arm.cc | 799 +++ deps/v8/src/ic-ia32.cc | 892 +++ deps/v8/src/ic-inl.h | 88 + deps/v8/src/ic.cc | 1218 ++++ deps/v8/src/ic.h | 369 + deps/v8/src/interpreter-irregexp.cc | 596 ++ deps/v8/src/interpreter-irregexp.h | 47 + deps/v8/src/jsregexp-inl.h | 259 + deps/v8/src/jsregexp.cc | 4463 +++++++++++++ deps/v8/src/jsregexp.h | 1372 ++++ deps/v8/src/jump-target-arm.cc | 335 + deps/v8/src/jump-target-ia32.cc | 335 + deps/v8/src/jump-target.cc | 731 ++ deps/v8/src/jump-target.h | 325 + deps/v8/src/list-inl.h | 132 + deps/v8/src/list.h | 127 + deps/v8/src/log.cc | 1193 ++++ deps/v8/src/log.h | 292 + deps/v8/src/macro-assembler-arm.cc | 936 +++ deps/v8/src/macro-assembler-arm.h | 303 + deps/v8/src/macro-assembler-ia32.cc | 1046 +++ deps/v8/src/macro-assembler-ia32.h | 348 + deps/v8/src/macro-assembler.h | 50 + deps/v8/src/macros.py | 120 + deps/v8/src/mark-compact.cc | 1765 +++++ deps/v8/src/mark-compact.h | 407 ++ deps/v8/src/math.js | 190 + deps/v8/src/memory.h | 61 + deps/v8/src/messages.cc | 178 + deps/v8/src/messages.h | 110 + deps/v8/src/messages.js | 686 ++ deps/v8/src/mirror-delay.js | 2089 ++++++ deps/v8/src/mksnapshot.cc | 186 + deps/v8/src/natives.h | 62 + deps/v8/src/objects-debug.cc | 1094 +++ deps/v8/src/objects-inl.h | 2597 +++++++ deps/v8/src/objects.cc | 7424 +++++++++++++++++++++ deps/v8/src/objects.h | 4337 ++++++++++++ deps/v8/src/oprofile-agent.cc | 111 + deps/v8/src/oprofile-agent.h | 68 + deps/v8/src/parser.cc | 4579 +++++++++++++ deps/v8/src/parser.h | 200 + deps/v8/src/platform-freebsd.cc | 639 ++ deps/v8/src/platform-linux.cc | 677 ++ deps/v8/src/platform-macos.cc | 566 ++ deps/v8/src/platform-nullos.cc | 435 ++ deps/v8/src/platform-posix.cc | 350 + deps/v8/src/platform-win32.cc | 1864 ++++++ deps/v8/src/platform.h | 528 ++ deps/v8/src/prettyprinter.cc | 1102 +++ deps/v8/src/prettyprinter.h | 118 + deps/v8/src/property.cc | 109 + deps/v8/src/property.h | 396 ++ deps/v8/src/regexp-delay.js | 412 ++ deps/v8/src/regexp-macro-assembler-arm.cc | 43 + deps/v8/src/regexp-macro-assembler-arm.h | 41 + deps/v8/src/regexp-macro-assembler-ia32.cc | 1390 ++++ deps/v8/src/regexp-macro-assembler-ia32.h | 285 + deps/v8/src/regexp-macro-assembler-irregexp-inl.h | 71 + deps/v8/src/regexp-macro-assembler-irregexp.cc | 491 ++ deps/v8/src/regexp-macro-assembler-irregexp.h | 147 + deps/v8/src/regexp-macro-assembler-tracer.cc | 420 ++ deps/v8/src/regexp-macro-assembler-tracer.h | 118 + deps/v8/src/regexp-macro-assembler.cc | 78 + deps/v8/src/regexp-macro-assembler.h | 230 + deps/v8/src/regexp-stack.cc | 94 + deps/v8/src/regexp-stack.h | 106 + deps/v8/src/register-allocator-arm.cc | 96 + deps/v8/src/register-allocator-ia32.cc | 130 + deps/v8/src/register-allocator-inl.h | 49 + deps/v8/src/register-allocator.cc | 132 + deps/v8/src/register-allocator.h | 333 + deps/v8/src/rewriter.cc | 839 +++ deps/v8/src/rewriter.h | 53 + deps/v8/src/runtime.cc | 6961 +++++++++++++++++++ deps/v8/src/runtime.h | 385 ++ deps/v8/src/runtime.js | 525 ++ deps/v8/src/scanner.cc | 850 +++ deps/v8/src/scanner.h | 239 + deps/v8/src/scopeinfo.cc | 570 ++ deps/v8/src/scopeinfo.h | 155 + deps/v8/src/scopes.cc | 946 +++ deps/v8/src/scopes.h | 366 + deps/v8/src/serialize.cc | 1596 +++++ deps/v8/src/serialize.h | 335 + deps/v8/src/shell.h | 49 + deps/v8/src/simulator-arm.cc | 1598 +++++ deps/v8/src/simulator-arm.h | 198 + deps/v8/src/simulator-ia32.cc | 30 + deps/v8/src/simulator-ia32.h | 47 + deps/v8/src/smart-pointer.h | 108 + deps/v8/src/snapshot-common.cc | 74 + deps/v8/src/snapshot-empty.cc | 39 + deps/v8/src/snapshot.h | 58 + deps/v8/src/spaces-inl.h | 356 + deps/v8/src/spaces.cc | 2599 ++++++++ deps/v8/src/spaces.h | 1703 +++++ deps/v8/src/string-stream.cc | 577 ++ deps/v8/src/string-stream.h | 174 + deps/v8/src/string.js | 866 +++ deps/v8/src/stub-cache-arm.cc | 1125 ++++ deps/v8/src/stub-cache-ia32.cc | 1179 ++++ deps/v8/src/stub-cache.cc | 921 +++ deps/v8/src/stub-cache.h | 480 ++ deps/v8/src/third_party/dtoa/COPYING | 15 + deps/v8/src/third_party/dtoa/dtoa.c | 3324 +++++++++ deps/v8/src/token.cc | 162 + deps/v8/src/token.h | 281 + deps/v8/src/top.cc | 921 +++ deps/v8/src/top.h | 377 ++ deps/v8/src/unicode-inl.h | 238 + deps/v8/src/unicode.cc | 754 +++ deps/v8/src/unicode.h | 279 + deps/v8/src/uri.js | 409 ++ deps/v8/src/usage-analyzer.cc | 450 ++ deps/v8/src/usage-analyzer.h | 39 + deps/v8/src/utils.cc | 297 + deps/v8/src/utils.h | 540 ++ deps/v8/src/v8-counters.cc | 54 + deps/v8/src/v8-counters.h | 162 + deps/v8/src/v8.cc | 120 + deps/v8/src/v8.h | 97 + deps/v8/src/v8natives.js | 540 ++ deps/v8/src/v8threads.cc | 379 ++ deps/v8/src/v8threads.h | 131 + deps/v8/src/variables.cc | 162 + deps/v8/src/variables.h | 223 + deps/v8/src/virtual-frame-arm.cc | 437 ++ deps/v8/src/virtual-frame-arm.h | 480 ++ deps/v8/src/virtual-frame-ia32.cc | 1040 +++ deps/v8/src/virtual-frame-ia32.h | 493 ++ deps/v8/src/virtual-frame.cc | 536 ++ deps/v8/src/virtual-frame.h | 206 + deps/v8/src/zone-inl.h | 72 + deps/v8/src/zone.cc | 189 + deps/v8/src/zone.h | 203 + 245 files changed, 158306 insertions(+) create mode 100644 deps/v8/src/SConscript create mode 100644 deps/v8/src/accessors.cc create mode 100644 deps/v8/src/accessors.h create mode 100644 deps/v8/src/allocation.cc create mode 100644 deps/v8/src/allocation.h create mode 100644 deps/v8/src/api.cc create mode 100644 deps/v8/src/api.h create mode 100644 deps/v8/src/apinatives.js create mode 100644 deps/v8/src/apiutils.h create mode 100644 deps/v8/src/arguments.h create mode 100644 deps/v8/src/array.js create mode 100644 deps/v8/src/assembler-arm-inl.h create mode 100644 deps/v8/src/assembler-arm.cc create mode 100644 deps/v8/src/assembler-arm.h create mode 100644 deps/v8/src/assembler-ia32-inl.h create mode 100644 deps/v8/src/assembler-ia32.cc create mode 100644 deps/v8/src/assembler-ia32.h create mode 100644 deps/v8/src/assembler.cc create mode 100644 deps/v8/src/assembler.h create mode 100644 deps/v8/src/ast.cc create mode 100644 deps/v8/src/ast.h create mode 100644 deps/v8/src/bootstrapper.cc create mode 100644 deps/v8/src/bootstrapper.h create mode 100644 deps/v8/src/builtins-arm.cc create mode 100644 deps/v8/src/builtins-ia32.cc create mode 100644 deps/v8/src/builtins.cc create mode 100644 deps/v8/src/builtins.h create mode 100644 deps/v8/src/bytecodes-irregexp.h create mode 100644 deps/v8/src/char-predicates-inl.h create mode 100644 deps/v8/src/char-predicates.h create mode 100644 deps/v8/src/checks.cc create mode 100644 deps/v8/src/checks.h create mode 100644 deps/v8/src/code-stubs.cc create mode 100644 deps/v8/src/code-stubs.h create mode 100644 deps/v8/src/code.h create mode 100644 deps/v8/src/codegen-arm.cc create mode 100644 deps/v8/src/codegen-arm.h create mode 100644 deps/v8/src/codegen-ia32.cc create mode 100644 deps/v8/src/codegen-ia32.h create mode 100644 deps/v8/src/codegen-inl.h create mode 100644 deps/v8/src/codegen.cc create mode 100644 deps/v8/src/codegen.h create mode 100644 deps/v8/src/compilation-cache.cc create mode 100644 deps/v8/src/compilation-cache.h create mode 100644 deps/v8/src/compiler.cc create mode 100644 deps/v8/src/compiler.h create mode 100644 deps/v8/src/constants-arm.h create mode 100644 deps/v8/src/contexts.cc create mode 100644 deps/v8/src/contexts.h create mode 100644 deps/v8/src/conversions-inl.h create mode 100644 deps/v8/src/conversions.cc create mode 100644 deps/v8/src/conversions.h create mode 100644 deps/v8/src/counters.cc create mode 100644 deps/v8/src/counters.h create mode 100644 deps/v8/src/cpu-arm.cc create mode 100644 deps/v8/src/cpu-ia32.cc create mode 100644 deps/v8/src/cpu.h create mode 100644 deps/v8/src/d8-debug.cc create mode 100644 deps/v8/src/d8-debug.h create mode 100644 deps/v8/src/d8-posix.cc create mode 100644 deps/v8/src/d8-readline.cc create mode 100644 deps/v8/src/d8-windows.cc create mode 100644 deps/v8/src/d8.cc create mode 100644 deps/v8/src/d8.h create mode 100644 deps/v8/src/d8.js create mode 100644 deps/v8/src/date-delay.js create mode 100644 deps/v8/src/dateparser-inl.h create mode 100644 deps/v8/src/dateparser.cc create mode 100644 deps/v8/src/dateparser.h create mode 100644 deps/v8/src/debug-agent.cc create mode 100644 deps/v8/src/debug-agent.h create mode 100644 deps/v8/src/debug-arm.cc create mode 100644 deps/v8/src/debug-delay.js create mode 100644 deps/v8/src/debug-ia32.cc create mode 100644 deps/v8/src/debug.cc create mode 100644 deps/v8/src/debug.h create mode 100644 deps/v8/src/disasm-arm.cc create mode 100644 deps/v8/src/disasm-ia32.cc create mode 100644 deps/v8/src/disasm.h create mode 100644 deps/v8/src/disassembler.cc create mode 100644 deps/v8/src/disassembler.h create mode 100644 deps/v8/src/dtoa-config.c create mode 100644 deps/v8/src/execution.cc create mode 100644 deps/v8/src/execution.h create mode 100644 deps/v8/src/factory.cc create mode 100644 deps/v8/src/factory.h create mode 100644 deps/v8/src/flag-definitions.h create mode 100644 deps/v8/src/flags.cc create mode 100644 deps/v8/src/flags.h create mode 100644 deps/v8/src/frames-arm.cc create mode 100644 deps/v8/src/frames-arm.h create mode 100644 deps/v8/src/frames-ia32.cc create mode 100644 deps/v8/src/frames-ia32.h create mode 100644 deps/v8/src/frames-inl.h create mode 100644 deps/v8/src/frames.cc create mode 100644 deps/v8/src/frames.h create mode 100644 deps/v8/src/func-name-inferrer.cc create mode 100644 deps/v8/src/func-name-inferrer.h create mode 100644 deps/v8/src/global-handles.cc create mode 100644 deps/v8/src/global-handles.h create mode 100644 deps/v8/src/globals.h create mode 100644 deps/v8/src/handles-inl.h create mode 100644 deps/v8/src/handles.cc create mode 100644 deps/v8/src/handles.h create mode 100644 deps/v8/src/hashmap.cc create mode 100644 deps/v8/src/hashmap.h create mode 100644 deps/v8/src/heap-inl.h create mode 100644 deps/v8/src/heap.cc create mode 100644 deps/v8/src/heap.h create mode 100644 deps/v8/src/ic-arm.cc create mode 100644 deps/v8/src/ic-ia32.cc create mode 100644 deps/v8/src/ic-inl.h create mode 100644 deps/v8/src/ic.cc create mode 100644 deps/v8/src/ic.h create mode 100644 deps/v8/src/interpreter-irregexp.cc create mode 100644 deps/v8/src/interpreter-irregexp.h create mode 100644 deps/v8/src/jsregexp-inl.h create mode 100644 deps/v8/src/jsregexp.cc create mode 100644 deps/v8/src/jsregexp.h create mode 100644 deps/v8/src/jump-target-arm.cc create mode 100644 deps/v8/src/jump-target-ia32.cc create mode 100644 deps/v8/src/jump-target.cc create mode 100644 deps/v8/src/jump-target.h create mode 100644 deps/v8/src/list-inl.h create mode 100644 deps/v8/src/list.h create mode 100644 deps/v8/src/log.cc create mode 100644 deps/v8/src/log.h create mode 100644 deps/v8/src/macro-assembler-arm.cc create mode 100644 deps/v8/src/macro-assembler-arm.h create mode 100644 deps/v8/src/macro-assembler-ia32.cc create mode 100644 deps/v8/src/macro-assembler-ia32.h create mode 100644 deps/v8/src/macro-assembler.h create mode 100644 deps/v8/src/macros.py create mode 100644 deps/v8/src/mark-compact.cc create mode 100644 deps/v8/src/mark-compact.h create mode 100644 deps/v8/src/math.js create mode 100644 deps/v8/src/memory.h create mode 100644 deps/v8/src/messages.cc create mode 100644 deps/v8/src/messages.h create mode 100644 deps/v8/src/messages.js create mode 100644 deps/v8/src/mirror-delay.js create mode 100644 deps/v8/src/mksnapshot.cc create mode 100644 deps/v8/src/natives.h create mode 100644 deps/v8/src/objects-debug.cc create mode 100644 deps/v8/src/objects-inl.h create mode 100644 deps/v8/src/objects.cc create mode 100644 deps/v8/src/objects.h create mode 100644 deps/v8/src/oprofile-agent.cc create mode 100644 deps/v8/src/oprofile-agent.h create mode 100644 deps/v8/src/parser.cc create mode 100644 deps/v8/src/parser.h create mode 100644 deps/v8/src/platform-freebsd.cc create mode 100644 deps/v8/src/platform-linux.cc create mode 100644 deps/v8/src/platform-macos.cc create mode 100644 deps/v8/src/platform-nullos.cc create mode 100644 deps/v8/src/platform-posix.cc create mode 100644 deps/v8/src/platform-win32.cc create mode 100644 deps/v8/src/platform.h create mode 100644 deps/v8/src/prettyprinter.cc create mode 100644 deps/v8/src/prettyprinter.h create mode 100644 deps/v8/src/property.cc create mode 100644 deps/v8/src/property.h create mode 100644 deps/v8/src/regexp-delay.js create mode 100644 deps/v8/src/regexp-macro-assembler-arm.cc create mode 100644 deps/v8/src/regexp-macro-assembler-arm.h create mode 100644 deps/v8/src/regexp-macro-assembler-ia32.cc create mode 100644 deps/v8/src/regexp-macro-assembler-ia32.h create mode 100644 deps/v8/src/regexp-macro-assembler-irregexp-inl.h create mode 100644 deps/v8/src/regexp-macro-assembler-irregexp.cc create mode 100644 deps/v8/src/regexp-macro-assembler-irregexp.h create mode 100644 deps/v8/src/regexp-macro-assembler-tracer.cc create mode 100644 deps/v8/src/regexp-macro-assembler-tracer.h create mode 100644 deps/v8/src/regexp-macro-assembler.cc create mode 100644 deps/v8/src/regexp-macro-assembler.h create mode 100644 deps/v8/src/regexp-stack.cc create mode 100644 deps/v8/src/regexp-stack.h create mode 100644 deps/v8/src/register-allocator-arm.cc create mode 100644 deps/v8/src/register-allocator-ia32.cc create mode 100644 deps/v8/src/register-allocator-inl.h create mode 100644 deps/v8/src/register-allocator.cc create mode 100644 deps/v8/src/register-allocator.h create mode 100644 deps/v8/src/rewriter.cc create mode 100644 deps/v8/src/rewriter.h create mode 100644 deps/v8/src/runtime.cc create mode 100644 deps/v8/src/runtime.h create mode 100644 deps/v8/src/runtime.js create mode 100644 deps/v8/src/scanner.cc create mode 100644 deps/v8/src/scanner.h create mode 100644 deps/v8/src/scopeinfo.cc create mode 100644 deps/v8/src/scopeinfo.h create mode 100644 deps/v8/src/scopes.cc create mode 100644 deps/v8/src/scopes.h create mode 100644 deps/v8/src/serialize.cc create mode 100644 deps/v8/src/serialize.h create mode 100644 deps/v8/src/shell.h create mode 100644 deps/v8/src/simulator-arm.cc create mode 100644 deps/v8/src/simulator-arm.h create mode 100644 deps/v8/src/simulator-ia32.cc create mode 100644 deps/v8/src/simulator-ia32.h create mode 100644 deps/v8/src/smart-pointer.h create mode 100644 deps/v8/src/snapshot-common.cc create mode 100644 deps/v8/src/snapshot-empty.cc create mode 100644 deps/v8/src/snapshot.h create mode 100644 deps/v8/src/spaces-inl.h create mode 100644 deps/v8/src/spaces.cc create mode 100644 deps/v8/src/spaces.h create mode 100644 deps/v8/src/string-stream.cc create mode 100644 deps/v8/src/string-stream.h create mode 100644 deps/v8/src/string.js create mode 100644 deps/v8/src/stub-cache-arm.cc create mode 100644 deps/v8/src/stub-cache-ia32.cc create mode 100644 deps/v8/src/stub-cache.cc create mode 100644 deps/v8/src/stub-cache.h create mode 100644 deps/v8/src/third_party/dtoa/COPYING create mode 100644 deps/v8/src/third_party/dtoa/dtoa.c create mode 100644 deps/v8/src/token.cc create mode 100644 deps/v8/src/token.h create mode 100644 deps/v8/src/top.cc create mode 100644 deps/v8/src/top.h create mode 100644 deps/v8/src/unicode-inl.h create mode 100644 deps/v8/src/unicode.cc create mode 100644 deps/v8/src/unicode.h create mode 100644 deps/v8/src/uri.js create mode 100644 deps/v8/src/usage-analyzer.cc create mode 100644 deps/v8/src/usage-analyzer.h create mode 100644 deps/v8/src/utils.cc create mode 100644 deps/v8/src/utils.h create mode 100644 deps/v8/src/v8-counters.cc create mode 100644 deps/v8/src/v8-counters.h create mode 100644 deps/v8/src/v8.cc create mode 100644 deps/v8/src/v8.h create mode 100644 deps/v8/src/v8natives.js create mode 100644 deps/v8/src/v8threads.cc create mode 100644 deps/v8/src/v8threads.h create mode 100644 deps/v8/src/variables.cc create mode 100644 deps/v8/src/variables.h create mode 100644 deps/v8/src/virtual-frame-arm.cc create mode 100644 deps/v8/src/virtual-frame-arm.h create mode 100644 deps/v8/src/virtual-frame-ia32.cc create mode 100644 deps/v8/src/virtual-frame-ia32.h create mode 100644 deps/v8/src/virtual-frame.cc create mode 100644 deps/v8/src/virtual-frame.h create mode 100644 deps/v8/src/zone-inl.h create mode 100644 deps/v8/src/zone.cc create mode 100644 deps/v8/src/zone.h (limited to 'deps/v8/src') diff --git a/deps/v8/src/SConscript b/deps/v8/src/SConscript new file mode 100644 index 000000000..97fb7d6ca --- /dev/null +++ b/deps/v8/src/SConscript @@ -0,0 +1,183 @@ +# Copyright 2008 the V8 project authors. All rights reserved. +# Redistribution and use in source and binary forms, with or without +# modification, are permitted provided that the following conditions are +# met: +# +# * Redistributions of source code must retain the above copyright +# notice, this list of conditions and the following disclaimer. +# * Redistributions in binary form must reproduce the above +# copyright notice, this list of conditions and the following +# disclaimer in the documentation and/or other materials provided +# with the distribution. +# * Neither the name of Google Inc. nor the names of its +# contributors may be used to endorse or promote products derived +# from this software without specific prior written permission. +# +# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +# A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +# OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +# LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +# THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +import sys +from os.path import join, dirname, abspath +root_dir = dirname(File('SConstruct').rfile().abspath) +sys.path.append(join(root_dir, 'tools')) +import js2c +Import('context') + + +SOURCES = { + 'all': [ + 'accessors.cc', 'allocation.cc', 'api.cc', 'assembler.cc', 'ast.cc', + 'bootstrapper.cc', 'builtins.cc', 'checks.cc', 'code-stubs.cc', + 'codegen.cc', 'compilation-cache.cc', 'compiler.cc', 'contexts.cc', + 'conversions.cc', 'counters.cc', 'dateparser.cc', 'debug.cc', + 'debug-agent.cc', 'disassembler.cc', 'execution.cc', 'factory.cc', + 'flags.cc', 'frames.cc', 'func-name-inferrer.cc', + 'global-handles.cc', 'handles.cc', 'hashmap.cc', + 'heap.cc', 'ic.cc', 'interpreter-irregexp.cc', 'jsregexp.cc', + 'jump-target.cc', 'log.cc', 'mark-compact.cc', 'messages.cc', 'objects.cc', + 'oprofile-agent.cc', 'parser.cc', 'property.cc', 'regexp-macro-assembler.cc', + 'regexp-macro-assembler-irregexp.cc', 'regexp-stack.cc', + 'register-allocator.cc', 'rewriter.cc', 'runtime.cc', 'scanner.cc', + 'scopeinfo.cc', 'scopes.cc', 'serialize.cc', 'snapshot-common.cc', + 'spaces.cc', 'string-stream.cc', 'stub-cache.cc', 'token.cc', 'top.cc', + 'unicode.cc', 'usage-analyzer.cc', 'utils.cc', 'v8-counters.cc', + 'v8.cc', 'v8threads.cc', 'variables.cc', 'virtual-frame.cc', 'zone.cc' + ], + 'arch:arm': [ + 'assembler-arm.cc', 'builtins-arm.cc', 'codegen-arm.cc', 'cpu-arm.cc', + 'disasm-arm.cc', 'debug-arm.cc', 'frames-arm.cc', 'ic-arm.cc', + 'jump-target-arm.cc', 'macro-assembler-arm.cc', + 'regexp-macro-assembler-arm.cc', 'register-allocator-arm.cc', + 'stub-cache-arm.cc', 'virtual-frame-arm.cc' + ], + 'arch:ia32': [ + 'assembler-ia32.cc', 'builtins-ia32.cc', 'codegen-ia32.cc', + 'cpu-ia32.cc', 'disasm-ia32.cc', 'debug-ia32.cc', 'frames-ia32.cc', + 'ic-ia32.cc', 'jump-target-ia32.cc', 'macro-assembler-ia32.cc', + 'regexp-macro-assembler-ia32.cc', 'register-allocator-ia32.cc', + 'stub-cache-ia32.cc', 'virtual-frame-ia32.cc' + ], + 'simulator:arm': ['simulator-arm.cc'], + 'os:freebsd': ['platform-freebsd.cc', 'platform-posix.cc'], + 'os:linux': ['platform-linux.cc', 'platform-posix.cc'], + 'os:android': ['platform-linux.cc', 'platform-posix.cc'], + 'os:macos': ['platform-macos.cc', 'platform-posix.cc'], + 'os:nullos': ['platform-nullos.cc'], + 'os:win32': ['platform-win32.cc'], + 'mode:release': [], + 'mode:debug': [ + 'objects-debug.cc', 'prettyprinter.cc', 'regexp-macro-assembler-tracer.cc' + ] +} + + +D8_FILES = { + 'all': [ + 'd8.cc', 'd8-debug.cc' + ], + 'os:linux': [ + 'd8-posix.cc' + ], + 'os:macos': [ + 'd8-posix.cc' + ], + 'os:android': [ + 'd8-posix.cc' + ], + 'os:freebsd': [ + 'd8-posix.cc' + ], + 'os:win32': [ + 'd8-windows.cc' + ], + 'os:nullos': [ + 'd8-windows.cc' # Empty implementation at the moment. + ], + 'console:readline': [ + 'd8-readline.cc' + ] +} + + +LIBRARY_FILES = ''' +runtime.js +v8natives.js +array.js +string.js +uri.js +math.js +messages.js +apinatives.js +debug-delay.js +mirror-delay.js +date-delay.js +regexp-delay.js +'''.split() + + +def Abort(message): + print message + sys.exit(1) + + +def ConfigureObjectFiles(): + env = Environment() + env.Replace(**context.flags['v8']) + context.ApplyEnvOverrides(env) + env['BUILDERS']['JS2C'] = Builder(action=js2c.JS2C) + env['BUILDERS']['Snapshot'] = Builder(action='$SOURCE $TARGET --logfile "$LOGFILE"') + + # Build the standard platform-independent source files. + source_files = context.GetRelevantSources(SOURCES) + + d8_files = context.GetRelevantSources(D8_FILES) + d8_js = env.JS2C('d8-js.cc', 'd8.js', TYPE='D8') + d8_js_obj = context.ConfigureObject(env, d8_js, CPPPATH=['.']) + d8_objs = [context.ConfigureObject(env, [d8_files]), d8_js_obj] + + # Combine the JavaScript library files into a single C++ file and + # compile it. + library_files = [s for s in LIBRARY_FILES] + library_files.append('macros.py') + libraries_src, libraries_empty_src = env.JS2C(['libraries.cc', 'libraries-empty.cc'], library_files, TYPE='CORE') + libraries_obj = context.ConfigureObject(env, libraries_src, CPPPATH=['.']) + + # Build dtoa. + dtoa_env = env.Copy() + dtoa_env.Replace(**context.flags['dtoa']) + dtoa_files = ['dtoa-config.c'] + dtoa_obj = context.ConfigureObject(dtoa_env, dtoa_files) + + source_objs = context.ConfigureObject(env, source_files) + non_snapshot_files = [dtoa_obj, source_objs] + + # Create snapshot if necessary. + empty_snapshot_obj = context.ConfigureObject(env, 'snapshot-empty.cc') + mksnapshot_env = env.Copy() + mksnapshot_env.Replace(**context.flags['mksnapshot']) + mksnapshot_src = 'mksnapshot.cc' + mksnapshot = mksnapshot_env.Program('mksnapshot', [mksnapshot_src, libraries_obj, non_snapshot_files, empty_snapshot_obj], PDB='mksnapshot.exe.pdb') + if context.use_snapshot: + if context.build_snapshot: + snapshot_cc = env.Snapshot('snapshot.cc', mksnapshot, LOGFILE=File('snapshot.log').abspath) + else: + snapshot_cc = Command('snapshot.cc', [], []) + snapshot_obj = context.ConfigureObject(env, snapshot_cc, CPPPATH=['.']) + libraries_obj = context.ConfigureObject(env, libraries_empty_src, CPPPATH=['.']) + else: + snapshot_obj = empty_snapshot_obj + library_objs = [non_snapshot_files, libraries_obj, snapshot_obj] + return (library_objs, d8_objs, [mksnapshot]) + + +(library_objs, d8_objs, mksnapshot) = ConfigureObjectFiles() +Return('library_objs d8_objs mksnapshot') diff --git a/deps/v8/src/accessors.cc b/deps/v8/src/accessors.cc new file mode 100644 index 000000000..d779eb26a --- /dev/null +++ b/deps/v8/src/accessors.cc @@ -0,0 +1,548 @@ +// Copyright 2006-2008 the V8 project authors. All rights reserved. +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions are +// met: +// +// * Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// * Redistributions in binary form must reproduce the above +// copyright notice, this list of conditions and the following +// disclaimer in the documentation and/or other materials provided +// with the distribution. +// * Neither the name of Google Inc. nor the names of its +// contributors may be used to endorse or promote products derived +// from this software without specific prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +#include "v8.h" + +#include "accessors.h" +#include "execution.h" +#include "factory.h" +#include "scopeinfo.h" +#include "top.h" +#include "zone-inl.h" + +namespace v8 { namespace internal { + + +template +static C* FindInPrototypeChain(Object* obj, bool* found_it) { + ASSERT(!*found_it); + while (!Is(obj)) { + if (obj == Heap::null_value()) return NULL; + obj = obj->GetPrototype(); + } + *found_it = true; + return C::cast(obj); +} + + +// Entry point that never should be called. +Object* Accessors::IllegalSetter(JSObject*, Object*, void*) { + UNREACHABLE(); + return NULL; +} + + +Object* Accessors::IllegalGetAccessor(Object* object, void*) { + UNREACHABLE(); + return object; +} + + +Object* Accessors::ReadOnlySetAccessor(JSObject*, Object* value, void*) { + // According to ECMA-262, section 8.6.2.2, page 28, setting + // read-only properties must be silently ignored. + return value; +} + + +// +// Accessors::ArrayLength +// + + +Object* Accessors::ArrayGetLength(Object* object, void*) { + // Traverse the prototype chain until we reach an array. + bool found_it = false; + JSArray* holder = FindInPrototypeChain(object, &found_it); + if (!found_it) return Smi::FromInt(0); + return holder->length(); +} + + +// The helper function will 'flatten' Number objects. +Object* Accessors::FlattenNumber(Object* value) { + if (value->IsNumber() || !value->IsJSValue()) return value; + JSValue* wrapper = JSValue::cast(value); + ASSERT( + Top::context()->global_context()->number_function()->has_initial_map()); + Map* number_map = + Top::context()->global_context()->number_function()->initial_map(); + if (wrapper->map() == number_map) return wrapper->value(); + return value; +} + + +Object* Accessors::ArraySetLength(JSObject* object, Object* value, void*) { + value = FlattenNumber(value); + + // Need to call methods that may trigger GC. + HandleScope scope; + + // Protect raw pointers. + Handle object_handle(object); + Handle value_handle(value); + + bool has_exception; + Handle uint32_v = Execution::ToUint32(value_handle, &has_exception); + if (has_exception) return Failure::Exception(); + Handle number_v = Execution::ToNumber(value_handle, &has_exception); + if (has_exception) return Failure::Exception(); + + // Restore raw pointers, + object = *object_handle; + value = *value_handle; + + if (uint32_v->Number() == number_v->Number()) { + if (object->IsJSArray()) { + return JSArray::cast(object)->SetElementsLength(*uint32_v); + } else { + // This means one of the object's prototypes is a JSArray and + // the object does not have a 'length' property. + // Calling SetProperty causes an infinite loop. + return object->IgnoreAttributesAndSetLocalProperty(Heap::length_symbol(), + value, NONE); + } + } + return Top::Throw(*Factory::NewRangeError("invalid_array_length", + HandleVector(NULL, 0))); +} + + +const AccessorDescriptor Accessors::ArrayLength = { + ArrayGetLength, + ArraySetLength, + 0 +}; + + +// +// Accessors::StringLength +// + + +Object* Accessors::StringGetLength(Object* object, void*) { + Object* value = object; + if (object->IsJSValue()) value = JSValue::cast(object)->value(); + if (value->IsString()) return Smi::FromInt(String::cast(value)->length()); + // If object is not a string we return 0 to be compatible with WebKit. + // Note: Firefox returns the length of ToString(object). + return Smi::FromInt(0); +} + + +const AccessorDescriptor Accessors::StringLength = { + StringGetLength, + IllegalSetter, + 0 +}; + + +// +// Accessors::ScriptSource +// + + +Object* Accessors::ScriptGetSource(Object* object, void*) { + Object* script = JSValue::cast(object)->value(); + return Script::cast(script)->source(); +} + + +const AccessorDescriptor Accessors::ScriptSource = { + ScriptGetSource, + IllegalSetter, + 0 +}; + + +// +// Accessors::ScriptName +// + + +Object* Accessors::ScriptGetName(Object* object, void*) { + Object* script = JSValue::cast(object)->value(); + return Script::cast(script)->name(); +} + + +const AccessorDescriptor Accessors::ScriptName = { + ScriptGetName, + IllegalSetter, + 0 +}; + + +// +// Accessors::ScriptId +// + + +Object* Accessors::ScriptGetId(Object* object, void*) { + Object* script = JSValue::cast(object)->value(); + return Script::cast(script)->id(); +} + + +const AccessorDescriptor Accessors::ScriptId = { + ScriptGetId, + IllegalSetter, + 0 +}; + + +// +// Accessors::ScriptLineOffset +// + + +Object* Accessors::ScriptGetLineOffset(Object* object, void*) { + Object* script = JSValue::cast(object)->value(); + return Script::cast(script)->line_offset(); +} + + +const AccessorDescriptor Accessors::ScriptLineOffset = { + ScriptGetLineOffset, + IllegalSetter, + 0 +}; + + +// +// Accessors::ScriptColumnOffset +// + + +Object* Accessors::ScriptGetColumnOffset(Object* object, void*) { + Object* script = JSValue::cast(object)->value(); + return Script::cast(script)->column_offset(); +} + + +const AccessorDescriptor Accessors::ScriptColumnOffset = { + ScriptGetColumnOffset, + IllegalSetter, + 0 +}; + + +// +// Accessors::ScriptType +// + + +Object* Accessors::ScriptGetType(Object* object, void*) { + Object* script = JSValue::cast(object)->value(); + return Script::cast(script)->type(); +} + + +const AccessorDescriptor Accessors::ScriptType = { + ScriptGetType, + IllegalSetter, + 0 +}; + + +// +// Accessors::ScriptGetLineEnds +// + + +Object* Accessors::ScriptGetLineEnds(Object* object, void*) { + HandleScope scope; + Handle