Mercurial > hg > graal-jvmci-8
comparison src/share/vm/ci/ciEnv.cpp @ 8104:f16e75e0cf11
8000797: NPG: is_pseudo_string_at() doesn't work
Summary: Zero Symbol* for constant pool strings to indicate pseudo_strings (objects that aren't strings). Clean up JVM_CONSTANT_Object and unused flags.
Reviewed-by: sspitsyn, jrose
author | coleenp |
---|---|
date | Fri, 22 Feb 2013 08:36:42 -0500 |
parents | df8462fbe585 |
children | 5fc51c1ecdeb 2dec1d9bfbe1 |
comparison
equal
deleted
inserted
replaced
8103:5ed317b25e23 | 8104:f16e75e0cf11 |
---|---|
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); |