Path: blob/master/test/hotspot/jtreg/vmTestbase/nsk/share/JVMDITools.cpp
40948 views
/*1* Copyright (c) 2001, 2018, Oracle and/or its affiliates. All rights reserved.2* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.3*4* This code is free software; you can redistribute it and/or modify it5* under the terms of the GNU General Public License version 2 only, as6* published by the Free Software Foundation.7*8* This code is distributed in the hope that it will be useful, but WITHOUT9* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or10* FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License11* version 2 for more details (a copy is included in the LICENSE file that12* accompanied this code).13*14* You should have received a copy of the GNU General Public License version15* 2 along with this work; if not, write to the Free Software Foundation,16* Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.17*18* Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA19* or visit www.oracle.com if you need additional information or have any20* questions.21*/2223#include "jvmdi.h"24#include "JVMDITools.h"2526extern "C" {2728char const *TranslateEvent(jint kind) {29switch (kind) {30case JVMDI_EVENT_SINGLE_STEP:31return ("JVMDI_EVENT_SINGLE_STEP");32case JVMDI_EVENT_BREAKPOINT:33return ("JVMDI_EVENT_BREAKPOINT");34case JVMDI_EVENT_FRAME_POP:35return ("JVMDI_EVENT_FRAME_POP");36case JVMDI_EVENT_EXCEPTION:37return ("JVMDI_EVENT_EXCEPTION");38case JVMDI_EVENT_USER_DEFINED:39return ("JVMDI_EVENT_USER_DEFINED");40case JVMDI_EVENT_THREAD_START:41return ("JVMDI_EVENT_THREAD_START");42case JVMDI_EVENT_THREAD_END:43return ("JVMDI_EVENT_THREAD_END");44case JVMDI_EVENT_CLASS_PREPARE:45return ("JVMDI_EVENT_CLASS_PREPARE");46case JVMDI_EVENT_CLASS_UNLOAD:47return ("JVMDI_EVENT_CLASS_UNLOAD");48case JVMDI_EVENT_CLASS_LOAD:49return ("JVMDI_EVENT_CLASS_LOAD");50case JVMDI_EVENT_FIELD_ACCESS:51return ("JVMDI_EVENT_FIELD_ACCESS");52case JVMDI_EVENT_FIELD_MODIFICATION:53return ("JVMDI_EVENT_FIELD_MODIFICATION");54case JVMDI_EVENT_EXCEPTION_CATCH:55return ("JVMDI_EVENT_EXCEPTION_CATCH");56case JVMDI_EVENT_METHOD_ENTRY:57return ("JVMDI_EVENT_METHOD_ENTRY");58case JVMDI_EVENT_METHOD_EXIT:59return ("JVMDI_EVENT_METHOD_EXIT");60case JVMDI_EVENT_VM_INIT:61return ("JVMDI_EVENT_VM_INIT");62case JVMDI_EVENT_VM_DEATH:63return ("JVMDI_EVENT_VM_DEATH");64default:65return ("<Unknown Event>");66}67}6869char const *TranslateError(jvmdiError err) {70switch (err) {71case JVMDI_ERROR_NONE:72return ("JVMDI_ERROR_NONE");73case JVMDI_ERROR_OUT_OF_MEMORY:74return ("JVMDI_ERROR_OUT_OF_MEMORY");75case JVMDI_ERROR_ACCESS_DENIED:76return ("JVMDI_ERROR_ACCESS_DENIED");77case JVMDI_ERROR_UNATTACHED_THREAD:78return ("JVMDI_ERROR_UNATTACHED_THREAD");79case JVMDI_ERROR_VM_DEAD:80return ("JVMDI_ERROR_VM_DEAD");81case JVMDI_ERROR_INTERNAL:82return ("JVMDI_ERROR_INTERNAL");83case JVMDI_ERROR_INVALID_THREAD:84return ("JVMDI_ERROR_INVALID_THREAD");85case JVMDI_ERROR_INVALID_FIELDID:86return ("JVMDI_ERROR_INVALID_FIELDID");87case JVMDI_ERROR_INVALID_METHODID:88return ("JVMDI_ERROR_INVALID_METHODID");89case JVMDI_ERROR_INVALID_LOCATION:90return ("JVMDI_ERROR_INVALID_LOCATION");91case JVMDI_ERROR_INVALID_FRAMEID:92return ("JVMDI_ERROR_INVALID_FRAMEID");93case JVMDI_ERROR_NO_MORE_FRAMES:94return ("JVMDI_ERROR_NO_MORE_FRAMES");95case JVMDI_ERROR_OPAQUE_FRAME:96return ("JVMDI_ERROR_OPAQUE_FRAME");97case JVMDI_ERROR_NOT_CURRENT_FRAME:98return ("JVMDI_ERROR_NOT_CURRENT_FRAME");99case JVMDI_ERROR_TYPE_MISMATCH:100return ("JVMDI_ERROR_TYPE_MISMATCH");101case JVMDI_ERROR_INVALID_SLOT:102return ("JVMDI_ERROR_INVALID_SLOT");103case JVMDI_ERROR_DUPLICATE:104return ("JVMDI_ERROR_DUPLICATE");105case JVMDI_ERROR_THREAD_NOT_SUSPENDED:106return ("JVMDI_ERROR_THREAD_NOT_SUSPENDED");107case JVMDI_ERROR_THREAD_SUSPENDED:108return ("JVMDI_ERROR_THREAD_SUSPENDED");109case JVMDI_ERROR_INVALID_OBJECT:110return ("JVMDI_ERROR_INVALID_OBJECT");111case JVMDI_ERROR_INVALID_CLASS:112return ("JVMDI_ERROR_INVALID_CLASS");113case JVMDI_ERROR_CLASS_NOT_PREPARED:114return ("JVMDI_ERROR_CLASS_NOT_PREPARED");115case JVMDI_ERROR_NULL_POINTER:116return ("JVMDI_ERROR_NULL_POINTER");117case JVMDI_ERROR_ABSENT_INFORMATION:118return ("JVMDI_ERROR_ABSENT_INFORMATION");119case JVMDI_ERROR_INVALID_EVENT_TYPE:120return ("JVMDI_ERROR_INVALID_EVENT_TYPE");121case JVMDI_ERROR_NOT_IMPLEMENTED:122return ("JVMDI_ERROR_NOT_IMPLEMENTED");123case JVMDI_ERROR_INVALID_THREAD_GROUP:124return ("JVMDI_ERROR_INVALID_THREAD_GROUP");125case JVMDI_ERROR_INVALID_PRIORITY:126return ("JVMDI_ERROR_INVALID_PRIORITY");127case JVMDI_ERROR_NOT_FOUND:128return ("JVMDI_ERROR_NOT_FOUND");129case JVMDI_ERROR_INVALID_MONITOR:130return ("JVMDI_ERROR_INVALID_MONITOR");131case JVMDI_ERROR_ILLEGAL_ARGUMENT:132return ("JVMDI_ERROR_ILLEGAL_ARGUMENT");133case JVMDI_ERROR_NOT_MONITOR_OWNER:134return ("JVMDI_ERROR_NOT_MONITOR_OWNER");135case JVMDI_ERROR_INTERRUPT:136return ("JVMDI_ERROR_INTERRUPT");137case JVMDI_ERROR_INVALID_TYPESTATE:138return ("JVMDI_ERROR_INVALID_TYPESTATE");139case JVMDI_ERROR_INVALID_CLASS_FORMAT:140return ("JVMDI_ERROR_INVALID_CLASS_FORMAT");141case JVMDI_ERROR_CIRCULAR_CLASS_DEFINITION:142return ("JVMDI_ERROR_CIRCULAR_CLASS_DEFINITION");143case JVMDI_ERROR_ADD_METHOD_NOT_IMPLEMENTED:144return ("JVMDI_ERROR_ADD_METHOD_NOT_IMPLEMENTED");145case JVMDI_ERROR_SCHEMA_CHANGE_NOT_IMPLEMENTED:146return ("JVMDI_ERROR_SCHEMA_CHANGE_NOT_IMPLEMENTED");147case JVMDI_ERROR_FAILS_VERIFICATION:148return ("JVMDI_ERROR_FAILS_VERIFICATION");149#ifdef JVMDI_VERSION_1_2150case JVMDI_ERROR_UNSUPPORTED_VERSION:151return ("JVMDI_ERROR_UNSUPPORTED_VERSION");152case JVMDI_ERROR_HIERARCHY_CHANGE_NOT_IMPLEMENTED:153return ("JVMDI_ERROR_HIERARCHY_CHANGE_NOT_IMPLEMENTED");154case JVMDI_ERROR_DELETE_METHOD_NOT_IMPLEMENTED:155return ("JVMDI_ERROR_DELETE_METHOD_NOT_IMPLEMENTED");156case JVMDI_ERROR_NAMES_DONT_MATCH:157return ("JVMDI_ERROR_NAMES_DONT_MATCH");158case JVMDI_ERROR_CLASS_MODIFIERS_CHANGE_NOT_IMPLEMENTED:159return ("JVMDI_ERROR_CLASS_MODIFIERS_CHANGE_NOT_IMPLEMENTED");160case JVMDI_ERROR_METHOD_MODIFIERS_CHANGE_NOT_IMPLEMENTED:161return ("JVMDI_ERROR_METHOD_MODIFIERS_CHANGE_NOT_IMPLEMENTED");162#endif163default:164return ("<Unknown Error>");165}166}167168}169170171