17 * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
18 *
19 * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
20 * or visit www.oracle.com if you need additional information or have any
21 * questions.
22 *
23 */
24
25 #ifndef SHARE_VM_MEMORY_METASPACE_TRACER_HPP
26 #define SHARE_VM_MEMORY_METASPACE_TRACER_HPP
27
28 #include "memory/allocation.hpp"
29 #include "memory/metaspace.hpp"
30 #include "memory/metaspaceGCThresholdUpdater.hpp"
31
32 class ClassLoaderData;
33 class frame;
34 class ouputStream;
35
36 class MetaspaceTracer : public CHeapObj<mtTracing> {
37 public:
38 void report_gc_threshold(size_t old_val,
39 size_t new_val,
40 MetaspaceGCThresholdUpdater::Type updater) const;
41 void report_metaspace_allocation_failure(ClassLoaderData *cld,
42 size_t word_size,
43 MetaspaceObj::Type objtype,
44 Metaspace::MetadataType mdtype) const;
45 };
46
47 #endif // SHARE_VM_MEMORY_METASPACE_TRACER_HPP
|
17 * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
18 *
19 * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
20 * or visit www.oracle.com if you need additional information or have any
21 * questions.
22 *
23 */
24
25 #ifndef SHARE_VM_MEMORY_METASPACE_TRACER_HPP
26 #define SHARE_VM_MEMORY_METASPACE_TRACER_HPP
27
28 #include "memory/allocation.hpp"
29 #include "memory/metaspace.hpp"
30 #include "memory/metaspaceGCThresholdUpdater.hpp"
31
32 class ClassLoaderData;
33 class frame;
34 class ouputStream;
35
36 class MetaspaceTracer : public CHeapObj<mtTracing> {
37 template <typename E>
38 void send_allocation_failure_event(ClassLoaderData *cld,
39 size_t word_size,
40 MetaspaceObj::Type objtype,
41 Metaspace::MetadataType mdtype) const;
42 public:
43 void report_gc_threshold(size_t old_val,
44 size_t new_val,
45 MetaspaceGCThresholdUpdater::Type updater) const;
46 void report_metaspace_allocation_failure(ClassLoaderData *cld,
47 size_t word_size,
48 MetaspaceObj::Type objtype,
49 Metaspace::MetadataType mdtype) const;
50 void report_metadata_oom(ClassLoaderData *cld,
51 size_t word_size,
52 MetaspaceObj::Type objtype,
53 Metaspace::MetadataType mdtype) const;
54 };
55
56 #endif // SHARE_VM_MEMORY_METASPACE_TRACER_HPP
|