aboutsummaryrefslogtreecommitdiff
path: root/deps/lightning/doc/incr.c
diff options
context:
space:
mode:
authorTwinaphex2020-02-08 16:24:22 +0100
committerGitHub2020-02-08 16:24:22 +0100
commit0adc619b5a5705d16cc6caea64951776ababbb96 (patch)
treefbae9b1d18d04d8e7908aa1c3446782ebf6e8785 /deps/lightning/doc/incr.c
parent0204c39a68a1fd4bf667aa8ece5a769f2983b7d0 (diff)
parent6f1edc3c7fd1f7f58155107d0c99d0ac7d22443b (diff)
downloadpcsx_rearmed-0adc619b5a5705d16cc6caea64951776ababbb96.tar.gz
pcsx_rearmed-0adc619b5a5705d16cc6caea64951776ababbb96.tar.bz2
pcsx_rearmed-0adc619b5a5705d16cc6caea64951776ababbb96.zip
Merge pull request #377 from pcercuei/libretro
Lightrec dynarec
Diffstat (limited to 'deps/lightning/doc/incr.c')
-rw-r--r--deps/lightning/doc/incr.c31
1 files changed, 31 insertions, 0 deletions
diff --git a/deps/lightning/doc/incr.c b/deps/lightning/doc/incr.c
new file mode 100644
index 0000000..88859a8
--- /dev/null
+++ b/deps/lightning/doc/incr.c
@@ -0,0 +1,31 @@
+#include <stdio.h>
+#include <lightning.h>
+
+static jit_state_t *_jit;
+
+typedef int (*pifi)(int); /* Pointer to Int Function of Int */
+
+int main(int argc, char *argv[])
+{
+ jit_node_t *in;
+ pifi incr;
+
+ init_jit(argv[0]);
+ _jit = jit_new_state();
+
+ jit_prolog(); /* @t{ prolog } */
+ in = jit_arg(); /* @t{ in = arg } */
+ jit_getarg(JIT_R0, in); /* @t{ getarg R0 } */
+ jit_addi(JIT_R0, JIT_R0, 1); /* @t{ addi R0\, R0\, 1 } */
+ jit_retr(JIT_R0); /* @t{ retr R0 } */
+
+ incr = jit_emit();
+ jit_clear_state();
+
+ /* call the generated code\, passing 5 as an argument */
+ printf("%d + 1 = %d\n", 5, incr(5));
+
+ jit_destroy_state();
+ finish_jit();
+ return 0;
+}