hotspot/src/share/vm/runtime/stubRoutines.cpp
changeset 31620 53be635ad49c
parent 31129 02ee7609f0e1
child 31627 a7141b9a8e0f
equal deleted inserted replaced
31618:8b074d70d72c 31620:53be635ad49c
    22  *
    22  *
    23  */
    23  */
    24 
    24 
    25 #include "precompiled.hpp"
    25 #include "precompiled.hpp"
    26 #include "asm/codeBuffer.hpp"
    26 #include "asm/codeBuffer.hpp"
       
    27 #include "code/codeCacheExtensions.hpp"
    27 #include "memory/resourceArea.hpp"
    28 #include "memory/resourceArea.hpp"
    28 #include "oops/oop.inline.hpp"
    29 #include "oops/oop.inline.hpp"
    29 #include "runtime/interfaceSupport.hpp"
    30 #include "runtime/interfaceSupport.hpp"
    30 #include "runtime/sharedRuntime.hpp"
    31 #include "runtime/sharedRuntime.hpp"
    31 #include "runtime/stubRoutines.hpp"
    32 #include "runtime/stubRoutines.hpp"
   180 #ifdef ASSERT
   181 #ifdef ASSERT
   181 typedef void (*arraycopy_fn)(address src, address dst, int count);
   182 typedef void (*arraycopy_fn)(address src, address dst, int count);
   182 
   183 
   183 // simple tests of generated arraycopy functions
   184 // simple tests of generated arraycopy functions
   184 static void test_arraycopy_func(address func, int alignment) {
   185 static void test_arraycopy_func(address func, int alignment) {
       
   186   if (CodeCacheExtensions::use_pregenerated_interpreter() || !CodeCacheExtensions::is_executable(func)) {
       
   187     // Exit safely if stubs were generated but cannot be used.
       
   188     // Also excluding pregenerated interpreter since the code may depend on
       
   189     // some registers being properly initialized (for instance Rthread)
       
   190     return;
       
   191   }
   185   int v = 0xcc;
   192   int v = 0xcc;
   186   int v2 = 0x11;
   193   int v2 = 0x11;
   187   jlong lbuffer[8];
   194   jlong lbuffer[8];
   188   jlong lbuffer2[8];
   195   jlong lbuffer2[8];
   189   address fbuffer  = (address) lbuffer;
   196   address fbuffer  = (address) lbuffer;