src/hotspot/share/classfile/bytecodeAssembler.cpp
changeset 58273 08a5148e7c4e
parent 49380 74518f9ca4b4
child 59056 15936b142f86
equal deleted inserted replaced
58272:e27564cd10e3 58273:08a5148e7c4e
     1 /*
     1 /*
     2  * Copyright (c) 2012, 2017, Oracle and/or its affiliates. All rights reserved.
     2  * Copyright (c) 2012, 2019, Oracle and/or its affiliates. All rights reserved.
     3  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
     3  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
     4  *
     4  *
     5  * This code is free software; you can redistribute it and/or modify it
     5  * This code is free software; you can redistribute it and/or modify it
     6  * under the terms of the GNU General Public License version 2 only, as
     6  * under the terms of the GNU General Public License version 2 only, as
     7  * published by the Free Software Foundation.
     7  * published by the Free Software Foundation.
   185     case T_SHORT:
   185     case T_SHORT:
   186     case T_INT:     iload(index); break;
   186     case T_INT:     iload(index); break;
   187     case T_FLOAT:   fload(index); break;
   187     case T_FLOAT:   fload(index); break;
   188     case T_DOUBLE:  dload(index); break;
   188     case T_DOUBLE:  dload(index); break;
   189     case T_LONG:    lload(index); break;
   189     case T_LONG:    lload(index); break;
   190     case T_OBJECT:
       
   191     case T_ARRAY:   aload(index); break;
       
   192     default:
   190     default:
       
   191       if (is_reference_type(bt)) {
       
   192                     aload(index);
       
   193                     break;
       
   194       }
   193       ShouldNotReachHere();
   195       ShouldNotReachHere();
   194   }
   196   }
   195 }
   197 }
   196 
   198 
   197 void BytecodeAssembler::checkcast(Symbol* sym) {
   199 void BytecodeAssembler::checkcast(Symbol* sym) {
   252     case T_SHORT:
   254     case T_SHORT:
   253     case T_INT:     ireturn(); break;
   255     case T_INT:     ireturn(); break;
   254     case T_FLOAT:   freturn(); break;
   256     case T_FLOAT:   freturn(); break;
   255     case T_DOUBLE:  dreturn(); break;
   257     case T_DOUBLE:  dreturn(); break;
   256     case T_LONG:    lreturn(); break;
   258     case T_LONG:    lreturn(); break;
   257     case T_OBJECT:
       
   258     case T_ARRAY:   areturn(); break;
       
   259     case T_VOID:    _return(); break;
   259     case T_VOID:    _return(); break;
   260     default:
   260     default:
       
   261       if (is_reference_type(bt)) {
       
   262                     areturn();
       
   263                     break;
       
   264       }
   261       ShouldNotReachHere();
   265       ShouldNotReachHere();
   262   }
   266   }
   263 }
   267 }