summaryrefslogtreecommitdiffstats
path: root/vm.c
diff options
context:
space:
mode:
authorKaz Kylheku <kaz@kylheku.com>2018-06-25 06:53:56 -0700
committerKaz Kylheku <kaz@kylheku.com>2018-06-25 06:53:56 -0700
commitcd69e10e027f0407c6fb7f14cdb0c1f833e744c8 (patch)
tree143861bc0ca4a4f5643ca2509d21c4a55e7f0dda /vm.c
parent7d0fc1b26a3b42189621723ba5169f2e09d0c5d8 (diff)
downloadtxr-cd69e10e027f0407c6fb7f14cdb0c1f833e744c8.tar.gz
txr-cd69e10e027f0407c6fb7f14cdb0c1f833e744c8.tar.bz2
txr-cd69e10e027f0407c6fb7f14cdb0c1f833e744c8.zip
vm: replace open-coded ternary with max macro.
* vm.c (max): New macro. (vm_call, vm_apply, vm_gcall, vm_gapply): Use max macro in calculating args allocation.
Diffstat (limited to 'vm.c')
-rw-r--r--vm.c10
1 files changed, 6 insertions, 4 deletions
diff --git a/vm.c b/vm.c
index eef69b1a..a4d24ce0 100644
--- a/vm.c
+++ b/vm.c
@@ -51,6 +51,8 @@
typedef u32_t vm_word_t;
+#define max(a, b) ((a) > (b) ? (a) : (b))
+
#define zalloca(size) memset(alloca(size), 0, size)
struct vm_desc_links {
@@ -438,7 +440,7 @@ NOINLINE static void vm_call(struct vm *vm, vm_word_t insn)
vm_word_t argw = vm->code[vm->ip++];
unsigned fun = vm_arg_operand_lo(argw);
val result;
- args_decl (args, nargs < ARGS_MIN ? ARGS_MIN : nargs);
+ args_decl (args, max(nargs, ARGS_MIN));
if (nargs--) {
args_add(args, vm_get(vm->dspl, vm_arg_operand_hi(argw)));
@@ -467,7 +469,7 @@ NOINLINE static void vm_apply(struct vm *vm, vm_word_t insn)
vm_word_t argw = vm->code[vm->ip++];
unsigned fun = vm_arg_operand_lo(argw);
val result;
- args_decl (args, nargs < ARGS_MIN ? ARGS_MIN : nargs);
+ args_decl (args, max(nargs, ARGS_MIN));
if (nargs--) {
args_add(args, vm_getz(vm->dspl, vm_arg_operand_hi(argw)));
@@ -513,7 +515,7 @@ NOINLINE static void vm_gcall(struct vm *vm, vm_word_t insn)
vm_word_t argw = vm->code[vm->ip++];
unsigned fun = vm_arg_operand_lo(argw);
val result;
- args_decl (args, nargs < ARGS_MIN ? ARGS_MIN : nargs);
+ args_decl (args, max(nargs, ARGS_MIN));
if (nargs--) {
args_add(args, vm_getz(vm->dspl, vm_arg_operand_hi(argw)));
@@ -542,7 +544,7 @@ NOINLINE static void vm_gapply(struct vm *vm, vm_word_t insn)
vm_word_t argw = vm->code[vm->ip++];
unsigned fun = vm_arg_operand_lo(argw);
val result;
- args_decl (args, nargs < ARGS_MIN ? ARGS_MIN : nargs);
+ args_decl (args, max(nargs, ARGS_MIN));
if (nargs--) {
args_add(args, vm_getz(vm->dspl, vm_arg_operand_hi(argw)));