< prev index next >

hotspot/src/share/vm/classfile/javaClasses.hpp

Print this page

        

*** 1346,1360 **** --- 1346,1442 ---- static void set_lineNumber(oop element, int value); // Create an instance of StackTraceElement static oop create(Handle mirror, int method, int version, int bci, int cpref, TRAPS); static oop create(methodHandle method, int bci, TRAPS); + static void init(Handle element, Handle mirror, int method, int version, int bci, int cpref, TRAPS); + + + // Debugging + friend class JavaClasses; + }; + + + class BackTrace: AllStatic { + public: + // Helper backtrace functions to store bci|version together. + static int merge_bci_and_version(int bci, int version); + + static int merge_mid_and_cpref(int mid, int cpref); + + static int bci_at(unsigned int merged); + + static int version_at(unsigned int merged); + + static int mid_at(unsigned int merged); + + static int cpref_at(unsigned int merged); + + static int get_line_number(methodHandle method, int bci); + + static Symbol* get_source_file_name(InstanceKlass* holder, int version); + + // Debugging + friend class JavaClasses; + }; + + // Interface to java.lang.StackFrameInfo objects + + class java_lang_StackFrameInfo: AllStatic { + private: + static int declaringClass_offset; + static int memberName_offset; + static int mid_offset; + static int bci_offset; + + static int methodName_offset; + static int fileName_offset; + static int lineNumber_offset; + + static Method* get_method(Handle stackFrame, InstanceKlass* holder, TRAPS); + static Symbol* get_file_name(Handle stackFrame, InstanceKlass* holder); + + public: + // Setters + static void set_declaringClass(oop info, oop value); + static void set_methodName(oop info, oop value); + static void set_fileName(oop info, oop value); + static void set_lineNumber(oop info, int value); + + static void set_mid(oop info, int value); + static void set_bci(oop info, int value); + + static void compute_offsets(); + + static int bci(oop info); + static oop member_name(oop info); + + // set method info in an instance of StackFrameInfo + static void fill_methodInfo(Handle info, TRAPS); // Debugging friend class JavaClasses; }; + class java_lang_LiveStackFrameInfo: AllStatic { + private: + + static int monitors_offset; + static int locals_offset; + static int operands_offset; + + public: + + static void set_monitors(oop info, oop value); + static void set_locals(oop info, oop value); + static void set_operands(oop info, oop value); + + static void compute_offsets(); + + // Debugging + friend class JavaClasses; + }; // Interface to java.lang.AssertionStatusDirectives objects class java_lang_AssertionStatusDirectives: AllStatic { private:
< prev index next >