Mercurial > hg > graal-compiler
comparison src/share/vm/prims/jvmtiRedefineClasses.cpp @ 6203:04ade88d9712
6294277: java -Xdebug crashes on SourceDebugExtension attribute larger than 64K
Reviewed-by: sspitsyn, dholmes, coleenp, kamg
author | fparain |
---|---|
date | Mon, 09 Jul 2012 01:28:37 -0700 |
parents | d2a62e0f25eb |
children | e74da3c2b827 |
comparison
equal
deleted
inserted
replaced
6202:5a1f452f8f90 | 6203:04ade88d9712 |
---|---|
1 /* | 1 /* |
2 * Copyright (c) 2003, 2011, Oracle and/or its affiliates. All rights reserved. | 2 * Copyright (c) 2003, 2012, Oracle and/or its affiliates. All rights reserved. |
3 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. | 3 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. |
4 * | 4 * |
5 * This code is free software; you can redistribute it and/or modify it | 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 | 6 * under the terms of the GNU General Public License version 2 only, as |
7 * published by the Free Software Foundation. | 7 * published by the Free Software Foundation. |
3234 // Copy the "source file name" attribute from new class version | 3234 // Copy the "source file name" attribute from new class version |
3235 the_class->set_source_file_name(scratch_class->source_file_name()); | 3235 the_class->set_source_file_name(scratch_class->source_file_name()); |
3236 | 3236 |
3237 // Copy the "source debug extension" attribute from new class version | 3237 // Copy the "source debug extension" attribute from new class version |
3238 the_class->set_source_debug_extension( | 3238 the_class->set_source_debug_extension( |
3239 scratch_class->source_debug_extension()); | 3239 scratch_class->source_debug_extension(), |
3240 scratch_class->source_debug_extension() == NULL ? 0 : | |
3241 (int)strlen(scratch_class->source_debug_extension())); | |
3240 | 3242 |
3241 // Use of javac -g could be different in the old and the new | 3243 // Use of javac -g could be different in the old and the new |
3242 if (scratch_class->access_flags().has_localvariable_table() != | 3244 if (scratch_class->access_flags().has_localvariable_table() != |
3243 the_class->access_flags().has_localvariable_table()) { | 3245 the_class->access_flags().has_localvariable_table()) { |
3244 | 3246 |