comparison src/share/vm/graal/graalCodeInstaller.cpp @ 17084:26f5733fb645

Fix the endianess issue, when using JSR/RET instruction and deoptimization happens in this subroutine
author Stefan Anzinger <stefan.anzinger@oracle.com>
date Tue, 09 Sep 2014 12:15:29 -0700
parents 4e2d34d7715b
children 6fcb6691fe5f
comparison
equal deleted inserted replaced
17083:2b7c005ae93a 17084:26f5733fb645
276 return value; 276 return value;
277 } else if (value->is_a(Constant::klass())){ 277 } else if (value->is_a(Constant::klass())){
278 record_metadata_in_constant(value, oop_recorder); 278 record_metadata_in_constant(value, oop_recorder);
279 if (value->is_a(PrimitiveConstant::klass())) { 279 if (value->is_a(PrimitiveConstant::klass())) {
280 assert(!reference, "unexpected primitive constant type"); 280 assert(!reference, "unexpected primitive constant type");
281 if (type == T_INT || type == T_FLOAT) { 281 if(value->is_a(RawConstant::klass())) {
282 jlong prim = PrimitiveConstant::primitive(value);
283 return new ConstantLongValue(prim);
284 } else if (type == T_INT || type == T_FLOAT) {
282 jint prim = (jint)PrimitiveConstant::primitive(value); 285 jint prim = (jint)PrimitiveConstant::primitive(value);
283 return new ConstantIntValue(prim); 286 return new ConstantIntValue(prim);
284 } else { 287 } else {
285 assert(type == T_LONG || type == T_DOUBLE, "unexpected primitive constant type"); 288 assert(type == T_LONG || type == T_DOUBLE, "unexpected primitive constant type");
286 jlong prim = PrimitiveConstant::primitive(value); 289 jlong prim = PrimitiveConstant::primitive(value);