hotspot/src/share/vm/oops/cpCacheOop.hpp
changeset 6062 bab93afe9df7
parent 5882 6b2aecc4f7d8
child 6064 71e316283a85
equal deleted inserted replaced
5929:279fd26a4b68 6062:bab93afe9df7
   183   void set_dynamic_call(
   183   void set_dynamic_call(
   184     Handle call_site,                            // Resolved java.dyn.CallSite (f1)
   184     Handle call_site,                            // Resolved java.dyn.CallSite (f1)
   185     methodHandle signature_invoker               // determines signature information
   185     methodHandle signature_invoker               // determines signature information
   186   );
   186   );
   187 
   187 
       
   188   // For JVM_CONSTANT_InvokeDynamic cache entries:
       
   189   void initialize_bootstrap_method_index_in_cache(int bsm_cache_index);
       
   190   int  bootstrap_method_index_in_cache();
       
   191 
   188   void set_parameter_size(int value) {
   192   void set_parameter_size(int value) {
   189     assert(parameter_size() == 0 || parameter_size() == value,
   193     assert(parameter_size() == 0 || parameter_size() == value,
   190            "size must not change");
   194            "size must not change");
   191     // Setting the parameter size by itself is only safe if the
   195     // Setting the parameter size by itself is only safe if the
   192     // current value of _flags is 0, otherwise another thread may have
   196     // current value of _flags is 0, otherwise another thread may have
   232   int main_entry_index() const                   { assert((_indices & 0xFFFF) == 0, "must be secondary entry");
   236   int main_entry_index() const                   { assert((_indices & 0xFFFF) == 0, "must be secondary entry");
   233                                                    return ((uintx)_indices >> 16); }
   237                                                    return ((uintx)_indices >> 16); }
   234   Bytecodes::Code bytecode_1() const             { return Bytecodes::cast((_indices >> 16) & 0xFF); }
   238   Bytecodes::Code bytecode_1() const             { return Bytecodes::cast((_indices >> 16) & 0xFF); }
   235   Bytecodes::Code bytecode_2() const             { return Bytecodes::cast((_indices >> 24) & 0xFF); }
   239   Bytecodes::Code bytecode_2() const             { return Bytecodes::cast((_indices >> 24) & 0xFF); }
   236   volatile oop  f1() const                       { return _f1; }
   240   volatile oop  f1() const                       { return _f1; }
       
   241   bool is_f1_null() const                        { return (oop)_f1 == NULL; }  // classifies a CPC entry as unbound
   237   intx f2() const                                { return _f2; }
   242   intx f2() const                                { return _f2; }
   238   int  field_index() const;
   243   int  field_index() const;
   239   int  parameter_size() const                    { return _flags & 0xFF; }
   244   int  parameter_size() const                    { return _flags & 0xFF; }
   240   bool is_vfinal() const                         { return ((_flags & (1 << vfinalMethod)) == (1 << vfinalMethod)); }
   245   bool is_vfinal() const                         { return ((_flags & (1 << vfinalMethod)) == (1 << vfinalMethod)); }
   241   bool is_volatile() const                       { return ((_flags & (1 << volatileField)) == (1 << volatileField)); }
   246   bool is_volatile() const                       { return ((_flags & (1 << volatileField)) == (1 << volatileField)); }