src/share/vm/jfr/jni/jfrUpcalls.hpp

Tue, 29 Oct 2019 19:53:30 -0300

author
mbalao
date
Tue, 29 Oct 2019 19:53:30 -0300
changeset 9886
986b79fabfa0
parent 9858
b985cbb00e68
permissions
-rw-r--r--

8231995: two jtreg tests failed after 8229366 is fixed
Reviewed-by: jbachorik

     1 /*
     2  * Copyright (c) 2016, 2018, 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  */
    25 #ifndef SHARE_VM_JFR_JNI_JFRUPCALLS_HPP
    26 #define SHARE_VM_JFR_JNI_JFRUPCALLS_HPP
    28 #include "jni.h"
    29 #include "jfr/utilities/jfrAllocation.hpp"
    30 #include "utilities/exceptions.hpp"
    32 class JavaThread;
    34 //
    35 // Upcalls to Java for instrumentation purposes.
    36 // Targets are located in jdk.jfr.internal.JVMUpcalls.
    37 //
    38 class JfrUpcalls : AllStatic {
    39  public:
    40   static void new_bytes_eager_instrumentation(jlong trace_id,
    41                                               jboolean force_instrumentation,
    42                                               jclass super,
    43                                               jint class_data_len,
    44                                               const unsigned char* class_data,
    45                                               jint* new_class_data_len,
    46                                               unsigned char** new_class_data,
    47                                               TRAPS);
    49   static void on_retransform(jlong trace_id,
    50                              jclass class_being_redefined,
    51                              jint class_data_len,
    52                              const unsigned char* class_data,
    53                              jint* new_class_data_len,
    54                              unsigned char** new_class_data,
    55                              TRAPS);
    57   static instanceKlassHandle load_event_handler_proxy_class(TRAPS);
    58 };
    60 #endif // SHARE_VM_JFR_JNI_JFRUPCALLS_HPP

mercurial