src/share/vm/interpreter/oopMapCache.hpp

changeset 7215
c204e2044c29
parent 4037
da91efe96a93
child 7535
7ae4e26cb1e0
child 7668
9cfc607cb03e
     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);

mercurial