Skip to content
This repository has been archived by the owner on Apr 22, 2023. It is now read-only.

V8 lateral 3.28 update #9185

Closed
wants to merge 4 commits into from
Closed
Show file tree
Hide file tree
Changes from 3 commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
108 changes: 0 additions & 108 deletions deps/v8/.DEPS.git

This file was deleted.

4 changes: 0 additions & 4 deletions deps/v8/.clang-format

This file was deleted.

82 changes: 0 additions & 82 deletions deps/v8/.gitignore

This file was deleted.

5 changes: 0 additions & 5 deletions deps/v8/ChangeLog
Original file line number Diff line number Diff line change
@@ -1,8 +1,3 @@
2014-08-13: Version 3.28.73

Performance and stability improvements on all platforms.


2014-08-12: Version 3.28.71

ToNumber(Symbol) should throw TypeError (issue 3499).
Expand Down
2 changes: 1 addition & 1 deletion deps/v8/build/features.gypi
Original file line number Diff line number Diff line change
Expand Up @@ -115,7 +115,7 @@
'Release': {
'variables': {
'v8_enable_extra_checks%': 0,
'v8_enable_handle_zapping%': 1,
'v8_enable_handle_zapping%': 0,
},
'conditions': [
['v8_enable_extra_checks==1', {
Expand Down
11 changes: 0 additions & 11 deletions deps/v8/include/v8.h
Original file line number Diff line number Diff line change
Expand Up @@ -4186,17 +4186,6 @@ class V8_EXPORT Isolate {
*/
static Isolate* GetCurrent();

/**
* Custom callback used by embedders to help V8 determine if it should abort
* when it throws and no internal handler can catch the exception.
* If FLAG_abort_on_uncaught_exception is true, then V8 will abort if either:
* - no custom callback is set.
* - the custom callback set returns true.
* Otherwise it won't abort.
*/
typedef bool (*abort_on_uncaught_exception_t)();
void SetAbortOnUncaughtException(abort_on_uncaught_exception_t callback);

/**
* Methods below this point require holding a lock (using Locker) in
* a multi-threaded environment.
Expand Down
6 changes: 6 additions & 0 deletions deps/v8/src/api.cc
Original file line number Diff line number Diff line change
Expand Up @@ -5543,6 +5543,11 @@ bool v8::String::CanMakeExternal() {
i::Handle<i::String> obj = Utils::OpenHandle(this);
i::Isolate* isolate = obj->GetIsolate();

// TODO(yangguo): Externalizing sliced/cons strings allocates.
// This rule can be removed when all code that can
// trigger an access check is handlified and therefore GC safe.
if (isolate->heap()->old_pointer_space()->Contains(*obj)) return false;

if (isolate->string_tracker()->IsFreshUnusedString(obj)) return false;
int size = obj->Size(); // Byte size of the original string.
if (size < i::ExternalString::kShortSize) return false;
Expand Down Expand Up @@ -6731,6 +6736,7 @@ void v8::Isolate::LowMemoryNotification() {
}
}


int v8::Isolate::ContextDisposedNotification() {
i::Isolate* isolate = reinterpret_cast<i::Isolate*>(this);
return isolate->heap()->NotifyContextDisposed();
Expand Down
2 changes: 1 addition & 1 deletion deps/v8/src/array-iterator.js
Original file line number Diff line number Diff line change
Expand Up @@ -120,8 +120,8 @@ function ExtendArrayPrototype() {
%CheckIsBootstrapping();

InstallFunctions($Array.prototype, DONT_ENUM, $Array(
// No 'values' since it breaks webcompat: http://crbug.com/409858
'entries', ArrayEntries,
'values', ArrayValues,
'keys', ArrayKeys
));

Expand Down
1 change: 0 additions & 1 deletion deps/v8/src/array.js
Original file line number Diff line number Diff line change
Expand Up @@ -1480,7 +1480,6 @@ function SetUpArray() {
find: true,
findIndex: true,
keys: true,
values: true,
};
%AddNamedProperty($Array.prototype, symbolUnscopables, unscopables,
DONT_ENUM | READ_ONLY);
Expand Down
15 changes: 6 additions & 9 deletions deps/v8/src/base/platform/platform-posix.cc
Original file line number Diff line number Diff line change
Expand Up @@ -321,15 +321,11 @@ int OS::GetCurrentProcessId() {


int OS::GetCurrentThreadId() {
#if V8_OS_MACOSX
return static_cast<int>(pthread_mach_thread_np(pthread_self()));
#elif V8_OS_LINUX
#if defined(ANDROID)
return static_cast<int>(syscall(__NR_gettid));
#elif V8_OS_ANDROID
return static_cast<int>(gettid());
#else
return static_cast<int>(pthread_self());
#endif
return static_cast<int>(syscall(SYS_gettid));
#endif // defined(ANDROID)

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

We probably want to float 3589a62 again, or cherry-pick another fix from upstream like v8/v8@68d5f91.

}


Expand Down Expand Up @@ -608,8 +604,9 @@ void Thread::Join() {


void Thread::YieldCPU() {
const timespec delay = { 0, 1 };
nanosleep(&delay, NULL);
int result = sched_yield();
DCHECK_EQ(0, result);
USE(result);
}


Expand Down
1 change: 0 additions & 1 deletion deps/v8/src/base/platform/platform.h
Original file line number Diff line number Diff line change
Expand Up @@ -35,7 +35,6 @@ namespace std {
int signbit(double x);
}
# endif
#include <alloca.h>
#endif

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This had been added by floating a patch that fixes build issues on SmartOS. In the meantime, I believe most of the changes from this patch except the inclusion of the alloca.h header on Solaris derivatives have been upstreamed.

Floating this patch again would solve this build issue on SmartOS: http://jenkins.nodejs.org/job/node-test-commit-unix/DESTCPU=ia32,label=smartos/13/console.

We should however probably upstream it too.


#if V8_OS_QNX
Expand Down
8 changes: 5 additions & 3 deletions deps/v8/src/bootstrapper.cc
Original file line number Diff line number Diff line change
Expand Up @@ -2655,17 +2655,19 @@ Genesis::Genesis(Isolate* isolate,
NONE).Assert();

// Initialize trigonometric lookup tables and constants.
const int constants_size = ARRAY_SIZE(fdlibm::MathConstants::constants);
const int constants_size =
ARRAY_SIZE(fdlibm::TrigonometricConstants::constants);
const int table_num_bytes = constants_size * kDoubleSize;
v8::Local<v8::ArrayBuffer> trig_buffer = v8::ArrayBuffer::New(
reinterpret_cast<v8::Isolate*>(isolate),
const_cast<double*>(fdlibm::MathConstants::constants), table_num_bytes);
const_cast<double*>(fdlibm::TrigonometricConstants::constants),
table_num_bytes);
v8::Local<v8::Float64Array> trig_table =
v8::Float64Array::New(trig_buffer, 0, constants_size);

Runtime::DefineObjectProperty(
builtins,
factory()->InternalizeOneByteString(STATIC_ASCII_VECTOR("kMath")),
factory()->InternalizeOneByteString(STATIC_ASCII_VECTOR("kTrig")),
Utils::OpenHandle(*trig_table), NONE).Assert();
}

Expand Down
Loading