diff options
| author | Andrea Corallo | 2019-06-23 18:29:27 +0200 |
|---|---|---|
| committer | Andrea Corallo | 2020-01-01 11:33:44 +0100 |
| commit | 3a64ec8021fee9694ead7b551d4ecbe7ef8ea869 (patch) | |
| tree | 8b42f15648756ad4783844cdad4ded33c9047b12 /src/comp.c | |
| parent | dbf05d0d22b1274898a9c545962abeef465d4119 (diff) | |
| download | emacs-3a64ec8021fee9694ead7b551d4ecbe7ef8ea869.tar.gz emacs-3a64ec8021fee9694ead7b551d4ecbe7ef8ea869.zip | |
bblock -> block
Diffstat (limited to 'src/comp.c')
| -rw-r--r-- | src/comp.c | 124 |
1 files changed, 62 insertions, 62 deletions
diff --git a/src/comp.c b/src/comp.c index f2e7c2d1021..1bbf1a0136e 100644 --- a/src/comp.c +++ b/src/comp.c | |||
| @@ -48,7 +48,7 @@ along with GNU Emacs. If not, see <https://www.gnu.org/licenses/>. */ | |||
| 48 | #define PUSH_LVAL(obj) \ | 48 | #define PUSH_LVAL(obj) \ |
| 49 | do { \ | 49 | do { \ |
| 50 | CHECK_STACK; \ | 50 | CHECK_STACK; \ |
| 51 | gcc_jit_block_add_assignment (comp.bblock->gcc_bb, \ | 51 | gcc_jit_block_add_assignment (comp.block->gcc_bb, \ |
| 52 | NULL, \ | 52 | NULL, \ |
| 53 | *stack, \ | 53 | *stack, \ |
| 54 | gcc_jit_lvalue_as_rvalue(obj)); \ | 54 | gcc_jit_lvalue_as_rvalue(obj)); \ |
| @@ -58,7 +58,7 @@ along with GNU Emacs. If not, see <https://www.gnu.org/licenses/>. */ | |||
| 58 | #define PUSH_RVAL(obj) \ | 58 | #define PUSH_RVAL(obj) \ |
| 59 | do { \ | 59 | do { \ |
| 60 | CHECK_STACK; \ | 60 | CHECK_STACK; \ |
| 61 | gcc_jit_block_add_assignment (comp.bblock->gcc_bb, \ | 61 | gcc_jit_block_add_assignment (comp.block->gcc_bb, \ |
| 62 | NULL, \ | 62 | NULL, \ |
| 63 | *stack, \ | 63 | *stack, \ |
| 64 | (obj)); \ | 64 | (obj)); \ |
| @@ -127,7 +127,7 @@ along with GNU Emacs. If not, see <https://www.gnu.org/licenses/>. */ | |||
| 127 | #define CASE(op) \ | 127 | #define CASE(op) \ |
| 128 | case op : \ | 128 | case op : \ |
| 129 | if (COMP_DEBUG) \ | 129 | if (COMP_DEBUG) \ |
| 130 | gcc_jit_block_add_comment (comp.bblock->gcc_bb, \ | 130 | gcc_jit_block_add_comment (comp.block->gcc_bb, \ |
| 131 | NULL, \ | 131 | NULL, \ |
| 132 | "Opcode " STR(op)); | 132 | "Opcode " STR(op)); |
| 133 | 133 | ||
| @@ -222,7 +222,7 @@ typedef struct { | |||
| 222 | gcc_jit_rvalue *lisp_int0; | 222 | gcc_jit_rvalue *lisp_int0; |
| 223 | gcc_jit_function *pseudovectorp; | 223 | gcc_jit_function *pseudovectorp; |
| 224 | gcc_jit_function *bool_to_lisp_obj; | 224 | gcc_jit_function *bool_to_lisp_obj; |
| 225 | basic_block_t *bblock; /* Current basic block */ | 225 | basic_block_t *block; /* Current basic block */ |
| 226 | Lisp_Object func_hash; /* f_name -> gcc_func */ | 226 | Lisp_Object func_hash; /* f_name -> gcc_func */ |
| 227 | } comp_t; | 227 | } comp_t; |
| 228 | 228 | ||
| @@ -412,12 +412,12 @@ INLINE static void | |||
| 412 | emit_cond_jump (gcc_jit_rvalue *test, | 412 | emit_cond_jump (gcc_jit_rvalue *test, |
| 413 | gcc_jit_block *then_target, gcc_jit_block *else_target) | 413 | gcc_jit_block *then_target, gcc_jit_block *else_target) |
| 414 | { | 414 | { |
| 415 | gcc_jit_block_end_with_conditional (comp.bblock->gcc_bb, | 415 | gcc_jit_block_end_with_conditional (comp.block->gcc_bb, |
| 416 | NULL, | 416 | NULL, |
| 417 | test, | 417 | test, |
| 418 | then_target, | 418 | then_target, |
| 419 | else_target); | 419 | else_target); |
| 420 | comp.bblock->terminated = true; | 420 | comp.block->terminated = true; |
| 421 | } | 421 | } |
| 422 | 422 | ||
| 423 | /* Close current basic block emitting a comparison between two rval. */ | 423 | /* Close current basic block emitting a comparison between two rval. */ |
| @@ -449,7 +449,7 @@ emit_cast (gcc_jit_type *new_type, gcc_jit_rvalue *obj) | |||
| 449 | NULL, | 449 | NULL, |
| 450 | comp.cast_union_type, | 450 | comp.cast_union_type, |
| 451 | "union_cast"); | 451 | "union_cast"); |
| 452 | gcc_jit_block_add_assignment (comp.bblock->gcc_bb, | 452 | gcc_jit_block_add_assignment (comp.block->gcc_bb, |
| 453 | NULL, | 453 | NULL, |
| 454 | gcc_jit_lvalue_access_field (tmp_u, | 454 | gcc_jit_lvalue_access_field (tmp_u, |
| 455 | NULL, | 455 | NULL, |
| @@ -693,7 +693,7 @@ emit_make_fixnum (gcc_jit_block *block, gcc_jit_rvalue *obj) | |||
| 693 | /* Construct fill and return a lisp object form a raw pointer. */ | 693 | /* Construct fill and return a lisp object form a raw pointer. */ |
| 694 | /* TODO should we pass the bb? */ | 694 | /* TODO should we pass the bb? */ |
| 695 | static gcc_jit_rvalue * | 695 | static gcc_jit_rvalue * |
| 696 | emit_lisp_obj_from_ptr (basic_block_t *bblock, void *p) | 696 | emit_lisp_obj_from_ptr (basic_block_t *block, void *p) |
| 697 | { | 697 | { |
| 698 | static unsigned i; | 698 | static unsigned i; |
| 699 | 699 | ||
| @@ -709,12 +709,12 @@ emit_lisp_obj_from_ptr (basic_block_t *bblock, void *p) | |||
| 709 | 709 | ||
| 710 | if (SYMBOLP (p)) | 710 | if (SYMBOLP (p)) |
| 711 | gcc_jit_block_add_comment ( | 711 | gcc_jit_block_add_comment ( |
| 712 | bblock->gcc_bb, | 712 | block->gcc_bb, |
| 713 | NULL, | 713 | NULL, |
| 714 | format_string ("Symbol %s", | 714 | format_string ("Symbol %s", |
| 715 | (char *) SDATA (SYMBOL_NAME (p)))); | 715 | (char *) SDATA (SYMBOL_NAME (p)))); |
| 716 | 716 | ||
| 717 | gcc_jit_block_add_assignment (bblock->gcc_bb, | 717 | gcc_jit_block_add_assignment (block->gcc_bb, |
| 718 | NULL, | 718 | NULL, |
| 719 | emit_lval_XLP (lisp_obj), | 719 | emit_lval_XLP (lisp_obj), |
| 720 | void_ptr); | 720 | void_ptr); |
| @@ -739,7 +739,7 @@ emit_scratch_callN (const char *f_name, unsigned nargs, gcc_jit_rvalue **args) | |||
| 739 | p[n] = 0x...; | 739 | p[n] = 0x...; |
| 740 | */ | 740 | */ |
| 741 | 741 | ||
| 742 | gcc_jit_block_add_comment (comp.bblock->gcc_bb, | 742 | gcc_jit_block_add_comment (comp.block->gcc_bb, |
| 743 | NULL, | 743 | NULL, |
| 744 | format_string ("calling %s", f_name)); | 744 | format_string ("calling %s", f_name)); |
| 745 | 745 | ||
| @@ -749,7 +749,7 @@ emit_scratch_callN (const char *f_name, unsigned nargs, gcc_jit_rvalue **args) | |||
| 749 | gcc_jit_type_get_pointer (comp.lisp_obj_type), | 749 | gcc_jit_type_get_pointer (comp.lisp_obj_type), |
| 750 | "p"); | 750 | "p"); |
| 751 | 751 | ||
| 752 | gcc_jit_block_add_assignment(comp.bblock->gcc_bb, NULL, | 752 | gcc_jit_block_add_assignment(comp.block->gcc_bb, NULL, |
| 753 | p, | 753 | p, |
| 754 | comp.scratch); | 754 | comp.scratch); |
| 755 | 755 | ||
| @@ -761,7 +761,7 @@ emit_scratch_callN (const char *f_name, unsigned nargs, gcc_jit_rvalue **args) | |||
| 761 | GCC_JIT_TYPE_UNSIGNED_INT), | 761 | GCC_JIT_TYPE_UNSIGNED_INT), |
| 762 | i); | 762 | i); |
| 763 | gcc_jit_block_add_assignment ( | 763 | gcc_jit_block_add_assignment ( |
| 764 | comp.bblock->gcc_bb, | 764 | comp.block->gcc_bb, |
| 765 | NULL, | 765 | NULL, |
| 766 | gcc_jit_context_new_array_access (comp.ctxt, | 766 | gcc_jit_context_new_array_access (comp.ctxt, |
| 767 | NULL, | 767 | NULL, |
| @@ -939,9 +939,9 @@ define_PSEUDOVECTORP (void) | |||
| 939 | gcc_jit_function_new_block (comp.pseudovectorp, "call_pseudovector"); | 939 | gcc_jit_function_new_block (comp.pseudovectorp, "call_pseudovector"); |
| 940 | 940 | ||
| 941 | /* Set current context as needed */ | 941 | /* Set current context as needed */ |
| 942 | basic_block_t bblock = { .gcc_bb = initial_block, | 942 | basic_block_t block = { .gcc_bb = initial_block, |
| 943 | .terminated = false }; | 943 | .terminated = false }; |
| 944 | comp.bblock = &bblock; | 944 | comp.block = █ |
| 945 | comp.func = comp.pseudovectorp; | 945 | comp.func = comp.pseudovectorp; |
| 946 | 946 | ||
| 947 | emit_cond_jump ( | 947 | emit_cond_jump ( |
| @@ -950,7 +950,7 @@ define_PSEUDOVECTORP (void) | |||
| 950 | call_pseudovector_typep_b, | 950 | call_pseudovector_typep_b, |
| 951 | ret_false_b); | 951 | ret_false_b); |
| 952 | 952 | ||
| 953 | comp.bblock->gcc_bb = ret_false_b; | 953 | comp.block->gcc_bb = ret_false_b; |
| 954 | gcc_jit_block_end_with_return (ret_false_b, | 954 | gcc_jit_block_end_with_return (ret_false_b, |
| 955 | NULL, | 955 | NULL, |
| 956 | gcc_jit_context_new_rvalue_from_int( | 956 | gcc_jit_context_new_rvalue_from_int( |
| @@ -961,7 +961,7 @@ define_PSEUDOVECTORP (void) | |||
| 961 | gcc_jit_rvalue *args[2] = | 961 | gcc_jit_rvalue *args[2] = |
| 962 | { gcc_jit_param_as_rvalue (param[0]), | 962 | { gcc_jit_param_as_rvalue (param[0]), |
| 963 | gcc_jit_param_as_rvalue (param[1]) }; | 963 | gcc_jit_param_as_rvalue (param[1]) }; |
| 964 | comp.bblock->gcc_bb = call_pseudovector_typep_b; | 964 | comp.block->gcc_bb = call_pseudovector_typep_b; |
| 965 | /* FIXME XUNTAG missing here. */ | 965 | /* FIXME XUNTAG missing here. */ |
| 966 | gcc_jit_block_end_with_return (call_pseudovector_typep_b, | 966 | gcc_jit_block_end_with_return (call_pseudovector_typep_b, |
| 967 | NULL, | 967 | NULL, |
| @@ -999,22 +999,22 @@ define_bool_to_lisp_obj (void) | |||
| 999 | gcc_jit_function_new_block (comp.bool_to_lisp_obj, | 999 | gcc_jit_function_new_block (comp.bool_to_lisp_obj, |
| 1000 | "ret_nil"); | 1000 | "ret_nil"); |
| 1001 | /* Set current context as needed */ | 1001 | /* Set current context as needed */ |
| 1002 | basic_block_t bblock = { .gcc_bb = initial_block, | 1002 | basic_block_t block = { .gcc_bb = initial_block, |
| 1003 | .terminated = false }; | 1003 | .terminated = false }; |
| 1004 | comp.bblock = &bblock; | 1004 | comp.block = █ |
| 1005 | comp.func = comp.bool_to_lisp_obj; | 1005 | comp.func = comp.bool_to_lisp_obj; |
| 1006 | 1006 | ||
| 1007 | emit_cond_jump (gcc_jit_param_as_rvalue (param), | 1007 | emit_cond_jump (gcc_jit_param_as_rvalue (param), |
| 1008 | ret_t_block, | 1008 | ret_t_block, |
| 1009 | ret_nil_block); | 1009 | ret_nil_block); |
| 1010 | bblock.gcc_bb = ret_t_block; | 1010 | block.gcc_bb = ret_t_block; |
| 1011 | gcc_jit_block_end_with_return (ret_t_block, | 1011 | gcc_jit_block_end_with_return (ret_t_block, |
| 1012 | NULL, | 1012 | NULL, |
| 1013 | emit_lisp_obj_from_ptr (&bblock, Qt)); | 1013 | emit_lisp_obj_from_ptr (&block, Qt)); |
| 1014 | bblock.gcc_bb = ret_nil_block; | 1014 | block.gcc_bb = ret_nil_block; |
| 1015 | gcc_jit_block_end_with_return (ret_nil_block, | 1015 | gcc_jit_block_end_with_return (ret_nil_block, |
| 1016 | NULL, | 1016 | NULL, |
| 1017 | emit_lisp_obj_from_ptr (&bblock, Qnil)); | 1017 | emit_lisp_obj_from_ptr (&block, Qnil)); |
| 1018 | } | 1018 | } |
| 1019 | 1019 | ||
| 1020 | static int | 1020 | static int |
| @@ -1027,7 +1027,7 @@ ucmp(const void *a, const void *b) | |||
| 1027 | 1027 | ||
| 1028 | /* Compute and initialize all basic blocks. */ | 1028 | /* Compute and initialize all basic blocks. */ |
| 1029 | static basic_block_t * | 1029 | static basic_block_t * |
| 1030 | compute_bblocks (ptrdiff_t bytestr_length, unsigned char *bytestr_data) | 1030 | compute_blocks (ptrdiff_t bytestr_length, unsigned char *bytestr_data) |
| 1031 | { | 1031 | { |
| 1032 | ptrdiff_t pc = 0; | 1032 | ptrdiff_t pc = 0; |
| 1033 | unsigned op; | 1033 | unsigned op; |
| @@ -1376,7 +1376,7 @@ compile_f (const char *f_name, ptrdiff_t bytestr_length, | |||
| 1376 | gcc_jit_block *prologue_bb = | 1376 | gcc_jit_block *prologue_bb = |
| 1377 | gcc_jit_function_new_block (comp.func, "prologue"); | 1377 | gcc_jit_function_new_block (comp.func, "prologue"); |
| 1378 | 1378 | ||
| 1379 | basic_block_t *bb_map = compute_bblocks (bytestr_length, bytestr_data); | 1379 | basic_block_t *bb_map = compute_blocks (bytestr_length, bytestr_data); |
| 1380 | 1380 | ||
| 1381 | for (ptrdiff_t i = 0; i < comp_res.max_args; ++i) | 1381 | for (ptrdiff_t i = 0; i < comp_res.max_args; ++i) |
| 1382 | PUSH_PARAM (gcc_jit_function_get_param (comp.func, i)); | 1382 | PUSH_PARAM (gcc_jit_function_get_param (comp.func, i)); |
| @@ -1384,7 +1384,7 @@ compile_f (const char *f_name, ptrdiff_t bytestr_length, | |||
| 1384 | 1384 | ||
| 1385 | gcc_jit_rvalue *nil = emit_lisp_obj_from_ptr (&bb_map[0], Qnil); | 1385 | gcc_jit_rvalue *nil = emit_lisp_obj_from_ptr (&bb_map[0], Qnil); |
| 1386 | 1386 | ||
| 1387 | comp.bblock = NULL; | 1387 | comp.block = NULL; |
| 1388 | 1388 | ||
| 1389 | while (pc < bytestr_length) | 1389 | while (pc < bytestr_length) |
| 1390 | { | 1390 | { |
| @@ -1392,13 +1392,13 @@ compile_f (const char *f_name, ptrdiff_t bytestr_length, | |||
| 1392 | 1392 | ||
| 1393 | /* If we are changing BB and the last was one wasn't terminated | 1393 | /* If we are changing BB and the last was one wasn't terminated |
| 1394 | terminate it with a fall through. */ | 1394 | terminate it with a fall through. */ |
| 1395 | if (comp.bblock && comp.bblock->gcc_bb != bb_map[pc].gcc_bb && | 1395 | if (comp.block && comp.block->gcc_bb != bb_map[pc].gcc_bb && |
| 1396 | !comp.bblock->terminated) | 1396 | !comp.block->terminated) |
| 1397 | { | 1397 | { |
| 1398 | gcc_jit_block_end_with_jump (comp.bblock->gcc_bb, NULL, bb_map[pc].gcc_bb); | 1398 | gcc_jit_block_end_with_jump (comp.block->gcc_bb, NULL, bb_map[pc].gcc_bb); |
| 1399 | comp.bblock->terminated = true; | 1399 | comp.block->terminated = true; |
| 1400 | } | 1400 | } |
| 1401 | comp.bblock = &bb_map[pc]; | 1401 | comp.block = &bb_map[pc]; |
| 1402 | if (bb_map[pc].top) | 1402 | if (bb_map[pc].top) |
| 1403 | stack = bb_map[pc].top; | 1403 | stack = bb_map[pc].top; |
| 1404 | op = FETCH; | 1404 | op = FETCH; |
| @@ -1449,7 +1449,7 @@ compile_f (const char *f_name, ptrdiff_t bytestr_length, | |||
| 1449 | op = FETCH; | 1449 | op = FETCH; |
| 1450 | varref: | 1450 | varref: |
| 1451 | { | 1451 | { |
| 1452 | args[0] = emit_lisp_obj_from_ptr (comp.bblock, vectorp[op]); | 1452 | args[0] = emit_lisp_obj_from_ptr (comp.block, vectorp[op]); |
| 1453 | res = emit_call ("Fsymbol_value", comp.lisp_obj_type, 1, args); | 1453 | res = emit_call ("Fsymbol_value", comp.lisp_obj_type, 1, args); |
| 1454 | PUSH_RVAL (res); | 1454 | PUSH_RVAL (res); |
| 1455 | break; | 1455 | break; |
| @@ -1480,7 +1480,7 @@ compile_f (const char *f_name, ptrdiff_t bytestr_length, | |||
| 1480 | { | 1480 | { |
| 1481 | POP1; | 1481 | POP1; |
| 1482 | args[1] = args[0]; | 1482 | args[1] = args[0]; |
| 1483 | args[0] = emit_lisp_obj_from_ptr (comp.bblock, vectorp[op]); | 1483 | args[0] = emit_lisp_obj_from_ptr (comp.block, vectorp[op]); |
| 1484 | args[2] = nil; | 1484 | args[2] = nil; |
| 1485 | args[3] = gcc_jit_context_new_rvalue_from_int (comp.ctxt, | 1485 | args[3] = gcc_jit_context_new_rvalue_from_int (comp.ctxt, |
| 1486 | comp.int_type, | 1486 | comp.int_type, |
| @@ -1513,7 +1513,7 @@ compile_f (const char *f_name, ptrdiff_t bytestr_length, | |||
| 1513 | op -= Bvarbind; | 1513 | op -= Bvarbind; |
| 1514 | varbind: | 1514 | varbind: |
| 1515 | { | 1515 | { |
| 1516 | args[0] = emit_lisp_obj_from_ptr (comp.bblock, vectorp[op]); | 1516 | args[0] = emit_lisp_obj_from_ptr (comp.block, vectorp[op]); |
| 1517 | pop (1, &stack, &args[1]); | 1517 | pop (1, &stack, &args[1]); |
| 1518 | res = emit_call ("specbind", comp.lisp_obj_type, 2, args); | 1518 | res = emit_call ("specbind", comp.lisp_obj_type, 2, args); |
| 1519 | PUSH_RVAL (res); | 1519 | PUSH_RVAL (res); |
| @@ -1591,7 +1591,7 @@ compile_f (const char *f_name, ptrdiff_t bytestr_length, | |||
| 1591 | comp.m_handlerlist); | 1591 | comp.m_handlerlist); |
| 1592 | 1592 | ||
| 1593 | gcc_jit_block_add_assignment( | 1593 | gcc_jit_block_add_assignment( |
| 1594 | comp.bblock->gcc_bb, | 1594 | comp.block->gcc_bb, |
| 1595 | NULL, | 1595 | NULL, |
| 1596 | m_handlerlist, | 1596 | m_handlerlist, |
| 1597 | gcc_jit_lvalue_as_rvalue ( | 1597 | gcc_jit_lvalue_as_rvalue ( |
| @@ -1623,7 +1623,7 @@ compile_f (const char *f_name, ptrdiff_t bytestr_length, | |||
| 1623 | comp.int_type, | 1623 | comp.int_type, |
| 1624 | type); | 1624 | type); |
| 1625 | gcc_jit_block_add_assignment ( | 1625 | gcc_jit_block_add_assignment ( |
| 1626 | comp.bblock->gcc_bb, | 1626 | comp.block->gcc_bb, |
| 1627 | NULL, | 1627 | NULL, |
| 1628 | c, | 1628 | c, |
| 1629 | emit_call ("push_handler", comp.handler_ptr_type, 2, args)); | 1629 | emit_call ("push_handler", comp.handler_ptr_type, 2, args)); |
| @@ -1657,14 +1657,14 @@ compile_f (const char *f_name, ptrdiff_t bytestr_length, | |||
| 1657 | gcc_jit_lvalue **stack_to_restore = stack; | 1657 | gcc_jit_lvalue **stack_to_restore = stack; |
| 1658 | /* This emit the handler part. */ | 1658 | /* This emit the handler part. */ |
| 1659 | 1659 | ||
| 1660 | basic_block_t bb_orig = *comp.bblock; | 1660 | basic_block_t bb_orig = *comp.block; |
| 1661 | comp.bblock->gcc_bb = push_h_val_block; | 1661 | comp.block->gcc_bb = push_h_val_block; |
| 1662 | /* current_thread->m_handlerlist = c->next; */ | 1662 | /* current_thread->m_handlerlist = c->next; */ |
| 1663 | gcc_jit_lvalue *m_handlerlist = | 1663 | gcc_jit_lvalue *m_handlerlist = |
| 1664 | gcc_jit_rvalue_dereference_field (comp.current_thread, | 1664 | gcc_jit_rvalue_dereference_field (comp.current_thread, |
| 1665 | NULL, | 1665 | NULL, |
| 1666 | comp.m_handlerlist); | 1666 | comp.m_handlerlist); |
| 1667 | gcc_jit_block_add_assignment(comp.bblock->gcc_bb, | 1667 | gcc_jit_block_add_assignment(comp.block->gcc_bb, |
| 1668 | NULL, | 1668 | NULL, |
| 1669 | m_handlerlist, | 1669 | m_handlerlist, |
| 1670 | gcc_jit_lvalue_as_rvalue( | 1670 | gcc_jit_lvalue_as_rvalue( |
| @@ -1678,7 +1678,7 @@ compile_f (const char *f_name, ptrdiff_t bytestr_length, | |||
| 1678 | NULL, | 1678 | NULL, |
| 1679 | comp.handler_val_field)); | 1679 | comp.handler_val_field)); |
| 1680 | bb_map[handler_pc].top = stack; | 1680 | bb_map[handler_pc].top = stack; |
| 1681 | *comp.bblock = bb_orig; | 1681 | *comp.block = bb_orig; |
| 1682 | 1682 | ||
| 1683 | gcc_jit_block_end_with_jump (push_h_val_block, NULL, | 1683 | gcc_jit_block_end_with_jump (push_h_val_block, NULL, |
| 1684 | bb_map[handler_pc].gcc_bb); | 1684 | bb_map[handler_pc].gcc_bb); |
| @@ -1807,14 +1807,14 @@ compile_f (const char *f_name, ptrdiff_t bytestr_length, | |||
| 1807 | TOS, | 1807 | TOS, |
| 1808 | emit_make_fixnum (sub1_inline_block, | 1808 | emit_make_fixnum (sub1_inline_block, |
| 1809 | sub1_inline_res)); | 1809 | sub1_inline_res)); |
| 1810 | basic_block_t bb_orig = *comp.bblock; | 1810 | basic_block_t bb_orig = *comp.block; |
| 1811 | 1811 | ||
| 1812 | comp.bblock->gcc_bb = sub1_fcall_block; | 1812 | comp.block->gcc_bb = sub1_fcall_block; |
| 1813 | POP1; | 1813 | POP1; |
| 1814 | res = emit_call ("Fsub1", comp.lisp_obj_type, 1, args); | 1814 | res = emit_call ("Fsub1", comp.lisp_obj_type, 1, args); |
| 1815 | PUSH_RVAL (res); | 1815 | PUSH_RVAL (res); |
| 1816 | 1816 | ||
| 1817 | *comp.bblock = bb_orig; | 1817 | *comp.block = bb_orig; |
| 1818 | 1818 | ||
| 1819 | gcc_jit_block_end_with_jump (sub1_inline_block, NULL, | 1819 | gcc_jit_block_end_with_jump (sub1_inline_block, NULL, |
| 1820 | bb_map[pc].gcc_bb); | 1820 | bb_map[pc].gcc_bb); |
| @@ -1867,14 +1867,14 @@ compile_f (const char *f_name, ptrdiff_t bytestr_length, | |||
| 1867 | TOS, | 1867 | TOS, |
| 1868 | emit_make_fixnum (add1_inline_block, | 1868 | emit_make_fixnum (add1_inline_block, |
| 1869 | add1_inline_res)); | 1869 | add1_inline_res)); |
| 1870 | basic_block_t bb_orig = *comp.bblock; | 1870 | basic_block_t bb_orig = *comp.block; |
| 1871 | 1871 | ||
| 1872 | comp.bblock->gcc_bb = add1_fcall_block; | 1872 | comp.block->gcc_bb = add1_fcall_block; |
| 1873 | POP1; | 1873 | POP1; |
| 1874 | res = emit_call ("Fadd1", comp.lisp_obj_type, 1, args); | 1874 | res = emit_call ("Fadd1", comp.lisp_obj_type, 1, args); |
| 1875 | PUSH_RVAL (res); | 1875 | PUSH_RVAL (res); |
| 1876 | 1876 | ||
| 1877 | *comp.bblock = bb_orig; | 1877 | *comp.block = bb_orig; |
| 1878 | 1878 | ||
| 1879 | gcc_jit_block_end_with_jump (add1_inline_block, NULL, | 1879 | gcc_jit_block_end_with_jump (add1_inline_block, NULL, |
| 1880 | bb_map[pc].gcc_bb); | 1880 | bb_map[pc].gcc_bb); |
| @@ -1950,11 +1950,11 @@ compile_f (const char *f_name, ptrdiff_t bytestr_length, | |||
| 1950 | TOS, | 1950 | TOS, |
| 1951 | emit_make_fixnum (negate_inline_block, | 1951 | emit_make_fixnum (negate_inline_block, |
| 1952 | negate_inline_res)); | 1952 | negate_inline_res)); |
| 1953 | basic_block_t bb_orig = *comp.bblock; | 1953 | basic_block_t bb_orig = *comp.block; |
| 1954 | 1954 | ||
| 1955 | comp.bblock->gcc_bb = negate_fcall_block; | 1955 | comp.block->gcc_bb = negate_fcall_block; |
| 1956 | EMIT_SCRATCH_CALL_N ("Fminus", 1); | 1956 | EMIT_SCRATCH_CALL_N ("Fminus", 1); |
| 1957 | *comp.bblock = bb_orig; | 1957 | *comp.block = bb_orig; |
| 1958 | 1958 | ||
| 1959 | gcc_jit_block_end_with_jump (negate_inline_block, NULL, | 1959 | gcc_jit_block_end_with_jump (negate_inline_block, NULL, |
| 1960 | bb_map[pc].gcc_bb); | 1960 | bb_map[pc].gcc_bb); |
| @@ -2049,7 +2049,7 @@ compile_f (const char *f_name, ptrdiff_t bytestr_length, | |||
| 2049 | break; | 2049 | break; |
| 2050 | 2050 | ||
| 2051 | CASE (Binteractive_p) /* Obsolete since 24.1. */ | 2051 | CASE (Binteractive_p) /* Obsolete since 24.1. */ |
| 2052 | PUSH_RVAL (emit_lisp_obj_from_ptr (comp.bblock, | 2052 | PUSH_RVAL (emit_lisp_obj_from_ptr (comp.block, |
| 2053 | intern ("interactive-p"))); | 2053 | intern ("interactive-p"))); |
| 2054 | res = emit_call ("call0", comp.lisp_obj_type, 1, args); | 2054 | res = emit_call ("call0", comp.lisp_obj_type, 1, args); |
| 2055 | PUSH_RVAL (res); | 2055 | PUSH_RVAL (res); |
| @@ -2073,10 +2073,10 @@ compile_f (const char *f_name, ptrdiff_t bytestr_length, | |||
| 2073 | 2073 | ||
| 2074 | CASE (Bgoto) | 2074 | CASE (Bgoto) |
| 2075 | op = FETCH2; | 2075 | op = FETCH2; |
| 2076 | gcc_jit_block_end_with_jump (comp.bblock->gcc_bb, | 2076 | gcc_jit_block_end_with_jump (comp.block->gcc_bb, |
| 2077 | NULL, | 2077 | NULL, |
| 2078 | bb_map[op].gcc_bb); | 2078 | bb_map[op].gcc_bb); |
| 2079 | comp.bblock->terminated = true; | 2079 | comp.block->terminated = true; |
| 2080 | bb_map[op].top = stack; | 2080 | bb_map[op].top = stack; |
| 2081 | break; | 2081 | break; |
| 2082 | 2082 | ||
| @@ -2118,10 +2118,10 @@ compile_f (const char *f_name, ptrdiff_t bytestr_length, | |||
| 2118 | 2118 | ||
| 2119 | CASE (Breturn) | 2119 | CASE (Breturn) |
| 2120 | POP1; | 2120 | POP1; |
| 2121 | gcc_jit_block_end_with_return(comp.bblock->gcc_bb, | 2121 | gcc_jit_block_end_with_return(comp.block->gcc_bb, |
| 2122 | NULL, | 2122 | NULL, |
| 2123 | args[0]); | 2123 | args[0]); |
| 2124 | comp.bblock->terminated = true; | 2124 | comp.block->terminated = true; |
| 2125 | break; | 2125 | break; |
| 2126 | 2126 | ||
| 2127 | CASE (Bdiscard) | 2127 | CASE (Bdiscard) |
| @@ -2142,7 +2142,7 @@ compile_f (const char *f_name, ptrdiff_t bytestr_length, | |||
| 2142 | break; | 2142 | break; |
| 2143 | 2143 | ||
| 2144 | CASE (Bsave_restriction) | 2144 | CASE (Bsave_restriction) |
| 2145 | args[0] = emit_lisp_obj_from_ptr (comp.bblock, | 2145 | args[0] = emit_lisp_obj_from_ptr (comp.block, |
| 2146 | save_restriction_restore); | 2146 | save_restriction_restore); |
| 2147 | args[1] = emit_call ("save_restriction_save", | 2147 | args[1] = emit_call ("save_restriction_save", |
| 2148 | comp.lisp_obj_type, | 2148 | comp.lisp_obj_type, |
| @@ -2154,7 +2154,7 @@ compile_f (const char *f_name, ptrdiff_t bytestr_length, | |||
| 2154 | CASE (Bcatch) /* Obsolete since 24.4. */ | 2154 | CASE (Bcatch) /* Obsolete since 24.4. */ |
| 2155 | POP2; | 2155 | POP2; |
| 2156 | args[2] = args[1]; | 2156 | args[2] = args[1]; |
| 2157 | args[1] = emit_lisp_obj_from_ptr (comp.bblock, eval_sub); | 2157 | args[1] = emit_lisp_obj_from_ptr (comp.block, eval_sub); |
| 2158 | emit_call ("internal_catch", comp.void_ptr_type, 3, args); | 2158 | emit_call ("internal_catch", comp.void_ptr_type, 3, args); |
| 2159 | break; | 2159 | break; |
| 2160 | 2160 | ||
| @@ -2250,10 +2250,10 @@ compile_f (const char *f_name, ptrdiff_t bytestr_length, | |||
| 2250 | CASE (BRgoto) | 2250 | CASE (BRgoto) |
| 2251 | op = FETCH - 128; | 2251 | op = FETCH - 128; |
| 2252 | op += pc; | 2252 | op += pc; |
| 2253 | gcc_jit_block_end_with_jump (comp.bblock->gcc_bb, | 2253 | gcc_jit_block_end_with_jump (comp.block->gcc_bb, |
| 2254 | NULL, | 2254 | NULL, |
| 2255 | bb_map[op].gcc_bb); | 2255 | bb_map[op].gcc_bb); |
| 2256 | comp.bblock->terminated = true; | 2256 | comp.block->terminated = true; |
| 2257 | bb_map[op].top = stack; | 2257 | bb_map[op].top = stack; |
| 2258 | break; | 2258 | break; |
| 2259 | 2259 | ||
| @@ -2307,7 +2307,7 @@ compile_f (const char *f_name, ptrdiff_t bytestr_length, | |||
| 2307 | op = FETCH; | 2307 | op = FETCH; |
| 2308 | POP1; | 2308 | POP1; |
| 2309 | if (op > 0) | 2309 | if (op > 0) |
| 2310 | gcc_jit_block_add_assignment (comp.bblock->gcc_bb, | 2310 | gcc_jit_block_add_assignment (comp.block->gcc_bb, |
| 2311 | NULL, | 2311 | NULL, |
| 2312 | *(stack - op), | 2312 | *(stack - op), |
| 2313 | args[0]); | 2313 | args[0]); |
| @@ -2316,7 +2316,7 @@ compile_f (const char *f_name, ptrdiff_t bytestr_length, | |||
| 2316 | CASE (Bstack_set2) | 2316 | CASE (Bstack_set2) |
| 2317 | op = FETCH2; | 2317 | op = FETCH2; |
| 2318 | POP1; | 2318 | POP1; |
| 2319 | gcc_jit_block_add_assignment (comp.bblock->gcc_bb, | 2319 | gcc_jit_block_add_assignment (comp.block->gcc_bb, |
| 2320 | NULL, | 2320 | NULL, |
| 2321 | *(stack - op), | 2321 | *(stack - op), |
| 2322 | args[0]); | 2322 | args[0]); |
| @@ -2328,7 +2328,7 @@ compile_f (const char *f_name, ptrdiff_t bytestr_length, | |||
| 2328 | { | 2328 | { |
| 2329 | op &= 0x7F; | 2329 | op &= 0x7F; |
| 2330 | POP1; | 2330 | POP1; |
| 2331 | gcc_jit_block_add_assignment (comp.bblock->gcc_bb, | 2331 | gcc_jit_block_add_assignment (comp.block->gcc_bb, |
| 2332 | NULL, | 2332 | NULL, |
| 2333 | *(stack - op - 1), | 2333 | *(stack - op - 1), |
| 2334 | args[0]); | 2334 | args[0]); |
| @@ -2359,7 +2359,7 @@ compile_f (const char *f_name, ptrdiff_t bytestr_length, | |||
| 2359 | if (pc >= bytestr_length || bytestr_data[pc] != Bswitch) | 2359 | if (pc >= bytestr_length || bytestr_data[pc] != Bswitch) |
| 2360 | { | 2360 | { |
| 2361 | gcc_jit_rvalue *c = | 2361 | gcc_jit_rvalue *c = |
| 2362 | emit_lisp_obj_from_ptr (comp.bblock, vectorp[op]); | 2362 | emit_lisp_obj_from_ptr (comp.block, vectorp[op]); |
| 2363 | PUSH_RVAL (c); | 2363 | PUSH_RVAL (c); |
| 2364 | break; | 2364 | break; |
| 2365 | } | 2365 | } |