1 /* |
1 /* |
2 * Copyright (c) 2003, 2016, Oracle and/or its affiliates. All rights reserved. |
2 * Copyright (c) 2003, 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. |
42 } |
42 } |
43 } |
43 } |
44 |
44 |
45 bool VerificationType::resolve_and_check_assignability(instanceKlassHandle klass, Symbol* name, |
45 bool VerificationType::resolve_and_check_assignability(instanceKlassHandle klass, Symbol* name, |
46 Symbol* from_name, bool from_field_is_protected, bool from_is_array, bool from_is_object, TRAPS) { |
46 Symbol* from_name, bool from_field_is_protected, bool from_is_array, bool from_is_object, TRAPS) { |
|
47 HandleMark hm(THREAD); |
47 Klass* obj = SystemDictionary::resolve_or_fail( |
48 Klass* obj = SystemDictionary::resolve_or_fail( |
48 name, Handle(THREAD, klass->class_loader()), |
49 name, Handle(THREAD, klass->class_loader()), |
49 Handle(THREAD, klass->protection_domain()), true, CHECK_false); |
50 Handle(THREAD, klass->protection_domain()), true, CHECK_false); |
50 if (log_is_enabled(Debug, class, resolve)) { |
51 if (log_is_enabled(Debug, class, resolve)) { |
51 Verifier::trace_class_resolution(obj, klass()); |
52 Verifier::trace_class_resolution(obj, klass()); |