diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/tiny_vm/tiny_vm.rs.html | 16 |
1 files changed, 8 insertions, 8 deletions
diff --git a/src/tiny_vm/tiny_vm.rs.html b/src/tiny_vm/tiny_vm.rs.html index 7de10c9..d36abd1 100644 --- a/src/tiny_vm/tiny_vm.rs.html +++ b/src/tiny_vm/tiny_vm.rs.html @@ -734,10 +734,7 @@ //! } //! ``` -</span><span class="attr">#[cfg(not(any(target_arch = <span class="string">"x86_64"</span>, target_os = <span class="string">"linux"</span>)))] -</span><span class="macro">compile_error!</span>(<span class="string">"Only supported on x86_64 with SystemV abi"</span>); - -<span class="kw">use </span>juicebox_asm::insn::<span class="kw-2">*</span>; +</span><span class="kw">use </span>juicebox_asm::insn::<span class="kw-2">*</span>; <span class="kw">use </span>juicebox_asm::Runtime; <span class="kw">use </span>juicebox_asm::{Asm, Imm16, Imm64, Label, MemOp, Reg16, Reg64}; @@ -956,7 +953,8 @@ } } - <span class="doccomment">/// Translate the bb at the current pc and return a JitFn pointer to it. + <span class="attr">#[cfg(all(any(target_arch = <span class="string">"x86_64"</span>, target_os = <span class="string">"linux"</span>)))] + </span><span class="doccomment">/// Translate the bb at the current pc and return a JitFn pointer to it. </span><span class="kw">fn </span>translate_next_bb(<span class="kw-2">&mut </span><span class="self">self</span>) -> JitFn { <span class="kw">let </span><span class="kw-2">mut </span>bb = Asm::new(); <span class="kw">let </span><span class="kw-2">mut </span>pc = <span class="self">self</span>.pc; @@ -966,13 +964,15 @@ pc = pc.wrapping_add(<span class="number">1</span>); - <span class="comment">// JIT ABI. + <span class="comment">// JIT abi: JitFn -> JitRet + // + // According to SystemV abi: // enter // rdi => regs // rsi => dmem // exit - // rax => JitRet(0, - // rdx => 1) + // rax => JitRet.0 + // rdx => JitRet.1 // Generate memory operand into regs for guest register. </span><span class="kw">let </span>reg_op = |r: TinyReg| { |