equal
deleted
inserted
replaced
1 /* |
1 /* |
2 * Copyright (c) 1999, 2012, Oracle and/or its affiliates. All rights reserved. |
2 * Copyright (c) 1999, 2013, 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. |
595 return ciConstant(); |
595 return ciConstant(); |
596 } |
596 } |
597 assert (klass->is_instance_klass() || klass->is_array_klass(), |
597 assert (klass->is_instance_klass() || klass->is_array_klass(), |
598 "must be an instance or array klass "); |
598 "must be an instance or array klass "); |
599 return ciConstant(T_OBJECT, klass->java_mirror()); |
599 return ciConstant(T_OBJECT, klass->java_mirror()); |
600 } else if (tag.is_object()) { |
|
601 oop obj = cpool->object_at(index); |
|
602 ciObject* ciobj = get_object(obj); |
|
603 return ciConstant(T_OBJECT, ciobj); |
|
604 } else if (tag.is_method_type()) { |
600 } else if (tag.is_method_type()) { |
605 // must execute Java code to link this CP entry into cache[i].f1 |
601 // must execute Java code to link this CP entry into cache[i].f1 |
606 ciSymbol* signature = get_symbol(cpool->method_type_signature_at(index)); |
602 ciSymbol* signature = get_symbol(cpool->method_type_signature_at(index)); |
607 ciObject* ciobj = get_unloaded_method_type_constant(signature); |
603 ciObject* ciobj = get_unloaded_method_type_constant(signature); |
608 return ciConstant(T_OBJECT, ciobj); |
604 return ciConstant(T_OBJECT, ciobj); |