From b3a7de15b7f06e11bd326b60b0e5ffd762ae71c5 Mon Sep 17 00:00:00 2001 From: Ryan Dahl Date: Wed, 14 Dec 2011 15:02:32 -0800 Subject: [PATCH] Upgrade V8 to 3.8.0 --- deps/v8/ChangeLog | 12 + deps/v8/build/common.gypi | 1 + deps/v8/include/v8-profiler.h | 3 +- deps/v8/src/api.cc | 57 +- deps/v8/src/arm/builtins-arm.cc | 7 +- deps/v8/src/arm/code-stubs-arm.cc | 287 +++++--- deps/v8/src/arm/full-codegen-arm.cc | 8 +- deps/v8/src/arm/ic-arm.cc | 3 + deps/v8/src/arm/lithium-arm.cc | 15 +- deps/v8/src/arm/lithium-arm.h | 2 + deps/v8/src/arm/lithium-codegen-arm.cc | 227 ++++--- deps/v8/src/arm/macro-assembler-arm.cc | 15 +- deps/v8/src/arm/macro-assembler-arm.h | 2 + deps/v8/src/arm/stub-cache-arm.cc | 20 +- deps/v8/src/assembler.cc | 14 +- deps/v8/src/ast.cc | 2 + deps/v8/src/ast.h | 8 + deps/v8/src/bootstrapper.cc | 2 +- deps/v8/src/builtins.cc | 72 +- deps/v8/src/code-stubs.cc | 61 +- deps/v8/src/code-stubs.h | 28 +- deps/v8/src/compiler.cc | 2 +- deps/v8/src/debug-agent.cc | 2 - deps/v8/src/debug-agent.h | 1 - deps/v8/src/debug.cc | 34 +- deps/v8/src/elements.cc | 38 +- deps/v8/src/elements.h | 17 +- deps/v8/src/factory.cc | 28 +- deps/v8/src/factory.h | 13 +- deps/v8/src/frames.cc | 17 +- deps/v8/src/heap-inl.h | 3 +- deps/v8/src/heap.cc | 115 ++-- deps/v8/src/heap.h | 1 + deps/v8/src/hydrogen-instructions.cc | 5 +- deps/v8/src/hydrogen-instructions.h | 54 +- deps/v8/src/hydrogen.cc | 194 +++--- deps/v8/src/ia32/assembler-ia32.cc | 138 +++- deps/v8/src/ia32/assembler-ia32.h | 9 +- deps/v8/src/ia32/builtins-ia32.cc | 50 +- deps/v8/src/ia32/code-stubs-ia32.cc | 623 +++++++++++------- deps/v8/src/ia32/debug-ia32.cc | 4 +- deps/v8/src/ia32/deoptimizer-ia32.cc | 8 +- deps/v8/src/ia32/disasm-ia32.cc | 47 +- deps/v8/src/ia32/full-codegen-ia32.cc | 6 +- deps/v8/src/ia32/ic-ia32.cc | 3 + deps/v8/src/ia32/lithium-codegen-ia32.cc | 276 ++++---- deps/v8/src/ia32/lithium-codegen-ia32.h | 8 +- deps/v8/src/ia32/lithium-ia32.cc | 24 +- deps/v8/src/ia32/lithium-ia32.h | 19 + deps/v8/src/ia32/macro-assembler-ia32.cc | 32 +- deps/v8/src/ia32/macro-assembler-ia32.h | 7 +- deps/v8/src/ia32/stub-cache-ia32.cc | 26 +- deps/v8/src/ic-inl.h | 4 +- deps/v8/src/ic.cc | 89 ++- deps/v8/src/ic.h | 27 +- deps/v8/src/mark-compact.cc | 149 +++-- deps/v8/src/mark-compact.h | 12 + deps/v8/src/messages.js | 1 + deps/v8/src/mips/code-stubs-mips.cc | 595 +++++++++++------ deps/v8/src/mips/codegen-mips.cc | 92 +++ deps/v8/src/mips/codegen-mips.h | 15 + deps/v8/src/mips/full-codegen-mips.cc | 101 ++- deps/v8/src/mips/ic-mips.cc | 3 + deps/v8/src/mips/lithium-codegen-mips.cc | 400 +++++------ deps/v8/src/mips/lithium-codegen-mips.h | 7 + deps/v8/src/mips/lithium-mips.cc | 29 +- deps/v8/src/mips/lithium-mips.h | 18 +- deps/v8/src/mips/macro-assembler-mips.cc | 15 +- deps/v8/src/mips/macro-assembler-mips.h | 1 + deps/v8/src/mips/stub-cache-mips.cc | 20 +- deps/v8/src/objects-inl.h | 161 +++-- deps/v8/src/objects.cc | 138 ++-- deps/v8/src/objects.h | 85 ++- deps/v8/src/parser.cc | 49 +- deps/v8/src/parser.h | 5 + deps/v8/src/platform-posix.cc | 5 + deps/v8/src/platform-win32.cc | 5 + deps/v8/src/platform.h | 4 + deps/v8/src/preparser.cc | 1 + deps/v8/src/profile-generator-inl.h | 20 + deps/v8/src/profile-generator.cc | 242 ++++++- deps/v8/src/profile-generator.h | 31 +- deps/v8/src/runtime.cc | 43 +- deps/v8/src/scopes.cc | 43 +- deps/v8/src/scopes.h | 5 + deps/v8/src/spaces.cc | 6 +- deps/v8/src/store-buffer.cc | 55 +- deps/v8/src/store-buffer.h | 4 +- deps/v8/src/stub-cache.cc | 4 +- deps/v8/src/stub-cache.h | 10 +- deps/v8/src/type-info.cc | 15 + deps/v8/src/type-info.h | 1 + deps/v8/src/v8natives.js | 106 ++- deps/v8/src/v8threads.h | 2 +- deps/v8/src/version.cc | 4 +- deps/v8/src/x64/assembler-x64.cc | 166 ++--- deps/v8/src/x64/assembler-x64.h | 7 +- deps/v8/src/x64/builtins-x64.cc | 3 + deps/v8/src/x64/code-stubs-x64.cc | 414 +++++++----- deps/v8/src/x64/debug-x64.cc | 4 +- deps/v8/src/x64/deoptimizer-x64.cc | 8 +- deps/v8/src/x64/disasm-x64.cc | 20 +- deps/v8/src/x64/full-codegen-x64.cc | 2 +- deps/v8/src/x64/ic-x64.cc | 3 + deps/v8/src/x64/lithium-codegen-x64.cc | 261 ++++---- deps/v8/src/x64/lithium-codegen-x64.h | 3 +- deps/v8/src/x64/lithium-x64.cc | 8 +- deps/v8/src/x64/lithium-x64.h | 2 + deps/v8/src/x64/macro-assembler-x64.cc | 39 +- deps/v8/src/x64/macro-assembler-x64.h | 8 + deps/v8/src/x64/stub-cache-x64.cc | 26 +- deps/v8/test/cctest/SConscript | 3 +- deps/v8/test/cctest/cctest.status | 10 +- deps/v8/test/cctest/test-api.cc | 10 +- deps/v8/test/cctest/test-assembler-ia32.cc | 68 ++ deps/v8/test/cctest/test-assembler-x64.cc | 81 +++ deps/v8/test/cctest/test-debug.cc | 2 +- deps/v8/test/cctest/test-disasm-ia32.cc | 5 + deps/v8/test/cctest/test-disasm-x64.cc | 429 ++++++++++++ deps/v8/test/cctest/test-heap-profiler.cc | 102 ++- deps/v8/test/cctest/test-heap.cc | 9 +- deps/v8/test/cctest/test-mark-compact.cc | 92 +++ deps/v8/test/cctest/test-parsing.cc | 198 ++++++ deps/v8/test/es5conform/es5conform.status | 5 - deps/v8/test/message/message.status | 7 - .../mjsunit/array-construct-transition.js | 39 ++ .../test/mjsunit/array-literal-transitions.js | 80 ++- .../test/mjsunit/compiler/regress-106351.js | 38 ++ deps/v8/test/mjsunit/elements-kind.js | 2 +- deps/v8/test/mjsunit/elements-transition.js | 10 +- .../mjsunit/harmony/block-const-assign.js | 131 ++++ .../mjsunit/harmony/block-let-crankshaft.js | 198 +++++- deps/v8/test/mjsunit/math-pow.js | 257 ++++---- deps/v8/test/mjsunit/mjsunit.status | 42 +- deps/v8/test/mjsunit/regress/regress-397.js | 17 +- deps/v8/test/mjsunit/regress/regress-97116.js | 50 ++ .../v8/test/mjsunit/string-external-cached.js | 6 +- deps/v8/test/mjsunit/string-slices.js | 17 + deps/v8/test/mozilla/mozilla.status | 70 +- deps/v8/test/preparser/preparser.status | 6 - deps/v8/test/sputnik/sputnik.status | 13 +- deps/v8/test/test262/test262.status | 203 +----- deps/v8/tools/test-wrapper-gypbuild.py | 2 +- 143 files changed, 5935 insertions(+), 2513 deletions(-) create mode 100644 deps/v8/test/cctest/test-disasm-x64.cc create mode 100644 deps/v8/test/mjsunit/array-construct-transition.js create mode 100644 deps/v8/test/mjsunit/compiler/regress-106351.js create mode 100644 deps/v8/test/mjsunit/harmony/block-const-assign.js create mode 100644 deps/v8/test/mjsunit/regress/regress-97116.js diff --git a/deps/v8/ChangeLog b/deps/v8/ChangeLog index 4d629810ba..33df4603ce 100644 --- a/deps/v8/ChangeLog +++ b/deps/v8/ChangeLog @@ -1,3 +1,15 @@ +2011-12-13: Version 3.8.0 + + Fixed handling of arrays in DefineOwnProperty. (issue 1756) + + Sync parser and preparser on do-while and return statements. + (issue 1856) + + Fixed another corner case for DefineOwnProperty on arrays (issue 1756). + + Stability and performance improvements on all platforms. + + 2011-12-01: Version 3.7.12 Increase tick interval for the android platform. diff --git a/deps/v8/build/common.gypi b/deps/v8/build/common.gypi index 861c87d29d..9129d0170c 100644 --- a/deps/v8/build/common.gypi +++ b/deps/v8/build/common.gypi @@ -303,6 +303,7 @@ }], ['OS=="win"', { 'msvs_configuration_attributes': { + 'OutputDirectory': '<(DEPTH)\\build\\$(ConfigurationName)', 'IntermediateDirectory': '$(OutDir)\\obj\\$(ProjectName)', 'CharacterSet': '1', }, diff --git a/deps/v8/include/v8-profiler.h b/deps/v8/include/v8-profiler.h index f67646f54e..27b3c6def3 100644 --- a/deps/v8/include/v8-profiler.h +++ b/deps/v8/include/v8-profiler.h @@ -219,8 +219,9 @@ class V8EXPORT HeapGraphEdge { // (e.g. parts of a ConsString). kHidden = 4, // A link that is needed for proper sizes // calculation, but may be hidden from user. - kShortcut = 5 // A link that must not be followed during + kShortcut = 5, // A link that must not be followed during // sizes calculation. + kWeak = 6 // A weak reference (ignored by the GC). }; /** Returns edge type (see HeapGraphEdge::Type). */ diff --git a/deps/v8/src/api.cc b/deps/v8/src/api.cc index 35b8aa0fcb..7eaadbb6b1 100644 --- a/deps/v8/src/api.cc +++ b/deps/v8/src/api.cc @@ -1462,31 +1462,35 @@ Local