comparison src/share/vm/graal/graalCodeInstaller.cpp @ 4232:382523fc390c

jsr return addresses are valid in registers
author Christian Wimmer <Christian.Wimmer@Oracle.com>
date Thu, 05 Jan 2012 17:02:13 -0800
parents 8074251d1e05
children 3c21eee8ab4d
comparison
equal deleted inserted replaced
4231:d713eaf4d288 4232:382523fc390c
113 if (type == T_OBJECT || type == T_ARRAY) locationType = Location::oop; 113 if (type == T_OBJECT || type == T_ARRAY) locationType = Location::oop;
114 114
115 if (value->is_a(CiRegisterValue::klass())) { 115 if (value->is_a(CiRegisterValue::klass())) {
116 jint number = CiRegister::number(CiRegisterValue::reg(value)); 116 jint number = CiRegister::number(CiRegisterValue::reg(value));
117 if (number < 16) { 117 if (number < 16) {
118 if (type == T_INT || type == T_FLOAT || type == T_SHORT || type == T_CHAR || type == T_BOOLEAN || type == T_BYTE) { 118 if (type == T_INT || type == T_FLOAT || type == T_SHORT || type == T_CHAR || type == T_BOOLEAN || type == T_BYTE || type == T_ADDRESS) {
119 locationType = Location::int_in_long; 119 locationType = Location::int_in_long;
120 } else if (type == T_LONG) { 120 } else if (type == T_LONG) {
121 locationType = Location::lng; 121 locationType = Location::lng;
122 } else { 122 } else {
123 assert(type == T_OBJECT || type == T_ARRAY, "unexpected type in cpu register"); 123 assert(type == T_OBJECT || type == T_ARRAY, "unexpected type in cpu register");