Home
last modified time | relevance | path

Searched refs:reg (Results 1 – 25 of 38) sorted by relevance

12

/ark/runtime_core/runtime/arch/
Dasm_support.h47 #define CFI_DEF_CFA(reg, offset) .cfi_def_cfa reg, (offset) argument
51 #define CFI_DEF_CFA_REGISTER(reg) .cfi_def_cfa_register reg argument
53 #define CFI_REL_OFFSET(reg, offset) .cfi_rel_offset reg, (offset) argument
55 #define CFI_OFFSET(reg, offset) .cfi_offset reg, (offset) argument
61 #define CFI_RESTORE(reg) .cfi_restore reg argument
63 #define CFI_REGISTER(reg, old_reg) .cfi_register reg, old_reg argument
72 #define CFI_DEF_CFA(reg, offset) argument
76 #define CFI_DEF_CFA_REGISTER(reg) argument
78 #define CFI_REL_OFFSET(reg, offset) argument
80 #define CFI_OFFSET(reg, offset) argument
[all …]
/ark/runtime_core/verification/absint/
Dabs_int_inl.cpp21 bool AbsIntInstructionHandler::IsRegDefined(int reg) in IsRegDefined() argument
23 bool is_defined = ExecCtx().CurrentRegContext().IsRegDefined(reg); in IsRegDefined()
25 if (!ExecCtx().CurrentRegContext().WasConflictOnReg(reg)) { in IsRegDefined()
27 LOG_VERIFIER_UNDEFINED_REGISTER(RegisterName(reg, true)); in IsRegDefined()
31 LOG_VERIFIER_REGISTER_TYPE_CONFLICT(RegisterName(reg, false)); in IsRegDefined()
38 bool AbsIntInstructionHandler::IsRegDefined(int reg)
40 return ExecCtx().CurrentRegContext().IsRegDefined(reg);
109 bool AbsIntInstructionHandler::CheckRegTypes(int reg, std::initializer_list<Type> types) in CheckRegTypes() argument
111 return CheckRegTypes<std::initializer_list<Type>>(reg, types); in CheckRegTypes()
Dexec_context.h164 void ForAllTypesOfRegAccordingToTypecasts(int reg, const RegContext &ctx, Handler &&handler)
166 if (ctx.IsRegDefined(reg)) {
167 const auto &atv = ctx[reg];
176 … ForAllTypesOfRegAccordingToTypecasts(reg, RegContextOnTarget(ptr), std::move(handler));
/ark/runtime_core/runtime/include/
Dcframe.h203 SlotType ReadCalleeSavedRegister(size_t reg, bool is_fp, SlotType **callee_stack) const in ReadCalleeSavedRegister() argument
205 ASSERT(reg >= GetFirstCalleeReg(ARCH, is_fp)); in ReadCalleeSavedRegister()
206 ASSERT(reg <= GetLastCalleeReg(ARCH, is_fp)); in ReadCalleeSavedRegister()
208 size_t start_slot = reg - GetFirstCalleeReg(ARCH, is_fp); in ReadCalleeSavedRegister()
218 …void WriteCalleeSavedRegister(size_t reg, SlotType value, bool is_fp, SlotType **callee_stack) con… in WriteCalleeSavedRegister() argument
220 ASSERT(reg >= GetFirstCalleeReg(ARCH, is_fp)); in WriteCalleeSavedRegister()
221 ASSERT(reg <= GetLastCalleeReg(ARCH, is_fp)); in WriteCalleeSavedRegister()
223 size_t start_slot = reg - GetFirstCalleeReg(ARCH, is_fp); in WriteCalleeSavedRegister()
/ark/runtime_core/assembler/
Dassembly-ins.cpp24 for (const auto &reg : this->regs) { in RegsToString()
31 if (print_args && reg >= first_arg_idx) { in RegsToString()
32 translator << " a" << reg - first_arg_idx; in RegsToString()
34 translator << " v" << reg; in RegsToString()
Dassembly-debug.h51 int32_t reg = 0; member
Dassembly-ins.h209 for (auto reg : regs) { in IsValidToEmit() local
210 if (reg >= INVALID_REG_NUM) { in IsValidToEmit()
/ark/runtime_core/runtime/tests/
Dinterpreter_test.cpp680 … [](BytecodeEmitter *emitter, uint8_t reg, const Label &label) { emitter->Jeq(reg, label); }); in TEST_F() argument
682 … [](BytecodeEmitter *emitter, uint8_t reg, const Label &label) { emitter->Jeq(reg, label); }); in TEST_F() argument
684 … [](BytecodeEmitter *emitter, uint8_t reg, const Label &label) { emitter->Jeq(reg, label); }); in TEST_F() argument
687 … [](BytecodeEmitter *emitter, uint8_t reg, const Label &label) { emitter->Jne(reg, label); }); in TEST_F() argument
689 … [](BytecodeEmitter *emitter, uint8_t reg, const Label &label) { emitter->Jne(reg, label); }); in TEST_F() argument
691 … [](BytecodeEmitter *emitter, uint8_t reg, const Label &label) { emitter->Jne(reg, label); }); in TEST_F() argument
694 … [](BytecodeEmitter *emitter, uint8_t reg, const Label &label) { emitter->Jlt(reg, label); }); in TEST_F() argument
696 … [](BytecodeEmitter *emitter, uint8_t reg, const Label &label) { emitter->Jlt(reg, label); }); in TEST_F() argument
698 … [](BytecodeEmitter *emitter, uint8_t reg, const Label &label) { emitter->Jlt(reg, label); }); in TEST_F() argument
701 … [](BytecodeEmitter *emitter, uint8_t reg, const Label &label) { emitter->Jgt(reg, label); }); in TEST_F() argument
[all …]
Dregion_allocator_test.cpp88 bool IsTLAB(Region *reg) in IsTLAB() argument
90 return reg->GetTLAB() != nullptr; in IsTLAB()
134 auto reg = allocator.GetCurrentRegion<true, RegionFlag::IS_EDEN>(); in AllocateRegularObject() local
136 ASSERT_EQ(reg->End() - reg->Top(), free_bytes_for_cur_reg); in AllocateRegularObject()
/ark/runtime_core/runtime/
Dstack_walker.cpp117 for (size_t reg = GetFirstCalleeReg(ARCH, false); reg <= GetLastCalleeReg(ARCH, false); reg++) { in InitCalleeBuffer() local
118 size_t offset = reg - GetFirstCalleeReg(ARCH, false); in InitCalleeBuffer()
120 …if (prev_callees == nullptr || prev_is_jni || (prev_callees->callee_regs_mask & (1U << reg)) != 0)… in InitCalleeBuffer()
124 start_slot + (callee_regs_count - Popcount(callee_stack_.callee_regs_mask >> reg)); in InitCalleeBuffer()
131 for (size_t reg = GetFirstCalleeReg(ARCH, true); reg <= GetLastCalleeReg(ARCH, true); reg++) { in InitCalleeBuffer() local
132 size_t offset = callee_regs_count + reg - GetFirstCalleeReg(ARCH, true); in InitCalleeBuffer()
134 …prev_callees == nullptr || prev_is_jni || (prev_callees->callee_fp_regs_mask & (1U << reg)) != 0) { in InitCalleeBuffer()
137 … start_slot + (callee_vregs_count - Popcount(callee_stack_.callee_fp_regs_mask >> reg)); in InitCalleeBuffer()
/ark/runtime_core/libpandafile/
Dbytecode_emitter.cpp220 void BytecodeEmitter::Jcmp(Opcode opcode_short, Opcode opcode_long, uint8_t reg, const Label &label) in Jcmp() argument
223 if (GetBitLengthUnsigned(reg) <= BitImmSize::BITSIZE_8 && in Jcmp()
225 pc_ += Emit<Format::V8_IMM8>(std::back_inserter(bytecode_), opcode_short, reg, 0); in Jcmp()
227 pc_ += Emit<Format::V8_IMM16>(std::back_inserter(bytecode_), opcode_long, reg, 0); in Jcmp()
324 uint8_t reg = getRegJcond(bytecode_, insn_pc, ENCODED_IMM_SIZE); in DoReserveSpaceForOffset() local
335 reg, EXTENDED_INSN_SIZE + GetSizeByOpcode(Opcode::JMP_IMM32)); in DoReserveSpaceForOffset()
339 … Emit<Format::V8_IMM16>(bytecode_.begin() + insn_pc, GetLongestConditionalJump(opcode), reg, 0); in DoReserveSpaceForOffset()
366 … uint8_t reg = BytecodeInstruction(bytecode).JumpTo(insn_pc).GetVReg<Format::V8_IMM8, 0>(); in UpdateBranches() local
367 Emit<Format::V8_IMM8>(bytecode_.begin() + insn_pc, opcode, reg, offset); in UpdateBranches()
369 … uint8_t reg = BytecodeInstruction(bytecode).JumpTo(insn_pc).GetVReg<Format::V8_IMM16, 0>(); in UpdateBranches() local
[all …]
Dbytecode_emitter.h103 …cmp(BytecodeInstruction::Opcode opcode_short, BytecodeInstruction::Opcode opcode_long, uint8_t reg,
/ark/ts2abc/ts2panda/src/
DsyntaxCheckHelper.ts24 let reg = /^0[0-7]+$/;
25 if (!reg.test(num)) {
51 let reg = /\\(?:[1-7][0-7]{0,2}|[0-7]{2,3})/g;
52 if (!text.match(reg)) {
Ddebuginfo.ts108 reg: number, start: number = 0, length: number = 0) {
112 this.r = reg;
/ark/runtime_core/runtime/tooling/
Ddebugger.cpp183 Frame::VRegister *reg = ret.Value(); in GetVariable() local
185 return GetPtLangExtPrivate()->GetPtValueFromManaged(*reg, result); in GetVariable()
197 Frame::VRegister *reg = ret.Value(); in SetVariable() local
199 return GetPtLangExtPrivate()->StorePtValueFromManaged(value, reg); in SetVariable()
592 Frame::VRegister &reg = thread->GetCurrentFrame()->GetVReg(inst.GetVReg()); in HandlePropertyAccess() local
593 ASSERT(reg.HasObject()); in HandlePropertyAccess()
594 PtScopedObjectPrivate slo(reg.GetReference()); in HandlePropertyAccess()
644 Frame::VRegister &reg = thread->GetCurrentFrame()->GetVReg(inst.GetVReg()); in HandlePropertyModify() local
645 ASSERT(reg.HasObject()); in HandlePropertyModify()
646 PtScopedObjectPrivate slo(reg.GetReference()); in HandlePropertyModify()
[all …]
/ark/runtime_core/libpandafile/templates/tests/
Dbytecode_emitter_tests_gen.h.erb83 …JcmpBwd_<%= pretty_format %>(Opcode::<%= opcode %>, [](BytecodeEmitter* emitter, uint8_t reg, cons…
84 emitter-><%= emitter_name %>(reg, label);
89 …JcmpFwd_<%= pretty_format %>(Opcode::<%= opcode %>, [](BytecodeEmitter* emitter, uint8_t reg, cons…
90 emitter-><%= emitter_name %>(reg, label);
/ark/runtime_core/assembler/templates/
Doperand_types_print.h.erb28 % if op.reg?
29 % 'reg'
Disa.h.erb40 % i.operands.select(&:reg?).map(&:width).max
44 % regs = insn.operands.select(&:reg?)
Dins_emit.h.erb68 % if op.reg?
133 % if op.reg?
169 % registers = i.operands.select(&:reg?)
/ark/runtime_core/verification/models/contexts_merge/
Dcheck_set_intersection_as_lub.als31 -- check that one reg type may be used as substitutuion for the other
35 -- r1,r2,r3 - reg values accured during context calculation
64 -- select some regs (suppose it is the same reg from different contexts)
72 -- so verify, that all reg instances from all contexts can be used for arg
/ark/runtime_core/docs/
Drationale-for-bytecode.md132 | virt. reg. 0 | some local variable |
133 | virt. reg. 1 | some local variable |
134 | virt. reg. 2 | some temporary value |
135 | virt. reg. 3 | some temporary value |
136 | virt. reg. 4 | arg1 |
137 | virt. reg. 5 | arg2 |
169 (acc-reg-reg, acc-reg, acc-imm) and integer-based jumps, but not for floating-point arithmetics
170 (which is rare) and which is supposed to have only acc-reg form. Another good choice for
/ark/runtime_core/libpandafile/templates/
Dbytecode_instruction-inl_gen.h.erb41 % n = i.operands.count(&:reg?)
155 % n = i.operands.count(&:reg?)
158 % reg_ops = i.operands.select(&:reg?)
187 % n = i.operands.count(&:reg?)
190 % reg_ops = i.operands.select(&:reg?)
333 …st.template GetVReg<BytecodeInst<Mode>::Format::#{inst.format.pretty.upcase}, #{idx}>()" if op.reg?
/ark/runtime_core/verification/models/
DREADME.md3 Using Alloy to prove that we may use simple set intersection of reg supertypes during context merge…
/ark/js_runtime/ecmascript/compiler/
Dbytecode_circuit_builder.cpp698 uint32_t reg = READ_INST_8_2(); in GetBytecodeInfo() local
700 info.vregIn.emplace_back(reg); in GetBytecodeInfo()
707 uint32_t reg = READ_INST_8_3(); in GetBytecodeInfo() local
709 info.vregIn.emplace_back(reg); in GetBytecodeInfo()
716 uint32_t reg = READ_INST_8_4(); in GetBytecodeInfo() local
718 info.vregIn.emplace_back(reg); in GetBytecodeInfo()
2110 [&](size_t bbId, const uint8_t *end, uint16_t reg, bool acc) -> GateRef { in BuildCircuit() argument
2133 reg = curInfo.vregIn.at(0); in BuildCircuit()
2141 if (!curInfo.vregOut.empty() && curInfo.vregOut.at(0) == reg) { in BuildCircuit()
2147 reg = curInfo.vregIn.at(0); in BuildCircuit()
[all …]
/ark/js_runtime/ecmascript/builtins/
Dbuiltins_string.h116 …ic int32_t SplitMatch(const JSHandle<EcmaString> &str, int32_t q, const JSHandle<EcmaString> &reg);

12