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.

Reply via email to