MCPcopy Create free account
hub / github.com/ZDoom/Raze / EmitBOUND

Method EmitBOUND

source/common/scripting/jit/jit_flow.cpp:273–290  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

271}
272
273void JitCompiler::EmitBOUND()
274{
275 auto cursor = cc.getCursor();
276 auto label = cc.newLabel();
277 cc.bind(label);
278 auto call = CreateCall<void, int, int>(&JitCompiler::ThrowArrayOutOfBounds);
279 call->setArg(0, regD[A]);
280 call->setArg(1, asmjit::imm(BC));
281 cc.setCursor(cursor);
282
283 cc.cmp(regD[A], (int)BC);
284 cc.jae(label);
285
286 JitLineInfo info;
287 info.Label = label;
288 info.LineNumber = sfunc->PCToLine(pc);
289 LineInfo.Push(info);
290}
291
292void JitCompiler::EmitBOUND_K()
293{

Callers

nothing calls this directly

Calls 8

immFunction · 0.85
getCursorMethod · 0.80
PCToLineMethod · 0.80
newLabelMethod · 0.45
bindMethod · 0.45
setArgMethod · 0.45
setCursorMethod · 0.45
PushMethod · 0.45

Tested by

no test coverage detected