VM startup fails with a very small code cache size because a method_holder is not linked:
java -Xint -XX:ReservedCodeCacheSize=1770K -XX:InitialCodeCacheSize=4K -version
#
# A fatal error has been detected by the Java Runtime Environment:
#
# Internal Error (/oracle/8064892/hotspot/src/share/vm/interpreter/linkResolver.cpp:1293), pid=9888, tid=9889
# assert(resolved_method->method_holder()->is_linked()) failed: must be linked
#
Stack: [0x00007ff542804000,0x00007ff542905000], sp=0x00007ff5429021f0, free space=1016k
Native frames: (J=compiled Java code, j=interpreted, Vv=VM code, C=native code)
V [libjvm.so+0x15b2e9f] VMError::report_and_die(int, char const*, char const*, __va_list_tag*, Thread*, unsigned char*, void*, void*, char const*, int, unsigned long)+0x18f
V [libjvm.so+0x15b3c8a] VMError::report_and_die(Thread*, char const*, int, char const*, char const*, __va_list_tag*)+0x4a
V [libjvm.so+0xa3898a] report_vm_error(char const*, int, char const*, char const*, ...)+0xea
V [libjvm.so+0x104252d] LinkResolver::runtime_resolve_virtual_method(CallInfo&, methodHandle const&, KlassHandle, Handle, KlassHandle, bool, Thread*)+0x17d
V [libjvm.so+0x1048ccb] LinkResolver::resolve_invokevirtual(CallInfo&, Handle, constantPoolHandle const&, int, Thread*)+0x18b
V [libjvm.so+0x1048d8b] LinkResolver::resolve_invoke(CallInfo&, Handle, constantPoolHandle const&, int, Bytecodes::Code, Thread*)+0x9b
V [libjvm.so+0xd50349] InterpreterRuntime::resolve_invoke(JavaThread*, Bytecodes::Code)+0x259
V [libjvm.so+0xd5d74b] InterpreterRuntime::resolve_from_cache(JavaThread*, Bytecodes::Code)+0x19b
j java.lang.Throwable.<clinit>()V+2 java.base
[error occurred during error reporting (printing native stack), id 0xe0000000]
java -Xint -XX:ReservedCodeCacheSize=1770K -XX:InitialCodeCacheSize=4K -version
#
# A fatal error has been detected by the Java Runtime Environment:
#
# Internal Error (/oracle/8064892/hotspot/src/share/vm/interpreter/linkResolver.cpp:1293), pid=9888, tid=9889
# assert(resolved_method->method_holder()->is_linked()) failed: must be linked
#
Stack: [0x00007ff542804000,0x00007ff542905000], sp=0x00007ff5429021f0, free space=1016k
Native frames: (J=compiled Java code, j=interpreted, Vv=VM code, C=native code)
V [libjvm.so+0x15b2e9f] VMError::report_and_die(int, char const*, char const*, __va_list_tag*, Thread*, unsigned char*, void*, void*, char const*, int, unsigned long)+0x18f
V [libjvm.so+0x15b3c8a] VMError::report_and_die(Thread*, char const*, int, char const*, char const*, __va_list_tag*)+0x4a
V [libjvm.so+0xa3898a] report_vm_error(char const*, int, char const*, char const*, ...)+0xea
V [libjvm.so+0x104252d] LinkResolver::runtime_resolve_virtual_method(CallInfo&, methodHandle const&, KlassHandle, Handle, KlassHandle, bool, Thread*)+0x17d
V [libjvm.so+0x1048ccb] LinkResolver::resolve_invokevirtual(CallInfo&, Handle, constantPoolHandle const&, int, Thread*)+0x18b
V [libjvm.so+0x1048d8b] LinkResolver::resolve_invoke(CallInfo&, Handle, constantPoolHandle const&, int, Bytecodes::Code, Thread*)+0x9b
V [libjvm.so+0xd50349] InterpreterRuntime::resolve_invoke(JavaThread*, Bytecodes::Code)+0x259
V [libjvm.so+0xd5d74b] InterpreterRuntime::resolve_from_cache(JavaThread*, Bytecodes::Code)+0x19b
j java.lang.Throwable.<clinit>()V+2 java.base
[error occurred during error reporting (printing native stack), id 0xe0000000]