MCPcopy Create free account
hub / github.com/IntegralPilot/rustc_codegen_jvm / load_hint_for_instruction

Function load_hint_for_instruction

src/lower2/stackmaps.rs:1444–1478  ·  view source on GitHub ↗
(instruction: &Instruction)

Source from the content-addressed store, hash-verified

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),

Callers 1

transfer_instructionFunction · 0.85

Calls 1

to_stringMethod · 0.80

Tested by

no test coverage detected