deps: update V8 to 5.4.500.43
PR-URL: https://github.com/nodejs/node/pull/9697 Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl> Reviewed-By: Colin Ihrig <cjihrig@gmail.com> Reviewed-By: Matteo Collina <matteo.collina@gmail.com> Reviewed-By: Anna Henningsen <anna@addaleax.net>
This commit is contained in:
parent
3cbb553df8
commit
52fd49b7ff
2
deps/v8/include/v8-version.h
vendored
2
deps/v8/include/v8-version.h
vendored
@ -11,7 +11,7 @@
|
|||||||
#define V8_MAJOR_VERSION 5
|
#define V8_MAJOR_VERSION 5
|
||||||
#define V8_MINOR_VERSION 4
|
#define V8_MINOR_VERSION 4
|
||||||
#define V8_BUILD_NUMBER 500
|
#define V8_BUILD_NUMBER 500
|
||||||
#define V8_PATCH_LEVEL 41
|
#define V8_PATCH_LEVEL 43
|
||||||
|
|
||||||
// Use 1 for candidates and 0 otherwise.
|
// Use 1 for candidates and 0 otherwise.
|
||||||
// (Boolean macro values are not supported by all preprocessors.)
|
// (Boolean macro values are not supported by all preprocessors.)
|
||||||
|
5
deps/v8/src/debug/debug.cc
vendored
5
deps/v8/src/debug/debug.cc
vendored
@ -1701,6 +1701,11 @@ MaybeHandle<Object> Debug::PromiseHasUserDefinedRejectHandler(
|
|||||||
|
|
||||||
|
|
||||||
void Debug::OnException(Handle<Object> exception, Handle<Object> promise) {
|
void Debug::OnException(Handle<Object> exception, Handle<Object> promise) {
|
||||||
|
// We cannot generate debug events when JS execution is disallowed.
|
||||||
|
// TODO(5530): Reenable debug events within DisallowJSScopes once relevant
|
||||||
|
// code (MakeExceptionEvent and ProcessDebugEvent) have been moved to C++.
|
||||||
|
if (!AllowJavascriptExecution::IsAllowed(isolate_)) return;
|
||||||
|
|
||||||
Isolate::CatchType catch_type = isolate_->PredictExceptionCatcher();
|
Isolate::CatchType catch_type = isolate_->PredictExceptionCatcher();
|
||||||
|
|
||||||
// Don't notify listener of exceptions that are internal to a desugaring.
|
// Don't notify listener of exceptions that are internal to a desugaring.
|
||||||
|
8
deps/v8/src/lookup.cc
vendored
8
deps/v8/src/lookup.cc
vendored
@ -308,6 +308,11 @@ void LookupIterator::PrepareTransitionToDataProperty(
|
|||||||
PropertyAttributes attributes, Object::StoreFromKeyed store_mode) {
|
PropertyAttributes attributes, Object::StoreFromKeyed store_mode) {
|
||||||
DCHECK(receiver.is_identical_to(GetStoreTarget()));
|
DCHECK(receiver.is_identical_to(GetStoreTarget()));
|
||||||
if (state_ == TRANSITION) return;
|
if (state_ == TRANSITION) return;
|
||||||
|
|
||||||
|
if (!IsElement() && name()->IsPrivate()) {
|
||||||
|
attributes = static_cast<PropertyAttributes>(attributes | DONT_ENUM);
|
||||||
|
}
|
||||||
|
|
||||||
DCHECK(state_ != LookupIterator::ACCESSOR ||
|
DCHECK(state_ != LookupIterator::ACCESSOR ||
|
||||||
(GetAccessors()->IsAccessorInfo() &&
|
(GetAccessors()->IsAccessorInfo() &&
|
||||||
AccessorInfo::cast(*GetAccessors())->is_special_data_property()));
|
AccessorInfo::cast(*GetAccessors())->is_special_data_property()));
|
||||||
@ -447,6 +452,9 @@ void LookupIterator::TransitionToAccessorProperty(
|
|||||||
// handled via a trap. Adding properties to primitive values is not
|
// handled via a trap. Adding properties to primitive values is not
|
||||||
// observable.
|
// observable.
|
||||||
Handle<JSObject> receiver = GetStoreTarget();
|
Handle<JSObject> receiver = GetStoreTarget();
|
||||||
|
if (!IsElement() && name()->IsPrivate()) {
|
||||||
|
attributes = static_cast<PropertyAttributes>(attributes | DONT_ENUM);
|
||||||
|
}
|
||||||
|
|
||||||
if (!IsElement() && !receiver->map()->is_dictionary_map()) {
|
if (!IsElement() && !receiver->map()->is_dictionary_map()) {
|
||||||
Handle<Map> old_map(receiver->map(), isolate_);
|
Handle<Map> old_map(receiver->map(), isolate_);
|
||||||
|
3
deps/v8/src/property.h
vendored
3
deps/v8/src/property.h
vendored
@ -36,6 +36,7 @@ class Descriptor BASE_EMBEDDED {
|
|||||||
|
|
||||||
void Init(Handle<Name> key, Handle<Object> value, PropertyDetails details) {
|
void Init(Handle<Name> key, Handle<Object> value, PropertyDetails details) {
|
||||||
DCHECK(key->IsUniqueName());
|
DCHECK(key->IsUniqueName());
|
||||||
|
DCHECK_IMPLIES(key->IsPrivate(), !details.IsEnumerable());
|
||||||
key_ = key;
|
key_ = key;
|
||||||
value_ = value;
|
value_ = value;
|
||||||
details_ = details;
|
details_ = details;
|
||||||
@ -44,6 +45,7 @@ class Descriptor BASE_EMBEDDED {
|
|||||||
Descriptor(Handle<Name> key, Handle<Object> value, PropertyDetails details)
|
Descriptor(Handle<Name> key, Handle<Object> value, PropertyDetails details)
|
||||||
: key_(key), value_(value), details_(details) {
|
: key_(key), value_(value), details_(details) {
|
||||||
DCHECK(key->IsUniqueName());
|
DCHECK(key->IsUniqueName());
|
||||||
|
DCHECK_IMPLIES(key->IsPrivate(), !details_.IsEnumerable());
|
||||||
}
|
}
|
||||||
|
|
||||||
Descriptor(Handle<Name> key, Handle<Object> value,
|
Descriptor(Handle<Name> key, Handle<Object> value,
|
||||||
@ -53,6 +55,7 @@ class Descriptor BASE_EMBEDDED {
|
|||||||
value_(value),
|
value_(value),
|
||||||
details_(attributes, type, representation, field_index) {
|
details_(attributes, type, representation, field_index) {
|
||||||
DCHECK(key->IsUniqueName());
|
DCHECK(key->IsUniqueName());
|
||||||
|
DCHECK_IMPLIES(key->IsPrivate(), !details_.IsEnumerable());
|
||||||
}
|
}
|
||||||
|
|
||||||
friend class DescriptorArray;
|
friend class DescriptorArray;
|
||||||
|
14
deps/v8/test/debugger/debug/regress/regress-662674.js
vendored
Normal file
14
deps/v8/test/debugger/debug/regress/regress-662674.js
vendored
Normal file
@ -0,0 +1,14 @@
|
|||||||
|
// Copyright 2016 the V8 project authors. All rights reserved.
|
||||||
|
// Use of this source code is governed by a BSD-style license that can be
|
||||||
|
// found in the LICENSE file.
|
||||||
|
|
||||||
|
// Flags: --stack-size=100
|
||||||
|
|
||||||
|
Debug = debug.Debug
|
||||||
|
|
||||||
|
function overflow() {
|
||||||
|
return overflow();
|
||||||
|
}
|
||||||
|
|
||||||
|
Debug.setBreakOnException();
|
||||||
|
assertThrows(overflow, RangeError);
|
4
deps/v8/test/mjsunit/harmony/private.js
vendored
4
deps/v8/test/mjsunit/harmony/private.js
vendored
@ -278,8 +278,8 @@ function TestKeyDescriptor(obj) {
|
|||||||
assertEquals(i|0, desc.value)
|
assertEquals(i|0, desc.value)
|
||||||
assertTrue(desc.configurable)
|
assertTrue(desc.configurable)
|
||||||
assertEquals(i % 2 == 0, desc.writable)
|
assertEquals(i % 2 == 0, desc.writable)
|
||||||
assertEquals(i % 2 == 0, desc.enumerable)
|
assertEquals(false, desc.enumerable)
|
||||||
assertEquals(i % 2 == 0,
|
assertEquals(false,
|
||||||
Object.prototype.propertyIsEnumerable.call(obj, symbols[i]))
|
Object.prototype.propertyIsEnumerable.call(obj, symbols[i]))
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
8
deps/v8/test/mjsunit/regress/regress-private-enumerable.js
vendored
Normal file
8
deps/v8/test/mjsunit/regress/regress-private-enumerable.js
vendored
Normal file
@ -0,0 +1,8 @@
|
|||||||
|
// Copyright 2016 the V8 project authors. All rights reserved.
|
||||||
|
// Use of this source code is governed by a BSD-style license that can be
|
||||||
|
// found in the LICENSE file.
|
||||||
|
|
||||||
|
class A {}
|
||||||
|
class B {}
|
||||||
|
Object.assign(B, A);
|
||||||
|
assertEquals("class B {}", B.toString());
|
Loading…
x
Reference in New Issue
Block a user