hotspot/src/share/vm/oops/methodData.cpp
changeset 46630 75aa3e39d02c
parent 46625 edefffab74e2
child 46746 ea379ebb9447
equal deleted inserted replaced
46629:8eeacdc76bf2 46630:75aa3e39d02c
     1 /*
     1 /*
     2  * Copyright (c) 2000, 2016, Oracle and/or its affiliates. All rights reserved.
     2  * Copyright (c) 2000, 2017, 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.
   777   case Bytecodes::_ifnonnull:
   777   case Bytecodes::_ifnonnull:
   778     return BranchData::static_cell_count();
   778     return BranchData::static_cell_count();
   779   case Bytecodes::_lookupswitch:
   779   case Bytecodes::_lookupswitch:
   780   case Bytecodes::_tableswitch:
   780   case Bytecodes::_tableswitch:
   781     return variable_cell_count;
   781     return variable_cell_count;
   782   }
   782   default:
   783   return no_profile_data;
   783     return no_profile_data;
       
   784   }
   784 }
   785 }
   785 
   786 
   786 // Compute the size of the profiling information corresponding to
   787 // Compute the size of the profiling information corresponding to
   787 // the current bytecode.
   788 // the current bytecode.
   788 int MethodData::compute_data_size(BytecodeStream* stream) {
   789 int MethodData::compute_data_size(BytecodeStream* stream) {
  1045     break;
  1046     break;
  1046   case Bytecodes::_lookupswitch:
  1047   case Bytecodes::_lookupswitch:
  1047   case Bytecodes::_tableswitch:
  1048   case Bytecodes::_tableswitch:
  1048     cell_count = MultiBranchData::compute_cell_count(stream);
  1049     cell_count = MultiBranchData::compute_cell_count(stream);
  1049     tag = DataLayout::multi_branch_data_tag;
  1050     tag = DataLayout::multi_branch_data_tag;
       
  1051     break;
       
  1052   default:
  1050     break;
  1053     break;
  1051   }
  1054   }
  1052   assert(tag == DataLayout::multi_branch_data_tag ||
  1055   assert(tag == DataLayout::multi_branch_data_tag ||
  1053          ((MethodData::profile_arguments() || MethodData::profile_return()) &&
  1056          ((MethodData::profile_arguments() || MethodData::profile_return()) &&
  1054           (tag == DataLayout::call_type_data_tag ||
  1057           (tag == DataLayout::call_type_data_tag ||