equal
deleted
inserted
replaced
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 |