This commit is contained in:
Chris Plummer 2016-09-13 18:22:21 +00:00
commit 69c242a5cb
5 changed files with 17 additions and 16 deletions

@ -192,8 +192,10 @@ frame os::current_frame() {
intptr_t* csp = (intptr_t*) *((intptr_t*) os::current_stack_pointer());
// hack.
frame topframe(csp, (address)0x8);
// return sender of current topframe which hopefully has pc != NULL.
return os::get_sender_for_C_frame(&topframe);
// Return sender of sender of current topframe which hopefully
// both have pc != NULL.
frame tmp = os::get_sender_for_C_frame(&topframe);
return os::get_sender_for_C_frame(&tmp);
}
// Utility functions

@ -205,8 +205,10 @@ frame os::current_frame() {
intptr_t* csp = (intptr_t*) *((intptr_t*) os::current_stack_pointer());
// hack.
frame topframe(csp, (address)0x8);
// return sender of current topframe which hopefully has pc != NULL.
return os::get_sender_for_C_frame(&topframe);
// Return sender of sender of current topframe which hopefully
// both have pc != NULL.
frame tmp = os::get_sender_for_C_frame(&topframe);
return os::get_sender_for_C_frame(&tmp);
}
// Utility functions

@ -186,6 +186,6 @@ inline int wcslen(const jchar* x) { return wcslen((const wchar_t*)x); }
// Inlining support
#define NOINLINE
#define ALWAYSINLINE __attribute__((always_inline))
#define ALWAYSINLINE inline __attribute__((always_inline))
#endif // SHARE_VM_UTILITIES_GLOBALDEFINITIONS_XLC_HPP

@ -57,11 +57,6 @@ public class CheckForProperDetailStackTrace {
private static String expectedSymbol =
"locked_create_entry_or_null";
private static final String jdkDebug = System.getProperty("jdk.debug");
private static boolean isSlowDebugBuild() {
return (jdkDebug.toLowerCase().equals("slowdebug"));
}
public static void main(String args[]) throws Exception {
ProcessBuilder pb = ProcessTools.createJavaProcessBuilder(
"-XX:+UnlockDiagnosticVMOptions",
@ -76,11 +71,12 @@ public class CheckForProperDetailStackTrace {
output.shouldNotContain("NativeCallStack::NativeCallStack");
output.shouldNotContain("os::get_native_stack");
// AllocateHeap shouldn't be in the output because it is suppose to always be inlined.
// We check for that here, but allow it for Windows and Solaris slowdebug builds because
// the compiler ends up not inlining AllocateHeap.
// AllocateHeap shouldn't be in the output because it is supposed to always be inlined.
// We check for that here, but allow it for Aix, Solaris and Windows slowdebug builds
// because the compiler ends up not inlining AllocateHeap.
Boolean okToHaveAllocateHeap =
isSlowDebugBuild() && (Platform.isSolaris() || Platform.isWindows());
Platform.isSlowDebugBuild() &&
(Platform.isAix() || Platform.isSolaris() || Platform.isWindows());
if (!okToHaveAllocateHeap) {
output.shouldNotContain("AllocateHeap");
}

@ -50,8 +50,9 @@ public class TestMutuallyExclusivePlatformPredicates {
OS("isAix", "isLinux", "isOSX", "isSolaris", "isWindows"),
VM_TYPE("isClient", "isServer", "isGraal", "isMinimal", "isZero", "isEmbedded"),
MODE("isInt", "isMixed", "isComp"),
IGNORED("isDebugBuild", "shouldSAAttach",
"canPtraceAttachLinux", "canAttachOSX", "isTieredSupported");
IGNORED("isDebugBuild", "isFastDebugBuild", "isSlowDebugBuild",
"shouldSAAttach", "canPtraceAttachLinux", "canAttachOSX",
"isTieredSupported");
public final List<String> methodNames;