• Home
  • Raw
  • Download

Lines Matching refs:gate

27 GateRef MCRLowering::VisitGate(GateRef gate)  in VisitGate()  argument
29 auto op = acc_.GetOpCode(gate); in VisitGate()
32 LowerGetConstPool(gate); in VisitGate()
35 DeleteStateSplit(gate); in VisitGate()
38 LowerArrayGuardianCheck(gate); in VisitGate()
41 LowerHClassStableArrayCheck(gate); in VisitGate()
44 LowerHeapObjectCheck(gate); in VisitGate()
47 LowerLoadConstOffset(gate); in VisitGate()
50 LowerLoadHClassFromConstpool(gate); in VisitGate()
53 LowerStoreConstOffset(gate); in VisitGate()
56 LowerConvertHoleAsUndefined(gate); in VisitGate()
59 LowerGetGlobalEnv(gate); in VisitGate()
62 LowerGetGlobalEnvObj(gate); in VisitGate()
65 LowerGetGlobalEnvObjHClass(gate); in VisitGate()
68 LowerGetGlobalConstantValue(gate); in VisitGate()
71 LowerHeapAllocate(gate); in VisitGate()
74 LowerInt32CheckRightIsZero(gate); in VisitGate()
77 LowerRemainderIsNegativeZero(gate); in VisitGate()
80 LowerFloat64CheckRightIsZero(gate); in VisitGate()
83 LowerValueCheckNegOverflow(gate); in VisitGate()
86 LowerOverflowCheck(gate); in VisitGate()
89 LowerInt32UnsignedUpperBoundCheck(gate); in VisitGate()
92 LowerInt32DivWithCheck(gate); in VisitGate()
95 LowerLexVarIsHoleCheck(gate); in VisitGate()
98 LowerStoreMemory(gate); in VisitGate()
101 LowerCheckAndConvert(gate); in VisitGate()
104 LowerTaggedIsHeapObject(gate); in VisitGate()
107 LowerIsMarkerCellValid(gate); in VisitGate()
110 LowerIsSpecificObjectType(gate); in VisitGate()
118 void MCRLowering::LowerConvertHoleAsUndefined(GateRef gate) in LowerConvertHoleAsUndefined() argument
120 Environment env(gate, circuit_, &builder_); in LowerConvertHoleAsUndefined()
124 GateRef receiver = acc_.GetValueIn(gate, 0); in LowerConvertHoleAsUndefined()
134 acc_.ReplaceGate(gate, builder_.GetState(), builder_.GetDepend(), *result); in LowerConvertHoleAsUndefined()
137 void MCRLowering::LowerLoadConstOffset(GateRef gate) in LowerLoadConstOffset() argument
139 Environment env(gate, circuit_, &builder_); in LowerLoadConstOffset()
140 GateRef receiver = acc_.GetValueIn(gate, 0); in LowerLoadConstOffset()
141 GateRef offset = builder_.IntPtr(acc_.GetOffset(gate)); in LowerLoadConstOffset()
142 VariableType type = VariableType(acc_.GetMachineType(gate), acc_.GetGateType(gate)); in LowerLoadConstOffset()
143 GateRef result = builder_.Load(type, receiver, offset, acc_.GetMemoryOrder(gate)); in LowerLoadConstOffset()
144 acc_.ReplaceGate(gate, Circuit::NullGate(), builder_.GetDepend(), result); in LowerLoadConstOffset()
147 void MCRLowering::LowerLoadHClassFromConstpool(GateRef gate) in LowerLoadHClassFromConstpool() argument
149 Environment env(gate, circuit_, &builder_); in LowerLoadHClassFromConstpool()
150 GateRef constpool = acc_.GetValueIn(gate, 0); in LowerLoadHClassFromConstpool()
151 uint32_t index = acc_.GetIndex(gate); in LowerLoadHClassFromConstpool()
156 acc_.ReplaceGate(gate, Circuit::NullGate(), builder_.GetDepend(), hclass); in LowerLoadHClassFromConstpool()
159 void MCRLowering::LowerStoreConstOffset(GateRef gate) in LowerStoreConstOffset() argument
161 Environment env(gate, circuit_, &builder_); in LowerStoreConstOffset()
163 GateRef receiver = acc_.GetValueIn(gate, 0); in LowerStoreConstOffset()
164 GateRef value = acc_.GetValueIn(gate, 1); in LowerStoreConstOffset()
165 GateRef offset = builder_.IntPtr(acc_.GetOffset(gate)); in LowerStoreConstOffset()
166 VariableType type = VariableType(acc_.GetMachineType(gate), acc_.GetGateType(gate)); in LowerStoreConstOffset()
167 builder_.Store(type, glue_, receiver, offset, value, acc_.GetMemoryOrder(gate)); in LowerStoreConstOffset()
168 acc_.ReplaceGate(gate, builder_.GetState(), builder_.GetDepend(), Circuit::NullGate()); in LowerStoreConstOffset()
171 void MCRLowering::LowerHeapObjectCheck(GateRef gate) in LowerHeapObjectCheck() argument
173 Environment env(gate, circuit_, &builder_); in LowerHeapObjectCheck()
174 GateRef frameState = acc_.GetFrameState(gate); in LowerHeapObjectCheck()
175 GateRef receiver = acc_.GetValueIn(gate, 0); in LowerHeapObjectCheck()
180 acc_.ReplaceGate(gate, builder_.GetState(), builder_.GetDepend(), Circuit::NullGate()); in LowerHeapObjectCheck()
183 void MCRLowering::LowerTaggedIsHeapObject(GateRef gate) in LowerTaggedIsHeapObject() argument
185 Environment env(gate, circuit_, &builder_); in LowerTaggedIsHeapObject()
186 GateRef receiver = acc_.GetValueIn(gate, 0); in LowerTaggedIsHeapObject()
188 acc_.ReplaceGate(gate, builder_.GetState(), builder_.GetDepend(), result); in LowerTaggedIsHeapObject()
191 void MCRLowering::LowerIsMarkerCellValid(GateRef gate) in LowerIsMarkerCellValid() argument
193 Environment env(gate, circuit_, &builder_); in LowerIsMarkerCellValid()
194 GateRef cell = acc_.GetValueIn(gate, 0); in LowerIsMarkerCellValid()
196 acc_.ReplaceGate(gate, builder_.GetState(), builder_.GetDepend(), result); in LowerIsMarkerCellValid()
199 void MCRLowering::LowerIsSpecificObjectType(GateRef gate) in LowerIsSpecificObjectType() argument
201 Environment env(gate, circuit_, &builder_); in LowerIsSpecificObjectType()
202 JSType expectType = static_cast<JSType>(acc_.GetJSType(gate)); in LowerIsSpecificObjectType()
203 GateRef obj = acc_.GetValueIn(gate, 0); in LowerIsSpecificObjectType()
231 acc_.ReplaceGate(gate, builder_.GetState(), builder_.GetDepend(), result); in LowerIsSpecificObjectType()
234 void MCRLowering::LowerGetConstPool(GateRef gate) in LowerGetConstPool() argument
236 Environment env(gate, circuit_, &builder_); in LowerGetConstPool()
237 GateRef jsFunc = acc_.GetValueIn(gate, 0); // 0: this object in LowerGetConstPool()
240 acc_.UpdateAllUses(gate, newGate); in LowerGetConstPool()
243 acc_.DeleteGate(gate); in LowerGetConstPool()
246 void MCRLowering::DeleteStateSplit(GateRef gate) in DeleteStateSplit() argument
248 auto depend = acc_.GetDep(gate); in DeleteStateSplit()
249 auto frameState = acc_.GetFrameState(gate); in DeleteStateSplit()
251 acc_.ReplaceGate(gate, Circuit::NullGate(), depend, Circuit::NullGate()); in DeleteStateSplit()
254 void MCRLowering::LowerArrayGuardianCheck(GateRef gate) in LowerArrayGuardianCheck() argument
256 Environment env(gate, circuit_, &builder_); in LowerArrayGuardianCheck()
258 GateRef frameState = acc_.GetFrameState(gate); in LowerArrayGuardianCheck()
263 acc_.ReplaceGate(gate, builder_.GetState(), builder_.GetDepend(), Circuit::NullGate()); in LowerArrayGuardianCheck()
266 void MCRLowering::LowerHClassStableArrayCheck(GateRef gate) in LowerHClassStableArrayCheck() argument
268 Environment env(gate, circuit_, &builder_); in LowerHClassStableArrayCheck()
269 GateRef frameState = acc_.GetFrameState(gate); in LowerHClassStableArrayCheck()
270 GateRef hclass = acc_.GetValueIn(gate, 0); in LowerHClassStableArrayCheck()
274 ArrayMetaDataAccessor accessor = acc_.GetArrayMetaDataAccessor(gate); in LowerHClassStableArrayCheck()
291 acc_.ReplaceGate(gate, builder_.GetState(), builder_.GetDepend(), Circuit::NullGate()); in LowerHClassStableArrayCheck()
294 StateDepend MCRLowering::LowerConvert(StateDepend stateDepend, GateRef gate) in LowerConvert() argument
297 GateRef value = acc_.GetValueIn(gate); in LowerConvert()
298 ValueType dstType = acc_.GetDstType(gate); in LowerConvert()
301 switch (acc_.GetSrcType(gate)) { in LowerConvert()
351 …result = builder_.CallStub(glue, gate, CommonStubCSigns::CreateStringBySingleCharCode, { glue, val… in LowerConvert()
358 acc_.ReplaceGate(gate, Circuit::NullGate(), Circuit::NullGate(), result); in LowerConvert()
362 GateRef MCRLowering::ConvertTaggedNumberToBool(GateRef gate, Label *exit) in ConvertTaggedNumberToBool() argument
368 builder_.Branch(builder_.TaggedIsInt(gate), &isInt, &isDouble); in ConvertTaggedNumberToBool()
371 GateRef intVal = builder_.GetInt64OfTInt(gate); in ConvertTaggedNumberToBool()
377 GateRef doubleVal = builder_.GetDoubleOfTDouble(gate); in ConvertTaggedNumberToBool()
385 GateRef MCRLowering::ConvertTaggedNumberToInt32(GateRef gate, Label *exit) in ConvertTaggedNumberToInt32() argument
391 builder_.Branch(builder_.TaggedIsInt(gate), &isInt, &isDouble); in ConvertTaggedNumberToInt32()
393 result = ConvertTaggedIntToInt32(gate); in ConvertTaggedNumberToInt32()
396 result = ConvertFloat64ToInt32(ConvertTaggedDoubleToFloat64(gate), &toInt32); in ConvertTaggedNumberToInt32()
402 GateRef MCRLowering::ConvertTaggedNumberToFloat64(GateRef gate, Label *exit) in ConvertTaggedNumberToFloat64() argument
407 builder_.Branch(builder_.TaggedIsInt(gate), &isInt, &isDouble); in ConvertTaggedNumberToFloat64()
409 result = ConvertInt32ToFloat64(ConvertTaggedIntToInt32(gate)); in ConvertTaggedNumberToFloat64()
412 result = ConvertTaggedDoubleToFloat64(gate); in ConvertTaggedNumberToFloat64()
418 void MCRLowering::LowerCheckAndConvert(GateRef gate) in LowerCheckAndConvert() argument
420 Environment env(gate, circuit_, &builder_); in LowerCheckAndConvert()
421 GateRef frameState = acc_.GetFrameState(gate); in LowerCheckAndConvert()
422 ValueType srcType = acc_.GetSrcType(gate); in LowerCheckAndConvert()
426 LowerCheckUInt32AndConvert(gate, frameState); in LowerCheckAndConvert()
429 LowerCheckTaggedIntAndConvert(gate, frameState); in LowerCheckAndConvert()
432 LowerCheckTaggedDoubleAndConvert(gate, frameState, &exit); in LowerCheckAndConvert()
435 LowerCheckTaggedBoolAndConvert(gate, frameState); in LowerCheckAndConvert()
438 LowerCheckTaggedNumberAndConvert(gate, frameState, &exit); in LowerCheckAndConvert()
441 LowerCheckSupportAndConvert(gate, frameState); in LowerCheckAndConvert()
444 LowerCheckNullAndConvert(gate, frameState); in LowerCheckAndConvert()
447 LowerUndefinedAndConvert(gate, frameState); in LowerCheckAndConvert()
454 void MCRLowering::LowerCheckUInt32AndConvert(GateRef gate, GateRef frameState) in LowerCheckUInt32AndConvert() argument
456 GateRef value = acc_.GetValueIn(gate, 0); in LowerCheckUInt32AndConvert()
460 acc_.ReplaceGate(gate, builder_.GetState(), builder_.GetDepend(), value); in LowerCheckUInt32AndConvert()
463 void MCRLowering::LowerCheckTaggedIntAndConvert(GateRef gate, GateRef frameState) in LowerCheckTaggedIntAndConvert() argument
465 GateRef value = acc_.GetValueIn(gate, 0); in LowerCheckTaggedIntAndConvert()
469 ValueType dst = acc_.GetDstType(gate); in LowerCheckTaggedIntAndConvert()
476 acc_.ReplaceGate(gate, builder_.GetState(), builder_.GetDepend(), result); in LowerCheckTaggedIntAndConvert()
479 void MCRLowering::LowerCheckTaggedDoubleAndConvert(GateRef gate, GateRef frameState, Label *exit) in LowerCheckTaggedDoubleAndConvert() argument
481 GateRef value = acc_.GetValueIn(gate, 0); in LowerCheckTaggedDoubleAndConvert()
485 ValueType dst = acc_.GetDstType(gate); in LowerCheckTaggedDoubleAndConvert()
492 acc_.ReplaceGate(gate, builder_.GetState(), builder_.GetDepend(), result); in LowerCheckTaggedDoubleAndConvert()
495 void MCRLowering::LowerCheckTaggedNumberAndConvert(GateRef gate, GateRef frameState, Label *exit) in LowerCheckTaggedNumberAndConvert() argument
497 GateRef value = acc_.GetValueIn(gate, 0); in LowerCheckTaggedNumberAndConvert()
501 ValueType dst = acc_.GetDstType(gate); in LowerCheckTaggedNumberAndConvert()
510 acc_.ReplaceGate(gate, builder_.GetState(), builder_.GetDepend(), result); in LowerCheckTaggedNumberAndConvert()
513 void MCRLowering::LowerCheckSupportAndConvert(GateRef gate, GateRef frameState) in LowerCheckSupportAndConvert() argument
515 ValueType dstType = acc_.GetDstType(gate); in LowerCheckSupportAndConvert()
517 bool support = acc_.IsConvertSupport(gate); in LowerCheckSupportAndConvert()
518 GateRef value = acc_.GetValueIn(gate, 0); in LowerCheckSupportAndConvert()
528 acc_.ReplaceGate(gate, builder_.GetState(), builder_.GetDepend(), result); in LowerCheckSupportAndConvert()
531 void MCRLowering::LowerCheckTaggedBoolAndConvert(GateRef gate, GateRef frameState) in LowerCheckTaggedBoolAndConvert() argument
533 GateRef value = acc_.GetValueIn(gate, 0); in LowerCheckTaggedBoolAndConvert()
538 if (acc_.GetDstType(gate) == ValueType::BOOL) { in LowerCheckTaggedBoolAndConvert()
540 } else if (acc_.GetDstType(gate) == ValueType::INT32) { in LowerCheckTaggedBoolAndConvert()
542 } else if (acc_.GetDstType(gate) == ValueType::FLOAT64) { in LowerCheckTaggedBoolAndConvert()
547 acc_.ReplaceGate(gate, builder_.GetState(), builder_.GetDepend(), result); in LowerCheckTaggedBoolAndConvert()
550 void MCRLowering::LowerCheckNullAndConvert(GateRef gate, GateRef frameState) in LowerCheckNullAndConvert() argument
552 GateRef value = acc_.GetValueIn(gate, 0); in LowerCheckNullAndConvert()
556 if (acc_.GetDstType(gate) == ValueType::INT32) { in LowerCheckNullAndConvert()
558 } else if (acc_.GetDstType(gate) == ValueType::FLOAT64) { in LowerCheckNullAndConvert()
560 } else if (acc_.GetDstType(gate) == ValueType::BOOL) { in LowerCheckNullAndConvert()
565 acc_.ReplaceGate(gate, builder_.GetState(), builder_.GetDepend(), result); in LowerCheckNullAndConvert()
568 void MCRLowering::LowerUndefinedAndConvert(GateRef gate, GateRef frameState) in LowerUndefinedAndConvert() argument
570 GateRef value = acc_.GetValueIn(gate, 0); in LowerUndefinedAndConvert()
574 if (acc_.GetDstType(gate) == ValueType::FLOAT64) { in LowerUndefinedAndConvert()
576 } else if (acc_.GetDstType(gate) == ValueType::BOOL) { in LowerUndefinedAndConvert()
578 } else if (acc_.GetDstType(gate) == ValueType::INT32) { in LowerUndefinedAndConvert()
583 acc_.ReplaceGate(gate, builder_.GetState(), builder_.GetDepend(), result); in LowerUndefinedAndConvert()
591 GateRef MCRLowering::ConvertBoolToTaggedBoolean(GateRef gate) in ConvertBoolToTaggedBoolean() argument
593 return builder_.BooleanToTaggedBooleanPtr(gate); in ConvertBoolToTaggedBoolean()
596 GateRef MCRLowering::ConvertInt32ToFloat64(GateRef gate) in ConvertInt32ToFloat64() argument
598 return builder_.ChangeInt32ToFloat64(gate); in ConvertInt32ToFloat64()
601 GateRef MCRLowering::ConvertUInt32ToFloat64(GateRef gate) in ConvertUInt32ToFloat64() argument
603 return builder_.ChangeUInt32ToFloat64(gate); in ConvertUInt32ToFloat64()
606 GateRef MCRLowering::ConvertInt32ToTaggedInt(GateRef gate) in ConvertInt32ToTaggedInt() argument
608 return builder_.Int32ToTaggedPtr(gate); in ConvertInt32ToTaggedInt()
611 GateRef MCRLowering::ConvertUInt32ToTaggedNumber(GateRef gate, Label *exit) in ConvertUInt32ToTaggedNumber() argument
617 …builder_.Branch(builder_.Int32UnsignedLessThanOrEqual(gate, upperBound), &notOverFlow, &isOverFlow… in ConvertUInt32ToTaggedNumber()
619 taggedVal = builder_.Int32ToTaggedPtr(gate); in ConvertUInt32ToTaggedNumber()
622 taggedVal = builder_.DoubleToTaggedDoublePtr(builder_.ChangeUInt32ToFloat64(gate)); in ConvertUInt32ToTaggedNumber()
628 GateRef MCRLowering::ConvertFloat64ToInt32(GateRef gate, Label *exit) in ConvertFloat64ToInt32() argument
630 return builder_.DoubleToInt(gate, exit); in ConvertFloat64ToInt32()
633 GateRef MCRLowering::ConvertFloat64ToBool(GateRef gate) in ConvertFloat64ToBool() argument
635 GateRef doubleNotZero = builder_.DoubleNotEqual(gate, builder_.Double(0.0)); in ConvertFloat64ToBool()
636 GateRef doubleNotNAN = builder_.BoolNot(builder_.DoubleIsNAN(gate)); in ConvertFloat64ToBool()
640 GateRef MCRLowering::ConvertFloat64ToTaggedDouble(GateRef gate) in ConvertFloat64ToTaggedDouble() argument
642 return builder_.DoubleToTaggedDoublePtr(gate); in ConvertFloat64ToTaggedDouble()
645 GateRef MCRLowering::ConvertTaggedIntToInt32(GateRef gate) in ConvertTaggedIntToInt32() argument
647 return builder_.GetInt32OfTInt(gate); in ConvertTaggedIntToInt32()
650 GateRef MCRLowering::ConvertTaggedIntToFloat64(GateRef gate) in ConvertTaggedIntToFloat64() argument
652 return builder_.ChangeInt32ToFloat64(builder_.GetInt32OfTInt(gate)); in ConvertTaggedIntToFloat64()
655 GateRef MCRLowering::ConvertTaggedDoubleToInt32(GateRef gate, Label *exit) in ConvertTaggedDoubleToInt32() argument
657 return builder_.DoubleToInt(builder_.GetDoubleOfTDouble(gate), exit); in ConvertTaggedDoubleToInt32()
660 GateRef MCRLowering::ConvertTaggedDoubleToFloat64(GateRef gate) in ConvertTaggedDoubleToFloat64() argument
662 return builder_.GetDoubleOfTDouble(gate); in ConvertTaggedDoubleToFloat64()
665 void MCRLowering::LowerGetGlobalEnv(GateRef gate) in LowerGetGlobalEnv() argument
667 Environment env(gate, circuit_, &builder_); in LowerGetGlobalEnv()
670 acc_.ReplaceGate(gate, Circuit::NullGate(), builder_.GetDepend(), glueGlobalEnv); in LowerGetGlobalEnv()
673 void MCRLowering::LowerGetGlobalEnvObj(GateRef gate) in LowerGetGlobalEnvObj() argument
675 Environment env(gate, circuit_, &builder_); in LowerGetGlobalEnvObj()
676 GateRef globalEnv = acc_.GetValueIn(gate, 0); in LowerGetGlobalEnvObj()
677 size_t index = acc_.GetIndex(gate); in LowerGetGlobalEnvObj()
680 acc_.ReplaceGate(gate, Circuit::NullGate(), builder_.GetDepend(), object); in LowerGetGlobalEnvObj()
683 void MCRLowering::LowerGetGlobalEnvObjHClass(GateRef gate) in LowerGetGlobalEnvObjHClass() argument
685 Environment env(gate, circuit_, &builder_); in LowerGetGlobalEnvObjHClass()
686 GateRef globalEnv = acc_.GetValueIn(gate, 0); in LowerGetGlobalEnvObjHClass()
687 size_t index = acc_.GetIndex(gate); in LowerGetGlobalEnvObjHClass()
692 acc_.ReplaceGate(gate, Circuit::NullGate(), builder_.GetDepend(), hclass); in LowerGetGlobalEnvObjHClass()
695 void MCRLowering::LowerGetGlobalConstantValue(GateRef gate) in LowerGetGlobalConstantValue() argument
697 Environment env(gate, circuit_, &builder_); in LowerGetGlobalConstantValue()
698 size_t index = acc_.GetIndex(gate); in LowerGetGlobalConstantValue()
703 acc_.ReplaceGate(gate, Circuit::NullGate(), builder_.GetDepend(), result); in LowerGetGlobalConstantValue()
706 void MCRLowering::LowerHeapAllocate(GateRef gate) in LowerHeapAllocate() argument
708 Environment env(gate, circuit_, &builder_); in LowerHeapAllocate()
709 auto flag = acc_.TryGetValue(gate); in LowerHeapAllocate()
712 HeapAllocateInYoung(gate); in LowerHeapAllocate()
720 void MCRLowering::HeapAllocateInYoung(GateRef gate) in HeapAllocateInYoung() argument
723 GateRef size = acc_.GetValueIn(gate, 0); in HeapAllocateInYoung()
747 {builder_.ToTaggedInt(size)}, gate); in HeapAllocateInYoung()
752 acc_.ReplaceGate(gate, builder_.GetState(), builder_.GetDepend(), *result); in HeapAllocateInYoung()
755 void MCRLowering::LowerInt32CheckRightIsZero(GateRef gate) in LowerInt32CheckRightIsZero() argument
757 Environment env(gate, circuit_, &builder_); in LowerInt32CheckRightIsZero()
758 GateRef frameState = acc_.GetFrameState(gate); in LowerInt32CheckRightIsZero()
759 GateRef right = acc_.GetValueIn(gate, 0); in LowerInt32CheckRightIsZero()
762 acc_.ReplaceGate(gate, builder_.GetState(), builder_.GetDepend(), Circuit::NullGate()); in LowerInt32CheckRightIsZero()
765 void MCRLowering::LowerRemainderIsNegativeZero(GateRef gate) in LowerRemainderIsNegativeZero() argument
767 Environment env(gate, circuit_, &builder_); in LowerRemainderIsNegativeZero()
768 GateRef frameState = acc_.GetFrameState(gate); in LowerRemainderIsNegativeZero()
769 GateRef left = acc_.GetValueIn(gate, 0); in LowerRemainderIsNegativeZero()
770 GateRef right = acc_.GetValueIn(gate, 1); in LowerRemainderIsNegativeZero()
777 acc_.ReplaceGate(gate, builder_.GetState(), builder_.GetDepend(), Circuit::NullGate()); in LowerRemainderIsNegativeZero()
780 void MCRLowering::LowerFloat64CheckRightIsZero(GateRef gate) in LowerFloat64CheckRightIsZero() argument
782 Environment env(gate, circuit_, &builder_); in LowerFloat64CheckRightIsZero()
783 GateRef frameState = acc_.GetFrameState(gate); in LowerFloat64CheckRightIsZero()
784 GateRef right = acc_.GetValueIn(gate, 0); in LowerFloat64CheckRightIsZero()
787 acc_.ReplaceGate(gate, builder_.GetState(), builder_.GetDepend(), Circuit::NullGate()); in LowerFloat64CheckRightIsZero()
790 void MCRLowering::LowerLexVarIsHoleCheck(GateRef gate) in LowerLexVarIsHoleCheck() argument
792 Environment env(gate, circuit_, &builder_); in LowerLexVarIsHoleCheck()
793 GateRef frameState = acc_.GetFrameState(gate); in LowerLexVarIsHoleCheck()
794 GateRef value = acc_.GetValueIn(gate, 0); in LowerLexVarIsHoleCheck()
797 acc_.ReplaceGate(gate, builder_.GetState(), builder_.GetDepend(), Circuit::NullGate()); in LowerLexVarIsHoleCheck()
800 void MCRLowering::LowerValueCheckNegOverflow(GateRef gate) in LowerValueCheckNegOverflow() argument
802 Environment env(gate, circuit_, &builder_); in LowerValueCheckNegOverflow()
803 GateRef frameState = acc_.GetFrameState(gate); in LowerValueCheckNegOverflow()
804 GateRef value = acc_.GetValueIn(gate, 0); in LowerValueCheckNegOverflow()
807 acc_.ReplaceGate(gate, builder_.GetState(), builder_.GetDepend(), Circuit::NullGate()); in LowerValueCheckNegOverflow()
810 void MCRLowering::LowerOverflowCheck(GateRef gate) in LowerOverflowCheck() argument
812 Environment env(gate, circuit_, &builder_); in LowerOverflowCheck()
813 GateRef frameState = acc_.GetFrameState(gate); in LowerOverflowCheck()
814 GateRef result = acc_.GetValueIn(gate, 0); in LowerOverflowCheck()
817 acc_.ReplaceGate(gate, builder_.GetState(), builder_.GetDepend(), Circuit::NullGate()); in LowerOverflowCheck()
820 void MCRLowering::LowerInt32UnsignedUpperBoundCheck(GateRef gate) in LowerInt32UnsignedUpperBoundCheck() argument
822 Environment env(gate, circuit_, &builder_); in LowerInt32UnsignedUpperBoundCheck()
823 GateRef frameState = acc_.GetFrameState(gate); in LowerInt32UnsignedUpperBoundCheck()
824 GateRef value = acc_.GetValueIn(gate, 0); in LowerInt32UnsignedUpperBoundCheck()
825 GateRef upperBound = acc_.GetValueIn(gate, 1); in LowerInt32UnsignedUpperBoundCheck()
828 acc_.ReplaceGate(gate, builder_.GetState(), builder_.GetDepend(), Circuit::NullGate()); in LowerInt32UnsignedUpperBoundCheck()
831 void MCRLowering::LowerInt32DivWithCheck(GateRef gate) in LowerInt32DivWithCheck() argument
833 Environment env(gate, circuit_, &builder_); in LowerInt32DivWithCheck()
834 GateRef frameState = acc_.GetFrameState(gate); in LowerInt32DivWithCheck()
835 GateRef left = acc_.GetValueIn(gate, 0); in LowerInt32DivWithCheck()
836 GateRef right = acc_.GetValueIn(gate, 1); in LowerInt32DivWithCheck()
848 acc_.ReplaceGate(gate, builder_.GetState(), builder_.GetDepend(), result); in LowerInt32DivWithCheck()
851 void MCRLowering::LowerStoreMemory(GateRef gate) in LowerStoreMemory() argument
853 Environment env(gate, circuit_, &builder_); in LowerStoreMemory()
854 GateRef receiver = acc_.GetValueIn(gate, 0); in LowerStoreMemory()
855 GateRef index = acc_.GetValueIn(gate, 1); in LowerStoreMemory()
856 GateRef value = acc_.GetValueIn(gate, 2); in LowerStoreMemory()
858 acc_.ReplaceGate(gate, builder_.GetState(), builder_.GetDepend(), Circuit::NullGate()); in LowerStoreMemory()