Mercurial > hg > graal-compiler
comparison src/share/vm/prims/nativeLookup.cpp @ 17889:386dd1c71858
8033150: invokestatic: IncompatibleClassChangeError trying to invoke static method from a parent in presence of conflicting defaults.
Summary: A static method should be preferred during method resolution over an overpass, search the current class as well as its superclasses.
Reviewed-by: acorn, coleenp, kamg
author | lfoltan |
---|---|
date | Mon, 14 Apr 2014 14:27:45 -0400 |
parents | a9becfeecd1b |
children | 52b4284cb496 |
comparison
equal
deleted
inserted
replaced
17887:cd3c534f8f4a | 17889:386dd1c71858 |
---|---|
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. |
406 Klass* k = SystemDictionary::resolve_or_fail(c_name, true, CATCH); | 406 Klass* k = SystemDictionary::resolve_or_fail(c_name, true, CATCH); |
407 instanceKlassHandle klass (THREAD, k); | 407 instanceKlassHandle klass (THREAD, k); |
408 | 408 |
409 // Find method and invoke standard lookup | 409 // Find method and invoke standard lookup |
410 methodHandle method (THREAD, | 410 methodHandle method (THREAD, |
411 klass->uncached_lookup_method(m_name, s_name)); | 411 klass->uncached_lookup_method(m_name, s_name, Klass::normal)); |
412 address result = lookup(method, in_base_library, CATCH); | 412 address result = lookup(method, in_base_library, CATCH); |
413 assert(in_base_library, "must be in basic library"); | 413 assert(in_base_library, "must be in basic library"); |
414 guarantee(result != NULL, "must be non NULL"); | 414 guarantee(result != NULL, "must be non NULL"); |
415 return result; | 415 return result; |
416 } | 416 } |