summary refs log tree commit diff
path: root/gnu/packages/patches/jamvm-2.0.0-disable-branch-patching.patch
blob: 1352ed7803eb58a7b8b70c9157a9857a7c12bc3c (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
From d80cfc83325f8e95d35ecd9f15b36b96fa9ed3ee Mon Sep 17 00:00:00 2001
From: Simon South <simon@simonsouth.net>
Date: Sat, 6 Jun 2020 18:56:56 -0400
Subject: [PATCH] Disable branch-patching

This patch disables JamVM's branch-patching optimization, which tends
to make JamVM fail with an "Illegal instruction" error on x86_64 (and
possibly other architectures that use variable-length instructions)
when built using modern versions of gcc and glibc.
---
 src/init.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/src/init.c b/src/init.c
index 32539cf..38ad54b 100644
--- a/src/init.c
+++ b/src/init.c
@@ -72,8 +72,8 @@ void setDefaultInitArgs(InitArgs *args) {
 #ifdef INLINING
     args->replication_threshold = 10;
     args->profile_threshold     = 10;
-    args->branch_patching_dup   = TRUE;
-    args->branch_patching       = TRUE;
+    args->branch_patching_dup   = FALSE;
+    args->branch_patching       = FALSE;
     args->print_codestats       = FALSE;
     args->join_blocks           = TRUE;
     args->profiling             = TRUE;
-- 
2.25.2