diff src/share/vm/runtime/sharedRuntime.cpp @ 20970:a560c9b81f0f

Add suport for oops in vector registers at safepoints
author Tom Rodriguez <tom.rodriguez@oracle.com>
date Tue, 14 Apr 2015 22:20:07 -0700
parents 7848fc12602b
children 2e35a4ea22ac
line wrap: on
line diff
--- a/src/share/vm/runtime/sharedRuntime.cpp	Tue Apr 14 17:26:29 2015 -0700
+++ b/src/share/vm/runtime/sharedRuntime.cpp	Tue Apr 14 22:20:07 2015 -0700
@@ -111,9 +111,14 @@
   _resolve_virtual_call_blob           = generate_resolve_blob(CAST_FROM_FN_PTR(address, SharedRuntime::resolve_virtual_call_C),       "resolve_virtual_call");
   _resolve_static_call_blob            = generate_resolve_blob(CAST_FROM_FN_PTR(address, SharedRuntime::resolve_static_call_C),        "resolve_static_call");
 
+#if defined(COMPILER2) || defined(GRAAL)
+  // Vectors are generated only by C2 and Graal.
 #ifdef COMPILER2
-  // Vectors are generated only by C2.
-  if (is_wide_vector(MaxVectorSize)) {
+  bool support_wide = is_wide_vector(MaxVectorSize) || IS_GRAAL_DEFINED;
+#else
+  bool support_wide = true;
+#endif
+  if (support_wide) {
     _polling_page_vectors_safepoint_handler_blob = generate_handler_blob(CAST_FROM_FN_PTR(address, SafepointSynchronize::handle_polling_page_exception), POLL_AT_VECTOR_LOOP);
   }
 #endif // COMPILER2