Skip to content

Instantly share code, notes, and snippets.

@akawashiro
Created November 18, 2023 12:13
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save akawashiro/86132e0367397fff7f48ff4a0e812fc7 to your computer and use it in GitHub Desktop.
Save akawashiro/86132e0367397fff7f48ff4a0e812fc7 to your computer and use it in GitHub Desktop.
$ ./run.sh
+ [[ ! -d venv ]]
+ source venv/bin/activate
++ deactivate nondestructive
++ '[' -n '' ']'
++ '[' -n '' ']'
++ '[' -n /bin/bash -o -n '' ']'
++ hash -r
++ '[' -n '' ']'
++ unset VIRTUAL_ENV
++ unset VIRTUAL_ENV_PROMPT
++ '[' '!' nondestructive = nondestructive ']'
++ VIRTUAL_ENV=/home/akira/ghq/github.com/akawashiro/rupyjit/venv
++ export VIRTUAL_ENV
++ _OLD_VIRTUAL_PATH=/home/akira/.wasmtime/bin:/home/akira/.wasmer/bin:/home/akira/.zplug/bin:/home/akira/.pyenv/shims:/home/akira/.pyenv/bin:/home/akira/.fzf/bin:/home/akira/.gem/ruby/2.7.0/bin:/home/akira/.go/.bin:/home/akira/.go/bin:/home/akira/.cargo/bin:/home/akira/tools:/home/akira/public-tools:/home/akira/pfn-tools:/home/akira/.local/bin:/home/akira/.cabal/bin:/var/lib/snapd/snap/bin:/home/akira/.nvm/versions/node/v18.16.0/bin:/.bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/usr/games:/usr/local/games:/snap/bin:/bin
++ PATH=/home/akira/ghq/github.com/akawashiro/rupyjit/venv/bin:/home/akira/.wasmtime/bin:/home/akira/.wasmer/bin:/home/akira/.zplug/bin:/home/akira/.pyenv/shims:/home/akira/.pyenv/bin:/home/akira/.fzf/bin:/home/akira/.gem/ruby/2.7.0/bin:/home/akira/.go/.bin:/home/akira/.go/bin:/home/akira/.cargo/bin:/home/akira/tools:/home/akira/public-tools:/home/akira/pfn-tools:/home/akira/.local/bin:/home/akira/.cabal/bin:/var/lib/snapd/snap/bin:/home/akira/.nvm/versions/node/v18.16.0/bin:/.bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/usr/games:/usr/local/games:/snap/bin:/bin
++ export PATH
++ '[' -n '' ']'
++ '[' -z '' ']'
++ _OLD_VIRTUAL_PS1=
++ PS1='(venv) '
++ export PS1
++ VIRTUAL_ENV_PROMPT='(venv) '
++ export VIRTUAL_ENV_PROMPT
++ '[' -n /bin/bash -o -n '' ']'
++ hash -r
+ pip install maturin
Requirement already satisfied: maturin in ./venv/lib/python3.10/site-packages (1.2.3)
Requirement already satisfied: tomli>=1.1.0 in ./venv/lib/python3.10/site-packages (from maturin) (2.0.1)
+ cargo fmt
+ maturin develop
🔗 Found pyo3 bindings
🐍 Found CPython 3.10 at /home/akira/ghq/github.com/akawashiro/rupyjit/venv/bin/python
📡 Using build options features from pyproject.toml
Compiling rupyjit v0.1.0 (/home/akira/ghq/github.com/akawashiro/rupyjit)
Building [=========================> ] 79/80: rupyjit
warning: function `write_pop_rbp` is never used
--> src/jit.rs:160:4
|
160 | fn write_pop_rbp(buf: *mut u8, index: usize) -> usize {
| ^^^^^^^^^^^^^
|
= note: `#[warn(dead_code)]` on by default
Building [=========================> ] 79/80: rupyjit
Building [=========================> ] 79/80: rupyjit
warning: `rupyjit` (lib) generated 1 warning
Finished dev [unoptimized + debuginfo] target(s) in 0.94s
📦 Built wheel for CPython 3.10 to /tmp/.tmpzhS5tC/rupyjit-0.1.0-cp310-cp310-linux_x86_64.whl
🛠 Installed rupyjit-0.1.0
++ realpath ./venv/lib/python3.10/site-packages/rupyjit/
+ export PYTHONPATH=/home/akira/ghq/github.com/akawashiro/rupyjit/venv/lib/python3.10/site-packages/rupyjit
+ PYTHONPATH=/home/akira/ghq/github.com/akawashiro/rupyjit/venv/lib/python3.10/site-packages/rupyjit
+ export RUST_LOG=info
+ RUST_LOG=info
+ python3 ./test.py
5 0 LOAD_FAST 0 (n)
2 LOAD_CONST 1 (2)
4 COMPARE_OP 0 (<)
6 POP_JUMP_IF_FALSE 6 (to 12)
6 8 LOAD_FAST 0 (n)
10 RETURN_VALUE
7 >> 12 LOAD_GLOBAL 0 (fib)
14 LOAD_FAST 0 (n)
16 LOAD_CONST 2 (1)
18 BINARY_SUBTRACT
20 CALL_FUNCTION 1
22 LOAD_GLOBAL 0 (fib)
24 LOAD_FAST 0 (n)
26 LOAD_CONST 1 (2)
28 BINARY_SUBTRACT
30 CALL_FUNCTION 1
32 BINARY_ADD
34 RETURN_VALUE
src/lib.rs:55 2023-11-18T21:11:55 [INFO] - enable()
src/lib.rs:34 2023-11-18T21:11:55 [INFO] - eval()
src/jit.rs:238 2023-11-18T21:11:55 [INFO] - compile_and_exec_jit_code
src/pyutils.rs:82 2023-11-18T21:11:55 [INFO] - dump_frame_info
src/pyutils.rs:87 2023-11-18T21:11:55 [INFO] - is_bytes:1 n_bytes:36
src/pyutils.rs:22 2023-11-18T21:11:55 [INFO] - code_vec[0]:LoadFast(124)
src/pyutils.rs:28 2023-11-18T21:11:55 [INFO] - code_vec[1]:0x00
src/pyutils.rs:22 2023-11-18T21:11:55 [INFO] - code_vec[2]:LoadConst(100)
src/pyutils.rs:28 2023-11-18T21:11:55 [INFO] - code_vec[3]:0x01
src/pyutils.rs:22 2023-11-18T21:11:55 [INFO] - code_vec[4]:CompareOp(107)
src/pyutils.rs:28 2023-11-18T21:11:55 [INFO] - code_vec[5]:0x00
src/pyutils.rs:22 2023-11-18T21:11:55 [INFO] - code_vec[6]:PopJumpIfFalse(114)
src/pyutils.rs:28 2023-11-18T21:11:55 [INFO] - code_vec[7]:0x06
src/pyutils.rs:22 2023-11-18T21:11:55 [INFO] - code_vec[8]:LoadFast(124)
src/pyutils.rs:28 2023-11-18T21:11:55 [INFO] - code_vec[9]:0x00
src/pyutils.rs:22 2023-11-18T21:11:55 [INFO] - code_vec[10]:ReturnValue(83)
src/pyutils.rs:28 2023-11-18T21:11:55 [INFO] - code_vec[11]:0x00
src/pyutils.rs:22 2023-11-18T21:11:55 [INFO] - code_vec[12]:LoadGlobal(116)
src/pyutils.rs:28 2023-11-18T21:11:55 [INFO] - code_vec[13]:0x00
src/pyutils.rs:22 2023-11-18T21:11:55 [INFO] - code_vec[14]:LoadFast(124)
src/pyutils.rs:28 2023-11-18T21:11:55 [INFO] - code_vec[15]:0x00
src/pyutils.rs:22 2023-11-18T21:11:55 [INFO] - code_vec[16]:LoadConst(100)
src/pyutils.rs:28 2023-11-18T21:11:55 [INFO] - code_vec[17]:0x02
src/pyutils.rs:22 2023-11-18T21:11:55 [INFO] - code_vec[18]:BinarySubtract(24)
src/pyutils.rs:28 2023-11-18T21:11:55 [INFO] - code_vec[19]:0x00
src/pyutils.rs:22 2023-11-18T21:11:55 [INFO] - code_vec[20]:CallFunction(131)
src/pyutils.rs:28 2023-11-18T21:11:55 [INFO] - code_vec[21]:0x01
src/pyutils.rs:22 2023-11-18T21:11:55 [INFO] - code_vec[22]:LoadGlobal(116)
src/pyutils.rs:28 2023-11-18T21:11:55 [INFO] - code_vec[23]:0x00
src/pyutils.rs:22 2023-11-18T21:11:55 [INFO] - code_vec[24]:LoadFast(124)
src/pyutils.rs:28 2023-11-18T21:11:55 [INFO] - code_vec[25]:0x00
src/pyutils.rs:22 2023-11-18T21:11:55 [INFO] - code_vec[26]:LoadConst(100)
src/pyutils.rs:28 2023-11-18T21:11:55 [INFO] - code_vec[27]:0x01
src/pyutils.rs:22 2023-11-18T21:11:55 [INFO] - code_vec[28]:BinarySubtract(24)
src/pyutils.rs:28 2023-11-18T21:11:55 [INFO] - code_vec[29]:0x00
src/pyutils.rs:22 2023-11-18T21:11:55 [INFO] - code_vec[30]:CallFunction(131)
src/pyutils.rs:28 2023-11-18T21:11:55 [INFO] - code_vec[31]:0x01
src/pyutils.rs:22 2023-11-18T21:11:55 [INFO] - code_vec[32]:BinaryAdd(23)
src/pyutils.rs:28 2023-11-18T21:11:55 [INFO] - code_vec[33]:0x00
src/pyutils.rs:22 2023-11-18T21:11:55 [INFO] - code_vec[34]:ReturnValue(83)
src/pyutils.rs:28 2023-11-18T21:11:55 [INFO] - code_vec[35]:0x00
src/pyutils.rs:99 2023-11-18T21:11:55 [INFO] - co_varnames=["n"]
src/pyutils.rs:102 2023-11-18T21:11:55 [INFO] - f_globals=["__name__", "__doc__", "__package__", "__loader__", "__spec__", "__annotations__", "__builtins__", "__file__", "__cached__", "rupyjit", "dis", "fib"]
src/pyutils.rs:104 2023-11-18T21:11:55 [INFO] - f_locals=0x0
src/pyutils.rs:107 2023-11-18T21:11:55 [INFO] - co_nlocals=1
src/pyutils.rs:110 2023-11-18T21:11:55 [INFO] - co_consts=0x7fddefd502c0
src/pyutils.rs:113 2023-11-18T21:11:55 [INFO] - co_argcounts=1
src/pyutils.rs:115 2023-11-18T21:11:55 [INFO] - frame.read().f_stackdepth=0
src/pyutils.rs:116 2023-11-18T21:11:55 [INFO] - frame.read().f_stacktop=0x7fddefda04e8
src/pyutils.rs:117 2023-11-18T21:11:55 [INFO] - frame.read().f_localsplus[0]=0x7fddf0500110
src/pyutils.rs:125 2023-11-18T21:11:55 [INFO] - l=0x7fddf0500110
src/pyutils.rs:127 2023-11-18T21:11:55 [INFO] - size of PyObject = 16
src/pyutils.rs:128 2023-11-18T21:11:55 [INFO] - size of PyLongObject = 0
src/pyutils.rs:133 2023-11-18T21:11:55 [INFO] - get_type(l)="int"
src/pyutils.rs:135 2023-11-18T21:11:55 [INFO] - PyLong_AsLong(l)=2
src/pyutils.rs:139 2023-11-18T21:11:55 [INFO] - PyUnicode_Check(frame.read().f_code.read().co_name)=1
src/pyutils.rs:143 2023-11-18T21:11:55 [INFO] - str_to_string(frame.read().f_code.read().co_name)="fib"
src/pyutils.rs:148 2023-11-18T21:11:55 [INFO] - get_jit_key(frame)="fib_int"
src/jit.rs:270 2023-11-18T21:11:55 [INFO] - is_bytes:1 n_bytes:36
src/jit.rs:283 2023-11-18T21:11:55 [INFO] - code_vec[0]:LoadFast, 0x00
src/jit.rs:283 2023-11-18T21:11:55 [INFO] - code_vec[2]:LoadConst, 0x01
src/jit.rs:283 2023-11-18T21:11:55 [INFO] - code_vec[4]:CompareOp, 0x00
src/jit.rs:283 2023-11-18T21:11:55 [INFO] - code_vec[6]:PopJumpIfFalse, 0x06
src/jit.rs:283 2023-11-18T21:11:55 [INFO] - code_vec[8]:LoadFast, 0x00
src/jit.rs:283 2023-11-18T21:11:55 [INFO] - code_vec[10]:ReturnValue, 0x00
src/jit.rs:283 2023-11-18T21:11:55 [INFO] - code_vec[12]:LoadGlobal, 0x00
src/jit.rs:283 2023-11-18T21:11:55 [INFO] - code_vec[14]:LoadFast, 0x00
src/jit.rs:283 2023-11-18T21:11:55 [INFO] - code_vec[16]:LoadConst, 0x02
src/jit.rs:283 2023-11-18T21:11:55 [INFO] - code_vec[18]:BinarySubtract, 0x00
src/jit.rs:283 2023-11-18T21:11:55 [INFO] - code_vec[20]:CallFunction, 0x01
src/jit.rs:283 2023-11-18T21:11:55 [INFO] - code_vec[22]:LoadGlobal, 0x00
src/jit.rs:283 2023-11-18T21:11:55 [INFO] - code_vec[24]:LoadFast, 0x00
src/jit.rs:283 2023-11-18T21:11:55 [INFO] - code_vec[26]:LoadConst, 0x01
src/jit.rs:283 2023-11-18T21:11:55 [INFO] - code_vec[28]:BinarySubtract, 0x00
src/jit.rs:283 2023-11-18T21:11:55 [INFO] - code_vec[30]:CallFunction, 0x01
src/jit.rs:283 2023-11-18T21:11:55 [INFO] - code_vec[32]:BinaryAdd, 0x00
src/jit.rs:283 2023-11-18T21:11:55 [INFO] - code_vec[34]:ReturnValue, 0x00
00005585E9035000 F30F1EFA endbr64
00005585E9035004 55 push rbp
00005585E9035005 4889E5 mov rbp,rsp
; LoadFast, 0x00
00005585E9035008 48B8100150F0DD7F0000 mov rax,7FDD`F050`0110h
00005585E9035012 50 push rax
00005585E9035013 90 nop
00005585E9035014 90 nop
00005585E9035015 90 nop
00005585E9035016 90 nop
00005585E9035017 90 nop
00005585E9035018 90 nop
00005585E9035019 90 nop
00005585E903501A 90 nop
00005585E903501B 90 nop
00005585E903501C 90 nop
00005585E903501D 90 nop
00005585E903501E 90 nop
00005585E903501F 90 nop
00005585E9035020 90 nop
00005585E9035021 90 nop
00005585E9035022 90 nop
00005585E9035023 90 nop
00005585E9035024 90 nop
00005585E9035025 90 nop
00005585E9035026 90 nop
00005585E9035027 90 nop
00005585E9035028 90 nop
00005585E9035029 90 nop
00005585E903502A 90 nop
00005585E903502B 90 nop
00005585E903502C 90 nop
00005585E903502D 90 nop
00005585E903502E 90 nop
00005585E903502F 90 nop
00005585E9035030 90 nop
00005585E9035031 90 nop
00005585E9035032 90 nop
00005585E9035033 90 nop
00005585E9035034 90 nop
00005585E9035035 90 nop
00005585E9035036 90 nop
00005585E9035037 90 nop
00005585E9035038 90 nop
00005585E9035039 90 nop
00005585E903503A 90 nop
00005585E903503B 90 nop
00005585E903503C 90 nop
00005585E903503D 90 nop
00005585E903503E 90 nop
00005585E903503F 90 nop
00005585E9035040 90 nop
00005585E9035041 90 nop
00005585E9035042 90 nop
00005585E9035043 90 nop
00005585E9035044 90 nop
00005585E9035045 90 nop
00005585E9035046 90 nop
00005585E9035047 90 nop
; LoadConst, 0x01
00005585E9035048 48B8100150F0DD7F0000 mov rax,7FDD`F050`0110h
00005585E9035052 50 push rax
00005585E9035053 90 nop
00005585E9035054 90 nop
00005585E9035055 90 nop
00005585E9035056 90 nop
00005585E9035057 90 nop
00005585E9035058 90 nop
00005585E9035059 90 nop
00005585E903505A 90 nop
00005585E903505B 90 nop
00005585E903505C 90 nop
00005585E903505D 90 nop
00005585E903505E 90 nop
00005585E903505F 90 nop
00005585E9035060 90 nop
00005585E9035061 90 nop
00005585E9035062 90 nop
00005585E9035063 90 nop
00005585E9035064 90 nop
00005585E9035065 90 nop
00005585E9035066 90 nop
00005585E9035067 90 nop
00005585E9035068 90 nop
00005585E9035069 90 nop
00005585E903506A 90 nop
00005585E903506B 90 nop
00005585E903506C 90 nop
00005585E903506D 90 nop
00005585E903506E 90 nop
00005585E903506F 90 nop
00005585E9035070 90 nop
00005585E9035071 90 nop
00005585E9035072 90 nop
00005585E9035073 90 nop
00005585E9035074 90 nop
00005585E9035075 90 nop
00005585E9035076 90 nop
00005585E9035077 90 nop
00005585E9035078 90 nop
00005585E9035079 90 nop
00005585E903507A 90 nop
00005585E903507B 90 nop
00005585E903507C 90 nop
00005585E903507D 90 nop
00005585E903507E 90 nop
00005585E903507F 90 nop
00005585E9035080 90 nop
00005585E9035081 90 nop
00005585E9035082 90 nop
00005585E9035083 90 nop
00005585E9035084 90 nop
00005585E9035085 90 nop
00005585E9035086 90 nop
00005585E9035087 90 nop
; CompareOp, 0x00
00005585E9035088 5F pop rdi
00005585E9035089 5E pop rsi
00005585E903508A 48B8008C68EFDD7F0000 mov rax,7FDD`EF68`8C00h
00005585E9035094 54 push rsp
00005585E9035095 FF3424 push qword ptr [rsp]
00005585E9035098 4883E4F0 and rsp,0`FFFF`FFFF`FFFF`FFF0h
00005585E903509C FFD0 call rax
00005585E903509E 488B642408 mov rsp,[rsp+8]
00005585E90350A3 50 push rax
00005585E90350A4 90 nop
00005585E90350A5 90 nop
00005585E90350A6 90 nop
00005585E90350A7 90 nop
00005585E90350A8 90 nop
00005585E90350A9 90 nop
00005585E90350AA 90 nop
00005585E90350AB 90 nop
00005585E90350AC 90 nop
00005585E90350AD 90 nop
00005585E90350AE 90 nop
00005585E90350AF 90 nop
00005585E90350B0 90 nop
00005585E90350B1 90 nop
00005585E90350B2 90 nop
00005585E90350B3 90 nop
00005585E90350B4 90 nop
00005585E90350B5 90 nop
00005585E90350B6 90 nop
00005585E90350B7 90 nop
00005585E90350B8 90 nop
00005585E90350B9 90 nop
00005585E90350BA 90 nop
00005585E90350BB 90 nop
00005585E90350BC 90 nop
00005585E90350BD 90 nop
00005585E90350BE 90 nop
00005585E90350BF 90 nop
00005585E90350C0 90 nop
00005585E90350C1 90 nop
00005585E90350C2 90 nop
00005585E90350C3 90 nop
00005585E90350C4 90 nop
00005585E90350C5 90 nop
00005585E90350C6 90 nop
00005585E90350C7 90 nop
; PopJumpIfFalse, 0x06
00005585E90350C8 5F pop rdi
00005585E90350C9 48B8A08C68EFDD7F0000 mov rax,7FDD`EF68`8CA0h
00005585E90350D3 54 push rsp
00005585E90350D4 FF3424 push qword ptr [rsp]
00005585E90350D7 4883E4F0 and rsp,0`FFFF`FFFF`FFFF`FFF0h
00005585E90350DB FFD0 call rax
00005585E90350DD 488B642408 mov rsp,[rsp+8]
00005585E90350E2 4883F800 cmp rax,0
00005585E90350E6 0F84C0000000 je 0000`5585`E903`51ACh
00005585E90350EC 90 nop
00005585E90350ED 90 nop
00005585E90350EE 90 nop
00005585E90350EF 90 nop
00005585E90350F0 90 nop
00005585E90350F1 90 nop
00005585E90350F2 90 nop
00005585E90350F3 90 nop
00005585E90350F4 90 nop
00005585E90350F5 90 nop
00005585E90350F6 90 nop
00005585E90350F7 90 nop
00005585E90350F8 90 nop
00005585E90350F9 90 nop
00005585E90350FA 90 nop
00005585E90350FB 90 nop
00005585E90350FC 90 nop
00005585E90350FD 90 nop
00005585E90350FE 90 nop
00005585E90350FF 90 nop
00005585E9035100 90 nop
00005585E9035101 90 nop
00005585E9035102 90 nop
00005585E9035103 90 nop
00005585E9035104 90 nop
00005585E9035105 90 nop
00005585E9035106 90 nop
00005585E9035107 90 nop
; LoadFast, 0x00
00005585E9035108 48B8100150F0DD7F0000 mov rax,7FDD`F050`0110h
00005585E9035112 50 push rax
00005585E9035113 90 nop
00005585E9035114 90 nop
00005585E9035115 90 nop
00005585E9035116 90 nop
00005585E9035117 90 nop
00005585E9035118 90 nop
00005585E9035119 90 nop
00005585E903511A 90 nop
00005585E903511B 90 nop
00005585E903511C 90 nop
00005585E903511D 90 nop
00005585E903511E 90 nop
00005585E903511F 90 nop
00005585E9035120 90 nop
00005585E9035121 90 nop
00005585E9035122 90 nop
00005585E9035123 90 nop
00005585E9035124 90 nop
00005585E9035125 90 nop
00005585E9035126 90 nop
00005585E9035127 90 nop
00005585E9035128 90 nop
00005585E9035129 90 nop
00005585E903512A 90 nop
00005585E903512B 90 nop
00005585E903512C 90 nop
00005585E903512D 90 nop
00005585E903512E 90 nop
00005585E903512F 90 nop
00005585E9035130 90 nop
00005585E9035131 90 nop
00005585E9035132 90 nop
00005585E9035133 90 nop
00005585E9035134 90 nop
00005585E9035135 90 nop
00005585E9035136 90 nop
00005585E9035137 90 nop
00005585E9035138 90 nop
00005585E9035139 90 nop
00005585E903513A 90 nop
00005585E903513B 90 nop
00005585E903513C 90 nop
00005585E903513D 90 nop
00005585E903513E 90 nop
00005585E903513F 90 nop
00005585E9035140 90 nop
00005585E9035141 90 nop
00005585E9035142 90 nop
00005585E9035143 90 nop
00005585E9035144 90 nop
00005585E9035145 90 nop
00005585E9035146 90 nop
00005585E9035147 90 nop
; ReturnValue, 0x00
00005585E9035148 58 pop rax
00005585E9035149 C9 leave
00005585E903514A C3 ret
00005585E903514B 90 nop
00005585E903514C 90 nop
00005585E903514D 90 nop
00005585E903514E 90 nop
00005585E903514F 90 nop
00005585E9035150 90 nop
00005585E9035151 90 nop
00005585E9035152 90 nop
00005585E9035153 90 nop
00005585E9035154 90 nop
00005585E9035155 90 nop
00005585E9035156 90 nop
00005585E9035157 90 nop
00005585E9035158 90 nop
00005585E9035159 90 nop
00005585E903515A 90 nop
00005585E903515B 90 nop
00005585E903515C 90 nop
00005585E903515D 90 nop
00005585E903515E 90 nop
00005585E903515F 90 nop
00005585E9035160 90 nop
00005585E9035161 90 nop
00005585E9035162 90 nop
00005585E9035163 90 nop
00005585E9035164 90 nop
00005585E9035165 90 nop
00005585E9035166 90 nop
00005585E9035167 90 nop
00005585E9035168 90 nop
00005585E9035169 90 nop
00005585E903516A 90 nop
00005585E903516B 90 nop
00005585E903516C 90 nop
00005585E903516D 90 nop
00005585E903516E 90 nop
00005585E903516F 90 nop
00005585E9035170 90 nop
00005585E9035171 90 nop
00005585E9035172 90 nop
00005585E9035173 90 nop
00005585E9035174 90 nop
00005585E9035175 90 nop
00005585E9035176 90 nop
00005585E9035177 90 nop
00005585E9035178 90 nop
00005585E9035179 90 nop
00005585E903517A 90 nop
00005585E903517B 90 nop
00005585E903517C 90 nop
00005585E903517D 90 nop
00005585E903517E 90 nop
00005585E903517F 90 nop
00005585E9035180 90 nop
00005585E9035181 90 nop
00005585E9035182 90 nop
00005585E9035183 90 nop
00005585E9035184 90 nop
00005585E9035185 90 nop
00005585E9035186 90 nop
00005585E9035187 90 nop
; LoadGlobal, 0x00
00005585E9035188 48B8203E56F0DD7F0000 mov rax,7FDD`F056`3E20h
00005585E9035192 50 push rax
00005585E9035193 90 nop
00005585E9035194 90 nop
00005585E9035195 90 nop
00005585E9035196 90 nop
00005585E9035197 90 nop
00005585E9035198 90 nop
00005585E9035199 90 nop
00005585E903519A 90 nop
00005585E903519B 90 nop
00005585E903519C 90 nop
00005585E903519D 90 nop
00005585E903519E 90 nop
00005585E903519F 90 nop
00005585E90351A0 90 nop
00005585E90351A1 90 nop
00005585E90351A2 90 nop
00005585E90351A3 90 nop
00005585E90351A4 90 nop
00005585E90351A5 90 nop
00005585E90351A6 90 nop
00005585E90351A7 90 nop
00005585E90351A8 90 nop
00005585E90351A9 90 nop
00005585E90351AA 90 nop
00005585E90351AB 90 nop
00005585E90351AC 90 nop
00005585E90351AD 90 nop
00005585E90351AE 90 nop
00005585E90351AF 90 nop
00005585E90351B0 90 nop
00005585E90351B1 90 nop
00005585E90351B2 90 nop
00005585E90351B3 90 nop
00005585E90351B4 90 nop
00005585E90351B5 90 nop
00005585E90351B6 90 nop
00005585E90351B7 90 nop
00005585E90351B8 90 nop
00005585E90351B9 90 nop
00005585E90351BA 90 nop
00005585E90351BB 90 nop
00005585E90351BC 90 nop
00005585E90351BD 90 nop
00005585E90351BE 90 nop
00005585E90351BF 90 nop
00005585E90351C0 90 nop
00005585E90351C1 90 nop
00005585E90351C2 90 nop
00005585E90351C3 90 nop
00005585E90351C4 90 nop
00005585E90351C5 90 nop
00005585E90351C6 90 nop
00005585E90351C7 90 nop
; LoadFast, 0x00
00005585E90351C8 48B8100150F0DD7F0000 mov rax,7FDD`F050`0110h
00005585E90351D2 50 push rax
00005585E90351D3 90 nop
00005585E90351D4 90 nop
00005585E90351D5 90 nop
00005585E90351D6 90 nop
00005585E90351D7 90 nop
00005585E90351D8 90 nop
00005585E90351D9 90 nop
00005585E90351DA 90 nop
00005585E90351DB 90 nop
00005585E90351DC 90 nop
00005585E90351DD 90 nop
00005585E90351DE 90 nop
00005585E90351DF 90 nop
00005585E90351E0 90 nop
00005585E90351E1 90 nop
00005585E90351E2 90 nop
00005585E90351E3 90 nop
00005585E90351E4 90 nop
00005585E90351E5 90 nop
00005585E90351E6 90 nop
00005585E90351E7 90 nop
00005585E90351E8 90 nop
00005585E90351E9 90 nop
00005585E90351EA 90 nop
00005585E90351EB 90 nop
00005585E90351EC 90 nop
00005585E90351ED 90 nop
00005585E90351EE 90 nop
00005585E90351EF 90 nop
00005585E90351F0 90 nop
00005585E90351F1 90 nop
00005585E90351F2 90 nop
00005585E90351F3 90 nop
00005585E90351F4 90 nop
00005585E90351F5 90 nop
00005585E90351F6 90 nop
00005585E90351F7 90 nop
00005585E90351F8 90 nop
00005585E90351F9 90 nop
00005585E90351FA 90 nop
00005585E90351FB 90 nop
00005585E90351FC 90 nop
00005585E90351FD 90 nop
00005585E90351FE 90 nop
00005585E90351FF 90 nop
00005585E9035200 90 nop
00005585E9035201 90 nop
00005585E9035202 90 nop
00005585E9035203 90 nop
00005585E9035204 90 nop
00005585E9035205 90 nop
00005585E9035206 90 nop
00005585E9035207 90 nop
; LoadConst, 0x02
00005585E9035208 48B8F00050F0DD7F0000 mov rax,7FDD`F050`00F0h
00005585E9035212 50 push rax
00005585E9035213 90 nop
00005585E9035214 90 nop
00005585E9035215 90 nop
00005585E9035216 90 nop
00005585E9035217 90 nop
00005585E9035218 90 nop
00005585E9035219 90 nop
00005585E903521A 90 nop
00005585E903521B 90 nop
00005585E903521C 90 nop
00005585E903521D 90 nop
00005585E903521E 90 nop
00005585E903521F 90 nop
00005585E9035220 90 nop
00005585E9035221 90 nop
00005585E9035222 90 nop
00005585E9035223 90 nop
00005585E9035224 90 nop
00005585E9035225 90 nop
00005585E9035226 90 nop
00005585E9035227 90 nop
00005585E9035228 90 nop
00005585E9035229 90 nop
00005585E903522A 90 nop
00005585E903522B 90 nop
00005585E903522C 90 nop
00005585E903522D 90 nop
00005585E903522E 90 nop
00005585E903522F 90 nop
00005585E9035230 90 nop
00005585E9035231 90 nop
00005585E9035232 90 nop
00005585E9035233 90 nop
00005585E9035234 90 nop
00005585E9035235 90 nop
00005585E9035236 90 nop
00005585E9035237 90 nop
00005585E9035238 90 nop
00005585E9035239 90 nop
00005585E903523A 90 nop
00005585E903523B 90 nop
00005585E903523C 90 nop
00005585E903523D 90 nop
00005585E903523E 90 nop
00005585E903523F 90 nop
00005585E9035240 90 nop
00005585E9035241 90 nop
00005585E9035242 90 nop
00005585E9035243 90 nop
00005585E9035244 90 nop
00005585E9035245 90 nop
00005585E9035246 90 nop
00005585E9035247 90 nop
; BinarySubtract, 0x00
00005585E9035248 5E pop rsi
00005585E9035249 5F pop rdi
00005585E903524A 48B8808B68EFDD7F0000 mov rax,7FDD`EF68`8B80h
00005585E9035254 54 push rsp
00005585E9035255 FF3424 push qword ptr [rsp]
00005585E9035258 4883E4F0 and rsp,0`FFFF`FFFF`FFFF`FFF0h
00005585E903525C FFD0 call rax
00005585E903525E 488B642408 mov rsp,[rsp+8]
00005585E9035263 50 push rax
00005585E9035264 90 nop
00005585E9035265 90 nop
00005585E9035266 90 nop
00005585E9035267 90 nop
00005585E9035268 90 nop
00005585E9035269 90 nop
00005585E903526A 90 nop
00005585E903526B 90 nop
00005585E903526C 90 nop
00005585E903526D 90 nop
00005585E903526E 90 nop
00005585E903526F 90 nop
00005585E9035270 90 nop
00005585E9035271 90 nop
00005585E9035272 90 nop
00005585E9035273 90 nop
00005585E9035274 90 nop
00005585E9035275 90 nop
00005585E9035276 90 nop
00005585E9035277 90 nop
00005585E9035278 90 nop
00005585E9035279 90 nop
00005585E903527A 90 nop
00005585E903527B 90 nop
00005585E903527C 90 nop
00005585E903527D 90 nop
00005585E903527E 90 nop
00005585E903527F 90 nop
00005585E9035280 90 nop
00005585E9035281 90 nop
00005585E9035282 90 nop
00005585E9035283 90 nop
00005585E9035284 90 nop
00005585E9035285 90 nop
00005585E9035286 90 nop
00005585E9035287 90 nop
; CallFunction, 0x01
00005585E9035288 5F pop rdi
00005585E9035289 5E pop rsi
00005585E903528A 48B8E09068EFDD7F0000 mov rax,7FDD`EF68`90E0h
00005585E9035294 54 push rsp
00005585E9035295 FF3424 push qword ptr [rsp]
00005585E9035298 4883E4F0 and rsp,0`FFFF`FFFF`FFFF`FFF0h
00005585E903529C FFD0 call rax
00005585E903529E 488B642408 mov rsp,[rsp+8]
00005585E90352A3 50 push rax
00005585E90352A4 90 nop
00005585E90352A5 90 nop
00005585E90352A6 90 nop
00005585E90352A7 90 nop
00005585E90352A8 90 nop
00005585E90352A9 90 nop
00005585E90352AA 90 nop
00005585E90352AB 90 nop
00005585E90352AC 90 nop
00005585E90352AD 90 nop
00005585E90352AE 90 nop
00005585E90352AF 90 nop
00005585E90352B0 90 nop
00005585E90352B1 90 nop
00005585E90352B2 90 nop
00005585E90352B3 90 nop
00005585E90352B4 90 nop
00005585E90352B5 90 nop
00005585E90352B6 90 nop
00005585E90352B7 90 nop
00005585E90352B8 90 nop
00005585E90352B9 90 nop
00005585E90352BA 90 nop
00005585E90352BB 90 nop
00005585E90352BC 90 nop
00005585E90352BD 90 nop
00005585E90352BE 90 nop
00005585E90352BF 90 nop
00005585E90352C0 90 nop
00005585E90352C1 90 nop
00005585E90352C2 90 nop
00005585E90352C3 90 nop
00005585E90352C4 90 nop
00005585E90352C5 90 nop
00005585E90352C6 90 nop
00005585E90352C7 90 nop
; LoadGlobal, 0x00
00005585E90352C8 48B8203E56F0DD7F0000 mov rax,7FDD`F056`3E20h
00005585E90352D2 50 push rax
00005585E90352D3 90 nop
00005585E90352D4 90 nop
00005585E90352D5 90 nop
00005585E90352D6 90 nop
00005585E90352D7 90 nop
00005585E90352D8 90 nop
00005585E90352D9 90 nop
00005585E90352DA 90 nop
00005585E90352DB 90 nop
00005585E90352DC 90 nop
00005585E90352DD 90 nop
00005585E90352DE 90 nop
00005585E90352DF 90 nop
00005585E90352E0 90 nop
00005585E90352E1 90 nop
00005585E90352E2 90 nop
00005585E90352E3 90 nop
00005585E90352E4 90 nop
00005585E90352E5 90 nop
00005585E90352E6 90 nop
00005585E90352E7 90 nop
00005585E90352E8 90 nop
00005585E90352E9 90 nop
00005585E90352EA 90 nop
00005585E90352EB 90 nop
00005585E90352EC 90 nop
00005585E90352ED 90 nop
00005585E90352EE 90 nop
00005585E90352EF 90 nop
00005585E90352F0 90 nop
00005585E90352F1 90 nop
00005585E90352F2 90 nop
00005585E90352F3 90 nop
00005585E90352F4 90 nop
00005585E90352F5 90 nop
00005585E90352F6 90 nop
00005585E90352F7 90 nop
00005585E90352F8 90 nop
00005585E90352F9 90 nop
00005585E90352FA 90 nop
00005585E90352FB 90 nop
00005585E90352FC 90 nop
00005585E90352FD 90 nop
00005585E90352FE 90 nop
00005585E90352FF 90 nop
00005585E9035300 90 nop
00005585E9035301 90 nop
00005585E9035302 90 nop
00005585E9035303 90 nop
00005585E9035304 90 nop
00005585E9035305 90 nop
00005585E9035306 90 nop
00005585E9035307 90 nop
; LoadFast, 0x00
00005585E9035308 48B8100150F0DD7F0000 mov rax,7FDD`F050`0110h
00005585E9035312 50 push rax
00005585E9035313 90 nop
00005585E9035314 90 nop
00005585E9035315 90 nop
00005585E9035316 90 nop
00005585E9035317 90 nop
00005585E9035318 90 nop
00005585E9035319 90 nop
00005585E903531A 90 nop
00005585E903531B 90 nop
00005585E903531C 90 nop
00005585E903531D 90 nop
00005585E903531E 90 nop
00005585E903531F 90 nop
00005585E9035320 90 nop
00005585E9035321 90 nop
00005585E9035322 90 nop
00005585E9035323 90 nop
00005585E9035324 90 nop
00005585E9035325 90 nop
00005585E9035326 90 nop
00005585E9035327 90 nop
00005585E9035328 90 nop
00005585E9035329 90 nop
00005585E903532A 90 nop
00005585E903532B 90 nop
00005585E903532C 90 nop
00005585E903532D 90 nop
00005585E903532E 90 nop
00005585E903532F 90 nop
00005585E9035330 90 nop
00005585E9035331 90 nop
00005585E9035332 90 nop
00005585E9035333 90 nop
00005585E9035334 90 nop
00005585E9035335 90 nop
00005585E9035336 90 nop
00005585E9035337 90 nop
00005585E9035338 90 nop
00005585E9035339 90 nop
00005585E903533A 90 nop
00005585E903533B 90 nop
00005585E903533C 90 nop
00005585E903533D 90 nop
00005585E903533E 90 nop
00005585E903533F 90 nop
00005585E9035340 90 nop
00005585E9035341 90 nop
00005585E9035342 90 nop
00005585E9035343 90 nop
00005585E9035344 90 nop
00005585E9035345 90 nop
00005585E9035346 90 nop
00005585E9035347 90 nop
; LoadConst, 0x01
00005585E9035348 48B8100150F0DD7F0000 mov rax,7FDD`F050`0110h
00005585E9035352 50 push rax
00005585E9035353 90 nop
00005585E9035354 90 nop
00005585E9035355 90 nop
00005585E9035356 90 nop
00005585E9035357 90 nop
00005585E9035358 90 nop
00005585E9035359 90 nop
00005585E903535A 90 nop
00005585E903535B 90 nop
00005585E903535C 90 nop
00005585E903535D 90 nop
00005585E903535E 90 nop
00005585E903535F 90 nop
00005585E9035360 90 nop
00005585E9035361 90 nop
00005585E9035362 90 nop
00005585E9035363 90 nop
00005585E9035364 90 nop
00005585E9035365 90 nop
00005585E9035366 90 nop
00005585E9035367 90 nop
00005585E9035368 90 nop
00005585E9035369 90 nop
00005585E903536A 90 nop
00005585E903536B 90 nop
00005585E903536C 90 nop
00005585E903536D 90 nop
00005585E903536E 90 nop
00005585E903536F 90 nop
00005585E9035370 90 nop
00005585E9035371 90 nop
00005585E9035372 90 nop
00005585E9035373 90 nop
00005585E9035374 90 nop
00005585E9035375 90 nop
00005585E9035376 90 nop
00005585E9035377 90 nop
00005585E9035378 90 nop
00005585E9035379 90 nop
00005585E903537A 90 nop
00005585E903537B 90 nop
00005585E903537C 90 nop
00005585E903537D 90 nop
00005585E903537E 90 nop
00005585E903537F 90 nop
00005585E9035380 90 nop
00005585E9035381 90 nop
00005585E9035382 90 nop
00005585E9035383 90 nop
00005585E9035384 90 nop
00005585E9035385 90 nop
00005585E9035386 90 nop
00005585E9035387 90 nop
; BinarySubtract, 0x00
00005585E9035388 5E pop rsi
00005585E9035389 5F pop rdi
00005585E903538A 48B8808B68EFDD7F0000 mov rax,7FDD`EF68`8B80h
00005585E9035394 54 push rsp
00005585E9035395 FF3424 push qword ptr [rsp]
00005585E9035398 4883E4F0 and rsp,0`FFFF`FFFF`FFFF`FFF0h
00005585E903539C FFD0 call rax
00005585E903539E 488B642408 mov rsp,[rsp+8]
00005585E90353A3 50 push rax
00005585E90353A4 90 nop
00005585E90353A5 90 nop
00005585E90353A6 90 nop
00005585E90353A7 90 nop
00005585E90353A8 90 nop
00005585E90353A9 90 nop
00005585E90353AA 90 nop
00005585E90353AB 90 nop
00005585E90353AC 90 nop
00005585E90353AD 90 nop
00005585E90353AE 90 nop
00005585E90353AF 90 nop
00005585E90353B0 90 nop
00005585E90353B1 90 nop
00005585E90353B2 90 nop
00005585E90353B3 90 nop
00005585E90353B4 90 nop
00005585E90353B5 90 nop
00005585E90353B6 90 nop
00005585E90353B7 90 nop
00005585E90353B8 90 nop
00005585E90353B9 90 nop
00005585E90353BA 90 nop
00005585E90353BB 90 nop
00005585E90353BC 90 nop
00005585E90353BD 90 nop
00005585E90353BE 90 nop
00005585E90353BF 90 nop
00005585E90353C0 90 nop
00005585E90353C1 90 nop
00005585E90353C2 90 nop
00005585E90353C3 90 nop
00005585E90353C4 90 nop
00005585E90353C5 90 nop
00005585E90353C6 90 nop
00005585E90353C7 90 nop
; CallFunction, 0x01
00005585E90353C8 5F pop rdi
00005585E90353C9 5E pop rsi
00005585E90353CA 48B8E09068EFDD7F0000 mov rax,7FDD`EF68`90E0h
00005585E90353D4 54 push rsp
00005585E90353D5 FF3424 push qword ptr [rsp]
00005585E90353D8 4883E4F0 and rsp,0`FFFF`FFFF`FFFF`FFF0h
00005585E90353DC FFD0 call rax
00005585E90353DE 488B642408 mov rsp,[rsp+8]
00005585E90353E3 50 push rax
00005585E90353E4 90 nop
00005585E90353E5 90 nop
00005585E90353E6 90 nop
00005585E90353E7 90 nop
00005585E90353E8 90 nop
00005585E90353E9 90 nop
00005585E90353EA 90 nop
00005585E90353EB 90 nop
00005585E90353EC 90 nop
00005585E90353ED 90 nop
00005585E90353EE 90 nop
00005585E90353EF 90 nop
00005585E90353F0 90 nop
00005585E90353F1 90 nop
00005585E90353F2 90 nop
00005585E90353F3 90 nop
00005585E90353F4 90 nop
00005585E90353F5 90 nop
00005585E90353F6 90 nop
00005585E90353F7 90 nop
00005585E90353F8 90 nop
00005585E90353F9 90 nop
00005585E90353FA 90 nop
00005585E90353FB 90 nop
00005585E90353FC 90 nop
00005585E90353FD 90 nop
00005585E90353FE 90 nop
00005585E90353FF 90 nop
00005585E9035400 90 nop
00005585E9035401 90 nop
00005585E9035402 90 nop
00005585E9035403 90 nop
00005585E9035404 90 nop
00005585E9035405 90 nop
00005585E9035406 90 nop
00005585E9035407 90 nop
; BinaryAdd, 0x00
00005585E9035408 5F pop rdi
00005585E9035409 5E pop rsi
00005585E903540A 48B8008B68EFDD7F0000 mov rax,7FDD`EF68`8B00h
00005585E9035414 54 push rsp
00005585E9035415 FF3424 push qword ptr [rsp]
00005585E9035418 4883E4F0 and rsp,0`FFFF`FFFF`FFFF`FFF0h
00005585E903541C FFD0 call rax
00005585E903541E 488B642408 mov rsp,[rsp+8]
00005585E9035423 50 push rax
00005585E9035424 90 nop
00005585E9035425 90 nop
00005585E9035426 90 nop
00005585E9035427 90 nop
00005585E9035428 90 nop
00005585E9035429 90 nop
00005585E903542A 90 nop
00005585E903542B 90 nop
00005585E903542C 90 nop
00005585E903542D 90 nop
00005585E903542E 90 nop
00005585E903542F 90 nop
00005585E9035430 90 nop
00005585E9035431 90 nop
00005585E9035432 90 nop
00005585E9035433 90 nop
00005585E9035434 90 nop
00005585E9035435 90 nop
00005585E9035436 90 nop
00005585E9035437 90 nop
00005585E9035438 90 nop
00005585E9035439 90 nop
00005585E903543A 90 nop
00005585E903543B 90 nop
00005585E903543C 90 nop
00005585E903543D 90 nop
00005585E903543E 90 nop
00005585E903543F 90 nop
00005585E9035440 90 nop
00005585E9035441 90 nop
00005585E9035442 90 nop
00005585E9035443 90 nop
00005585E9035444 90 nop
00005585E9035445 90 nop
00005585E9035446 90 nop
00005585E9035447 90 nop
; ReturnValue, 0x00
00005585E9035448 58 pop rax
00005585E9035449 C9 leave
00005585E903544A C3 ret
00005585E903544B 90 nop
00005585E903544C 90 nop
00005585E903544D 90 nop
00005585E903544E 90 nop
00005585E903544F 90 nop
00005585E9035450 90 nop
00005585E9035451 90 nop
00005585E9035452 90 nop
00005585E9035453 90 nop
00005585E9035454 90 nop
00005585E9035455 90 nop
00005585E9035456 90 nop
00005585E9035457 90 nop
00005585E9035458 90 nop
00005585E9035459 90 nop
00005585E903545A 90 nop
00005585E903545B 90 nop
00005585E903545C 90 nop
00005585E903545D 90 nop
00005585E903545E 90 nop
00005585E903545F 90 nop
00005585E9035460 90 nop
00005585E9035461 90 nop
00005585E9035462 90 nop
00005585E9035463 90 nop
00005585E9035464 90 nop
00005585E9035465 90 nop
00005585E9035466 90 nop
00005585E9035467 90 nop
00005585E9035468 90 nop
00005585E9035469 90 nop
00005585E903546A 90 nop
00005585E903546B 90 nop
00005585E903546C 90 nop
00005585E903546D 90 nop
00005585E903546E 90 nop
00005585E903546F 90 nop
00005585E9035470 90 nop
00005585E9035471 90 nop
00005585E9035472 90 nop
00005585E9035473 90 nop
00005585E9035474 90 nop
00005585E9035475 90 nop
00005585E9035476 90 nop
00005585E9035477 90 nop
00005585E9035478 90 nop
00005585E9035479 90 nop
00005585E903547A 90 nop
00005585E903547B 90 nop
00005585E903547C 90 nop
00005585E903547D 90 nop
00005585E903547E 90 nop
00005585E903547F 90 nop
00005585E9035480 90 nop
00005585E9035481 90 nop
00005585E9035482 90 nop
00005585E9035483 90 nop
00005585E9035484 90 nop
00005585E9035485 90 nop
00005585E9035486 90 nop
00005585E9035487 90 nop
src/jit.rs:438 2023-11-18T21:11:55 [INFO] - Jump to code:0x5585e9035000
src/jit.rs:215 jit_log check_py_bool:0
src/jit.rs:224 jit_log call_callable
src/jit.rs:229 jit_log call_callable
src/jit.rs:224 jit_log call_callable
src/jit.rs:229 jit_log call_callable
src/jit.rs:440 2023-11-18T21:11:55 [INFO] - Return from code:0x5585e9035000 retval:0x7fddf0500090 PyLong_AsLong(retval):fffffffffffffffe
src/lib.rs:40 2023-11-18T21:11:55 [INFO] - jit result: 0x7fddf0500090
SystemError: ../Objects/longobject.c:386: bad argument to internal function
The above exception was the direct cause of the following exception:
Traceback (most recent call last):
File "/home/akira/ghq/github.com/akawashiro/rupyjit/./test.py", line 13, in <module>
src/lib.rs:34 2023-11-18T21:11:55 [INFO] - eval()
src/jit.rs:238 2023-11-18T21:11:55 [INFO] - compile_and_exec_jit_code
src/pyutils.rs:82 2023-11-18T21:11:55 [INFO] - dump_frame_info
src/pyutils.rs:87 2023-11-18T21:11:55 [INFO] - is_bytes:1 n_bytes:22
src/pyutils.rs:22 2023-11-18T21:11:55 [INFO] - code_vec[0]:LoadGlobal(116)
src/pyutils.rs:28 2023-11-18T21:11:55 [INFO] - code_vec[1]:0x00
src/pyutils.rs:24 2023-11-18T21:11:55 [INFO] - code_vec[2]:160
thread '<unnamed>' panicked at 'Unknown code', src/pyutils.rs:25:17
note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace
fatal runtime error: failed to initiate panic, error 5
./run.sh: line 21: 2016983 Aborted (core dumped) python3 ./test.py
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment