< prev index next >
src/jdk.jdwp.agent/share/native/libjdwp/util.c
Print this page
*** 290,299 ****
--- 290,300 ----
}
jboolean
isObjectTag(jbyte tag) {
return (tag == JDWP_TAG(OBJECT)) ||
+ (tag == JDWP_TAG(INLINE_OBJECT)) ||
(tag == JDWP_TAG(STRING)) ||
(tag == JDWP_TAG(THREAD)) ||
(tag == JDWP_TAG(THREAD_GROUP)) ||
(tag == JDWP_TAG(CLASS_LOADER)) ||
(tag == JDWP_TAG(CLASS_OBJECT)) ||
*** 348,364 ****
/*
* For primitive types, the type key is bounced back as is. Objects
* are handled in the switch statement below.
*/
! if ((typeKey != JDWP_TAG(OBJECT)) && (typeKey != JDWP_TAG(ARRAY))) {
(void)outStream_writeByte(out, typeKey);
}
switch (typeKey) {
case JDWP_TAG(OBJECT):
! case JDWP_TAG(ARRAY): {
jobject value = JNI_FUNC_PTR(env,GetObjectField)(env, object, field);
(void)outStream_writeByte(out, specificTypeKey(env, value));
(void)outStream_writeObjectRef(env, out, value);
break;
}
--- 349,366 ----
/*
* For primitive types, the type key is bounced back as is. Objects
* are handled in the switch statement below.
*/
! if ((typeKey != JDWP_TAG(OBJECT)) && (typeKey != JDWP_TAG(ARRAY)) && (typeKey != JDWP_TAG(INLINE_OBJECT))) {
(void)outStream_writeByte(out, typeKey);
}
switch (typeKey) {
case JDWP_TAG(OBJECT):
! case JDWP_TAG(ARRAY):
! case JDWP_TAG(INLINE_OBJECT): {
jobject value = JNI_FUNC_PTR(env,GetObjectField)(env, object, field);
(void)outStream_writeByte(out, specificTypeKey(env, value));
(void)outStream_writeObjectRef(env, out, value);
break;
}
*** 423,439 ****
/*
* For primitive types, the type key is bounced back as is. Objects
* are handled in the switch statement below.
*/
! if ((typeKey != JDWP_TAG(OBJECT)) && (typeKey != JDWP_TAG(ARRAY))) {
(void)outStream_writeByte(out, typeKey);
}
switch (typeKey) {
case JDWP_TAG(OBJECT):
! case JDWP_TAG(ARRAY): {
jobject value = JNI_FUNC_PTR(env,GetStaticObjectField)(env, clazz, field);
(void)outStream_writeByte(out, specificTypeKey(env, value));
(void)outStream_writeObjectRef(env, out, value);
break;
}
--- 425,442 ----
/*
* For primitive types, the type key is bounced back as is. Objects
* are handled in the switch statement below.
*/
! if ((typeKey != JDWP_TAG(OBJECT)) && (typeKey != JDWP_TAG(ARRAY)) && (typeKey != JDWP_TAG(INLINE_OBJECT))) {
(void)outStream_writeByte(out, typeKey);
}
switch (typeKey) {
case JDWP_TAG(OBJECT):
! case JDWP_TAG(ARRAY):
! case JDWP_TAG(INLINE_OBJECT): {
jobject value = JNI_FUNC_PTR(env,GetStaticObjectField)(env, clazz, field);
(void)outStream_writeByte(out, specificTypeKey(env, value));
(void)outStream_writeObjectRef(env, out, value);
break;
}
< prev index next >