hotspot/src/share/vm/oops/method.cpp
changeset 23515 f4872ef5df09
parent 21198 dd647e8d1d72
child 23519 9a78876cefeb
equal deleted inserted replaced
23514:8cc4189d9a2a 23515:f4872ef5df09
     1 /*
     1 /*
     2  * Copyright (c) 1997, 2013, Oracle and/or its affiliates. All rights reserved.
     2  * Copyright (c) 1997, 2014, 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.
   575   return name() == vmSymbols::class_initializer_name() &&
   575   return name() == vmSymbols::class_initializer_name() &&
   576          has_valid_initializer_flags();
   576          has_valid_initializer_flags();
   577 }
   577 }
   578 
   578 
   579 
   579 
   580 objArrayHandle Method::resolved_checked_exceptions_impl(Method* this_oop, TRAPS) {
   580 objArrayHandle Method::resolved_checked_exceptions_impl(Method* method, TRAPS) {
   581   int length = this_oop->checked_exceptions_length();
   581   int length = method->checked_exceptions_length();
   582   if (length == 0) {  // common case
   582   if (length == 0) {  // common case
   583     return objArrayHandle(THREAD, Universe::the_empty_class_klass_array());
   583     return objArrayHandle(THREAD, Universe::the_empty_class_klass_array());
   584   } else {
   584   } else {
   585     methodHandle h_this(THREAD, this_oop);
   585     methodHandle h_this(THREAD, method);
   586     objArrayOop m_oop = oopFactory::new_objArray(SystemDictionary::Class_klass(), length, CHECK_(objArrayHandle()));
   586     objArrayOop m_oop = oopFactory::new_objArray(SystemDictionary::Class_klass(), length, CHECK_(objArrayHandle()));
   587     objArrayHandle mirrors (THREAD, m_oop);
   587     objArrayHandle mirrors (THREAD, m_oop);
   588     for (int i = 0; i < length; i++) {
   588     for (int i = 0; i < length; i++) {
   589       CheckedExceptionElement* table = h_this->checked_exceptions_start(); // recompute on each iteration, not gc safe
   589       CheckedExceptionElement* table = h_this->checked_exceptions_start(); // recompute on each iteration, not gc safe
   590       Klass* k = h_this->constants()->klass_at(table[i].class_cp_index, CHECK_(objArrayHandle()));
   590       Klass* k = h_this->constants()->klass_at(table[i].class_cp_index, CHECK_(objArrayHandle()));