233 }
234
235 inline jint BytecodeInterpreter::VMintRem(jint op1, jint op2) {
236 /* it's possible we could catch this special case implicitly */
237 if ((juint)op1 == 0x80000000 && op2 == -1) return 0;
238 else return op1 % op2;
239 }
240
241 inline jint BytecodeInterpreter::VMintShl(jint op1, jint op2) {
242 return op1 << op2;
243 }
244
245 inline jint BytecodeInterpreter::VMintShr(jint op1, jint op2) {
246 return op1 >> (op2 & 0x1f);
247 }
248
249 inline jint BytecodeInterpreter::VMintSub(jint op1, jint op2) {
250 return op1 - op2;
251 }
252
253 inline jint BytecodeInterpreter::VMintUshr(jint op1, jint op2) {
254 return ((juint) op1) >> (op2 & 0x1f);
255 }
256
257 inline jint BytecodeInterpreter::VMintXor(jint op1, jint op2) {
258 return op1 ^ op2;
259 }
260
261 inline jdouble BytecodeInterpreter::VMint2Double(jint val) {
262 return (jdouble) val;
263 }
264
265 inline jfloat BytecodeInterpreter::VMint2Float(jint val) {
266 return (jfloat) val;
267 }
268
269 inline jlong BytecodeInterpreter::VMint2Long(jint val) {
270 return (jlong) val;
271 }
272
273 inline jchar BytecodeInterpreter::VMint2Char(jint val) {
|
233 }
234
235 inline jint BytecodeInterpreter::VMintRem(jint op1, jint op2) {
236 /* it's possible we could catch this special case implicitly */
237 if ((juint)op1 == 0x80000000 && op2 == -1) return 0;
238 else return op1 % op2;
239 }
240
241 inline jint BytecodeInterpreter::VMintShl(jint op1, jint op2) {
242 return op1 << op2;
243 }
244
245 inline jint BytecodeInterpreter::VMintShr(jint op1, jint op2) {
246 return op1 >> (op2 & 0x1f);
247 }
248
249 inline jint BytecodeInterpreter::VMintSub(jint op1, jint op2) {
250 return op1 - op2;
251 }
252
253 inline juint BytecodeInterpreter::VMintUshr(jint op1, jint op2) {
254 return ((juint) op1) >> (op2 & 0x1f);
255 }
256
257 inline jint BytecodeInterpreter::VMintXor(jint op1, jint op2) {
258 return op1 ^ op2;
259 }
260
261 inline jdouble BytecodeInterpreter::VMint2Double(jint val) {
262 return (jdouble) val;
263 }
264
265 inline jfloat BytecodeInterpreter::VMint2Float(jint val) {
266 return (jfloat) val;
267 }
268
269 inline jlong BytecodeInterpreter::VMint2Long(jint val) {
270 return (jlong) val;
271 }
272
273 inline jchar BytecodeInterpreter::VMint2Char(jint val) {
|