The stub routines have 4 groups of stubs, each containing a bunch of stubs. For each group, the number of bytes needed is specified for each CPU architecture, and for each CPU architecture the numbers are further weighted depending on whether some OS and GC combinations could be present.
If a too high value is specified, then code cache memory is wasted. If a too small value is specified, then the JVM cannot run.
The interpreter deals with the same situation by allocating a much larger amount of memory than it needs, and then frees the tail of the code heap memory. I propose doing the same thing for the stub routines.
If a too high value is specified, then code cache memory is wasted. If a too small value is specified, then the JVM cannot run.
The interpreter deals with the same situation by allocating a much larger amount of memory than it needs, and then frees the tail of the code heap memory. I propose doing the same thing for the stub routines.