< prev index next >

src/hotspot/share/interpreter/bytecode.hpp

Print this page
*** 250,18 ***
    // Testers
    bool is_getfield() const                       { return java_code() == Bytecodes::_getfield; }
    bool is_putfield() const                       { return java_code() == Bytecodes::_putfield; }
    bool is_getstatic() const                      { return java_code() == Bytecodes::_getstatic; }
    bool is_putstatic() const                      { return java_code() == Bytecodes::_putstatic; }
  
    bool is_getter() const                         { return is_getfield()  || is_getstatic(); }
    bool is_static() const                         { return is_getstatic() || is_putstatic(); }
  
    bool is_valid() const                          { return is_getfield()   ||
                                                            is_putfield()   ||
                                                            is_getstatic()  ||
!                                                           is_putstatic(); }
    void verify() const;
  };
  
  // Abstraction for checkcast
  class Bytecode_checkcast: public Bytecode {
--- 250,20 ---
    // Testers
    bool is_getfield() const                       { return java_code() == Bytecodes::_getfield; }
    bool is_putfield() const                       { return java_code() == Bytecodes::_putfield; }
    bool is_getstatic() const                      { return java_code() == Bytecodes::_getstatic; }
    bool is_putstatic() const                      { return java_code() == Bytecodes::_putstatic; }
+   bool is_withfield() const                      { return java_code() == Bytecodes::_withfield; }
  
    bool is_getter() const                         { return is_getfield()  || is_getstatic(); }
    bool is_static() const                         { return is_getstatic() || is_putstatic(); }
  
    bool is_valid() const                          { return is_getfield()   ||
                                                            is_putfield()   ||
                                                            is_getstatic()  ||
!                                                           is_putstatic()  ||
+                                                           is_withfield(); }
    void verify() const;
  };
  
  // Abstraction for checkcast
  class Bytecode_checkcast: public Bytecode {

*** 290,10 ***
--- 292,19 ---
  
    // Returns index
    long index() const   { return get_index_u2(Bytecodes::_new); };
  };
  
+ class Bytecode_defaultvalue: public Bytecode {
+  public:
+   Bytecode_defaultvalue(Method* method, address bcp): Bytecode(method, bcp) { verify(); }
+   void verify() const { assert(java_code() == Bytecodes::_defaultvalue, "check defaultvalue"); }
+ 
+   // Returns index
+   long index() const   { return get_index_u2(Bytecodes::_defaultvalue); };
+ };
+ 
  class Bytecode_multianewarray: public Bytecode {
   public:
    Bytecode_multianewarray(Method* method, address bcp): Bytecode(method, bcp) { verify(); }
    void verify() const { assert(java_code() == Bytecodes::_multianewarray, "check new"); }
  
< prev index next >