@@ -829,7 +829,10 @@ impl<'a> std::fmt::Display for InsnPrinter<'a> {
829829 Insn :: ArrayDup { val, .. } => { write ! ( f, "ArrayDup {val}" ) }
830830 Insn :: HashDup { val, .. } => { write ! ( f, "HashDup {val}" ) }
831831 Insn :: ObjectAlloc { val, .. } => { write ! ( f, "ObjectAlloc {val}" ) }
832- Insn :: ObjectAllocClass { class, .. } => { write ! ( f, "ObjectAllocClass {}" , class. print( self . ptr_map) ) }
832+ & Insn :: ObjectAllocClass { class, .. } => {
833+ let class_name = get_class_name ( class) ;
834+ write ! ( f, "ObjectAllocClass {class_name}:{}" , class. print( self . ptr_map) )
835+ }
833836 Insn :: StringCopy { val, .. } => { write ! ( f, "StringCopy {val}" ) }
834837 Insn :: StringConcat { strings, .. } => {
835838 write ! ( f, "StringConcat" ) ?;
@@ -5637,7 +5640,7 @@ mod tests {
56375640 v10:ArrayExact = ToArray v2
56385641 PatchPoint NoEPEscape(test)
56395642 GuardBlockParamProxy l0
5640- v15:BasicObject [BlockParamProxy] = Const Value(VALUE(0x1000))
5643+ v15:HeapObject [BlockParamProxy] = Const Value(VALUE(0x1000))
56415644 SideExit UnhandledYARVInsn(splatkw)
56425645 " ) ;
56435646 }
@@ -6221,16 +6224,16 @@ mod tests {
62216224 v10:BasicObject = InvokeBuiltin dir_s_open, v0, v1, v2
62226225 PatchPoint NoEPEscape(open)
62236226 GuardBlockParamProxy l0
6224- v17:BasicObject [BlockParamProxy] = Const Value(VALUE(0x1000))
6227+ v17:HeapObject [BlockParamProxy] = Const Value(VALUE(0x1000))
62256228 CheckInterrupts
6226- v20:CBool = Test v17
6229+ v20:CBool[true] = Test v17
62276230 IfFalse v20, bb1(v0, v1, v2, v3, v4, v10)
62286231 PatchPoint NoEPEscape(open)
62296232 v27:BasicObject = InvokeBlock, v10
62306233 v31:BasicObject = InvokeBuiltin dir_s_close, v0, v10
62316234 CheckInterrupts
62326235 Return v27
6233- bb1(v37:BasicObject , v38:BasicObject , v39:BasicObject , v40:BasicObject , v41:BasicObject , v42:BasicObject ):
6236+ bb1(v37, v38, v39, v40, v41, v42):
62346237 PatchPoint NoEPEscape(open)
62356238 CheckInterrupts
62366239 Return v42
@@ -8033,7 +8036,7 @@ mod opt_tests {
80338036 bb0(v0:BasicObject):
80348037 PatchPoint SingleRactorMode
80358038 PatchPoint StableConstantNames(0x1000, MY_MODULE)
8036- v13:BasicObject [VALUE(0x1008)] = Const Value(VALUE(0x1008))
8039+ v13:HeapObject [VALUE(0x1008)] = Const Value(VALUE(0x1008))
80378040 CheckInterrupts
80388041 Return v13
80398042 " ) ;
@@ -8378,7 +8381,7 @@ mod opt_tests {
83788381 v34:Class[VALUE(0x1008)] = Const Value(VALUE(0x1008))
83798382 v6:NilClass = Const Value(nil)
83808383 PatchPoint MethodRedefined(C@0x1008, new@0x1010, cme:0x1018)
8381- v37:HeapObject[class_exact:C] = ObjectAllocClass VALUE(0x1008)
8384+ v37:HeapObject[class_exact:C] = ObjectAllocClass C: VALUE(0x1008)
83828385 PatchPoint MethodRedefined(C@0x1008, initialize@0x1040, cme:0x1048)
83838386 v39:NilClass = CCall initialize@0x1070, v37
83848387 CheckInterrupts
@@ -8407,7 +8410,7 @@ mod opt_tests {
84078410 v6:NilClass = Const Value(nil)
84088411 v7:Fixnum[1] = Const Value(1)
84098412 PatchPoint MethodRedefined(C@0x1008, new@0x1010, cme:0x1018)
8410- v39:HeapObject[class_exact:C] = ObjectAllocClass VALUE(0x1008)
8413+ v39:HeapObject[class_exact:C] = ObjectAllocClass C: VALUE(0x1008)
84118414 PatchPoint MethodRedefined(C@0x1008, initialize@0x1040, cme:0x1048)
84128415 v41:BasicObject = SendWithoutBlockDirect v39, :initialize (0x1070), v7
84138416 CheckInterrupts
@@ -8430,7 +8433,7 @@ mod opt_tests {
84308433 v34:Class[VALUE(0x1008)] = Const Value(VALUE(0x1008))
84318434 v6:NilClass = Const Value(nil)
84328435 PatchPoint MethodRedefined(Object@0x1008, new@0x1010, cme:0x1018)
8433- v37:HeapObject[class_exact:Object] = ObjectAllocClass VALUE(0x1008)
8436+ v37:ObjectExact = ObjectAllocClass Object: VALUE(0x1008)
84348437 PatchPoint MethodRedefined(Object@0x1008, initialize@0x1040, cme:0x1048)
84358438 v39:NilClass = CCall initialize@0x1070, v37
84368439 CheckInterrupts
@@ -8453,7 +8456,7 @@ mod opt_tests {
84538456 v34:Class[VALUE(0x1008)] = Const Value(VALUE(0x1008))
84548457 v6:NilClass = Const Value(nil)
84558458 PatchPoint MethodRedefined(BasicObject@0x1008, new@0x1010, cme:0x1018)
8456- v37:HeapObject[class_exact:BasicObject] = ObjectAllocClass VALUE(0x1008)
8459+ v37:BasicObjectExact = ObjectAllocClass BasicObject: VALUE(0x1008)
84578460 PatchPoint MethodRedefined(BasicObject@0x1008, initialize@0x1040, cme:0x1048)
84588461 v39:NilClass = CCall initialize@0x1070, v37
84598462 CheckInterrupts
@@ -8476,7 +8479,7 @@ mod opt_tests {
84768479 v34:Class[VALUE(0x1008)] = Const Value(VALUE(0x1008))
84778480 v6:NilClass = Const Value(nil)
84788481 PatchPoint MethodRedefined(Hash@0x1008, new@0x1010, cme:0x1018)
8479- v37:HashExact = ObjectAllocClass VALUE(0x1008)
8482+ v37:HashExact = ObjectAllocClass Hash: VALUE(0x1008)
84808483 v12:BasicObject = SendWithoutBlock v37, :initialize
84818484 CheckInterrupts
84828485 CheckInterrupts
@@ -8523,7 +8526,7 @@ mod opt_tests {
85238526 PatchPoint MethodRedefined(Set@0x1008, new@0x1010, cme:0x1018)
85248527 v10:HeapObject = ObjectAlloc v34
85258528 PatchPoint MethodRedefined(Set@0x1008, initialize@0x1040, cme:0x1048)
8526- v39:HeapObject[class_exact:Set] = GuardType v10, HeapObject[class_exact:Set]
8529+ v39:SetExact = GuardType v10, SetExact
85278530 v40:BasicObject = CCallVariadic initialize@0x1070, v39
85288531 CheckInterrupts
85298532 CheckInterrupts
@@ -8568,7 +8571,7 @@ mod opt_tests {
85688571 v7:StringExact[VALUE(0x1010)] = Const Value(VALUE(0x1010))
85698572 v9:StringExact = StringCopy v7
85708573 PatchPoint MethodRedefined(Regexp@0x1008, new@0x1018, cme:0x1020)
8571- v41:HeapObject[class_exact:Regexp] = ObjectAllocClass VALUE(0x1008)
8574+ v41:RegexpExact = ObjectAllocClass Regexp: VALUE(0x1008)
85728575 PatchPoint MethodRedefined(Regexp@0x1008, initialize@0x1048, cme:0x1050)
85738576 v44:BasicObject = CCallVariadic initialize@0x1078, v41, v9
85748577 CheckInterrupts
@@ -8618,7 +8621,7 @@ mod opt_tests {
86188621 fn test@<compiled>:2:
86198622 bb0(v0:BasicObject, v1:BasicObject):
86208623 GuardBlockParamProxy l0
8621- v7:BasicObject [BlockParamProxy] = Const Value(VALUE(0x1000))
8624+ v7:HeapObject [BlockParamProxy] = Const Value(VALUE(0x1000))
86228625 v9:BasicObject = Send v0, 0x1008, :tap, v7
86238626 CheckInterrupts
86248627 Return v9
@@ -9632,10 +9635,9 @@ mod opt_tests {
96329635 bb0(v0:BasicObject):
96339636 PatchPoint SingleRactorMode
96349637 PatchPoint StableConstantNames(0x1000, O)
9635- v15:BasicObject [VALUE(0x1008)] = Const Value(VALUE(0x1008))
9638+ v15:HeapObject [VALUE(0x1008)] = Const Value(VALUE(0x1008))
96369639 PatchPoint MethodRedefined(C@0x1010, foo@0x1018, cme:0x1020)
9637- v18:HeapObject[VALUE(0x1008)] = GuardType v15, HeapObject
9638- v19:HeapObject[VALUE(0x1008)] = GuardShape v18, 0x1048
9640+ v19:HeapObject[VALUE(0x1008)] = GuardShape v15, 0x1048
96399641 v20:NilClass = Const Value(nil)
96409642 CheckInterrupts
96419643 Return v20
@@ -9659,10 +9661,9 @@ mod opt_tests {
96599661 bb0(v0:BasicObject):
96609662 PatchPoint SingleRactorMode
96619663 PatchPoint StableConstantNames(0x1000, O)
9662- v15:BasicObject [VALUE(0x1008)] = Const Value(VALUE(0x1008))
9664+ v15:HeapObject [VALUE(0x1008)] = Const Value(VALUE(0x1008))
96639665 PatchPoint MethodRedefined(C@0x1010, foo@0x1018, cme:0x1020)
9664- v18:HeapObject[VALUE(0x1008)] = GuardType v15, HeapObject
9665- v19:HeapObject[VALUE(0x1008)] = GuardShape v18, 0x1048
9666+ v19:HeapObject[VALUE(0x1008)] = GuardShape v15, 0x1048
96669667 v20:NilClass = Const Value(nil)
96679668 CheckInterrupts
96689669 Return v20
0 commit comments