(instruction: &Instruction)
| 1442 | let value2 = state.pop_category1(context, instruction_index)?; |
| 1443 | state.stack.push(value2.clone()); |
| 1444 | state.stack.push(value1.clone()); |
| 1445 | state.stack.push(value2); |
| 1446 | state.stack.push(value1); |
| 1447 | } |
| 1448 | } |
| 1449 | I::Dup_x2 | I::Dup2_x1 | I::Dup2_x2 => { |
| 1450 | return Err(jvm::Error::VerificationError { |
| 1451 | context: context.to_string(), |
| 1452 | message: format!( |
| 1453 | "Stack-map builder does not yet support {:?} at instruction {instruction_index}", |
| 1454 | instruction |
| 1455 | ), |
| 1456 | }); |
| 1457 | } |
| 1458 | |
| 1459 | I::Iadd | I::Isub | I::Imul | I::Idiv | I::Irem | I::Iand | I::Ior | I::Ixor => { |
| 1460 | binary(&mut state, FrameValue::Integer, context, instruction_index)? |
| 1461 | } |
| 1462 | I::Ladd | I::Lsub | I::Lmul | I::Ldiv | I::Lrem | I::Land | I::Lor | I::Lxor => { |
| 1463 | binary(&mut state, FrameValue::Long, context, instruction_index)? |
| 1464 | } |
| 1465 | I::Fadd | I::Fsub | I::Fmul | I::Fdiv | I::Frem => { |
| 1466 | binary(&mut state, FrameValue::Float, context, instruction_index)? |
| 1467 | } |
| 1468 | I::Dadd | I::Dsub | I::Dmul | I::Ddiv | I::Drem => { |
| 1469 | binary(&mut state, FrameValue::Double, context, instruction_index)? |
| 1470 | } |
| 1471 | I::Ineg => unary(&mut state, FrameValue::Integer, context, instruction_index)?, |
| 1472 | I::Lneg => unary(&mut state, FrameValue::Long, context, instruction_index)?, |
| 1473 | I::Fneg => unary(&mut state, FrameValue::Float, context, instruction_index)?, |
| 1474 | I::Dneg => unary(&mut state, FrameValue::Double, context, instruction_index)?, |
| 1475 | I::Ishl | I::Ishr | I::Iushr => { |
| 1476 | shift(&mut state, FrameValue::Integer, context, instruction_index)? |
| 1477 | } |
| 1478 | I::Lshl | I::Lshr | I::Lushr => { |
| 1479 | shift(&mut state, FrameValue::Long, context, instruction_index)? |
| 1480 | } |
| 1481 | I::Iinc(local, _) => state.store_local(u16::from(*local), FrameValue::Integer), |
no test coverage detected