1.1 --- a/src/share/vm/interpreter/oopMapCache.hpp Fri Sep 26 03:42:38 2014 -0700 1.2 +++ b/src/share/vm/interpreter/oopMapCache.hpp Mon Sep 29 13:12:48 2014 +0200 1.3 @@ -101,32 +101,31 @@ 1.4 1.5 // access methods 1.6 Method* method() const { return _method; } 1.7 - void set_method(Method* v) { _method = v; } 1.8 + void set_method(Method* v) { _method = v; } 1.9 int bci() const { return _bci; } 1.10 void set_bci(int v) { _bci = v; } 1.11 int mask_size() const { return _mask_size; } 1.12 void set_mask_size(int v) { _mask_size = v; } 1.13 - int number_of_entries() const { return mask_size() / bits_per_entry; } 1.14 // Test bit mask size and return either the in-line bit mask or allocated 1.15 // bit mask. 1.16 - uintptr_t* bit_mask() { return (uintptr_t*)(mask_size() <= small_mask_limit ? (intptr_t)_bit_mask : _bit_mask[0]); } 1.17 + uintptr_t* bit_mask() const { return (uintptr_t*)(mask_size() <= small_mask_limit ? (intptr_t)_bit_mask : _bit_mask[0]); } 1.18 1.19 // return the word size of_bit_mask. mask_size() <= 4 * MAX_USHORT 1.20 - size_t mask_word_size() { 1.21 + size_t mask_word_size() const { 1.22 return (mask_size() + BitsPerWord - 1) / BitsPerWord; 1.23 } 1.24 1.25 - uintptr_t entry_at(int offset) { int i = offset * bits_per_entry; return bit_mask()[i / BitsPerWord] >> (i % BitsPerWord); } 1.26 + uintptr_t entry_at(int offset) const { int i = offset * bits_per_entry; return bit_mask()[i / BitsPerWord] >> (i % BitsPerWord); } 1.27 1.28 - void set_expression_stack_size(int sz) { _expression_stack_size = sz; } 1.29 + void set_expression_stack_size(int sz) { _expression_stack_size = sz; } 1.30 1.31 #ifdef ENABLE_ZAP_DEAD_LOCALS 1.32 - bool is_dead(int offset) { return (entry_at(offset) & (1 << dead_bit_number)) != 0; } 1.33 + bool is_dead(int offset) const { return (entry_at(offset) & (1 << dead_bit_number)) != 0; } 1.34 #endif 1.35 1.36 // Lookup 1.37 - bool match(methodHandle method, int bci) { return _method == method() && _bci == bci; } 1.38 - bool is_empty(); 1.39 + bool match(methodHandle method, int bci) const { return _method == method() && _bci == bci; } 1.40 + bool is_empty() const; 1.41 1.42 // Initialization 1.43 void initialize(); 1.44 @@ -141,12 +140,13 @@ 1.45 // in-line), allocate the space from a Resource area. 1.46 void resource_copy(OopMapCacheEntry* from); 1.47 1.48 - void iterate_oop(OffsetClosure* oop_closure); 1.49 - void print(); 1.50 + void iterate_oop(OffsetClosure* oop_closure) const; 1.51 + void print() const; 1.52 1.53 - bool is_oop (int offset) { return (entry_at(offset) & (1 << oop_bit_number )) != 0; } 1.54 + int number_of_entries() const { return mask_size() / bits_per_entry; } 1.55 + bool is_oop (int offset) const { return (entry_at(offset) & (1 << oop_bit_number )) != 0; } 1.56 1.57 - int expression_stack_size() { return _expression_stack_size; } 1.58 + int expression_stack_size() const { return _expression_stack_size; } 1.59 1.60 #ifdef ENABLE_ZAP_DEAD_LOCALS 1.61 void iterate_all(OffsetClosure* oop_closure, OffsetClosure* value_closure, OffsetClosure* dead_closure); 1.62 @@ -161,10 +161,10 @@ 1.63 1.64 OopMapCacheEntry* _array; 1.65 1.66 - unsigned int hash_value_for(methodHandle method, int bci); 1.67 + unsigned int hash_value_for(methodHandle method, int bci) const; 1.68 OopMapCacheEntry* entry_at(int i) const; 1.69 1.70 - Mutex _mut; 1.71 + mutable Mutex _mut; 1.72 1.73 void flush(); 1.74 1.75 @@ -177,7 +177,7 @@ 1.76 1.77 // Returns the oopMap for (method, bci) in parameter "entry". 1.78 // Returns false if an oop map was not found. 1.79 - void lookup(methodHandle method, int bci, InterpreterOopMap* entry); 1.80 + void lookup(methodHandle method, int bci, InterpreterOopMap* entry) const; 1.81 1.82 // Compute an oop map without updating the cache or grabbing any locks (for debugging) 1.83 static void compute_one_oop_map(methodHandle method, int bci, InterpreterOopMap* entry);