aboutsummaryrefslogtreecommitdiff
path: root/src/share/vm/prims/jvmtiClassFileReconstituter.cpp
diff options
context:
space:
mode:
authorcoleenp <none@none>2012-07-12 14:26:25 -0400
committercoleenp <none@none>2012-07-12 14:26:25 -0400
commit5ec829023ccbd1d1cc455a82440f38feed38128e (patch)
treef66caa831a61d179d82e44ef419058f6a48cc5d4 /src/share/vm/prims/jvmtiClassFileReconstituter.cpp
parentf7ac340de4e90afc9e6f7f6792cacbd076526c12 (diff)
parentef7fcd9f98baa09d89ca0b68ef1e70ed956751c0 (diff)
Merge
Diffstat (limited to 'src/share/vm/prims/jvmtiClassFileReconstituter.cpp')
-rw-r--r--src/share/vm/prims/jvmtiClassFileReconstituter.cpp10
1 files changed, 7 insertions, 3 deletions
diff --git a/src/share/vm/prims/jvmtiClassFileReconstituter.cpp b/src/share/vm/prims/jvmtiClassFileReconstituter.cpp
index d7dfea5a9..60a801213 100644
--- a/src/share/vm/prims/jvmtiClassFileReconstituter.cpp
+++ b/src/share/vm/prims/jvmtiClassFileReconstituter.cpp
@@ -268,14 +268,18 @@ void JvmtiClassFileReconstituter::write_source_file_attribute() {
// JSR45| SourceDebugExtension_attribute {
// JSR45| u2 attribute_name_index;
// JSR45| u4 attribute_length;
-// JSR45| u2 sourcefile_index;
+// JSR45| u1 debug_extension[attribute_length];
// JSR45| }
void JvmtiClassFileReconstituter::write_source_debug_extension_attribute() {
assert(ikh()->source_debug_extension() != NULL, "caller must check");
write_attribute_name_index("SourceDebugExtension");
- write_u4(2); // always length 2
- write_u2(symbol_to_cpool_index(ikh()->source_debug_extension()));
+ int len = (int)strlen(ikh()->source_debug_extension());
+ write_u4(len);
+ u1* ext = (u1*)ikh()->source_debug_extension();
+ for (int i=0; i<len; i++) {
+ write_u1(ext[i]);
+ }
}
// Write (generic) Signature attribute