v8.h   v8.h 
skipping to change at line 1145 skipping to change at line 1145
* Passes on the value set by the embedder when it fed the script from wh ich * Passes on the value set by the embedder when it fed the script from wh ich
* this Message was generated to V8. * this Message was generated to V8.
*/ */
bool IsSharedCrossOrigin() const; bool IsSharedCrossOrigin() const;
// TODO(1245381): Print to a string instead of on a FILE. // TODO(1245381): Print to a string instead of on a FILE.
static void PrintCurrentStackTrace(FILE* out); static void PrintCurrentStackTrace(FILE* out);
static const int kNoLineNumberInfo = 0; static const int kNoLineNumberInfo = 0;
static const int kNoColumnInfo = 0; static const int kNoColumnInfo = 0;
static const int kNoScriptIdInfo = 0;
}; };
/** /**
* Representation of a JavaScript stack trace. The information collected is a * Representation of a JavaScript stack trace. The information collected is a
* snapshot of the execution stack and the information remains valid after * snapshot of the execution stack and the information remains valid after
* execution continues. * execution continues.
*/ */
class V8_EXPORT StackTrace { class V8_EXPORT StackTrace {
public: public:
/** /**
skipping to change at line 1166 skipping to change at line 1167
* StackFrame when grabbing the current stack trace. * StackFrame when grabbing the current stack trace.
*/ */
enum StackTraceOptions { enum StackTraceOptions {
kLineNumber = 1, kLineNumber = 1,
kColumnOffset = 1 << 1 | kLineNumber, kColumnOffset = 1 << 1 | kLineNumber,
kScriptName = 1 << 2, kScriptName = 1 << 2,
kFunctionName = 1 << 3, kFunctionName = 1 << 3,
kIsEval = 1 << 4, kIsEval = 1 << 4,
kIsConstructor = 1 << 5, kIsConstructor = 1 << 5,
kScriptNameOrSourceURL = 1 << 6, kScriptNameOrSourceURL = 1 << 6,
kScriptId = 1 << 7,
kOverview = kLineNumber | kColumnOffset | kScriptName | kFunctionName, kOverview = kLineNumber | kColumnOffset | kScriptName | kFunctionName,
kDetailed = kOverview | kIsEval | kIsConstructor | kScriptNameOrSourceU RL kDetailed = kOverview | kIsEval | kIsConstructor | kScriptNameOrSourceU RL
}; };
/** /**
* Returns a StackFrame at a particular index. * Returns a StackFrame at a particular index.
*/ */
Local<StackFrame> GetFrame(uint32_t index) const; Local<StackFrame> GetFrame(uint32_t index) const;
/** /**
skipping to change at line 1220 skipping to change at line 1222
/** /**
* Returns the 1-based column offset on the line for the associated funct ion * Returns the 1-based column offset on the line for the associated funct ion
* call. * call.
* This method will return Message::kNoColumnInfo if it is unable to retr ieve * This method will return Message::kNoColumnInfo if it is unable to retr ieve
* the column number, or if kColumnOffset was not passed as an option whe n * the column number, or if kColumnOffset was not passed as an option whe n
* capturing the StackTrace. * capturing the StackTrace.
*/ */
int GetColumn() const; int GetColumn() const;
/** /**
* Returns the id of the script for the function for this StackFrame.
* This method will return Message::kNoScriptIdInfo if it is unable to
* retrieve the script id, or if kScriptId was not passed as an option wh
en
* capturing the StackTrace.
*/
int GetScriptId() const;
/**
* Returns the name of the resource that contains the script for the * Returns the name of the resource that contains the script for the
* function for this StackFrame. * function for this StackFrame.
*/ */
Local<String> GetScriptName() const; Local<String> GetScriptName() const;
/** /**
* Returns the name of the resource that contains the script for the * Returns the name of the resource that contains the script for the
* function for this StackFrame or sourceURL value if the script name * function for this StackFrame or sourceURL value if the script name
* is undefined and its source ends with //# sourceURL=... string or * is undefined and its source ends with //# sourceURL=... string or
* deprecated //@ sourceURL=... string. * deprecated //@ sourceURL=... string.
skipping to change at line 5279 skipping to change at line 5289
static const int kStringEncodingMask = 0x4; static const int kStringEncodingMask = 0x4;
static const int kExternalTwoByteRepresentationTag = 0x02; static const int kExternalTwoByteRepresentationTag = 0x02;
static const int kExternalAsciiRepresentationTag = 0x06; static const int kExternalAsciiRepresentationTag = 0x06;
static const int kIsolateEmbedderDataOffset = 1 * kApiPointerSize; static const int kIsolateEmbedderDataOffset = 1 * kApiPointerSize;
static const int kIsolateRootsOffset = 3 * kApiPointerSize; static const int kIsolateRootsOffset = 3 * kApiPointerSize;
static const int kUndefinedValueRootIndex = 5; static const int kUndefinedValueRootIndex = 5;
static const int kNullValueRootIndex = 7; static const int kNullValueRootIndex = 7;
static const int kTrueValueRootIndex = 8; static const int kTrueValueRootIndex = 8;
static const int kFalseValueRootIndex = 9; static const int kFalseValueRootIndex = 9;
static const int kEmptyStringRootIndex = 134; static const int kEmptyStringRootIndex = 133;
static const int kNodeClassIdOffset = 1 * kApiPointerSize; static const int kNodeClassIdOffset = 1 * kApiPointerSize;
static const int kNodeFlagsOffset = 1 * kApiPointerSize + 3; static const int kNodeFlagsOffset = 1 * kApiPointerSize + 3;
static const int kNodeStateMask = 0xf; static const int kNodeStateMask = 0xf;
static const int kNodeStateIsWeakValue = 2; static const int kNodeStateIsWeakValue = 2;
static const int kNodeStateIsPendingValue = 3; static const int kNodeStateIsPendingValue = 3;
static const int kNodeStateIsNearDeathValue = 4; static const int kNodeStateIsNearDeathValue = 4;
static const int kNodeIsIndependentShift = 4; static const int kNodeIsIndependentShift = 4;
static const int kNodeIsPartiallyDependentShift = 5; static const int kNodeIsPartiallyDependentShift = 5;
static const int kJSObjectType = 0xb2; static const int kJSObjectType = 0xb1;
static const int kFirstNonstringType = 0x80; static const int kFirstNonstringType = 0x80;
static const int kOddballType = 0x83; static const int kOddballType = 0x83;
static const int kForeignType = 0x87; static const int kForeignType = 0x87;
static const int kUndefinedOddballKind = 5; static const int kUndefinedOddballKind = 5;
static const int kNullOddballKind = 3; static const int kNullOddballKind = 3;
static void CheckInitializedImpl(v8::Isolate* isolate); static void CheckInitializedImpl(v8::Isolate* isolate);
V8_INLINE(static void CheckInitialized(v8::Isolate* isolate)) { V8_INLINE(static void CheckInitialized(v8::Isolate* isolate)) {
#ifdef V8_ENABLE_CHECKS #ifdef V8_ENABLE_CHECKS
 End of changes. 5 change blocks. 
2 lines changed or deleted 13 lines changed or added


 v8config.h   v8config.h 
skipping to change at line 31 skipping to change at line 31
// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT // SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, // LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY // DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT // THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE // (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. // OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
#ifndef V8CONFIG_H_ #ifndef V8CONFIG_H_
#define V8CONFIG_H_ #define V8CONFIG_H_
// Platform headers for feature detection below.
#if defined(__ANDROID__)
# include <sys/cdefs.h>
#elif defined(__APPLE__)
# include <TargetConditionals.h>
#elif defined(__linux__)
# include <features.h>
#endif
// This macro allows to test for the version of the GNU C library (or
// a compatible C library that masquerades as glibc). It evaluates to
// 0 if libc is not GNU libc or compatible.
// Use like:
// #if V8_GLIBC_PREREQ(2, 3)
// ...
// #endif
#if defined(__GLIBC__) && defined(__GLIBC_MINOR__)
# define V8_GLIBC_PREREQ(major, minor) \
((__GLIBC__ * 100 + __GLIBC_MINOR__) >= ((major) * 100 + (minor)))
#else
# define V8_GLIBC_PREREQ(major, minor) 0
#endif
// This macro allows to test for the version of the GNU C++ compiler.
// Note that this also applies to compilers that masquerade as GCC,
// for example clang and the Intel C++ compiler for Linux.
// Use like:
// #if V8_GNUC_PREREQ(4, 3, 1)
// ...
// #endif
#if defined(__GNUC__) && defined(__GNUC_MINOR__) && defined(__GNUC_PATCHLEV
EL__)
# define V8_GNUC_PREREQ(major, minor, patchlevel) \
((__GNUC__ * 10000 + __GNUC_MINOR__ * 100 + __GNUC_PATCHLEVEL__) >= \
((major) * 10000 + (minor) * 100 + (patchlevel)))
#elif defined(__GNUC__) && defined(__GNUC_MINOR__)
# define V8_GNUC_PREREQ(major, minor, patchlevel) \
((__GNUC__ * 10000 + __GNUC_MINOR__) >= \
((major) * 10000 + (minor) * 100 + (patchlevel)))
#else
# define V8_GNUC_PREREQ(major, minor, patchlevel) 0
#endif
// ------------------------------------------------------------------------ ----- // ------------------------------------------------------------------------ -----
// Operating system detection // Operating system detection
// //
// V8_OS_ANDROID - Android // V8_OS_ANDROID - Android
// V8_OS_BSD - BSDish (Mac OS X, Net/Free/Open/DragonFlyBSD) // V8_OS_BSD - BSDish (Mac OS X, Net/Free/Open/DragonFlyBSD)
// V8_OS_CYGWIN - Cygwin // V8_OS_CYGWIN - Cygwin
// V8_OS_DRAGONFLYBSD - DragonFlyBSD // V8_OS_DRAGONFLYBSD - DragonFlyBSD
// V8_OS_FREEBSD - FreeBSD // V8_OS_FREEBSD - FreeBSD
// V8_OS_LINUX - Linux // V8_OS_LINUX - Linux
// V8_OS_MACOSX - Mac OS X // V8_OS_MACOSX - Mac OS X
skipping to change at line 89 skipping to change at line 131
# define V8_OS_POSIX 1 # define V8_OS_POSIX 1
#elif defined(__OpenBSD__) #elif defined(__OpenBSD__)
# define V8_OS_BSD 1 # define V8_OS_BSD 1
# define V8_OS_OPENBSD 1 # define V8_OS_OPENBSD 1
# define V8_OS_POSIX 1 # define V8_OS_POSIX 1
#elif defined(_WIN32) #elif defined(_WIN32)
# define V8_OS_WIN 1 # define V8_OS_WIN 1
#endif #endif
// ------------------------------------------------------------------------ ----- // ------------------------------------------------------------------------ -----
// C library detection
//
// V8_LIBC_BIONIC - Bionic libc
// V8_LIBC_BSD - BSD libc derivate
// V8_LIBC_GLIBC - GNU C library
// V8_LIBC_UCLIBC - uClibc
//
// Note that testing for libc must be done using #if not #ifdef. For exampl
e,
// to test for the GNU C library, use:
// #if V8_LIBC_GLIBC
// ...
// #endif
#if defined(__BIONIC__)
# define V8_LIBC_BIONIC 1
# define V8_LIBC_BSD 1
#elif defined(__UCLIBC__)
# define V8_LIBC_UCLIBC 1
#elif defined(__GLIBC__) || defined(__GNU_LIBRARY__)
# define V8_LIBC_GLIBC 1
#else
# define V8_LIBC_BSD V8_OS_BSD
#endif
// ------------------------------------------------------------------------
-----
// Compiler detection // Compiler detection
// //
// V8_CC_CLANG - Clang // V8_CC_CLANG - Clang
// V8_CC_GNU - GNU C++ // V8_CC_GNU - GNU C++
// V8_CC_INTEL - Intel C++ // V8_CC_INTEL - Intel C++
// V8_CC_MINGW - Minimalist GNU for Windows // V8_CC_MINGW - Minimalist GNU for Windows
// V8_CC_MINGW32 - Minimalist GNU for Windows (mingw32) // V8_CC_MINGW32 - Minimalist GNU for Windows (mingw32)
// V8_CC_MINGW64 - Minimalist GNU for Windows (mingw-w64) // V8_CC_MINGW64 - Minimalist GNU for Windows (mingw-w64)
// V8_CC_MSVC - Microsoft Visual C/C++ // V8_CC_MSVC - Microsoft Visual C/C++
// //
skipping to change at line 136 skipping to change at line 203
// V8_HAS_SEALED - MSVC style sealed marker supporte d // V8_HAS_SEALED - MSVC style sealed marker supporte d
// //
// Note that testing for compilers and/or features must be done using #if // Note that testing for compilers and/or features must be done using #if
// not #ifdef. For example, to test for Intel C++ Compiler, use: // not #ifdef. For example, to test for Intel C++ Compiler, use:
// #if V8_CC_INTEL // #if V8_CC_INTEL
// ... // ...
// #endif // #endif
#if defined(__clang__) #if defined(__clang__)
// Don't treat clang as GCC.
# define V8_GNUC_PREREQ(major, minor, patchlevel) 0
# define V8_CC_CLANG 1 # define V8_CC_CLANG 1
// Clang defines __alignof__ as alias for __alignof // Clang defines __alignof__ as alias for __alignof
# define V8_HAS___ALIGNOF 1 # define V8_HAS___ALIGNOF 1
# define V8_HAS___ALIGNOF__ V8_HAS___ALIGNOF # define V8_HAS___ALIGNOF__ V8_HAS___ALIGNOF
# define V8_HAS_ATTRIBUTE_ALIGNED (__has_attribute(aligned)) # define V8_HAS_ATTRIBUTE_ALIGNED (__has_attribute(aligned))
# define V8_HAS_ATTRIBUTE_ALWAYS_INLINE (__has_attribute(always_inline)) # define V8_HAS_ATTRIBUTE_ALWAYS_INLINE (__has_attribute(always_inline))
# define V8_HAS_ATTRIBUTE_DEPRECATED (__has_attribute(deprecated)) # define V8_HAS_ATTRIBUTE_DEPRECATED (__has_attribute(deprecated))
# define V8_HAS_ATTRIBUTE_NOINLINE (__has_attribute(noinline)) # define V8_HAS_ATTRIBUTE_NOINLINE (__has_attribute(noinline))
skipping to change at line 163 skipping to change at line 227
# define V8_HAS_BUILTIN_EXPECT (__has_builtin(__builtin_expect)) # define V8_HAS_BUILTIN_EXPECT (__has_builtin(__builtin_expect))
# define V8_HAS_CXX11_ALIGNAS (__has_feature(cxx_alignas)) # define V8_HAS_CXX11_ALIGNAS (__has_feature(cxx_alignas))
# define V8_HAS_CXX11_STATIC_ASSERT (__has_feature(cxx_static_assert)) # define V8_HAS_CXX11_STATIC_ASSERT (__has_feature(cxx_static_assert))
# define V8_HAS_CXX11_DELETE (__has_feature(cxx_deleted_functions)) # define V8_HAS_CXX11_DELETE (__has_feature(cxx_deleted_functions))
# define V8_HAS_CXX11_FINAL (__has_feature(cxx_override_control)) # define V8_HAS_CXX11_FINAL (__has_feature(cxx_override_control))
# define V8_HAS_CXX11_OVERRIDE (__has_feature(cxx_override_control)) # define V8_HAS_CXX11_OVERRIDE (__has_feature(cxx_override_control))
#elif defined(__GNUC__) #elif defined(__GNUC__)
# define V8_GNUC_PREREQ(major, minor, patchlevel) \
((__GNUC__ * 10000 + __GNUC_MINOR__ * 100 + __GNUC_PATCHLEVEL__) >= \
((major) * 10000 + (minor) * 100 + (patchlevel)))
# define V8_CC_GNU 1 # define V8_CC_GNU 1
// Intel C++ also masquerades as GCC 3.2.0 // Intel C++ also masquerades as GCC 3.2.0
# define V8_CC_INTEL (defined(__INTEL_COMPILER)) # define V8_CC_INTEL (defined(__INTEL_COMPILER))
# define V8_CC_MINGW32 (defined(__MINGW32__)) # define V8_CC_MINGW32 (defined(__MINGW32__))
# define V8_CC_MINGW64 (defined(__MINGW64__)) # define V8_CC_MINGW64 (defined(__MINGW64__))
# define V8_CC_MINGW (V8_CC_MINGW32 || V8_CC_MINGW64) # define V8_CC_MINGW (V8_CC_MINGW32 || V8_CC_MINGW64)
# define V8_HAS___ALIGNOF__ (V8_GNUC_PREREQ(4, 3, 0)) # define V8_HAS___ALIGNOF__ (V8_GNUC_PREREQ(4, 3, 0))
# define V8_HAS_ATTRIBUTE_ALIGNED (V8_GNUC_PREREQ(2, 95, 0)) # define V8_HAS_ATTRIBUTE_ALIGNED (V8_GNUC_PREREQ(2, 95, 0))
skipping to change at line 209 skipping to change at line 269
# define V8_HAS_CXX11_DELETE (V8_GNUC_PREREQ(4, 4, 0)) # define V8_HAS_CXX11_DELETE (V8_GNUC_PREREQ(4, 4, 0))
# define V8_HAS_CXX11_OVERRIDE (V8_GNUC_PREREQ(4, 7, 0)) # define V8_HAS_CXX11_OVERRIDE (V8_GNUC_PREREQ(4, 7, 0))
# define V8_HAS_CXX11_FINAL (V8_GNUC_PREREQ(4, 7, 0)) # define V8_HAS_CXX11_FINAL (V8_GNUC_PREREQ(4, 7, 0))
# else # else
// '__final' is a non-C++11 GCC synonym for 'final', per GCC r176655. // '__final' is a non-C++11 GCC synonym for 'final', per GCC r176655.
# define V8_HAS___FINAL (V8_GNUC_PREREQ(4, 7, 0)) # define V8_HAS___FINAL (V8_GNUC_PREREQ(4, 7, 0))
# endif # endif
#elif defined(_MSC_VER) #elif defined(_MSC_VER)
# define V8_GNUC_PREREQ(major, minor, patchlevel) 0
# define V8_CC_MSVC 1 # define V8_CC_MSVC 1
# define V8_HAS___ALIGNOF 1 # define V8_HAS___ALIGNOF 1
// Override control was added with Visual Studio 2005, but // Override control was added with Visual Studio 2005, but
// Visual Studio 2010 and earlier spell "final" as "sealed". // Visual Studio 2010 and earlier spell "final" as "sealed".
# define V8_HAS_CXX11_FINAL (_MSC_VER >= 1700) # define V8_HAS_CXX11_FINAL (_MSC_VER >= 1700)
# define V8_HAS_CXX11_OVERRIDE (_MSC_VER >= 1400) # define V8_HAS_CXX11_OVERRIDE (_MSC_VER >= 1400)
# define V8_HAS_SEALED (_MSC_VER >= 1400) # define V8_HAS_SEALED (_MSC_VER >= 1400)
 End of changes. 5 change blocks. 
9 lines changed or deleted 70 lines changed or added

This html diff was produced by rfcdiff 1.41. The latest version is available from http://tools.ietf.org/tools/rfcdiff/