Binary compatibility report for the V8 library between 3.6.4.1 and 3.6.5 versions on x86
Test Info
Library Name | V8 |
Version #1 | 3.6.4.1 |
Version #2 | 3.6.5 |
CPU Architecture | x86 |
GCC Version | 4.5 |
Test Results
Total Header Files | 5 |
Total Shared Libraries | 1 |
Total Symbols / Types | 398 / 295 |
Verdict | Incompatible (2.14%) |
---|
Problem Summary
| Severity | Count |
---|
Added Symbols | - | 3 |
Removed Symbols | High | 2 |
Problems with Data Types | High | 1 |
Medium | 0 |
Low | 2 |
Problems with Symbols | High | 2 |
Medium | 1 |
Low | 0 |
Problems with Constants | Low | 0 |
Other Changes | - | 0 |
Added Symbols (3)
v8-profiler.h,
libv8.so
namespace v8
HeapGraphNode::GetHeapValue ( ) const
[ symbol: _ZNK2v813HeapGraphNode12GetHeapValueEv ]
v8.h,
libv8.so
namespace v8
Extension::Extension [in-charge] ( char const* name, char const* source, int dep_count, char const** deps, int source_length )
[ symbol: _ZN2v89ExtensionC1EPKcS2_iPS2_i ]
Extension::Extension [not-in-charge] ( char const* name, char const* source, int dep_count, char const** deps, int source_length )
[ symbol: _ZN2v89ExtensionC2EPKcS2_iPS2_i ]
to the top
Removed Symbols (2)
v8.h,
libv8.so
namespace v8
Extension::Extension [in-charge] ( char const* name, char const* source, int dep_count, char const** deps )
[ symbol: _ZN2v89ExtensionC1EPKcS2_iPS2_ ]
Extension::Extension [not-in-charge] ( char const* name, char const* source, int dep_count, char const** deps )
[ symbol: _ZN2v89ExtensionC2EPKcS2_iPS2_ ]
to the top
Problems with Data Types, High Severity (1)
v8.h
namespace v8
[+] class Extension (1)
| Change |
Effect |
1 | Size of this class has been increased from 24 bytes to 36 bytes. | 1) An object of this class can be allocated by the applications and old size will be hardcoded at the compile time. Call of any exported constructor will break the memory of neighbouring objects on the stack or heap. 2) The memory layout and size of subclasses will be changed. |
[+] affected symbols (3)
Extension::GetNativeFunction ( Handle<String> name )This method is from 'Extension' class.
Extension::~Extension [in-charge] ( )This method is from 'Extension' class.
RegisterExtension ( Extension* extension )1st parameter 'extension' (pointer) has base type 'Extension'.
to the top
Problems with Symbols, High Severity (2)
v8.h,
libv8.so
namespace v8
[+] Extension::Extension [in-charge] ( char const* name, char const* source, int dep_count, char const** deps ) (1)
changed to:Extension::Extension [in-charge] ( char const* name, char const* source, int dep_count, char const** deps, int source_length )
| Change | Effect |
---|
1 | Parameters list has been changed. | The name of the appropriate symbol for this function on binary level has been changed from _ZN2v89ExtensionC1EPKcS2_iPS2_ to _ZN2v89ExtensionC1EPKcS2_iPS2_i. This may cause "undefined reference" linker error in old client applications. |
[+] Extension::Extension [not-in-charge] ( char const* name, char const* source, int dep_count, char const** deps ) (1)
changed to:Extension::Extension [not-in-charge] ( char const* name, char const* source, int dep_count, char const** deps, int source_length )
| Change | Effect |
---|
1 | Parameters list has been changed. | The name of the appropriate symbol for this function on binary level has been changed from _ZN2v89ExtensionC2EPKcS2_iPS2_ to _ZN2v89ExtensionC2EPKcS2_iPS2_i. This may cause "undefined reference" linker error in old client applications. |
to the top
Problems with Symbols, Medium Severity (1)
v8.h,
libv8.so
namespace v8
[+] String::GetExternalAsciiStringResource ( ) const (1)
[ symbol: _ZNK2v86String30GetExternalAsciiStringResourceEv ]
| Change | Effect |
---|
1 | Type of return value has been changed from String::ExternalAsciiStringResource* to String::ExternalAsciiStringResource const*. | The return value will be treated as non-const by old client applications. This may result in crash or incorrect behavior of applications. |
to the top
Problems with Data Types, Low Severity (2)
v8.h
namespace v8
[+] class Extension (2)
| Change |
Effect |
1 | Field source_length_ has been added to this type. | Size of the inclusive type has been changed. NOTE: this field should be accessed only from the new library functions, otherwise it may result in crash or incorrect behavior of applications. |
2 | Type of field source_ has been changed from char const* (4 bytes) to ExternalAsciiStringResourceImpl (12 bytes). | Size of the inclusive type has changed. |
[+] affected symbols (3)
Extension::GetNativeFunction ( Handle<String> name )This method is from 'Extension' class.
Extension::~Extension [in-charge] ( )This method is from 'Extension' class.
RegisterExtension ( Extension* extension )1st parameter 'extension' (pointer) has base type 'Extension'.
to the top
Header Files (5)
v8-preparser.h
v8-profiler.h
v8-testing.h
v8.h
v8stdint.h
to the top
Shared Libraries (1)
libv8.so
to the top