diff --git a/deps/v8/ChangeLog b/deps/v8/ChangeLog index bf2c244b41..825431cdec 100644 --- a/deps/v8/ChangeLog +++ b/deps/v8/ChangeLog @@ -1,3 +1,26 @@ +2009-12-03: Version 2.0.3 + + Optimized handling and adding of strings, for-in and Array.join. + + Heap serialization is now non-destructive. + + Improved profiler support with information on time spend in C++ + callbacks registered through the API. + + Added commands to the debugger protocol for starting/stopping + profiling. + + Enabled the non-optimizing compiler for top-level code. + + Changed the API to only allow strings to be set as data objects on + Contexts and scripts to avoid potentially keeping global objects + around for too long (issue 528). + + OpenBSD support patch by Peter Valchev . + + Fixed bugs. + + 2009-11-24: Version 2.0.2 Improved profiler support. @@ -34,7 +57,7 @@ Reverted a change which caused crashes in RegExp replace. - Reverted a change which caused Chromium ui_tests failure. + Reverted a change which caused Chromium ui_tests failure. 2009-10-28: Version 1.3.17 diff --git a/deps/v8/SConstruct b/deps/v8/SConstruct index 4da9b5b4f1..edaa66b75b 100755 --- a/deps/v8/SConstruct +++ b/deps/v8/SConstruct @@ -149,6 +149,11 @@ LIBRARY_FLAGS = { 'LIBPATH' : ['/usr/local/lib'], 'CCFLAGS': ['-ansi'], }, + 'os:openbsd': { + 'CPPPATH' : ['/usr/local/include'], + 'LIBPATH' : ['/usr/local/lib'], + 'CCFLAGS': ['-ansi'], + }, 'os:win32': { 'CCFLAGS': ['-DWIN32'], 'CXXFLAGS': ['-DWIN32'], @@ -298,6 +303,9 @@ MKSNAPSHOT_EXTRA_FLAGS = { 'os:freebsd': { 'LIBS': ['execinfo', 'pthread'] }, + 'os:openbsd': { + 'LIBS': ['execinfo', 'pthread'] + }, 'os:win32': { 'LIBS': ['winmm', 'ws2_32'], }, @@ -344,6 +352,9 @@ CCTEST_EXTRA_FLAGS = { 'os:freebsd': { 'LIBS': ['execinfo', 'pthread'] }, + 'os:openbsd': { + 'LIBS': ['execinfo', 'pthread'] + }, 'os:win32': { 'LIBS': ['winmm', 'ws2_32'] }, @@ -397,7 +408,11 @@ SAMPLE_FLAGS = { }, 'os:freebsd': { 'LIBPATH' : ['/usr/local/lib'], - 'LIBS': ['execinfo', 'pthread'] + 'LIBS': ['execinfo', 'pthread'] + }, + 'os:openbsd': { + 'LIBPATH' : ['/usr/local/lib'], + 'LIBS': ['execinfo', 'pthread'] }, 'os:win32': { 'LIBS': ['winmm', 'ws2_32'] @@ -504,6 +519,9 @@ D8_FLAGS = { 'os:freebsd': { 'LIBS': ['pthread'], }, + 'os:openbsd': { + 'LIBS': ['pthread'], + }, 'os:android': { 'LIBPATH': [ANDROID_TOP + '/out/target/product/generic/obj/lib'], 'LINKFLAGS': ANDROID_LINKFLAGS, @@ -544,7 +562,7 @@ def GuessToolchain(os): OS_GUESS = utils.GuessOS() TOOLCHAIN_GUESS = GuessToolchain(OS_GUESS) -ARCH_GUESS = utils.GuessArchitecture() or "" +ARCH_GUESS = utils.GuessArchitecture() SIMPLE_OPTIONS = { @@ -554,7 +572,7 @@ SIMPLE_OPTIONS = { 'help': 'the toolchain to use (' + TOOLCHAIN_GUESS + ')' }, 'os': { - 'values': ['freebsd', 'linux', 'macos', 'win32', 'android'], + 'values': ['freebsd', 'linux', 'macos', 'win32', 'android', 'openbsd'], 'default': OS_GUESS, 'help': 'the os to build for (' + OS_GUESS + ')' }, diff --git a/deps/v8/include/v8.h b/deps/v8/include/v8.h index 78b46136fd..a8ee8d4329 100644 --- a/deps/v8/include/v8.h +++ b/deps/v8/include/v8.h @@ -598,7 +598,7 @@ class V8EXPORT Script { * with the debugger as this data object is only available through the * debugger API. */ - void SetData(Handle data); + void SetData(Handle data); }; @@ -2634,7 +2634,7 @@ class V8EXPORT Context { * with the debugger to provide additional information on the context through * the debugger API. */ - void SetData(Handle data); + void SetData(Handle data); Local GetData(); /** @@ -2819,6 +2819,18 @@ template <> struct SmiConstants<8> { const int kSmiShiftSize = SmiConstants::kSmiShiftSize; const int kSmiValueSize = SmiConstants::kSmiValueSize; +template struct InternalConstants; + +// Internal constants for 32-bit systems. +template <> struct InternalConstants<4> { + static const int kStringResourceOffset = 3 * sizeof(void*); +}; + +// Internal constants for 64-bit systems. +template <> struct InternalConstants<8> { + static const int kStringResourceOffset = 2 * sizeof(void*); +}; + /** * This class exports constants and functionality from within v8 that * is necessary to implement inline functions in the v8 api. Don't @@ -2831,7 +2843,9 @@ class Internals { // the implementation of v8. static const int kHeapObjectMapOffset = 0; static const int kMapInstanceTypeOffset = sizeof(void*) + sizeof(int); - static const int kStringResourceOffset = 2 * sizeof(void*); + static const int kStringResourceOffset = + InternalConstants::kStringResourceOffset; + static const int kProxyProxyOffset = sizeof(void*); static const int kJSObjectHeaderSize = 3 * sizeof(void*); static const int kFullStringRepresentationMask = 0x07; diff --git a/deps/v8/src/SConscript b/deps/v8/src/SConscript index cfa462f50f..3b0df17188 100755 --- a/deps/v8/src/SConscript +++ b/deps/v8/src/SConscript @@ -159,6 +159,7 @@ SOURCES = { """), 'simulator:arm': ['arm/simulator-arm.cc'], 'os:freebsd': ['platform-freebsd.cc', 'platform-posix.cc'], + 'os:openbsd': ['platform-openbsd.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'], @@ -187,6 +188,9 @@ D8_FILES = { 'os:freebsd': [ 'd8-posix.cc' ], + 'os:openbsd': [ + 'd8-posix.cc' + ], 'os:win32': [ 'd8-windows.cc' ], diff --git a/deps/v8/src/accessors.cc b/deps/v8/src/accessors.cc index 734c36445d..56cf135981 100644 --- a/deps/v8/src/accessors.cc +++ b/deps/v8/src/accessors.cc @@ -315,14 +315,11 @@ Object* Accessors::ScriptGetLineEnds(Object* object, void*) { HandleScope scope; Handle