Mercurial > hg > truffle
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"); |