25 #ifndef SHARE_VM_PRIMS_JVMTIENVTHREADSTATE_HPP 26 #define SHARE_VM_PRIMS_JVMTIENVTHREADSTATE_HPP 27 28 #include "jvmtifiles/jvmti.h" 29 #include "memory/allocation.hpp" 30 #include "oops/instanceKlass.hpp" 31 #include "prims/jvmtiEventController.hpp" 32 #include "utilities/globalDefinitions.hpp" 33 #include "utilities/growableArray.hpp" 34 35 class JvmtiEnv; 36 37 /////////////////////////////////////////////////////////////// 38 // 39 // class JvmtiFramePop 40 // Used by : JvmtiFramePops 41 // Used by JVMTI methods: none directly. 42 // 43 // Wrapper class for FramePop, used in the JvmtiFramePops class. 44 // 45 // Two problems: 1) this isn't being used as a ValueObj class, in 46 // several places there are constructors for it. 2) It seems like 47 // overkill as a means to get an assert and name the geater than 48 // operator. I'm trying to to rewrite everything. 49 50 class JvmtiFramePop { 51 private: 52 // Frame number counting from BOTTOM (oldest) frame; 53 // bottom frame == #0 54 int _frame_number; 55 public: 56 JvmtiFramePop() {} 57 JvmtiFramePop(int frame_number) { 58 assert(frame_number >= 0, "invalid frame number"); 59 _frame_number = frame_number; 60 } 61 62 int frame_number() { return _frame_number; } 63 int above_on_stack(JvmtiFramePop& other) { return _frame_number > other._frame_number; } 64 void print() PRODUCT_RETURN; 65 }; 66 67 | 25 #ifndef SHARE_VM_PRIMS_JVMTIENVTHREADSTATE_HPP 26 #define SHARE_VM_PRIMS_JVMTIENVTHREADSTATE_HPP 27 28 #include "jvmtifiles/jvmti.h" 29 #include "memory/allocation.hpp" 30 #include "oops/instanceKlass.hpp" 31 #include "prims/jvmtiEventController.hpp" 32 #include "utilities/globalDefinitions.hpp" 33 #include "utilities/growableArray.hpp" 34 35 class JvmtiEnv; 36 37 /////////////////////////////////////////////////////////////// 38 // 39 // class JvmtiFramePop 40 // Used by : JvmtiFramePops 41 // Used by JVMTI methods: none directly. 42 // 43 // Wrapper class for FramePop, used in the JvmtiFramePops class. 44 // 45 // Two problems: 1) this isn't being used as a value class, in 46 // several places there are constructors for it. 2) It seems like 47 // overkill as a means to get an assert and name the greater than 48 // operator. I'm trying to to rewrite everything. 49 50 class JvmtiFramePop { 51 private: 52 // Frame number counting from BOTTOM (oldest) frame; 53 // bottom frame == #0 54 int _frame_number; 55 public: 56 JvmtiFramePop() {} 57 JvmtiFramePop(int frame_number) { 58 assert(frame_number >= 0, "invalid frame number"); 59 _frame_number = frame_number; 60 } 61 62 int frame_number() { return _frame_number; } 63 int above_on_stack(JvmtiFramePop& other) { return _frame_number > other._frame_number; } 64 void print() PRODUCT_RETURN; 65 }; 66 67 |