hotspot/src/share/vm/classfile/javaClasses.hpp
changeset 37438 873c4aea8d1b
parent 37179 4dbcb3a642d2
child 37479 14a195eaf2c5
equal deleted inserted replaced
37437:f824aabc7af8 37438:873c4aea8d1b
  1362 };
  1362 };
  1363 
  1363 
  1364 // Interface to java.lang.StackFrameInfo objects
  1364 // Interface to java.lang.StackFrameInfo objects
  1365 
  1365 
  1366 #define STACKFRAMEINFO_INJECTED_FIELDS(macro)                      \
  1366 #define STACKFRAMEINFO_INJECTED_FIELDS(macro)                      \
  1367   macro(java_lang_StackFrameInfo, mid,     short_signature, false) \
  1367   macro(java_lang_StackFrameInfo, version, short_signature, false)
  1368   macro(java_lang_StackFrameInfo, version, short_signature, false) \
       
  1369   macro(java_lang_StackFrameInfo, cpref,   short_signature, false)
       
  1370 
  1368 
  1371 class java_lang_StackFrameInfo: AllStatic {
  1369 class java_lang_StackFrameInfo: AllStatic {
  1372 private:
  1370 private:
  1373   static int _declaringClass_offset;
  1371   static int _declaringClass_offset;
  1374   static int _memberName_offset;
  1372   static int _memberName_offset;
  1375   static int _bci_offset;
  1373   static int _bci_offset;
  1376   static int _methodName_offset;
       
  1377   static int _fileName_offset;
       
  1378   static int _lineNumber_offset;
       
  1379 
       
  1380   static int _mid_offset;
       
  1381   static int _version_offset;
  1374   static int _version_offset;
  1382   static int _cpref_offset;
       
  1383 
  1375 
  1384   static Method* get_method(Handle stackFrame, InstanceKlass* holder, TRAPS);
  1376   static Method* get_method(Handle stackFrame, InstanceKlass* holder, TRAPS);
  1385   static Symbol* get_file_name(Handle stackFrame, InstanceKlass* holder);
       
  1386 
  1377 
  1387 public:
  1378 public:
  1388   // Setters
  1379   // Setters
  1389   static void set_declaringClass(oop info, oop value);
  1380   static void set_declaringClass(oop info, oop value);
  1390   static void set_method_and_bci(Handle stackFrame, const methodHandle& method, int bci);
  1381   static void set_method_and_bci(Handle stackFrame, const methodHandle& method, int bci);
  1391   static void set_bci(oop info, int value);
  1382   static void set_bci(oop info, int value);
  1392 
  1383 
  1393   // set method info in an instance of StackFrameInfo
       
  1394   static void fill_methodInfo(Handle info, TRAPS);
       
  1395   static void set_methodName(oop info, oop value);
       
  1396   static void set_fileName(oop info, oop value);
       
  1397   static void set_lineNumber(oop info, int value);
       
  1398 
       
  1399   // these injected fields are only used if -XX:-MemberNameInStackFrame set
       
  1400   static void set_mid(oop info, short value);
       
  1401   static void set_version(oop info, short value);
  1384   static void set_version(oop info, short value);
  1402   static void set_cpref(oop info, short value);
  1385 
  1403 
  1386   static void compute_offsets();
  1404   static void compute_offsets();
  1387 
       
  1388   static void to_stack_trace_element(Handle stackFrame, Handle stack_trace_element, TRAPS);
  1405 
  1389 
  1406   // Debugging
  1390   // Debugging
  1407   friend class JavaClasses;
  1391   friend class JavaClasses;
  1408 };
  1392 };
  1409 
  1393