Build fails when disabling jvmti

Sanne Grinovero sanne at redhat.com
Mon Jul 8 13:57:16 UTC 2024


Hello all,

I'm experimenting building Leyden locally with non-default configurations,
with the intent of comparing its potential as an alternative to GraalVM
native-images, and one of my goals would be to produce a minimal JVM build
which exclusively includes the components that our applications are going
to need at runtime.

This implies being very selective with the JVM features I choose at
configuration time; I've already opened some minor issues identified during
such experiments.

Today I noticed today that if I exclude the "jvmti" feature, the premain
branch of Leyden doesn't compile:


=== Output from failing command(s) repeated here ===
* For target hotspot_variant-custom_libjvm_objs_SCCache.o:
/home/sanne/sources/leyden/src/hotspot/share/code/SCCache.cpp: In member
function ‘void SCAddressTable::init_opto()’:
/home/sanne/sources/leyden/src/hotspot/share/code/SCCache.cpp:3815:39:
error: ‘notify_jvmti_vthread_start’ is not a member of ‘OptoRuntime’
 3815 |   SET_ADDRESS(_C2_blobs, OptoRuntime::notify_jvmti_vthread_start());
      |                                       ^~~~~~~~~~~~~~~~~~~~~~~~~~
/home/sanne/sources/leyden/src/hotspot/share/code/SCCache.cpp:3511:47:
note: in definition of macro ‘SET_ADDRESS’
 3511 |     type##_addr[type##_length++] = (address) (addr);      \
      |                                               ^~~~
/home/sanne/sources/leyden/src/hotspot/share/code/SCCache.cpp:3816:39:
error: ‘notify_jvmti_vthread_end’ is not a member of ‘OptoRuntime’
 3816 |   SET_ADDRESS(_C2_blobs, OptoRuntime::notify_jvmti_vthread_end());
      |                                       ^~~~~~~~~~~~~~~~~~~~~~~~
/home/sanne/sources/leyden/src/hotspot/share/code/SCCache.cpp:3511:47:
note: in definition of macro ‘SET_ADDRESS’
 3511 |     type##_addr[type##_length++] = (address) (addr);      \
      |                                               ^~~~
/home/sanne/sources/leyden/src/hotspot/share/code/SCCache.cpp:3817:39:
error: ‘notify_jvmti_vthread_mount’ is not a member of ‘OptoRuntime’
 3817 |   SET_ADDRESS(_C2_blobs, OptoRuntime::notify_jvmti_vthread_mount());
      |                                       ^~~~~~~~~~~~~~~~~~~~~~~~~~
/home/sanne/sources/leyden/src/hotspot/share/code/SCCache.cpp:3511:47:
note: in definition of macro ‘SET_ADDRESS’
 3511 |     type##_addr[type##_length++] = (address) (addr);      \
      |                                               ^~~~
/home/sanne/sources/leyden/src/hotspot/share/code/SCCache.cpp:3818:39:
error: ‘notify_jvmti_vthread_unmount’ is not a member of ‘OptoRuntime’
 3818 |   SET_ADDRESS(_C2_blobs,
OptoRuntime::notify_jvmti_vthread_unmount());
      |                                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
/home/sanne/sources/leyden/src/hotspot/share/code/SCCache.cpp:3511:47:
note: in definition of macro ‘SET_ADDRESS’
 3511 |     type##_addr[type##_length++] = (address) (addr);      \
      |                                               ^~~~
   ... (rest of output omitted)

I'm wondering if I should open an issue for this case? I appreciate it's
early days and that such aspects might not be a priority currently!

Thanks,
Sanne
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://mail.openjdk.org/pipermail/leyden-dev/attachments/20240708/bb4abd7d/attachment.htm>


More information about the leyden-dev mailing list