mirror of
https://github.com/denoland/rusty_v8.git
synced 2024-12-25 08:39:15 -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
|
||||
# compiler" snapshots, and sometimes uses them both at the same time.
|
||||
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();
|
||||
}
|
||||
|
||||
// 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) {
|
||||
namespace i = v8::internal;
|
||||
i::Object object(reinterpret_cast<const i::Address&>(data));
|
||||
|
|
Loading…
Reference in a new issue