From 728d8a37f471afaeaa6af19823f9da8c41f1f65a Mon Sep 17 00:00:00 2001 From: Ryan Dahl Date: Wed, 18 Nov 2009 15:25:58 +0100 Subject: Upgrade v8 to 2.0 (With just one change: remove -Werror) --- deps/v8/AUTHORS | 1 + deps/v8/ChangeLog | 17 + deps/v8/SConstruct | 2 +- deps/v8/include/v8-debug.h | 2 +- deps/v8/include/v8.h | 26 +- deps/v8/src/SConscript | 1 - deps/v8/src/accessors.cc | 9 +- deps/v8/src/allocation.cc | 6 +- deps/v8/src/api.cc | 54 +- deps/v8/src/api.h | 9 + deps/v8/src/arguments.h | 6 +- deps/v8/src/arm/assembler-arm-inl.h | 2 +- deps/v8/src/arm/assembler-arm.cc | 294 ++- deps/v8/src/arm/assembler-arm.h | 175 +- deps/v8/src/arm/builtins-arm.cc | 40 +- deps/v8/src/arm/codegen-arm-inl.h | 13 +- deps/v8/src/arm/codegen-arm.cc | 495 +++-- deps/v8/src/arm/codegen-arm.h | 47 +- deps/v8/src/arm/constants-arm.cc | 20 + deps/v8/src/arm/constants-arm.h | 24 +- deps/v8/src/arm/cpu-arm.cc | 3 +- deps/v8/src/arm/debug-arm.cc | 2 +- deps/v8/src/arm/disasm-arm.cc | 199 +- deps/v8/src/arm/fast-codegen-arm.cc | 1243 ++++++++++-- deps/v8/src/arm/frames-arm.cc | 15 +- deps/v8/src/arm/frames-arm.h | 2 +- deps/v8/src/arm/macro-assembler-arm.cc | 30 +- deps/v8/src/arm/macro-assembler-arm.h | 13 +- deps/v8/src/arm/regexp-macro-assembler-arm.cc | 12 +- deps/v8/src/arm/simulator-arm.cc | 345 +++- deps/v8/src/arm/simulator-arm.h | 79 +- deps/v8/src/assembler.cc | 44 +- deps/v8/src/assembler.h | 21 +- deps/v8/src/ast.h | 54 +- deps/v8/src/bootstrapper.cc | 42 +- deps/v8/src/bootstrapper.h | 18 + deps/v8/src/checks.cc | 2 + deps/v8/src/code-stubs.cc | 50 +- deps/v8/src/code-stubs.h | 45 +- deps/v8/src/codegen.cc | 115 +- deps/v8/src/codegen.h | 31 +- deps/v8/src/compiler.cc | 464 +++-- deps/v8/src/compiler.h | 13 + deps/v8/src/conversions.cc | 31 +- deps/v8/src/debug-agent.cc | 10 +- deps/v8/src/debug.cc | 9 +- deps/v8/src/debug.h | 6 +- deps/v8/src/disassembler.cc | 4 +- deps/v8/src/execution.cc | 39 +- deps/v8/src/execution.h | 41 +- deps/v8/src/factory.cc | 11 +- deps/v8/src/factory.h | 9 +- deps/v8/src/fast-codegen.cc | 396 ++-- deps/v8/src/fast-codegen.h | 57 +- deps/v8/src/flag-definitions.h | 3 + deps/v8/src/flags.cc | 4 +- deps/v8/src/frames.cc | 22 +- deps/v8/src/frames.h | 25 +- deps/v8/src/global-handles.cc | 18 +- deps/v8/src/global-handles.h | 8 +- deps/v8/src/globals.h | 18 +- deps/v8/src/handles.cc | 61 +- deps/v8/src/handles.h | 17 +- deps/v8/src/heap-profiler.cc | 2 +- deps/v8/src/heap.cc | 158 +- deps/v8/src/heap.h | 35 +- deps/v8/src/ia32/assembler-ia32-inl.h | 2 +- deps/v8/src/ia32/assembler-ia32.cc | 80 +- deps/v8/src/ia32/assembler-ia32.h | 33 +- deps/v8/src/ia32/builtins-ia32.cc | 41 +- deps/v8/src/ia32/codegen-ia32.cc | 338 ++-- deps/v8/src/ia32/codegen-ia32.h | 62 +- deps/v8/src/ia32/disasm-ia32.cc | 40 +- deps/v8/src/ia32/fast-codegen-ia32.cc | 1251 +++++++++--- deps/v8/src/ia32/frames-ia32.cc | 13 +- deps/v8/src/ia32/frames-ia32.h | 2 +- deps/v8/src/ia32/macro-assembler-ia32.cc | 102 +- deps/v8/src/ia32/macro-assembler-ia32.h | 19 +- deps/v8/src/ia32/regexp-macro-assembler-ia32.cc | 12 +- deps/v8/src/ia32/register-allocator-ia32.cc | 4 +- deps/v8/src/ia32/simulator-ia32.h | 9 + deps/v8/src/ia32/stub-cache-ia32.cc | 42 +- deps/v8/src/ia32/virtual-frame-ia32.cc | 18 +- deps/v8/src/ic.cc | 3 +- deps/v8/src/interpreter-irregexp.cc | 23 +- deps/v8/src/jsregexp.cc | 157 +- deps/v8/src/jsregexp.h | 11 +- deps/v8/src/list.h | 4 +- deps/v8/src/location.h | 62 - deps/v8/src/log-utils.cc | 10 +- deps/v8/src/log-utils.h | 7 +- deps/v8/src/log.cc | 47 +- deps/v8/src/log.h | 2 + deps/v8/src/macros.py | 5 +- deps/v8/src/mark-compact.cc | 19 +- deps/v8/src/mirror-delay.js | 65 +- deps/v8/src/mksnapshot.cc | 106 +- deps/v8/src/objects-debug.cc | 18 +- deps/v8/src/objects-inl.h | 113 +- deps/v8/src/objects.cc | 201 +- deps/v8/src/objects.h | 229 +-- deps/v8/src/parser.cc | 70 +- deps/v8/src/platform-freebsd.cc | 5 + deps/v8/src/platform-linux.cc | 66 +- deps/v8/src/platform-macos.cc | 8 + deps/v8/src/platform-nullos.cc | 11 + deps/v8/src/platform-win32.cc | 15 +- deps/v8/src/platform.h | 11 + deps/v8/src/prettyprinter.cc | 3 - deps/v8/src/regexp-macro-assembler.cc | 13 +- deps/v8/src/regexp-stack.cc | 2 +- deps/v8/src/regexp-stack.h | 4 +- deps/v8/src/runtime.cc | 130 +- deps/v8/src/runtime.h | 5 +- deps/v8/src/scanner.cc | 189 +- deps/v8/src/scanner.h | 160 +- deps/v8/src/scopeinfo.cc | 9 +- deps/v8/src/scopes.cc | 18 +- deps/v8/src/serialize.cc | 1982 +++++--------------- deps/v8/src/serialize.h | 405 ++-- deps/v8/src/simulator.h | 41 + deps/v8/src/snapshot-common.cc | 48 +- deps/v8/src/snapshot.h | 3 - deps/v8/src/spaces.cc | 59 +- deps/v8/src/spaces.h | 8 +- deps/v8/src/string.js | 22 +- deps/v8/src/stub-cache.cc | 7 +- deps/v8/src/token.cc | 105 -- deps/v8/src/token.h | 9 - deps/v8/src/top.cc | 131 +- deps/v8/src/top.h | 56 +- deps/v8/src/utils.cc | 8 +- deps/v8/src/utils.h | 15 +- deps/v8/src/v8.cc | 16 +- deps/v8/src/v8.h | 4 +- deps/v8/src/v8natives.js | 9 +- deps/v8/src/version.cc | 6 +- deps/v8/src/x64/assembler-x64-inl.h | 8 +- deps/v8/src/x64/assembler-x64.cc | 21 +- deps/v8/src/x64/assembler-x64.h | 58 +- deps/v8/src/x64/builtins-x64.cc | 41 +- deps/v8/src/x64/codegen-x64.cc | 221 +-- deps/v8/src/x64/codegen-x64.h | 54 +- deps/v8/src/x64/disasm-x64.cc | 6 +- deps/v8/src/x64/fast-codegen-x64.cc | 1255 ++++++++++--- deps/v8/src/x64/frames-x64.cc | 14 +- deps/v8/src/x64/frames-x64.h | 2 +- deps/v8/src/x64/ic-x64.cc | 4 +- deps/v8/src/x64/macro-assembler-x64.cc | 35 +- deps/v8/src/x64/macro-assembler-x64.h | 8 +- deps/v8/src/x64/regexp-macro-assembler-x64.cc | 14 +- deps/v8/src/x64/simulator-x64.h | 9 + deps/v8/src/x64/stub-cache-x64.cc | 2 +- deps/v8/src/x64/virtual-frame-x64.cc | 17 +- deps/v8/src/zone.h | 2 +- deps/v8/test/cctest/SConscript | 2 + deps/v8/test/cctest/cctest.cc | 3 + deps/v8/test/cctest/cctest.h | 136 ++ deps/v8/test/cctest/cctest.status | 21 - deps/v8/test/cctest/test-accessors.cc | 450 +++++ deps/v8/test/cctest/test-alloc.cc | 6 +- deps/v8/test/cctest/test-api.cc | 521 ++--- deps/v8/test/cctest/test-assembler-ia32.cc | 16 +- deps/v8/test/cctest/test-assembler-x64.cc | 14 +- deps/v8/test/cctest/test-debug.cc | 361 +++- deps/v8/test/cctest/test-disasm-ia32.cc | 23 +- deps/v8/test/cctest/test-flags.cc | 18 +- deps/v8/test/cctest/test-heap-profiler.cc | 4 +- deps/v8/test/cctest/test-heap.cc | 4 +- deps/v8/test/cctest/test-log-stack-tracer.cc | 5 - deps/v8/test/cctest/test-log-utils.cc | 3 +- deps/v8/test/cctest/test-log.cc | 17 +- deps/v8/test/cctest/test-macro-assembler-x64.cc | 46 +- deps/v8/test/cctest/test-parsing.cc | 129 ++ deps/v8/test/cctest/test-regexp.cc | 6 +- deps/v8/test/cctest/test-serialize.cc | 138 +- deps/v8/test/cctest/test-strings.cc | 173 +- deps/v8/test/cctest/test-utils.cc | 6 +- deps/v8/test/mjsunit/compiler/function-call.js | 52 + deps/v8/test/mjsunit/compiler/globals.js | 10 + deps/v8/test/mjsunit/compiler/loops.js | 35 + deps/v8/test/mjsunit/cyrillic.js | 199 ++ deps/v8/test/mjsunit/debug-stepnext-do-while.js | 79 + deps/v8/test/mjsunit/deep-recursion.js | 22 +- deps/v8/test/mjsunit/eval-typeof-non-existing.js | 5 +- deps/v8/test/mjsunit/fuzz-natives.js | 4 +- deps/v8/test/mjsunit/mjsunit.js | 3 + deps/v8/test/mjsunit/mjsunit.status | 15 +- deps/v8/test/mjsunit/parse-int-float.js | 3 + deps/v8/test/mjsunit/regress/regress-124.js | 4 +- deps/v8/test/mjsunit/regress/regress-2249423.js | 40 + deps/v8/test/mjsunit/regress/regress-486.js | 30 + deps/v8/test/mjsunit/regress/regress-490.js | 48 + deps/v8/test/mjsunit/regress/regress-491.js | 47 + deps/v8/test/mjsunit/regress/regress-492.js | 52 + deps/v8/test/mjsunit/regress/regress-496.js | 39 + deps/v8/test/mjsunit/regress/regress-502.js | 38 + deps/v8/test/mjsunit/regress/regress-503.js | 63 + deps/v8/test/mjsunit/string-charcodeat.js | 97 +- deps/v8/test/mjsunit/string-indexof-1.js | 99 + deps/v8/test/mjsunit/string-indexof-2.js | 68 + deps/v8/test/mjsunit/string-indexof.js | 142 -- .../test/mjsunit/unicode-case-overoptimization.js | 35 + deps/v8/test/mozilla/testcfg.py | 2 + deps/v8/test/sputnik/README | 6 + deps/v8/test/sputnik/sputnik.status | 318 ++++ deps/v8/test/sputnik/testcfg.py | 112 ++ deps/v8/tools/gyp/v8.gyp | 42 +- deps/v8/tools/js2c.py | 2 +- deps/v8/tools/presubmit.py | 2 +- deps/v8/tools/process-heap-prof.py | 54 +- deps/v8/tools/test.py | 13 +- deps/v8/tools/visual_studio/v8_base.vcproj | 4 - deps/v8/tools/visual_studio/v8_base_arm.vcproj | 4 - 214 files changed, 11413 insertions(+), 6120 deletions(-) delete mode 100644 deps/v8/src/location.h create mode 100644 deps/v8/src/simulator.h create mode 100644 deps/v8/test/cctest/test-accessors.cc create mode 100644 deps/v8/test/cctest/test-parsing.cc create mode 100644 deps/v8/test/mjsunit/compiler/function-call.js create mode 100644 deps/v8/test/mjsunit/compiler/loops.js create mode 100644 deps/v8/test/mjsunit/cyrillic.js create mode 100644 deps/v8/test/mjsunit/debug-stepnext-do-while.js create mode 100644 deps/v8/test/mjsunit/regress/regress-2249423.js create mode 100644 deps/v8/test/mjsunit/regress/regress-486.js create mode 100644 deps/v8/test/mjsunit/regress/regress-490.js create mode 100644 deps/v8/test/mjsunit/regress/regress-491.js create mode 100644 deps/v8/test/mjsunit/regress/regress-492.js create mode 100644 deps/v8/test/mjsunit/regress/regress-496.js create mode 100644 deps/v8/test/mjsunit/regress/regress-502.js create mode 100644 deps/v8/test/mjsunit/regress/regress-503.js create mode 100644 deps/v8/test/mjsunit/string-indexof-1.js create mode 100644 deps/v8/test/mjsunit/string-indexof-2.js delete mode 100644 deps/v8/test/mjsunit/string-indexof.js create mode 100644 deps/v8/test/mjsunit/unicode-case-overoptimization.js create mode 100644 deps/v8/test/sputnik/README create mode 100644 deps/v8/test/sputnik/sputnik.status create mode 100644 deps/v8/test/sputnik/testcfg.py (limited to 'deps') diff --git a/deps/v8/AUTHORS b/deps/v8/AUTHORS index de8cabb0b1..4fd7aa5b76 100644 --- a/deps/v8/AUTHORS +++ b/deps/v8/AUTHORS @@ -19,3 +19,4 @@ Rafal Krypa Rene Rebe Ryan Dahl Patrick Gansterer +John Jozwiak diff --git a/deps/v8/ChangeLog b/deps/v8/ChangeLog index 8ee83766a4..668cd9a920 100644 --- a/deps/v8/ChangeLog +++ b/deps/v8/ChangeLog @@ -1,3 +1,20 @@ +2009-11-18: Version 2.0.0 + + Added support for VFP on ARM. + + Added TryCatch::ReThrow method to the API. + + Reduced the size of snapshots and improved the snapshot load time. + + Improved heap profiler support. + + 64-bit version now supported on Windows. + + Fixed a number of debugger issues. + + Fixed bugs. + + 2009-10-29: Version 1.3.18 Reverted a change which caused crashes in RegExp replace. diff --git a/deps/v8/SConstruct b/deps/v8/SConstruct index af8119bfdb..c2a7508917 100755 --- a/deps/v8/SConstruct +++ b/deps/v8/SConstruct @@ -272,7 +272,7 @@ V8_EXTRA_FLAGS = { 'WARNINGFLAGS': ['/W3'] }, 'arch:x64': { - 'WARNINGFLAGS': ['/W2'] + 'WARNINGFLAGS': ['/W3'] }, 'arch:arm': { 'CPPDEFINES': ['V8_TARGET_ARCH_ARM'], diff --git a/deps/v8/include/v8-debug.h b/deps/v8/include/v8-debug.h index d93e5543b4..b27bacc108 100644 --- a/deps/v8/include/v8-debug.h +++ b/deps/v8/include/v8-debug.h @@ -218,7 +218,7 @@ class EXPORT Debug { /** * Register a callback function to be called when a debug message has been - * received and is ready to be precessed. For the debug messages to be + * received and is ready to be processed. For the debug messages to be * processed V8 needs to be entered, and in certain embedding scenarios this * callback can be used to make sure V8 is entered for the debug message to * be processed. Note that debug messages will only be processed if there is diff --git a/deps/v8/include/v8.h b/deps/v8/include/v8.h index 5f3b68b227..78b46136fd 100644 --- a/deps/v8/include/v8.h +++ b/deps/v8/include/v8.h @@ -129,8 +129,9 @@ class Data; namespace internal { -class Object; class Arguments; +class Object; +class Top; } @@ -2472,6 +2473,15 @@ class V8EXPORT TryCatch { */ bool CanContinue() const; + /** + * Throws the exception caught by this TryCatch in a way that avoids + * it being caught again by this same TryCatch. As with ThrowException + * it is illegal to execute any JavaScript operations after calling + * ReThrow; the caller must return immediately to where the exception + * is caught. + */ + Handle ReThrow(); + /** * Returns the exception caught by this try/catch block. If no exception has * been caught an empty handle is returned. @@ -2523,14 +2533,16 @@ class V8EXPORT TryCatch { */ void SetCaptureMessage(bool value); - public: - TryCatch* next_; + private: + void* next_; void* exception_; void* message_; - bool is_verbose_; - bool can_continue_; - bool capture_message_; - void* js_handler_; + bool is_verbose_ : 1; + bool can_continue_ : 1; + bool capture_message_ : 1; + bool rethrow_ : 1; + + friend class v8::internal::Top; }; diff --git a/deps/v8/src/SConscript b/deps/v8/src/SConscript index 85fd724964..cfa462f50f 100755 --- a/deps/v8/src/SConscript +++ b/deps/v8/src/SConscript @@ -264,7 +264,6 @@ def ConfigureObjectFiles(): 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] diff --git a/deps/v8/src/accessors.cc b/deps/v8/src/accessors.cc index 82ae702fd9..734c36445d 100644 --- a/deps/v8/src/accessors.cc +++ b/deps/v8/src/accessors.cc @@ -315,7 +315,14 @@ Object* Accessors::ScriptGetLineEnds(Object* object, void*) { HandleScope scope; Handle