hotspot/src/share/vm/runtime/stubRoutines.cpp
changeset 30110 20d4dc1409a6
parent 29573 2d800e5d575f
child 31129 02ee7609f0e1
--- a/hotspot/src/share/vm/runtime/stubRoutines.cpp	Fri Mar 20 15:19:30 2015 -0700
+++ b/hotspot/src/share/vm/runtime/stubRoutines.cpp	Mon Mar 23 13:53:44 2015 +0100
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 1997, 2014, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1997, 2015, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -213,31 +213,35 @@
 
 // simple test for SafeFetch32
 static void test_safefetch32() {
-  int dummy = 17;
-  int* const p_invalid = (int*) get_segfault_address();
-  int* const p_valid = &dummy;
-  int result_invalid = SafeFetch32(p_invalid, 0xABC);
-  assert(result_invalid == 0xABC, "SafeFetch32 error");
-  int result_valid = SafeFetch32(p_valid, 0xABC);
-  assert(result_valid == 17, "SafeFetch32 error");
+  if (CanUseSafeFetch32()) {
+    int dummy = 17;
+    int* const p_invalid = (int*) get_segfault_address();
+    int* const p_valid = &dummy;
+    int result_invalid = SafeFetch32(p_invalid, 0xABC);
+    assert(result_invalid == 0xABC, "SafeFetch32 error");
+    int result_valid = SafeFetch32(p_valid, 0xABC);
+    assert(result_valid == 17, "SafeFetch32 error");
+  }
 }
 
 // simple test for SafeFetchN
 static void test_safefetchN() {
+  if (CanUseSafeFetchN()) {
 #ifdef _LP64
-  const intptr_t v1 = UCONST64(0xABCD00000000ABCD);
-  const intptr_t v2 = UCONST64(0xDEFD00000000DEFD);
+    const intptr_t v1 = UCONST64(0xABCD00000000ABCD);
+    const intptr_t v2 = UCONST64(0xDEFD00000000DEFD);
 #else
-  const intptr_t v1 = 0xABCDABCD;
-  const intptr_t v2 = 0xDEFDDEFD;
+    const intptr_t v1 = 0xABCDABCD;
+    const intptr_t v2 = 0xDEFDDEFD;
 #endif
-  intptr_t dummy = v1;
-  intptr_t* const p_invalid = (intptr_t*) get_segfault_address();
-  intptr_t* const p_valid = &dummy;
-  intptr_t result_invalid = SafeFetchN(p_invalid, v2);
-  assert(result_invalid == v2, "SafeFetchN error");
-  intptr_t result_valid = SafeFetchN(p_valid, v2);
-  assert(result_valid == v1, "SafeFetchN error");
+    intptr_t dummy = v1;
+    intptr_t* const p_invalid = (intptr_t*) get_segfault_address();
+    intptr_t* const p_valid = &dummy;
+    intptr_t result_invalid = SafeFetchN(p_invalid, v2);
+    assert(result_invalid == v2, "SafeFetchN error");
+    intptr_t result_valid = SafeFetchN(p_valid, v2);
+    assert(result_valid == v1, "SafeFetchN error");
+  }
 }
 #endif