src/share/vm/prims/jvmtiEnv.cpp
Print this page
*** 1,7 ****
/*
! * Copyright (c) 2003, 2011, Oracle and/or its affiliates. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
* This code is free software; you can redistribute it and/or modify it
* under the terms of the GNU General Public License version 2 only, as
* published by the Free Software Foundation.
--- 1,7 ----
/*
! * Copyright (c) 2003, 2012, Oracle and/or its affiliates. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
* This code is free software; you can redistribute it and/or modify it
* under the terms of the GNU General Public License version 2 only, as
* published by the Free Software Foundation.
*** 2539,2557 ****
klassOop k = java_lang_Class::as_klassOop(k_mirror);
NULL_CHECK(k, JVMTI_ERROR_INVALID_CLASS);
if (!Klass::cast(k)->oop_is_instance()) {
return JVMTI_ERROR_ABSENT_INFORMATION;
}
! Symbol* sdeOop = instanceKlass::cast(k)->source_debug_extension();
! NULL_CHECK(sdeOop, JVMTI_ERROR_ABSENT_INFORMATION);
{
! JavaThread* current_thread = JavaThread::current();
! ResourceMark rm(current_thread);
! const char* sdecp = (const char*) sdeOop->as_C_string();
! *source_debug_extension_ptr = (char *) jvmtiMalloc(strlen(sdecp)+1);
! strcpy(*source_debug_extension_ptr, sdecp);
}
}
return JVMTI_ERROR_NONE;
} /* end GetSourceDebugExtension */
--- 2539,2554 ----
klassOop k = java_lang_Class::as_klassOop(k_mirror);
NULL_CHECK(k, JVMTI_ERROR_INVALID_CLASS);
if (!Klass::cast(k)->oop_is_instance()) {
return JVMTI_ERROR_ABSENT_INFORMATION;
}
! char* sde = instanceKlass::cast(k)->source_debug_extension();
! NULL_CHECK(sde, JVMTI_ERROR_ABSENT_INFORMATION);
{
! *source_debug_extension_ptr = (char *) jvmtiMalloc(strlen(sde)+1);
! strcpy(*source_debug_extension_ptr, sde);
}
}
return JVMTI_ERROR_NONE;
} /* end GetSourceDebugExtension */