The solution:
Change "ptr-compr.h " and add constexpr to
V8HeapCompressionSchemeImpl<Cage>::CompressObject function (line 36):
V8_INLINE static constexpr Tagged_t CompressObject(Address tagged);
And change "ptr-compr-inl.h" and also add constexpr (line 86):
// static
template <typename Cage>
constexpr Tagged_t
V8HeapCompressionSchemeImpl<Cage>::CompressObject(Address tagged)
and line 289 (same file):
// static
template <typename Cage>
constexpr Tagged_t
V8HeapCompressionSchemeImpl<Cage>::CompressObject(Address tagged) {
UNREACHABLE();
}
Then everything start to working again.
Juan dos Santos
El martes, 26 de agosto de 2025 a las 22:54:49 UTC-3, Juan dos Santos
escribió:
> Hi everyone!
>
> With the args.gn option v8_enable_pointer_compression=true
>
> I found this incongruity in "instance-type-inl.h" function
> "CheckInstanceMapRange" , the problem is constexpr function call a
> non-constexpr function:
>
> FAILED: obj/mksnapshot/embedded-file-writer.o
> g++ -MD -MF obj/mksnapshot/embedded-file-writer.o.d
> -D__STDC_CONSTANT_MACROS -D__STDC_FORMAT_MACROS -D_FORTIFY_SOURCE=2
> -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE
> -D_LIBCPP_HARDENING_MODE=_LIBCPP_HARDENING_MODE_NONE
> -D_GLIBCXX_ASSERTIONS=1 -DUSE_UDEV -DUSE_AURA=1 -DUSE_GLIB=1 -DUSE_OZONE=1
> -DNDEBUG -DNVALGRIND -DDYNAMIC_ANNOTATIONS_ENABLED=0
> -DV8_TYPED_ARRAY_MAX_SIZE_IN_HEAP=64 -DV8_ATOMIC_OBJECT_FIELD_WRITES
> -DV8_ENABLE_LAZY_SOURCE_POSITIONS -DV8_WIN64_UNWINDING_INFO
> -DV8_ENABLE_REGEXP_INTERPRETER_THREADED_DISPATCH -DV8_SHORT_BUILTIN_CALLS
> -DV8_EXTERNAL_CODE_SPACE -DV8_ENABLE_SPARKPLUG -DV8_ENABLE_MAGLEV
> -DV8_ENABLE_TURBOFAN -DV8_ENABLE_WEBASSEMBLY
> -DV8_ENABLE_CONTINUATION_PRESERVED_EMBEDDER_DATA -DV8_ALLOCATION_FOLDING
> -DV8_ALLOCATION_SITE_TRACKING -DV8_ADVANCED_BIGINT_ALGORITHMS
> -DV8_STATIC_ROOTS -DV8_USE_ZLIB -DV8_ENABLE_WASM_SIMD256_REVEC
> -DV8_ENABLE_MAGLEV_GRAPH_PRINTER -DV8_ENABLE_BUILTIN_JUMP_TABLE_SWITCH
> -DV8_ENABLE_EXTENSIBLE_RO_SNAPSHOT -DV8_ENABLE_BLACK_ALLOCATED_PAGES
> -DV8_ENABLE_LEAPTIERING -DV8_WASM_RANDOM_FUZZERS
> -DV8_ARRAY_BUFFER_INTERNAL_FIELD_COUNT=0
> -DV8_ARRAY_BUFFER_VIEW_INTERNAL_FIELD_COUNT=0
> -DV8_PROMISE_INTERNAL_FIELD_COUNT=0 -DV8_USE_DEFAULT_HASHER_SECRET=true
> -DV8_COMPRESS_POINTERS -DV8_COMPRESS_POINTERS_IN_SHARED_CAGE
> -DV8_31BIT_SMIS_ON_64BIT_ARCH -DV8_HAVE_TARGET_OS -DV8_TARGET_OS_LINUX
> -DCPPGC_CAGED_HEAP -DCPPGC_YOUNG_GENERATION -DCPPGC_POINTER_COMPRESSION
> -DCPPGC_ENABLE_LARGER_CAGE -DCPPGC_SLIM_WRITE_BARRIER -DV8_TARGET_ARCH_X64
> -DV8_RUNTIME_CALL_STATS -DABSL_ALLOCATOR_NOTHROW=1 -I../.. -Igen
> -I../../include -Igen/include -I../../third_party/abseil-cpp
> -I../../third_party/fp16/src/include -Wall -Wno-unused-local-typedefs
> -Wno-maybe-uninitialized -Wno-deprecated-declarations -Wno-comments
> -Wno-packed-not-aligned -Wno-missing-field-initializers
> -Wno-unused-parameter -Wno-psabi -fno-strict-overflow -fno-ident
> -fno-math-errno -fno-strict-aliasing -fstack-protector -funwind-tables
> -fPIC -pipe -pthread -m64 -msse3 -Wno-builtin-macro-redefined -D__DATE__=
> -D__TIME__= -D__TIMESTAMP__= -fno-omit-frame-pointer -g0
> -Wno-invalid-offsetof -Wno-strict-overflow -Wno-return-type
> -Wno-int-in-bool-context -Wno-deprecated -Wno-stringop-overflow
> -Wno-stringop-overread -Wno-restrict -Wno-array-bounds -Wno-nonnull
> -Wno-dangling-pointer -O3 -fdata-sections -ffunction-sections
> -fvisibility=default -Wno-narrowing -Wno-class-memaccess
> -Wno-invalid-offsetof -std=gnu++2a -fno-exceptions -fno-rtti -c
> ../../src/snapshot/embedded/embedded-file-writer.cc -o
> obj/mksnapshot/embedded-file-writer.o
> In file included from ../../src/objects/heap-object-inl.h:12,
> from ../../src/objects/primitive-heap-object-inl.h:12,
> from ../../src/objects/heap-number-inl.h:12,
> from ../../src/numbers/conversions-inl.h:23,
> from ../../src/objects/objects-inl.h:31,
> from ../../src/heap/paged-spaces-inl.h:15,
> from ../../src/heap/new-spaces-inl.h:15,
> from ../../src/heap/heap-inl.h:31,
> from ../../src/execution/isolate-utils-inl.h:13,
> from ../../src/objects/dictionary-inl.h:13,
> from ../../src/objects/contexts-inl.h:14,
> from ../../src/execution/isolate-inl.h:11,
> from ../../src/heap/memory-chunk-inl.h:11,
> from ../../src/heap/heap-layout-inl.h:12,
> from ../../src/objects/code-inl.h:14,
> from
> ../../src/snapshot/embedded/embedded-file-writer.cc:12:
> ../../src/objects/instance-type-inl.h: In function ‘constexpr bool
> v8::internal::InstanceTypeChecker::CheckInstanceMapRange(TaggedAddressRange,
> v8::internal::Tagged<v8::internal::Map>)’:
> ../../src/objects/instance-type-inl.h:194:57: error: call to
> non-‘constexpr’ function ‘static v8::internal::Tagged_t
> v8::internal::V8HeapCompressionSchemeImpl<Cage>::CompressObject(v8::internal::Address)
>
> [with Cage = v8::internal::MainCage; v8::internal::Tagged_t = unsigned int;
> v8::internal::Address = long unsigned int]’
> 194 | Tagged_t ptr =
> V8HeapCompressionScheme::CompressObject(map.ptr());
> | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~
> In file included from ../../src/execution/isolate-utils-inl.h:11:
> ../../src/common/ptr-compr-inl.h:86:10: note: ‘static
> v8::internal::Tagged_t
> v8::internal::V8HeapCompressionSchemeImpl<Cage>::CompressObject(v8::internal::Address)
>
> [with Cage = v8::internal::MainCage; v8::internal::Tagged_t = unsigned int;
> v8::internal::Address = long unsigned int]’ declared here
> 86 | Tagged_t V8HeapCompressionSchemeImpl<Cage>::CompressObject(Address
> tagged) {
> | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
>
--
--
v8-dev mailing list
[email protected]
http://groups.google.com/group/v8-dev
---
You received this message because you are subscribed to the Google Groups
"v8-dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email
to [email protected].
To view this discussion visit
https://groups.google.com/d/msgid/v8-dev/2c420033-2c82-42fa-8cc7-d1690c6f0583n%40googlegroups.com.