Mercurial > hg > graal-compiler
comparison src/share/vm/classfile/javaClasses.hpp @ 7624:b14da2e6f2dc
7174978: NPG: Fix bactrace builder for class redefinition
Summary: Remove Method* from backtrace but save version so redefine classes doesn't give inaccurate line numbers. Removed old Merlin API with duplicate code.
Reviewed-by: dholmes, sspitsyn
author | coleenp |
---|---|
date | Thu, 17 Jan 2013 13:40:31 -0500 |
parents | ade95d680b42 |
children | c73c3f2c5b3b |
comparison
equal
deleted
inserted
replaced
7623:203f64878aab | 7624:b14da2e6f2dc |
---|---|
1 /* | 1 /* |
2 * Copyright (c) 1997, 2012, Oracle and/or its affiliates. All rights reserved. | 2 * Copyright (c) 1997, 2013, 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. |
467 static int cause_offset; | 467 static int cause_offset; |
468 static int stackTrace_offset; | 468 static int stackTrace_offset; |
469 static int static_unassigned_stacktrace_offset; | 469 static int static_unassigned_stacktrace_offset; |
470 | 470 |
471 // Printing | 471 // Printing |
472 static char* print_stack_element_to_buffer(Method* method, int bci); | 472 static char* print_stack_element_to_buffer(Handle mirror, int method, int version, int bci); |
473 static void print_to_stream(Handle stream, const char* str); | |
474 // StackTrace (programmatic access, new since 1.4) | 473 // StackTrace (programmatic access, new since 1.4) |
475 static void clear_stacktrace(oop throwable); | 474 static void clear_stacktrace(oop throwable); |
476 // No stack trace available | 475 // No stack trace available |
477 static const char* no_stack_trace_message(); | 476 static const char* no_stack_trace_message(); |
478 // Stacktrace (post JDK 1.7.0 to allow immutability protocol to be followed) | 477 // Stacktrace (post JDK 1.7.0 to allow immutability protocol to be followed) |
488 static int get_detailMessage_offset() { return detailMessage_offset;} | 487 static int get_detailMessage_offset() { return detailMessage_offset;} |
489 // Message | 488 // Message |
490 static oop message(oop throwable); | 489 static oop message(oop throwable); |
491 static oop message(Handle throwable); | 490 static oop message(Handle throwable); |
492 static void set_message(oop throwable, oop value); | 491 static void set_message(oop throwable, oop value); |
493 // Print stack trace stored in exception by call-back to Java | 492 static void print_stack_element(outputStream *st, Handle mirror, int method, |
494 // Note: this is no longer used in Merlin, but we still suppport | 493 int version, int bci); |
495 // it for compatibility. | 494 static void print_stack_element(outputStream *st, methodHandle method, int bci); |
496 static void print_stack_trace(oop throwable, oop print_stream); | |
497 static void print_stack_element(Handle stream, Method* method, int bci); | |
498 static void print_stack_element(outputStream *st, Method* method, int bci); | |
499 static void print_stack_usage(Handle stream); | 495 static void print_stack_usage(Handle stream); |
500 | 496 |
501 // Allocate space for backtrace (created but stack trace not filled in) | 497 // Allocate space for backtrace (created but stack trace not filled in) |
502 static void allocate_backtrace(Handle throwable, TRAPS); | 498 static void allocate_backtrace(Handle throwable, TRAPS); |
503 // Fill in current stack trace for throwable with preallocated backtrace (no GC) | 499 // Fill in current stack trace for throwable with preallocated backtrace (no GC) |
1261 static void set_methodName(oop element, oop value); | 1257 static void set_methodName(oop element, oop value); |
1262 static void set_fileName(oop element, oop value); | 1258 static void set_fileName(oop element, oop value); |
1263 static void set_lineNumber(oop element, int value); | 1259 static void set_lineNumber(oop element, int value); |
1264 | 1260 |
1265 // Create an instance of StackTraceElement | 1261 // Create an instance of StackTraceElement |
1266 static oop create(methodHandle m, int bci, TRAPS); | 1262 static oop create(Handle mirror, int method, int version, int bci, TRAPS); |
1263 static oop create(methodHandle method, int bci, TRAPS); | |
1267 | 1264 |
1268 // Debugging | 1265 // Debugging |
1269 friend class JavaClasses; | 1266 friend class JavaClasses; |
1270 }; | 1267 }; |
1271 | 1268 |