Mercurial > hg > graal-compiler
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); |