1/*
2 * Copyright (c) 2005, 2010, Oracle and/or its affiliates. All rights reserved.
3 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
4 *
5 * This code is free software; you can redistribute it and/or modify it
6 * under the terms of the GNU General Public License version 2 only, as
7 * published by the Free Software Foundation.
8 *
9 * This code is distributed in the hope that it will be useful, but WITHOUT
10 * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
11 * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
12 * version 2 for more details (a copy is included in the LICENSE file that
13 * accompanied this code).
14 *
15 * You should have received a copy of the GNU General Public License version
16 * 2 along with this work; if not, write to the Free Software Foundation,
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
25provider hotspot {
26  probe class__loaded(char*, uintptr_t, void*, uintptr_t);
27  probe class__unloaded(char*, uintptr_t, void*, uintptr_t);
28  probe class__initialization__required(char*, uintptr_t, void*, intptr_t);
29  probe class__initialization__recursive(char*, uintptr_t, void*, intptr_t,int);
30  probe class__initialization__concurrent(char*, uintptr_t, void*, intptr_t,int);
31  probe class__initialization__erroneous(char*, uintptr_t, void*, intptr_t, int);
32  probe class__initialization__super__failed(char*, uintptr_t, void*, intptr_t,int);
33  probe class__initialization__clinit(char*, uintptr_t, void*, intptr_t,int);
34  probe class__initialization__error(char*, uintptr_t, void*, intptr_t,int);
35  probe class__initialization__end(char*, uintptr_t, void*, intptr_t,int);
36  probe vm__init__begin();
37  probe vm__init__end();
38  probe vm__shutdown();
39  probe vmops__request(char*, uintptr_t, int);
40  probe vmops__begin(char*, uintptr_t, int);
41  probe vmops__end(char*, uintptr_t, int);
42  probe gc__begin(uintptr_t);
43  probe gc__end();
44  probe mem__pool__gc__begin(
45    char*, uintptr_t, char*, uintptr_t,
46    uintptr_t, uintptr_t, uintptr_t, uintptr_t);
47  probe mem__pool__gc__end(
48    char*, uintptr_t, char*, uintptr_t,
49    uintptr_t, uintptr_t, uintptr_t, uintptr_t);
50  probe thread__start(char*, uintptr_t, uintptr_t, uintptr_t, uintptr_t);
51  probe thread__stop(char*, uintptr_t, uintptr_t, uintptr_t, uintptr_t);
52  probe thread__sleep__begin(long long);
53  probe thread__sleep__end(int);
54  probe thread__yield();
55  probe thread__park__begin(uintptr_t, int, long long);
56  probe thread__park__end(uintptr_t);
57  probe thread__unpark(uintptr_t);
58  probe method__compile__begin(
59    char*, uintptr_t, char*, uintptr_t, char*, uintptr_t, char*, uintptr_t);
60  probe method__compile__end(
61    char*, uintptr_t, char*, uintptr_t, char*, uintptr_t,
62    char*, uintptr_t, uintptr_t);
63  probe compiled__method__load(
64    char*, uintptr_t, char*, uintptr_t, char*, uintptr_t, void*, uintptr_t);
65  probe compiled__method__unload(
66    char*, uintptr_t, char*, uintptr_t, char*, uintptr_t);
67  probe monitor__contended__enter(uintptr_t, uintptr_t, char*, uintptr_t);
68  probe monitor__contended__entered(uintptr_t, uintptr_t, char*, uintptr_t);
69  probe monitor__contended__exit(uintptr_t, uintptr_t, char*, uintptr_t);
70  probe monitor__wait(uintptr_t, uintptr_t, char*, uintptr_t, uintptr_t);
71  probe monitor__waited(uintptr_t, uintptr_t, char*, uintptr_t);
72  probe monitor__notify(uintptr_t, uintptr_t, char*, uintptr_t);
73  probe monitor__notifyAll(uintptr_t, uintptr_t, char*, uintptr_t);
74
75  probe object__alloc(int, char*, uintptr_t, uintptr_t);
76  probe method__entry(
77    int, char*, int, char*, int, char*, int);
78  probe method__return(
79    int, char*, int, char*, int, char*, int);
80};
81
82#pragma D attributes Evolving/Evolving/Common provider hotspot provider
83#pragma D attributes Private/Private/Unknown provider hotspot module
84#pragma D attributes Private/Private/Unknown provider hotspot function
85#pragma D attributes Evolving/Evolving/Common provider hotspot name
86#pragma D attributes Evolving/Evolving/Common provider hotspot args
87