< prev index next >

src/hotspot/share/classfile/javaClasses.hpp

Print this page
rev 50339 : 8203824: Chain exception from initialization in later NoClassDefFoundErrors.

@@ -202,13 +202,16 @@
   static int _component_mirror_offset;
 
   static bool offsets_computed;
   static int classRedefinedCount_offset;
 
+  static int _exceptionThrownDuringClinit_offset;
+
   static GrowableArray<Klass*>* _fixup_mirror_list;
   static GrowableArray<Klass*>* _fixup_module_field_list;
 
+
   static void set_init_lock(oop java_class, oop init_lock);
   static void set_protection_domain(oop java_class, oop protection_domain);
   static void set_class_loader(oop java_class, oop class_loader);
   static void set_component_mirror(oop java_class, oop comp_mirror);
   static void initialize_mirror_fields(Klass* k, Handle mirror, Handle protection_domain, TRAPS);

@@ -266,10 +269,13 @@
 
   static oop class_loader(oop java_class);
   static void set_module(oop java_class, oop module);
   static oop module(oop java_class);
 
+  // Accessor for field containing exception thrown during class initialization.
+  static oop exceptionThrownDuringClinit(oop java_class);
+
   static int oop_size(oop java_class);
   static void set_oop_size(oop java_class, int size);
   static int static_oop_field_count(oop java_class);
   static void set_static_oop_field_count(oop java_class, int size);
 

@@ -470,10 +476,11 @@
     trace_chunk_size     = 32
   };
 
   static int backtrace_offset;
   static int detailMessage_offset;
+  static int cause_offset;
   static int stackTrace_offset;
   static int depth_offset;
   static int static_unassigned_stacktrace_offset;
 
   // StackTrace (programmatic access, new since 1.4)

@@ -493,10 +500,11 @@
   static int get_detailMessage_offset() { return detailMessage_offset;}
   // Message
   static oop message(oop throwable);
   static void set_message(oop throwable, oop value);
   static Symbol* detail_message(oop throwable);
+  static void set_cause(oop throwable, oop cause);
   static void print_stack_element(outputStream *st, const methodHandle& method, int bci);
   static void print_stack_usage(Handle stream);
 
   static void compute_offsets();
   static void serialize(SerializeClosure* f) NOT_CDS_RETURN;
< prev index next >