< prev index next >

src/hotspot/share/interpreter/templateTable.cpp

Print this page
@@ -157,11 +157,12 @@
  
  //----------------------------------------------------------------------------------------------------
  // Implementation of TemplateTable: Debugging
  
  void TemplateTable::transition(TosState tos_in, TosState tos_out) {
-   assert(_desc->tos_in()  == tos_in , "inconsistent tos_in  information");
+   assert(_desc->tos_in()  == tos_in,
+          "inconsistent tos_in  information");
    assert(_desc->tos_out() == tos_out, "inconsistent tos_out information");
  }
  
  
  //----------------------------------------------------------------------------------------------------

@@ -228,10 +229,11 @@
    const int  ____ = 0;
    const int  ubcp = 1 << Template::uses_bcp_bit;
    const int  disp = 1 << Template::does_dispatch_bit;
    const int  clvm = 1 << Template::calls_vm_bit;
    const int  iswd = 1 << Template::wide_bit;
+ 
    //                                    interpr. templates
    // Java spec bytecodes                ubcp|disp|clvm|iswd  in    out   generator             argument
    def(Bytecodes::_nop                 , ____|____|____|____, vtos, vtos, nop                 ,  _           );
    def(Bytecodes::_aconst_null         , ____|____|____|____, vtos, atos, aconst_null         ,  _           );
    def(Bytecodes::_iconst_m1           , ____|____|____|____, vtos, itos, iconst              , -1           );

@@ -280,11 +282,11 @@
    def(Bytecodes::_aload_3             , ____|____|____|____, vtos, atos, aload               ,  3           );
    def(Bytecodes::_iaload              , ____|____|____|____, itos, itos, iaload              ,  _           );
    def(Bytecodes::_laload              , ____|____|____|____, itos, ltos, laload              ,  _           );
    def(Bytecodes::_faload              , ____|____|____|____, itos, ftos, faload              ,  _           );
    def(Bytecodes::_daload              , ____|____|____|____, itos, dtos, daload              ,  _           );
-   def(Bytecodes::_aaload              , ____|____|____|____, itos, atos, aaload              ,  _           );
+   def(Bytecodes::_aaload              , ____|____|clvm|____, itos, atos, aaload              ,  _           );
    def(Bytecodes::_baload              , ____|____|____|____, itos, itos, baload              ,  _           );
    def(Bytecodes::_caload              , ____|____|____|____, itos, itos, caload              ,  _           );
    def(Bytecodes::_saload              , ____|____|____|____, itos, itos, saload              ,  _           );
    def(Bytecodes::_istore              , ubcp|____|clvm|____, itos, vtos, istore              ,  _           );
    def(Bytecodes::_lstore              , ubcp|____|____|____, ltos, vtos, lstore              ,  _           );

@@ -432,10 +434,11 @@
    def(Bytecodes::_multianewarray      , ubcp|____|clvm|____, vtos, atos, multianewarray      ,  _           );
    def(Bytecodes::_ifnull              , ubcp|____|clvm|____, atos, vtos, if_nullcmp          , equal        );
    def(Bytecodes::_ifnonnull           , ubcp|____|clvm|____, atos, vtos, if_nullcmp          , not_equal    );
    def(Bytecodes::_goto_w              , ubcp|____|clvm|____, vtos, vtos, goto_w              ,  _           );
    def(Bytecodes::_jsr_w               , ubcp|____|____|____, vtos, vtos, jsr_w               ,  _           );
+   def(Bytecodes::_breakpoint          , ubcp|disp|clvm|____, vtos, vtos, _breakpoint         ,  _           );
  
    // wide Java spec bytecodes
    def(Bytecodes::_iload               , ubcp|____|____|iswd, vtos, itos, wide_iload          ,  _           );
    def(Bytecodes::_lload               , ubcp|____|____|iswd, vtos, ltos, wide_lload          ,  _           );
    def(Bytecodes::_fload               , ubcp|____|____|iswd, vtos, ftos, wide_fload          ,  _           );

@@ -450,19 +453,21 @@
    def(Bytecodes::_ret                 , ubcp|disp|____|iswd, vtos, vtos, wide_ret            ,  _           );
    def(Bytecodes::_breakpoint          , ubcp|disp|clvm|____, vtos, vtos, _breakpoint         ,  _           );
  
    // JVM bytecodes
    def(Bytecodes::_fast_agetfield      , ubcp|____|____|____, atos, atos, fast_accessfield    ,  atos        );
+   def(Bytecodes::_fast_vgetfield      , ubcp|____|clvm|____, atos, atos, fast_accessfield    ,  atos        );
    def(Bytecodes::_fast_bgetfield      , ubcp|____|____|____, atos, itos, fast_accessfield    ,  itos        );
    def(Bytecodes::_fast_cgetfield      , ubcp|____|____|____, atos, itos, fast_accessfield    ,  itos        );
    def(Bytecodes::_fast_dgetfield      , ubcp|____|____|____, atos, dtos, fast_accessfield    ,  dtos        );
    def(Bytecodes::_fast_fgetfield      , ubcp|____|____|____, atos, ftos, fast_accessfield    ,  ftos        );
    def(Bytecodes::_fast_igetfield      , ubcp|____|____|____, atos, itos, fast_accessfield    ,  itos        );
    def(Bytecodes::_fast_lgetfield      , ubcp|____|____|____, atos, ltos, fast_accessfield    ,  ltos        );
    def(Bytecodes::_fast_sgetfield      , ubcp|____|____|____, atos, itos, fast_accessfield    ,  itos        );
  
    def(Bytecodes::_fast_aputfield      , ubcp|____|____|____, atos, vtos, fast_storefield ,   atos        );
+   def(Bytecodes::_fast_vputfield      , ubcp|____|clvm|____, atos, vtos, fast_storefield ,   atos        );
    def(Bytecodes::_fast_bputfield      , ubcp|____|____|____, itos, vtos, fast_storefield ,   itos        );
    def(Bytecodes::_fast_zputfield      , ubcp|____|____|____, itos, vtos, fast_storefield ,   itos        );
    def(Bytecodes::_fast_cputfield      , ubcp|____|____|____, itos, vtos, fast_storefield  ,  itos        );
    def(Bytecodes::_fast_dputfield      , ubcp|____|____|____, dtos, vtos, fast_storefield  ,  dtos        );
    def(Bytecodes::_fast_fputfield      , ubcp|____|____|____, ftos, vtos, fast_storefield  ,  ftos        );

@@ -495,10 +500,11 @@
    def(Bytecodes::_nofast_putfield     , ubcp|____|clvm|____, vtos, vtos, nofast_putfield     , f2_byte      );
  
    def(Bytecodes::_nofast_aload_0      , ____|____|clvm|____, vtos, atos, nofast_aload_0      ,  _           );
    def(Bytecodes::_nofast_iload        , ubcp|____|clvm|____, vtos, itos, nofast_iload        ,  _           );
  
+ 
    def(Bytecodes::_shouldnotreachhere   , ____|____|____|____, vtos, vtos, shouldnotreachhere ,  _           );
  }
  
  void TemplateTable::unimplemented_bc() {
    _masm->unimplemented( Bytecodes::name(_desc->bytecode()));
< prev index next >