diff options
| -rw-r--r-- | zjit/src/hir.rs | 90 | ||||
| -rw-r--r-- | zjit/src/hir/opt_tests.rs | 1448 | ||||
| -rw-r--r-- | zjit/src/hir/tests.rs | 650 |
3 files changed, 1065 insertions, 1123 deletions
diff --git a/zjit/src/hir.rs b/zjit/src/hir.rs index 46b2bc905e..b8c7826aea 100644 --- a/zjit/src/hir.rs +++ b/zjit/src/hir.rs @@ -4585,8 +4585,8 @@ pub fn iseq_to_hir(iseq: *const rb_iseq_t) -> Result<Function, ParseError> { unsafe extern "C" { fn rb_iseq_event_flags(iseq: IseqPtr, pos: usize) -> rb_event_flag_t; } + let exit_id = fun.push_insn(block, Insn::Snapshot { state: exit_state.clone() }); if unsafe { rb_iseq_event_flags(iseq, insn_idx as usize) } != 0 { - let exit_id = fun.push_insn(block, Insn::Snapshot { state: exit_state.clone() }); fun.push_insn(block, Insn::PatchPoint { invariant: Invariant::NoTracePoint, state: exit_id }); } @@ -4612,26 +4612,22 @@ pub fn iseq_to_hir(iseq: *const rb_iseq_t) -> Result<Function, ParseError> { } YARVINSN_putstring => { let val = fun.push_insn(block, Insn::Const { val: Const::Value(get_arg(pc, 0)) }); - let exit_id = fun.push_insn(block, Insn::Snapshot { state: exit_state }); let insn_id = fun.push_insn(block, Insn::StringCopy { val, chilled: false, state: exit_id }); state.stack_push(insn_id); } YARVINSN_putchilledstring => { let val = fun.push_insn(block, Insn::Const { val: Const::Value(get_arg(pc, 0)) }); - let exit_id = fun.push_insn(block, Insn::Snapshot { state: exit_state }); let insn_id = fun.push_insn(block, Insn::StringCopy { val, chilled: true, state: exit_id }); state.stack_push(insn_id); } YARVINSN_putself => { state.stack_push(self_param); } YARVINSN_intern => { let val = state.stack_pop()?; - let exit_id = fun.push_insn(block, Insn::Snapshot { state: exit_state }); let insn_id = fun.push_insn(block, Insn::StringIntern { val, state: exit_id }); state.stack_push(insn_id); } YARVINSN_concatstrings => { let count = get_arg(pc, 0).as_u32(); - let exit_id = fun.push_insn(block, Insn::Snapshot { state: exit_state }); let strings = state.stack_pop_n(count as usize)?; let insn_id = fun.push_insn(block, Insn::StringConcat { strings, state: exit_id }); state.stack_push(insn_id); @@ -4640,14 +4636,12 @@ pub fn iseq_to_hir(iseq: *const rb_iseq_t) -> Result<Function, ParseError> { // First arg contains the options (multiline, extended, ignorecase) used to create the regexp let opt = get_arg(pc, 0).as_usize(); let count = get_arg(pc, 1).as_usize(); - let exit_id = fun.push_insn(block, Insn::Snapshot { state: exit_state }); let values = state.stack_pop_n(count)?; let insn_id = fun.push_insn(block, Insn::ToRegexp { opt, values, state: exit_id }); state.stack_push(insn_id); } YARVINSN_newarray => { let count = get_arg(pc, 0).as_usize(); - let exit_id = fun.push_insn(block, Insn::Snapshot { state: exit_state }); let elements = state.stack_pop_n(count)?; state.stack_push(fun.push_insn(block, Insn::NewArray { elements, state: exit_id })); } @@ -4655,7 +4649,6 @@ pub fn iseq_to_hir(iseq: *const rb_iseq_t) -> Result<Function, ParseError> { let count = get_arg(pc, 0).as_usize(); let method = get_arg(pc, 1).as_u32(); let elements = state.stack_pop_n(count)?; - let exit_id = fun.push_insn(block, Insn::Snapshot { state: exit_state }); let (bop, insn) = match method { VM_OPT_NEWARRAY_SEND_MAX => (BOP_MAX, Insn::ArrayMax { elements, state: exit_id }), VM_OPT_NEWARRAY_SEND_INCLUDE_P => { @@ -4679,7 +4672,6 @@ pub fn iseq_to_hir(iseq: *const rb_iseq_t) -> Result<Function, ParseError> { } YARVINSN_duparray => { let val = fun.push_insn(block, Insn::Const { val: Const::Value(get_arg(pc, 0)) }); - let exit_id = fun.push_insn(block, Insn::Snapshot { state: exit_state }); let insn_id = fun.push_insn(block, Insn::ArrayDup { val, state: exit_id }); state.stack_push(insn_id); } @@ -4691,7 +4683,6 @@ pub fn iseq_to_hir(iseq: *const rb_iseq_t) -> Result<Function, ParseError> { break; } let target = state.stack_pop()?; - let exit_id = fun.push_insn(block, Insn::Snapshot { state: exit_state }); let bop = match method_id { x if x == ID!(include_p).0 => BOP_INCLUDE_P, _ => { @@ -4710,7 +4701,6 @@ pub fn iseq_to_hir(iseq: *const rb_iseq_t) -> Result<Function, ParseError> { YARVINSN_newhash => { let count = get_arg(pc, 0).as_usize(); assert!(count % 2 == 0, "newhash count should be even"); - let exit_id = fun.push_insn(block, Insn::Snapshot { state: exit_state }); let mut elements = vec![]; for _ in 0..(count/2) { let value = state.stack_pop()?; @@ -4723,7 +4713,6 @@ pub fn iseq_to_hir(iseq: *const rb_iseq_t) -> Result<Function, ParseError> { } YARVINSN_duphash => { let val = fun.push_insn(block, Insn::Const { val: Const::Value(get_arg(pc, 0)) }); - let exit_id = fun.push_insn(block, Insn::Snapshot { state: exit_state }); let insn_id = fun.push_insn(block, Insn::HashDup { val, state: exit_id }); state.stack_push(insn_id); } @@ -4731,7 +4720,6 @@ pub fn iseq_to_hir(iseq: *const rb_iseq_t) -> Result<Function, ParseError> { let flag = get_arg(pc, 0); let result_must_be_mutable = flag.test(); let val = state.stack_pop()?; - let exit_id = fun.push_insn(block, Insn::Snapshot { state: exit_state }); let obj = if result_must_be_mutable { fun.push_insn(block, Insn::ToNewArray { val, state: exit_id }) } else { @@ -4742,7 +4730,6 @@ pub fn iseq_to_hir(iseq: *const rb_iseq_t) -> Result<Function, ParseError> { YARVINSN_concattoarray => { let right = state.stack_pop()?; let left = state.stack_pop()?; - let exit_id = fun.push_insn(block, Insn::Snapshot { state: exit_state }); let right_array = fun.push_insn(block, Insn::ToArray { val: right, state: exit_id }); fun.push_insn(block, Insn::ArrayExtend { left, right: right_array, state: exit_id }); state.stack_push(left); @@ -4751,7 +4738,6 @@ pub fn iseq_to_hir(iseq: *const rb_iseq_t) -> Result<Function, ParseError> { let count = get_arg(pc, 0).as_usize(); let vals = state.stack_pop_n(count)?; let array = state.stack_pop()?; - let exit_id = fun.push_insn(block, Insn::Snapshot { state: exit_state }); for val in vals.into_iter() { fun.push_insn(block, Insn::ArrayPush { array, val, state: exit_id }); } @@ -4769,14 +4755,12 @@ pub fn iseq_to_hir(iseq: *const rb_iseq_t) -> Result<Function, ParseError> { let obj = get_arg(pc, 1); let pushval = get_arg(pc, 2); let v = state.stack_pop()?; - let exit_id = fun.push_insn(block, Insn::Snapshot { state: exit_state }); state.stack_push(fun.push_insn(block, Insn::Defined { op_type, obj, pushval, v, state: exit_id })); } YARVINSN_definedivar => { // (ID id, IVC ic, VALUE pushval) let id = ID(get_arg(pc, 0).as_u64()); let pushval = get_arg(pc, 2); - let exit_id = fun.push_insn(block, Insn::Snapshot { state: exit_state }); state.stack_push(fun.push_insn(block, Insn::DefinedIvar { self_val: self_param, id, pushval, state: exit_id })); } YARVINSN_checkkeyword => { @@ -4801,7 +4785,6 @@ pub fn iseq_to_hir(iseq: *const rb_iseq_t) -> Result<Function, ParseError> { state.stack_push(fun.push_insn(block, Insn::GetConstantPath { ic, state: snapshot })); } YARVINSN_branchunless => { - let exit_id = fun.push_insn(block, Insn::Snapshot { state: exit_state }); fun.push_insn(block, Insn::CheckInterrupts { state: exit_id }); let offset = get_arg(pc, 0).as_i64(); let val = state.stack_pop()?; @@ -4815,7 +4798,6 @@ pub fn iseq_to_hir(iseq: *const rb_iseq_t) -> Result<Function, ParseError> { queue.push_back((state.clone(), target, target_idx, local_inval)); } YARVINSN_branchif => { - let exit_id = fun.push_insn(block, Insn::Snapshot { state: exit_state }); fun.push_insn(block, Insn::CheckInterrupts { state: exit_id }); let offset = get_arg(pc, 0).as_i64(); let val = state.stack_pop()?; @@ -4829,7 +4811,6 @@ pub fn iseq_to_hir(iseq: *const rb_iseq_t) -> Result<Function, ParseError> { queue.push_back((state.clone(), target, target_idx, local_inval)); } YARVINSN_branchnil => { - let exit_id = fun.push_insn(block, Insn::Snapshot { state: exit_state }); fun.push_insn(block, Insn::CheckInterrupts { state: exit_id }); let offset = get_arg(pc, 0).as_i64(); let val = state.stack_pop()?; @@ -4856,7 +4837,6 @@ pub fn iseq_to_hir(iseq: *const rb_iseq_t) -> Result<Function, ParseError> { // TODO: Guard on a profiled class and add a patch point for #new redefinition let argc = unsafe { vm_ci_argc((*cd).ci) } as usize; let val = state.stack_topn(argc)?; - let exit_id = fun.push_insn(block, Insn::Snapshot { state: exit_state }); let test_id = fun.push_insn(block, Insn::IsMethodCfunc { val, cd, cfunc: rb_class_new_instance_pass_kw as *const u8, state: exit_id }); // Jump to the fallback block if it's not the expected function. @@ -4876,7 +4856,6 @@ pub fn iseq_to_hir(iseq: *const rb_iseq_t) -> Result<Function, ParseError> { } YARVINSN_jump => { let offset = get_arg(pc, 0).as_i64(); - let exit_id = fun.push_insn(block, Insn::Snapshot { state: exit_state }); fun.push_insn(block, Insn::CheckInterrupts { state: exit_id }); let target_idx = insn_idx_at_offset(insn_idx, offset); let target = insn_idx_to_block[&target_idx]; @@ -4942,7 +4921,6 @@ pub fn iseq_to_hir(iseq: *const rb_iseq_t) -> Result<Function, ParseError> { } YARVINSN_getblockparamproxy => { let level = get_arg(pc, 1).as_u32(); - let exit_id = fun.push_insn(block, Insn::Snapshot { state: exit_state }); fun.push_insn(block, Insn::GuardBlockParamProxy { level, state: exit_id }); // TODO(Shopify/ruby#753): GC root, so we should be able to avoid unnecessary GC tracing state.stack_push(fun.push_insn(block, Insn::Const { val: Const::Value(unsafe { rb_block_param_proxy }) })); @@ -4987,7 +4965,6 @@ pub fn iseq_to_hir(iseq: *const rb_iseq_t) -> Result<Function, ParseError> { let flags = unsafe { rb_vm_ci_flag(call_info) }; if let Err(call_type) = unhandled_call_type(flags) { // Can't handle the call type; side-exit into the interpreter - let exit_id = fun.push_insn(block, Insn::Snapshot { state: exit_state }); fun.push_insn(block, Insn::SideExit { state: exit_id, reason: SideExitReason::UnhandledCallType(call_type) }); break; // End the block } @@ -4995,14 +4972,12 @@ pub fn iseq_to_hir(iseq: *const rb_iseq_t) -> Result<Function, ParseError> { let args = state.stack_pop_n(argc as usize)?; let recv = state.stack_pop()?; - let exit_id = fun.push_insn(block, Insn::Snapshot { state: exit_state }); let send = fun.push_insn(block, Insn::SendWithoutBlock { recv, cd, args, state: exit_id, reason: NotOptimizedInstruction(opcode) }); state.stack_push(send); } YARVINSN_opt_hash_freeze => { let klass = HASH_REDEFINED_OP_FLAG; let bop = BOP_FREEZE; - let exit_id = fun.push_insn(block, Insn::Snapshot { state: exit_state }); if unsafe { rb_BASIC_OP_UNREDEFINED_P(bop, klass) } { fun.push_insn(block, Insn::PatchPoint { invariant: Invariant::BOPRedefined { klass, bop }, state: exit_id }); let recv = fun.push_insn(block, Insn::Const { val: Const::Value(get_arg(pc, 0)) }); @@ -5015,7 +4990,6 @@ pub fn iseq_to_hir(iseq: *const rb_iseq_t) -> Result<Function, ParseError> { YARVINSN_opt_ary_freeze => { let klass = ARRAY_REDEFINED_OP_FLAG; let bop = BOP_FREEZE; - let exit_id = fun.push_insn(block, Insn::Snapshot { state: exit_state }); if unsafe { rb_BASIC_OP_UNREDEFINED_P(bop, klass) } { fun.push_insn(block, Insn::PatchPoint { invariant: Invariant::BOPRedefined { klass, bop }, state: exit_id }); let recv = fun.push_insn(block, Insn::Const { val: Const::Value(get_arg(pc, 0)) }); @@ -5028,7 +5002,6 @@ pub fn iseq_to_hir(iseq: *const rb_iseq_t) -> Result<Function, ParseError> { YARVINSN_opt_str_freeze => { let klass = STRING_REDEFINED_OP_FLAG; let bop = BOP_FREEZE; - let exit_id = fun.push_insn(block, Insn::Snapshot { state: exit_state }); if unsafe { rb_BASIC_OP_UNREDEFINED_P(bop, klass) } { fun.push_insn(block, Insn::PatchPoint { invariant: Invariant::BOPRedefined { klass, bop }, state: exit_id }); let recv = fun.push_insn(block, Insn::Const { val: Const::Value(get_arg(pc, 0)) }); @@ -5041,7 +5014,6 @@ pub fn iseq_to_hir(iseq: *const rb_iseq_t) -> Result<Function, ParseError> { YARVINSN_opt_str_uminus => { let klass = STRING_REDEFINED_OP_FLAG; let bop = BOP_UMINUS; - let exit_id = fun.push_insn(block, Insn::Snapshot { state: exit_state }); if unsafe { rb_BASIC_OP_UNREDEFINED_P(bop, klass) } { fun.push_insn(block, Insn::PatchPoint { invariant: Invariant::BOPRedefined { klass, bop }, state: exit_id }); let recv = fun.push_insn(block, Insn::Const { val: Const::Value(get_arg(pc, 0)) }); @@ -5052,13 +5024,11 @@ pub fn iseq_to_hir(iseq: *const rb_iseq_t) -> Result<Function, ParseError> { } } YARVINSN_leave => { - let exit_id = fun.push_insn(block, Insn::Snapshot { state: exit_state }); fun.push_insn(block, Insn::CheckInterrupts { state: exit_id }); fun.push_insn(block, Insn::Return { val: state.stack_pop()? }); break; // Don't enqueue the next block as a successor } YARVINSN_throw => { - let exit_id = fun.push_insn(block, Insn::Snapshot { state: exit_state }); fun.push_insn(block, Insn::Throw { throw_state: get_arg(pc, 0).as_u32(), val: state.stack_pop()?, state: exit_id }); break; // Don't enqueue the next block as a successor } @@ -5095,7 +5065,6 @@ pub fn iseq_to_hir(iseq: *const rb_iseq_t) -> Result<Function, ParseError> { let flags = unsafe { rb_vm_ci_flag(call_info) }; if let Err(call_type) = unhandled_call_type(flags) { // Can't handle tailcall; side-exit into the interpreter - let exit_id = fun.push_insn(block, Insn::Snapshot { state: exit_state }); fun.push_insn(block, Insn::SideExit { state: exit_id, reason: SideExitReason::UnhandledCallType(call_type) }); break; // End the block } @@ -5103,7 +5072,6 @@ pub fn iseq_to_hir(iseq: *const rb_iseq_t) -> Result<Function, ParseError> { let args = state.stack_pop_n(argc as usize)?; let recv = state.stack_pop()?; - let exit_id = fun.push_insn(block, Insn::Snapshot { state: exit_state }); let send = fun.push_insn(block, Insn::SendWithoutBlock { recv, cd, args, state: exit_id, reason: NotOptimizedInstruction(opcode) }); state.stack_push(send); } @@ -5114,7 +5082,6 @@ pub fn iseq_to_hir(iseq: *const rb_iseq_t) -> Result<Function, ParseError> { let flags = unsafe { rb_vm_ci_flag(call_info) }; if let Err(call_type) = unhandled_call_type(flags) { // Can't handle tailcall; side-exit into the interpreter - let exit_id = fun.push_insn(block, Insn::Snapshot { state: exit_state }); fun.push_insn(block, Insn::SideExit { state: exit_id, reason: SideExitReason::UnhandledCallType(call_type) }); break; // End the block } @@ -5123,7 +5090,6 @@ pub fn iseq_to_hir(iseq: *const rb_iseq_t) -> Result<Function, ParseError> { let args = state.stack_pop_n(argc as usize + usize::from(block_arg))?; let recv = state.stack_pop()?; - let exit_id = fun.push_insn(block, Insn::Snapshot { state: exit_state }); let send = fun.push_insn(block, Insn::Send { recv, cd, blockiseq, args, state: exit_id, reason: NotOptimizedInstruction(opcode) }); state.stack_push(send); @@ -5147,7 +5113,6 @@ pub fn iseq_to_hir(iseq: *const rb_iseq_t) -> Result<Function, ParseError> { let forwarding = (flags & VM_CALL_FORWARDING) != 0; if let Err(call_type) = unhandled_call_type(flags) { // Can't handle the call type; side-exit into the interpreter - let exit_id = fun.push_insn(block, Insn::Snapshot { state: exit_state }); fun.push_insn(block, Insn::SideExit { state: exit_id, reason: SideExitReason::UnhandledCallType(call_type) }); break; // End the block } @@ -5155,7 +5120,6 @@ pub fn iseq_to_hir(iseq: *const rb_iseq_t) -> Result<Function, ParseError> { let args = state.stack_pop_n(argc as usize + usize::from(forwarding))?; let recv = state.stack_pop()?; - let exit_id = fun.push_insn(block, Insn::Snapshot { state: exit_state }); let send_forward = fun.push_insn(block, Insn::SendForward { recv, cd, blockiseq, args, state: exit_id, reason: NotOptimizedInstruction(opcode) }); state.stack_push(send_forward); @@ -5175,7 +5139,6 @@ pub fn iseq_to_hir(iseq: *const rb_iseq_t) -> Result<Function, ParseError> { let flags = unsafe { rb_vm_ci_flag(call_info) }; if let Err(call_type) = unhandled_call_type(flags) { // Can't handle tailcall; side-exit into the interpreter - let exit_id = fun.push_insn(block, Insn::Snapshot { state: exit_state }); fun.push_insn(block, Insn::SideExit { state: exit_id, reason: SideExitReason::UnhandledCallType(call_type) }); break; // End the block } @@ -5184,7 +5147,6 @@ pub fn iseq_to_hir(iseq: *const rb_iseq_t) -> Result<Function, ParseError> { let args = state.stack_pop_n(argc as usize + usize::from(block_arg))?; let recv = state.stack_pop()?; let blockiseq: IseqPtr = get_arg(pc, 1).as_ptr(); - let exit_id = fun.push_insn(block, Insn::Snapshot { state: exit_state }); let result = fun.push_insn(block, Insn::InvokeSuper { recv, cd, blockiseq, args, state: exit_id, reason: NotOptimizedInstruction(opcode) }); state.stack_push(result); @@ -5206,33 +5168,28 @@ pub fn iseq_to_hir(iseq: *const rb_iseq_t) -> Result<Function, ParseError> { let flags = unsafe { rb_vm_ci_flag(call_info) }; if let Err(call_type) = unhandled_call_type(flags) { // Can't handle tailcall; side-exit into the interpreter - let exit_id = fun.push_insn(block, Insn::Snapshot { state: exit_state }); fun.push_insn(block, Insn::SideExit { state: exit_id, reason: SideExitReason::UnhandledCallType(call_type) }); break; // End the block } let argc = unsafe { vm_ci_argc((*cd).ci) }; let block_arg = (flags & VM_CALL_ARGS_BLOCKARG) != 0; let args = state.stack_pop_n(argc as usize + usize::from(block_arg))?; - let exit_id = fun.push_insn(block, Insn::Snapshot { state: exit_state }); let result = fun.push_insn(block, Insn::InvokeBlock { cd, args, state: exit_id, reason: NotOptimizedInstruction(opcode) }); state.stack_push(result); } YARVINSN_getglobal => { let id = ID(get_arg(pc, 0).as_u64()); - let exit_id = fun.push_insn(block, Insn::Snapshot { state: exit_state }); let result = fun.push_insn(block, Insn::GetGlobal { id, state: exit_id }); state.stack_push(result); } YARVINSN_setglobal => { let id = ID(get_arg(pc, 0).as_u64()); - let exit_id = fun.push_insn(block, Insn::Snapshot { state: exit_state }); let val = state.stack_pop()?; fun.push_insn(block, Insn::SetGlobal { id, val, state: exit_id }); } YARVINSN_getinstancevariable => { let id = ID(get_arg(pc, 0).as_u64()); // ic is in arg 1 - let exit_id = fun.push_insn(block, Insn::Snapshot { state: exit_state }); // Assume single-Ractor mode to omit gen_prepare_non_leaf_call on gen_getivar // TODO: We only really need this if self_val is a class/module fun.push_insn(block, Insn::PatchPoint { invariant: Invariant::SingleRactorMode, state: exit_id }); @@ -5242,7 +5199,6 @@ pub fn iseq_to_hir(iseq: *const rb_iseq_t) -> Result<Function, ParseError> { YARVINSN_setinstancevariable => { let id = ID(get_arg(pc, 0).as_u64()); let ic = get_arg(pc, 1).as_ptr(); - let exit_id = fun.push_insn(block, Insn::Snapshot { state: exit_state }); // Assume single-Ractor mode to omit gen_prepare_non_leaf_call on gen_setivar // TODO: We only really need this if self_val is a class/module fun.push_insn(block, Insn::PatchPoint { invariant: Invariant::SingleRactorMode, state: exit_id }); @@ -5252,14 +5208,12 @@ pub fn iseq_to_hir(iseq: *const rb_iseq_t) -> Result<Function, ParseError> { YARVINSN_getclassvariable => { let id = ID(get_arg(pc, 0).as_u64()); let ic = get_arg(pc, 1).as_ptr(); - let exit_id = fun.push_insn(block, Insn::Snapshot { state: exit_state }); let result = fun.push_insn(block, Insn::GetClassVar { id, ic, state: exit_id }); state.stack_push(result); } YARVINSN_setclassvariable => { let id = ID(get_arg(pc, 0).as_u64()); let ic = get_arg(pc, 1).as_ptr(); - let exit_id = fun.push_insn(block, Insn::Snapshot { state: exit_state }); let val = state.stack_pop()?; fun.push_insn(block, Insn::SetClassVar { id, val, ic, state: exit_id }); } @@ -5277,7 +5231,6 @@ pub fn iseq_to_hir(iseq: *const rb_iseq_t) -> Result<Function, ParseError> { let flag = RangeType::from(get_arg(pc, 0).as_u32()); let high = state.stack_pop()?; let low = state.stack_pop()?; - let exit_id = fun.push_insn(block, Insn::Snapshot { state: exit_state }); let insn_id = fun.push_insn(block, Insn::NewRange { low, high, flag, state: exit_id }); state.stack_push(insn_id); } @@ -5291,8 +5244,6 @@ pub fn iseq_to_hir(iseq: *const rb_iseq_t) -> Result<Function, ParseError> { args.push(self_param); args.reverse(); - let exit_id = fun.push_insn(block, Insn::Snapshot { state: exit_state }); - // Check if this builtin is annotated let return_type = ZJITState::get_method_annotations() .get_builtin_properties(&bf) @@ -5321,8 +5272,6 @@ pub fn iseq_to_hir(iseq: *const rb_iseq_t) -> Result<Function, ParseError> { args.push(local); } - let exit_id = fun.push_insn(block, Insn::Snapshot { state: exit_state }); - // Check if this builtin is annotated let return_type = ZJITState::get_method_annotations() .get_builtin_properties(&bf) @@ -5346,7 +5295,6 @@ pub fn iseq_to_hir(iseq: *const rb_iseq_t) -> Result<Function, ParseError> { assert_eq!(0, argc, "objtostring should not have args"); let recv = state.stack_pop()?; - let exit_id = fun.push_insn(block, Insn::Snapshot { state: exit_state }); let objtostring = fun.push_insn(block, Insn::ObjToString { val: recv, cd, state: exit_id }); state.stack_push(objtostring) } @@ -5354,7 +5302,6 @@ pub fn iseq_to_hir(iseq: *const rb_iseq_t) -> Result<Function, ParseError> { let str = state.stack_pop()?; let val = state.stack_pop()?; - let exit_id = fun.push_insn(block, Insn::Snapshot { state: exit_state }); let anytostring = fun.push_insn(block, Insn::AnyToString { val, str, state: exit_id }); state.stack_push(anytostring); } @@ -5362,8 +5309,6 @@ pub fn iseq_to_hir(iseq: *const rb_iseq_t) -> Result<Function, ParseError> { let key = get_arg(pc, 0).as_u64(); let svar = get_arg(pc, 1).as_u64(); - let exit_id = fun.push_insn(block, Insn::Snapshot { state: exit_state }); - if svar == 0 { // TODO: Handle non-backref fun.push_insn(block, Insn::SideExit { state: exit_id, reason: SideExitReason::UnknownSpecialVariable(key) }); @@ -5389,12 +5334,10 @@ pub fn iseq_to_hir(iseq: *const rb_iseq_t) -> Result<Function, ParseError> { // (reverse?) // // Unhandled opcode; side-exit into the interpreter - let exit_id = fun.push_insn(block, Insn::Snapshot { state: exit_state }); fun.push_insn(block, Insn::SideExit { state: exit_id, reason: SideExitReason::UnhandledYARVInsn(opcode) }); break; // End the block } let val = state.stack_pop()?; - let exit_id = fun.push_insn(block, Insn::Snapshot { state: exit_state }); let array = fun.push_insn(block, Insn::GuardType { val, guard_type: types::ArrayExact, state: exit_id, }); let length = fun.push_insn(block, Insn::ArrayLength { array }); fun.push_insn(block, Insn::GuardBitEquals { val: length, expected: Const::CInt64(num as i64), state: exit_id }); @@ -5408,7 +5351,6 @@ pub fn iseq_to_hir(iseq: *const rb_iseq_t) -> Result<Function, ParseError> { } _ => { // Unhandled opcode; side-exit into the interpreter - let exit_id = fun.push_insn(block, Insn::Snapshot { state: exit_state }); fun.push_insn(block, Insn::SideExit { state: exit_id, reason: SideExitReason::UnhandledYARVInsn(opcode) }); break; // End the block } @@ -5949,14 +5891,14 @@ mod graphviz_tests { bb2 [label=<<TABLE BORDER="0" CELLBORDER="1" CELLSPACING="0"> <TR><TD ALIGN="LEFT" PORT="params" BGCOLOR="gray">bb2(v10:BasicObject, v11:BasicObject, v12:BasicObject) </TD></TR> <TR><TD ALIGN="left" PORT="v15">PatchPoint NoTracePoint </TD></TR> - <TR><TD ALIGN="left" PORT="v17">PatchPoint NoTracePoint </TD></TR> - <TR><TD ALIGN="left" PORT="v25">PatchPoint BOPRedefined(INTEGER_REDEFINED_OP_FLAG, 29) </TD></TR> - <TR><TD ALIGN="left" PORT="v26">v26:Fixnum = GuardType v11, Fixnum </TD></TR> - <TR><TD ALIGN="left" PORT="v27">v27:Fixnum = GuardType v12, Fixnum </TD></TR> - <TR><TD ALIGN="left" PORT="v28">v28:Fixnum = FixnumOr v26, v27 </TD></TR> + <TR><TD ALIGN="left" PORT="v18">PatchPoint NoTracePoint </TD></TR> + <TR><TD ALIGN="left" PORT="v24">PatchPoint BOPRedefined(INTEGER_REDEFINED_OP_FLAG, 29) </TD></TR> + <TR><TD ALIGN="left" PORT="v25">v25:Fixnum = GuardType v11, Fixnum </TD></TR> + <TR><TD ALIGN="left" PORT="v26">v26:Fixnum = GuardType v12, Fixnum </TD></TR> + <TR><TD ALIGN="left" PORT="v27">v27:Fixnum = FixnumOr v25, v26 </TD></TR> <TR><TD ALIGN="left" PORT="v21">PatchPoint NoTracePoint </TD></TR> - <TR><TD ALIGN="left" PORT="v23">CheckInterrupts </TD></TR> - <TR><TD ALIGN="left" PORT="v24">Return v28 </TD></TR> + <TR><TD ALIGN="left" PORT="v22">CheckInterrupts </TD></TR> + <TR><TD ALIGN="left" PORT="v23">Return v27 </TD></TR> </TABLE>>]; } "#); @@ -6003,17 +5945,17 @@ mod graphviz_tests { <TR><TD ALIGN="left" PORT="v18">PatchPoint NoTracePoint </TD></TR> <TR><TD ALIGN="left" PORT="v19">v19:Fixnum[3] = Const Value(3) </TD></TR> <TR><TD ALIGN="left" PORT="v21">PatchPoint NoTracePoint </TD></TR> - <TR><TD ALIGN="left" PORT="v23">CheckInterrupts </TD></TR> - <TR><TD ALIGN="left" PORT="v24">Return v19 </TD></TR> + <TR><TD ALIGN="left" PORT="v22">CheckInterrupts </TD></TR> + <TR><TD ALIGN="left" PORT="v23">Return v19 </TD></TR> </TABLE>>]; bb2:v16 -> bb3:params:n; bb3 [label=<<TABLE BORDER="0" CELLBORDER="1" CELLSPACING="0"> - <TR><TD ALIGN="LEFT" PORT="params" BGCOLOR="gray">bb3(v25:BasicObject, v26:BasicObject) </TD></TR> - <TR><TD ALIGN="left" PORT="v29">PatchPoint NoTracePoint </TD></TR> - <TR><TD ALIGN="left" PORT="v30">v30:Fixnum[4] = Const Value(4) </TD></TR> - <TR><TD ALIGN="left" PORT="v32">PatchPoint NoTracePoint </TD></TR> - <TR><TD ALIGN="left" PORT="v34">CheckInterrupts </TD></TR> - <TR><TD ALIGN="left" PORT="v35">Return v30 </TD></TR> + <TR><TD ALIGN="LEFT" PORT="params" BGCOLOR="gray">bb3(v24:BasicObject, v25:BasicObject) </TD></TR> + <TR><TD ALIGN="left" PORT="v28">PatchPoint NoTracePoint </TD></TR> + <TR><TD ALIGN="left" PORT="v29">v29:Fixnum[4] = Const Value(4) </TD></TR> + <TR><TD ALIGN="left" PORT="v31">PatchPoint NoTracePoint </TD></TR> + <TR><TD ALIGN="left" PORT="v32">CheckInterrupts </TD></TR> + <TR><TD ALIGN="left" PORT="v33">Return v29 </TD></TR> </TABLE>>]; } "#); diff --git a/zjit/src/hir/opt_tests.rs b/zjit/src/hir/opt_tests.rs index 543e1b5287..55123f47aa 100644 --- a/zjit/src/hir/opt_tests.rs +++ b/zjit/src/hir/opt_tests.rs @@ -52,9 +52,9 @@ mod hir_opt_tests { bb2(v8:BasicObject, v9:NilClass): v13:TrueClass = Const Value(true) CheckInterrupts - v22:Fixnum[3] = Const Value(3) + v23:Fixnum[3] = Const Value(3) CheckInterrupts - Return v22 + Return v23 "); } @@ -108,14 +108,14 @@ mod hir_opt_tests { Jump bb2(v4) bb2(v6:BasicObject): v10:Fixnum[1] = Const Value(1) - v11:Fixnum[2] = Const Value(2) + v12:Fixnum[2] = Const Value(2) PatchPoint BOPRedefined(INTEGER_REDEFINED_OP_FLAG, BOP_PLUS) - v30:Fixnum[3] = Const Value(3) - v16:Fixnum[3] = Const Value(3) + v29:Fixnum[3] = Const Value(3) + v17:Fixnum[3] = Const Value(3) PatchPoint BOPRedefined(INTEGER_REDEFINED_OP_FLAG, BOP_PLUS) - v31:Fixnum[6] = Const Value(6) + v30:Fixnum[6] = Const Value(6) CheckInterrupts - Return v31 + Return v30 "); } @@ -137,14 +137,14 @@ mod hir_opt_tests { Jump bb2(v4) bb2(v6:BasicObject): v10:Fixnum[5] = Const Value(5) - v11:Fixnum[3] = Const Value(3) + v12:Fixnum[3] = Const Value(3) PatchPoint BOPRedefined(INTEGER_REDEFINED_OP_FLAG, BOP_MINUS) - v30:Fixnum[2] = Const Value(2) - v16:Fixnum[1] = Const Value(1) + v29:Fixnum[2] = Const Value(2) + v17:Fixnum[1] = Const Value(1) PatchPoint BOPRedefined(INTEGER_REDEFINED_OP_FLAG, BOP_MINUS) - v31:Fixnum[1] = Const Value(1) + v30:Fixnum[1] = Const Value(1) CheckInterrupts - Return v31 + Return v30 "); } @@ -166,11 +166,11 @@ mod hir_opt_tests { Jump bb2(v4) bb2(v6:BasicObject): v10:Fixnum[0] = Const Value(0) - v11:Fixnum[1073741825] = Const Value(1073741825) + v12:Fixnum[1073741825] = Const Value(1073741825) PatchPoint BOPRedefined(INTEGER_REDEFINED_OP_FLAG, BOP_MINUS) - v23:Fixnum[-1073741825] = Const Value(-1073741825) + v22:Fixnum[-1073741825] = Const Value(-1073741825) CheckInterrupts - Return v23 + Return v22 "); } @@ -192,11 +192,11 @@ mod hir_opt_tests { Jump bb2(v4) bb2(v6:BasicObject): v10:Fixnum[6] = Const Value(6) - v11:Fixnum[7] = Const Value(7) + v12:Fixnum[7] = Const Value(7) PatchPoint BOPRedefined(INTEGER_REDEFINED_OP_FLAG, BOP_MULT) - v23:Fixnum[42] = Const Value(42) + v22:Fixnum[42] = Const Value(42) CheckInterrupts - Return v23 + Return v22 "); } @@ -221,16 +221,16 @@ mod hir_opt_tests { bb2(v8:BasicObject, v9:BasicObject): v13:Fixnum[0] = Const Value(0) PatchPoint BOPRedefined(INTEGER_REDEFINED_OP_FLAG, BOP_MULT) - v33:Fixnum = GuardType v9, Fixnum - v40:Fixnum[0] = Const Value(0) - v18:Fixnum[0] = Const Value(0) + v32:Fixnum = GuardType v9, Fixnum + v39:Fixnum[0] = Const Value(0) + v20:Fixnum[0] = Const Value(0) PatchPoint BOPRedefined(INTEGER_REDEFINED_OP_FLAG, BOP_MULT) - v36:Fixnum = GuardType v9, Fixnum - v41:Fixnum[0] = Const Value(0) + v35:Fixnum = GuardType v9, Fixnum + v40:Fixnum[0] = Const Value(0) PatchPoint BOPRedefined(INTEGER_REDEFINED_OP_FLAG, BOP_PLUS) - v42:Fixnum[0] = Const Value(0) + v41:Fixnum[0] = Const Value(0) CheckInterrupts - Return v42 + Return v41 "); } @@ -256,9 +256,9 @@ mod hir_opt_tests { Jump bb2(v4) bb2(v6:BasicObject): v10:Fixnum[1] = Const Value(1) - v11:Fixnum[2] = Const Value(2) + v12:Fixnum[2] = Const Value(2) PatchPoint BOPRedefined(INTEGER_REDEFINED_OP_FLAG, BOP_LT) - v40:TrueClass = Const Value(true) + v38:TrueClass = Const Value(true) CheckInterrupts v22:Fixnum[3] = Const Value(3) CheckInterrupts @@ -288,18 +288,18 @@ mod hir_opt_tests { Jump bb2(v4) bb2(v6:BasicObject): v10:Fixnum[1] = Const Value(1) - v11:Fixnum[2] = Const Value(2) + v12:Fixnum[2] = Const Value(2) PatchPoint BOPRedefined(INTEGER_REDEFINED_OP_FLAG, BOP_LE) - v52:TrueClass = Const Value(true) + v51:TrueClass = Const Value(true) CheckInterrupts - v20:Fixnum[2] = Const Value(2) v21:Fixnum[2] = Const Value(2) + v23:Fixnum[2] = Const Value(2) PatchPoint BOPRedefined(INTEGER_REDEFINED_OP_FLAG, BOP_LE) - v54:TrueClass = Const Value(true) + v53:TrueClass = Const Value(true) CheckInterrupts - v32:Fixnum[3] = Const Value(3) + v33:Fixnum[3] = Const Value(3) CheckInterrupts - Return v32 + Return v33 "); } @@ -325,9 +325,9 @@ mod hir_opt_tests { Jump bb2(v4) bb2(v6:BasicObject): v10:Fixnum[2] = Const Value(2) - v11:Fixnum[1] = Const Value(1) + v12:Fixnum[1] = Const Value(1) PatchPoint BOPRedefined(INTEGER_REDEFINED_OP_FLAG, BOP_GT) - v40:TrueClass = Const Value(true) + v38:TrueClass = Const Value(true) CheckInterrupts v22:Fixnum[3] = Const Value(3) CheckInterrupts @@ -357,18 +357,18 @@ mod hir_opt_tests { Jump bb2(v4) bb2(v6:BasicObject): v10:Fixnum[2] = Const Value(2) - v11:Fixnum[1] = Const Value(1) + v12:Fixnum[1] = Const Value(1) PatchPoint BOPRedefined(INTEGER_REDEFINED_OP_FLAG, BOP_GE) - v52:TrueClass = Const Value(true) + v51:TrueClass = Const Value(true) CheckInterrupts - v20:Fixnum[2] = Const Value(2) v21:Fixnum[2] = Const Value(2) + v23:Fixnum[2] = Const Value(2) PatchPoint BOPRedefined(INTEGER_REDEFINED_OP_FLAG, BOP_GE) - v54:TrueClass = Const Value(true) + v53:TrueClass = Const Value(true) CheckInterrupts - v32:Fixnum[3] = Const Value(3) + v33:Fixnum[3] = Const Value(3) CheckInterrupts - Return v32 + Return v33 "); } @@ -394,13 +394,13 @@ mod hir_opt_tests { Jump bb2(v4) bb2(v6:BasicObject): v10:Fixnum[1] = Const Value(1) - v11:Fixnum[2] = Const Value(2) + v12:Fixnum[2] = Const Value(2) PatchPoint BOPRedefined(INTEGER_REDEFINED_OP_FLAG, BOP_EQ) - v40:FalseClass = Const Value(false) + v38:FalseClass = Const Value(false) CheckInterrupts - v32:Fixnum[4] = Const Value(4) + v31:Fixnum[4] = Const Value(4) CheckInterrupts - Return v32 + Return v31 "); } @@ -426,9 +426,9 @@ mod hir_opt_tests { Jump bb2(v4) bb2(v6:BasicObject): v10:Fixnum[2] = Const Value(2) - v11:Fixnum[2] = Const Value(2) + v12:Fixnum[2] = Const Value(2) PatchPoint BOPRedefined(INTEGER_REDEFINED_OP_FLAG, BOP_EQ) - v40:TrueClass = Const Value(true) + v38:TrueClass = Const Value(true) CheckInterrupts v22:Fixnum[3] = Const Value(3) CheckInterrupts @@ -458,10 +458,10 @@ mod hir_opt_tests { Jump bb2(v4) bb2(v6:BasicObject): v10:Fixnum[1] = Const Value(1) - v11:Fixnum[2] = Const Value(2) + v12:Fixnum[2] = Const Value(2) PatchPoint BOPRedefined(INTEGER_REDEFINED_OP_FLAG, BOP_EQ) PatchPoint BOPRedefined(INTEGER_REDEFINED_OP_FLAG, BOP_NEQ) - v41:TrueClass = Const Value(true) + v39:TrueClass = Const Value(true) CheckInterrupts v22:Fixnum[3] = Const Value(3) CheckInterrupts @@ -491,14 +491,14 @@ mod hir_opt_tests { Jump bb2(v4) bb2(v6:BasicObject): v10:Fixnum[2] = Const Value(2) - v11:Fixnum[2] = Const Value(2) + v12:Fixnum[2] = Const Value(2) PatchPoint BOPRedefined(INTEGER_REDEFINED_OP_FLAG, BOP_EQ) PatchPoint BOPRedefined(INTEGER_REDEFINED_OP_FLAG, BOP_NEQ) - v41:FalseClass = Const Value(false) + v39:FalseClass = Const Value(false) CheckInterrupts - v32:Fixnum[4] = Const Value(4) + v31:Fixnum[4] = Const Value(4) CheckInterrupts - Return v32 + Return v31 "); } @@ -542,9 +542,9 @@ mod hir_opt_tests { PatchPoint NoSingletonClass(CustomEq@0x1000) v28:HeapObject[class_exact:CustomEq] = GuardType v9, HeapObject[class_exact:CustomEq] v29:BoolExact = CCallWithFrame !=@0x1038, v28, v9 - v19:NilClass = Const Value(nil) + v20:NilClass = Const Value(nil) CheckInterrupts - Return v19 + Return v20 "); } @@ -567,12 +567,12 @@ mod hir_opt_tests { EntryPoint JIT(0) Jump bb2(v5, v6) bb2(v8:BasicObject, v9:BasicObject): - v13:Fixnum[1] = Const Value(1) + v14:Fixnum[1] = Const Value(1) PatchPoint BOPRedefined(INTEGER_REDEFINED_OP_FLAG, BOP_PLUS) - v24:Fixnum = GuardType v9, Fixnum - v25:Fixnum = FixnumAdd v24, v13 + v23:Fixnum = GuardType v9, Fixnum + v24:Fixnum = FixnumAdd v23, v14 CheckInterrupts - Return v25 + Return v24 "); } @@ -677,10 +677,10 @@ mod hir_opt_tests { bb2(v6:BasicObject): PatchPoint MethodRedefined(Object@0x1000, foo@0x1008, cme:0x1010) PatchPoint NoSingletonClass(Object@0x1000) - v19:HeapObject[class_exact*:Object@VALUE(0x1000)] = GuardType v6, HeapObject[class_exact*:Object@VALUE(0x1000)] - v20:BasicObject = SendWithoutBlockDirect v19, :foo (0x1038) + v18:HeapObject[class_exact*:Object@VALUE(0x1000)] = GuardType v6, HeapObject[class_exact*:Object@VALUE(0x1000)] + v19:BasicObject = SendWithoutBlockDirect v18, :foo (0x1038) CheckInterrupts - Return v20 + Return v19 "); } @@ -705,11 +705,11 @@ mod hir_opt_tests { bb2(v6:BasicObject): PatchPoint MethodRedefined(Object@0x1000, baz@0x1008, cme:0x1010) PatchPoint NoSingletonClass(Object@0x1000) - v19:HeapObject[class_exact*:Object@VALUE(0x1000)] = GuardType v6, HeapObject[class_exact*:Object@VALUE(0x1000)] + v18:HeapObject[class_exact*:Object@VALUE(0x1000)] = GuardType v6, HeapObject[class_exact*:Object@VALUE(0x1000)] IncrCounter inline_iseq_optimized_send_count - v22:Fixnum[1] = Const Value(1) + v21:Fixnum[1] = Const Value(1) CheckInterrupts - Return v22 + Return v21 "); } @@ -733,10 +733,10 @@ mod hir_opt_tests { bb2(v6:BasicObject): PatchPoint MethodRedefined(Object@0x1000, baz@0x1008, cme:0x1010) PatchPoint NoSingletonClass(Object@0x1000) - v20:HeapObject[class_exact*:Object@VALUE(0x1000)] = GuardType v6, HeapObject[class_exact*:Object@VALUE(0x1000)] + v19:HeapObject[class_exact*:Object@VALUE(0x1000)] = GuardType v6, HeapObject[class_exact*:Object@VALUE(0x1000)] IncrCounter inline_cfunc_optimized_send_count CheckInterrupts - Return v20 + Return v19 "); } @@ -763,11 +763,11 @@ mod hir_opt_tests { v13:BasicObject = GetLocal l0, EP@3 PatchPoint MethodRedefined(C@0x1000, fun_new_map@0x1008, cme:0x1010) PatchPoint NoSingletonClass(C@0x1000) - v25:ArraySubclass[class_exact:C] = GuardType v13, ArraySubclass[class_exact:C] - v26:BasicObject = CCallWithFrame fun_new_map@0x1038, v25, block=0x1040 + v24:ArraySubclass[class_exact:C] = GuardType v13, ArraySubclass[class_exact:C] + v25:BasicObject = CCallWithFrame fun_new_map@0x1038, v24, block=0x1040 v16:BasicObject = GetLocal l0, EP@3 CheckInterrupts - Return v26 + Return v25 "); } @@ -820,10 +820,10 @@ mod hir_opt_tests { bb2(v6:BasicObject): PatchPoint MethodRedefined(Object@0x1000, foo@0x1008, cme:0x1010) PatchPoint NoSingletonClass(Object@0x1000) - v19:HeapObject[class_exact*:Object@VALUE(0x1000)] = GuardType v6, HeapObject[class_exact*:Object@VALUE(0x1000)] - v20:BasicObject = SendWithoutBlockDirect v19, :foo (0x1038) + v18:HeapObject[class_exact*:Object@VALUE(0x1000)] = GuardType v6, HeapObject[class_exact*:Object@VALUE(0x1000)] + v19:BasicObject = SendWithoutBlockDirect v18, :foo (0x1038) CheckInterrupts - Return v20 + Return v19 "); } @@ -845,11 +845,11 @@ mod hir_opt_tests { EntryPoint JIT(0) Jump bb2(v4) bb2(v6:BasicObject): - v10:Fixnum[3] = Const Value(3) + v11:Fixnum[3] = Const Value(3) PatchPoint MethodRedefined(Object@0x1000, Integer@0x1008, cme:0x1010) PatchPoint NoSingletonClass(Object@0x1000) v20:HeapObject[class_exact*:Object@VALUE(0x1000)] = GuardType v6, HeapObject[class_exact*:Object@VALUE(0x1000)] - v21:BasicObject = SendWithoutBlockDirect v20, :Integer (0x1038), v10 + v21:BasicObject = SendWithoutBlockDirect v20, :Integer (0x1038), v11 CheckInterrupts Return v21 "); @@ -874,14 +874,14 @@ mod hir_opt_tests { EntryPoint JIT(0) Jump bb2(v4) bb2(v6:BasicObject): - v10:Fixnum[1] = Const Value(1) - v11:Fixnum[2] = Const Value(2) + v11:Fixnum[1] = Const Value(1) + v13:Fixnum[2] = Const Value(2) PatchPoint MethodRedefined(Object@0x1000, foo@0x1008, cme:0x1010) PatchPoint NoSingletonClass(Object@0x1000) - v21:HeapObject[class_exact*:Object@VALUE(0x1000)] = GuardType v6, HeapObject[class_exact*:Object@VALUE(0x1000)] - v22:BasicObject = SendWithoutBlockDirect v21, :foo (0x1038), v10, v11 + v22:HeapObject[class_exact*:Object@VALUE(0x1000)] = GuardType v6, HeapObject[class_exact*:Object@VALUE(0x1000)] + v23:BasicObject = SendWithoutBlockDirect v22, :foo (0x1038), v11, v13 CheckInterrupts - Return v22 + Return v23 "); } @@ -937,14 +937,14 @@ mod hir_opt_tests { EntryPoint JIT(0) Jump bb2(v4) bb2(v6:BasicObject): - v10:StringExact[VALUE(0x1000)] = Const Value(VALUE(0x1000)) - v12:StringExact = StringCopy v10 + v11:StringExact[VALUE(0x1000)] = Const Value(VALUE(0x1000)) + v12:StringExact = StringCopy v11 PatchPoint MethodRedefined(Object@0x1008, puts@0x1010, cme:0x1018) PatchPoint NoSingletonClass(Object@0x1008) - v23:HeapObject[class_exact*:Object@VALUE(0x1008)] = GuardType v6, HeapObject[class_exact*:Object@VALUE(0x1008)] - v24:BasicObject = CCallVariadic puts@0x1040, v23, v12 + v22:HeapObject[class_exact*:Object@VALUE(0x1008)] = GuardType v6, HeapObject[class_exact*:Object@VALUE(0x1008)] + v23:BasicObject = CCallVariadic puts@0x1040, v22, v12 CheckInterrupts - Return v24 + Return v23 "); } @@ -996,11 +996,11 @@ mod hir_opt_tests { Jump bb2(v6, v7, v8) bb2(v10:BasicObject, v11:BasicObject, v12:BasicObject): PatchPoint BOPRedefined(INTEGER_REDEFINED_OP_FLAG, BOP_PLUS) - v26:Fixnum = GuardType v11, Fixnum - v27:Fixnum = GuardType v12, Fixnum - v28:Fixnum = FixnumAdd v26, v27 + v25:Fixnum = GuardType v11, Fixnum + v26:Fixnum = GuardType v12, Fixnum + v27:Fixnum = FixnumAdd v25, v26 CheckInterrupts - Return v28 + Return v27 "); } @@ -1021,12 +1021,12 @@ mod hir_opt_tests { EntryPoint JIT(0) Jump bb2(v5, v6) bb2(v8:BasicObject, v9:BasicObject): - v13:Fixnum[1] = Const Value(1) + v14:Fixnum[1] = Const Value(1) PatchPoint BOPRedefined(INTEGER_REDEFINED_OP_FLAG, BOP_PLUS) - v24:Fixnum = GuardType v9, Fixnum - v25:Fixnum = FixnumAdd v24, v13 + v23:Fixnum = GuardType v9, Fixnum + v24:Fixnum = FixnumAdd v23, v14 CheckInterrupts - Return v25 + Return v24 "); } @@ -1049,10 +1049,10 @@ mod hir_opt_tests { bb2(v8:BasicObject, v9:BasicObject): v13:Fixnum[1] = Const Value(1) PatchPoint BOPRedefined(INTEGER_REDEFINED_OP_FLAG, BOP_PLUS) - v24:Fixnum = GuardType v9, Fixnum - v25:Fixnum = FixnumAdd v13, v24 + v23:Fixnum = GuardType v9, Fixnum + v24:Fixnum = FixnumAdd v13, v23 CheckInterrupts - Return v25 + Return v24 "); } @@ -1075,11 +1075,11 @@ mod hir_opt_tests { Jump bb2(v6, v7, v8) bb2(v10:BasicObject, v11:BasicObject, v12:BasicObject): PatchPoint BOPRedefined(INTEGER_REDEFINED_OP_FLAG, BOP_LT) - v26:Fixnum = GuardType v11, Fixnum - v27:Fixnum = GuardType v12, Fixnum - v28:BoolExact = FixnumLt v26, v27 + v25:Fixnum = GuardType v11, Fixnum + v26:Fixnum = GuardType v12, Fixnum + v27:BoolExact = FixnumLt v25, v26 CheckInterrupts - Return v28 + Return v27 "); } @@ -1100,12 +1100,12 @@ mod hir_opt_tests { EntryPoint JIT(0) Jump bb2(v5, v6) bb2(v8:BasicObject, v9:BasicObject): - v13:Fixnum[1] = Const Value(1) + v14:Fixnum[1] = Const Value(1) PatchPoint BOPRedefined(INTEGER_REDEFINED_OP_FLAG, BOP_LT) - v24:Fixnum = GuardType v9, Fixnum - v25:BoolExact = FixnumLt v24, v13 + v23:Fixnum = GuardType v9, Fixnum + v24:BoolExact = FixnumLt v23, v14 CheckInterrupts - Return v25 + Return v24 "); } @@ -1128,10 +1128,10 @@ mod hir_opt_tests { bb2(v8:BasicObject, v9:BasicObject): v13:Fixnum[1] = Const Value(1) PatchPoint BOPRedefined(INTEGER_REDEFINED_OP_FLAG, BOP_LT) - v24:Fixnum = GuardType v9, Fixnum - v25:BoolExact = FixnumLt v13, v24 + v23:Fixnum = GuardType v9, Fixnum + v24:BoolExact = FixnumLt v13, v23 CheckInterrupts - Return v25 + Return v24 "); } @@ -1157,10 +1157,10 @@ mod hir_opt_tests { Jump bb2(v5, v6) bb2(v8:BasicObject, v9:NilClass): v13:Fixnum[2] = Const Value(2) - v16:Fixnum[1] = Const Value(1) - v24:RangeExact = NewRangeFixnum v16 NewRangeInclusive v13 + v17:Fixnum[1] = Const Value(1) + v25:RangeExact = NewRangeFixnum v17 NewRangeInclusive v13 CheckInterrupts - Return v24 + Return v25 "); } @@ -1187,10 +1187,10 @@ mod hir_opt_tests { Jump bb2(v5, v6) bb2(v8:BasicObject, v9:NilClass): v13:Fixnum[2] = Const Value(2) - v16:Fixnum[1] = Const Value(1) - v24:RangeExact = NewRangeFixnum v16 NewRangeExclusive v13 + v17:Fixnum[1] = Const Value(1) + v25:RangeExact = NewRangeFixnum v17 NewRangeExclusive v13 CheckInterrupts - Return v24 + Return v25 "); } @@ -1267,9 +1267,9 @@ mod hir_opt_tests { EntryPoint JIT(0) Jump bb2(v5, v6) bb2(v8:BasicObject, v9:BasicObject): - v13:Fixnum[10] = Const Value(10) + v14:Fixnum[10] = Const Value(10) v21:Fixnum = GuardType v9, Fixnum - v22:RangeExact = NewRangeFixnum v21 NewRangeInclusive v13 + v22:RangeExact = NewRangeFixnum v21 NewRangeInclusive v14 CheckInterrupts Return v22 "); @@ -1294,9 +1294,9 @@ mod hir_opt_tests { EntryPoint JIT(0) Jump bb2(v5, v6) bb2(v8:BasicObject, v9:BasicObject): - v13:Fixnum[10] = Const Value(10) + v14:Fixnum[10] = Const Value(10) v21:Fixnum = GuardType v9, Fixnum - v22:RangeExact = NewRangeFixnum v21 NewRangeExclusive v13 + v22:RangeExact = NewRangeFixnum v21 NewRangeExclusive v14 CheckInterrupts Return v22 "); @@ -1323,7 +1323,7 @@ mod hir_opt_tests { v6:NilClass = Const Value(nil) Jump bb2(v5, v6) bb2(v8:BasicObject, v9:NilClass): - v14:ArrayExact = NewArray + v13:ArrayExact = NewArray v17:Fixnum[5] = Const Value(5) CheckInterrupts Return v17 @@ -1348,14 +1348,14 @@ mod hir_opt_tests { EntryPoint JIT(0) Jump bb2(v5, v6) bb2(v8:BasicObject, v9:BasicObject): - v13:Fixnum[0] = Const Value(0) + v14:Fixnum[0] = Const Value(0) PatchPoint MethodRedefined(Array@0x1000, []@0x1008, cme:0x1010) PatchPoint NoSingletonClass(Array@0x1000) - v26:ArrayExact = GuardType v9, ArrayExact - v27:BasicObject = ArrayArefFixnum v26, v13 + v25:ArrayExact = GuardType v9, ArrayExact + v26:BasicObject = ArrayArefFixnum v25, v14 IncrCounter inline_cfunc_optimized_send_count CheckInterrupts - Return v27 + Return v26 "); assert_snapshot!(inspect("test [1,2,3]"), @"1"); } @@ -1378,14 +1378,14 @@ mod hir_opt_tests { EntryPoint JIT(0) Jump bb2(v5, v6) bb2(v8:BasicObject, v9:BasicObject): - v13:Fixnum[0] = Const Value(0) + v14:Fixnum[0] = Const Value(0) PatchPoint MethodRedefined(Hash@0x1000, []@0x1008, cme:0x1010) PatchPoint NoSingletonClass(Hash@0x1000) - v26:HashExact = GuardType v9, HashExact - v27:BasicObject = HashAref v26, v13 + v25:HashExact = GuardType v9, HashExact + v26:BasicObject = HashAref v25, v14 IncrCounter inline_cfunc_optimized_send_count CheckInterrupts - Return v27 + Return v26 "); assert_snapshot!(inspect("test({0 => 4})"), @"4"); } @@ -1412,9 +1412,9 @@ mod hir_opt_tests { Jump bb2(v5, v6) bb2(v8:BasicObject, v9:NilClass): v13:RangeExact[VALUE(0x1000)] = Const Value(VALUE(0x1000)) - v16:Fixnum[5] = Const Value(5) + v17:Fixnum[5] = Const Value(5) CheckInterrupts - Return v16 + Return v17 "); } @@ -1440,10 +1440,10 @@ mod hir_opt_tests { Jump bb2(v5, v6) bb2(v8:BasicObject, v9:NilClass): PatchPoint BOPRedefined(STRING_REDEFINED_OP_FLAG, BOP_UMINUS) - v15:StringExact[VALUE(0x1000)] = Const Value(VALUE(0x1000)) + v14:StringExact[VALUE(0x1000)] = Const Value(VALUE(0x1000)) v16:StringExact[VALUE(0x1008)] = Const Value(VALUE(0x1008)) - v18:StringExact = StringCopy v16 - v20:RangeExact = NewRange v15 NewRangeInclusive v18 + v17:StringExact = StringCopy v16 + v19:RangeExact = NewRange v14 NewRangeInclusive v17 PatchPoint NoEPEscape(test) v25:Fixnum[0] = Const Value(0) CheckInterrupts @@ -1474,9 +1474,9 @@ mod hir_opt_tests { Jump bb2(v6, v7, v8) bb2(v10:BasicObject, v11:BasicObject, v12:NilClass): v17:ArrayExact = NewArray v11 - v20:Fixnum[5] = Const Value(5) + v21:Fixnum[5] = Const Value(5) CheckInterrupts - Return v20 + Return v21 "); } @@ -1500,7 +1500,7 @@ mod hir_opt_tests { v6:NilClass = Const Value(nil) Jump bb2(v5, v6) bb2(v8:BasicObject, v9:NilClass): - v14:HashExact = NewHash + v13:HashExact = NewHash PatchPoint NoEPEscape(test) v19:Fixnum[5] = Const Value(5) CheckInterrupts @@ -1531,12 +1531,12 @@ mod hir_opt_tests { Jump bb2(v7, v8, v9, v10) bb2(v12:BasicObject, v13:BasicObject, v14:BasicObject, v15:NilClass): v19:StaticSymbol[:a] = Const Value(VALUE(0x1000)) - v20:StaticSymbol[:b] = Const Value(VALUE(0x1008)) - v22:HashExact = NewHash v19: v13, v20: v14 + v22:StaticSymbol[:b] = Const Value(VALUE(0x1008)) + v25:HashExact = NewHash v19: v13, v22: v14 PatchPoint NoEPEscape(test) - v27:Fixnum[5] = Const Value(5) + v31:Fixnum[5] = Const Value(5) CheckInterrupts - Return v27 + Return v31 "); } @@ -1562,7 +1562,7 @@ mod hir_opt_tests { Jump bb2(v5, v6) bb2(v8:BasicObject, v9:NilClass): v13:ArrayExact[VALUE(0x1000)] = Const Value(VALUE(0x1000)) - v15:ArrayExact = ArrayDup v13 + v14:ArrayExact = ArrayDup v13 v18:Fixnum[5] = Const Value(5) CheckInterrupts Return v18 @@ -1590,7 +1590,7 @@ mod hir_opt_tests { Jump bb2(v5, v6) bb2(v8:BasicObject, v9:NilClass): v13:HashExact[VALUE(0x1000)] = Const Value(VALUE(0x1000)) - v15:HashExact = HashDup v13 + v14:HashExact = HashDup v13 v18:Fixnum[5] = Const Value(5) CheckInterrupts Return v18 @@ -1618,9 +1618,9 @@ mod hir_opt_tests { v6:NilClass = Const Value(nil) Jump bb2(v5, v6) bb2(v8:BasicObject, v9:NilClass): - v15:Fixnum[5] = Const Value(5) + v16:Fixnum[5] = Const Value(5) CheckInterrupts - Return v15 + Return v16 "); } @@ -1646,7 +1646,7 @@ mod hir_opt_tests { Jump bb2(v5, v6) bb2(v8:BasicObject, v9:NilClass): v13:StringExact[VALUE(0x1000)] = Const Value(VALUE(0x1000)) - v15:StringExact = StringCopy v13 + v14:StringExact = StringCopy v13 v18:Fixnum[5] = Const Value(5) CheckInterrupts Return v18 @@ -1677,9 +1677,9 @@ mod hir_opt_tests { PatchPoint BOPRedefined(INTEGER_REDEFINED_OP_FLAG, BOP_PLUS) v29:Fixnum = GuardType v11, Fixnum v30:Fixnum = GuardType v12, Fixnum - v22:Fixnum[5] = Const Value(5) + v23:Fixnum[5] = Const Value(5) CheckInterrupts - Return v22 + Return v23 "); } @@ -1707,9 +1707,9 @@ mod hir_opt_tests { PatchPoint BOPRedefined(INTEGER_REDEFINED_OP_FLAG, BOP_MINUS) v29:Fixnum = GuardType v11, Fixnum v30:Fixnum = GuardType v12, Fixnum - v22:Fixnum[5] = Const Value(5) + v23:Fixnum[5] = Const Value(5) CheckInterrupts - Return v22 + Return v23 "); } @@ -1737,9 +1737,9 @@ mod hir_opt_tests { PatchPoint BOPRedefined(INTEGER_REDEFINED_OP_FLAG, BOP_MULT) v29:Fixnum = GuardType v11, Fixnum v30:Fixnum = GuardType v12, Fixnum - v22:Fixnum[5] = Const Value(5) + v23:Fixnum[5] = Const Value(5) CheckInterrupts - Return v22 + Return v23 "); } @@ -1768,9 +1768,9 @@ mod hir_opt_tests { v29:Fixnum = GuardType v11, Fixnum v30:Fixnum = GuardType v12, Fixnum v31:Fixnum = FixnumDiv v29, v30 - v22:Fixnum[5] = Const Value(5) + v23:Fixnum[5] = Const Value(5) CheckInterrupts - Return v22 + Return v23 "); } @@ -1799,9 +1799,9 @@ mod hir_opt_tests { v29:Fixnum = GuardType v11, Fixnum v30:Fixnum = GuardType v12, Fixnum v31:Fixnum = FixnumMod v29, v30 - v22:Fixnum[5] = Const Value(5) + v23:Fixnum[5] = Const Value(5) CheckInterrupts - Return v22 + Return v23 "); } @@ -1829,9 +1829,9 @@ mod hir_opt_tests { PatchPoint BOPRedefined(INTEGER_REDEFINED_OP_FLAG, BOP_LT) v29:Fixnum = GuardType v11, Fixnum v30:Fixnum = GuardType v12, Fixnum - v22:Fixnum[5] = Const Value(5) + v23:Fixnum[5] = Const Value(5) CheckInterrupts - Return v22 + Return v23 "); } @@ -1859,9 +1859,9 @@ mod hir_opt_tests { PatchPoint BOPRedefined(INTEGER_REDEFINED_OP_FLAG, BOP_LE) v29:Fixnum = GuardType v11, Fixnum v30:Fixnum = GuardType v12, Fixnum - v22:Fixnum[5] = Const Value(5) + v23:Fixnum[5] = Const Value(5) CheckInterrupts - Return v22 + Return v23 "); } @@ -1889,9 +1889,9 @@ mod hir_opt_tests { PatchPoint BOPRedefined(INTEGER_REDEFINED_OP_FLAG, BOP_GT) v29:Fixnum = GuardType v11, Fixnum v30:Fixnum = GuardType v12, Fixnum - v22:Fixnum[5] = Const Value(5) + v23:Fixnum[5] = Const Value(5) CheckInterrupts - Return v22 + Return v23 "); } @@ -1919,9 +1919,9 @@ mod hir_opt_tests { PatchPoint BOPRedefined(INTEGER_REDEFINED_OP_FLAG, BOP_GE) v29:Fixnum = GuardType v11, Fixnum v30:Fixnum = GuardType v12, Fixnum - v22:Fixnum[5] = Const Value(5) + v23:Fixnum[5] = Const Value(5) CheckInterrupts - Return v22 + Return v23 "); } @@ -1949,9 +1949,9 @@ mod hir_opt_tests { PatchPoint BOPRedefined(INTEGER_REDEFINED_OP_FLAG, BOP_EQ) v29:Fixnum = GuardType v11, Fixnum v30:Fixnum = GuardType v12, Fixnum - v22:Fixnum[5] = Const Value(5) + v23:Fixnum[5] = Const Value(5) CheckInterrupts - Return v22 + Return v23 "); } @@ -1980,9 +1980,9 @@ mod hir_opt_tests { PatchPoint BOPRedefined(INTEGER_REDEFINED_OP_FLAG, BOP_NEQ) v30:Fixnum = GuardType v11, Fixnum v31:Fixnum = GuardType v12, Fixnum - v22:Fixnum[5] = Const Value(5) + v23:Fixnum[5] = Const Value(5) CheckInterrupts - Return v22 + Return v23 "); } @@ -2005,9 +2005,9 @@ mod hir_opt_tests { Jump bb2(v4) bb2(v6:BasicObject): v11:BasicObject = GetConstantPath 0x1000 - v14:Fixnum[5] = Const Value(5) + v15:Fixnum[5] = Const Value(5) CheckInterrupts - Return v14 + Return v15 "); } @@ -2030,10 +2030,10 @@ mod hir_opt_tests { Jump bb2(v5, v6) bb2(v8:BasicObject, v9:BasicObject): PatchPoint MethodRedefined(Integer@0x1000, itself@0x1008, cme:0x1010) - v22:Fixnum = GuardType v9, Fixnum + v21:Fixnum = GuardType v9, Fixnum IncrCounter inline_cfunc_optimized_send_count CheckInterrupts - Return v22 + Return v21 "); } @@ -2052,12 +2052,12 @@ mod hir_opt_tests { EntryPoint JIT(0) Jump bb2(v4) bb2(v6:BasicObject): - v11:ArrayExact = NewArray + v10:ArrayExact = NewArray PatchPoint MethodRedefined(Array@0x1000, itself@0x1008, cme:0x1010) PatchPoint NoSingletonClass(Array@0x1000) IncrCounter inline_cfunc_optimized_send_count CheckInterrupts - Return v11 + Return v10 "); } @@ -2081,7 +2081,7 @@ mod hir_opt_tests { v6:NilClass = Const Value(nil) Jump bb2(v5, v6) bb2(v8:BasicObject, v9:NilClass): - v14:ArrayExact = NewArray + v13:ArrayExact = NewArray PatchPoint MethodRedefined(Array@0x1000, itself@0x1008, cme:0x1010) PatchPoint NoSingletonClass(Array@0x1000) IncrCounter inline_cfunc_optimized_send_count @@ -2122,9 +2122,9 @@ mod hir_opt_tests { IncrCounter inline_cfunc_optimized_send_count v34:StringExact|NilClass = CCall name@0x1048, v29 PatchPoint NoEPEscape(test) - v21:Fixnum[1] = Const Value(1) + v22:Fixnum[1] = Const Value(1) CheckInterrupts - Return v21 + Return v22 "); } @@ -2148,14 +2148,14 @@ mod hir_opt_tests { v6:NilClass = Const Value(nil) Jump bb2(v5, v6) bb2(v8:BasicObject, v9:NilClass): - v14:ArrayExact = NewArray + v13:ArrayExact = NewArray PatchPoint MethodRedefined(Array@0x1000, length@0x1008, cme:0x1010) PatchPoint NoSingletonClass(Array@0x1000) IncrCounter inline_cfunc_optimized_send_count - v31:Fixnum = CCall length@0x1038, v14 - v21:Fixnum[5] = Const Value(5) + v29:Fixnum = CCall length@0x1038, v13 + v20:Fixnum[5] = Const Value(5) CheckInterrupts - Return v21 + Return v20 "); } @@ -2178,9 +2178,9 @@ mod hir_opt_tests { bb2(v6:BasicObject): PatchPoint SingleRactorMode PatchPoint StableConstantNames(0x1000, C) - v19:Class[VALUE(0x1008)] = Const Value(VALUE(0x1008)) + v18:Class[VALUE(0x1008)] = Const Value(VALUE(0x1008)) CheckInterrupts - Return v19 + Return v18 "); } @@ -2202,19 +2202,19 @@ mod hir_opt_tests { bb2(v6:BasicObject): PatchPoint SingleRactorMode PatchPoint StableConstantNames(0x1000, String) - v27:Class[VALUE(0x1008)] = Const Value(VALUE(0x1008)) + v29:Class[VALUE(0x1008)] = Const Value(VALUE(0x1008)) PatchPoint SingleRactorMode PatchPoint StableConstantNames(0x1010, Class) - v30:Class[VALUE(0x1018)] = Const Value(VALUE(0x1018)) + v32:Class[VALUE(0x1018)] = Const Value(VALUE(0x1018)) PatchPoint SingleRactorMode PatchPoint StableConstantNames(0x1020, Module) - v33:Class[VALUE(0x1028)] = Const Value(VALUE(0x1028)) + v35:Class[VALUE(0x1028)] = Const Value(VALUE(0x1028)) PatchPoint SingleRactorMode PatchPoint StableConstantNames(0x1030, BasicObject) - v36:Class[VALUE(0x1038)] = Const Value(VALUE(0x1038)) - v19:ArrayExact = NewArray v27, v30, v33, v36 + v38:Class[VALUE(0x1038)] = Const Value(VALUE(0x1038)) + v22:ArrayExact = NewArray v29, v32, v35, v38 CheckInterrupts - Return v19 + Return v22 "); } @@ -2240,9 +2240,9 @@ mod hir_opt_tests { PatchPoint SingleRactorMode PatchPoint StableConstantNames(0x1010, Kernel) v26:ModuleExact[VALUE(0x1018)] = Const Value(VALUE(0x1018)) - v15:ArrayExact = NewArray v23, v26 + v16:ArrayExact = NewArray v23, v26 CheckInterrupts - Return v15 + Return v16 "); } @@ -2266,9 +2266,9 @@ mod hir_opt_tests { bb2(v6:BasicObject): PatchPoint SingleRactorMode PatchPoint StableConstantNames(0x1000, MY_MODULE) - v19:ModuleSubclass[VALUE(0x1008)] = Const Value(VALUE(0x1008)) + v18:ModuleSubclass[VALUE(0x1008)] = Const Value(VALUE(0x1008)) CheckInterrupts - Return v19 + Return v18 "); } @@ -2292,14 +2292,14 @@ mod hir_opt_tests { v6:NilClass = Const Value(nil) Jump bb2(v5, v6) bb2(v8:BasicObject, v9:NilClass): - v14:ArrayExact = NewArray + v13:ArrayExact = NewArray PatchPoint MethodRedefined(Array@0x1000, size@0x1008, cme:0x1010) PatchPoint NoSingletonClass(Array@0x1000) IncrCounter inline_cfunc_optimized_send_count - v31:Fixnum = CCall size@0x1038, v14 - v21:Fixnum[5] = Const Value(5) + v29:Fixnum = CCall size@0x1038, v13 + v20:Fixnum[5] = Const Value(5) CheckInterrupts - Return v21 + Return v20 "); } @@ -2322,10 +2322,10 @@ mod hir_opt_tests { Jump bb2(v4) bb2(v6:BasicObject): v10:Fixnum[1] = Const Value(1) - v11:Fixnum[0] = Const Value(0) - v13:BasicObject = SendWithoutBlock v10, :itself, v11 + v12:Fixnum[0] = Const Value(0) + v14:BasicObject = SendWithoutBlock v10, :itself, v12 CheckInterrupts - Return v13 + Return v14 "); } @@ -2347,11 +2347,11 @@ mod hir_opt_tests { bb2(v6:BasicObject): PatchPoint MethodRedefined(Object@0x1000, block_given?@0x1008, cme:0x1010) PatchPoint NoSingletonClass(Object@0x1000) - v20:HeapObject[class_exact*:Object@VALUE(0x1000)] = GuardType v6, HeapObject[class_exact*:Object@VALUE(0x1000)] - v21:BoolExact = IsBlockGiven + v19:HeapObject[class_exact*:Object@VALUE(0x1000)] = GuardType v6, HeapObject[class_exact*:Object@VALUE(0x1000)] + v20:BoolExact = IsBlockGiven IncrCounter inline_cfunc_optimized_send_count CheckInterrupts - Return v21 + Return v20 "); } @@ -2373,11 +2373,11 @@ mod hir_opt_tests { bb2(v6:BasicObject): PatchPoint MethodRedefined(Object@0x1000, block_given?@0x1008, cme:0x1010) PatchPoint NoSingletonClass(Object@0x1000) - v20:HeapObject[class_exact*:Object@VALUE(0x1000)] = GuardType v6, HeapObject[class_exact*:Object@VALUE(0x1000)] - v21:BoolExact = IsBlockGiven + v19:HeapObject[class_exact*:Object@VALUE(0x1000)] = GuardType v6, HeapObject[class_exact*:Object@VALUE(0x1000)] + v20:BoolExact = IsBlockGiven IncrCounter inline_cfunc_optimized_send_count CheckInterrupts - Return v21 + Return v20 "); } @@ -2404,9 +2404,9 @@ mod hir_opt_tests { PatchPoint NoSingletonClass(Object@0x1000) v23:HeapObject[class_exact*:Object@VALUE(0x1000)] = GuardType v6, HeapObject[class_exact*:Object@VALUE(0x1000)] IncrCounter inline_cfunc_optimized_send_count - v14:Fixnum[5] = Const Value(5) + v15:Fixnum[5] = Const Value(5) CheckInterrupts - Return v14 + Return v15 "); } @@ -2429,9 +2429,9 @@ mod hir_opt_tests { v13:Fixnum[1] = Const Value(1) PatchPoint MethodRedefined(Integer@0x1000, zero?@0x1008, cme:0x1010) IncrCounter inline_iseq_optimized_send_count - v24:BasicObject = InvokeBuiltin leaf _bi285, v13 + v23:BasicObject = InvokeBuiltin leaf _bi285, v13 CheckInterrupts - Return v24 + Return v23 "); } @@ -2457,13 +2457,13 @@ mod hir_opt_tests { Jump bb2(v6, v7, v8) bb2(v10:BasicObject, v11:BasicObject, v12:NilClass): v16:ArrayExact[VALUE(0x1000)] = Const Value(VALUE(0x1000)) - v18:ArrayExact = ArrayDup v16 + v17:ArrayExact = ArrayDup v16 PatchPoint MethodRedefined(Array@0x1008, first@0x1010, cme:0x1018) PatchPoint NoSingletonClass(Array@0x1008) IncrCounter inline_iseq_optimized_send_count - v32:BasicObject = InvokeBuiltin leaf _bi132, v18 + v31:BasicObject = InvokeBuiltin leaf _bi132, v17 CheckInterrupts - Return v32 + Return v31 "); } @@ -2487,13 +2487,13 @@ mod hir_opt_tests { bb2(v6:BasicObject): PatchPoint SingleRactorMode PatchPoint StableConstantNames(0x1000, M) - v21:ModuleExact[VALUE(0x1008)] = Const Value(VALUE(0x1008)) + v20:ModuleExact[VALUE(0x1008)] = Const Value(VALUE(0x1008)) PatchPoint MethodRedefined(Module@0x1010, class@0x1018, cme:0x1020) PatchPoint NoSingletonClass(Module@0x1010) IncrCounter inline_iseq_optimized_send_count - v26:HeapObject = InvokeBuiltin leaf _bi20, v21 + v25:HeapObject = InvokeBuiltin leaf _bi20, v20 CheckInterrupts - Return v26 + Return v25 "); } @@ -2523,10 +2523,10 @@ mod hir_opt_tests { bb2(v8:BasicObject, v9:BasicObject): PatchPoint MethodRedefined(C@0x1000, foo@0x1008, cme:0x1010) PatchPoint NoSingletonClass(C@0x1000) - v22:HeapObject[class_exact:C] = GuardType v9, HeapObject[class_exact:C] - v23:BasicObject = SendWithoutBlockDirect v22, :foo (0x1038) + v21:HeapObject[class_exact:C] = GuardType v9, HeapObject[class_exact:C] + v22:BasicObject = SendWithoutBlockDirect v21, :foo (0x1038) CheckInterrupts - Return v23 + Return v22 "); } @@ -2548,11 +2548,11 @@ mod hir_opt_tests { EntryPoint JIT(0) Jump bb2(v4) bb2(v6:BasicObject): - v10:Fixnum[1] = Const Value(1) + v11:Fixnum[1] = Const Value(1) IncrCounter complex_arg_pass_param_opt - v12:BasicObject = SendWithoutBlock v6, :foo, v10 + v13:BasicObject = SendWithoutBlock v6, :foo, v11 CheckInterrupts - Return v12 + Return v13 "); } @@ -2606,11 +2606,11 @@ mod hir_opt_tests { bb2(v8:BasicObject, v9:NilClass): v13:Fixnum[1] = Const Value(1) SetLocal l0, EP@3, v13 - v18:BasicObject = Send v8, 0x1000, :foo - v19:BasicObject = GetLocal l0, EP@3 - v22:BasicObject = GetLocal l0, EP@3 + v19:BasicObject = Send v8, 0x1000, :foo + v20:BasicObject = GetLocal l0, EP@3 + v24:BasicObject = GetLocal l0, EP@3 CheckInterrupts - Return v22 + Return v24 "); } @@ -2632,11 +2632,11 @@ mod hir_opt_tests { EntryPoint JIT(0) Jump bb2(v4) bb2(v6:BasicObject): - v10:Fixnum[1] = Const Value(1) + v11:Fixnum[1] = Const Value(1) IncrCounter complex_arg_pass_param_rest - v12:BasicObject = SendWithoutBlock v6, :foo, v10 + v13:BasicObject = SendWithoutBlock v6, :foo, v11 CheckInterrupts - Return v12 + Return v13 "); } @@ -2658,11 +2658,11 @@ mod hir_opt_tests { EntryPoint JIT(0) Jump bb2(v4) bb2(v6:BasicObject): - v10:Fixnum[1] = Const Value(1) + v11:Fixnum[1] = Const Value(1) IncrCounter complex_arg_pass_caller_kwarg - v12:BasicObject = SendWithoutBlock v6, :foo, v10 + v13:BasicObject = SendWithoutBlock v6, :foo, v11 CheckInterrupts - Return v12 + Return v13 "); } @@ -2684,11 +2684,11 @@ mod hir_opt_tests { EntryPoint JIT(0) Jump bb2(v4) bb2(v6:BasicObject): - v10:Fixnum[1] = Const Value(1) + v11:Fixnum[1] = Const Value(1) IncrCounter complex_arg_pass_caller_kwarg - v12:BasicObject = SendWithoutBlock v6, :foo, v10 + v13:BasicObject = SendWithoutBlock v6, :foo, v11 CheckInterrupts - Return v12 + Return v13 "); } @@ -2754,9 +2754,9 @@ mod hir_opt_tests { bb2(v6:BasicObject): PatchPoint SingleRactorMode PatchPoint StableConstantNames(0x1000, Kernel) - v19:ModuleExact[VALUE(0x1008)] = Const Value(VALUE(0x1008)) + v18:ModuleExact[VALUE(0x1008)] = Const Value(VALUE(0x1008)) CheckInterrupts - Return v19 + Return v18 "); } @@ -2784,9 +2784,9 @@ mod hir_opt_tests { bb2(v6:BasicObject): PatchPoint SingleRactorMode PatchPoint StableConstantNames(0x1000, Foo::Bar::C) - v19:Class[VALUE(0x1008)] = Const Value(VALUE(0x1008)) + v18:Class[VALUE(0x1008)] = Const Value(VALUE(0x1008)) CheckInterrupts - Return v19 + Return v18 "); } @@ -2809,17 +2809,17 @@ mod hir_opt_tests { bb2(v6:BasicObject): PatchPoint SingleRactorMode PatchPoint StableConstantNames(0x1000, C) - v40:Class[VALUE(0x1008)] = Const Value(VALUE(0x1008)) - v12:NilClass = Const Value(nil) + v43:Class[VALUE(0x1008)] = Const Value(VALUE(0x1008)) + v13:NilClass = Const Value(nil) PatchPoint MethodRedefined(C@0x1008, new@0x1010, cme:0x1018) - v43:HeapObject[class_exact:C] = ObjectAllocClass C:VALUE(0x1008) + v46:HeapObject[class_exact:C] = ObjectAllocClass C:VALUE(0x1008) PatchPoint MethodRedefined(C@0x1008, initialize@0x1040, cme:0x1048) PatchPoint NoSingletonClass(C@0x1008) - v47:NilClass = Const Value(nil) + v50:NilClass = Const Value(nil) IncrCounter inline_cfunc_optimized_send_count CheckInterrupts CheckInterrupts - Return v43 + Return v46 "); } @@ -2846,17 +2846,17 @@ mod hir_opt_tests { bb2(v6:BasicObject): PatchPoint SingleRactorMode PatchPoint StableConstantNames(0x1000, C) - v42:Class[VALUE(0x1008)] = Const Value(VALUE(0x1008)) - v12:NilClass = Const Value(nil) - v13:Fixnum[1] = Const Value(1) + v46:Class[VALUE(0x1008)] = Const Value(VALUE(0x1008)) + v13:NilClass = Const Value(nil) + v16:Fixnum[1] = Const Value(1) PatchPoint MethodRedefined(C@0x1008, new@0x1010, cme:0x1018) - v45:HeapObject[class_exact:C] = ObjectAllocClass C:VALUE(0x1008) + v49:HeapObject[class_exact:C] = ObjectAllocClass C:VALUE(0x1008) PatchPoint MethodRedefined(C@0x1008, initialize@0x1040, cme:0x1048) PatchPoint NoSingletonClass(C@0x1008) - v48:BasicObject = SendWithoutBlockDirect v45, :initialize (0x1070), v13 + v52:BasicObject = SendWithoutBlockDirect v49, :initialize (0x1070), v16 CheckInterrupts CheckInterrupts - Return v45 + Return v49 "); } @@ -2878,17 +2878,17 @@ mod hir_opt_tests { bb2(v6:BasicObject): PatchPoint SingleRactorMode PatchPoint StableConstantNames(0x1000, Object) - v40:Class[VALUE(0x1008)] = Const Value(VALUE(0x1008)) - v12:NilClass = Const Value(nil) + v43:Class[VALUE(0x1008)] = Const Value(VALUE(0x1008)) + v13:NilClass = Const Value(nil) PatchPoint MethodRedefined(Object@0x1008, new@0x1010, cme:0x1018) - v43:ObjectExact = ObjectAllocClass Object:VALUE(0x1008) + v46:ObjectExact = ObjectAllocClass Object:VALUE(0x1008) PatchPoint MethodRedefined(Object@0x1008, initialize@0x1040, cme:0x1048) PatchPoint NoSingletonClass(Object@0x1008) - v47:NilClass = Const Value(nil) + v50:NilClass = Const Value(nil) IncrCounter inline_cfunc_optimized_send_count CheckInterrupts CheckInterrupts - Return v43 + Return v46 "); } @@ -2910,17 +2910,17 @@ mod hir_opt_tests { bb2(v6:BasicObject): PatchPoint SingleRactorMode PatchPoint StableConstantNames(0x1000, BasicObject) - v40:Class[VALUE(0x1008)] = Const Value(VALUE(0x1008)) - v12:NilClass = Const Value(nil) + v43:Class[VALUE(0x1008)] = Const Value(VALUE(0x1008)) + v13:NilClass = Const Value(nil) PatchPoint MethodRedefined(BasicObject@0x1008, new@0x1010, cme:0x1018) - v43:BasicObjectExact = ObjectAllocClass BasicObject:VALUE(0x1008) + v46:BasicObjectExact = ObjectAllocClass BasicObject:VALUE(0x1008) PatchPoint MethodRedefined(BasicObject@0x1008, initialize@0x1040, cme:0x1048) PatchPoint NoSingletonClass(BasicObject@0x1008) - v47:NilClass = Const Value(nil) + v50:NilClass = Const Value(nil) IncrCounter inline_cfunc_optimized_send_count CheckInterrupts CheckInterrupts - Return v43 + Return v46 "); } @@ -2942,17 +2942,17 @@ mod hir_opt_tests { bb2(v6:BasicObject): PatchPoint SingleRactorMode PatchPoint StableConstantNames(0x1000, Hash) - v40:Class[VALUE(0x1008)] = Const Value(VALUE(0x1008)) - v12:NilClass = Const Value(nil) + v43:Class[VALUE(0x1008)] = Const Value(VALUE(0x1008)) + v13:NilClass = Const Value(nil) PatchPoint MethodRedefined(Hash@0x1008, new@0x1010, cme:0x1018) - v43:HashExact = ObjectAllocClass Hash:VALUE(0x1008) + v46:HashExact = ObjectAllocClass Hash:VALUE(0x1008) IncrCounter complex_arg_pass_param_opt IncrCounter complex_arg_pass_param_kw IncrCounter complex_arg_pass_param_block - v18:BasicObject = SendWithoutBlock v43, :initialize + v20:BasicObject = SendWithoutBlock v46, :initialize CheckInterrupts CheckInterrupts - Return v43 + Return v46 "); assert_snapshot!(inspect("test"), @"{}"); } @@ -2975,15 +2975,15 @@ mod hir_opt_tests { bb2(v6:BasicObject): PatchPoint SingleRactorMode PatchPoint StableConstantNames(0x1000, Array) - v42:Class[VALUE(0x1008)] = Const Value(VALUE(0x1008)) - v12:NilClass = Const Value(nil) - v13:Fixnum[1] = Const Value(1) + v46:Class[VALUE(0x1008)] = Const Value(VALUE(0x1008)) + v13:NilClass = Const Value(nil) + v16:Fixnum[1] = Const Value(1) PatchPoint MethodRedefined(Array@0x1008, new@0x1010, cme:0x1018) PatchPoint MethodRedefined(Class@0x1040, new@0x1010, cme:0x1018) PatchPoint NoSingletonClass(Class@0x1040) - v53:BasicObject = CCallVariadic new@0x1048, v42, v13 + v57:BasicObject = CCallVariadic new@0x1048, v46, v16 CheckInterrupts - Return v53 + Return v57 "); } @@ -3005,17 +3005,17 @@ mod hir_opt_tests { bb2(v6:BasicObject): PatchPoint SingleRactorMode PatchPoint StableConstantNames(0x1000, Set) - v40:Class[VALUE(0x1008)] = Const Value(VALUE(0x1008)) - v12:NilClass = Const Value(nil) + v43:Class[VALUE(0x1008)] = Const Value(VALUE(0x1008)) + v13:NilClass = Const Value(nil) PatchPoint MethodRedefined(Set@0x1008, new@0x1010, cme:0x1018) - v16:HeapBasicObject = ObjectAlloc v40 + v18:HeapBasicObject = ObjectAlloc v43 PatchPoint MethodRedefined(Set@0x1008, initialize@0x1040, cme:0x1048) PatchPoint NoSingletonClass(Set@0x1008) - v46:SetExact = GuardType v16, SetExact - v47:BasicObject = CCallVariadic initialize@0x1070, v46 + v49:SetExact = GuardType v18, SetExact + v50:BasicObject = CCallVariadic initialize@0x1070, v49 CheckInterrupts CheckInterrupts - Return v16 + Return v18 "); } @@ -3037,14 +3037,14 @@ mod hir_opt_tests { bb2(v6:BasicObject): PatchPoint SingleRactorMode PatchPoint StableConstantNames(0x1000, String) - v40:Class[VALUE(0x1008)] = Const Value(VALUE(0x1008)) - v12:NilClass = Const Value(nil) + v43:Class[VALUE(0x1008)] = Const Value(VALUE(0x1008)) + v13:NilClass = Const Value(nil) PatchPoint MethodRedefined(String@0x1008, new@0x1010, cme:0x1018) PatchPoint MethodRedefined(Class@0x1040, new@0x1010, cme:0x1018) PatchPoint NoSingletonClass(Class@0x1040) - v51:BasicObject = CCallVariadic new@0x1048, v40 + v54:BasicObject = CCallVariadic new@0x1048, v43 CheckInterrupts - Return v51 + Return v54 "); } @@ -3066,18 +3066,18 @@ mod hir_opt_tests { bb2(v6:BasicObject): PatchPoint SingleRactorMode PatchPoint StableConstantNames(0x1000, Regexp) - v44:Class[VALUE(0x1008)] = Const Value(VALUE(0x1008)) - v12:NilClass = Const Value(nil) - v13:StringExact[VALUE(0x1010)] = Const Value(VALUE(0x1010)) - v15:StringExact = StringCopy v13 + v47:Class[VALUE(0x1008)] = Const Value(VALUE(0x1008)) + v13:NilClass = Const Value(nil) + v16:StringExact[VALUE(0x1010)] = Const Value(VALUE(0x1010)) + v17:StringExact = StringCopy v16 PatchPoint MethodRedefined(Regexp@0x1008, new@0x1018, cme:0x1020) - v47:RegexpExact = ObjectAllocClass Regexp:VALUE(0x1008) + v50:RegexpExact = ObjectAllocClass Regexp:VALUE(0x1008) PatchPoint MethodRedefined(Regexp@0x1008, initialize@0x1048, cme:0x1050) PatchPoint NoSingletonClass(Regexp@0x1008) - v51:BasicObject = CCallVariadic initialize@0x1078, v47, v15 + v54:BasicObject = CCallVariadic initialize@0x1078, v50, v17 CheckInterrupts CheckInterrupts - Return v47 + Return v50 "); } @@ -3098,13 +3098,13 @@ mod hir_opt_tests { EntryPoint JIT(0) Jump bb2(v6, v7, v8) bb2(v10:BasicObject, v11:BasicObject, v12:BasicObject): - v17:ArrayExact = NewArray v11, v12 + v18:ArrayExact = NewArray v11, v12 PatchPoint MethodRedefined(Array@0x1000, length@0x1008, cme:0x1010) PatchPoint NoSingletonClass(Array@0x1000) IncrCounter inline_cfunc_optimized_send_count - v31:Fixnum = CCall length@0x1038, v17 + v30:Fixnum = CCall length@0x1038, v18 CheckInterrupts - Return v31 + Return v30 "); } @@ -3125,13 +3125,13 @@ mod hir_opt_tests { EntryPoint JIT(0) Jump bb2(v6, v7, v8) bb2(v10:BasicObject, v11:BasicObject, v12:BasicObject): - v17:ArrayExact = NewArray v11, v12 + v18:ArrayExact = NewArray v11, v12 PatchPoint MethodRedefined(Array@0x1000, size@0x1008, cme:0x1010) PatchPoint NoSingletonClass(Array@0x1000) IncrCounter inline_cfunc_optimized_send_count - v31:Fixnum = CCall size@0x1038, v17 + v30:Fixnum = CCall size@0x1038, v18 CheckInterrupts - Return v31 + Return v30 "); } @@ -3175,9 +3175,9 @@ mod hir_opt_tests { Jump bb2(v4) bb2(v6:BasicObject): PatchPoint SingleRactorMode - v12:BasicObject = GetIvar v6, :@foo + v11:BasicObject = GetIvar v6, :@foo CheckInterrupts - Return v12 + Return v11 "); } @@ -3220,9 +3220,9 @@ mod hir_opt_tests { Jump bb2(v4) bb2(v6:BasicObject): PatchPoint BOPRedefined(HASH_REDEFINED_OP_FLAG, BOP_FREEZE) - v12:HashExact[VALUE(0x1000)] = Const Value(VALUE(0x1000)) + v11:HashExact[VALUE(0x1000)] = Const Value(VALUE(0x1000)) CheckInterrupts - Return v12 + Return v11 "); } @@ -3264,10 +3264,10 @@ mod hir_opt_tests { Jump bb2(v4) bb2(v6:BasicObject): PatchPoint BOPRedefined(HASH_REDEFINED_OP_FLAG, BOP_FREEZE) - v12:HashExact[VALUE(0x1000)] = Const Value(VALUE(0x1000)) + v11:HashExact[VALUE(0x1000)] = Const Value(VALUE(0x1000)) PatchPoint BOPRedefined(HASH_REDEFINED_OP_FLAG, BOP_FREEZE) CheckInterrupts - Return v12 + Return v11 "); } @@ -3286,13 +3286,13 @@ mod hir_opt_tests { EntryPoint JIT(0) Jump bb2(v4) bb2(v6:BasicObject): - v11:HashExact = NewHash + v10:HashExact = NewHash PatchPoint MethodRedefined(Hash@0x1000, dup@0x1008, cme:0x1010) PatchPoint NoSingletonClass(Hash@0x1000) - v24:BasicObject = CCallWithFrame dup@0x1038, v11 - v15:BasicObject = SendWithoutBlock v24, :freeze + v22:BasicObject = CCallWithFrame dup@0x1038, v10 + v14:BasicObject = SendWithoutBlock v22, :freeze CheckInterrupts - Return v15 + Return v14 "); } @@ -3311,9 +3311,9 @@ mod hir_opt_tests { EntryPoint JIT(0) Jump bb2(v4) bb2(v6:BasicObject): - v11:HashExact = NewHash + v10:HashExact = NewHash v12:NilClass = Const Value(nil) - v14:BasicObject = SendWithoutBlock v11, :freeze, v12 + v14:BasicObject = SendWithoutBlock v10, :freeze, v12 CheckInterrupts Return v14 "); @@ -3335,9 +3335,9 @@ mod hir_opt_tests { Jump bb2(v4) bb2(v6:BasicObject): PatchPoint BOPRedefined(ARRAY_REDEFINED_OP_FLAG, BOP_FREEZE) - v12:ArrayExact[VALUE(0x1000)] = Const Value(VALUE(0x1000)) + v11:ArrayExact[VALUE(0x1000)] = Const Value(VALUE(0x1000)) CheckInterrupts - Return v12 + Return v11 "); } @@ -3357,10 +3357,10 @@ mod hir_opt_tests { Jump bb2(v4) bb2(v6:BasicObject): PatchPoint BOPRedefined(ARRAY_REDEFINED_OP_FLAG, BOP_FREEZE) - v12:ArrayExact[VALUE(0x1000)] = Const Value(VALUE(0x1000)) + v11:ArrayExact[VALUE(0x1000)] = Const Value(VALUE(0x1000)) PatchPoint BOPRedefined(ARRAY_REDEFINED_OP_FLAG, BOP_FREEZE) CheckInterrupts - Return v12 + Return v11 "); } @@ -3379,13 +3379,13 @@ mod hir_opt_tests { EntryPoint JIT(0) Jump bb2(v4) bb2(v6:BasicObject): - v11:ArrayExact = NewArray + v10:ArrayExact = NewArray PatchPoint MethodRedefined(Array@0x1000, dup@0x1008, cme:0x1010) PatchPoint NoSingletonClass(Array@0x1000) - v24:BasicObject = CCallWithFrame dup@0x1038, v11 - v15:BasicObject = SendWithoutBlock v24, :freeze + v22:BasicObject = CCallWithFrame dup@0x1038, v10 + v14:BasicObject = SendWithoutBlock v22, :freeze CheckInterrupts - Return v15 + Return v14 "); } @@ -3404,9 +3404,9 @@ mod hir_opt_tests { EntryPoint JIT(0) Jump bb2(v4) bb2(v6:BasicObject): - v11:ArrayExact = NewArray + v10:ArrayExact = NewArray v12:NilClass = Const Value(nil) - v14:BasicObject = SendWithoutBlock v11, :freeze, v12 + v14:BasicObject = SendWithoutBlock v10, :freeze, v12 CheckInterrupts Return v14 "); @@ -3428,9 +3428,9 @@ mod hir_opt_tests { Jump bb2(v4) bb2(v6:BasicObject): PatchPoint BOPRedefined(STRING_REDEFINED_OP_FLAG, BOP_FREEZE) - v12:StringExact[VALUE(0x1000)] = Const Value(VALUE(0x1000)) + v11:StringExact[VALUE(0x1000)] = Const Value(VALUE(0x1000)) CheckInterrupts - Return v12 + Return v11 "); } @@ -3450,10 +3450,10 @@ mod hir_opt_tests { Jump bb2(v4) bb2(v6:BasicObject): PatchPoint BOPRedefined(STRING_REDEFINED_OP_FLAG, BOP_FREEZE) - v12:StringExact[VALUE(0x1000)] = Const Value(VALUE(0x1000)) + v11:StringExact[VALUE(0x1000)] = Const Value(VALUE(0x1000)) PatchPoint BOPRedefined(STRING_REDEFINED_OP_FLAG, BOP_FREEZE) CheckInterrupts - Return v12 + Return v11 "); } @@ -3473,13 +3473,13 @@ mod hir_opt_tests { Jump bb2(v4) bb2(v6:BasicObject): v10:StringExact[VALUE(0x1000)] = Const Value(VALUE(0x1000)) - v12:StringExact = StringCopy v10 + v11:StringExact = StringCopy v10 PatchPoint MethodRedefined(String@0x1008, dup@0x1010, cme:0x1018) PatchPoint NoSingletonClass(String@0x1008) - v25:BasicObject = CCallWithFrame dup@0x1040, v12 - v16:BasicObject = SendWithoutBlock v25, :freeze + v23:BasicObject = CCallWithFrame dup@0x1040, v11 + v15:BasicObject = SendWithoutBlock v23, :freeze CheckInterrupts - Return v16 + Return v15 "); } @@ -3499,9 +3499,9 @@ mod hir_opt_tests { Jump bb2(v4) bb2(v6:BasicObject): v10:StringExact[VALUE(0x1000)] = Const Value(VALUE(0x1000)) - v12:StringExact = StringCopy v10 + v11:StringExact = StringCopy v10 v13:NilClass = Const Value(nil) - v15:BasicObject = SendWithoutBlock v12, :freeze, v13 + v15:BasicObject = SendWithoutBlock v11, :freeze, v13 CheckInterrupts Return v15 "); @@ -3523,9 +3523,9 @@ mod hir_opt_tests { Jump bb2(v4) bb2(v6:BasicObject): PatchPoint BOPRedefined(STRING_REDEFINED_OP_FLAG, BOP_UMINUS) - v12:StringExact[VALUE(0x1000)] = Const Value(VALUE(0x1000)) + v11:StringExact[VALUE(0x1000)] = Const Value(VALUE(0x1000)) CheckInterrupts - Return v12 + Return v11 "); } @@ -3545,10 +3545,10 @@ mod hir_opt_tests { Jump bb2(v4) bb2(v6:BasicObject): PatchPoint BOPRedefined(STRING_REDEFINED_OP_FLAG, BOP_FREEZE) - v12:StringExact[VALUE(0x1000)] = Const Value(VALUE(0x1000)) + v11:StringExact[VALUE(0x1000)] = Const Value(VALUE(0x1000)) PatchPoint BOPRedefined(STRING_REDEFINED_OP_FLAG, BOP_UMINUS) CheckInterrupts - Return v12 + Return v11 "); } @@ -3568,13 +3568,13 @@ mod hir_opt_tests { Jump bb2(v4) bb2(v6:BasicObject): v10:StringExact[VALUE(0x1000)] = Const Value(VALUE(0x1000)) - v12:StringExact = StringCopy v10 + v11:StringExact = StringCopy v10 PatchPoint MethodRedefined(String@0x1008, dup@0x1010, cme:0x1018) PatchPoint NoSingletonClass(String@0x1008) - v25:BasicObject = CCallWithFrame dup@0x1040, v12 - v16:BasicObject = SendWithoutBlock v25, :-@ + v23:BasicObject = CCallWithFrame dup@0x1040, v11 + v15:BasicObject = SendWithoutBlock v23, :-@ CheckInterrupts - Return v16 + Return v15 "); } @@ -3595,8 +3595,8 @@ mod hir_opt_tests { bb2(v6:BasicObject): v10:StringExact[VALUE(0x1000)] = Const Value(VALUE(0x1000)) v13:StringExact[VALUE(0x1008)] = Const Value(VALUE(0x1008)) - v15:StringExact = StringCopy v13 - v21:StringExact = StringConcat v10, v15 + v14:StringExact = StringCopy v13 + v21:StringExact = StringConcat v10, v14 CheckInterrupts Return v21 "); @@ -3618,12 +3618,12 @@ mod hir_opt_tests { Jump bb2(v4) bb2(v6:BasicObject): v10:StringExact[VALUE(0x1000)] = Const Value(VALUE(0x1000)) - v11:Fixnum[1] = Const Value(1) - v13:BasicObject = ObjToString v11 - v15:String = AnyToString v11, str: v13 - v17:StringExact = StringConcat v10, v15 + v12:Fixnum[1] = Const Value(1) + v15:BasicObject = ObjToString v12 + v17:String = AnyToString v12, str: v15 + v19:StringExact = StringConcat v10, v17 CheckInterrupts - Return v17 + Return v19 "); } @@ -3649,10 +3649,10 @@ mod hir_opt_tests { bb2(v8:BasicObject, v9:BasicObject): v13:StringExact[VALUE(0x1000)] = Const Value(VALUE(0x1000)) PatchPoint NoSingletonClass(String@0x1008) - v26:String = GuardType v9, String - v19:StringExact = StringConcat v13, v26 + v27:String = GuardType v9, String + v21:StringExact = StringConcat v13, v27 CheckInterrupts - Return v19 + Return v21 "); } @@ -3681,10 +3681,10 @@ mod hir_opt_tests { bb2(v8:BasicObject, v9:BasicObject): v13:StringExact[VALUE(0x1000)] = Const Value(VALUE(0x1000)) PatchPoint NoSingletonClass(MyString@0x1008) - v26:String = GuardType v9, String - v19:StringExact = StringConcat v13, v26 + v27:String = GuardType v9, String + v21:StringExact = StringConcat v13, v27 CheckInterrupts - Return v19 + Return v21 "); } @@ -3709,15 +3709,15 @@ mod hir_opt_tests { Jump bb2(v5, v6) bb2(v8:BasicObject, v9:BasicObject): v13:StringExact[VALUE(0x1000)] = Const Value(VALUE(0x1000)) - v25:BasicObject = GuardTypeNot v9, String + v26:BasicObject = GuardTypeNot v9, String PatchPoint MethodRedefined(Array@0x1008, to_s@0x1010, cme:0x1018) PatchPoint NoSingletonClass(Array@0x1008) - v30:ArrayExact = GuardType v9, ArrayExact - v31:BasicObject = CCallWithFrame to_s@0x1040, v30 - v17:String = AnyToString v9, str: v31 - v19:StringExact = StringConcat v13, v17 + v31:ArrayExact = GuardType v9, ArrayExact + v32:BasicObject = CCallWithFrame to_s@0x1040, v31 + v19:String = AnyToString v9, str: v32 + v21:StringExact = StringConcat v13, v19 CheckInterrupts - Return v19 + Return v21 "); } @@ -3798,14 +3798,14 @@ mod hir_opt_tests { bb2(v6:BasicObject): PatchPoint SingleRactorMode PatchPoint StableConstantNames(0x1000, S) - v24:ArrayExact[VALUE(0x1008)] = Const Value(VALUE(0x1008)) - v12:Fixnum[0] = Const Value(0) + v23:ArrayExact[VALUE(0x1008)] = Const Value(VALUE(0x1008)) + v13:Fixnum[0] = Const Value(0) PatchPoint MethodRedefined(Array@0x1010, []@0x1018, cme:0x1020) PatchPoint NoSingletonClass(Array@0x1010) - v28:BasicObject = ArrayArefFixnum v24, v12 + v27:BasicObject = ArrayArefFixnum v23, v13 IncrCounter inline_cfunc_optimized_send_count CheckInterrupts - Return v28 + Return v27 "); // TODO(max): Check the result of `S[0] = 5; test` using `inspect` to make sure that we // actually do the load at run-time. @@ -3827,14 +3827,14 @@ mod hir_opt_tests { Jump bb2(v4) bb2(v6:BasicObject): PatchPoint BOPRedefined(ARRAY_REDEFINED_OP_FLAG, BOP_FREEZE) - v12:ArrayExact[VALUE(0x1000)] = Const Value(VALUE(0x1000)) + v11:ArrayExact[VALUE(0x1000)] = Const Value(VALUE(0x1000)) v13:Fixnum[1] = Const Value(1) PatchPoint MethodRedefined(Array@0x1008, []@0x1010, cme:0x1018) PatchPoint NoSingletonClass(Array@0x1008) - v28:Fixnum[5] = Const Value(5) + v26:Fixnum[5] = Const Value(5) IncrCounter inline_cfunc_optimized_send_count CheckInterrupts - Return v28 + Return v26 "); } @@ -3854,14 +3854,14 @@ mod hir_opt_tests { Jump bb2(v4) bb2(v6:BasicObject): PatchPoint BOPRedefined(ARRAY_REDEFINED_OP_FLAG, BOP_FREEZE) - v12:ArrayExact[VALUE(0x1000)] = Const Value(VALUE(0x1000)) + v11:ArrayExact[VALUE(0x1000)] = Const Value(VALUE(0x1000)) v13:Fixnum[-3] = Const Value(-3) PatchPoint MethodRedefined(Array@0x1008, []@0x1010, cme:0x1018) PatchPoint NoSingletonClass(Array@0x1008) - v28:Fixnum[4] = Const Value(4) + v26:Fixnum[4] = Const Value(4) IncrCounter inline_cfunc_optimized_send_count CheckInterrupts - Return v28 + Return v26 "); } @@ -3881,14 +3881,14 @@ mod hir_opt_tests { Jump bb2(v4) bb2(v6:BasicObject): PatchPoint BOPRedefined(ARRAY_REDEFINED_OP_FLAG, BOP_FREEZE) - v12:ArrayExact[VALUE(0x1000)] = Const Value(VALUE(0x1000)) + v11:ArrayExact[VALUE(0x1000)] = Const Value(VALUE(0x1000)) v13:Fixnum[-10] = Const Value(-10) PatchPoint MethodRedefined(Array@0x1008, []@0x1010, cme:0x1018) PatchPoint NoSingletonClass(Array@0x1008) - v28:NilClass = Const Value(nil) + v26:NilClass = Const Value(nil) IncrCounter inline_cfunc_optimized_send_count CheckInterrupts - Return v28 + Return v26 "); } @@ -3908,14 +3908,14 @@ mod hir_opt_tests { Jump bb2(v4) bb2(v6:BasicObject): PatchPoint BOPRedefined(ARRAY_REDEFINED_OP_FLAG, BOP_FREEZE) - v12:ArrayExact[VALUE(0x1000)] = Const Value(VALUE(0x1000)) + v11:ArrayExact[VALUE(0x1000)] = Const Value(VALUE(0x1000)) v13:Fixnum[10] = Const Value(10) PatchPoint MethodRedefined(Array@0x1008, []@0x1010, cme:0x1018) PatchPoint NoSingletonClass(Array@0x1008) - v28:NilClass = Const Value(nil) + v26:NilClass = Const Value(nil) IncrCounter inline_cfunc_optimized_send_count CheckInterrupts - Return v28 + Return v26 "); } @@ -3938,13 +3938,13 @@ mod hir_opt_tests { Jump bb2(v4) bb2(v6:BasicObject): PatchPoint BOPRedefined(ARRAY_REDEFINED_OP_FLAG, BOP_FREEZE) - v12:ArrayExact[VALUE(0x1000)] = Const Value(VALUE(0x1000)) + v11:ArrayExact[VALUE(0x1000)] = Const Value(VALUE(0x1000)) v13:Fixnum[10] = Const Value(10) PatchPoint MethodRedefined(Array@0x1008, []@0x1010, cme:0x1018) PatchPoint NoSingletonClass(Array@0x1008) - v25:BasicObject = SendWithoutBlockDirect v12, :[] (0x1040), v13 + v23:BasicObject = SendWithoutBlockDirect v11, :[] (0x1040), v13 CheckInterrupts - Return v25 + Return v23 "); } @@ -3967,12 +3967,12 @@ mod hir_opt_tests { Jump bb2(v4) bb2(v6:BasicObject): v10:ArrayExact[VALUE(0x1000)] = Const Value(VALUE(0x1000)) - v12:ArrayExact = ArrayDup v10 + v11:ArrayExact = ArrayDup v10 PatchPoint MethodRedefined(Array@0x1008, max@0x1010, cme:0x1018) PatchPoint NoSingletonClass(Array@0x1008) - v22:BasicObject = SendWithoutBlockDirect v12, :max (0x1040) + v20:BasicObject = SendWithoutBlockDirect v11, :max (0x1040) CheckInterrupts - Return v22 + Return v20 "); } @@ -3998,9 +3998,9 @@ mod hir_opt_tests { bb2(v6:BasicObject): PatchPoint SingleRactorMode PatchPoint StableConstantNames(0x1000, MY_SET) - v19:SetExact[VALUE(0x1008)] = Const Value(VALUE(0x1008)) + v18:SetExact[VALUE(0x1008)] = Const Value(VALUE(0x1008)) CheckInterrupts - Return v19 + Return v18 "); } @@ -4077,10 +4077,10 @@ mod hir_opt_tests { EntryPoint JIT(0) Jump bb2(v4) bb2(v6:BasicObject): - v10:Fixnum[100] = Const Value(100) - v12:BasicObject = SendWithoutBlock v6, :identity, v10 + v11:Fixnum[100] = Const Value(100) + v13:BasicObject = SendWithoutBlock v6, :identity, v11 CheckInterrupts - Return v12 + Return v13 "); } @@ -4131,12 +4131,12 @@ mod hir_opt_tests { PatchPoint SingleRactorMode PatchPoint StableConstantNames(0x1000, Foo) v22:Class[VALUE(0x1008)] = Const Value(VALUE(0x1008)) - v12:Fixnum[100] = Const Value(100) + v13:Fixnum[100] = Const Value(100) PatchPoint MethodRedefined(Class@0x1010, identity@0x1018, cme:0x1020) PatchPoint NoSingletonClass(Class@0x1010) IncrCounter inline_iseq_optimized_send_count CheckInterrupts - Return v12 + Return v13 "); } @@ -4157,10 +4157,10 @@ mod hir_opt_tests { bb2(v6:BasicObject): v10:NilClass = Const Value(nil) PatchPoint MethodRedefined(NilClass@0x1000, nil?@0x1008, cme:0x1010) - v22:TrueClass = Const Value(true) + v20:TrueClass = Const Value(true) IncrCounter inline_cfunc_optimized_send_count CheckInterrupts - Return v22 + Return v20 "); } @@ -4208,10 +4208,10 @@ mod hir_opt_tests { bb2(v6:BasicObject): v10:Fixnum[1] = Const Value(1) PatchPoint MethodRedefined(Integer@0x1000, nil?@0x1008, cme:0x1010) - v22:FalseClass = Const Value(false) + v20:FalseClass = Const Value(false) IncrCounter inline_cfunc_optimized_send_count CheckInterrupts - Return v22 + Return v20 "); } @@ -4261,11 +4261,11 @@ mod hir_opt_tests { Jump bb2(v5, v6) bb2(v8:BasicObject, v9:BasicObject): PatchPoint MethodRedefined(NilClass@0x1000, nil?@0x1008, cme:0x1010) - v24:NilClass = GuardType v9, NilClass - v25:TrueClass = Const Value(true) + v22:NilClass = GuardType v9, NilClass + v23:TrueClass = Const Value(true) IncrCounter inline_cfunc_optimized_send_count CheckInterrupts - Return v25 + Return v23 "); } @@ -4288,11 +4288,11 @@ mod hir_opt_tests { Jump bb2(v5, v6) bb2(v8:BasicObject, v9:BasicObject): PatchPoint MethodRedefined(FalseClass@0x1000, nil?@0x1008, cme:0x1010) - v24:FalseClass = GuardType v9, FalseClass - v25:FalseClass = Const Value(false) + v22:FalseClass = GuardType v9, FalseClass + v23:FalseClass = Const Value(false) IncrCounter inline_cfunc_optimized_send_count CheckInterrupts - Return v25 + Return v23 "); } @@ -4315,11 +4315,11 @@ mod hir_opt_tests { Jump bb2(v5, v6) bb2(v8:BasicObject, v9:BasicObject): PatchPoint MethodRedefined(TrueClass@0x1000, nil?@0x1008, cme:0x1010) - v24:TrueClass = GuardType v9, TrueClass - v25:FalseClass = Const Value(false) + v22:TrueClass = GuardType v9, TrueClass + v23:FalseClass = Const Value(false) IncrCounter inline_cfunc_optimized_send_count CheckInterrupts - Return v25 + Return v23 "); } @@ -4342,11 +4342,11 @@ mod hir_opt_tests { Jump bb2(v5, v6) bb2(v8:BasicObject, v9:BasicObject): PatchPoint MethodRedefined(Symbol@0x1000, nil?@0x1008, cme:0x1010) - v24:StaticSymbol = GuardType v9, StaticSymbol - v25:FalseClass = Const Value(false) + v22:StaticSymbol = GuardType v9, StaticSymbol + v23:FalseClass = Const Value(false) IncrCounter inline_cfunc_optimized_send_count CheckInterrupts - Return v25 + Return v23 "); } @@ -4369,11 +4369,11 @@ mod hir_opt_tests { Jump bb2(v5, v6) bb2(v8:BasicObject, v9:BasicObject): PatchPoint MethodRedefined(Integer@0x1000, nil?@0x1008, cme:0x1010) - v24:Fixnum = GuardType v9, Fixnum - v25:FalseClass = Const Value(false) + v22:Fixnum = GuardType v9, Fixnum + v23:FalseClass = Const Value(false) IncrCounter inline_cfunc_optimized_send_count CheckInterrupts - Return v25 + Return v23 "); } @@ -4396,11 +4396,11 @@ mod hir_opt_tests { Jump bb2(v5, v6) bb2(v8:BasicObject, v9:BasicObject): PatchPoint MethodRedefined(Float@0x1000, nil?@0x1008, cme:0x1010) - v24:Flonum = GuardType v9, Flonum - v25:FalseClass = Const Value(false) + v22:Flonum = GuardType v9, Flonum + v23:FalseClass = Const Value(false) IncrCounter inline_cfunc_optimized_send_count CheckInterrupts - Return v25 + Return v23 "); } @@ -4424,11 +4424,11 @@ mod hir_opt_tests { bb2(v8:BasicObject, v9:BasicObject): PatchPoint MethodRedefined(String@0x1000, nil?@0x1008, cme:0x1010) PatchPoint NoSingletonClass(String@0x1000) - v25:StringExact = GuardType v9, StringExact - v26:FalseClass = Const Value(false) + v23:StringExact = GuardType v9, StringExact + v24:FalseClass = Const Value(false) IncrCounter inline_cfunc_optimized_send_count CheckInterrupts - Return v26 + Return v24 "); } @@ -4452,11 +4452,11 @@ mod hir_opt_tests { bb2(v8:BasicObject, v9:BasicObject): PatchPoint MethodRedefined(Array@0x1000, !@0x1008, cme:0x1010) PatchPoint NoSingletonClass(Array@0x1000) - v25:ArrayExact = GuardType v9, ArrayExact + v23:ArrayExact = GuardType v9, ArrayExact IncrCounter inline_cfunc_optimized_send_count - v27:BoolExact = CCall !@0x1038, v25 + v25:BoolExact = CCall !@0x1038, v23 CheckInterrupts - Return v27 + Return v25 "); } @@ -4480,11 +4480,11 @@ mod hir_opt_tests { bb2(v8:BasicObject, v9:BasicObject): PatchPoint MethodRedefined(Array@0x1000, empty?@0x1008, cme:0x1010) PatchPoint NoSingletonClass(Array@0x1000) - v25:ArrayExact = GuardType v9, ArrayExact + v23:ArrayExact = GuardType v9, ArrayExact IncrCounter inline_cfunc_optimized_send_count - v27:BoolExact = CCall empty?@0x1038, v25 + v25:BoolExact = CCall empty?@0x1038, v23 CheckInterrupts - Return v27 + Return v25 "); } @@ -4508,11 +4508,11 @@ mod hir_opt_tests { bb2(v8:BasicObject, v9:BasicObject): PatchPoint MethodRedefined(Hash@0x1000, empty?@0x1008, cme:0x1010) PatchPoint NoSingletonClass(Hash@0x1000) - v25:HashExact = GuardType v9, HashExact + v23:HashExact = GuardType v9, HashExact IncrCounter inline_cfunc_optimized_send_count - v27:BoolExact = CCall empty?@0x1038, v25 + v25:BoolExact = CCall empty?@0x1038, v23 CheckInterrupts - Return v27 + Return v25 "); } @@ -4538,12 +4538,12 @@ mod hir_opt_tests { bb2(v10:BasicObject, v11:BasicObject, v12:BasicObject): PatchPoint MethodRedefined(C@0x1000, ==@0x1008, cme:0x1010) PatchPoint NoSingletonClass(C@0x1000) - v28:HeapObject[class_exact:C] = GuardType v11, HeapObject[class_exact:C] - v29:CBool = IsBitEqual v28, v12 - v30:BoolExact = BoxBool v29 + v27:HeapObject[class_exact:C] = GuardType v11, HeapObject[class_exact:C] + v28:CBool = IsBitEqual v27, v12 + v29:BoolExact = BoxBool v28 IncrCounter inline_cfunc_optimized_send_count CheckInterrupts - Return v30 + Return v29 "); } @@ -4567,11 +4567,11 @@ mod hir_opt_tests { Jump bb2(v6, v7, v8) bb2(v10:BasicObject, v11:BasicObject, v12:BasicObject): PatchPoint BOPRedefined(INTEGER_REDEFINED_OP_FLAG, 28) - v26:Fixnum = GuardType v11, Fixnum - v27:Fixnum = GuardType v12, Fixnum - v28:Fixnum = FixnumAnd v26, v27 + v25:Fixnum = GuardType v11, Fixnum + v26:Fixnum = GuardType v12, Fixnum + v27:Fixnum = FixnumAnd v25, v26 CheckInterrupts - Return v28 + Return v27 "); } @@ -4595,11 +4595,11 @@ mod hir_opt_tests { Jump bb2(v6, v7, v8) bb2(v10:BasicObject, v11:BasicObject, v12:BasicObject): PatchPoint BOPRedefined(INTEGER_REDEFINED_OP_FLAG, 29) - v26:Fixnum = GuardType v11, Fixnum - v27:Fixnum = GuardType v12, Fixnum - v28:Fixnum = FixnumOr v26, v27 + v25:Fixnum = GuardType v11, Fixnum + v26:Fixnum = GuardType v12, Fixnum + v27:Fixnum = FixnumOr v25, v26 CheckInterrupts - Return v28 + Return v27 "); } @@ -4624,11 +4624,11 @@ mod hir_opt_tests { bb2(v6:BasicObject): PatchPoint MethodRedefined(Object@0x1000, foo@0x1008, cme:0x1010) PatchPoint NoSingletonClass(Object@0x1000) - v19:HeapObject[class_exact*:Object@VALUE(0x1000)] = GuardType v6, HeapObject[class_exact*:Object@VALUE(0x1000)] + v18:HeapObject[class_exact*:Object@VALUE(0x1000)] = GuardType v6, HeapObject[class_exact*:Object@VALUE(0x1000)] IncrCounter inline_iseq_optimized_send_count - v22:NilClass = Const Value(nil) + v21:NilClass = Const Value(nil) CheckInterrupts - Return v22 + Return v21 "); } @@ -4660,11 +4660,11 @@ mod hir_opt_tests { bb2(v8:BasicObject, v9:BasicObject): PatchPoint MethodRedefined(C@0x1000, foo@0x1008, cme:0x1010) PatchPoint NoSingletonClass(C@0x1000) - v22:HeapObject[class_exact:C] = GuardType v9, HeapObject[class_exact:C] - v25:HeapObject[class_exact:C] = GuardShape v22, 0x1038 - v26:BasicObject = LoadField v25, :@foo@0x1039 + v21:HeapObject[class_exact:C] = GuardType v9, HeapObject[class_exact:C] + v24:HeapObject[class_exact:C] = GuardShape v21, 0x1038 + v25:BasicObject = LoadField v24, :@foo@0x1039 CheckInterrupts - Return v26 + Return v25 "); } @@ -4699,12 +4699,12 @@ mod hir_opt_tests { bb2(v8:BasicObject, v9:BasicObject): PatchPoint MethodRedefined(C@0x1000, foo@0x1008, cme:0x1010) PatchPoint NoSingletonClass(C@0x1000) - v22:HeapObject[class_exact:C] = GuardType v9, HeapObject[class_exact:C] - v25:HeapObject[class_exact:C] = GuardShape v22, 0x1038 - v26:CPtr = LoadField v25, :_as_heap@0x1039 - v27:BasicObject = LoadField v26, :@foo@0x103a + v21:HeapObject[class_exact:C] = GuardType v9, HeapObject[class_exact:C] + v24:HeapObject[class_exact:C] = GuardShape v21, 0x1038 + v25:CPtr = LoadField v24, :_as_heap@0x1039 + v26:BasicObject = LoadField v25, :@foo@0x103a CheckInterrupts - Return v27 + Return v26 "); } @@ -4768,12 +4768,12 @@ mod hir_opt_tests { Jump bb2(v4) bb2(v6:BasicObject): v10:ArrayExact[VALUE(0x1000)] = Const Value(VALUE(0x1000)) - v12:ArrayExact = ArrayDup v10 + v11:ArrayExact = ArrayDup v10 PatchPoint MethodRedefined(Array@0x1008, map@0x1010, cme:0x1018) PatchPoint NoSingletonClass(Array@0x1008) - v23:BasicObject = CCallWithFrame map@0x1040, v12, block=0x1048 + v21:BasicObject = CCallWithFrame map@0x1040, v11, block=0x1048 CheckInterrupts - Return v23 + Return v21 "); } @@ -4794,10 +4794,10 @@ mod hir_opt_tests { Jump bb2(v4) bb2(v6:BasicObject): v10:ArrayExact[VALUE(0x1000)] = Const Value(VALUE(0x1000)) - v12:ArrayExact = ArrayDup v10 - v14:BasicObject = Send v12, 0x1008, :index + v11:ArrayExact = ArrayDup v10 + v13:BasicObject = Send v11, 0x1008, :index CheckInterrupts - Return v14 + Return v13 "); } @@ -4818,13 +4818,13 @@ mod hir_opt_tests { EntryPoint JIT(0) Jump bb2(v5, v6) bb2(v8:BasicObject, v9:BasicObject): - v14:ArrayExact = NewArray + v13:ArrayExact = NewArray GuardBlockParamProxy l0 - v17:HeapObject[BlockParamProxy] = Const Value(VALUE(0x1000)) + v16:HeapObject[BlockParamProxy] = Const Value(VALUE(0x1000)) IncrCounter complex_arg_pass_caller_blockarg - v19:BasicObject = Send v14, 0x1008, :map, v17 + v18:BasicObject = Send v13, 0x1008, :map, v16 CheckInterrupts - Return v19 + Return v18 "); } @@ -4878,13 +4878,13 @@ mod hir_opt_tests { bb2(v6:BasicObject): PatchPoint SingleRactorMode PatchPoint StableConstantNames(0x1000, O) - v21:HeapObject[VALUE(0x1008)] = Const Value(VALUE(0x1008)) + v20:HeapObject[VALUE(0x1008)] = Const Value(VALUE(0x1008)) PatchPoint MethodRedefined(C@0x1010, foo@0x1018, cme:0x1020) PatchPoint NoSingletonClass(C@0x1010) - v26:HeapObject[VALUE(0x1008)] = GuardShape v21, 0x1048 - v27:NilClass = Const Value(nil) + v25:HeapObject[VALUE(0x1008)] = GuardShape v20, 0x1048 + v26:NilClass = Const Value(nil) CheckInterrupts - Return v27 + Return v26 "); } @@ -4912,13 +4912,13 @@ mod hir_opt_tests { bb2(v6:BasicObject): PatchPoint SingleRactorMode PatchPoint StableConstantNames(0x1000, O) - v21:HeapObject[VALUE(0x1008)] = Const Value(VALUE(0x1008)) + v20:HeapObject[VALUE(0x1008)] = Const Value(VALUE(0x1008)) PatchPoint MethodRedefined(C@0x1010, foo@0x1018, cme:0x1020) PatchPoint NoSingletonClass(C@0x1010) - v26:HeapObject[VALUE(0x1008)] = GuardShape v21, 0x1048 - v27:NilClass = Const Value(nil) + v25:HeapObject[VALUE(0x1008)] = GuardShape v20, 0x1048 + v26:NilClass = Const Value(nil) CheckInterrupts - Return v27 + Return v26 "); } @@ -4946,11 +4946,11 @@ mod hir_opt_tests { bb2(v8:BasicObject, v9:BasicObject): PatchPoint MethodRedefined(C@0x1000, foo@0x1008, cme:0x1010) PatchPoint NoSingletonClass(C@0x1000) - v22:HeapObject[class_exact:C] = GuardType v9, HeapObject[class_exact:C] - v25:HeapObject[class_exact:C] = GuardShape v22, 0x1038 - v26:NilClass = Const Value(nil) + v21:HeapObject[class_exact:C] = GuardType v9, HeapObject[class_exact:C] + v24:HeapObject[class_exact:C] = GuardShape v21, 0x1038 + v25:NilClass = Const Value(nil) CheckInterrupts - Return v26 + Return v25 "); } @@ -4978,11 +4978,11 @@ mod hir_opt_tests { bb2(v8:BasicObject, v9:BasicObject): PatchPoint MethodRedefined(C@0x1000, foo@0x1008, cme:0x1010) PatchPoint NoSingletonClass(C@0x1000) - v22:HeapObject[class_exact:C] = GuardType v9, HeapObject[class_exact:C] - v25:HeapObject[class_exact:C] = GuardShape v22, 0x1038 - v26:NilClass = Const Value(nil) + v21:HeapObject[class_exact:C] = GuardType v9, HeapObject[class_exact:C] + v24:HeapObject[class_exact:C] = GuardShape v21, 0x1038 + v25:NilClass = Const Value(nil) CheckInterrupts - Return v26 + Return v25 "); } @@ -5008,12 +5008,12 @@ mod hir_opt_tests { EntryPoint JIT(0) Jump bb2(v5, v6) bb2(v8:BasicObject, v9:BasicObject): - v14:Fixnum[5] = Const Value(5) + v16:Fixnum[5] = Const Value(5) PatchPoint MethodRedefined(C@0x1000, foo=@0x1008, cme:0x1010) - v23:HeapObject[class_exact:C] = GuardType v9, HeapObject[class_exact:C] - SetIvar v23, :@foo, v14 + v26:HeapObject[class_exact:C] = GuardType v9, HeapObject[class_exact:C] + SetIvar v26, :@foo, v16 CheckInterrupts - Return v14 + Return v16 "); } @@ -5039,12 +5039,12 @@ mod hir_opt_tests { EntryPoint JIT(0) Jump bb2(v5, v6) bb2(v8:BasicObject, v9:BasicObject): - v14:Fixnum[5] = Const Value(5) + v16:Fixnum[5] = Const Value(5) PatchPoint MethodRedefined(C@0x1000, foo=@0x1008, cme:0x1010) - v23:HeapObject[class_exact:C] = GuardType v9, HeapObject[class_exact:C] - SetIvar v23, :@foo, v14 + v26:HeapObject[class_exact:C] = GuardType v9, HeapObject[class_exact:C] + SetIvar v26, :@foo, v16 CheckInterrupts - Return v14 + Return v16 "); } @@ -5069,10 +5069,10 @@ mod hir_opt_tests { bb2(v8:BasicObject, v9:BasicObject): PatchPoint MethodRedefined(C@0x1000, foo@0x1008, cme:0x1010) PatchPoint NoSingletonClass(C@0x1000) - v22:HeapObject[class_exact:C] = GuardType v9, HeapObject[class_exact:C] - v23:BasicObject = LoadField v22, :foo@0x1038 + v21:HeapObject[class_exact:C] = GuardType v9, HeapObject[class_exact:C] + v22:BasicObject = LoadField v21, :foo@0x1038 CheckInterrupts - Return v23 + Return v22 "); } @@ -5097,11 +5097,11 @@ mod hir_opt_tests { bb2(v8:BasicObject, v9:BasicObject): PatchPoint MethodRedefined(C@0x1000, foo@0x1008, cme:0x1010) PatchPoint NoSingletonClass(C@0x1000) - v22:HeapObject[class_exact:C] = GuardType v9, HeapObject[class_exact:C] - v23:CPtr = LoadField v22, :_as_heap@0x1038 - v24:BasicObject = LoadField v23, :foo@0x1039 + v21:HeapObject[class_exact:C] = GuardType v9, HeapObject[class_exact:C] + v22:CPtr = LoadField v21, :_as_heap@0x1038 + v23:BasicObject = LoadField v22, :foo@0x1039 CheckInterrupts - Return v24 + Return v23 "); } @@ -5130,9 +5130,9 @@ mod hir_opt_tests { PatchPoint MethodRedefined(C@0x1000, foo@0x1008, cme:0x1010) PatchPoint NoSingletonClass(C@0x1000) v25:HeapObject[class_exact:C] = GuardType v9, HeapObject[class_exact:C] - v17:Fixnum[5] = Const Value(5) + v18:Fixnum[5] = Const Value(5) CheckInterrupts - Return v17 + Return v18 "); } @@ -5151,12 +5151,12 @@ mod hir_opt_tests { EntryPoint JIT(0) Jump bb2(v4) bb2(v6:BasicObject): - v11:ArrayExact = NewArray + v10:ArrayExact = NewArray PatchPoint MethodRedefined(Array@0x1000, reverse@0x1008, cme:0x1010) PatchPoint NoSingletonClass(Array@0x1000) - v22:ArrayExact = CCallWithFrame reverse@0x1038, v11 + v20:ArrayExact = CCallWithFrame reverse@0x1038, v10 CheckInterrupts - Return v22 + Return v20 "); } @@ -5178,7 +5178,7 @@ mod hir_opt_tests { EntryPoint JIT(0) Jump bb2(v4) bb2(v6:BasicObject): - v11:ArrayExact = NewArray + v10:ArrayExact = NewArray PatchPoint MethodRedefined(Array@0x1000, reverse@0x1008, cme:0x1010) PatchPoint NoSingletonClass(Array@0x1000) v16:Fixnum[5] = Const Value(5) @@ -5202,14 +5202,14 @@ mod hir_opt_tests { EntryPoint JIT(0) Jump bb2(v4) bb2(v6:BasicObject): - v11:ArrayExact = NewArray + v10:ArrayExact = NewArray v12:StringExact[VALUE(0x1000)] = Const Value(VALUE(0x1000)) - v14:StringExact = StringCopy v12 + v13:StringExact = StringCopy v12 PatchPoint MethodRedefined(Array@0x1008, join@0x1010, cme:0x1018) PatchPoint NoSingletonClass(Array@0x1008) - v25:StringExact = CCallVariadic join@0x1040, v11, v14 + v23:StringExact = CCallVariadic join@0x1040, v10, v13 CheckInterrupts - Return v25 + Return v23 "); } @@ -5229,12 +5229,12 @@ mod hir_opt_tests { Jump bb2(v4) bb2(v6:BasicObject): v10:StringExact[VALUE(0x1000)] = Const Value(VALUE(0x1000)) - v12:StringExact = StringCopy v10 + v11:StringExact = StringCopy v10 PatchPoint MethodRedefined(String@0x1008, to_s@0x1010, cme:0x1018) PatchPoint NoSingletonClass(String@0x1008) IncrCounter inline_cfunc_optimized_send_count CheckInterrupts - Return v12 + Return v11 "); } @@ -5254,12 +5254,12 @@ mod hir_opt_tests { Jump bb2(v4) bb2(v6:BasicObject): v10:StringExact[VALUE(0x1000)] = Const Value(VALUE(0x1000)) - v12:StringExact = StringCopy v10 + v11:StringExact = StringCopy v10 PatchPoint MethodRedefined(String@0x1008, to_s@0x1010, cme:0x1018) PatchPoint NoSingletonClass(String@0x1008) IncrCounter inline_cfunc_optimized_send_count CheckInterrupts - Return v12 + Return v11 "); } @@ -5282,10 +5282,10 @@ mod hir_opt_tests { bb2(v8:BasicObject, v9:BasicObject): PatchPoint MethodRedefined(String@0x1000, to_s@0x1008, cme:0x1010) PatchPoint NoSingletonClass(String@0x1000) - v23:StringExact = GuardType v9, StringExact + v22:StringExact = GuardType v9, StringExact IncrCounter inline_cfunc_optimized_send_count CheckInterrupts - Return v23 + Return v22 "); } @@ -5310,14 +5310,14 @@ mod hir_opt_tests { Jump bb2(v5, v6) bb2(v8:BasicObject, v9:NilClass): v13:ArrayExact[VALUE(0x1000)] = Const Value(VALUE(0x1000)) - v15:ArrayExact = ArrayDup v13 - v18:Fixnum[0] = Const Value(0) + v14:ArrayExact = ArrayDup v13 + v19:Fixnum[0] = Const Value(0) PatchPoint MethodRedefined(Array@0x1008, []@0x1010, cme:0x1018) PatchPoint NoSingletonClass(Array@0x1008) - v31:BasicObject = ArrayArefFixnum v15, v18 + v30:BasicObject = ArrayArefFixnum v14, v19 IncrCounter inline_cfunc_optimized_send_count CheckInterrupts - Return v31 + Return v30 "); } @@ -5343,12 +5343,12 @@ mod hir_opt_tests { bb2(v10:BasicObject, v11:BasicObject, v12:BasicObject): PatchPoint MethodRedefined(Array@0x1000, []@0x1008, cme:0x1010) PatchPoint NoSingletonClass(Array@0x1000) - v28:ArrayExact = GuardType v11, ArrayExact - v29:Fixnum = GuardType v12, Fixnum - v30:BasicObject = ArrayArefFixnum v28, v29 + v27:ArrayExact = GuardType v11, ArrayExact + v28:Fixnum = GuardType v12, Fixnum + v29:BasicObject = ArrayArefFixnum v27, v28 IncrCounter inline_cfunc_optimized_send_count CheckInterrupts - Return v30 + Return v29 "); } @@ -5375,12 +5375,12 @@ mod hir_opt_tests { bb2(v10:BasicObject, v11:BasicObject, v12:BasicObject): PatchPoint MethodRedefined(C@0x1000, []@0x1008, cme:0x1010) PatchPoint NoSingletonClass(C@0x1000) - v28:ArraySubclass[class_exact:C] = GuardType v11, ArraySubclass[class_exact:C] - v29:Fixnum = GuardType v12, Fixnum - v30:BasicObject = ArrayArefFixnum v28, v29 + v27:ArraySubclass[class_exact:C] = GuardType v11, ArraySubclass[class_exact:C] + v28:Fixnum = GuardType v12, Fixnum + v29:BasicObject = ArrayArefFixnum v27, v28 IncrCounter inline_cfunc_optimized_send_count CheckInterrupts - Return v30 + Return v29 "); } @@ -5405,14 +5405,14 @@ mod hir_opt_tests { Jump bb2(v5, v6) bb2(v8:BasicObject, v9:NilClass): v13:HashExact[VALUE(0x1000)] = Const Value(VALUE(0x1000)) - v15:HashExact = HashDup v13 - v18:Fixnum[1] = Const Value(1) + v14:HashExact = HashDup v13 + v19:Fixnum[1] = Const Value(1) PatchPoint MethodRedefined(Hash@0x1008, []@0x1010, cme:0x1018) PatchPoint NoSingletonClass(Hash@0x1008) - v31:BasicObject = HashAref v15, v18 + v30:BasicObject = HashAref v14, v19 IncrCounter inline_cfunc_optimized_send_count CheckInterrupts - Return v31 + Return v30 "); } @@ -5438,11 +5438,11 @@ mod hir_opt_tests { bb2(v10:BasicObject, v11:BasicObject, v12:BasicObject): PatchPoint MethodRedefined(Hash@0x1000, []@0x1008, cme:0x1010) PatchPoint NoSingletonClass(Hash@0x1000) - v28:HashExact = GuardType v11, HashExact - v29:BasicObject = HashAref v28, v12 + v27:HashExact = GuardType v11, HashExact + v28:BasicObject = HashAref v27, v12 IncrCounter inline_cfunc_optimized_send_count CheckInterrupts - Return v29 + Return v28 "); } @@ -5469,11 +5469,11 @@ mod hir_opt_tests { bb2(v10:BasicObject, v11:BasicObject, v12:BasicObject): PatchPoint MethodRedefined(C@0x1000, []@0x1008, cme:0x1010) PatchPoint NoSingletonClass(C@0x1000) - v28:HashSubclass[class_exact:C] = GuardType v11, HashSubclass[class_exact:C] - v29:BasicObject = HashAref v28, v12 + v27:HashSubclass[class_exact:C] = GuardType v11, HashSubclass[class_exact:C] + v28:BasicObject = HashAref v27, v12 IncrCounter inline_cfunc_optimized_send_count CheckInterrupts - Return v29 + Return v28 "); } @@ -5496,14 +5496,14 @@ mod hir_opt_tests { bb2(v6:BasicObject): PatchPoint SingleRactorMode PatchPoint StableConstantNames(0x1000, H) - v24:HashExact[VALUE(0x1008)] = Const Value(VALUE(0x1008)) - v12:StaticSymbol[:a] = Const Value(VALUE(0x1010)) + v23:HashExact[VALUE(0x1008)] = Const Value(VALUE(0x1008)) + v13:StaticSymbol[:a] = Const Value(VALUE(0x1010)) PatchPoint MethodRedefined(Hash@0x1018, []@0x1020, cme:0x1028) PatchPoint NoSingletonClass(Hash@0x1018) - v28:BasicObject = HashAref v24, v12 + v27:BasicObject = HashAref v23, v13 IncrCounter inline_cfunc_optimized_send_count CheckInterrupts - Return v28 + Return v27 "); } @@ -5525,13 +5525,13 @@ mod hir_opt_tests { bb2(v6:BasicObject): PatchPoint SingleRactorMode PatchPoint StableConstantNames(0x1000, Thread) - v21:Class[VALUE(0x1008)] = Const Value(VALUE(0x1008)) + v20:Class[VALUE(0x1008)] = Const Value(VALUE(0x1008)) PatchPoint MethodRedefined(Class@0x1010, current@0x1018, cme:0x1020) PatchPoint NoSingletonClass(Class@0x1010) IncrCounter inline_cfunc_optimized_send_count - v26:BasicObject = CCall current@0x1048, v21 + v25:BasicObject = CCall current@0x1048, v20 CheckInterrupts - Return v26 + Return v25 "); } @@ -5554,14 +5554,14 @@ mod hir_opt_tests { EntryPoint JIT(0) Jump bb2(v5, v6) bb2(v8:BasicObject, v9:BasicObject): - v14:Fixnum[1] = Const Value(1) - v15:Fixnum[10] = Const Value(10) + v16:Fixnum[1] = Const Value(1) + v18:Fixnum[10] = Const Value(10) PatchPoint MethodRedefined(Array@0x1000, []=@0x1008, cme:0x1010) PatchPoint NoSingletonClass(Array@0x1000) - v28:ArrayExact = GuardType v9, ArrayExact - v29:BasicObject = CCallVariadic []=@0x1038, v28, v14, v15 + v31:ArrayExact = GuardType v9, ArrayExact + v32:BasicObject = CCallVariadic []=@0x1038, v31, v16, v18 CheckInterrupts - Return v15 + Return v18 "); } @@ -5584,14 +5584,14 @@ mod hir_opt_tests { EntryPoint JIT(0) Jump bb2(v5, v6) bb2(v8:BasicObject, v9:BasicObject): - v13:Fixnum[1] = Const Value(1) + v14:Fixnum[1] = Const Value(1) PatchPoint MethodRedefined(Array@0x1000, <<@0x1008, cme:0x1010) PatchPoint NoSingletonClass(Array@0x1000) - v26:ArrayExact = GuardType v9, ArrayExact - ArrayPush v26, v13 + v25:ArrayExact = GuardType v9, ArrayExact + ArrayPush v25, v14 IncrCounter inline_cfunc_optimized_send_count CheckInterrupts - Return v26 + Return v25 "); } @@ -5614,11 +5614,11 @@ mod hir_opt_tests { EntryPoint JIT(0) Jump bb2(v5, v6) bb2(v8:BasicObject, v9:BasicObject): - v13:Fixnum[1] = Const Value(1) + v14:Fixnum[1] = Const Value(1) PatchPoint MethodRedefined(Array@0x1000, push@0x1008, cme:0x1010) PatchPoint NoSingletonClass(Array@0x1000) v24:ArrayExact = GuardType v9, ArrayExact - ArrayPush v24, v13 + ArrayPush v24, v14 IncrCounter inline_cfunc_optimized_send_count CheckInterrupts Return v24 @@ -5644,15 +5644,15 @@ mod hir_opt_tests { EntryPoint JIT(0) Jump bb2(v5, v6) bb2(v8:BasicObject, v9:BasicObject): - v13:Fixnum[1] = Const Value(1) - v14:Fixnum[2] = Const Value(2) - v15:Fixnum[3] = Const Value(3) + v14:Fixnum[1] = Const Value(1) + v16:Fixnum[2] = Const Value(2) + v18:Fixnum[3] = Const Value(3) PatchPoint MethodRedefined(Array@0x1000, push@0x1008, cme:0x1010) PatchPoint NoSingletonClass(Array@0x1000) - v26:ArrayExact = GuardType v9, ArrayExact - v27:BasicObject = CCallVariadic push@0x1038, v26, v13, v14, v15 + v28:ArrayExact = GuardType v9, ArrayExact + v29:BasicObject = CCallVariadic push@0x1038, v28, v14, v16, v18 CheckInterrupts - Return v27 + Return v29 "); } @@ -5676,11 +5676,11 @@ mod hir_opt_tests { bb2(v8:BasicObject, v9:BasicObject): PatchPoint MethodRedefined(Array@0x1000, length@0x1008, cme:0x1010) PatchPoint NoSingletonClass(Array@0x1000) - v25:ArrayExact = GuardType v9, ArrayExact + v23:ArrayExact = GuardType v9, ArrayExact IncrCounter inline_cfunc_optimized_send_count - v27:Fixnum = CCall length@0x1038, v25 + v25:Fixnum = CCall length@0x1038, v23 CheckInterrupts - Return v27 + Return v25 "); } @@ -5704,11 +5704,11 @@ mod hir_opt_tests { bb2(v8:BasicObject, v9:BasicObject): PatchPoint MethodRedefined(Array@0x1000, size@0x1008, cme:0x1010) PatchPoint NoSingletonClass(Array@0x1000) - v25:ArrayExact = GuardType v9, ArrayExact + v23:ArrayExact = GuardType v9, ArrayExact IncrCounter inline_cfunc_optimized_send_count - v27:Fixnum = CCall size@0x1038, v25 + v25:Fixnum = CCall size@0x1038, v23 CheckInterrupts - Return v27 + Return v25 "); } @@ -5730,13 +5730,13 @@ mod hir_opt_tests { EntryPoint JIT(0) Jump bb2(v5, v6) bb2(v8:BasicObject, v9:BasicObject): - v13:RegexpExact[VALUE(0x1000)] = Const Value(VALUE(0x1000)) + v14:RegexpExact[VALUE(0x1000)] = Const Value(VALUE(0x1000)) PatchPoint MethodRedefined(String@0x1008, =~@0x1010, cme:0x1018) PatchPoint NoSingletonClass(String@0x1008) - v26:StringExact = GuardType v9, StringExact - v27:BasicObject = CCallWithFrame =~@0x1040, v26, v13 + v25:StringExact = GuardType v9, StringExact + v26:BasicObject = CCallWithFrame =~@0x1040, v25, v14 CheckInterrupts - Return v27 + Return v26 "); } @@ -5792,12 +5792,12 @@ mod hir_opt_tests { bb2(v10:BasicObject, v11:BasicObject, v12:BasicObject): PatchPoint MethodRedefined(String@0x1000, getbyte@0x1008, cme:0x1010) PatchPoint NoSingletonClass(String@0x1000) - v29:StringExact = GuardType v11, StringExact - v30:Fixnum = GuardType v12, Fixnum + v30:StringExact = GuardType v11, StringExact + v31:Fixnum = GuardType v12, Fixnum IncrCounter inline_cfunc_optimized_send_count - v20:Fixnum[5] = Const Value(5) + v22:Fixnum[5] = Const Value(5) CheckInterrupts - Return v20 + Return v22 "); } @@ -5824,19 +5824,19 @@ mod hir_opt_tests { bb2(v12:BasicObject, v13:BasicObject, v14:BasicObject, v15:BasicObject): PatchPoint MethodRedefined(String@0x1000, setbyte@0x1008, cme:0x1010) PatchPoint NoSingletonClass(String@0x1000) - v29:StringExact = GuardType v13, StringExact - v30:Fixnum = GuardType v14, Fixnum - v31:Fixnum = GuardType v15, Fixnum - v32:CInt64 = UnboxFixnum v30 - v33:CInt64 = LoadField v29, :len@0x1038 - v34:CInt64 = GuardLess v32, v33 - v35:CInt64[0] = Const CInt64(0) - v36:CInt64 = GuardGreaterEq v34, v35 - v37:StringExact = GuardNotFrozen v29 - v38:Fixnum = StringSetbyteFixnum v37, v30, v31 + v30:StringExact = GuardType v13, StringExact + v31:Fixnum = GuardType v14, Fixnum + v32:Fixnum = GuardType v15, Fixnum + v33:CInt64 = UnboxFixnum v31 + v34:CInt64 = LoadField v30, :len@0x1038 + v35:CInt64 = GuardLess v33, v34 + v36:CInt64[0] = Const CInt64(0) + v37:CInt64 = GuardGreaterEq v35, v36 + v38:StringExact = GuardNotFrozen v30 + v39:Fixnum = StringSetbyteFixnum v38, v31, v32 IncrCounter inline_cfunc_optimized_send_count CheckInterrupts - Return v31 + Return v32 "); } @@ -5865,19 +5865,19 @@ mod hir_opt_tests { bb2(v12:BasicObject, v13:BasicObject, v14:BasicObject, v15:BasicObject): PatchPoint MethodRedefined(MyString@0x1000, setbyte@0x1008, cme:0x1010) PatchPoint NoSingletonClass(MyString@0x1000) - v29:StringSubclass[class_exact:MyString] = GuardType v13, StringSubclass[class_exact:MyString] - v30:Fixnum = GuardType v14, Fixnum - v31:Fixnum = GuardType v15, Fixnum - v32:CInt64 = UnboxFixnum v30 - v33:CInt64 = LoadField v29, :len@0x1038 - v34:CInt64 = GuardLess v32, v33 - v35:CInt64[0] = Const CInt64(0) - v36:CInt64 = GuardGreaterEq v34, v35 - v37:StringSubclass[class_exact:MyString] = GuardNotFrozen v29 - v38:Fixnum = StringSetbyteFixnum v37, v30, v31 + v30:StringSubclass[class_exact:MyString] = GuardType v13, StringSubclass[class_exact:MyString] + v31:Fixnum = GuardType v14, Fixnum + v32:Fixnum = GuardType v15, Fixnum + v33:CInt64 = UnboxFixnum v31 + v34:CInt64 = LoadField v30, :len@0x1038 + v35:CInt64 = GuardLess v33, v34 + v36:CInt64[0] = Const CInt64(0) + v37:CInt64 = GuardGreaterEq v35, v36 + v38:StringSubclass[class_exact:MyString] = GuardNotFrozen v30 + v39:Fixnum = StringSetbyteFixnum v38, v31, v32 IncrCounter inline_cfunc_optimized_send_count CheckInterrupts - Return v31 + Return v32 "); } @@ -5904,10 +5904,10 @@ mod hir_opt_tests { bb2(v12:BasicObject, v13:BasicObject, v14:BasicObject, v15:BasicObject): PatchPoint MethodRedefined(String@0x1000, setbyte@0x1008, cme:0x1010) PatchPoint NoSingletonClass(String@0x1000) - v29:StringExact = GuardType v13, StringExact - v30:BasicObject = CCallWithFrame setbyte@0x1038, v29, v14, v15 + v30:StringExact = GuardType v13, StringExact + v31:BasicObject = CCallWithFrame setbyte@0x1038, v30, v14, v15 CheckInterrupts - Return v30 + Return v31 "); } @@ -5932,11 +5932,11 @@ mod hir_opt_tests { bb2(v8:BasicObject, v9:BasicObject): PatchPoint MethodRedefined(String@0x1000, empty?@0x1008, cme:0x1010) PatchPoint NoSingletonClass(String@0x1000) - v25:StringExact = GuardType v9, StringExact + v23:StringExact = GuardType v9, StringExact IncrCounter inline_cfunc_optimized_send_count - v27:BoolExact = CCall empty?@0x1038, v25 + v25:BoolExact = CCall empty?@0x1038, v23 CheckInterrupts - Return v27 + Return v25 "); } @@ -5962,7 +5962,7 @@ mod hir_opt_tests { bb2(v8:BasicObject, v9:BasicObject): PatchPoint MethodRedefined(String@0x1000, empty?@0x1008, cme:0x1010) PatchPoint NoSingletonClass(String@0x1000) - v28:StringExact = GuardType v9, StringExact + v27:StringExact = GuardType v9, StringExact IncrCounter inline_cfunc_optimized_send_count v19:Fixnum[4] = Const Value(4) CheckInterrupts @@ -5989,12 +5989,12 @@ mod hir_opt_tests { Jump bb2(v5, v6) bb2(v8:BasicObject, v9:BasicObject): PatchPoint MethodRedefined(Integer@0x1000, succ@0x1008, cme:0x1010) - v24:Fixnum = GuardType v9, Fixnum - v25:Fixnum[1] = Const Value(1) - v26:Fixnum = FixnumAdd v24, v25 + v22:Fixnum = GuardType v9, Fixnum + v23:Fixnum[1] = Const Value(1) + v24:Fixnum = FixnumAdd v22, v23 IncrCounter inline_cfunc_optimized_send_count CheckInterrupts - Return v26 + Return v24 "); } @@ -6017,10 +6017,10 @@ mod hir_opt_tests { Jump bb2(v5, v6) bb2(v8:BasicObject, v9:BasicObject): PatchPoint MethodRedefined(Integer@0x1000, succ@0x1008, cme:0x1010) - v24:Integer = GuardType v9, Integer - v25:BasicObject = CCallWithFrame succ@0x1038, v24 + v22:Integer = GuardType v9, Integer + v23:BasicObject = CCallWithFrame succ@0x1038, v22 CheckInterrupts - Return v25 + Return v23 "); } @@ -6044,12 +6044,12 @@ mod hir_opt_tests { bb2(v10:BasicObject, v11:BasicObject, v12:BasicObject): PatchPoint MethodRedefined(String@0x1000, <<@0x1008, cme:0x1010) PatchPoint NoSingletonClass(String@0x1000) - v28:StringExact = GuardType v11, StringExact - v29:String = GuardType v12, String - v30:StringExact = StringAppend v28, v29 + v27:StringExact = GuardType v11, StringExact + v28:String = GuardType v12, String + v29:StringExact = StringAppend v27, v28 IncrCounter inline_cfunc_optimized_send_count CheckInterrupts - Return v28 + Return v27 "); } @@ -6074,10 +6074,10 @@ mod hir_opt_tests { bb2(v10:BasicObject, v11:BasicObject, v12:BasicObject): PatchPoint MethodRedefined(String@0x1000, <<@0x1008, cme:0x1010) PatchPoint NoSingletonClass(String@0x1000) - v28:StringExact = GuardType v11, StringExact - v29:BasicObject = CCallWithFrame <<@0x1038, v28, v12 + v27:StringExact = GuardType v11, StringExact + v28:BasicObject = CCallWithFrame <<@0x1038, v27, v12 CheckInterrupts - Return v29 + Return v28 "); } @@ -6103,12 +6103,12 @@ mod hir_opt_tests { bb2(v10:BasicObject, v11:BasicObject, v12:BasicObject): PatchPoint MethodRedefined(String@0x1000, <<@0x1008, cme:0x1010) PatchPoint NoSingletonClass(String@0x1000) - v28:StringExact = GuardType v11, StringExact - v29:String = GuardType v12, String - v30:StringExact = StringAppend v28, v29 + v27:StringExact = GuardType v11, StringExact + v28:String = GuardType v12, String + v29:StringExact = StringAppend v27, v28 IncrCounter inline_cfunc_optimized_send_count CheckInterrupts - Return v28 + Return v27 "); } @@ -6134,10 +6134,10 @@ mod hir_opt_tests { bb2(v10:BasicObject, v11:BasicObject, v12:BasicObject): PatchPoint MethodRedefined(MyString@0x1000, <<@0x1008, cme:0x1010) PatchPoint NoSingletonClass(MyString@0x1000) - v28:StringSubclass[class_exact:MyString] = GuardType v11, StringSubclass[class_exact:MyString] - v29:BasicObject = CCallWithFrame <<@0x1038, v28, v12 + v27:StringSubclass[class_exact:MyString] = GuardType v11, StringSubclass[class_exact:MyString] + v28:BasicObject = CCallWithFrame <<@0x1038, v27, v12 CheckInterrupts - Return v29 + Return v28 "); } @@ -6157,10 +6157,10 @@ mod hir_opt_tests { Jump bb2(v4) bb2(v6:BasicObject): v10:Fixnum[4] = Const Value(4) - v11:Fixnum[1] = Const Value(1) - v13:BasicObject = SendWithoutBlock v10, :succ, v11 + v12:Fixnum[1] = Const Value(1) + v14:BasicObject = SendWithoutBlock v10, :succ, v12 CheckInterrupts - Return v13 + Return v14 "); } @@ -6214,12 +6214,12 @@ mod hir_opt_tests { Jump bb2(v6, v7, v8) bb2(v10:BasicObject, v11:BasicObject, v12:BasicObject): PatchPoint MethodRedefined(Integer@0x1000, ^@0x1008, cme:0x1010) - v28:Fixnum = GuardType v11, Fixnum - v29:Fixnum = GuardType v12, Fixnum + v29:Fixnum = GuardType v11, Fixnum + v30:Fixnum = GuardType v12, Fixnum IncrCounter inline_cfunc_optimized_send_count - v20:Fixnum[42] = Const Value(42) + v22:Fixnum[42] = Const Value(42) CheckInterrupts - Return v20 + Return v22 "); } @@ -6337,11 +6337,11 @@ mod hir_opt_tests { bb2(v8:BasicObject, v9:BasicObject): PatchPoint MethodRedefined(Hash@0x1000, size@0x1008, cme:0x1010) PatchPoint NoSingletonClass(Hash@0x1000) - v25:HashExact = GuardType v9, HashExact + v23:HashExact = GuardType v9, HashExact IncrCounter inline_cfunc_optimized_send_count - v27:Fixnum = CCall size@0x1038, v25 + v25:Fixnum = CCall size@0x1038, v23 CheckInterrupts - Return v27 + Return v25 "); } @@ -6367,7 +6367,7 @@ mod hir_opt_tests { bb2(v8:BasicObject, v9:BasicObject): PatchPoint MethodRedefined(Hash@0x1000, size@0x1008, cme:0x1010) PatchPoint NoSingletonClass(Hash@0x1000) - v28:HashExact = GuardType v9, HashExact + v27:HashExact = GuardType v9, HashExact IncrCounter inline_cfunc_optimized_send_count v19:Fixnum[5] = Const Value(5) CheckInterrupts @@ -6395,7 +6395,7 @@ mod hir_opt_tests { EntryPoint JIT(0) Jump bb2(v5, v6) bb2(v8:BasicObject, v9:BasicObject): - v13:StaticSymbol[:foo] = Const Value(VALUE(0x1000)) + v14:StaticSymbol[:foo] = Const Value(VALUE(0x1000)) PatchPoint MethodRedefined(C@0x1008, respond_to?@0x1010, cme:0x1018) PatchPoint NoSingletonClass(C@0x1008) v24:HeapObject[class_exact:C] = GuardType v9, HeapObject[class_exact:C] @@ -6427,7 +6427,7 @@ mod hir_opt_tests { EntryPoint JIT(0) Jump bb2(v5, v6) bb2(v8:BasicObject, v9:BasicObject): - v13:StaticSymbol[:foo] = Const Value(VALUE(0x1000)) + v14:StaticSymbol[:foo] = Const Value(VALUE(0x1000)) PatchPoint MethodRedefined(C@0x1008, respond_to?@0x1010, cme:0x1018) PatchPoint NoSingletonClass(C@0x1008) v24:HeapObject[class_exact:C] = GuardType v9, HeapObject[class_exact:C] @@ -6462,7 +6462,7 @@ mod hir_opt_tests { EntryPoint JIT(0) Jump bb2(v5, v6) bb2(v8:BasicObject, v9:BasicObject): - v13:StaticSymbol[:foo] = Const Value(VALUE(0x1000)) + v14:StaticSymbol[:foo] = Const Value(VALUE(0x1000)) PatchPoint MethodRedefined(C@0x1008, respond_to?@0x1010, cme:0x1018) PatchPoint NoSingletonClass(C@0x1008) v24:HeapObject[class_exact:C] = GuardType v9, HeapObject[class_exact:C] @@ -6496,17 +6496,17 @@ mod hir_opt_tests { EntryPoint JIT(0) Jump bb2(v5, v6) bb2(v8:BasicObject, v9:BasicObject): - v13:StaticSymbol[:foo] = Const Value(VALUE(0x1000)) - v14:FalseClass = Const Value(false) + v14:StaticSymbol[:foo] = Const Value(VALUE(0x1000)) + v16:FalseClass = Const Value(false) PatchPoint MethodRedefined(C@0x1008, respond_to?@0x1010, cme:0x1018) PatchPoint NoSingletonClass(C@0x1008) - v25:HeapObject[class_exact:C] = GuardType v9, HeapObject[class_exact:C] + v26:HeapObject[class_exact:C] = GuardType v9, HeapObject[class_exact:C] PatchPoint MethodRedefined(C@0x1008, foo@0x1040, cme:0x1048) PatchPoint NoSingletonClass(C@0x1008) - v29:FalseClass = Const Value(false) + v30:FalseClass = Const Value(false) IncrCounter inline_cfunc_optimized_send_count CheckInterrupts - Return v29 + Return v30 "); } @@ -6531,17 +6531,17 @@ mod hir_opt_tests { EntryPoint JIT(0) Jump bb2(v5, v6) bb2(v8:BasicObject, v9:BasicObject): - v13:StaticSymbol[:foo] = Const Value(VALUE(0x1000)) - v14:NilClass = Const Value(nil) + v14:StaticSymbol[:foo] = Const Value(VALUE(0x1000)) + v16:NilClass = Const Value(nil) PatchPoint MethodRedefined(C@0x1008, respond_to?@0x1010, cme:0x1018) PatchPoint NoSingletonClass(C@0x1008) - v25:HeapObject[class_exact:C] = GuardType v9, HeapObject[class_exact:C] + v26:HeapObject[class_exact:C] = GuardType v9, HeapObject[class_exact:C] PatchPoint MethodRedefined(C@0x1008, foo@0x1040, cme:0x1048) PatchPoint NoSingletonClass(C@0x1008) - v29:FalseClass = Const Value(false) + v30:FalseClass = Const Value(false) IncrCounter inline_cfunc_optimized_send_count CheckInterrupts - Return v29 + Return v30 "); } @@ -6566,17 +6566,17 @@ mod hir_opt_tests { EntryPoint JIT(0) Jump bb2(v5, v6) bb2(v8:BasicObject, v9:BasicObject): - v13:StaticSymbol[:foo] = Const Value(VALUE(0x1000)) - v14:TrueClass = Const Value(true) + v14:StaticSymbol[:foo] = Const Value(VALUE(0x1000)) + v16:TrueClass = Const Value(true) PatchPoint MethodRedefined(C@0x1008, respond_to?@0x1010, cme:0x1018) PatchPoint NoSingletonClass(C@0x1008) - v25:HeapObject[class_exact:C] = GuardType v9, HeapObject[class_exact:C] + v26:HeapObject[class_exact:C] = GuardType v9, HeapObject[class_exact:C] PatchPoint MethodRedefined(C@0x1008, foo@0x1040, cme:0x1048) PatchPoint NoSingletonClass(C@0x1008) - v29:TrueClass = Const Value(true) + v30:TrueClass = Const Value(true) IncrCounter inline_cfunc_optimized_send_count CheckInterrupts - Return v29 + Return v30 "); } @@ -6600,17 +6600,17 @@ mod hir_opt_tests { EntryPoint JIT(0) Jump bb2(v5, v6) bb2(v8:BasicObject, v9:BasicObject): - v13:StaticSymbol[:foo] = Const Value(VALUE(0x1000)) - v14:Fixnum[4] = Const Value(4) + v14:StaticSymbol[:foo] = Const Value(VALUE(0x1000)) + v16:Fixnum[4] = Const Value(4) PatchPoint MethodRedefined(C@0x1008, respond_to?@0x1010, cme:0x1018) PatchPoint NoSingletonClass(C@0x1008) - v25:HeapObject[class_exact:C] = GuardType v9, HeapObject[class_exact:C] + v26:HeapObject[class_exact:C] = GuardType v9, HeapObject[class_exact:C] PatchPoint MethodRedefined(C@0x1008, foo@0x1040, cme:0x1048) PatchPoint NoSingletonClass(C@0x1008) - v29:TrueClass = Const Value(true) + v30:TrueClass = Const Value(true) IncrCounter inline_cfunc_optimized_send_count CheckInterrupts - Return v29 + Return v30 "); } @@ -6634,17 +6634,17 @@ mod hir_opt_tests { EntryPoint JIT(0) Jump bb2(v5, v6) bb2(v8:BasicObject, v9:BasicObject): - v13:StaticSymbol[:foo] = Const Value(VALUE(0x1000)) - v14:NilClass = Const Value(nil) + v14:StaticSymbol[:foo] = Const Value(VALUE(0x1000)) + v16:NilClass = Const Value(nil) PatchPoint MethodRedefined(C@0x1008, respond_to?@0x1010, cme:0x1018) PatchPoint NoSingletonClass(C@0x1008) - v25:HeapObject[class_exact:C] = GuardType v9, HeapObject[class_exact:C] + v26:HeapObject[class_exact:C] = GuardType v9, HeapObject[class_exact:C] PatchPoint MethodRedefined(C@0x1008, foo@0x1040, cme:0x1048) PatchPoint NoSingletonClass(C@0x1008) - v29:TrueClass = Const Value(true) + v30:TrueClass = Const Value(true) IncrCounter inline_cfunc_optimized_send_count CheckInterrupts - Return v29 + Return v30 "); } @@ -6667,7 +6667,7 @@ mod hir_opt_tests { EntryPoint JIT(0) Jump bb2(v5, v6) bb2(v8:BasicObject, v9:BasicObject): - v13:StaticSymbol[:foo] = Const Value(VALUE(0x1000)) + v14:StaticSymbol[:foo] = Const Value(VALUE(0x1000)) PatchPoint MethodRedefined(C@0x1008, respond_to?@0x1010, cme:0x1018) PatchPoint NoSingletonClass(C@0x1008) v24:HeapObject[class_exact:C] = GuardType v9, HeapObject[class_exact:C] @@ -6703,11 +6703,11 @@ mod hir_opt_tests { EntryPoint JIT(0) Jump bb2(v5, v6) bb2(v8:BasicObject, v9:BasicObject): - v13:StaticSymbol[:foo] = Const Value(VALUE(0x1000)) + v14:StaticSymbol[:foo] = Const Value(VALUE(0x1000)) PatchPoint MethodRedefined(C@0x1008, respond_to?@0x1010, cme:0x1018) PatchPoint NoSingletonClass(C@0x1008) v24:HeapObject[class_exact:C] = GuardType v9, HeapObject[class_exact:C] - v25:BasicObject = CCallVariadic respond_to?@0x1040, v24, v13 + v25:BasicObject = CCallVariadic respond_to?@0x1040, v24, v14 CheckInterrupts Return v25 "); @@ -6732,10 +6732,10 @@ mod hir_opt_tests { bb2(v6:BasicObject): PatchPoint MethodRedefined(Object@0x1000, callee@0x1008, cme:0x1010) PatchPoint NoSingletonClass(Object@0x1000) - v19:HeapObject[class_exact*:Object@VALUE(0x1000)] = GuardType v6, HeapObject[class_exact*:Object@VALUE(0x1000)] + v18:HeapObject[class_exact*:Object@VALUE(0x1000)] = GuardType v6, HeapObject[class_exact*:Object@VALUE(0x1000)] IncrCounter inline_iseq_optimized_send_count CheckInterrupts - Return v19 + Return v18 "); } @@ -6759,11 +6759,11 @@ mod hir_opt_tests { bb2(v6:BasicObject): PatchPoint MethodRedefined(Object@0x1000, callee@0x1008, cme:0x1010) PatchPoint NoSingletonClass(Object@0x1000) - v19:HeapObject[class_exact*:Object@VALUE(0x1000)] = GuardType v6, HeapObject[class_exact*:Object@VALUE(0x1000)] + v18:HeapObject[class_exact*:Object@VALUE(0x1000)] = GuardType v6, HeapObject[class_exact*:Object@VALUE(0x1000)] IncrCounter inline_iseq_optimized_send_count - v22:StringExact[VALUE(0x1038)] = Const Value(VALUE(0x1038)) + v21:StringExact[VALUE(0x1038)] = Const Value(VALUE(0x1038)) CheckInterrupts - Return v22 + Return v21 "); } @@ -6786,11 +6786,11 @@ mod hir_opt_tests { bb2(v6:BasicObject): PatchPoint MethodRedefined(Object@0x1000, callee@0x1008, cme:0x1010) PatchPoint NoSingletonClass(Object@0x1000) - v19:HeapObject[class_exact*:Object@VALUE(0x1000)] = GuardType v6, HeapObject[class_exact*:Object@VALUE(0x1000)] + v18:HeapObject[class_exact*:Object@VALUE(0x1000)] = GuardType v6, HeapObject[class_exact*:Object@VALUE(0x1000)] IncrCounter inline_iseq_optimized_send_count - v22:NilClass = Const Value(nil) + v21:NilClass = Const Value(nil) CheckInterrupts - Return v22 + Return v21 "); } @@ -6813,11 +6813,11 @@ mod hir_opt_tests { bb2(v6:BasicObject): PatchPoint MethodRedefined(Object@0x1000, callee@0x1008, cme:0x1010) PatchPoint NoSingletonClass(Object@0x1000) - v19:HeapObject[class_exact*:Object@VALUE(0x1000)] = GuardType v6, HeapObject[class_exact*:Object@VALUE(0x1000)] + v18:HeapObject[class_exact*:Object@VALUE(0x1000)] = GuardType v6, HeapObject[class_exact*:Object@VALUE(0x1000)] IncrCounter inline_iseq_optimized_send_count - v22:TrueClass = Const Value(true) + v21:TrueClass = Const Value(true) CheckInterrupts - Return v22 + Return v21 "); } @@ -6840,11 +6840,11 @@ mod hir_opt_tests { bb2(v6:BasicObject): PatchPoint MethodRedefined(Object@0x1000, callee@0x1008, cme:0x1010) PatchPoint NoSingletonClass(Object@0x1000) - v19:HeapObject[class_exact*:Object@VALUE(0x1000)] = GuardType v6, HeapObject[class_exact*:Object@VALUE(0x1000)] + v18:HeapObject[class_exact*:Object@VALUE(0x1000)] = GuardType v6, HeapObject[class_exact*:Object@VALUE(0x1000)] IncrCounter inline_iseq_optimized_send_count - v22:FalseClass = Const Value(false) + v21:FalseClass = Const Value(false) CheckInterrupts - Return v22 + Return v21 "); } @@ -6867,11 +6867,11 @@ mod hir_opt_tests { bb2(v6:BasicObject): PatchPoint MethodRedefined(Object@0x1000, callee@0x1008, cme:0x1010) PatchPoint NoSingletonClass(Object@0x1000) - v19:HeapObject[class_exact*:Object@VALUE(0x1000)] = GuardType v6, HeapObject[class_exact*:Object@VALUE(0x1000)] + v18:HeapObject[class_exact*:Object@VALUE(0x1000)] = GuardType v6, HeapObject[class_exact*:Object@VALUE(0x1000)] IncrCounter inline_iseq_optimized_send_count - v22:Fixnum[0] = Const Value(0) + v21:Fixnum[0] = Const Value(0) CheckInterrupts - Return v22 + Return v21 "); } @@ -6894,11 +6894,11 @@ mod hir_opt_tests { bb2(v6:BasicObject): PatchPoint MethodRedefined(Object@0x1000, callee@0x1008, cme:0x1010) PatchPoint NoSingletonClass(Object@0x1000) - v19:HeapObject[class_exact*:Object@VALUE(0x1000)] = GuardType v6, HeapObject[class_exact*:Object@VALUE(0x1000)] + v18:HeapObject[class_exact*:Object@VALUE(0x1000)] = GuardType v6, HeapObject[class_exact*:Object@VALUE(0x1000)] IncrCounter inline_iseq_optimized_send_count - v22:Fixnum[1] = Const Value(1) + v21:Fixnum[1] = Const Value(1) CheckInterrupts - Return v22 + Return v21 "); } @@ -6919,13 +6919,13 @@ mod hir_opt_tests { EntryPoint JIT(0) Jump bb2(v4) bb2(v6:BasicObject): - v10:Fixnum[3] = Const Value(3) + v11:Fixnum[3] = Const Value(3) PatchPoint MethodRedefined(Object@0x1000, callee@0x1008, cme:0x1010) PatchPoint NoSingletonClass(Object@0x1000) v20:HeapObject[class_exact*:Object@VALUE(0x1000)] = GuardType v6, HeapObject[class_exact*:Object@VALUE(0x1000)] IncrCounter inline_iseq_optimized_send_count CheckInterrupts - Return v10 + Return v11 "); } @@ -6946,15 +6946,15 @@ mod hir_opt_tests { EntryPoint JIT(0) Jump bb2(v4) bb2(v6:BasicObject): - v10:Fixnum[1] = Const Value(1) - v11:Fixnum[2] = Const Value(2) - v12:Fixnum[3] = Const Value(3) + v11:Fixnum[1] = Const Value(1) + v13:Fixnum[2] = Const Value(2) + v15:Fixnum[3] = Const Value(3) PatchPoint MethodRedefined(Object@0x1000, callee@0x1008, cme:0x1010) PatchPoint NoSingletonClass(Object@0x1000) - v22:HeapObject[class_exact*:Object@VALUE(0x1000)] = GuardType v6, HeapObject[class_exact*:Object@VALUE(0x1000)] + v24:HeapObject[class_exact*:Object@VALUE(0x1000)] = GuardType v6, HeapObject[class_exact*:Object@VALUE(0x1000)] IncrCounter inline_iseq_optimized_send_count CheckInterrupts - Return v12 + Return v15 "); } @@ -6984,22 +6984,22 @@ mod hir_opt_tests { v6:NilClass = Const Value(nil) Jump bb2(v5, v6) bb2(v8:BasicObject, v9:NilClass): - v14:ArrayExact = NewArray - v18:ArrayExact = ToArray v14 + v13:ArrayExact = NewArray + v19:ArrayExact = ToArray v13 IncrCounter complex_arg_pass_caller_splat - v20:BasicObject = SendWithoutBlock v8, :foo, v18 - v23:StringExact[VALUE(0x1000)] = Const Value(VALUE(0x1000)) - v25:StringExact = StringCopy v23 + v21:BasicObject = SendWithoutBlock v8, :foo, v19 + v25:StringExact[VALUE(0x1000)] = Const Value(VALUE(0x1000)) + v26:StringExact = StringCopy v25 PatchPoint NoEPEscape(test) - v29:ArrayExact = ToArray v14 + v31:ArrayExact = ToArray v13 IncrCounter complex_arg_pass_caller_splat - v31:BasicObject = SendWithoutBlock v25, :display, v29 + v33:BasicObject = SendWithoutBlock v26, :display, v31 PatchPoint NoEPEscape(test) - v37:ArrayExact = ToArray v14 + v41:ArrayExact = ToArray v13 IncrCounter complex_arg_pass_caller_splat - v39:BasicObject = SendWithoutBlock v8, :itself, v37 + v43:BasicObject = SendWithoutBlock v8, :itself, v41 CheckInterrupts - Return v39 + Return v43 "); } @@ -7021,10 +7021,10 @@ mod hir_opt_tests { Jump bb2(v5, v6) bb2(v8:BasicObject, v9:BasicObject): PatchPoint MethodRedefined(Symbol@0x1000, to_sym@0x1008, cme:0x1010) - v21:StaticSymbol = GuardType v9, StaticSymbol + v20:StaticSymbol = GuardType v9, StaticSymbol IncrCounter inline_iseq_optimized_send_count CheckInterrupts - Return v21 + Return v20 "); } @@ -7046,10 +7046,10 @@ mod hir_opt_tests { Jump bb2(v5, v6) bb2(v8:BasicObject, v9:BasicObject): PatchPoint MethodRedefined(Integer@0x1000, to_i@0x1008, cme:0x1010) - v21:Fixnum = GuardType v9, Fixnum + v20:Fixnum = GuardType v9, Fixnum IncrCounter inline_iseq_optimized_send_count CheckInterrupts - Return v21 + Return v20 "); } @@ -7073,12 +7073,12 @@ mod hir_opt_tests { bb2(v10:BasicObject, v11:BasicObject, v12:BasicObject): PatchPoint MethodRedefined(String@0x1000, ==@0x1008, cme:0x1010) PatchPoint NoSingletonClass(String@0x1000) - v28:StringExact = GuardType v11, StringExact - v29:String = GuardType v12, String - v30:BoolExact = CCall String#==@0x1038, v28, v29 + v27:StringExact = GuardType v11, StringExact + v28:String = GuardType v12, String + v29:BoolExact = CCall String#==@0x1038, v27, v28 IncrCounter inline_cfunc_optimized_send_count CheckInterrupts - Return v30 + Return v29 "); } @@ -7104,12 +7104,12 @@ mod hir_opt_tests { bb2(v10:BasicObject, v11:BasicObject, v12:BasicObject): PatchPoint MethodRedefined(C@0x1000, ==@0x1008, cme:0x1010) PatchPoint NoSingletonClass(C@0x1000) - v28:StringSubclass[class_exact:C] = GuardType v11, StringSubclass[class_exact:C] - v29:String = GuardType v12, String - v30:BoolExact = CCall String#==@0x1038, v28, v29 + v27:StringSubclass[class_exact:C] = GuardType v11, StringSubclass[class_exact:C] + v28:String = GuardType v12, String + v29:BoolExact = CCall String#==@0x1038, v27, v28 IncrCounter inline_cfunc_optimized_send_count CheckInterrupts - Return v30 + Return v29 "); } @@ -7135,12 +7135,12 @@ mod hir_opt_tests { bb2(v10:BasicObject, v11:BasicObject, v12:BasicObject): PatchPoint MethodRedefined(String@0x1000, ==@0x1008, cme:0x1010) PatchPoint NoSingletonClass(String@0x1000) - v28:StringExact = GuardType v11, StringExact - v29:String = GuardType v12, String - v30:BoolExact = CCall String#==@0x1038, v28, v29 + v27:StringExact = GuardType v11, StringExact + v28:String = GuardType v12, String + v29:BoolExact = CCall String#==@0x1038, v27, v28 IncrCounter inline_cfunc_optimized_send_count CheckInterrupts - Return v30 + Return v29 "); } @@ -7256,11 +7256,11 @@ mod hir_opt_tests { bb2(v8:BasicObject, v9:BasicObject): PatchPoint MethodRedefined(String@0x1000, size@0x1008, cme:0x1010) PatchPoint NoSingletonClass(String@0x1000) - v25:StringExact = GuardType v9, StringExact + v23:StringExact = GuardType v9, StringExact IncrCounter inline_cfunc_optimized_send_count - v27:Fixnum = CCall size@0x1038, v25 + v25:Fixnum = CCall size@0x1038, v23 CheckInterrupts - Return v27 + Return v25 "); } @@ -7286,7 +7286,7 @@ mod hir_opt_tests { bb2(v8:BasicObject, v9:BasicObject): PatchPoint MethodRedefined(String@0x1000, size@0x1008, cme:0x1010) PatchPoint NoSingletonClass(String@0x1000) - v28:StringExact = GuardType v9, StringExact + v27:StringExact = GuardType v9, StringExact IncrCounter inline_cfunc_optimized_send_count v19:Fixnum[5] = Const Value(5) CheckInterrupts @@ -7315,12 +7315,12 @@ mod hir_opt_tests { bb2(v8:BasicObject, v9:BasicObject): PatchPoint MethodRedefined(String@0x1000, bytesize@0x1008, cme:0x1010) PatchPoint NoSingletonClass(String@0x1000) - v23:StringExact = GuardType v9, StringExact - v24:CInt64 = LoadField v23, :len@0x1038 - v25:Fixnum = BoxFixnum v24 + v22:StringExact = GuardType v9, StringExact + v23:CInt64 = LoadField v22, :len@0x1038 + v24:Fixnum = BoxFixnum v23 IncrCounter inline_cfunc_optimized_send_count CheckInterrupts - Return v25 + Return v24 "); } @@ -7348,9 +7348,9 @@ mod hir_opt_tests { PatchPoint NoSingletonClass(String@0x1000) v26:StringExact = GuardType v9, StringExact IncrCounter inline_cfunc_optimized_send_count - v17:Fixnum[5] = Const Value(5) + v18:Fixnum[5] = Const Value(5) CheckInterrupts - Return v17 + Return v18 "); } @@ -7375,11 +7375,11 @@ mod hir_opt_tests { bb2(v8:BasicObject, v9:BasicObject): PatchPoint MethodRedefined(String@0x1000, length@0x1008, cme:0x1010) PatchPoint NoSingletonClass(String@0x1000) - v25:StringExact = GuardType v9, StringExact + v23:StringExact = GuardType v9, StringExact IncrCounter inline_cfunc_optimized_send_count - v27:Fixnum = CCall length@0x1038, v25 + v25:Fixnum = CCall length@0x1038, v23 CheckInterrupts - Return v27 + Return v25 "); } @@ -7400,14 +7400,14 @@ mod hir_opt_tests { EntryPoint JIT(0) Jump bb2(v4) bb2(v6:BasicObject): - v10:Fixnum[1] = Const Value(1) + v11:Fixnum[1] = Const Value(1) IncrCounter complex_arg_pass_param_rest IncrCounter complex_arg_pass_param_kw IncrCounter complex_arg_pass_param_kwrest IncrCounter complex_arg_pass_param_block - v12:BasicObject = SendWithoutBlock v6, :fancy, v10 + v13:BasicObject = SendWithoutBlock v6, :fancy, v11 CheckInterrupts - Return v12 + Return v13 "); } @@ -7457,7 +7457,7 @@ mod hir_opt_tests { bb2(v8:BasicObject, v9:BasicObject): PatchPoint MethodRedefined(String@0x1000, length@0x1008, cme:0x1010) PatchPoint NoSingletonClass(String@0x1000) - v28:StringExact = GuardType v9, StringExact + v27:StringExact = GuardType v9, StringExact IncrCounter inline_cfunc_optimized_send_count v19:Fixnum[4] = Const Value(4) CheckInterrupts @@ -7500,8 +7500,8 @@ mod hir_opt_tests { v40:HeapObject[class_exact:C] = GuardType v6, HeapObject[class_exact:C] IncrCounter inline_iseq_optimized_send_count v43:HeapObject = InvokeBuiltin leaf _bi20, v40 - v12:StaticSymbol[:_lex_actions] = Const Value(VALUE(0x1038)) - v13:TrueClass = Const Value(true) + v13:StaticSymbol[:_lex_actions] = Const Value(VALUE(0x1038)) + v15:TrueClass = Const Value(true) PatchPoint MethodRedefined(Class@0x1040, respond_to?@0x1048, cme:0x1050) PatchPoint NoSingletonClass(Class@0x1040) v47:ModuleSubclass[class_exact*:Class@VALUE(0x1040)] = GuardType v43, ModuleSubclass[class_exact*:Class@VALUE(0x1040)] @@ -7510,9 +7510,9 @@ mod hir_opt_tests { v51:TrueClass = Const Value(true) IncrCounter inline_cfunc_optimized_send_count CheckInterrupts - v22:StaticSymbol[:CORRECT] = Const Value(VALUE(0x10a8)) + v24:StaticSymbol[:CORRECT] = Const Value(VALUE(0x10a8)) CheckInterrupts - Return v22 + Return v24 "); } @@ -7536,16 +7536,16 @@ mod hir_opt_tests { bb2(v8:BasicObject, v9:BasicObject): PatchPoint MethodRedefined(C@0x1000, class@0x1008, cme:0x1010) PatchPoint NoSingletonClass(C@0x1000) - v24:HeapObject[class_exact:C] = GuardType v9, HeapObject[class_exact:C] + v23:HeapObject[class_exact:C] = GuardType v9, HeapObject[class_exact:C] IncrCounter inline_iseq_optimized_send_count - v27:HeapObject = InvokeBuiltin leaf _bi20, v24 + v26:HeapObject = InvokeBuiltin leaf _bi20, v23 PatchPoint MethodRedefined(Class@0x1038, name@0x1040, cme:0x1048) PatchPoint NoSingletonClass(Class@0x1038) - v31:ModuleSubclass[class_exact*:Class@VALUE(0x1038)] = GuardType v27, ModuleSubclass[class_exact*:Class@VALUE(0x1038)] + v30:ModuleSubclass[class_exact*:Class@VALUE(0x1038)] = GuardType v26, ModuleSubclass[class_exact*:Class@VALUE(0x1038)] IncrCounter inline_cfunc_optimized_send_count - v33:StringExact|NilClass = CCall name@0x1070, v31 + v32:StringExact|NilClass = CCall name@0x1070, v30 CheckInterrupts - Return v33 + Return v32 "); } } diff --git a/zjit/src/hir/tests.rs b/zjit/src/hir/tests.rs index accc104719..b3230b71c8 100644 --- a/zjit/src/hir/tests.rs +++ b/zjit/src/hir/tests.rs @@ -32,13 +32,13 @@ mod snapshot_tests { v13:Any = Snapshot FrameState { pc: 0x1000, stack: [], locals: [a=v11, b=v12] } v14:Any = Snapshot FrameState { pc: 0x1008, stack: [], locals: [a=v11, b=v12] } PatchPoint NoTracePoint - v16:Any = Snapshot FrameState { pc: 0x1010, stack: [v11, v12], locals: [a=v11, b=v12] } - v17:ArrayExact = NewArray v11, v12 - v18:Any = Snapshot FrameState { pc: 0x1018, stack: [v17], locals: [a=v11, b=v12] } + v16:Any = Snapshot FrameState { pc: 0x1010, stack: [v11], locals: [a=v11, b=v12] } + v17:Any = Snapshot FrameState { pc: 0x1018, stack: [v11, v12], locals: [a=v11, b=v12] } + v18:ArrayExact = NewArray v11, v12 + v19:Any = Snapshot FrameState { pc: 0x1020, stack: [v18], locals: [a=v11, b=v12] } PatchPoint NoTracePoint - v20:Any = Snapshot FrameState { pc: 0x1018, stack: [v17], locals: [a=v11, b=v12] } CheckInterrupts - Return v17 + Return v18 "); } } @@ -137,15 +137,15 @@ pub mod hir_build_tests { EntryPoint JIT(0) Jump bb2(v9, v10) bb2(v12:BasicObject, v13:BasicObject): - v15:Fixnum[1] = Const Value(1) - Jump bb4(v12, v15) - bb3(v18:BasicObject, v19:BasicObject): + v16:Fixnum[1] = Const Value(1) + Jump bb4(v12, v16) + bb3(v20:BasicObject, v21:BasicObject): EntryPoint JIT(1) - Jump bb4(v18, v19) - bb4(v21:BasicObject, v22:BasicObject): - v26:Fixnum[123] = Const Value(123) + Jump bb4(v20, v21) + bb4(v23:BasicObject, v24:BasicObject): + v28:Fixnum[123] = Const Value(123) CheckInterrupts - Return v26 + Return v28 "); } @@ -183,9 +183,9 @@ pub mod hir_build_tests { EntryPoint JIT(0) Jump bb2(v4) bb2(v6:BasicObject): - v11:ArrayExact = NewArray + v10:ArrayExact = NewArray CheckInterrupts - Return v11 + Return v10 "); } @@ -226,9 +226,9 @@ pub mod hir_build_tests { EntryPoint JIT(0) Jump bb2(v6, v7, v8) bb2(v10:BasicObject, v11:BasicObject, v12:BasicObject): - v17:ArrayExact = NewArray v11, v12 + v18:ArrayExact = NewArray v11, v12 CheckInterrupts - Return v17 + Return v18 "); } @@ -247,10 +247,10 @@ pub mod hir_build_tests { EntryPoint JIT(0) Jump bb2(v5, v6) bb2(v8:BasicObject, v9:BasicObject): - v13:Fixnum[10] = Const Value(10) - v15:RangeExact = NewRange v9 NewRangeInclusive v13 + v14:Fixnum[10] = Const Value(10) + v16:RangeExact = NewRange v9 NewRangeInclusive v14 CheckInterrupts - Return v15 + Return v16 "); } @@ -270,9 +270,9 @@ pub mod hir_build_tests { EntryPoint JIT(0) Jump bb2(v6, v7, v8) bb2(v10:BasicObject, v11:BasicObject, v12:BasicObject): - v17:RangeExact = NewRange v11 NewRangeInclusive v12 + v18:RangeExact = NewRange v11 NewRangeInclusive v12 CheckInterrupts - Return v17 + Return v18 "); } @@ -291,10 +291,10 @@ pub mod hir_build_tests { EntryPoint JIT(0) Jump bb2(v5, v6) bb2(v8:BasicObject, v9:BasicObject): - v13:Fixnum[10] = Const Value(10) - v15:RangeExact = NewRange v9 NewRangeExclusive v13 + v14:Fixnum[10] = Const Value(10) + v16:RangeExact = NewRange v9 NewRangeExclusive v14 CheckInterrupts - Return v15 + Return v16 "); } @@ -314,9 +314,9 @@ pub mod hir_build_tests { EntryPoint JIT(0) Jump bb2(v6, v7, v8) bb2(v10:BasicObject, v11:BasicObject, v12:BasicObject): - v17:RangeExact = NewRange v11 NewRangeExclusive v12 + v18:RangeExact = NewRange v11 NewRangeExclusive v12 CheckInterrupts - Return v17 + Return v18 "); } @@ -335,9 +335,9 @@ pub mod hir_build_tests { Jump bb2(v4) bb2(v6:BasicObject): v10:ArrayExact[VALUE(0x1000)] = Const Value(VALUE(0x1000)) - v12:ArrayExact = ArrayDup v10 + v11:ArrayExact = ArrayDup v10 CheckInterrupts - Return v12 + Return v11 "); } @@ -356,9 +356,9 @@ pub mod hir_build_tests { Jump bb2(v4) bb2(v6:BasicObject): v10:HashExact[VALUE(0x1000)] = Const Value(VALUE(0x1000)) - v12:HashExact = HashDup v10 + v11:HashExact = HashDup v10 CheckInterrupts - Return v12 + Return v11 "); } @@ -376,9 +376,9 @@ pub mod hir_build_tests { EntryPoint JIT(0) Jump bb2(v4) bb2(v6:BasicObject): - v11:HashExact = NewHash + v10:HashExact = NewHash CheckInterrupts - Return v11 + Return v10 "); } @@ -399,10 +399,10 @@ pub mod hir_build_tests { Jump bb2(v6, v7, v8) bb2(v10:BasicObject, v11:BasicObject, v12:BasicObject): v16:StaticSymbol[:a] = Const Value(VALUE(0x1000)) - v17:StaticSymbol[:b] = Const Value(VALUE(0x1008)) - v19:HashExact = NewHash v16: v11, v17: v12 + v19:StaticSymbol[:b] = Const Value(VALUE(0x1008)) + v22:HashExact = NewHash v16: v11, v19: v12 CheckInterrupts - Return v19 + Return v22 "); } @@ -421,9 +421,9 @@ pub mod hir_build_tests { Jump bb2(v4) bb2(v6:BasicObject): v10:StringExact[VALUE(0x1000)] = Const Value(VALUE(0x1000)) - v12:StringExact = StringCopy v10 + v11:StringExact = StringCopy v10 CheckInterrupts - Return v12 + Return v11 "); } @@ -522,8 +522,8 @@ pub mod hir_build_tests { Jump bb2(v4) bb2(v6:BasicObject): v10:Fixnum[1] = Const Value(1) - v11:Fixnum[2] = Const Value(2) - v15:BasicObject = SendWithoutBlock v10, :+, v11 + v12:Fixnum[2] = Const Value(2) + v15:BasicObject = SendWithoutBlock v10, :+, v12 CheckInterrupts Return v15 "); @@ -546,9 +546,9 @@ pub mod hir_build_tests { Jump bb2(v4) bb2(v6:BasicObject): PatchPoint BOPRedefined(HASH_REDEFINED_OP_FLAG, BOP_FREEZE) - v12:HashExact[VALUE(0x1000)] = Const Value(VALUE(0x1000)) + v11:HashExact[VALUE(0x1000)] = Const Value(VALUE(0x1000)) CheckInterrupts - Return v12 + Return v11 "); } @@ -592,9 +592,9 @@ pub mod hir_build_tests { Jump bb2(v4) bb2(v6:BasicObject): PatchPoint BOPRedefined(ARRAY_REDEFINED_OP_FLAG, BOP_FREEZE) - v12:ArrayExact[VALUE(0x1000)] = Const Value(VALUE(0x1000)) + v11:ArrayExact[VALUE(0x1000)] = Const Value(VALUE(0x1000)) CheckInterrupts - Return v12 + Return v11 "); } @@ -638,9 +638,9 @@ pub mod hir_build_tests { Jump bb2(v4) bb2(v6:BasicObject): PatchPoint BOPRedefined(STRING_REDEFINED_OP_FLAG, BOP_FREEZE) - v12:StringExact[VALUE(0x1000)] = Const Value(VALUE(0x1000)) + v11:StringExact[VALUE(0x1000)] = Const Value(VALUE(0x1000)) CheckInterrupts - Return v12 + Return v11 "); } @@ -684,9 +684,9 @@ pub mod hir_build_tests { Jump bb2(v4) bb2(v6:BasicObject): PatchPoint BOPRedefined(STRING_REDEFINED_OP_FLAG, BOP_UMINUS) - v12:StringExact[VALUE(0x1000)] = Const Value(VALUE(0x1000)) + v11:StringExact[VALUE(0x1000)] = Const Value(VALUE(0x1000)) CheckInterrupts - Return v12 + Return v11 "); } @@ -774,16 +774,16 @@ pub mod hir_build_tests { bb2(v6:BasicObject): v10:BasicObject = GetLocal l2, EP@4 SetLocal l1, EP@3, v10 - v14:BasicObject = GetLocal l1, EP@3 - v15:BasicObject = GetLocal l2, EP@4 - v19:BasicObject = SendWithoutBlock v14, :+, v15 - SetLocal l2, EP@4, v19 - v23:BasicObject = GetLocal l2, EP@4 - v24:BasicObject = GetLocal l3, EP@5 - v28:BasicObject = SendWithoutBlock v23, :+, v24 - SetLocal l3, EP@5, v28 + v15:BasicObject = GetLocal l1, EP@3 + v17:BasicObject = GetLocal l2, EP@4 + v20:BasicObject = SendWithoutBlock v15, :+, v17 + SetLocal l2, EP@4, v20 + v25:BasicObject = GetLocal l2, EP@4 + v27:BasicObject = GetLocal l3, EP@5 + v30:BasicObject = SendWithoutBlock v25, :+, v27 + SetLocal l3, EP@5, v30 CheckInterrupts - Return v28 + Return v30 " ); } @@ -813,14 +813,14 @@ pub mod hir_build_tests { bb2(v14:BasicObject, v15:BasicObject, v16:NilClass): v20:Fixnum[1] = Const Value(1) Jump bb4(v14, v20, v20) - bb3(v23:BasicObject, v24:BasicObject): + bb3(v26:BasicObject, v27:BasicObject): EntryPoint JIT(1) - v25:NilClass = Const Value(nil) - Jump bb4(v23, v24, v25) - bb4(v27:BasicObject, v28:BasicObject, v29:NilClass|Fixnum): - v34:ArrayExact = NewArray v28, v29 + v28:NilClass = Const Value(nil) + Jump bb4(v26, v27, v28) + bb4(v30:BasicObject, v31:BasicObject, v32:NilClass|Fixnum): + v38:ArrayExact = NewArray v31, v32 CheckInterrupts - Return v34 + Return v38 "); } @@ -879,9 +879,9 @@ pub mod hir_build_tests { EntryPoint JIT(0) Jump bb2(v4) bb2(v6:BasicObject): - v11:StringExact|NilClass = DefinedIvar v6, :@foo + v10:StringExact|NilClass = DefinedIvar v6, :@foo CheckInterrupts - Return v11 + Return v10 "); } @@ -907,17 +907,17 @@ pub mod hir_build_tests { EntryPoint JIT(0) Jump bb2(v4) bb2(v6:BasicObject): - v11:TrueClass|NilClass = DefinedIvar v6, :@foo + v10:TrueClass|NilClass = DefinedIvar v6, :@foo CheckInterrupts - v14:CBool = Test v11 - IfFalse v14, bb3(v6) - v18:Fixnum[3] = Const Value(3) + v13:CBool = Test v10 + IfFalse v13, bb3(v6) + v17:Fixnum[3] = Const Value(3) CheckInterrupts - Return v18 - bb3(v24:BasicObject): - v28:Fixnum[4] = Const Value(4) + Return v17 + bb3(v22:BasicObject): + v26:Fixnum[4] = Const Value(4) CheckInterrupts - Return v28 + Return v26 "); } @@ -939,12 +939,12 @@ pub mod hir_build_tests { bb2(v6:BasicObject): v10:NilClass = Const Value(nil) v12:StringExact|NilClass = Defined constant, v10 - v14:StringExact|NilClass = Defined func, v6 - v15:NilClass = Const Value(nil) - v17:StringExact|NilClass = Defined global-variable, v15 - v19:ArrayExact = NewArray v12, v14, v17 + v15:StringExact|NilClass = Defined func, v6 + v17:NilClass = Const Value(nil) + v19:StringExact|NilClass = Defined global-variable, v17 + v21:ArrayExact = NewArray v12, v15, v19 CheckInterrupts - Return v19 + Return v21 "); } @@ -977,10 +977,10 @@ pub mod hir_build_tests { v19:Fixnum[3] = Const Value(3) CheckInterrupts Return v19 - bb3(v25:BasicObject, v26:BasicObject): - v30:Fixnum[4] = Const Value(4) + bb3(v24:BasicObject, v25:BasicObject): + v29:Fixnum[4] = Const Value(4) CheckInterrupts - Return v30 + Return v29 "); } @@ -1016,14 +1016,14 @@ pub mod hir_build_tests { PatchPoint NoEPEscape(test) CheckInterrupts Jump bb4(v10, v11, v22) - bb3(v28:BasicObject, v29:BasicObject, v30:NilClass): - v34:Fixnum[4] = Const Value(4) + bb3(v29:BasicObject, v30:BasicObject, v31:NilClass): + v35:Fixnum[4] = Const Value(4) PatchPoint NoEPEscape(test) - Jump bb4(v28, v29, v34) - bb4(v38:BasicObject, v39:BasicObject, v40:Fixnum): + Jump bb4(v29, v30, v35) + bb4(v40:BasicObject, v41:BasicObject, v42:Fixnum): PatchPoint NoEPEscape(test) CheckInterrupts - Return v40 + Return v42 "); } @@ -1306,27 +1306,27 @@ pub mod hir_build_tests { Jump bb2(v6, v7, v8) bb2(v10:BasicObject, v11:NilClass, v12:NilClass): v16:Fixnum[0] = Const Value(0) - v19:Fixnum[10] = Const Value(10) + v20:Fixnum[10] = Const Value(10) CheckInterrupts - Jump bb4(v10, v16, v19) - bb4(v25:BasicObject, v26:BasicObject, v27:BasicObject): + Jump bb4(v10, v16, v20) + bb4(v26:BasicObject, v27:BasicObject, v28:BasicObject): PatchPoint NoEPEscape(test) - v31:Fixnum[0] = Const Value(0) - v35:BasicObject = SendWithoutBlock v27, :>, v31 + v34:Fixnum[0] = Const Value(0) + v37:BasicObject = SendWithoutBlock v28, :>, v34 CheckInterrupts - v38:CBool = Test v35 - IfTrue v38, bb3(v25, v26, v27) - v40:NilClass = Const Value(nil) + v40:CBool = Test v37 + IfTrue v40, bb3(v26, v27, v28) + v43:NilClass = Const Value(nil) PatchPoint NoEPEscape(test) CheckInterrupts - Return v26 - bb3(v50:BasicObject, v51:BasicObject, v52:BasicObject): + Return v27 + bb3(v53:BasicObject, v54:BasicObject, v55:BasicObject): PatchPoint NoEPEscape(test) - v58:Fixnum[1] = Const Value(1) - v62:BasicObject = SendWithoutBlock v51, :+, v58 - v65:Fixnum[1] = Const Value(1) - v69:BasicObject = SendWithoutBlock v52, :-, v65 - Jump bb4(v50, v62, v69) + v62:Fixnum[1] = Const Value(1) + v65:BasicObject = SendWithoutBlock v54, :+, v62 + v70:Fixnum[1] = Const Value(1) + v73:BasicObject = SendWithoutBlock v55, :-, v70 + Jump bb4(v53, v65, v73) "); } @@ -1381,11 +1381,11 @@ pub mod hir_build_tests { bb2(v8:BasicObject, v9:NilClass): v13:TrueClass = Const Value(true) CheckInterrupts - v18:CBool[true] = Test v13 - IfFalse v18, bb3(v8, v13) - v22:Fixnum[3] = Const Value(3) + v19:CBool[true] = Test v13 + IfFalse v19, bb3(v8, v13) + v23:Fixnum[3] = Const Value(3) CheckInterrupts - Return v22 + Return v23 bb3(v28, v29): v33 = Const Value(4) CheckInterrupts @@ -1414,11 +1414,11 @@ pub mod hir_build_tests { EntryPoint JIT(0) Jump bb2(v4) bb2(v6:BasicObject): - v10:Fixnum[2] = Const Value(2) - v11:Fixnum[3] = Const Value(3) - v13:BasicObject = SendWithoutBlock v6, :bar, v10, v11 + v11:Fixnum[2] = Const Value(2) + v13:Fixnum[3] = Const Value(3) + v15:BasicObject = SendWithoutBlock v6, :bar, v11, v13 CheckInterrupts - Return v13 + Return v15 "); } @@ -1471,13 +1471,13 @@ pub mod hir_build_tests { Jump bb2(v4) bb2(v6:BasicObject): v10:StringExact[VALUE(0x1000)] = Const Value(VALUE(0x1000)) - v11:Fixnum[123] = Const Value(123) - v13:BasicObject = ObjToString v11 - v15:String = AnyToString v11, str: v13 - v17:StringExact = StringConcat v10, v15 - v19:Symbol = StringIntern v17 + v12:Fixnum[123] = Const Value(123) + v15:BasicObject = ObjToString v12 + v17:String = AnyToString v12, str: v15 + v19:StringExact = StringConcat v10, v17 + v21:Symbol = StringIntern v19 CheckInterrupts - Return v19 + Return v21 "); } @@ -1496,14 +1496,14 @@ pub mod hir_build_tests { EntryPoint JIT(0) Jump bb2(v4) bb2(v6:BasicObject): - v10:ArrayExact[VALUE(0x1000)] = Const Value(VALUE(0x1000)) - v12:ArrayExact = ArrayDup v10 - v13:ArrayExact[VALUE(0x1008)] = Const Value(VALUE(0x1008)) - v15:ArrayExact = ArrayDup v13 - v16:StringExact[VALUE(0x1010)] = Const Value(VALUE(0x1010)) - v18:StringExact = StringCopy v16 - v19:StringExact[VALUE(0x1010)] = Const Value(VALUE(0x1010)) - v21:StringExact = StringCopy v19 + v11:ArrayExact[VALUE(0x1000)] = Const Value(VALUE(0x1000)) + v12:ArrayExact = ArrayDup v11 + v14:ArrayExact[VALUE(0x1008)] = Const Value(VALUE(0x1008)) + v15:ArrayExact = ArrayDup v14 + v17:StringExact[VALUE(0x1010)] = Const Value(VALUE(0x1010)) + v18:StringExact = StringCopy v17 + v20:StringExact[VALUE(0x1010)] = Const Value(VALUE(0x1010)) + v21:StringExact = StringCopy v20 v23:BasicObject = SendWithoutBlock v6, :unknown_method, v12, v15, v18, v21 CheckInterrupts Return v23 @@ -1526,10 +1526,10 @@ pub mod hir_build_tests { EntryPoint JIT(0) Jump bb2(v5, v6) bb2(v8:BasicObject, v9:BasicObject): - v14:ArrayExact = ToArray v9 - v16:BasicObject = SendWithoutBlock v8, :foo, v14 + v15:ArrayExact = ToArray v9 + v17:BasicObject = SendWithoutBlock v8, :foo, v15 CheckInterrupts - Return v16 + Return v17 "); } @@ -1549,9 +1549,9 @@ pub mod hir_build_tests { EntryPoint JIT(0) Jump bb2(v5, v6) bb2(v8:BasicObject, v9:BasicObject): - v14:BasicObject = Send v8, 0x1000, :foo, v9 + v15:BasicObject = Send v8, 0x1000, :foo, v9 CheckInterrupts - Return v14 + Return v15 "); } @@ -1571,10 +1571,10 @@ pub mod hir_build_tests { EntryPoint JIT(0) Jump bb2(v5, v6) bb2(v8:BasicObject, v9:BasicObject): - v13:Fixnum[1] = Const Value(1) - v15:BasicObject = SendWithoutBlock v8, :foo, v13 + v14:Fixnum[1] = Const Value(1) + v16:BasicObject = SendWithoutBlock v8, :foo, v14 CheckInterrupts - Return v15 + Return v16 "); } @@ -1594,9 +1594,9 @@ pub mod hir_build_tests { EntryPoint JIT(0) Jump bb2(v5, v6) bb2(v8:BasicObject, v9:BasicObject): - v14:BasicObject = SendWithoutBlock v8, :foo, v9 + v15:BasicObject = SendWithoutBlock v8, :foo, v9 CheckInterrupts - Return v14 + Return v15 "); } @@ -1659,10 +1659,10 @@ pub mod hir_build_tests { EntryPoint JIT(0) Jump bb2(v4) bb2(v6:BasicObject): - v10:NilClass = Const Value(nil) - v12:BasicObject = InvokeSuper v6, 0x1000, v10 + v11:NilClass = Const Value(nil) + v13:BasicObject = InvokeSuper v6, 0x1000, v11 CheckInterrupts - Return v12 + Return v13 "); } @@ -1724,17 +1724,17 @@ pub mod hir_build_tests { EntryPoint JIT(0) Jump bb2(v5, v6) bb2(v8:BasicObject, v9:BasicObject): - v13:Class[VMFrozenCore] = Const Value(VALUE(0x1000)) - v15:HashExact = NewHash + v14:Class[VMFrozenCore] = Const Value(VALUE(0x1000)) + v16:HashExact = NewHash PatchPoint NoEPEscape(test) - v19:BasicObject = SendWithoutBlock v13, :core#hash_merge_kwd, v15, v9 - v20:Class[VMFrozenCore] = Const Value(VALUE(0x1000)) - v21:StaticSymbol[:b] = Const Value(VALUE(0x1008)) - v22:Fixnum[1] = Const Value(1) - v24:BasicObject = SendWithoutBlock v20, :core#hash_merge_ptr, v19, v21, v22 - v26:BasicObject = SendWithoutBlock v8, :foo, v24 + v21:BasicObject = SendWithoutBlock v14, :core#hash_merge_kwd, v16, v9 + v23:Class[VMFrozenCore] = Const Value(VALUE(0x1000)) + v26:StaticSymbol[:b] = Const Value(VALUE(0x1008)) + v28:Fixnum[1] = Const Value(1) + v30:BasicObject = SendWithoutBlock v23, :core#hash_merge_ptr, v21, v26, v28 + v32:BasicObject = SendWithoutBlock v8, :foo, v30 CheckInterrupts - Return v26 + Return v32 "); } @@ -1754,12 +1754,12 @@ pub mod hir_build_tests { EntryPoint JIT(0) Jump bb2(v5, v6) bb2(v8:BasicObject, v9:ArrayExact): - v14:ArrayExact = ToNewArray v9 - v15:Fixnum[1] = Const Value(1) - ArrayPush v14, v15 - v19:BasicObject = SendWithoutBlock v8, :foo, v14 + v15:ArrayExact = ToNewArray v9 + v17:Fixnum[1] = Const Value(1) + ArrayPush v15, v17 + v21:BasicObject = SendWithoutBlock v8, :foo, v15 CheckInterrupts - Return v19 + Return v21 "); } @@ -1779,9 +1779,9 @@ pub mod hir_build_tests { EntryPoint JIT(0) Jump bb2(v5, v6) bb2(v8:BasicObject, v9:BasicObject): - v14:BasicObject = SendForward 0x1000, :foo, v9 + v15:BasicObject = SendForward 0x1000, :foo, v9 CheckInterrupts - Return v14 + Return v15 "); } @@ -1806,10 +1806,10 @@ pub mod hir_build_tests { v14:NilClass = Const Value(nil) Jump bb2(v9, v10, v11, v12, v13, v14) bb2(v16:BasicObject, v17:BasicObject, v18:ArrayExact, v19:BasicObject, v20:BasicObject, v21:NilClass): - v26:ArrayExact = ToArray v18 + v28:ArrayExact = ToArray v18 PatchPoint NoEPEscape(test) GuardBlockParamProxy l0 - v31:HeapObject[BlockParamProxy] = Const Value(VALUE(0x1000)) + v34:HeapObject[BlockParamProxy] = Const Value(VALUE(0x1000)) SideExit UnhandledYARVInsn(splatkw) "); } @@ -1832,19 +1832,19 @@ pub mod hir_build_tests { Jump bb2(v4) bb2(v6:BasicObject): v11:BasicObject = GetConstantPath 0x1000 - v12:NilClass = Const Value(nil) - v14:CBool = IsMethodCFunc v11, :new - IfFalse v14, bb3(v6, v12, v11) - v16:HeapBasicObject = ObjectAlloc v11 - v18:BasicObject = SendWithoutBlock v16, :initialize + v13:NilClass = Const Value(nil) + v16:CBool = IsMethodCFunc v11, :new + IfFalse v16, bb3(v6, v13, v11) + v18:HeapBasicObject = ObjectAlloc v11 + v20:BasicObject = SendWithoutBlock v18, :initialize CheckInterrupts - Jump bb4(v6, v16, v18) - bb3(v22:BasicObject, v23:NilClass, v24:BasicObject): - v27:BasicObject = SendWithoutBlock v24, :new - Jump bb4(v22, v27, v23) - bb4(v29:BasicObject, v30:BasicObject, v31:BasicObject): + Jump bb4(v6, v18, v20) + bb3(v24:BasicObject, v25:NilClass, v26:BasicObject): + v29:BasicObject = SendWithoutBlock v26, :new + Jump bb4(v24, v29, v25) + bb4(v32:BasicObject, v33:BasicObject, v34:BasicObject): CheckInterrupts - Return v30 + Return v33 "); } @@ -1866,9 +1866,9 @@ pub mod hir_build_tests { Jump bb2(v4) bb2(v6:BasicObject): PatchPoint BOPRedefined(ARRAY_REDEFINED_OP_FLAG, BOP_MAX) - v12:BasicObject = ArrayMax + v11:BasicObject = ArrayMax CheckInterrupts - Return v12 + Return v11 "); } @@ -1891,9 +1891,9 @@ pub mod hir_build_tests { Jump bb2(v6, v7, v8) bb2(v10:BasicObject, v11:BasicObject, v12:BasicObject): PatchPoint BOPRedefined(ARRAY_REDEFINED_OP_FLAG, BOP_MAX) - v18:BasicObject = ArrayMax v11, v12 + v19:BasicObject = ArrayMax v11, v12 CheckInterrupts - Return v18 + Return v19 "); } @@ -1989,8 +1989,8 @@ pub mod hir_build_tests { Jump bb2(v8, v9, v10, v11, v12) bb2(v14:BasicObject, v15:BasicObject, v16:BasicObject, v17:NilClass, v18:NilClass): v25:BasicObject = SendWithoutBlock v15, :+, v16 - v28:StringExact[VALUE(0x1000)] = Const Value(VALUE(0x1000)) - v30:StringExact = StringCopy v28 + v31:StringExact[VALUE(0x1000)] = Const Value(VALUE(0x1000)) + v32:StringExact = StringCopy v31 SideExit UnknownNewarraySend(PACK) "); } @@ -2026,14 +2026,14 @@ pub mod hir_build_tests { bb2(v14:BasicObject, v15:BasicObject, v16:BasicObject, v17:NilClass, v18:NilClass): v25:BasicObject = SendWithoutBlock v15, :+, v16 PatchPoint BOPRedefined(ARRAY_REDEFINED_OP_FLAG, 33) - v30:BoolExact = ArrayInclude v15, v16 | v16 + v33:BoolExact = ArrayInclude v15, v16 | v16 PatchPoint NoEPEscape(test) - v35:ArrayExact[VALUE(0x1000)] = Const Value(VALUE(0x1000)) - v37:ArrayExact = ArrayDup v35 - v39:BasicObject = SendWithoutBlock v14, :puts, v37 + v40:ArrayExact[VALUE(0x1000)] = Const Value(VALUE(0x1000)) + v41:ArrayExact = ArrayDup v40 + v43:BasicObject = SendWithoutBlock v14, :puts, v41 PatchPoint NoEPEscape(test) CheckInterrupts - Return v30 + Return v33 "); } @@ -2110,8 +2110,8 @@ pub mod hir_build_tests { EntryPoint JIT(0) Jump bb2(v6, v7, v8) bb2(v10:BasicObject, v11:BasicObject, v12:BasicObject): - v17:ArrayExact = NewArray v11, v12 - v21:BasicObject = SendWithoutBlock v17, :length + v18:ArrayExact = NewArray v11, v12 + v21:BasicObject = SendWithoutBlock v18, :length CheckInterrupts Return v21 "); @@ -2135,8 +2135,8 @@ pub mod hir_build_tests { EntryPoint JIT(0) Jump bb2(v6, v7, v8) bb2(v10:BasicObject, v11:BasicObject, v12:BasicObject): - v17:ArrayExact = NewArray v11, v12 - v21:BasicObject = SendWithoutBlock v17, :size + v18:ArrayExact = NewArray v11, v12 + v21:BasicObject = SendWithoutBlock v18, :size CheckInterrupts Return v21 "); @@ -2160,9 +2160,9 @@ pub mod hir_build_tests { Jump bb2(v4) bb2(v6:BasicObject): PatchPoint SingleRactorMode - v12:BasicObject = GetIvar v6, :@foo + v11:BasicObject = GetIvar v6, :@foo CheckInterrupts - Return v12 + Return v11 "); } @@ -2238,9 +2238,9 @@ pub mod hir_build_tests { EntryPoint JIT(0) Jump bb2(v4) bb2(v6:BasicObject): - v11:BasicObject = GetClassVar :@@foo + v10:BasicObject = GetClassVar :@@foo CheckInterrupts - Return v11 + Return v10 "); } @@ -2312,9 +2312,9 @@ pub mod hir_build_tests { EntryPoint JIT(0) Jump bb2(v4) bb2(v6:BasicObject): - v11:BasicObject = GetGlobal :$foo + v10:BasicObject = GetGlobal :$foo CheckInterrupts - Return v11 + Return v10 "); } @@ -2360,8 +2360,8 @@ pub mod hir_build_tests { bb2(v8:BasicObject, v9:BasicObject): v13:Fixnum[1] = Const Value(1) v15:ArrayExact = NewArray v13 - v17:ArrayExact = ToArray v9 - ArrayExtend v15, v17 + v18:ArrayExact = ToArray v9 + ArrayExtend v15, v18 CheckInterrupts Return v15 "); @@ -2385,8 +2385,8 @@ pub mod hir_build_tests { Jump bb2(v5, v6) bb2(v8:BasicObject, v9:BasicObject): v14:ArrayExact = ToNewArray v9 - v15:Fixnum[1] = Const Value(1) - ArrayPush v14, v15 + v16:Fixnum[1] = Const Value(1) + ArrayPush v14, v16 CheckInterrupts Return v14 "); @@ -2410,12 +2410,12 @@ pub mod hir_build_tests { Jump bb2(v5, v6) bb2(v8:BasicObject, v9:BasicObject): v14:ArrayExact = ToNewArray v9 - v15:Fixnum[1] = Const Value(1) - v16:Fixnum[2] = Const Value(2) - v17:Fixnum[3] = Const Value(3) - ArrayPush v14, v15 + v16:Fixnum[1] = Const Value(1) + v18:Fixnum[2] = Const Value(2) + v20:Fixnum[3] = Const Value(3) ArrayPush v14, v16 - ArrayPush v14, v17 + ArrayPush v14, v18 + ArrayPush v14, v20 CheckInterrupts Return v14 "); @@ -2440,10 +2440,10 @@ pub mod hir_build_tests { Jump bb2(v6, v7, v8) bb2(v10:BasicObject, v11:BasicObject, v12:BasicObject): v16:NilClass = Const Value(nil) - v17:Fixnum[1] = Const Value(1) - v21:BasicObject = SendWithoutBlock v11, :[]=, v12, v17 + v20:Fixnum[1] = Const Value(1) + v24:BasicObject = SendWithoutBlock v11, :[]=, v12, v20 CheckInterrupts - Return v17 + Return v20 "); } @@ -2488,9 +2488,9 @@ pub mod hir_build_tests { EntryPoint JIT(0) Jump bb2(v5, v6) bb2(v8:BasicObject, v9:BasicObject): - v16:BasicObject = SendWithoutBlock v9, :empty? + v15:BasicObject = SendWithoutBlock v9, :empty? CheckInterrupts - Return v16 + Return v15 "); } @@ -2511,9 +2511,9 @@ pub mod hir_build_tests { EntryPoint JIT(0) Jump bb2(v5, v6) bb2(v8:BasicObject, v9:BasicObject): - v16:BasicObject = SendWithoutBlock v9, :succ + v15:BasicObject = SendWithoutBlock v9, :succ CheckInterrupts - Return v16 + Return v15 "); } @@ -2582,9 +2582,9 @@ pub mod hir_build_tests { EntryPoint JIT(0) Jump bb2(v5, v6) bb2(v8:BasicObject, v9:BasicObject): - v16:BasicObject = SendWithoutBlock v9, :! + v15:BasicObject = SendWithoutBlock v9, :! CheckInterrupts - Return v16 + Return v15 "); } @@ -2633,12 +2633,12 @@ pub mod hir_build_tests { Jump bb2(v4) bb2(v6:BasicObject): v10:Class[VMFrozenCore] = Const Value(VALUE(0x1000)) - v11:BasicObject = PutSpecialObject CBase - v12:StaticSymbol[:aliased] = Const Value(VALUE(0x1008)) - v13:StaticSymbol[:__callee__] = Const Value(VALUE(0x1010)) - v15:BasicObject = SendWithoutBlock v10, :core#set_method_alias, v11, v12, v13 + v12:BasicObject = PutSpecialObject CBase + v14:StaticSymbol[:aliased] = Const Value(VALUE(0x1008)) + v16:StaticSymbol[:__callee__] = Const Value(VALUE(0x1010)) + v18:BasicObject = SendWithoutBlock v10, :core#set_method_alias, v12, v14, v16 CheckInterrupts - Return v15 + Return v18 "); } @@ -2674,15 +2674,15 @@ pub mod hir_build_tests { Jump bb2(v7, v8, v9, v10) bb2(v12:BasicObject, v13:NilClass, v14:NilClass, v15:NilClass): PatchPoint SingleRactorMode - v21:BasicObject = GetIvar v12, :@a + v20:BasicObject = GetIvar v12, :@a PatchPoint SingleRactorMode - v24:BasicObject = GetIvar v12, :@b + v23:BasicObject = GetIvar v12, :@b PatchPoint SingleRactorMode - v27:BasicObject = GetIvar v12, :@c + v26:BasicObject = GetIvar v12, :@c PatchPoint NoEPEscape(reverse_odd) - v33:ArrayExact = NewArray v21, v24, v27 + v38:ArrayExact = NewArray v20, v23, v26 CheckInterrupts - Return v33 + Return v38 fn reverse_even@<compiled>:8: bb0(): @@ -2702,17 +2702,17 @@ pub mod hir_build_tests { Jump bb2(v8, v9, v10, v11, v12) bb2(v14:BasicObject, v15:NilClass, v16:NilClass, v17:NilClass, v18:NilClass): PatchPoint SingleRactorMode - v24:BasicObject = GetIvar v14, :@a + v23:BasicObject = GetIvar v14, :@a PatchPoint SingleRactorMode - v27:BasicObject = GetIvar v14, :@b + v26:BasicObject = GetIvar v14, :@b PatchPoint SingleRactorMode - v30:BasicObject = GetIvar v14, :@c + v29:BasicObject = GetIvar v14, :@c PatchPoint SingleRactorMode - v33:BasicObject = GetIvar v14, :@d + v32:BasicObject = GetIvar v14, :@d PatchPoint NoEPEscape(reverse_even) - v39:ArrayExact = NewArray v24, v27, v30, v33 + v46:ArrayExact = NewArray v23, v26, v29, v32 CheckInterrupts - Return v39 + Return v46 "); } @@ -2734,13 +2734,13 @@ pub mod hir_build_tests { Jump bb2(v5, v6) bb2(v8:BasicObject, v9:BasicObject): CheckInterrupts - v15:CBool = IsNil v9 - IfTrue v15, bb3(v8, v9, v9) - v18:BasicObject = SendWithoutBlock v9, :itself - Jump bb3(v8, v9, v18) - bb3(v20:BasicObject, v21:BasicObject, v22:BasicObject): + v16:CBool = IsNil v9 + IfTrue v16, bb3(v8, v9, v9) + v19:BasicObject = SendWithoutBlock v9, :itself + Jump bb3(v8, v9, v19) + bb3(v21:BasicObject, v22:BasicObject, v23:BasicObject): CheckInterrupts - Return v22 + Return v23 "); } @@ -2760,11 +2760,11 @@ pub mod hir_build_tests { EntryPoint JIT(0) Jump bb2(v7, v8, v9, v10) bb2(v12:BasicObject, v13:BasicObject, v14:BasicObject, v15:BasicObject): - v20:Float = InvokeBuiltin rb_f_float, v12, v13, v14 - Jump bb3(v12, v13, v14, v15, v20) - bb3(v22:BasicObject, v23:BasicObject, v24:BasicObject, v25:BasicObject, v26:Float): + v19:Float = InvokeBuiltin rb_f_float, v12, v13, v14 + Jump bb3(v12, v13, v14, v15, v19) + bb3(v21:BasicObject, v22:BasicObject, v23:BasicObject, v24:BasicObject, v25:Float): CheckInterrupts - Return v26 + Return v25 "); } @@ -2781,11 +2781,11 @@ pub mod hir_build_tests { EntryPoint JIT(0) Jump bb2(v4) bb2(v6:BasicObject): - v11:HeapObject = InvokeBuiltin leaf _bi20, v6 - Jump bb3(v6, v11) - bb3(v13:BasicObject, v14:HeapObject): + v10:HeapObject = InvokeBuiltin leaf _bi20, v6 + Jump bb3(v6, v10) + bb3(v12:BasicObject, v13:HeapObject): CheckInterrupts - Return v14 + Return v13 "); } @@ -2811,22 +2811,22 @@ pub mod hir_build_tests { v14:NilClass = Const Value(nil) Jump bb2(v9, v10, v11, v12, v13, v14) bb2(v16:BasicObject, v17:BasicObject, v18:BasicObject, v19:BasicObject, v20:BasicObject, v21:NilClass): - v26:BasicObject = InvokeBuiltin dir_s_open, v16, v17, v18 + v25:BasicObject = InvokeBuiltin dir_s_open, v16, v17, v18 PatchPoint NoEPEscape(open) GuardBlockParamProxy l0 - v33:HeapObject[BlockParamProxy] = Const Value(VALUE(0x1000)) + v32:HeapObject[BlockParamProxy] = Const Value(VALUE(0x1000)) CheckInterrupts - v36:CBool[true] = Test v33 - IfFalse v36, bb3(v16, v17, v18, v19, v20, v26) + v35:CBool[true] = Test v32 + IfFalse v35, bb3(v16, v17, v18, v19, v20, v25) PatchPoint NoEPEscape(open) - v43:BasicObject = InvokeBlock, v26 - v47:BasicObject = InvokeBuiltin dir_s_close, v16, v26 + v42:BasicObject = InvokeBlock, v25 + v45:BasicObject = InvokeBuiltin dir_s_close, v16, v25 CheckInterrupts - Return v43 - bb3(v53, v54, v55, v56, v57, v58): + Return v42 + bb3(v51, v52, v53, v54, v55, v56): PatchPoint NoEPEscape(open) CheckInterrupts - Return v58 + Return v56 "); } @@ -2845,11 +2845,11 @@ pub mod hir_build_tests { EntryPoint JIT(0) Jump bb2(v4) bb2(v6:BasicObject): - v11:BasicObject = InvokeBuiltin gc_enable, v6 - Jump bb3(v6, v11) - bb3(v13:BasicObject, v14:BasicObject): + v10:BasicObject = InvokeBuiltin gc_enable, v6 + Jump bb3(v6, v10) + bb3(v12:BasicObject, v13:BasicObject): CheckInterrupts - Return v14 + Return v13 "); } @@ -2872,10 +2872,10 @@ pub mod hir_build_tests { EntryPoint JIT(0) Jump bb2(v8, v9, v10, v11, v12) bb2(v14:BasicObject, v15:BasicObject, v16:BasicObject, v17:BasicObject, v18:BasicObject): - v22:FalseClass = Const Value(false) - v24:BasicObject = InvokeBuiltin gc_start_internal, v14, v15, v16, v17, v22 + v25:FalseClass = Const Value(false) + v27:BasicObject = InvokeBuiltin gc_start_internal, v14, v15, v16, v17, v25 CheckInterrupts - Return v24 + Return v27 "); } @@ -2893,11 +2893,11 @@ pub mod hir_build_tests { EntryPoint JIT(0) Jump bb2(v4) bb2(v6:BasicObject): - v11:StringExact = InvokeBuiltin leaf _bi28, v6 - Jump bb3(v6, v11) - bb3(v13:BasicObject, v14:StringExact): + v10:StringExact = InvokeBuiltin leaf _bi28, v6 + Jump bb3(v6, v10) + bb3(v12:BasicObject, v13:StringExact): CheckInterrupts - Return v14 + Return v13 "); } @@ -2915,11 +2915,11 @@ pub mod hir_build_tests { EntryPoint JIT(0) Jump bb2(v4) bb2(v6:BasicObject): - v11:StringExact = InvokeBuiltin leaf _bi12, v6 - Jump bb3(v6, v11) - bb3(v13:BasicObject, v14:StringExact): + v10:StringExact = InvokeBuiltin leaf _bi12, v6 + Jump bb3(v6, v10) + bb3(v12:BasicObject, v13:StringExact): CheckInterrupts - Return v14 + Return v13 "); } @@ -2941,19 +2941,19 @@ pub mod hir_build_tests { Jump bb2(v5, v6) bb2(v8:BasicObject, v9:BasicObject): v13:NilClass = Const Value(nil) - v14:Fixnum[0] = Const Value(0) - v15:Fixnum[1] = Const Value(1) - v17:BasicObject = SendWithoutBlock v9, :[], v14, v15 + v16:Fixnum[0] = Const Value(0) + v18:Fixnum[1] = Const Value(1) + v21:BasicObject = SendWithoutBlock v9, :[], v16, v18 CheckInterrupts - v20:CBool = Test v17 - IfTrue v20, bb3(v8, v9, v13, v9, v14, v15, v17) - v22:Fixnum[2] = Const Value(2) - v24:BasicObject = SendWithoutBlock v9, :[]=, v14, v15, v22 + v25:CBool = Test v21 + IfTrue v25, bb3(v8, v9, v13, v9, v16, v18, v21) + v29:Fixnum[2] = Const Value(2) + v32:BasicObject = SendWithoutBlock v9, :[]=, v16, v18, v29 CheckInterrupts - Return v22 - bb3(v30:BasicObject, v31:BasicObject, v32:NilClass, v33:BasicObject, v34:Fixnum[0], v35:Fixnum[1], v36:BasicObject): + Return v29 + bb3(v38:BasicObject, v39:BasicObject, v40:NilClass, v41:BasicObject, v42:Fixnum[0], v43:Fixnum[1], v44:BasicObject): CheckInterrupts - Return v36 + Return v44 "); } @@ -2974,12 +2974,12 @@ pub mod hir_build_tests { Jump bb2(v4) bb2(v6:BasicObject): v10:StringExact[VALUE(0x1000)] = Const Value(VALUE(0x1000)) - v11:Fixnum[1] = Const Value(1) - v13:BasicObject = ObjToString v11 - v15:String = AnyToString v11, str: v13 - v17:StringExact = StringConcat v10, v15 + v12:Fixnum[1] = Const Value(1) + v15:BasicObject = ObjToString v12 + v17:String = AnyToString v12, str: v15 + v19:StringExact = StringConcat v10, v17 CheckInterrupts - Return v17 + Return v19 "); } @@ -3000,17 +3000,17 @@ pub mod hir_build_tests { Jump bb2(v4) bb2(v6:BasicObject): v10:Fixnum[1] = Const Value(1) - v12:BasicObject = ObjToString v10 - v14:String = AnyToString v10, str: v12 - v15:Fixnum[2] = Const Value(2) - v17:BasicObject = ObjToString v15 - v19:String = AnyToString v15, str: v17 - v20:Fixnum[3] = Const Value(3) - v22:BasicObject = ObjToString v20 - v24:String = AnyToString v20, str: v22 - v26:StringExact = StringConcat v14, v19, v24 + v13:BasicObject = ObjToString v10 + v15:String = AnyToString v10, str: v13 + v17:Fixnum[2] = Const Value(2) + v20:BasicObject = ObjToString v17 + v22:String = AnyToString v17, str: v20 + v24:Fixnum[3] = Const Value(3) + v27:BasicObject = ObjToString v24 + v29:String = AnyToString v24, str: v27 + v31:StringExact = StringConcat v15, v22, v29 CheckInterrupts - Return v26 + Return v31 "); } @@ -3031,12 +3031,12 @@ pub mod hir_build_tests { Jump bb2(v4) bb2(v6:BasicObject): v10:StringExact[VALUE(0x1000)] = Const Value(VALUE(0x1000)) - v11:NilClass = Const Value(nil) - v13:BasicObject = ObjToString v11 - v15:String = AnyToString v11, str: v13 - v17:StringExact = StringConcat v10, v15 + v12:NilClass = Const Value(nil) + v15:BasicObject = ObjToString v12 + v17:String = AnyToString v12, str: v15 + v19:StringExact = StringConcat v10, v17 CheckInterrupts - Return v17 + Return v19 "); } @@ -3057,17 +3057,17 @@ pub mod hir_build_tests { Jump bb2(v4) bb2(v6:BasicObject): v10:Fixnum[1] = Const Value(1) - v12:BasicObject = ObjToString v10 - v14:String = AnyToString v10, str: v12 - v15:Fixnum[2] = Const Value(2) - v17:BasicObject = ObjToString v15 - v19:String = AnyToString v15, str: v17 - v20:Fixnum[3] = Const Value(3) - v22:BasicObject = ObjToString v20 - v24:String = AnyToString v20, str: v22 - v26:RegexpExact = ToRegexp v14, v19, v24 + v13:BasicObject = ObjToString v10 + v15:String = AnyToString v10, str: v13 + v17:Fixnum[2] = Const Value(2) + v20:BasicObject = ObjToString v17 + v22:String = AnyToString v17, str: v20 + v24:Fixnum[3] = Const Value(3) + v27:BasicObject = ObjToString v24 + v29:String = AnyToString v24, str: v27 + v31:RegexpExact = ToRegexp v15, v22, v29 CheckInterrupts - Return v26 + Return v31 "); } @@ -3088,14 +3088,14 @@ pub mod hir_build_tests { Jump bb2(v4) bb2(v6:BasicObject): v10:Fixnum[1] = Const Value(1) - v12:BasicObject = ObjToString v10 - v14:String = AnyToString v10, str: v12 - v15:Fixnum[2] = Const Value(2) - v17:BasicObject = ObjToString v15 - v19:String = AnyToString v15, str: v17 - v21:RegexpExact = ToRegexp v14, v19, MULTILINE|IGNORECASE|EXTENDED|NOENCODING + v13:BasicObject = ObjToString v10 + v15:String = AnyToString v10, str: v13 + v17:Fixnum[2] = Const Value(2) + v20:BasicObject = ObjToString v17 + v22:String = AnyToString v17, str: v20 + v24:RegexpExact = ToRegexp v15, v22, MULTILINE|IGNORECASE|EXTENDED|NOENCODING CheckInterrupts - Return v21 + Return v24 "); } @@ -3151,9 +3151,9 @@ pub mod hir_build_tests { EntryPoint JIT(0) Jump bb2(v4) bb2(v6:BasicObject): - v11:BasicObject = InvokeBlock + v10:BasicObject = InvokeBlock CheckInterrupts - Return v11 + Return v10 "); } @@ -3176,9 +3176,9 @@ pub mod hir_build_tests { EntryPoint JIT(0) Jump bb2(v6, v7, v8) bb2(v10:BasicObject, v11:BasicObject, v12:BasicObject): - v17:BasicObject = InvokeBlock, v11, v12 + v18:BasicObject = InvokeBlock, v11, v12 CheckInterrupts - Return v17 + Return v18 "); } @@ -3205,13 +3205,13 @@ pub mod hir_build_tests { v10:NilClass = Const Value(nil) Jump bb2(v7, v8, v9, v10) bb2(v12:BasicObject, v13:BasicObject, v14:NilClass, v15:NilClass): - v20:ArrayExact = GuardType v13, ArrayExact - v21:CInt64 = ArrayLength v20 - v22:CInt64[2] = GuardBitEquals v21, CInt64(2) - v23:Fixnum[1] = Const Value(1) - v24:BasicObject = ArrayArefFixnum v20, v23 - v25:Fixnum[0] = Const Value(0) - v26:BasicObject = ArrayArefFixnum v20, v25 + v21:ArrayExact = GuardType v13, ArrayExact + v22:CInt64 = ArrayLength v21 + v23:CInt64[2] = GuardBitEquals v22, CInt64(2) + v24:Fixnum[1] = Const Value(1) + v25:BasicObject = ArrayArefFixnum v21, v24 + v26:Fixnum[0] = Const Value(0) + v27:BasicObject = ArrayArefFixnum v21, v26 PatchPoint NoEPEscape(test) CheckInterrupts Return v13 @@ -3292,20 +3292,20 @@ pub mod hir_build_tests { EntryPoint JIT(0) Jump bb2(v6, v7, v8) bb2(v10:BasicObject, v11:BasicObject, v12:BasicObject): - v14:BasicObject = GetLocal l0, EP@3 - v15:BoolExact = FixnumBitCheck v14, 0 + v15:BasicObject = GetLocal l0, EP@3 + v16:BoolExact = FixnumBitCheck v15, 0 CheckInterrupts - v18:CBool = Test v15 - IfTrue v18, bb3(v10, v11, v12) - v20:Fixnum[1] = Const Value(1) - v21:Fixnum[1] = Const Value(1) - v25:BasicObject = SendWithoutBlock v20, :+, v21 + v19:CBool = Test v16 + IfTrue v19, bb3(v10, v11, v12) + v22:Fixnum[1] = Const Value(1) + v24:Fixnum[1] = Const Value(1) + v27:BasicObject = SendWithoutBlock v22, :+, v24 PatchPoint NoEPEscape(test) - Jump bb3(v10, v25, v12) - bb3(v29:BasicObject, v30:BasicObject, v31:BasicObject): + Jump bb3(v10, v27, v12) + bb3(v32:BasicObject, v33:BasicObject, v34:BasicObject): PatchPoint NoEPEscape(test) CheckInterrupts - Return v30 + Return v33 "); } |
