summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--zjit/src/hir.rs90
-rw-r--r--zjit/src/hir/opt_tests.rs1448
-rw-r--r--zjit/src/hir/tests.rs650
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)&nbsp;</TD></TR>
<TR><TD ALIGN="left" PORT="v15">PatchPoint NoTracePoint&nbsp;</TD></TR>
- <TR><TD ALIGN="left" PORT="v17">PatchPoint NoTracePoint&nbsp;</TD></TR>
- <TR><TD ALIGN="left" PORT="v25">PatchPoint BOPRedefined(INTEGER_REDEFINED_OP_FLAG, 29)&nbsp;</TD></TR>
- <TR><TD ALIGN="left" PORT="v26">v26:Fixnum = GuardType v11, Fixnum&nbsp;</TD></TR>
- <TR><TD ALIGN="left" PORT="v27">v27:Fixnum = GuardType v12, Fixnum&nbsp;</TD></TR>
- <TR><TD ALIGN="left" PORT="v28">v28:Fixnum = FixnumOr v26, v27&nbsp;</TD></TR>
+ <TR><TD ALIGN="left" PORT="v18">PatchPoint NoTracePoint&nbsp;</TD></TR>
+ <TR><TD ALIGN="left" PORT="v24">PatchPoint BOPRedefined(INTEGER_REDEFINED_OP_FLAG, 29)&nbsp;</TD></TR>
+ <TR><TD ALIGN="left" PORT="v25">v25:Fixnum = GuardType v11, Fixnum&nbsp;</TD></TR>
+ <TR><TD ALIGN="left" PORT="v26">v26:Fixnum = GuardType v12, Fixnum&nbsp;</TD></TR>
+ <TR><TD ALIGN="left" PORT="v27">v27:Fixnum = FixnumOr v25, v26&nbsp;</TD></TR>
<TR><TD ALIGN="left" PORT="v21">PatchPoint NoTracePoint&nbsp;</TD></TR>
- <TR><TD ALIGN="left" PORT="v23">CheckInterrupts&nbsp;</TD></TR>
- <TR><TD ALIGN="left" PORT="v24">Return v28&nbsp;</TD></TR>
+ <TR><TD ALIGN="left" PORT="v22">CheckInterrupts&nbsp;</TD></TR>
+ <TR><TD ALIGN="left" PORT="v23">Return v27&nbsp;</TD></TR>
</TABLE>>];
}
"#);
@@ -6003,17 +5945,17 @@ mod graphviz_tests {
<TR><TD ALIGN="left" PORT="v18">PatchPoint NoTracePoint&nbsp;</TD></TR>
<TR><TD ALIGN="left" PORT="v19">v19:Fixnum[3] = Const Value(3)&nbsp;</TD></TR>
<TR><TD ALIGN="left" PORT="v21">PatchPoint NoTracePoint&nbsp;</TD></TR>
- <TR><TD ALIGN="left" PORT="v23">CheckInterrupts&nbsp;</TD></TR>
- <TR><TD ALIGN="left" PORT="v24">Return v19&nbsp;</TD></TR>
+ <TR><TD ALIGN="left" PORT="v22">CheckInterrupts&nbsp;</TD></TR>
+ <TR><TD ALIGN="left" PORT="v23">Return v19&nbsp;</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)&nbsp;</TD></TR>
- <TR><TD ALIGN="left" PORT="v29">PatchPoint NoTracePoint&nbsp;</TD></TR>
- <TR><TD ALIGN="left" PORT="v30">v30:Fixnum[4] = Const Value(4)&nbsp;</TD></TR>
- <TR><TD ALIGN="left" PORT="v32">PatchPoint NoTracePoint&nbsp;</TD></TR>
- <TR><TD ALIGN="left" PORT="v34">CheckInterrupts&nbsp;</TD></TR>
- <TR><TD ALIGN="left" PORT="v35">Return v30&nbsp;</TD></TR>
+ <TR><TD ALIGN="LEFT" PORT="params" BGCOLOR="gray">bb3(v24:BasicObject, v25:BasicObject)&nbsp;</TD></TR>
+ <TR><TD ALIGN="left" PORT="v28">PatchPoint NoTracePoint&nbsp;</TD></TR>
+ <TR><TD ALIGN="left" PORT="v29">v29:Fixnum[4] = Const Value(4)&nbsp;</TD></TR>
+ <TR><TD ALIGN="left" PORT="v31">PatchPoint NoTracePoint&nbsp;</TD></TR>
+ <TR><TD ALIGN="left" PORT="v32">CheckInterrupts&nbsp;</TD></TR>
+ <TR><TD ALIGN="left" PORT="v33">Return v29&nbsp;</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
");
}