mirror of
https://github.com/openjdk/jdk.git
synced 2025-08-28 15:24:43 +02:00
Merge
This commit is contained in:
commit
2b1aa4e8ae
622 changed files with 16692 additions and 4877 deletions
1
.hgtags
1
.hgtags
|
@ -375,3 +375,4 @@ e8373543a3f0f60589b7d72b1f9b172721124caf jdk-9+129
|
||||||
e613affb88d178dc7c589f1679db113d589bddb4 jdk-9+130
|
e613affb88d178dc7c589f1679db113d589bddb4 jdk-9+130
|
||||||
4d2a15091124488080d65848b704e25599b2aaeb jdk-9+131
|
4d2a15091124488080d65848b704e25599b2aaeb jdk-9+131
|
||||||
2e83d21d78cd9c1d52e6cd2599e9c8aa36ea1f52 jdk-9+132
|
2e83d21d78cd9c1d52e6cd2599e9c8aa36ea1f52 jdk-9+132
|
||||||
|
e17429a7e843c4a4ed3651458d0f950970edcbcc jdk-9+133
|
||||||
|
|
|
@ -375,3 +375,4 @@ f5902d3841b82cac6e7716a20c24e8e916fb14a8 jdk-9+129
|
||||||
d94d54a3192fea79234c3ac55cd0b4052d45e954 jdk-9+130
|
d94d54a3192fea79234c3ac55cd0b4052d45e954 jdk-9+130
|
||||||
8728756c2f70a79a90188f4019cfd6b9a275765c jdk-9+131
|
8728756c2f70a79a90188f4019cfd6b9a275765c jdk-9+131
|
||||||
a24702d4d5ab0015a5c553ed57f66fce7d85155e jdk-9+132
|
a24702d4d5ab0015a5c553ed57f66fce7d85155e jdk-9+132
|
||||||
|
be1218f792a450dfb5d4b1f82616b9d95a6a732e jdk-9+133
|
||||||
|
|
|
@ -375,3 +375,4 @@ c3e83ccab3bb1733ae903d681879a33f85ed465c jdk-9+129
|
||||||
77f9692d5976ae155773dd3e07533616bb95bae1 jdk-9+130
|
77f9692d5976ae155773dd3e07533616bb95bae1 jdk-9+130
|
||||||
f7e1d5337c2e550fe553df7a3886bbed80292ecd jdk-9+131
|
f7e1d5337c2e550fe553df7a3886bbed80292ecd jdk-9+131
|
||||||
1ab4b9399c4cba584f66c1c088188f2f565fbf9c jdk-9+132
|
1ab4b9399c4cba584f66c1c088188f2f565fbf9c jdk-9+132
|
||||||
|
2021bfedf1c478a4808a7711a6090682a12f4c0e jdk-9+133
|
||||||
|
|
|
@ -535,3 +535,4 @@ e96b34b76d863ed1fa04e0eeb3f297ac17b490fd jdk-9+129
|
||||||
7d54c7056328b6a2bf4877458b8f4d8cd870f93b jdk-9+130
|
7d54c7056328b6a2bf4877458b8f4d8cd870f93b jdk-9+130
|
||||||
943bf73b49c33c2d7cbd796f6a4ae3c7a00ae932 jdk-9+131
|
943bf73b49c33c2d7cbd796f6a4ae3c7a00ae932 jdk-9+131
|
||||||
713951c08aa26813375175c2ab6cc99ff2a56903 jdk-9+132
|
713951c08aa26813375175c2ab6cc99ff2a56903 jdk-9+132
|
||||||
|
a25e0fb6033245ab075136e744d362ce765464cd jdk-9+133
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
/*
|
/*
|
||||||
* Copyright (c) 1997, 2011, Oracle and/or its affiliates. All rights reserved.
|
* Copyright (c) 1997, 2016, Oracle and/or its affiliates. All rights reserved.
|
||||||
* Copyright (c) 2014, Red Hat Inc. All rights reserved.
|
* Copyright (c) 2014, Red Hat Inc. All rights reserved.
|
||||||
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||||
*
|
*
|
||||||
|
@ -28,6 +28,7 @@
|
||||||
|
|
||||||
#include "runtime/globals_extension.hpp"
|
#include "runtime/globals_extension.hpp"
|
||||||
#include "runtime/vm_version.hpp"
|
#include "runtime/vm_version.hpp"
|
||||||
|
#include "utilities/sizes.hpp"
|
||||||
|
|
||||||
class VM_Version : public Abstract_VM_Version {
|
class VM_Version : public Abstract_VM_Version {
|
||||||
friend class JVMCIVMStructs;
|
friend class JVMCIVMStructs;
|
||||||
|
|
|
@ -37,7 +37,7 @@
|
||||||
#include "prims/jvmtiExport.hpp"
|
#include "prims/jvmtiExport.hpp"
|
||||||
#include "prims/jvmtiThreadState.hpp"
|
#include "prims/jvmtiThreadState.hpp"
|
||||||
#include "runtime/arguments.hpp"
|
#include "runtime/arguments.hpp"
|
||||||
#include "runtime/atomic.inline.hpp"
|
#include "runtime/atomic.hpp"
|
||||||
#include "runtime/deoptimization.hpp"
|
#include "runtime/deoptimization.hpp"
|
||||||
#include "runtime/frame.inline.hpp"
|
#include "runtime/frame.inline.hpp"
|
||||||
#include "runtime/interfaceSupport.hpp"
|
#include "runtime/interfaceSupport.hpp"
|
||||||
|
|
|
@ -24,6 +24,7 @@
|
||||||
|
|
||||||
package sun.jvm.hotspot.gc.g1;
|
package sun.jvm.hotspot.gc.g1;
|
||||||
|
|
||||||
|
import java.io.PrintStream;
|
||||||
import java.util.Iterator;
|
import java.util.Iterator;
|
||||||
import java.util.Observable;
|
import java.util.Observable;
|
||||||
import java.util.Observer;
|
import java.util.Observer;
|
||||||
|
@ -125,6 +126,15 @@ public class G1CollectedHeap extends CollectedHeap {
|
||||||
return CollectedHeapName.G1_COLLECTED_HEAP;
|
return CollectedHeapName.G1_COLLECTED_HEAP;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void printOn(PrintStream tty) {
|
||||||
|
MemRegion mr = reservedRegion();
|
||||||
|
|
||||||
|
tty.print("garbage-first heap");
|
||||||
|
tty.print(" [" + mr.start() + ", " + mr.end() + "]");
|
||||||
|
tty.println(" region size " + (HeapRegion.grainBytes() / 1024) + "K");
|
||||||
|
}
|
||||||
|
|
||||||
public G1CollectedHeap(Address addr) {
|
public G1CollectedHeap(Address addr) {
|
||||||
super(addr);
|
super(addr);
|
||||||
}
|
}
|
||||||
|
|
|
@ -52,7 +52,7 @@
|
||||||
#include "prims/jvm.h"
|
#include "prims/jvm.h"
|
||||||
#include "prims/jvm_misc.hpp"
|
#include "prims/jvm_misc.hpp"
|
||||||
#include "runtime/arguments.hpp"
|
#include "runtime/arguments.hpp"
|
||||||
#include "runtime/atomic.inline.hpp"
|
#include "runtime/atomic.hpp"
|
||||||
#include "runtime/extendedPC.hpp"
|
#include "runtime/extendedPC.hpp"
|
||||||
#include "runtime/globals.hpp"
|
#include "runtime/globals.hpp"
|
||||||
#include "runtime/interfaceSupport.hpp"
|
#include "runtime/interfaceSupport.hpp"
|
||||||
|
@ -3800,10 +3800,6 @@ int os::stat(const char *path, struct stat *sbuf) {
|
||||||
return ::stat(pathbuf, sbuf);
|
return ::stat(pathbuf, sbuf);
|
||||||
}
|
}
|
||||||
|
|
||||||
bool os::check_heap(bool force) {
|
|
||||||
return true;
|
|
||||||
}
|
|
||||||
|
|
||||||
// Is a (classpath) directory empty?
|
// Is a (classpath) directory empty?
|
||||||
bool os::dir_is_empty(const char* path) {
|
bool os::dir_is_empty(const char* path) {
|
||||||
DIR *dir = NULL;
|
DIR *dir = NULL;
|
||||||
|
|
|
@ -42,7 +42,7 @@
|
||||||
#include "prims/jvm.h"
|
#include "prims/jvm.h"
|
||||||
#include "prims/jvm_misc.hpp"
|
#include "prims/jvm_misc.hpp"
|
||||||
#include "runtime/arguments.hpp"
|
#include "runtime/arguments.hpp"
|
||||||
#include "runtime/atomic.inline.hpp"
|
#include "runtime/atomic.hpp"
|
||||||
#include "runtime/extendedPC.hpp"
|
#include "runtime/extendedPC.hpp"
|
||||||
#include "runtime/globals.hpp"
|
#include "runtime/globals.hpp"
|
||||||
#include "runtime/interfaceSupport.hpp"
|
#include "runtime/interfaceSupport.hpp"
|
||||||
|
@ -3780,11 +3780,6 @@ int os::compare_file_modified_times(const char* file1, const char* file2) {
|
||||||
return diff;
|
return diff;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
bool os::check_heap(bool force) {
|
|
||||||
return true;
|
|
||||||
}
|
|
||||||
|
|
||||||
// Is a (classpath) directory empty?
|
// Is a (classpath) directory empty?
|
||||||
bool os::dir_is_empty(const char* path) {
|
bool os::dir_is_empty(const char* path) {
|
||||||
DIR *dir = NULL;
|
DIR *dir = NULL;
|
||||||
|
|
|
@ -42,7 +42,7 @@
|
||||||
#include "prims/jvm.h"
|
#include "prims/jvm.h"
|
||||||
#include "prims/jvm_misc.hpp"
|
#include "prims/jvm_misc.hpp"
|
||||||
#include "runtime/arguments.hpp"
|
#include "runtime/arguments.hpp"
|
||||||
#include "runtime/atomic.inline.hpp"
|
#include "runtime/atomic.hpp"
|
||||||
#include "runtime/extendedPC.hpp"
|
#include "runtime/extendedPC.hpp"
|
||||||
#include "runtime/globals.hpp"
|
#include "runtime/globals.hpp"
|
||||||
#include "runtime/interfaceSupport.hpp"
|
#include "runtime/interfaceSupport.hpp"
|
||||||
|
@ -5174,10 +5174,6 @@ int os::stat(const char *path, struct stat *sbuf) {
|
||||||
return ::stat(pathbuf, sbuf);
|
return ::stat(pathbuf, sbuf);
|
||||||
}
|
}
|
||||||
|
|
||||||
bool os::check_heap(bool force) {
|
|
||||||
return true;
|
|
||||||
}
|
|
||||||
|
|
||||||
// Is a (classpath) directory empty?
|
// Is a (classpath) directory empty?
|
||||||
bool os::dir_is_empty(const char* path) {
|
bool os::dir_is_empty(const char* path) {
|
||||||
DIR *dir = NULL;
|
DIR *dir = NULL;
|
||||||
|
|
|
@ -42,7 +42,7 @@
|
||||||
#include "prims/jvm.h"
|
#include "prims/jvm.h"
|
||||||
#include "prims/jvm_misc.hpp"
|
#include "prims/jvm_misc.hpp"
|
||||||
#include "runtime/arguments.hpp"
|
#include "runtime/arguments.hpp"
|
||||||
#include "runtime/atomic.inline.hpp"
|
#include "runtime/atomic.hpp"
|
||||||
#include "runtime/extendedPC.hpp"
|
#include "runtime/extendedPC.hpp"
|
||||||
#include "runtime/globals.hpp"
|
#include "runtime/globals.hpp"
|
||||||
#include "runtime/interfaceSupport.hpp"
|
#include "runtime/interfaceSupport.hpp"
|
||||||
|
@ -4589,10 +4589,6 @@ void os::make_polling_page_readable(void) {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// OS interface.
|
|
||||||
|
|
||||||
bool os::check_heap(bool force) { return true; }
|
|
||||||
|
|
||||||
// Is a (classpath) directory empty?
|
// Is a (classpath) directory empty?
|
||||||
bool os::dir_is_empty(const char* path) {
|
bool os::dir_is_empty(const char* path) {
|
||||||
DIR *dir = NULL;
|
DIR *dir = NULL;
|
||||||
|
|
|
@ -45,7 +45,7 @@
|
||||||
#include "prims/jvm.h"
|
#include "prims/jvm.h"
|
||||||
#include "prims/jvm_misc.hpp"
|
#include "prims/jvm_misc.hpp"
|
||||||
#include "runtime/arguments.hpp"
|
#include "runtime/arguments.hpp"
|
||||||
#include "runtime/atomic.inline.hpp"
|
#include "runtime/atomic.hpp"
|
||||||
#include "runtime/extendedPC.hpp"
|
#include "runtime/extendedPC.hpp"
|
||||||
#include "runtime/globals.hpp"
|
#include "runtime/globals.hpp"
|
||||||
#include "runtime/interfaceSupport.hpp"
|
#include "runtime/interfaceSupport.hpp"
|
||||||
|
@ -5258,75 +5258,6 @@ int os::fork_and_exec(char* cmd) {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
//--------------------------------------------------------------------------------------------------
|
|
||||||
// Non-product code
|
|
||||||
|
|
||||||
static int mallocDebugIntervalCounter = 0;
|
|
||||||
static int mallocDebugCounter = 0;
|
|
||||||
|
|
||||||
// For debugging possible bugs inside HeapWalk (a ring buffer)
|
|
||||||
#define SAVE_COUNT 8
|
|
||||||
static PROCESS_HEAP_ENTRY saved_heap_entries[SAVE_COUNT];
|
|
||||||
static int saved_heap_entry_index;
|
|
||||||
|
|
||||||
bool os::check_heap(bool force) {
|
|
||||||
if (++mallocDebugCounter < MallocVerifyStart && !force) return true;
|
|
||||||
if (++mallocDebugIntervalCounter >= MallocVerifyInterval || force) {
|
|
||||||
// Note: HeapValidate executes two hardware breakpoints when it finds something
|
|
||||||
// wrong; at these points, eax contains the address of the offending block (I think).
|
|
||||||
// To get to the exlicit error message(s) below, just continue twice.
|
|
||||||
//
|
|
||||||
// Note: we want to check the CRT heap, which is not necessarily located in the
|
|
||||||
// process default heap.
|
|
||||||
HANDLE heap = (HANDLE) _get_heap_handle();
|
|
||||||
if (!heap) {
|
|
||||||
return true;
|
|
||||||
}
|
|
||||||
|
|
||||||
// If we fail to lock the heap, then gflags.exe has been used
|
|
||||||
// or some other special heap flag has been set that prevents
|
|
||||||
// locking. We don't try to walk a heap we can't lock.
|
|
||||||
if (HeapLock(heap) != 0) {
|
|
||||||
PROCESS_HEAP_ENTRY phe;
|
|
||||||
phe.lpData = NULL;
|
|
||||||
memset(saved_heap_entries, 0, sizeof(saved_heap_entries));
|
|
||||||
saved_heap_entry_index = 0;
|
|
||||||
int count = 0;
|
|
||||||
|
|
||||||
while (HeapWalk(heap, &phe) != 0) {
|
|
||||||
count ++;
|
|
||||||
if ((phe.wFlags & PROCESS_HEAP_ENTRY_BUSY) &&
|
|
||||||
!HeapValidate(heap, 0, phe.lpData)) {
|
|
||||||
tty->print_cr("C heap has been corrupted (time: %d allocations)", mallocDebugCounter);
|
|
||||||
tty->print_cr("corrupted block near address %#x, length %d, count %d", phe.lpData, phe.cbData, count);
|
|
||||||
HeapUnlock(heap);
|
|
||||||
fatal("corrupted C heap");
|
|
||||||
} else {
|
|
||||||
// Save previous seen entries in a ring buffer. We have seen strange
|
|
||||||
// heap corruption fatal errors that produced mdmp files, but when we load
|
|
||||||
// these mdmp files in WinDBG, "!heap -triage" shows no error.
|
|
||||||
// We can examine the saved_heap_entries[] array in the mdmp file to
|
|
||||||
// diagnose such seemingly spurious errors reported by HeapWalk.
|
|
||||||
saved_heap_entries[saved_heap_entry_index++] = phe;
|
|
||||||
if (saved_heap_entry_index >= SAVE_COUNT) {
|
|
||||||
saved_heap_entry_index = 0;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
DWORD err = GetLastError();
|
|
||||||
if (err != ERROR_NO_MORE_ITEMS && err != ERROR_CALL_NOT_IMPLEMENTED &&
|
|
||||||
(err == ERROR_INVALID_FUNCTION && phe.lpData != NULL)) {
|
|
||||||
HeapUnlock(heap);
|
|
||||||
fatal("heap walk aborted with error %d", err);
|
|
||||||
}
|
|
||||||
HeapUnlock(heap);
|
|
||||||
}
|
|
||||||
mallocDebugIntervalCounter = 0;
|
|
||||||
}
|
|
||||||
return true;
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
bool os::find(address addr, outputStream* st) {
|
bool os::find(address addr, outputStream* st) {
|
||||||
int offset = -1;
|
int offset = -1;
|
||||||
bool result = false;
|
bool result = false;
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
/*
|
/*
|
||||||
* Copyright (c) 2001, 2010, Oracle and/or its affiliates. All rights reserved.
|
* Copyright (c) 2001, 2016, Oracle and/or its affiliates. All rights reserved.
|
||||||
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||||
*
|
*
|
||||||
* This code is free software; you can redistribute it and/or modify it
|
* This code is free software; you can redistribute it and/or modify it
|
||||||
|
@ -23,7 +23,7 @@
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#include "precompiled.hpp"
|
#include "precompiled.hpp"
|
||||||
#include "runtime/atomic.inline.hpp"
|
#include "runtime/atomic.hpp"
|
||||||
#include "runtime/thread.inline.hpp"
|
#include "runtime/thread.inline.hpp"
|
||||||
#include "runtime/threadCritical.hpp"
|
#include "runtime/threadCritical.hpp"
|
||||||
|
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
/*
|
/*
|
||||||
* Copyright (c) 1997, 2014, Oracle and/or its affiliates. All rights reserved.
|
* Copyright (c) 1997, 2016, Oracle and/or its affiliates. All rights reserved.
|
||||||
* Copyright (c) 2012, 2014 SAP SE. All rights reserved.
|
* Copyright (c) 2012, 2014 SAP SE. All rights reserved.
|
||||||
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||||
*
|
*
|
||||||
|
@ -23,11 +23,8 @@
|
||||||
*
|
*
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#ifndef OS_CPU_AIX_OJDKPPC_VM_ATOMIC_AIX_PPC_INLINE_HPP
|
#ifndef OS_CPU_AIX_OJDKPPC_VM_ATOMIC_AIX_PPC_HPP
|
||||||
#define OS_CPU_AIX_OJDKPPC_VM_ATOMIC_AIX_PPC_INLINE_HPP
|
#define OS_CPU_AIX_OJDKPPC_VM_ATOMIC_AIX_PPC_HPP
|
||||||
|
|
||||||
#include "runtime/atomic.hpp"
|
|
||||||
#include "runtime/os.hpp"
|
|
||||||
|
|
||||||
#ifndef _LP64
|
#ifndef _LP64
|
||||||
#error "Atomic currently only impleneted for PPC64"
|
#error "Atomic currently only impleneted for PPC64"
|
||||||
|
@ -479,4 +476,4 @@ inline void* Atomic::cmpxchg_ptr(void* exchange_value, volatile void* dest, void
|
||||||
#undef strasm_nobarrier
|
#undef strasm_nobarrier
|
||||||
#undef strasm_nobarrier_clobber_memory
|
#undef strasm_nobarrier_clobber_memory
|
||||||
|
|
||||||
#endif // OS_CPU_AIX_OJDKPPC_VM_ATOMIC_AIX_PPC_INLINE_HPP
|
#endif // OS_CPU_AIX_OJDKPPC_VM_ATOMIC_AIX_PPC_HPP
|
|
@ -1,5 +1,5 @@
|
||||||
/*
|
/*
|
||||||
* Copyright (c) 1999, 2014, Oracle and/or its affiliates. All rights reserved.
|
* Copyright (c) 1999, 2016, Oracle and/or its affiliates. All rights reserved.
|
||||||
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||||
*
|
*
|
||||||
* This code is free software; you can redistribute it and/or modify it
|
* This code is free software; you can redistribute it and/or modify it
|
||||||
|
@ -22,10 +22,9 @@
|
||||||
*
|
*
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#ifndef OS_CPU_BSD_X86_VM_ATOMIC_BSD_X86_INLINE_HPP
|
#ifndef OS_CPU_BSD_X86_VM_ATOMIC_BSD_X86_HPP
|
||||||
#define OS_CPU_BSD_X86_VM_ATOMIC_BSD_X86_INLINE_HPP
|
#define OS_CPU_BSD_X86_VM_ATOMIC_BSD_X86_HPP
|
||||||
|
|
||||||
#include "runtime/atomic.hpp"
|
|
||||||
#include "runtime/os.hpp"
|
#include "runtime/os.hpp"
|
||||||
|
|
||||||
// Implementation of class atomic
|
// Implementation of class atomic
|
||||||
|
@ -225,4 +224,4 @@ inline void Atomic::store(jlong store_value, volatile jlong* dest) {
|
||||||
|
|
||||||
#endif // AMD64
|
#endif // AMD64
|
||||||
|
|
||||||
#endif // OS_CPU_BSD_X86_VM_ATOMIC_BSD_X86_INLINE_HPP
|
#endif // OS_CPU_BSD_X86_VM_ATOMIC_BSD_X86_HPP
|
|
@ -1,5 +1,5 @@
|
||||||
/*
|
/*
|
||||||
* Copyright (c) 2003, 2015, Oracle and/or its affiliates. All rights reserved.
|
* Copyright (c) 2003, 2016, Oracle and/or its affiliates. All rights reserved.
|
||||||
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||||
*
|
*
|
||||||
* This code is free software; you can redistribute it and/or modify it
|
* This code is free software; you can redistribute it and/or modify it
|
||||||
|
@ -25,7 +25,7 @@
|
||||||
#ifndef OS_CPU_BSD_X86_VM_ORDERACCESS_BSD_X86_INLINE_HPP
|
#ifndef OS_CPU_BSD_X86_VM_ORDERACCESS_BSD_X86_INLINE_HPP
|
||||||
#define OS_CPU_BSD_X86_VM_ORDERACCESS_BSD_X86_INLINE_HPP
|
#define OS_CPU_BSD_X86_VM_ORDERACCESS_BSD_X86_INLINE_HPP
|
||||||
|
|
||||||
#include "runtime/atomic.inline.hpp"
|
#include "runtime/atomic.hpp"
|
||||||
#include "runtime/orderAccess.hpp"
|
#include "runtime/orderAccess.hpp"
|
||||||
#include "runtime/os.hpp"
|
#include "runtime/os.hpp"
|
||||||
|
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
/*
|
/*
|
||||||
* Copyright (c) 2003, 2014, Oracle and/or its affiliates. All rights reserved.
|
* Copyright (c) 2003, 2016, Oracle and/or its affiliates. All rights reserved.
|
||||||
* Copyright 2007, 2008, 2011, 2015, Red Hat, Inc.
|
* Copyright 2007, 2008, 2011, 2015, Red Hat, Inc.
|
||||||
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||||
*
|
*
|
||||||
|
@ -23,10 +23,9 @@
|
||||||
*
|
*
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#ifndef OS_CPU_BSD_ZERO_VM_ATOMIC_BSD_ZERO_INLINE_HPP
|
#ifndef OS_CPU_BSD_ZERO_VM_ATOMIC_BSD_ZERO_HPP
|
||||||
#define OS_CPU_BSD_ZERO_VM_ATOMIC_BSD_ZERO_INLINE_HPP
|
#define OS_CPU_BSD_ZERO_VM_ATOMIC_BSD_ZERO_HPP
|
||||||
|
|
||||||
#include "runtime/atomic.hpp"
|
|
||||||
#include "runtime/os.hpp"
|
#include "runtime/os.hpp"
|
||||||
|
|
||||||
// Implementation of class atomic
|
// Implementation of class atomic
|
||||||
|
@ -331,4 +330,4 @@ inline void Atomic::store(jlong store_value, volatile jlong* dest) {
|
||||||
os::atomic_copy64((volatile jlong*)&store_value, dest);
|
os::atomic_copy64((volatile jlong*)&store_value, dest);
|
||||||
}
|
}
|
||||||
|
|
||||||
#endif // OS_CPU_BSD_ZERO_VM_ATOMIC_BSD_ZERO_INLINE_HPP
|
#endif // OS_CPU_BSD_ZERO_VM_ATOMIC_BSD_ZERO_HPP
|
|
@ -1,5 +1,5 @@
|
||||||
/*
|
/*
|
||||||
* Copyright (c) 1999, 2011, Oracle and/or its affiliates. All rights reserved.
|
* Copyright (c) 1999, 2016, Oracle and/or its affiliates. All rights reserved.
|
||||||
* Copyright (c) 2014, Red Hat Inc. All rights reserved.
|
* Copyright (c) 2014, Red Hat Inc. All rights reserved.
|
||||||
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||||
*
|
*
|
||||||
|
@ -23,11 +23,9 @@
|
||||||
*
|
*
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#ifndef OS_CPU_LINUX_AARCH64_VM_ATOMIC_LINUX_AARCH64_INLINE_HPP
|
#ifndef OS_CPU_LINUX_AARCH64_VM_ATOMIC_LINUX_AARCH64_HPP
|
||||||
#define OS_CPU_LINUX_AARCH64_VM_ATOMIC_LINUX_AARCH64_INLINE_HPP
|
#define OS_CPU_LINUX_AARCH64_VM_ATOMIC_LINUX_AARCH64_HPP
|
||||||
|
|
||||||
#include "runtime/atomic.hpp"
|
|
||||||
#include "runtime/os.hpp"
|
|
||||||
#include "vm_version_aarch64.hpp"
|
#include "vm_version_aarch64.hpp"
|
||||||
|
|
||||||
// Implementation of class atomic
|
// Implementation of class atomic
|
||||||
|
@ -161,4 +159,4 @@ inline void* Atomic::cmpxchg_ptr(void* exchange_value, volatile void* dest, void
|
||||||
|
|
||||||
inline jlong Atomic::load(volatile jlong* src) { return *src; }
|
inline jlong Atomic::load(volatile jlong* src) { return *src; }
|
||||||
|
|
||||||
#endif // OS_CPU_LINUX_AARCH64_VM_ATOMIC_LINUX_AARCH64_INLINE_HPP
|
#endif // OS_CPU_LINUX_AARCH64_VM_ATOMIC_LINUX_AARCH64_HPP
|
|
@ -1,5 +1,5 @@
|
||||||
/*
|
/*
|
||||||
* Copyright (c) 2003, 2011, Oracle and/or its affiliates. All rights reserved.
|
* Copyright (c) 2003, 2016, Oracle and/or its affiliates. All rights reserved.
|
||||||
* Copyright (c) 2014, Red Hat Inc. All rights reserved.
|
* Copyright (c) 2014, Red Hat Inc. All rights reserved.
|
||||||
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||||
*
|
*
|
||||||
|
@ -26,7 +26,7 @@
|
||||||
#ifndef OS_CPU_LINUX_AARCH64_VM_ORDERACCESS_LINUX_AARCH64_INLINE_HPP
|
#ifndef OS_CPU_LINUX_AARCH64_VM_ORDERACCESS_LINUX_AARCH64_INLINE_HPP
|
||||||
#define OS_CPU_LINUX_AARCH64_VM_ORDERACCESS_LINUX_AARCH64_INLINE_HPP
|
#define OS_CPU_LINUX_AARCH64_VM_ORDERACCESS_LINUX_AARCH64_INLINE_HPP
|
||||||
|
|
||||||
#include "runtime/atomic.inline.hpp"
|
#include "runtime/atomic.hpp"
|
||||||
#include "runtime/orderAccess.hpp"
|
#include "runtime/orderAccess.hpp"
|
||||||
#include "runtime/os.hpp"
|
#include "runtime/os.hpp"
|
||||||
#include "vm_version_aarch64.hpp"
|
#include "vm_version_aarch64.hpp"
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
/*
|
/*
|
||||||
* Copyright (c) 1997, 2014, Oracle and/or its affiliates. All rights reserved.
|
* Copyright (c) 1997, 2016, Oracle and/or its affiliates. All rights reserved.
|
||||||
* Copyright (c) 2012, 2014 SAP SE. All rights reserved.
|
* Copyright (c) 2012, 2014 SAP SE. All rights reserved.
|
||||||
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||||
*
|
*
|
||||||
|
@ -23,11 +23,8 @@
|
||||||
*
|
*
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#ifndef OS_CPU_LINUX_PPC_VM_ATOMIC_LINUX_PPC_INLINE_HPP
|
#ifndef OS_CPU_LINUX_PPC_VM_ATOMIC_LINUX_PPC_HPP
|
||||||
#define OS_CPU_LINUX_PPC_VM_ATOMIC_LINUX_PPC_INLINE_HPP
|
#define OS_CPU_LINUX_PPC_VM_ATOMIC_LINUX_PPC_HPP
|
||||||
|
|
||||||
#include "runtime/atomic.hpp"
|
|
||||||
#include "runtime/os.hpp"
|
|
||||||
|
|
||||||
#ifndef PPC64
|
#ifndef PPC64
|
||||||
#error "Atomic currently only implemented for PPC64"
|
#error "Atomic currently only implemented for PPC64"
|
||||||
|
@ -479,4 +476,4 @@ inline void* Atomic::cmpxchg_ptr(void* exchange_value, volatile void* dest, void
|
||||||
#undef strasm_nobarrier
|
#undef strasm_nobarrier
|
||||||
#undef strasm_nobarrier_clobber_memory
|
#undef strasm_nobarrier_clobber_memory
|
||||||
|
|
||||||
#endif // OS_CPU_LINUX_PPC_VM_ATOMIC_LINUX_PPC_INLINE_HPP
|
#endif // OS_CPU_LINUX_PPC_VM_ATOMIC_LINUX_PPC_HPP
|
|
@ -1,5 +1,5 @@
|
||||||
/*
|
/*
|
||||||
* Copyright (c) 1999, 2014, Oracle and/or its affiliates. All rights reserved.
|
* Copyright (c) 1999, 2016, Oracle and/or its affiliates. All rights reserved.
|
||||||
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||||
*
|
*
|
||||||
* This code is free software; you can redistribute it and/or modify it
|
* This code is free software; you can redistribute it and/or modify it
|
||||||
|
@ -25,9 +25,6 @@
|
||||||
#ifndef OS_CPU_LINUX_SPARC_VM_ATOMIC_LINUX_SPARC_INLINE_HPP
|
#ifndef OS_CPU_LINUX_SPARC_VM_ATOMIC_LINUX_SPARC_INLINE_HPP
|
||||||
#define OS_CPU_LINUX_SPARC_VM_ATOMIC_LINUX_SPARC_INLINE_HPP
|
#define OS_CPU_LINUX_SPARC_VM_ATOMIC_LINUX_SPARC_INLINE_HPP
|
||||||
|
|
||||||
#include "runtime/atomic.hpp"
|
|
||||||
#include "runtime/os.hpp"
|
|
||||||
|
|
||||||
// Implementation of class atomic
|
// Implementation of class atomic
|
||||||
|
|
||||||
inline void Atomic::store (jbyte store_value, jbyte* dest) { *dest = store_value; }
|
inline void Atomic::store (jbyte store_value, jbyte* dest) { *dest = store_value; }
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
/*
|
/*
|
||||||
* Copyright (c) 1999, 2014, Oracle and/or its affiliates. All rights reserved.
|
* Copyright (c) 1999, 2016, Oracle and/or its affiliates. All rights reserved.
|
||||||
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||||
*
|
*
|
||||||
* This code is free software; you can redistribute it and/or modify it
|
* This code is free software; you can redistribute it and/or modify it
|
||||||
|
@ -22,10 +22,9 @@
|
||||||
*
|
*
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#ifndef OS_CPU_LINUX_X86_VM_ATOMIC_LINUX_X86_INLINE_HPP
|
#ifndef OS_CPU_LINUX_X86_VM_ATOMIC_LINUX_X86_HPP
|
||||||
#define OS_CPU_LINUX_X86_VM_ATOMIC_LINUX_X86_INLINE_HPP
|
#define OS_CPU_LINUX_X86_VM_ATOMIC_LINUX_X86_HPP
|
||||||
|
|
||||||
#include "runtime/atomic.hpp"
|
|
||||||
#include "runtime/os.hpp"
|
#include "runtime/os.hpp"
|
||||||
|
|
||||||
// Implementation of class atomic
|
// Implementation of class atomic
|
||||||
|
@ -225,4 +224,4 @@ inline void Atomic::store(jlong store_value, volatile jlong* dest) {
|
||||||
|
|
||||||
#endif // AMD64
|
#endif // AMD64
|
||||||
|
|
||||||
#endif // OS_CPU_LINUX_X86_VM_ATOMIC_LINUX_X86_INLINE_HPP
|
#endif // OS_CPU_LINUX_X86_VM_ATOMIC_LINUX_X86_HPP
|
|
@ -1,5 +1,5 @@
|
||||||
/*
|
/*
|
||||||
* Copyright (c) 2003, 2015, Oracle and/or its affiliates. All rights reserved.
|
* Copyright (c) 2003, 2016, Oracle and/or its affiliates. All rights reserved.
|
||||||
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||||
*
|
*
|
||||||
* This code is free software; you can redistribute it and/or modify it
|
* This code is free software; you can redistribute it and/or modify it
|
||||||
|
@ -25,7 +25,7 @@
|
||||||
#ifndef OS_CPU_LINUX_X86_VM_ORDERACCESS_LINUX_X86_INLINE_HPP
|
#ifndef OS_CPU_LINUX_X86_VM_ORDERACCESS_LINUX_X86_INLINE_HPP
|
||||||
#define OS_CPU_LINUX_X86_VM_ORDERACCESS_LINUX_X86_INLINE_HPP
|
#define OS_CPU_LINUX_X86_VM_ORDERACCESS_LINUX_X86_INLINE_HPP
|
||||||
|
|
||||||
#include "runtime/atomic.inline.hpp"
|
#include "runtime/atomic.hpp"
|
||||||
#include "runtime/orderAccess.hpp"
|
#include "runtime/orderAccess.hpp"
|
||||||
#include "runtime/os.hpp"
|
#include "runtime/os.hpp"
|
||||||
|
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
/*
|
/*
|
||||||
* Copyright (c) 2003, 2014, Oracle and/or its affiliates. All rights reserved.
|
* Copyright (c) 2003, 2016, Oracle and/or its affiliates. All rights reserved.
|
||||||
* Copyright 2007, 2008, 2011, 2015, Red Hat, Inc.
|
* Copyright 2007, 2008, 2011, 2015, Red Hat, Inc.
|
||||||
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||||
*
|
*
|
||||||
|
@ -23,10 +23,9 @@
|
||||||
*
|
*
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#ifndef OS_CPU_LINUX_ZERO_VM_ATOMIC_LINUX_ZERO_INLINE_HPP
|
#ifndef OS_CPU_LINUX_ZERO_VM_ATOMIC_LINUX_ZERO_HPP
|
||||||
#define OS_CPU_LINUX_ZERO_VM_ATOMIC_LINUX_ZERO_INLINE_HPP
|
#define OS_CPU_LINUX_ZERO_VM_ATOMIC_LINUX_ZERO_HPP
|
||||||
|
|
||||||
#include "runtime/atomic.hpp"
|
|
||||||
#include "runtime/os.hpp"
|
#include "runtime/os.hpp"
|
||||||
|
|
||||||
// Implementation of class atomic
|
// Implementation of class atomic
|
||||||
|
@ -325,4 +324,4 @@ inline void Atomic::store(jlong store_value, volatile jlong* dest) {
|
||||||
os::atomic_copy64((volatile jlong*)&store_value, dest);
|
os::atomic_copy64((volatile jlong*)&store_value, dest);
|
||||||
}
|
}
|
||||||
|
|
||||||
#endif // OS_CPU_LINUX_ZERO_VM_ATOMIC_LINUX_ZERO_INLINE_HPP
|
#endif // OS_CPU_LINUX_ZERO_VM_ATOMIC_LINUX_ZERO_HPP
|
|
@ -1,5 +1,5 @@
|
||||||
/*
|
/*
|
||||||
* Copyright (c) 1999, 2014, Oracle and/or its affiliates. All rights reserved.
|
* Copyright (c) 1999, 2016, Oracle and/or its affiliates. All rights reserved.
|
||||||
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||||
*
|
*
|
||||||
* This code is free software; you can redistribute it and/or modify it
|
* This code is free software; you can redistribute it and/or modify it
|
||||||
|
@ -22,10 +22,9 @@
|
||||||
*
|
*
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#ifndef OS_CPU_SOLARIS_SPARC_VM_ATOMIC_SOLARIS_SPARC_INLINE_HPP
|
#ifndef OS_CPU_SOLARIS_SPARC_VM_ATOMIC_SOLARIS_SPARC_HPP
|
||||||
#define OS_CPU_SOLARIS_SPARC_VM_ATOMIC_SOLARIS_SPARC_INLINE_HPP
|
#define OS_CPU_SOLARIS_SPARC_VM_ATOMIC_SOLARIS_SPARC_HPP
|
||||||
|
|
||||||
#include "runtime/atomic.hpp"
|
|
||||||
#include "runtime/os.hpp"
|
#include "runtime/os.hpp"
|
||||||
|
|
||||||
// Implementation of class atomic
|
// Implementation of class atomic
|
||||||
|
@ -374,4 +373,4 @@ inline void* Atomic::cmpxchg_ptr(void* exchange_value, volatile void*
|
||||||
|
|
||||||
#endif // _GNU_SOURCE
|
#endif // _GNU_SOURCE
|
||||||
|
|
||||||
#endif // OS_CPU_SOLARIS_SPARC_VM_ATOMIC_SOLARIS_SPARC_INLINE_HPP
|
#endif // OS_CPU_SOLARIS_SPARC_VM_ATOMIC_SOLARIS_SPARC_HPP
|
|
@ -1,5 +1,5 @@
|
||||||
/*
|
/*
|
||||||
* Copyright (c) 2003, 2015, Oracle and/or its affiliates. All rights reserved.
|
* Copyright (c) 2003, 2016, Oracle and/or its affiliates. All rights reserved.
|
||||||
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||||
*
|
*
|
||||||
* This code is free software; you can redistribute it and/or modify it
|
* This code is free software; you can redistribute it and/or modify it
|
||||||
|
@ -25,7 +25,7 @@
|
||||||
#ifndef OS_CPU_SOLARIS_SPARC_VM_ORDERACCESS_SOLARIS_SPARC_INLINE_HPP
|
#ifndef OS_CPU_SOLARIS_SPARC_VM_ORDERACCESS_SOLARIS_SPARC_INLINE_HPP
|
||||||
#define OS_CPU_SOLARIS_SPARC_VM_ORDERACCESS_SOLARIS_SPARC_INLINE_HPP
|
#define OS_CPU_SOLARIS_SPARC_VM_ORDERACCESS_SOLARIS_SPARC_INLINE_HPP
|
||||||
|
|
||||||
#include "runtime/atomic.inline.hpp"
|
#include "runtime/atomic.hpp"
|
||||||
#include "runtime/orderAccess.hpp"
|
#include "runtime/orderAccess.hpp"
|
||||||
|
|
||||||
// Compiler version last used for testing: solaris studio 12u3
|
// Compiler version last used for testing: solaris studio 12u3
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
/*
|
/*
|
||||||
* Copyright (c) 1999, 2014, Oracle and/or its affiliates. All rights reserved.
|
* Copyright (c) 1999, 2016, Oracle and/or its affiliates. All rights reserved.
|
||||||
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||||
*
|
*
|
||||||
* This code is free software; you can redistribute it and/or modify it
|
* This code is free software; you can redistribute it and/or modify it
|
||||||
|
@ -22,10 +22,9 @@
|
||||||
*
|
*
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#ifndef OS_CPU_SOLARIS_X86_VM_ATOMIC_SOLARIS_X86_INLINE_HPP
|
#ifndef OS_CPU_SOLARIS_X86_VM_ATOMIC_SOLARIS_X86_HPP
|
||||||
#define OS_CPU_SOLARIS_X86_VM_ATOMIC_SOLARIS_X86_INLINE_HPP
|
#define OS_CPU_SOLARIS_X86_VM_ATOMIC_SOLARIS_X86_HPP
|
||||||
|
|
||||||
#include "runtime/atomic.hpp"
|
|
||||||
#include "runtime/os.hpp"
|
#include "runtime/os.hpp"
|
||||||
|
|
||||||
inline void Atomic::store (jbyte store_value, jbyte* dest) { *dest = store_value; }
|
inline void Atomic::store (jbyte store_value, jbyte* dest) { *dest = store_value; }
|
||||||
|
@ -276,4 +275,4 @@ extern "C" {
|
||||||
|
|
||||||
#endif // _GNU_SOURCE
|
#endif // _GNU_SOURCE
|
||||||
|
|
||||||
#endif // OS_CPU_SOLARIS_X86_VM_ATOMIC_SOLARIS_X86_INLINE_HPP
|
#endif // OS_CPU_SOLARIS_X86_VM_ATOMIC_SOLARIS_X86_HPP
|
|
@ -1,5 +1,5 @@
|
||||||
/*
|
/*
|
||||||
* Copyright (c) 2003, 2015, Oracle and/or its affiliates. All rights reserved.
|
* Copyright (c) 2003, 2016, Oracle and/or its affiliates. All rights reserved.
|
||||||
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||||
*
|
*
|
||||||
* This code is free software; you can redistribute it and/or modify it
|
* This code is free software; you can redistribute it and/or modify it
|
||||||
|
@ -25,7 +25,7 @@
|
||||||
#ifndef OS_CPU_SOLARIS_X86_VM_ORDERACCESS_SOLARIS_X86_INLINE_HPP
|
#ifndef OS_CPU_SOLARIS_X86_VM_ORDERACCESS_SOLARIS_X86_INLINE_HPP
|
||||||
#define OS_CPU_SOLARIS_X86_VM_ORDERACCESS_SOLARIS_X86_INLINE_HPP
|
#define OS_CPU_SOLARIS_X86_VM_ORDERACCESS_SOLARIS_X86_INLINE_HPP
|
||||||
|
|
||||||
#include "runtime/atomic.inline.hpp"
|
#include "runtime/atomic.hpp"
|
||||||
#include "runtime/orderAccess.hpp"
|
#include "runtime/orderAccess.hpp"
|
||||||
#include "runtime/os.hpp"
|
#include "runtime/os.hpp"
|
||||||
|
|
||||||
|
|
|
@ -38,7 +38,7 @@
|
||||||
#include "prims/jvm.h"
|
#include "prims/jvm.h"
|
||||||
#include "prims/jvm_misc.hpp"
|
#include "prims/jvm_misc.hpp"
|
||||||
#include "runtime/arguments.hpp"
|
#include "runtime/arguments.hpp"
|
||||||
#include "runtime/atomic.inline.hpp"
|
#include "runtime/atomic.hpp"
|
||||||
#include "runtime/extendedPC.hpp"
|
#include "runtime/extendedPC.hpp"
|
||||||
#include "runtime/frame.inline.hpp"
|
#include "runtime/frame.inline.hpp"
|
||||||
#include "runtime/interfaceSupport.hpp"
|
#include "runtime/interfaceSupport.hpp"
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
/*
|
/*
|
||||||
* Copyright (c) 1999, 2014, Oracle and/or its affiliates. All rights reserved.
|
* Copyright (c) 1999, 2016, Oracle and/or its affiliates. All rights reserved.
|
||||||
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||||
*
|
*
|
||||||
* This code is free software; you can redistribute it and/or modify it
|
* This code is free software; you can redistribute it and/or modify it
|
||||||
|
@ -22,10 +22,9 @@
|
||||||
*
|
*
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#ifndef OS_CPU_WINDOWS_X86_VM_ATOMIC_WINDOWS_X86_INLINE_HPP
|
#ifndef OS_CPU_WINDOWS_X86_VM_ATOMIC_WINDOWS_X86_HPP
|
||||||
#define OS_CPU_WINDOWS_X86_VM_ATOMIC_WINDOWS_X86_INLINE_HPP
|
#define OS_CPU_WINDOWS_X86_VM_ATOMIC_WINDOWS_X86_HPP
|
||||||
|
|
||||||
#include "runtime/atomic.hpp"
|
|
||||||
#include "runtime/os.hpp"
|
#include "runtime/os.hpp"
|
||||||
|
|
||||||
// The following alternative implementations are needed because
|
// The following alternative implementations are needed because
|
||||||
|
@ -301,4 +300,4 @@ inline void Atomic::store(jlong store_value, jlong* dest) {
|
||||||
|
|
||||||
#pragma warning(default: 4035) // Enables warnings reporting missing return statement
|
#pragma warning(default: 4035) // Enables warnings reporting missing return statement
|
||||||
|
|
||||||
#endif // OS_CPU_WINDOWS_X86_VM_ATOMIC_WINDOWS_X86_INLINE_HPP
|
#endif // OS_CPU_WINDOWS_X86_VM_ATOMIC_WINDOWS_X86_HPP
|
|
@ -1,5 +1,5 @@
|
||||||
/*
|
/*
|
||||||
* Copyright (c) 2003, 2015, Oracle and/or its affiliates. All rights reserved.
|
* Copyright (c) 2003, 2016, Oracle and/or its affiliates. All rights reserved.
|
||||||
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||||
*
|
*
|
||||||
* This code is free software; you can redistribute it and/or modify it
|
* This code is free software; you can redistribute it and/or modify it
|
||||||
|
@ -26,7 +26,7 @@
|
||||||
#define OS_CPU_WINDOWS_X86_VM_ORDERACCESS_WINDOWS_X86_INLINE_HPP
|
#define OS_CPU_WINDOWS_X86_VM_ORDERACCESS_WINDOWS_X86_INLINE_HPP
|
||||||
|
|
||||||
#include <intrin.h>
|
#include <intrin.h>
|
||||||
#include "runtime/atomic.inline.hpp"
|
#include "runtime/atomic.hpp"
|
||||||
#include "runtime/orderAccess.hpp"
|
#include "runtime/orderAccess.hpp"
|
||||||
#include "runtime/os.hpp"
|
#include "runtime/os.hpp"
|
||||||
|
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
/*
|
/*
|
||||||
* Copyright (c) 1997, 2013, Oracle and/or its affiliates. All rights reserved.
|
* Copyright (c) 1997, 2016, Oracle and/or its affiliates. All rights reserved.
|
||||||
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||||
*
|
*
|
||||||
* This code is free software; you can redistribute it and/or modify it
|
* This code is free software; you can redistribute it and/or modify it
|
||||||
|
@ -26,7 +26,7 @@
|
||||||
#include "asm/codeBuffer.hpp"
|
#include "asm/codeBuffer.hpp"
|
||||||
#include "asm/macroAssembler.hpp"
|
#include "asm/macroAssembler.hpp"
|
||||||
#include "asm/macroAssembler.inline.hpp"
|
#include "asm/macroAssembler.inline.hpp"
|
||||||
#include "runtime/atomic.inline.hpp"
|
#include "runtime/atomic.hpp"
|
||||||
#include "runtime/icache.hpp"
|
#include "runtime/icache.hpp"
|
||||||
#include "runtime/os.hpp"
|
#include "runtime/os.hpp"
|
||||||
#include "runtime/thread.hpp"
|
#include "runtime/thread.hpp"
|
||||||
|
|
|
@ -4266,7 +4266,7 @@ void GraphBuilder::print_inlining(ciMethod* callee, const char* msg, bool succes
|
||||||
#if INCLUDE_TRACE
|
#if INCLUDE_TRACE
|
||||||
EventCompilerInlining event;
|
EventCompilerInlining event;
|
||||||
if (event.should_commit()) {
|
if (event.should_commit()) {
|
||||||
event.set_compileID(compilation()->env()->task()->compile_id());
|
event.set_compileId(compilation()->env()->task()->compile_id());
|
||||||
event.set_message(msg);
|
event.set_message(msg);
|
||||||
event.set_succeeded(success);
|
event.set_succeeded(success);
|
||||||
event.set_bci(bci());
|
event.set_bci(bci());
|
||||||
|
|
|
@ -49,7 +49,7 @@
|
||||||
#include "memory/resourceArea.hpp"
|
#include "memory/resourceArea.hpp"
|
||||||
#include "oops/objArrayKlass.hpp"
|
#include "oops/objArrayKlass.hpp"
|
||||||
#include "oops/oop.inline.hpp"
|
#include "oops/oop.inline.hpp"
|
||||||
#include "runtime/atomic.inline.hpp"
|
#include "runtime/atomic.hpp"
|
||||||
#include "runtime/biasedLocking.hpp"
|
#include "runtime/biasedLocking.hpp"
|
||||||
#include "runtime/compilationPolicy.hpp"
|
#include "runtime/compilationPolicy.hpp"
|
||||||
#include "runtime/interfaceSupport.hpp"
|
#include "runtime/interfaceSupport.hpp"
|
||||||
|
|
|
@ -1149,10 +1149,10 @@ void ciEnv::record_failure(const char* reason) {
|
||||||
|
|
||||||
void ciEnv::report_failure(const char* reason) {
|
void ciEnv::report_failure(const char* reason) {
|
||||||
// Create and fire JFR event
|
// Create and fire JFR event
|
||||||
EventCompilerFailure event;
|
EventCompilationFailure event;
|
||||||
if (event.should_commit()) {
|
if (event.should_commit()) {
|
||||||
event.set_compileID(compile_id());
|
event.set_compileId(compile_id());
|
||||||
event.set_failure(reason);
|
event.set_failureMessage(reason);
|
||||||
event.commit();
|
event.commit();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -1410,11 +1410,11 @@ void ciMethod::print_impl(outputStream* st) {
|
||||||
}
|
}
|
||||||
|
|
||||||
#if INCLUDE_TRACE
|
#if INCLUDE_TRACE
|
||||||
TraceStructCiMethod ciMethod::to_trace_struct() const {
|
TraceStructCalleeMethod ciMethod::to_trace_struct() const {
|
||||||
TraceStructCiMethod result;
|
TraceStructCalleeMethod result;
|
||||||
result.set_class(holder()->name()->as_utf8());
|
result.set_type(holder()->name()->as_utf8());
|
||||||
result.set_name(name()->as_utf8());
|
result.set_name(name()->as_utf8());
|
||||||
result.set_signature(signature()->as_symbol()->as_utf8());
|
result.set_descriptor(signature()->as_symbol()->as_utf8());
|
||||||
return result;
|
return result;
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
|
|
@ -342,7 +342,7 @@ class ciMethod : public ciMetadata {
|
||||||
void print_short_name(outputStream* st = tty);
|
void print_short_name(outputStream* st = tty);
|
||||||
|
|
||||||
#if INCLUDE_TRACE
|
#if INCLUDE_TRACE
|
||||||
TraceStructCiMethod to_trace_struct() const;
|
TraceStructCalleeMethod to_trace_struct() const;
|
||||||
#endif
|
#endif
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
|
@ -5402,6 +5402,17 @@ void ClassFileParser::fill_instance_klass(InstanceKlass* ik, bool changed_by_loa
|
||||||
debug_only(ik->verify();)
|
debug_only(ik->verify();)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static bool relax_format_check_for(ClassLoaderData* loader_data) {
|
||||||
|
bool trusted = (loader_data->is_the_null_class_loader_data() ||
|
||||||
|
SystemDictionary::is_platform_class_loader(loader_data->class_loader()));
|
||||||
|
bool need_verify =
|
||||||
|
// verifyAll
|
||||||
|
(BytecodeVerificationLocal && BytecodeVerificationRemote) ||
|
||||||
|
// verifyRemote
|
||||||
|
(!BytecodeVerificationLocal && BytecodeVerificationRemote && !trusted);
|
||||||
|
return !need_verify;
|
||||||
|
}
|
||||||
|
|
||||||
ClassFileParser::ClassFileParser(ClassFileStream* stream,
|
ClassFileParser::ClassFileParser(ClassFileStream* stream,
|
||||||
Symbol* name,
|
Symbol* name,
|
||||||
ClassLoaderData* loader_data,
|
ClassLoaderData* loader_data,
|
||||||
|
@ -5490,7 +5501,7 @@ ClassFileParser::ClassFileParser(ClassFileStream* stream,
|
||||||
|
|
||||||
// Check if verification needs to be relaxed for this class file
|
// Check if verification needs to be relaxed for this class file
|
||||||
// Do not restrict it to jdk1.0 or jdk1.1 to maintain backward compatibility (4982376)
|
// Do not restrict it to jdk1.0 or jdk1.1 to maintain backward compatibility (4982376)
|
||||||
_relax_verify = Verifier::relax_verify_for(_loader_data->class_loader());
|
_relax_verify = relax_format_check_for(_loader_data);
|
||||||
|
|
||||||
parse_stream(stream, CHECK);
|
parse_stream(stream, CHECK);
|
||||||
|
|
||||||
|
|
|
@ -63,7 +63,7 @@
|
||||||
#include "memory/resourceArea.hpp"
|
#include "memory/resourceArea.hpp"
|
||||||
#include "oops/objArrayOop.inline.hpp"
|
#include "oops/objArrayOop.inline.hpp"
|
||||||
#include "oops/oop.inline.hpp"
|
#include "oops/oop.inline.hpp"
|
||||||
#include "runtime/atomic.inline.hpp"
|
#include "runtime/atomic.hpp"
|
||||||
#include "runtime/javaCalls.hpp"
|
#include "runtime/javaCalls.hpp"
|
||||||
#include "runtime/jniHandles.hpp"
|
#include "runtime/jniHandles.hpp"
|
||||||
#include "runtime/mutex.hpp"
|
#include "runtime/mutex.hpp"
|
||||||
|
|
|
@ -31,12 +31,12 @@
|
||||||
#include "prims/jvmtiEnvBase.hpp"
|
#include "prims/jvmtiEnvBase.hpp"
|
||||||
#include "trace/traceMacros.hpp"
|
#include "trace/traceMacros.hpp"
|
||||||
|
|
||||||
static ClassFileStream* prologue(ClassFileStream* stream,
|
static ClassFileStream* check_class_file_load_hook(ClassFileStream* stream,
|
||||||
Symbol* name,
|
Symbol* name,
|
||||||
ClassLoaderData* loader_data,
|
ClassLoaderData* loader_data,
|
||||||
Handle protection_domain,
|
Handle protection_domain,
|
||||||
JvmtiCachedClassFileData** cached_class_file,
|
JvmtiCachedClassFileData** cached_class_file,
|
||||||
TRAPS) {
|
TRAPS) {
|
||||||
|
|
||||||
assert(stream != NULL, "invariant");
|
assert(stream != NULL, "invariant");
|
||||||
|
|
||||||
|
@ -102,8 +102,6 @@ instanceKlassHandle KlassFactory::create_from_stream(ClassFileStream* stream,
|
||||||
assert(loader_data != NULL, "invariant");
|
assert(loader_data != NULL, "invariant");
|
||||||
assert(THREAD->is_Java_thread(), "must be a JavaThread");
|
assert(THREAD->is_Java_thread(), "must be a JavaThread");
|
||||||
|
|
||||||
bool changed_by_loadhook = false;
|
|
||||||
|
|
||||||
ResourceMark rm;
|
ResourceMark rm;
|
||||||
HandleMark hm;
|
HandleMark hm;
|
||||||
|
|
||||||
|
@ -111,12 +109,15 @@ instanceKlassHandle KlassFactory::create_from_stream(ClassFileStream* stream,
|
||||||
|
|
||||||
ClassFileStream* old_stream = stream;
|
ClassFileStream* old_stream = stream;
|
||||||
|
|
||||||
stream = prologue(stream,
|
// Skip this processing for VM anonymous classes
|
||||||
name,
|
if (host_klass == NULL) {
|
||||||
loader_data,
|
stream = check_class_file_load_hook(stream,
|
||||||
protection_domain,
|
name,
|
||||||
&cached_class_file,
|
loader_data,
|
||||||
CHECK_NULL);
|
protection_domain,
|
||||||
|
&cached_class_file,
|
||||||
|
CHECK_NULL);
|
||||||
|
}
|
||||||
|
|
||||||
ClassFileParser parser(stream,
|
ClassFileParser parser(stream,
|
||||||
name,
|
name,
|
||||||
|
|
|
@ -34,7 +34,7 @@
|
||||||
#include "memory/filemap.hpp"
|
#include "memory/filemap.hpp"
|
||||||
#include "memory/resourceArea.hpp"
|
#include "memory/resourceArea.hpp"
|
||||||
#include "oops/oop.inline.hpp"
|
#include "oops/oop.inline.hpp"
|
||||||
#include "runtime/atomic.inline.hpp"
|
#include "runtime/atomic.hpp"
|
||||||
#include "runtime/mutexLocker.hpp"
|
#include "runtime/mutexLocker.hpp"
|
||||||
#include "utilities/hashtable.inline.hpp"
|
#include "utilities/hashtable.inline.hpp"
|
||||||
#include "utilities/macros.hpp"
|
#include "utilities/macros.hpp"
|
||||||
|
|
|
@ -34,7 +34,7 @@
|
||||||
#include "memory/filemap.hpp"
|
#include "memory/filemap.hpp"
|
||||||
#include "memory/resourceArea.hpp"
|
#include "memory/resourceArea.hpp"
|
||||||
#include "oops/oop.inline.hpp"
|
#include "oops/oop.inline.hpp"
|
||||||
#include "runtime/atomic.inline.hpp"
|
#include "runtime/atomic.hpp"
|
||||||
#include "runtime/mutexLocker.hpp"
|
#include "runtime/mutexLocker.hpp"
|
||||||
#include "utilities/hashtable.inline.hpp"
|
#include "utilities/hashtable.inline.hpp"
|
||||||
|
|
||||||
|
|
|
@ -1641,7 +1641,6 @@ void SystemDictionary::define_instance_class(instanceKlassHandle k, TRAPS) {
|
||||||
JvmtiExport::post_class_load((JavaThread *) THREAD, k());
|
JvmtiExport::post_class_load((JavaThread *) THREAD, k());
|
||||||
|
|
||||||
}
|
}
|
||||||
TRACE_KLASS_DEFINITION(k, THREAD);
|
|
||||||
class_define_event(k);
|
class_define_event(k);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -88,7 +88,7 @@ bool Verifier::should_verify_for(oop class_loader, bool should_verify_class) {
|
||||||
BytecodeVerificationLocal : BytecodeVerificationRemote;
|
BytecodeVerificationLocal : BytecodeVerificationRemote;
|
||||||
}
|
}
|
||||||
|
|
||||||
bool Verifier::relax_verify_for(oop loader) {
|
bool Verifier::relax_access_for(oop loader) {
|
||||||
bool trusted = java_lang_ClassLoader::is_trusted_loader(loader);
|
bool trusted = java_lang_ClassLoader::is_trusted_loader(loader);
|
||||||
bool need_verify =
|
bool need_verify =
|
||||||
// verifyAll
|
// verifyAll
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
/*
|
/*
|
||||||
* Copyright (c) 1998, 2015, Oracle and/or its affiliates. All rights reserved.
|
* Copyright (c) 1998, 2016, Oracle and/or its affiliates. All rights reserved.
|
||||||
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||||
*
|
*
|
||||||
* This code is free software; you can redistribute it and/or modify it
|
* This code is free software; you can redistribute it and/or modify it
|
||||||
|
@ -58,8 +58,8 @@ class Verifier : AllStatic {
|
||||||
// -Xverify:all/none override this value
|
// -Xverify:all/none override this value
|
||||||
static bool should_verify_for(oop class_loader, bool should_verify_class);
|
static bool should_verify_for(oop class_loader, bool should_verify_class);
|
||||||
|
|
||||||
// Relax certain verifier checks to enable some broken 1.1 apps to run on 1.2.
|
// Relax certain access checks to enable some broken 1.1 apps to run on 1.2.
|
||||||
static bool relax_verify_for(oop class_loader);
|
static bool relax_access_for(oop class_loader);
|
||||||
|
|
||||||
// Print output for class+resolve
|
// Print output for class+resolve
|
||||||
static void trace_class_resolution(Klass* resolve_class, InstanceKlass* verify_class);
|
static void trace_class_resolution(Klass* resolve_class, InstanceKlass* verify_class);
|
||||||
|
|
|
@ -41,7 +41,7 @@
|
||||||
#include "oops/methodData.hpp"
|
#include "oops/methodData.hpp"
|
||||||
#include "oops/oop.inline.hpp"
|
#include "oops/oop.inline.hpp"
|
||||||
#include "prims/jvmtiImpl.hpp"
|
#include "prims/jvmtiImpl.hpp"
|
||||||
#include "runtime/atomic.inline.hpp"
|
#include "runtime/atomic.hpp"
|
||||||
#include "runtime/orderAccess.inline.hpp"
|
#include "runtime/orderAccess.inline.hpp"
|
||||||
#include "runtime/os.hpp"
|
#include "runtime/os.hpp"
|
||||||
#include "runtime/sharedRuntime.hpp"
|
#include "runtime/sharedRuntime.hpp"
|
||||||
|
|
|
@ -42,7 +42,7 @@
|
||||||
#include "prims/nativeLookup.hpp"
|
#include "prims/nativeLookup.hpp"
|
||||||
#include "prims/whitebox.hpp"
|
#include "prims/whitebox.hpp"
|
||||||
#include "runtime/arguments.hpp"
|
#include "runtime/arguments.hpp"
|
||||||
#include "runtime/atomic.inline.hpp"
|
#include "runtime/atomic.hpp"
|
||||||
#include "runtime/compilationPolicy.hpp"
|
#include "runtime/compilationPolicy.hpp"
|
||||||
#include "runtime/init.hpp"
|
#include "runtime/init.hpp"
|
||||||
#include "runtime/interfaceSupport.hpp"
|
#include "runtime/interfaceSupport.hpp"
|
||||||
|
@ -1755,7 +1755,7 @@ void CompileBroker::post_compile(CompilerThread* thread, CompileTask* task, Even
|
||||||
assert(task->compile_id() != CICrashAt, "just as planned");
|
assert(task->compile_id() != CICrashAt, "just as planned");
|
||||||
if (event.should_commit()) {
|
if (event.should_commit()) {
|
||||||
event.set_method(task->method());
|
event.set_method(task->method());
|
||||||
event.set_compileID(task->compile_id());
|
event.set_compileId(task->compile_id());
|
||||||
event.set_compileLevel(task->comp_level());
|
event.set_compileLevel(task->comp_level());
|
||||||
event.set_succeded(task->is_success());
|
event.set_succeded(task->is_success());
|
||||||
event.set_isOsr(task->osr_bci() != CompileBroker::standard_entry_bci);
|
event.set_isOsr(task->osr_bci() != CompileBroker::standard_entry_bci);
|
||||||
|
@ -2399,4 +2399,3 @@ void CompileBroker::print_last_compile() {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -61,7 +61,7 @@
|
||||||
#include "memory/resourceArea.hpp"
|
#include "memory/resourceArea.hpp"
|
||||||
#include "oops/oop.inline.hpp"
|
#include "oops/oop.inline.hpp"
|
||||||
#include "prims/jvmtiExport.hpp"
|
#include "prims/jvmtiExport.hpp"
|
||||||
#include "runtime/atomic.inline.hpp"
|
#include "runtime/atomic.hpp"
|
||||||
#include "runtime/globals_extension.hpp"
|
#include "runtime/globals_extension.hpp"
|
||||||
#include "runtime/handles.inline.hpp"
|
#include "runtime/handles.inline.hpp"
|
||||||
#include "runtime/java.hpp"
|
#include "runtime/java.hpp"
|
||||||
|
|
|
@ -50,7 +50,7 @@
|
||||||
#include "memory/resourceArea.hpp"
|
#include "memory/resourceArea.hpp"
|
||||||
#include "oops/objArrayOop.hpp"
|
#include "oops/objArrayOop.hpp"
|
||||||
#include "oops/oop.inline.hpp"
|
#include "oops/oop.inline.hpp"
|
||||||
#include "runtime/atomic.inline.hpp"
|
#include "runtime/atomic.hpp"
|
||||||
#include "runtime/handles.hpp"
|
#include "runtime/handles.hpp"
|
||||||
#include "runtime/handles.inline.hpp"
|
#include "runtime/handles.inline.hpp"
|
||||||
#include "runtime/java.hpp"
|
#include "runtime/java.hpp"
|
||||||
|
|
|
@ -26,7 +26,7 @@
|
||||||
#include "gc/g1/collectionSetChooser.hpp"
|
#include "gc/g1/collectionSetChooser.hpp"
|
||||||
#include "gc/g1/g1CollectedHeap.inline.hpp"
|
#include "gc/g1/g1CollectedHeap.inline.hpp"
|
||||||
#include "gc/shared/space.inline.hpp"
|
#include "gc/shared/space.inline.hpp"
|
||||||
#include "runtime/atomic.inline.hpp"
|
#include "runtime/atomic.hpp"
|
||||||
|
|
||||||
// Even though we don't use the GC efficiency in our heuristics as
|
// Even though we don't use the GC efficiency in our heuristics as
|
||||||
// much as we used to, we still order according to GC efficiency. This
|
// much as we used to, we still order according to GC efficiency. This
|
||||||
|
|
|
@ -27,7 +27,7 @@
|
||||||
#include "gc/g1/g1CollectedHeap.inline.hpp"
|
#include "gc/g1/g1CollectedHeap.inline.hpp"
|
||||||
#include "gc/g1/heapRegionRemSet.hpp"
|
#include "gc/g1/heapRegionRemSet.hpp"
|
||||||
#include "gc/shared/workgroup.hpp"
|
#include "gc/shared/workgroup.hpp"
|
||||||
#include "runtime/atomic.inline.hpp"
|
#include "runtime/atomic.hpp"
|
||||||
#include "runtime/mutexLocker.hpp"
|
#include "runtime/mutexLocker.hpp"
|
||||||
#include "runtime/safepoint.hpp"
|
#include "runtime/safepoint.hpp"
|
||||||
#include "runtime/thread.inline.hpp"
|
#include "runtime/thread.inline.hpp"
|
||||||
|
|
|
@ -316,12 +316,8 @@ size_t G1Analytics::predict_pending_cards() const {
|
||||||
return get_new_size_prediction(_pending_cards_seq);
|
return get_new_size_prediction(_pending_cards_seq);
|
||||||
}
|
}
|
||||||
|
|
||||||
double G1Analytics::oldest_known_gc_end_time_sec() const {
|
|
||||||
return _recent_prev_end_times_for_all_gcs_sec->oldest();
|
|
||||||
}
|
|
||||||
|
|
||||||
double G1Analytics::last_known_gc_end_time_sec() const {
|
double G1Analytics::last_known_gc_end_time_sec() const {
|
||||||
return _recent_prev_end_times_for_all_gcs_sec->last();
|
return _recent_prev_end_times_for_all_gcs_sec->oldest();
|
||||||
}
|
}
|
||||||
|
|
||||||
void G1Analytics::update_recent_gc_times(double end_time_sec,
|
void G1Analytics::update_recent_gc_times(double end_time_sec,
|
||||||
|
|
|
@ -155,7 +155,6 @@ public:
|
||||||
void update_recent_gc_times(double end_time_sec, double elapsed_ms);
|
void update_recent_gc_times(double end_time_sec, double elapsed_ms);
|
||||||
void compute_pause_time_ratio(double interval_ms, double pause_time_ms);
|
void compute_pause_time_ratio(double interval_ms, double pause_time_ms);
|
||||||
|
|
||||||
double oldest_known_gc_end_time_sec() const;
|
|
||||||
double last_known_gc_end_time_sec() const;
|
double last_known_gc_end_time_sec() const;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
|
@ -30,7 +30,7 @@
|
||||||
#include "gc/shared/workgroup.hpp"
|
#include "gc/shared/workgroup.hpp"
|
||||||
#include "logging/log.hpp"
|
#include "logging/log.hpp"
|
||||||
#include "memory/universe.hpp"
|
#include "memory/universe.hpp"
|
||||||
#include "runtime/atomic.inline.hpp"
|
#include "runtime/atomic.hpp"
|
||||||
#include "runtime/globals.hpp"
|
#include "runtime/globals.hpp"
|
||||||
#include "runtime/os.hpp"
|
#include "runtime/os.hpp"
|
||||||
#include "utilities/bitMap.inline.hpp"
|
#include "utilities/bitMap.inline.hpp"
|
||||||
|
|
|
@ -28,7 +28,6 @@
|
||||||
#include "classfile/symbolTable.hpp"
|
#include "classfile/symbolTable.hpp"
|
||||||
#include "code/codeCache.hpp"
|
#include "code/codeCache.hpp"
|
||||||
#include "code/icBuffer.hpp"
|
#include "code/icBuffer.hpp"
|
||||||
#include "gc/g1/g1Analytics.hpp"
|
|
||||||
#include "gc/g1/bufferingOopClosure.hpp"
|
#include "gc/g1/bufferingOopClosure.hpp"
|
||||||
#include "gc/g1/concurrentG1Refine.hpp"
|
#include "gc/g1/concurrentG1Refine.hpp"
|
||||||
#include "gc/g1/concurrentG1RefineThread.hpp"
|
#include "gc/g1/concurrentG1RefineThread.hpp"
|
||||||
|
@ -75,7 +74,7 @@
|
||||||
#include "memory/iterator.hpp"
|
#include "memory/iterator.hpp"
|
||||||
#include "memory/resourceArea.hpp"
|
#include "memory/resourceArea.hpp"
|
||||||
#include "oops/oop.inline.hpp"
|
#include "oops/oop.inline.hpp"
|
||||||
#include "runtime/atomic.inline.hpp"
|
#include "runtime/atomic.hpp"
|
||||||
#include "runtime/init.hpp"
|
#include "runtime/init.hpp"
|
||||||
#include "runtime/orderAccess.inline.hpp"
|
#include "runtime/orderAccess.inline.hpp"
|
||||||
#include "runtime/vmThread.hpp"
|
#include "runtime/vmThread.hpp"
|
||||||
|
@ -2474,19 +2473,8 @@ size_t G1CollectedHeap::max_capacity() const {
|
||||||
}
|
}
|
||||||
|
|
||||||
jlong G1CollectedHeap::millis_since_last_gc() {
|
jlong G1CollectedHeap::millis_since_last_gc() {
|
||||||
jlong now = os::elapsed_counter() / NANOSECS_PER_MILLISEC;
|
// assert(false, "NYI");
|
||||||
const G1Analytics* analytics = _g1_policy->analytics();
|
return 0;
|
||||||
double last = analytics->last_known_gc_end_time_sec();
|
|
||||||
jlong ret_val = now - (last * 1000);
|
|
||||||
if (ret_val < 0) {
|
|
||||||
// See the notes in GenCollectedHeap::millis_since_last_gc()
|
|
||||||
// for more information about the implementation.
|
|
||||||
log_warning(gc)("Detected clock going backwards. "
|
|
||||||
"Milliseconds since last GC would be " JLONG_FORMAT
|
|
||||||
". returning zero instead.", ret_val);
|
|
||||||
return 0;
|
|
||||||
}
|
|
||||||
return ret_val;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
void G1CollectedHeap::prepare_for_verify() {
|
void G1CollectedHeap::prepare_for_verify() {
|
||||||
|
|
|
@ -52,7 +52,7 @@
|
||||||
#include "memory/allocation.hpp"
|
#include "memory/allocation.hpp"
|
||||||
#include "memory/resourceArea.hpp"
|
#include "memory/resourceArea.hpp"
|
||||||
#include "oops/oop.inline.hpp"
|
#include "oops/oop.inline.hpp"
|
||||||
#include "runtime/atomic.inline.hpp"
|
#include "runtime/atomic.hpp"
|
||||||
#include "runtime/handles.inline.hpp"
|
#include "runtime/handles.inline.hpp"
|
||||||
#include "runtime/java.hpp"
|
#include "runtime/java.hpp"
|
||||||
#include "runtime/prefetch.inline.hpp"
|
#include "runtime/prefetch.inline.hpp"
|
||||||
|
|
|
@ -604,7 +604,7 @@ void G1DefaultPolicy::record_collection_pause_end(double pause_time_ms, size_t c
|
||||||
_analytics->report_alloc_rate_ms(alloc_rate_ms);
|
_analytics->report_alloc_rate_ms(alloc_rate_ms);
|
||||||
|
|
||||||
double interval_ms =
|
double interval_ms =
|
||||||
(end_time_sec - _analytics->oldest_known_gc_end_time_sec()) * 1000.0;
|
(end_time_sec - _analytics->last_known_gc_end_time_sec()) * 1000.0;
|
||||||
_analytics->update_recent_gc_times(end_time_sec, pause_time_ms);
|
_analytics->update_recent_gc_times(end_time_sec, pause_time_ms);
|
||||||
_analytics->compute_pause_time_ratio(interval_ms, pause_time_ms);
|
_analytics->compute_pause_time_ratio(interval_ms, pause_time_ms);
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
/*
|
/*
|
||||||
* Copyright (c) 2015, Oracle and/or its affiliates. All rights reserved.
|
* Copyright (c) 2015, 2016, Oracle and/or its affiliates. All rights reserved.
|
||||||
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||||
*
|
*
|
||||||
* This code is free software; you can redistribute it and/or modify it
|
* This code is free software; you can redistribute it and/or modify it
|
||||||
|
@ -26,7 +26,7 @@
|
||||||
#define SHARE_VM_GC_G1_G1EVACSTATS_INLINE_HPP
|
#define SHARE_VM_GC_G1_G1EVACSTATS_INLINE_HPP
|
||||||
|
|
||||||
#include "gc/g1/g1EvacStats.hpp"
|
#include "gc/g1/g1EvacStats.hpp"
|
||||||
#include "runtime/atomic.inline.hpp"
|
#include "runtime/atomic.hpp"
|
||||||
|
|
||||||
inline void G1EvacStats::add_direct_allocated(size_t value) {
|
inline void G1EvacStats::add_direct_allocated(size_t value) {
|
||||||
Atomic::add_ptr(value, &_direct_allocated);
|
Atomic::add_ptr(value, &_direct_allocated);
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
/*
|
/*
|
||||||
* Copyright (c) 2013, 2015, Oracle and/or its affiliates. All rights reserved.
|
* Copyright (c) 2013, 2016, Oracle and/or its affiliates. All rights reserved.
|
||||||
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||||
*
|
*
|
||||||
* This code is free software; you can redistribute it and/or modify it
|
* This code is free software; you can redistribute it and/or modify it
|
||||||
|
@ -26,7 +26,7 @@
|
||||||
#include "gc/g1/dirtyCardQueue.hpp"
|
#include "gc/g1/dirtyCardQueue.hpp"
|
||||||
#include "gc/g1/g1CollectedHeap.inline.hpp"
|
#include "gc/g1/g1CollectedHeap.inline.hpp"
|
||||||
#include "gc/g1/g1HotCardCache.hpp"
|
#include "gc/g1/g1HotCardCache.hpp"
|
||||||
#include "runtime/atomic.inline.hpp"
|
#include "runtime/atomic.hpp"
|
||||||
|
|
||||||
G1HotCardCache::G1HotCardCache(G1CollectedHeap *g1h):
|
G1HotCardCache::G1HotCardCache(G1CollectedHeap *g1h):
|
||||||
_g1h(g1h), _hot_cache(NULL), _use_cache(false), _card_counts(g1h) {}
|
_g1h(g1h), _hot_cache(NULL), _use_cache(false), _card_counts(g1h) {}
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
/*
|
/*
|
||||||
* Copyright (c) 2001, 2015, Oracle and/or its affiliates. All rights reserved.
|
* Copyright (c) 2001, 2016, Oracle and/or its affiliates. All rights reserved.
|
||||||
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||||
*
|
*
|
||||||
* This code is free software; you can redistribute it and/or modify it
|
* This code is free software; you can redistribute it and/or modify it
|
||||||
|
@ -45,7 +45,7 @@
|
||||||
#include "oops/instanceRefKlass.hpp"
|
#include "oops/instanceRefKlass.hpp"
|
||||||
#include "oops/oop.inline.hpp"
|
#include "oops/oop.inline.hpp"
|
||||||
#include "prims/jvmtiExport.hpp"
|
#include "prims/jvmtiExport.hpp"
|
||||||
#include "runtime/atomic.inline.hpp"
|
#include "runtime/atomic.hpp"
|
||||||
#include "runtime/biasedLocking.hpp"
|
#include "runtime/biasedLocking.hpp"
|
||||||
#include "runtime/fprofiler.hpp"
|
#include "runtime/fprofiler.hpp"
|
||||||
#include "runtime/synchronizer.hpp"
|
#include "runtime/synchronizer.hpp"
|
||||||
|
|
|
@ -30,7 +30,7 @@
|
||||||
#include "gc/shared/memset_with_concurrent_readers.hpp"
|
#include "gc/shared/memset_with_concurrent_readers.hpp"
|
||||||
#include "logging/log.hpp"
|
#include "logging/log.hpp"
|
||||||
#include "oops/oop.inline.hpp"
|
#include "oops/oop.inline.hpp"
|
||||||
#include "runtime/atomic.inline.hpp"
|
#include "runtime/atomic.hpp"
|
||||||
#include "runtime/mutexLocker.hpp"
|
#include "runtime/mutexLocker.hpp"
|
||||||
#include "runtime/orderAccess.inline.hpp"
|
#include "runtime/orderAccess.inline.hpp"
|
||||||
#include "runtime/thread.inline.hpp"
|
#include "runtime/thread.inline.hpp"
|
||||||
|
|
|
@ -31,7 +31,7 @@
|
||||||
#include "gc/g1/g1StringDedupStat.hpp"
|
#include "gc/g1/g1StringDedupStat.hpp"
|
||||||
#include "gc/g1/g1StringDedupTable.hpp"
|
#include "gc/g1/g1StringDedupTable.hpp"
|
||||||
#include "gc/g1/g1StringDedupThread.hpp"
|
#include "gc/g1/g1StringDedupThread.hpp"
|
||||||
#include "runtime/atomic.inline.hpp"
|
#include "runtime/atomic.hpp"
|
||||||
|
|
||||||
bool G1StringDedup::_enabled = false;
|
bool G1StringDedup::_enabled = false;
|
||||||
|
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
/*
|
/*
|
||||||
* Copyright (c) 2014, 2015, Oracle and/or its affiliates. All rights reserved.
|
* Copyright (c) 2014, 2016, Oracle and/or its affiliates. All rights reserved.
|
||||||
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||||
*
|
*
|
||||||
* This code is free software; you can redistribute it and/or modify it
|
* This code is free software; you can redistribute it and/or modify it
|
||||||
|
@ -84,7 +84,6 @@
|
||||||
|
|
||||||
#include "memory/allocation.hpp"
|
#include "memory/allocation.hpp"
|
||||||
#include "oops/oop.hpp"
|
#include "oops/oop.hpp"
|
||||||
#include "runtime/atomic.hpp"
|
|
||||||
|
|
||||||
class OopClosure;
|
class OopClosure;
|
||||||
class BoolObjectClosure;
|
class BoolObjectClosure;
|
||||||
|
|
|
@ -30,7 +30,7 @@
|
||||||
#include "gc/shared/gcLocker.hpp"
|
#include "gc/shared/gcLocker.hpp"
|
||||||
#include "logging/log.hpp"
|
#include "logging/log.hpp"
|
||||||
#include "oops/oop.inline.hpp"
|
#include "oops/oop.inline.hpp"
|
||||||
#include "runtime/atomic.inline.hpp"
|
#include "runtime/atomic.hpp"
|
||||||
#include "runtime/mutexLocker.hpp"
|
#include "runtime/mutexLocker.hpp"
|
||||||
#include "utilities/stack.inline.hpp"
|
#include "utilities/stack.inline.hpp"
|
||||||
|
|
||||||
|
|
|
@ -31,7 +31,7 @@
|
||||||
#include "gc/g1/suspendibleThreadSet.hpp"
|
#include "gc/g1/suspendibleThreadSet.hpp"
|
||||||
#include "logging/log.hpp"
|
#include "logging/log.hpp"
|
||||||
#include "oops/oop.inline.hpp"
|
#include "oops/oop.inline.hpp"
|
||||||
#include "runtime/atomic.inline.hpp"
|
#include "runtime/atomic.hpp"
|
||||||
|
|
||||||
G1StringDedupThread* G1StringDedupThread::_thread = NULL;
|
G1StringDedupThread* G1StringDedupThread::_thread = NULL;
|
||||||
|
|
||||||
|
|
|
@ -39,7 +39,7 @@
|
||||||
#include "memory/iterator.hpp"
|
#include "memory/iterator.hpp"
|
||||||
#include "memory/resourceArea.hpp"
|
#include "memory/resourceArea.hpp"
|
||||||
#include "oops/oop.inline.hpp"
|
#include "oops/oop.inline.hpp"
|
||||||
#include "runtime/atomic.inline.hpp"
|
#include "runtime/atomic.hpp"
|
||||||
#include "runtime/orderAccess.inline.hpp"
|
#include "runtime/orderAccess.inline.hpp"
|
||||||
|
|
||||||
int HeapRegion::LogOfHRGrainBytes = 0;
|
int HeapRegion::LogOfHRGrainBytes = 0;
|
||||||
|
|
|
@ -30,7 +30,7 @@
|
||||||
#include "gc/g1/heapRegion.hpp"
|
#include "gc/g1/heapRegion.hpp"
|
||||||
#include "gc/shared/space.hpp"
|
#include "gc/shared/space.hpp"
|
||||||
#include "oops/oop.inline.hpp"
|
#include "oops/oop.inline.hpp"
|
||||||
#include "runtime/atomic.inline.hpp"
|
#include "runtime/atomic.hpp"
|
||||||
|
|
||||||
inline HeapWord* G1ContiguousSpace::allocate_impl(size_t min_word_size,
|
inline HeapWord* G1ContiguousSpace::allocate_impl(size_t min_word_size,
|
||||||
size_t desired_word_size,
|
size_t desired_word_size,
|
||||||
|
|
|
@ -33,7 +33,7 @@
|
||||||
#include "memory/allocation.hpp"
|
#include "memory/allocation.hpp"
|
||||||
#include "memory/padded.inline.hpp"
|
#include "memory/padded.inline.hpp"
|
||||||
#include "oops/oop.inline.hpp"
|
#include "oops/oop.inline.hpp"
|
||||||
#include "runtime/atomic.inline.hpp"
|
#include "runtime/atomic.hpp"
|
||||||
#include "utilities/bitMap.inline.hpp"
|
#include "utilities/bitMap.inline.hpp"
|
||||||
#include "utilities/globalDefinitions.hpp"
|
#include "utilities/globalDefinitions.hpp"
|
||||||
#include "utilities/growableArray.hpp"
|
#include "utilities/growableArray.hpp"
|
||||||
|
|
|
@ -39,7 +39,7 @@ void HeapRegionTracer::send_region_type_change(uint index,
|
||||||
e.set_to(to);
|
e.set_to(to);
|
||||||
e.set_start(start);
|
e.set_start(start);
|
||||||
e.set_used(used);
|
e.set_used(used);
|
||||||
e.set_allocContext(allocationContext);
|
e.set_allocationContext(allocationContext);
|
||||||
e.commit();
|
e.commit();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -30,7 +30,7 @@
|
||||||
#include "gc/shared/cardTableModRefBS.hpp"
|
#include "gc/shared/cardTableModRefBS.hpp"
|
||||||
#include "gc/shared/space.inline.hpp"
|
#include "gc/shared/space.inline.hpp"
|
||||||
#include "memory/allocation.inline.hpp"
|
#include "memory/allocation.inline.hpp"
|
||||||
#include "runtime/atomic.inline.hpp"
|
#include "runtime/atomic.hpp"
|
||||||
#include "runtime/mutexLocker.hpp"
|
#include "runtime/mutexLocker.hpp"
|
||||||
|
|
||||||
// Check that the size of the SparsePRTEntry is evenly divisible by the maximum
|
// Check that the size of the SparsePRTEntry is evenly divisible by the maximum
|
||||||
|
|
|
@ -30,7 +30,7 @@
|
||||||
#include "memory/allocation.hpp"
|
#include "memory/allocation.hpp"
|
||||||
#include "memory/allocation.inline.hpp"
|
#include "memory/allocation.inline.hpp"
|
||||||
#include "memory/resourceArea.hpp"
|
#include "memory/resourceArea.hpp"
|
||||||
#include "runtime/atomic.inline.hpp"
|
#include "runtime/atomic.hpp"
|
||||||
#include "runtime/handles.hpp"
|
#include "runtime/handles.hpp"
|
||||||
#include "runtime/handles.inline.hpp"
|
#include "runtime/handles.inline.hpp"
|
||||||
#include "runtime/os.hpp"
|
#include "runtime/os.hpp"
|
||||||
|
|
|
@ -1,6 +1,5 @@
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Copyright (c) 2006, 2015, Oracle and/or its affiliates. All rights reserved.
|
* Copyright (c) 2006, 2016, Oracle and/or its affiliates. All rights reserved.
|
||||||
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||||
*
|
*
|
||||||
* This code is free software; you can redistribute it and/or modify it
|
* This code is free software; you can redistribute it and/or modify it
|
||||||
|
@ -28,7 +27,7 @@
|
||||||
#include "gc/shared/collectedHeap.hpp"
|
#include "gc/shared/collectedHeap.hpp"
|
||||||
#include "gc/shared/spaceDecorator.hpp"
|
#include "gc/shared/spaceDecorator.hpp"
|
||||||
#include "oops/oop.inline.hpp"
|
#include "oops/oop.inline.hpp"
|
||||||
#include "runtime/atomic.inline.hpp"
|
#include "runtime/atomic.hpp"
|
||||||
#include "runtime/thread.inline.hpp"
|
#include "runtime/thread.inline.hpp"
|
||||||
|
|
||||||
MutableNUMASpace::MutableNUMASpace(size_t alignment) : MutableSpace(alignment) {
|
MutableNUMASpace::MutableNUMASpace(size_t alignment) : MutableSpace(alignment) {
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
/*
|
/*
|
||||||
* Copyright (c) 2001, 2015, Oracle and/or its affiliates. All rights reserved.
|
* Copyright (c) 2001, 2016, Oracle and/or its affiliates. All rights reserved.
|
||||||
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||||
*
|
*
|
||||||
* This code is free software; you can redistribute it and/or modify it
|
* This code is free software; you can redistribute it and/or modify it
|
||||||
|
@ -26,7 +26,7 @@
|
||||||
#include "gc/parallel/mutableSpace.hpp"
|
#include "gc/parallel/mutableSpace.hpp"
|
||||||
#include "gc/shared/spaceDecorator.hpp"
|
#include "gc/shared/spaceDecorator.hpp"
|
||||||
#include "oops/oop.inline.hpp"
|
#include "oops/oop.inline.hpp"
|
||||||
#include "runtime/atomic.inline.hpp"
|
#include "runtime/atomic.hpp"
|
||||||
#include "runtime/safepoint.hpp"
|
#include "runtime/safepoint.hpp"
|
||||||
#include "runtime/thread.hpp"
|
#include "runtime/thread.hpp"
|
||||||
#include "utilities/macros.hpp"
|
#include "utilities/macros.hpp"
|
||||||
|
|
|
@ -27,7 +27,7 @@
|
||||||
#include "gc/parallel/psCompactionManager.inline.hpp"
|
#include "gc/parallel/psCompactionManager.inline.hpp"
|
||||||
#include "gc/parallel/psParallelCompact.inline.hpp"
|
#include "gc/parallel/psParallelCompact.inline.hpp"
|
||||||
#include "oops/oop.inline.hpp"
|
#include "oops/oop.inline.hpp"
|
||||||
#include "runtime/atomic.inline.hpp"
|
#include "runtime/atomic.hpp"
|
||||||
#include "runtime/os.hpp"
|
#include "runtime/os.hpp"
|
||||||
#include "services/memTracker.hpp"
|
#include "services/memTracker.hpp"
|
||||||
#include "utilities/bitMap.inline.hpp"
|
#include "utilities/bitMap.inline.hpp"
|
||||||
|
|
|
@ -38,7 +38,7 @@
|
||||||
#include "oops/instanceMirrorKlass.inline.hpp"
|
#include "oops/instanceMirrorKlass.inline.hpp"
|
||||||
#include "oops/objArrayKlass.inline.hpp"
|
#include "oops/objArrayKlass.inline.hpp"
|
||||||
#include "oops/oop.inline.hpp"
|
#include "oops/oop.inline.hpp"
|
||||||
#include "runtime/atomic.inline.hpp"
|
#include "runtime/atomic.hpp"
|
||||||
|
|
||||||
PSOldGen* ParCompactionManager::_old_gen = NULL;
|
PSOldGen* ParCompactionManager::_old_gen = NULL;
|
||||||
ParCompactionManager** ParCompactionManager::_manager_array = NULL;
|
ParCompactionManager** ParCompactionManager::_manager_array = NULL;
|
||||||
|
|
|
@ -57,7 +57,7 @@
|
||||||
#include "oops/methodData.hpp"
|
#include "oops/methodData.hpp"
|
||||||
#include "oops/objArrayKlass.inline.hpp"
|
#include "oops/objArrayKlass.inline.hpp"
|
||||||
#include "oops/oop.inline.hpp"
|
#include "oops/oop.inline.hpp"
|
||||||
#include "runtime/atomic.inline.hpp"
|
#include "runtime/atomic.hpp"
|
||||||
#include "runtime/fprofiler.hpp"
|
#include "runtime/fprofiler.hpp"
|
||||||
#include "runtime/safepoint.hpp"
|
#include "runtime/safepoint.hpp"
|
||||||
#include "runtime/vmThread.hpp"
|
#include "runtime/vmThread.hpp"
|
||||||
|
|
|
@ -46,7 +46,7 @@
|
||||||
#include "memory/resourceArea.hpp"
|
#include "memory/resourceArea.hpp"
|
||||||
#include "oops/instanceRefKlass.hpp"
|
#include "oops/instanceRefKlass.hpp"
|
||||||
#include "oops/oop.inline.hpp"
|
#include "oops/oop.inline.hpp"
|
||||||
#include "runtime/atomic.inline.hpp"
|
#include "runtime/atomic.hpp"
|
||||||
#include "runtime/java.hpp"
|
#include "runtime/java.hpp"
|
||||||
#include "runtime/prefetch.inline.hpp"
|
#include "runtime/prefetch.inline.hpp"
|
||||||
#include "runtime/thread.inline.hpp"
|
#include "runtime/thread.inline.hpp"
|
||||||
|
|
|
@ -29,18 +29,18 @@
|
||||||
#include "utilities/globalDefinitions.hpp"
|
#include "utilities/globalDefinitions.hpp"
|
||||||
|
|
||||||
void AllocTracer::send_allocation_outside_tlab_event(KlassHandle klass, size_t alloc_size) {
|
void AllocTracer::send_allocation_outside_tlab_event(KlassHandle klass, size_t alloc_size) {
|
||||||
EventAllocObjectOutsideTLAB event;
|
EventObjectAllocationOutsideTLAB event;
|
||||||
if (event.should_commit()) {
|
if (event.should_commit()) {
|
||||||
event.set_class(klass());
|
event.set_objectClass(klass());
|
||||||
event.set_allocationSize(alloc_size);
|
event.set_allocationSize(alloc_size);
|
||||||
event.commit();
|
event.commit();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void AllocTracer::send_allocation_in_new_tlab_event(KlassHandle klass, size_t tlab_size, size_t alloc_size) {
|
void AllocTracer::send_allocation_in_new_tlab_event(KlassHandle klass, size_t tlab_size, size_t alloc_size) {
|
||||||
EventAllocObjectInNewTLAB event;
|
EventObjectAllocationInNewTLAB event;
|
||||||
if (event.should_commit()) {
|
if (event.should_commit()) {
|
||||||
event.set_class(klass());
|
event.set_objectClass(klass());
|
||||||
event.set_allocationSize(alloc_size);
|
event.set_allocationSize(alloc_size);
|
||||||
event.set_tlabSize(tlab_size);
|
event.set_tlabSize(tlab_size);
|
||||||
event.commit();
|
event.commit();
|
||||||
|
|
|
@ -29,7 +29,7 @@
|
||||||
#include "gc/shared/space.inline.hpp"
|
#include "gc/shared/space.inline.hpp"
|
||||||
#include "memory/allocation.inline.hpp"
|
#include "memory/allocation.inline.hpp"
|
||||||
#include "oops/oop.inline.hpp"
|
#include "oops/oop.inline.hpp"
|
||||||
#include "runtime/atomic.inline.hpp"
|
#include "runtime/atomic.hpp"
|
||||||
#include "runtime/java.hpp"
|
#include "runtime/java.hpp"
|
||||||
#include "runtime/os.hpp"
|
#include "runtime/os.hpp"
|
||||||
#include "utilities/macros.hpp"
|
#include "utilities/macros.hpp"
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
/*
|
/*
|
||||||
* Copyright (c) 1997, 2015, Oracle and/or its affiliates. All rights reserved.
|
* Copyright (c) 1997, 2016, Oracle and/or its affiliates. All rights reserved.
|
||||||
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||||
*
|
*
|
||||||
* This code is free software; you can redistribute it and/or modify it
|
* This code is free software; you can redistribute it and/or modify it
|
||||||
|
@ -27,7 +27,7 @@
|
||||||
#include "gc/shared/gcLocker.inline.hpp"
|
#include "gc/shared/gcLocker.inline.hpp"
|
||||||
#include "memory/resourceArea.hpp"
|
#include "memory/resourceArea.hpp"
|
||||||
#include "logging/log.hpp"
|
#include "logging/log.hpp"
|
||||||
#include "runtime/atomic.inline.hpp"
|
#include "runtime/atomic.hpp"
|
||||||
#include "runtime/thread.inline.hpp"
|
#include "runtime/thread.inline.hpp"
|
||||||
|
|
||||||
volatile jint GCLocker::_jni_lock_count = 0;
|
volatile jint GCLocker::_jni_lock_count = 0;
|
||||||
|
|
|
@ -43,7 +43,7 @@
|
||||||
typedef uintptr_t TraceAddress;
|
typedef uintptr_t TraceAddress;
|
||||||
|
|
||||||
void GCTracer::send_garbage_collection_event() const {
|
void GCTracer::send_garbage_collection_event() const {
|
||||||
EventGCGarbageCollection event(UNTIMED);
|
EventGarbageCollection event(UNTIMED);
|
||||||
if (event.should_commit()) {
|
if (event.should_commit()) {
|
||||||
event.set_gcId(GCId::current());
|
event.set_gcId(GCId::current());
|
||||||
event.set_name(_shared_gc_info.name());
|
event.set_name(_shared_gc_info.name());
|
||||||
|
@ -91,7 +91,7 @@ void GCTracer::send_metaspace_chunk_free_list_summary(GCWhen::Type when, Metaspa
|
||||||
}
|
}
|
||||||
|
|
||||||
void ParallelOldTracer::send_parallel_old_event() const {
|
void ParallelOldTracer::send_parallel_old_event() const {
|
||||||
EventGCParallelOld e(UNTIMED);
|
EventParallelOldGarbageCollection e(UNTIMED);
|
||||||
if (e.should_commit()) {
|
if (e.should_commit()) {
|
||||||
e.set_gcId(GCId::current());
|
e.set_gcId(GCId::current());
|
||||||
e.set_densePrefix((TraceAddress)_parallel_old_gc_info.dense_prefix());
|
e.set_densePrefix((TraceAddress)_parallel_old_gc_info.dense_prefix());
|
||||||
|
@ -102,7 +102,7 @@ void ParallelOldTracer::send_parallel_old_event() const {
|
||||||
}
|
}
|
||||||
|
|
||||||
void YoungGCTracer::send_young_gc_event() const {
|
void YoungGCTracer::send_young_gc_event() const {
|
||||||
EventGCYoungGarbageCollection e(UNTIMED);
|
EventYoungGarbageCollection e(UNTIMED);
|
||||||
if (e.should_commit()) {
|
if (e.should_commit()) {
|
||||||
e.set_gcId(GCId::current());
|
e.set_gcId(GCId::current());
|
||||||
e.set_tenuringThreshold(_tenuring_threshold);
|
e.set_tenuringThreshold(_tenuring_threshold);
|
||||||
|
@ -127,7 +127,7 @@ void YoungGCTracer::send_promotion_in_new_plab_event(Klass* klass, size_t obj_si
|
||||||
EventPromoteObjectInNewPLAB event;
|
EventPromoteObjectInNewPLAB event;
|
||||||
if (event.should_commit()) {
|
if (event.should_commit()) {
|
||||||
event.set_gcId(GCId::current());
|
event.set_gcId(GCId::current());
|
||||||
event.set_class(klass);
|
event.set_objectClass(klass);
|
||||||
event.set_objectSize(obj_size);
|
event.set_objectSize(obj_size);
|
||||||
event.set_tenured(tenured);
|
event.set_tenured(tenured);
|
||||||
event.set_tenuringAge(age);
|
event.set_tenuringAge(age);
|
||||||
|
@ -142,7 +142,7 @@ void YoungGCTracer::send_promotion_outside_plab_event(Klass* klass, size_t obj_s
|
||||||
EventPromoteObjectOutsidePLAB event;
|
EventPromoteObjectOutsidePLAB event;
|
||||||
if (event.should_commit()) {
|
if (event.should_commit()) {
|
||||||
event.set_gcId(GCId::current());
|
event.set_gcId(GCId::current());
|
||||||
event.set_class(klass);
|
event.set_objectClass(klass);
|
||||||
event.set_objectSize(obj_size);
|
event.set_objectSize(obj_size);
|
||||||
event.set_tenured(tenured);
|
event.set_tenured(tenured);
|
||||||
event.set_tenuringAge(age);
|
event.set_tenuringAge(age);
|
||||||
|
@ -151,7 +151,7 @@ void YoungGCTracer::send_promotion_outside_plab_event(Klass* klass, size_t obj_s
|
||||||
}
|
}
|
||||||
|
|
||||||
void OldGCTracer::send_old_gc_event() const {
|
void OldGCTracer::send_old_gc_event() const {
|
||||||
EventGCOldGarbageCollection e(UNTIMED);
|
EventOldGarbageCollection e(UNTIMED);
|
||||||
if (e.should_commit()) {
|
if (e.should_commit()) {
|
||||||
e.set_gcId(GCId::current());
|
e.set_gcId(GCId::current());
|
||||||
e.set_starttime(_shared_gc_info.start_timestamp());
|
e.set_starttime(_shared_gc_info.start_timestamp());
|
||||||
|
@ -173,7 +173,7 @@ void YoungGCTracer::send_promotion_failed_event(const PromotionFailedInfo& pf_in
|
||||||
EventPromotionFailed e;
|
EventPromotionFailed e;
|
||||||
if (e.should_commit()) {
|
if (e.should_commit()) {
|
||||||
e.set_gcId(GCId::current());
|
e.set_gcId(GCId::current());
|
||||||
e.set_data(to_trace_struct(pf_info));
|
e.set_promotionFailed(to_trace_struct(pf_info));
|
||||||
e.set_thread(pf_info.thread_trace_id());
|
e.set_thread(pf_info.thread_trace_id());
|
||||||
e.commit();
|
e.commit();
|
||||||
}
|
}
|
||||||
|
@ -190,7 +190,7 @@ void OldGCTracer::send_concurrent_mode_failure_event() {
|
||||||
|
|
||||||
#if INCLUDE_ALL_GCS
|
#if INCLUDE_ALL_GCS
|
||||||
void G1NewTracer::send_g1_young_gc_event() {
|
void G1NewTracer::send_g1_young_gc_event() {
|
||||||
EventGCG1GarbageCollection e(UNTIMED);
|
EventG1GarbageCollection e(UNTIMED);
|
||||||
if (e.should_commit()) {
|
if (e.should_commit()) {
|
||||||
e.set_gcId(GCId::current());
|
e.set_gcId(GCId::current());
|
||||||
e.set_type(_g1_young_gc_info.type());
|
e.set_type(_g1_young_gc_info.type());
|
||||||
|
@ -201,7 +201,7 @@ void G1NewTracer::send_g1_young_gc_event() {
|
||||||
}
|
}
|
||||||
|
|
||||||
void G1MMUTracer::send_g1_mmu_event(double timeSlice, double gcTime, double maxTime) {
|
void G1MMUTracer::send_g1_mmu_event(double timeSlice, double gcTime, double maxTime) {
|
||||||
EventGCG1MMU e;
|
EventG1MMU e;
|
||||||
if (e.should_commit()) {
|
if (e.should_commit()) {
|
||||||
e.set_gcId(GCId::current());
|
e.set_gcId(GCId::current());
|
||||||
e.set_timeSlice(timeSlice);
|
e.set_timeSlice(timeSlice);
|
||||||
|
@ -212,15 +212,15 @@ void G1MMUTracer::send_g1_mmu_event(double timeSlice, double gcTime, double maxT
|
||||||
}
|
}
|
||||||
|
|
||||||
void G1NewTracer::send_evacuation_info_event(EvacuationInfo* info) {
|
void G1NewTracer::send_evacuation_info_event(EvacuationInfo* info) {
|
||||||
EventEvacuationInfo e;
|
EventEvacuationInformation e;
|
||||||
if (e.should_commit()) {
|
if (e.should_commit()) {
|
||||||
e.set_gcId(GCId::current());
|
e.set_gcId(GCId::current());
|
||||||
e.set_cSetRegions(info->collectionset_regions());
|
e.set_cSetRegions(info->collectionset_regions());
|
||||||
e.set_cSetUsedBefore(info->collectionset_used_before());
|
e.set_cSetUsedBefore(info->collectionset_used_before());
|
||||||
e.set_cSetUsedAfter(info->collectionset_used_after());
|
e.set_cSetUsedAfter(info->collectionset_used_after());
|
||||||
e.set_allocationRegions(info->allocation_regions());
|
e.set_allocationRegions(info->allocation_regions());
|
||||||
e.set_allocRegionsUsedBefore(info->alloc_regions_used_before());
|
e.set_allocationRegionsUsedBefore(info->alloc_regions_used_before());
|
||||||
e.set_allocRegionsUsedAfter(info->alloc_regions_used_before() + info->bytes_copied());
|
e.set_allocationRegionsUsedAfter(info->alloc_regions_used_before() + info->bytes_copied());
|
||||||
e.set_bytesCopied(info->bytes_copied());
|
e.set_bytesCopied(info->bytes_copied());
|
||||||
e.set_regionsFreed(info->regions_freed());
|
e.set_regionsFreed(info->regions_freed());
|
||||||
e.commit();
|
e.commit();
|
||||||
|
@ -231,13 +231,14 @@ void G1NewTracer::send_evacuation_failed_event(const EvacuationFailedInfo& ef_in
|
||||||
EventEvacuationFailed e;
|
EventEvacuationFailed e;
|
||||||
if (e.should_commit()) {
|
if (e.should_commit()) {
|
||||||
e.set_gcId(GCId::current());
|
e.set_gcId(GCId::current());
|
||||||
e.set_data(to_trace_struct(ef_info));
|
e.set_evacuationFailed(to_trace_struct(ef_info));
|
||||||
e.commit();
|
e.commit();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
static TraceStructG1EvacStats create_g1_evacstats(unsigned gcid, const G1EvacSummary& summary) {
|
static TraceStructG1EvacuationStatistics
|
||||||
TraceStructG1EvacStats s;
|
create_g1_evacstats(unsigned gcid, const G1EvacSummary& summary) {
|
||||||
|
TraceStructG1EvacuationStatistics s;
|
||||||
s.set_gcId(gcid);
|
s.set_gcId(gcid);
|
||||||
s.set_allocated(summary.allocated() * HeapWordSize);
|
s.set_allocated(summary.allocated() * HeapWordSize);
|
||||||
s.set_wasted(summary.wasted() * HeapWordSize);
|
s.set_wasted(summary.wasted() * HeapWordSize);
|
||||||
|
@ -252,17 +253,17 @@ static TraceStructG1EvacStats create_g1_evacstats(unsigned gcid, const G1EvacSum
|
||||||
}
|
}
|
||||||
|
|
||||||
void G1NewTracer::send_young_evacuation_statistics(const G1EvacSummary& summary) const {
|
void G1NewTracer::send_young_evacuation_statistics(const G1EvacSummary& summary) const {
|
||||||
EventGCG1EvacuationYoungStatistics surv_evt;
|
EventG1EvacuationYoungStatistics surv_evt;
|
||||||
if (surv_evt.should_commit()) {
|
if (surv_evt.should_commit()) {
|
||||||
surv_evt.set_stats(create_g1_evacstats(GCId::current(), summary));
|
surv_evt.set_statistics(create_g1_evacstats(GCId::current(), summary));
|
||||||
surv_evt.commit();
|
surv_evt.commit();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void G1NewTracer::send_old_evacuation_statistics(const G1EvacSummary& summary) const {
|
void G1NewTracer::send_old_evacuation_statistics(const G1EvacSummary& summary) const {
|
||||||
EventGCG1EvacuationOldStatistics old_evt;
|
EventG1EvacuationOldStatistics old_evt;
|
||||||
if (old_evt.should_commit()) {
|
if (old_evt.should_commit()) {
|
||||||
old_evt.set_stats(create_g1_evacstats(GCId::current(), summary));
|
old_evt.set_statistics(create_g1_evacstats(GCId::current(), summary));
|
||||||
old_evt.commit();
|
old_evt.commit();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -273,7 +274,7 @@ void G1NewTracer::send_basic_ihop_statistics(size_t threshold,
|
||||||
size_t last_allocation_size,
|
size_t last_allocation_size,
|
||||||
double last_allocation_duration,
|
double last_allocation_duration,
|
||||||
double last_marking_length) {
|
double last_marking_length) {
|
||||||
EventGCG1BasicIHOP evt;
|
EventG1BasicIHOP evt;
|
||||||
if (evt.should_commit()) {
|
if (evt.should_commit()) {
|
||||||
evt.set_gcId(GCId::current());
|
evt.set_gcId(GCId::current());
|
||||||
evt.set_threshold(threshold);
|
evt.set_threshold(threshold);
|
||||||
|
@ -295,7 +296,7 @@ void G1NewTracer::send_adaptive_ihop_statistics(size_t threshold,
|
||||||
double predicted_allocation_rate,
|
double predicted_allocation_rate,
|
||||||
double predicted_marking_length,
|
double predicted_marking_length,
|
||||||
bool prediction_active) {
|
bool prediction_active) {
|
||||||
EventGCG1AdaptiveIHOP evt;
|
EventG1AdaptiveIHOP evt;
|
||||||
if (evt.should_commit()) {
|
if (evt.should_commit()) {
|
||||||
evt.set_gcId(GCId::current());
|
evt.set_gcId(GCId::current());
|
||||||
evt.set_threshold(threshold);
|
evt.set_threshold(threshold);
|
||||||
|
|
|
@ -1256,21 +1256,21 @@ class GenTimeOfLastGCClosure: public GenCollectedHeap::GenClosure {
|
||||||
};
|
};
|
||||||
|
|
||||||
jlong GenCollectedHeap::millis_since_last_gc() {
|
jlong GenCollectedHeap::millis_since_last_gc() {
|
||||||
// javaTimeNanos() is guaranteed to be monotonically non-decreasing
|
// We need a monotonically non-decreasing time in ms but
|
||||||
// provided the underlying platform provides such a time source
|
// os::javaTimeMillis() does not guarantee monotonicity.
|
||||||
// (and it is bug free). So we still have to guard against getting
|
|
||||||
// back a time later than 'now'.
|
|
||||||
jlong now = os::javaTimeNanos() / NANOSECS_PER_MILLISEC;
|
jlong now = os::javaTimeNanos() / NANOSECS_PER_MILLISEC;
|
||||||
GenTimeOfLastGCClosure tolgc_cl(now);
|
GenTimeOfLastGCClosure tolgc_cl(now);
|
||||||
// iterate over generations getting the oldest
|
// iterate over generations getting the oldest
|
||||||
// time that a generation was collected
|
// time that a generation was collected
|
||||||
generation_iterate(&tolgc_cl, false);
|
generation_iterate(&tolgc_cl, false);
|
||||||
|
|
||||||
|
// javaTimeNanos() is guaranteed to be monotonically non-decreasing
|
||||||
|
// provided the underlying platform provides such a time source
|
||||||
|
// (and it is bug free). So we still have to guard against getting
|
||||||
|
// back a time later than 'now'.
|
||||||
jlong retVal = now - tolgc_cl.time();
|
jlong retVal = now - tolgc_cl.time();
|
||||||
if (retVal < 0) {
|
if (retVal < 0) {
|
||||||
log_warning(gc)("Detected clock going backwards. "
|
NOT_PRODUCT(log_warning(gc)("time warp: " JLONG_FORMAT, retVal);)
|
||||||
"Milliseconds since last GC would be " JLONG_FORMAT
|
|
||||||
". returning zero instead.", retVal);
|
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
return retVal;
|
return retVal;
|
||||||
|
|
|
@ -40,7 +40,7 @@ void ObjectCountEventSender::send(const KlassInfoEntry* entry, const Ticks& time
|
||||||
|
|
||||||
EventObjectCountAfterGC event(UNTIMED);
|
EventObjectCountAfterGC event(UNTIMED);
|
||||||
event.set_gcId(GCId::current());
|
event.set_gcId(GCId::current());
|
||||||
event.set_class(entry->klass());
|
event.set_objectClass(entry->klass());
|
||||||
event.set_count(entry->count());
|
event.set_count(entry->count());
|
||||||
event.set_totalSize(entry->words() * BytesPerWord);
|
event.set_totalSize(entry->words() * BytesPerWord);
|
||||||
event.set_endtime(timestamp);
|
event.set_endtime(timestamp);
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
/*
|
/*
|
||||||
* Copyright (c) 2014, 2015, Oracle and/or its affiliates. All rights reserved.
|
* Copyright (c) 2014, 2016, Oracle and/or its affiliates. All rights reserved.
|
||||||
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||||
*
|
*
|
||||||
* This code is free software; you can redistribute it and/or modify it
|
* This code is free software; you can redistribute it and/or modify it
|
||||||
|
@ -28,7 +28,7 @@
|
||||||
#include "gc/shared/collectedHeap.inline.hpp"
|
#include "gc/shared/collectedHeap.inline.hpp"
|
||||||
#include "gc/shared/plab.hpp"
|
#include "gc/shared/plab.hpp"
|
||||||
#include "memory/allocation.inline.hpp"
|
#include "memory/allocation.inline.hpp"
|
||||||
#include "runtime/atomic.inline.hpp"
|
#include "runtime/atomic.hpp"
|
||||||
|
|
||||||
inline HeapWord* PLAB::allocate_aligned(size_t word_sz, unsigned short alignment_in_bytes) {
|
inline HeapWord* PLAB::allocate_aligned(size_t word_sz, unsigned short alignment_in_bytes) {
|
||||||
HeapWord* res = CollectedHeap::align_allocation_or_fail(_top, _end, alignment_in_bytes);
|
HeapWord* res = CollectedHeap::align_allocation_or_fail(_top, _end, alignment_in_bytes);
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
/*
|
/*
|
||||||
* Copyright (c) 1997, 2015, Oracle and/or its affiliates. All rights reserved.
|
* Copyright (c) 1997, 2016, Oracle and/or its affiliates. All rights reserved.
|
||||||
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||||
*
|
*
|
||||||
* This code is free software; you can redistribute it and/or modify it
|
* This code is free software; you can redistribute it and/or modify it
|
||||||
|
@ -35,7 +35,7 @@
|
||||||
#include "gc/shared/spaceDecorator.hpp"
|
#include "gc/shared/spaceDecorator.hpp"
|
||||||
#include "memory/universe.inline.hpp"
|
#include "memory/universe.inline.hpp"
|
||||||
#include "oops/oop.inline.hpp"
|
#include "oops/oop.inline.hpp"
|
||||||
#include "runtime/atomic.inline.hpp"
|
#include "runtime/atomic.hpp"
|
||||||
#include "runtime/java.hpp"
|
#include "runtime/java.hpp"
|
||||||
#include "runtime/orderAccess.inline.hpp"
|
#include "runtime/orderAccess.inline.hpp"
|
||||||
#include "runtime/prefetch.inline.hpp"
|
#include "runtime/prefetch.inline.hpp"
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
/*
|
/*
|
||||||
* Copyright (c) 2001, 2015, Oracle and/or its affiliates. All rights reserved.
|
* Copyright (c) 2001, 2016, Oracle and/or its affiliates. All rights reserved.
|
||||||
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||||
*
|
*
|
||||||
* This code is free software; you can redistribute it and/or modify it
|
* This code is free software; you can redistribute it and/or modify it
|
||||||
|
@ -26,7 +26,7 @@
|
||||||
#include "gc/shared/taskqueue.hpp"
|
#include "gc/shared/taskqueue.hpp"
|
||||||
#include "oops/oop.inline.hpp"
|
#include "oops/oop.inline.hpp"
|
||||||
#include "logging/log.hpp"
|
#include "logging/log.hpp"
|
||||||
#include "runtime/atomic.inline.hpp"
|
#include "runtime/atomic.hpp"
|
||||||
#include "runtime/os.hpp"
|
#include "runtime/os.hpp"
|
||||||
#include "runtime/thread.inline.hpp"
|
#include "runtime/thread.inline.hpp"
|
||||||
#include "utilities/debug.hpp"
|
#include "utilities/debug.hpp"
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
/*
|
/*
|
||||||
* Copyright (c) 2015, Oracle and/or its affiliates. All rights reserved.
|
* Copyright (c) 2015, 2016, Oracle and/or its affiliates. All rights reserved.
|
||||||
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||||
*
|
*
|
||||||
* This code is free software; you can redistribute it and/or modify it
|
* This code is free software; you can redistribute it and/or modify it
|
||||||
|
@ -28,7 +28,7 @@
|
||||||
#include "gc/shared/taskqueue.hpp"
|
#include "gc/shared/taskqueue.hpp"
|
||||||
#include "memory/allocation.inline.hpp"
|
#include "memory/allocation.inline.hpp"
|
||||||
#include "oops/oop.inline.hpp"
|
#include "oops/oop.inline.hpp"
|
||||||
#include "runtime/atomic.inline.hpp"
|
#include "runtime/atomic.hpp"
|
||||||
#include "runtime/orderAccess.inline.hpp"
|
#include "runtime/orderAccess.inline.hpp"
|
||||||
#include "utilities/debug.hpp"
|
#include "utilities/debug.hpp"
|
||||||
#include "utilities/stack.inline.hpp"
|
#include "utilities/stack.inline.hpp"
|
||||||
|
|
|
@ -28,7 +28,7 @@
|
||||||
#include "gc/shared/workerManager.hpp"
|
#include "gc/shared/workerManager.hpp"
|
||||||
#include "memory/allocation.hpp"
|
#include "memory/allocation.hpp"
|
||||||
#include "memory/allocation.inline.hpp"
|
#include "memory/allocation.inline.hpp"
|
||||||
#include "runtime/atomic.inline.hpp"
|
#include "runtime/atomic.hpp"
|
||||||
#include "runtime/os.hpp"
|
#include "runtime/os.hpp"
|
||||||
#include "runtime/semaphore.hpp"
|
#include "runtime/semaphore.hpp"
|
||||||
#include "runtime/thread.inline.hpp"
|
#include "runtime/thread.inline.hpp"
|
||||||
|
|
|
@ -39,7 +39,7 @@
|
||||||
#include "oops/oop.inline.hpp"
|
#include "oops/oop.inline.hpp"
|
||||||
#include "prims/jvmtiExport.hpp"
|
#include "prims/jvmtiExport.hpp"
|
||||||
#include "prims/jvmtiThreadState.hpp"
|
#include "prims/jvmtiThreadState.hpp"
|
||||||
#include "runtime/atomic.inline.hpp"
|
#include "runtime/atomic.hpp"
|
||||||
#include "runtime/biasedLocking.hpp"
|
#include "runtime/biasedLocking.hpp"
|
||||||
#include "runtime/frame.inline.hpp"
|
#include "runtime/frame.inline.hpp"
|
||||||
#include "runtime/handles.inline.hpp"
|
#include "runtime/handles.inline.hpp"
|
||||||
|
|
|
@ -48,7 +48,7 @@
|
||||||
#include "oops/symbol.hpp"
|
#include "oops/symbol.hpp"
|
||||||
#include "prims/jvmtiExport.hpp"
|
#include "prims/jvmtiExport.hpp"
|
||||||
#include "prims/nativeLookup.hpp"
|
#include "prims/nativeLookup.hpp"
|
||||||
#include "runtime/atomic.inline.hpp"
|
#include "runtime/atomic.hpp"
|
||||||
#include "runtime/biasedLocking.hpp"
|
#include "runtime/biasedLocking.hpp"
|
||||||
#include "runtime/compilationPolicy.hpp"
|
#include "runtime/compilationPolicy.hpp"
|
||||||
#include "runtime/deoptimization.hpp"
|
#include "runtime/deoptimization.hpp"
|
||||||
|
|
|
@ -53,10 +53,6 @@ class LogDecorations VALUE_OBJ_CLASS_SPEC {
|
||||||
|
|
||||||
LogDecorations(LogLevelType level, const LogTagSet& tagset, const LogDecorators& decorators);
|
LogDecorations(LogLevelType level, const LogTagSet& tagset, const LogDecorators& decorators);
|
||||||
|
|
||||||
LogLevelType level() const {
|
|
||||||
return _level;
|
|
||||||
}
|
|
||||||
|
|
||||||
void set_level(LogLevelType level) {
|
void set_level(LogLevelType level) {
|
||||||
_level = level;
|
_level = level;
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
/*
|
/*
|
||||||
* Copyright (c) 2015, Oracle and/or its affiliates. All rights reserved.
|
* Copyright (c) 2015, 2016, Oracle and/or its affiliates. All rights reserved.
|
||||||
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||||
*
|
*
|
||||||
* This code is free software; you can redistribute it and/or modify it
|
* This code is free software; you can redistribute it and/or modify it
|
||||||
|
@ -25,7 +25,7 @@
|
||||||
#include "logging/logLevel.hpp"
|
#include "logging/logLevel.hpp"
|
||||||
#include "logging/logOutputList.hpp"
|
#include "logging/logOutputList.hpp"
|
||||||
#include "memory/allocation.inline.hpp"
|
#include "memory/allocation.inline.hpp"
|
||||||
#include "runtime/atomic.inline.hpp"
|
#include "runtime/atomic.hpp"
|
||||||
#include "runtime/orderAccess.inline.hpp"
|
#include "runtime/orderAccess.inline.hpp"
|
||||||
#include "utilities/globalDefinitions.hpp"
|
#include "utilities/globalDefinitions.hpp"
|
||||||
|
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
/*
|
/*
|
||||||
* Copyright (c) 2015, Oracle and/or its affiliates. All rights reserved.
|
* Copyright (c) 2015, 2016, Oracle and/or its affiliates. All rights reserved.
|
||||||
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||||
*
|
*
|
||||||
* This code is free software; you can redistribute it and/or modify it
|
* This code is free software; you can redistribute it and/or modify it
|
||||||
|
@ -26,7 +26,6 @@
|
||||||
|
|
||||||
#include "logging/logLevel.hpp"
|
#include "logging/logLevel.hpp"
|
||||||
#include "memory/allocation.hpp"
|
#include "memory/allocation.hpp"
|
||||||
#include "runtime/atomic.hpp"
|
|
||||||
#include "utilities/globalDefinitions.hpp"
|
#include "utilities/globalDefinitions.hpp"
|
||||||
|
|
||||||
class LogOutput;
|
class LogOutput;
|
||||||
|
@ -61,6 +60,11 @@ class LogOutputList VALUE_OBJ_CLASS_SPEC {
|
||||||
void add_output(LogOutput* output, LogLevelType level);
|
void add_output(LogOutput* output, LogLevelType level);
|
||||||
void update_output_level(LogOutputNode* node, LogLevelType level);
|
void update_output_level(LogOutputNode* node, LogLevelType level);
|
||||||
|
|
||||||
|
// Bookkeeping functions to keep track of number of active readers/iterators for the list.
|
||||||
|
jint increase_readers();
|
||||||
|
jint decrease_readers();
|
||||||
|
void wait_until_no_readers() const;
|
||||||
|
|
||||||
public:
|
public:
|
||||||
LogOutputList() : _active_readers(0) {
|
LogOutputList() : _active_readers(0) {
|
||||||
for (size_t i = 0; i < LogLevel::Count; i++) {
|
for (size_t i = 0; i < LogLevel::Count; i++) {
|
||||||
|
@ -84,11 +88,6 @@ class LogOutputList VALUE_OBJ_CLASS_SPEC {
|
||||||
// Set (add/update/remove) the output to the specified level.
|
// Set (add/update/remove) the output to the specified level.
|
||||||
void set_output_level(LogOutput* output, LogLevelType level);
|
void set_output_level(LogOutput* output, LogLevelType level);
|
||||||
|
|
||||||
// Bookkeeping functions to keep track of number of active readers/iterators for the list.
|
|
||||||
jint increase_readers();
|
|
||||||
jint decrease_readers();
|
|
||||||
void wait_until_no_readers() const;
|
|
||||||
|
|
||||||
class Iterator VALUE_OBJ_CLASS_SPEC {
|
class Iterator VALUE_OBJ_CLASS_SPEC {
|
||||||
friend class LogOutputList;
|
friend class LogOutputList;
|
||||||
private:
|
private:
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
/*
|
/*
|
||||||
* Copyright (c) 1997, 2015, Oracle and/or its affiliates. All rights reserved.
|
* Copyright (c) 1997, 2016, Oracle and/or its affiliates. All rights reserved.
|
||||||
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||||
*
|
*
|
||||||
* This code is free software; you can redistribute it and/or modify it
|
* This code is free software; you can redistribute it and/or modify it
|
||||||
|
@ -29,7 +29,7 @@
|
||||||
#include "memory/metaspaceShared.hpp"
|
#include "memory/metaspaceShared.hpp"
|
||||||
#include "memory/resourceArea.hpp"
|
#include "memory/resourceArea.hpp"
|
||||||
#include "memory/universe.hpp"
|
#include "memory/universe.hpp"
|
||||||
#include "runtime/atomic.inline.hpp"
|
#include "runtime/atomic.hpp"
|
||||||
#include "runtime/os.hpp"
|
#include "runtime/os.hpp"
|
||||||
#include "runtime/task.hpp"
|
#include "runtime/task.hpp"
|
||||||
#include "runtime/threadCritical.hpp"
|
#include "runtime/threadCritical.hpp"
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
/*
|
/*
|
||||||
* Copyright (c) 1997, 2014, Oracle and/or its affiliates. All rights reserved.
|
* Copyright (c) 1997, 2016, Oracle and/or its affiliates. All rights reserved.
|
||||||
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||||
*
|
*
|
||||||
* This code is free software; you can redistribute it and/or modify it
|
* This code is free software; you can redistribute it and/or modify it
|
||||||
|
@ -25,7 +25,7 @@
|
||||||
#ifndef SHARE_VM_MEMORY_ALLOCATION_INLINE_HPP
|
#ifndef SHARE_VM_MEMORY_ALLOCATION_INLINE_HPP
|
||||||
#define SHARE_VM_MEMORY_ALLOCATION_INLINE_HPP
|
#define SHARE_VM_MEMORY_ALLOCATION_INLINE_HPP
|
||||||
|
|
||||||
#include "runtime/atomic.inline.hpp"
|
#include "runtime/atomic.hpp"
|
||||||
#include "runtime/os.hpp"
|
#include "runtime/os.hpp"
|
||||||
#include "services/memTracker.hpp"
|
#include "services/memTracker.hpp"
|
||||||
#include "utilities/globalDefinitions.hpp"
|
#include "utilities/globalDefinitions.hpp"
|
||||||
|
|
|
@ -37,7 +37,7 @@
|
||||||
#include "memory/metaspaceTracer.hpp"
|
#include "memory/metaspaceTracer.hpp"
|
||||||
#include "memory/resourceArea.hpp"
|
#include "memory/resourceArea.hpp"
|
||||||
#include "memory/universe.hpp"
|
#include "memory/universe.hpp"
|
||||||
#include "runtime/atomic.inline.hpp"
|
#include "runtime/atomic.hpp"
|
||||||
#include "runtime/globals.hpp"
|
#include "runtime/globals.hpp"
|
||||||
#include "runtime/init.hpp"
|
#include "runtime/init.hpp"
|
||||||
#include "runtime/java.hpp"
|
#include "runtime/java.hpp"
|
||||||
|
|
|
@ -56,7 +56,7 @@
|
||||||
#include "oops/oop.inline.hpp"
|
#include "oops/oop.inline.hpp"
|
||||||
#include "oops/typeArrayKlass.hpp"
|
#include "oops/typeArrayKlass.hpp"
|
||||||
#include "runtime/arguments.hpp"
|
#include "runtime/arguments.hpp"
|
||||||
#include "runtime/atomic.inline.hpp"
|
#include "runtime/atomic.hpp"
|
||||||
#include "runtime/commandLineFlagConstraintList.hpp"
|
#include "runtime/commandLineFlagConstraintList.hpp"
|
||||||
#include "runtime/deoptimization.hpp"
|
#include "runtime/deoptimization.hpp"
|
||||||
#include "runtime/fprofiler.hpp"
|
#include "runtime/fprofiler.hpp"
|
||||||
|
@ -1129,8 +1129,6 @@ void Universe::initialize_verify_flags() {
|
||||||
verify_flags |= Verify_MetaspaceAux;
|
verify_flags |= Verify_MetaspaceAux;
|
||||||
} else if (strcmp(token, "jni_handles") == 0) {
|
} else if (strcmp(token, "jni_handles") == 0) {
|
||||||
verify_flags |= Verify_JNIHandles;
|
verify_flags |= Verify_JNIHandles;
|
||||||
} else if (strcmp(token, "c-heap") == 0) {
|
|
||||||
verify_flags |= Verify_CHeap;
|
|
||||||
} else if (strcmp(token, "codecache_oops") == 0) {
|
} else if (strcmp(token, "codecache_oops") == 0) {
|
||||||
verify_flags |= Verify_CodeCacheOops;
|
verify_flags |= Verify_CodeCacheOops;
|
||||||
} else {
|
} else {
|
||||||
|
@ -1208,10 +1206,6 @@ void Universe::verify(VerifyOption option, const char* prefix) {
|
||||||
log_debug(gc, verify)("JNIHandles");
|
log_debug(gc, verify)("JNIHandles");
|
||||||
JNIHandles::verify();
|
JNIHandles::verify();
|
||||||
}
|
}
|
||||||
if (should_verify_subset(Verify_CHeap)) {
|
|
||||||
log_debug(gc, verify)("C-heap");
|
|
||||||
os::check_heap();
|
|
||||||
}
|
|
||||||
if (should_verify_subset(Verify_CodeCacheOops)) {
|
if (should_verify_subset(Verify_CodeCacheOops)) {
|
||||||
log_debug(gc, verify)("CodeCache Oops");
|
log_debug(gc, verify)("CodeCache Oops");
|
||||||
CodeCache::verify_oops();
|
CodeCache::verify_oops();
|
||||||
|
|
|
@ -480,8 +480,7 @@ class Universe: AllStatic {
|
||||||
Verify_ClassLoaderDataGraph = 64,
|
Verify_ClassLoaderDataGraph = 64,
|
||||||
Verify_MetaspaceAux = 128,
|
Verify_MetaspaceAux = 128,
|
||||||
Verify_JNIHandles = 256,
|
Verify_JNIHandles = 256,
|
||||||
Verify_CHeap = 512,
|
Verify_CodeCacheOops = 512,
|
||||||
Verify_CodeCacheOops = 1024,
|
|
||||||
Verify_All = -1
|
Verify_All = -1
|
||||||
};
|
};
|
||||||
static void initialize_verify_flags();
|
static void initialize_verify_flags();
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
/*
|
/*
|
||||||
* Copyright (c) 1998, 2015, Oracle and/or its affiliates. All rights reserved.
|
* Copyright (c) 1998, 2016, Oracle and/or its affiliates. All rights reserved.
|
||||||
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||||
*
|
*
|
||||||
* This code is free software; you can redistribute it and/or modify it
|
* This code is free software; you can redistribute it and/or modify it
|
||||||
|
@ -26,7 +26,7 @@
|
||||||
#include "oops/compiledICHolder.hpp"
|
#include "oops/compiledICHolder.hpp"
|
||||||
#include "oops/klass.hpp"
|
#include "oops/klass.hpp"
|
||||||
#include "oops/method.hpp"
|
#include "oops/method.hpp"
|
||||||
#include "runtime/atomic.inline.hpp"
|
#include "runtime/atomic.hpp"
|
||||||
|
|
||||||
volatile int CompiledICHolder::_live_count;
|
volatile int CompiledICHolder::_live_count;
|
||||||
volatile int CompiledICHolder::_live_not_claimed_count;
|
volatile int CompiledICHolder::_live_not_claimed_count;
|
||||||
|
|
|
@ -32,7 +32,7 @@
|
||||||
#include "oops/objArrayOop.inline.hpp"
|
#include "oops/objArrayOop.inline.hpp"
|
||||||
#include "oops/oop.inline.hpp"
|
#include "oops/oop.inline.hpp"
|
||||||
#include "prims/methodHandles.hpp"
|
#include "prims/methodHandles.hpp"
|
||||||
#include "runtime/atomic.inline.hpp"
|
#include "runtime/atomic.hpp"
|
||||||
#include "runtime/handles.inline.hpp"
|
#include "runtime/handles.inline.hpp"
|
||||||
#include "runtime/orderAccess.inline.hpp"
|
#include "runtime/orderAccess.inline.hpp"
|
||||||
#include "utilities/macros.hpp"
|
#include "utilities/macros.hpp"
|
||||||
|
|
Some files were not shown because too many files have changed in this diff Show more
Loading…
Add table
Add a link
Reference in a new issue