comparison src/share/vm/classfile/javaClasses.hpp @ 23286:dd9cc155639c

Merge with jdk8u66-b17
author Gilles Duboscq <gilles.m.duboscq@oracle.com>
date Thu, 07 Jan 2016 17:28:46 +0100
parents 0f0645e8e047 7d8724b3c156
children f13e777eb255
comparison
equal deleted inserted replaced
22786:ac649db7fec4 23286:dd9cc155639c
1 /* 1 /*
2 * Copyright (c) 1997, 2014, Oracle and/or its affiliates. All rights reserved. 2 * Copyright (c) 1997, 2015, 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.
273 (*reference_klass) = KlassHandle(refk_oop); 273 (*reference_klass) = KlassHandle(refk_oop);
274 return result; 274 return result;
275 } 275 }
276 static Symbol* as_signature(oop java_class, bool intern_if_not_found, TRAPS); 276 static Symbol* as_signature(oop java_class, bool intern_if_not_found, TRAPS);
277 static void print_signature(oop java_class, outputStream *st); 277 static void print_signature(oop java_class, outputStream *st);
278 static const char* as_external_name(oop java_class);
278 // Testing 279 // Testing
279 static bool is_instance(oop obj) { 280 static bool is_instance(oop obj) {
280 return obj != NULL && obj->klass() == SystemDictionary::Class_klass(); 281 return obj != NULL && obj->klass() == SystemDictionary::Class_klass();
281 } 282 }
282 static bool is_primitive(oop java_class); 283 static bool is_primitive(oop java_class);
487 // Trace constants 488 // Trace constants
488 enum { 489 enum {
489 trace_methods_offset = 0, 490 trace_methods_offset = 0,
490 trace_bcis_offset = 1, 491 trace_bcis_offset = 1,
491 trace_mirrors_offset = 2, 492 trace_mirrors_offset = 2,
492 trace_next_offset = 3, 493 trace_cprefs_offset = 3,
493 trace_size = 4, 494 trace_next_offset = 4,
495 trace_size = 5,
494 trace_chunk_size = 32 496 trace_chunk_size = 32
495 }; 497 };
496 498
497 static int backtrace_offset; 499 static int backtrace_offset;
498 static int detailMessage_offset; 500 static int detailMessage_offset;
499 static int cause_offset; 501 static int cause_offset;
500 static int stackTrace_offset; 502 static int stackTrace_offset;
501 static int static_unassigned_stacktrace_offset; 503 static int static_unassigned_stacktrace_offset;
502 504
503 // Printing 505 // Printing
504 static char* print_stack_element_to_buffer(Handle mirror, int method, int version, int bci); 506 static char* print_stack_element_to_buffer(Handle mirror, int method, int version, int bci, int cpref);
505 // StackTrace (programmatic access, new since 1.4) 507 // StackTrace (programmatic access, new since 1.4)
506 static void clear_stacktrace(oop throwable); 508 static void clear_stacktrace(oop throwable);
507 // No stack trace available 509 // No stack trace available
508 static const char* no_stack_trace_message(); 510 static const char* no_stack_trace_message();
509 // Stacktrace (post JDK 1.7.0 to allow immutability protocol to be followed) 511 // Stacktrace (post JDK 1.7.0 to allow immutability protocol to be followed)
520 // Message 522 // Message
521 static oop message(oop throwable); 523 static oop message(oop throwable);
522 static oop message(Handle throwable); 524 static oop message(Handle throwable);
523 static void set_message(oop throwable, oop value); 525 static void set_message(oop throwable, oop value);
524 static void print_stack_element(outputStream *st, Handle mirror, int method, 526 static void print_stack_element(outputStream *st, Handle mirror, int method,
525 int version, int bci); 527 int version, int bci, int cpref);
526 static void print_stack_element(outputStream *st, methodHandle method, int bci); 528 static void print_stack_element(outputStream *st, methodHandle method, int bci);
527 static void print_stack_usage(Handle stream); 529 static void print_stack_usage(Handle stream);
528 530
529 // Allocate space for backtrace (created but stack trace not filled in) 531 // Allocate space for backtrace (created but stack trace not filled in)
530 static void allocate_backtrace(Handle throwable, TRAPS); 532 static void allocate_backtrace(Handle throwable, TRAPS);
1098 static int flags(oop mname); 1100 static int flags(oop mname);
1099 static void set_flags(oop mname, int flags); 1101 static void set_flags(oop mname, int flags);
1100 1102
1101 static Metadata* vmtarget(oop mname); 1103 static Metadata* vmtarget(oop mname);
1102 static void set_vmtarget(oop mname, Metadata* target); 1104 static void set_vmtarget(oop mname, Metadata* target);
1103 #if INCLUDE_JVMTI
1104 static void adjust_vmtarget(oop mname, Method* old_method, Method* new_method,
1105 bool* trace_name_printed);
1106 #endif // INCLUDE_JVMTI
1107 1105
1108 static intptr_t vmindex(oop mname); 1106 static intptr_t vmindex(oop mname);
1109 static void set_vmindex(oop mname, intptr_t index); 1107 static void set_vmindex(oop mname, intptr_t index);
1110 1108
1111 // Testers 1109 // Testers
1329 static void set_methodName(oop element, oop value); 1327 static void set_methodName(oop element, oop value);
1330 static void set_fileName(oop element, oop value); 1328 static void set_fileName(oop element, oop value);
1331 static void set_lineNumber(oop element, int value); 1329 static void set_lineNumber(oop element, int value);
1332 1330
1333 // Create an instance of StackTraceElement 1331 // Create an instance of StackTraceElement
1334 static oop create(Handle mirror, int method, int version, int bci, TRAPS); 1332 static oop create(Handle mirror, int method, int version, int bci, int cpref, TRAPS);
1335 static oop create(methodHandle method, int bci, TRAPS); 1333 static oop create(methodHandle method, int bci, TRAPS);
1336 1334
1337 // Debugging 1335 // Debugging
1338 friend class JavaClasses; 1336 friend class JavaClasses;
1339 }; 1337 };