summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMax Bernstein <rubybugs@bernsteinbear.com>2025-11-10 07:51:56 -0800
committerGitHub <noreply@github.com>2025-11-10 15:51:56 +0000
commitfb5f10e0d6fbf5b3f7f13b392e598ccd7c32c2bc (patch)
tree15e3968f7e7c8d1fc82c164ac13a2a01d63e40cc
parentb539cd2a33dae904e55fd8f054349b9ff076793a (diff)
ZJIT: Snapshot once per YARV insn (#15082)
This is roughly net-neutral for the number of instructions created but at least cenetralizes where the Snapshot is made. Previously, we might have multiple Snapshot per YARV instruction depending on if it had event flags, if the body of the instruction also needed a Snapshot, etc.
-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
");
}