--- a/hotspot/src/share/vm/runtime/stubRoutines.cpp Tue Jun 30 15:26:20 2015 -0700
+++ b/hotspot/src/share/vm/runtime/stubRoutines.cpp Wed Jul 01 10:53:26 2015 +0200
@@ -24,6 +24,7 @@
#include "precompiled.hpp"
#include "asm/codeBuffer.hpp"
+#include "code/codeCacheExtensions.hpp"
#include "memory/resourceArea.hpp"
#include "oops/oop.inline.hpp"
#include "runtime/interfaceSupport.hpp"
@@ -182,6 +183,12 @@
// simple tests of generated arraycopy functions
static void test_arraycopy_func(address func, int alignment) {
+ if (CodeCacheExtensions::use_pregenerated_interpreter() || !CodeCacheExtensions::is_executable(func)) {
+ // Exit safely if stubs were generated but cannot be used.
+ // Also excluding pregenerated interpreter since the code may depend on
+ // some registers being properly initialized (for instance Rthread)
+ return;
+ }
int v = 0xcc;
int v2 = 0x11;
jlong lbuffer[8];