src/share/vm/code/nmethod.hpp

changeset 2603
1b4e6a5d98e0
parent 2511
bf8517f4e4d0
child 2621
3d5a546351ef
child 2624
46a56fac55c7
equal deleted inserted replaced
2602:41d4973cf100 2603:1b4e6a5d98e0
32 // exception/pc/handler information. 32 // exception/pc/handler information.
33 33
34 class ExceptionCache : public CHeapObj { 34 class ExceptionCache : public CHeapObj {
35 friend class VMStructs; 35 friend class VMStructs;
36 private: 36 private:
37 static address _unwind_handler;
38 enum { cache_size = 16 }; 37 enum { cache_size = 16 };
39 klassOop _exception_type; 38 klassOop _exception_type;
40 address _pc[cache_size]; 39 address _pc[cache_size];
41 address _handler[cache_size]; 40 address _handler[cache_size];
42 int _count; 41 int _count;
60 59
61 address match(Handle exception, address pc); 60 address match(Handle exception, address pc);
62 bool match_exception_with_space(Handle exception) ; 61 bool match_exception_with_space(Handle exception) ;
63 address test_address(address addr); 62 address test_address(address addr);
64 bool add_address_and_handler(address addr, address handler) ; 63 bool add_address_and_handler(address addr, address handler) ;
65
66 static address unwind_handler() { return _unwind_handler; }
67 }; 64 };
68 65
69 66
70 // cache pc descs found in earlier inquiries 67 // cache pc descs found in earlier inquiries
71 class PcDescCache VALUE_OBJ_CLASS_SPEC { 68 class PcDescCache VALUE_OBJ_CLASS_SPEC {

mercurial