mirror of
https://github.com/denoland/rusty_v8.git
synced 2024-12-26 00:59:28 -05:00
chore: disable V8 pointer compression (#1214)
This commit is contained in:
parent
64c26f853b
commit
07f2e9f3b6
2 changed files with 6 additions and 8 deletions
6
.gn
6
.gn
|
@ -50,4 +50,10 @@ default_args = {
|
||||||
# This is problematic for Deno, which has separate "runtime" and "typescript
|
# This is problematic for Deno, which has separate "runtime" and "typescript
|
||||||
# compiler" snapshots, and sometimes uses them both at the same time.
|
# compiler" snapshots, and sometimes uses them both at the same time.
|
||||||
v8_enable_shared_ro_heap = false
|
v8_enable_shared_ro_heap = false
|
||||||
|
|
||||||
|
# V8 introduced a bug in 11.1 that causes the External Pointer Table to never
|
||||||
|
# be cleaned which causes resource exhaustion. Disabling pointer compression
|
||||||
|
# makes sure that the EPT is not used.
|
||||||
|
# https://bugs.chromium.org/p/v8/issues/detail?id=13640&q=garbage%20collection&can=2
|
||||||
|
v8_enable_pointer_compression = false
|
||||||
}
|
}
|
||||||
|
|
|
@ -2913,14 +2913,6 @@ void v8__HeapProfiler__TakeHeapSnapshot(v8::Isolate* isolate,
|
||||||
const_cast<v8::HeapSnapshot*>(snapshot)->Delete();
|
const_cast<v8::HeapSnapshot*>(snapshot)->Delete();
|
||||||
}
|
}
|
||||||
|
|
||||||
// This is necessary for v8__internal__GetIsolateFromHeapObject() to be
|
|
||||||
// reliable enough for our purposes.
|
|
||||||
#if UINTPTR_MAX == 0xffffffffffffffff && \
|
|
||||||
!(defined V8_SHARED_RO_HEAP or defined V8_COMPRESS_POINTERS)
|
|
||||||
#error V8 must be built with either the 'v8_enable_pointer_compression' or \
|
|
||||||
'v8_enable_shared_ro_heap' feature enabled.
|
|
||||||
#endif
|
|
||||||
|
|
||||||
v8::Isolate* v8__internal__GetIsolateFromHeapObject(const v8::Data& data) {
|
v8::Isolate* v8__internal__GetIsolateFromHeapObject(const v8::Data& data) {
|
||||||
namespace i = v8::internal;
|
namespace i = v8::internal;
|
||||||
i::Object object(reinterpret_cast<const i::Address&>(data));
|
i::Object object(reinterpret_cast<const i::Address&>(data));
|
||||||
|
|
Loading…
Reference in a new issue