src/hotspot/share/oops/generateOopMap.cpp
changeset 58722 cba8afa5cfed
parent 53838 c8c9bd65c198
child 59056 15936b142f86
equal deleted inserted replaced
58720:ae0af9fb3dbb 58722:cba8afa5cfed
     1 /*
     1 /*
     2  * Copyright (c) 1997, 2018, Oracle and/or its affiliates. All rights reserved.
     2  * Copyright (c) 1997, 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.
  1991 }
  1991 }
  1992 
  1992 
  1993 // This is used to parse the signature for fields, since they are very simple...
  1993 // This is used to parse the signature for fields, since they are very simple...
  1994 CellTypeState *GenerateOopMap::sigchar_to_effect(char sigch, int bci, CellTypeState *out) {
  1994 CellTypeState *GenerateOopMap::sigchar_to_effect(char sigch, int bci, CellTypeState *out) {
  1995   // Object and array
  1995   // Object and array
  1996   if (sigch=='L' || sigch=='[') {
  1996   if (sigch==JVM_SIGNATURE_CLASS || sigch==JVM_SIGNATURE_ARRAY) {
  1997     out[0] = CellTypeState::make_line_ref(bci);
  1997     out[0] = CellTypeState::make_line_ref(bci);
  1998     out[1] = CellTypeState::bottom;
  1998     out[1] = CellTypeState::bottom;
  1999     return out;
  1999     return out;
  2000   }
  2000   }
  2001   if (sigch == 'J' || sigch == 'D' ) return vvCTS;  // Long and Double
  2001   if (sigch == JVM_SIGNATURE_LONG || sigch == JVM_SIGNATURE_DOUBLE) return vvCTS;  // Long and Double
  2002   if (sigch == 'V' ) return epsilonCTS;             // Void
  2002   if (sigch == JVM_SIGNATURE_VOID) return epsilonCTS; // Void
  2003   return vCTS;                                      // Otherwise
  2003   return vCTS;                                        // Otherwise
  2004 }
  2004 }
  2005 
  2005 
  2006 long GenerateOopMap::_total_byte_count = 0;
  2006 long GenerateOopMap::_total_byte_count = 0;
  2007 elapsedTimer GenerateOopMap::_total_oopmap_time;
  2007 elapsedTimer GenerateOopMap::_total_oopmap_time;
  2008 
  2008