Also allow running test mode if JIT is not available, still checking
for failed startup.cbc execution.
... | ... |
@@ -2164,9 +2164,12 @@ static int set_mode(struct cl_engine *engine, enum bytecode_mode mode) |
2164 | 2164 |
} |
2165 | 2165 |
cli_dbgmsg("Bytecode: mode changed to %d\n", mode); |
2166 | 2166 |
if (engine->bytecode_mode == CL_BYTECODE_MODE_TEST) { |
2167 |
- cli_errmsg("bytecode: in test mode but JIT/bytecode is about to be disabled: %d\n", mode); |
|
2168 |
- engine->bytecode_mode = mode; |
|
2169 |
- return -1; |
|
2167 |
+ if (mode == CL_BYTECODE_MODE_OFF || have_clamjit) { |
|
2168 |
+ cli_errmsg("bytecode: in test mode but JIT/bytecode is about to be disabled: %d\n", mode); |
|
2169 |
+ engine->bytecode_mode = mode; |
|
2170 |
+ return -1; |
|
2171 |
+ } |
|
2172 |
+ return 0; |
|
2170 | 2173 |
} |
2171 | 2174 |
if (engine->bytecode_mode == CL_BYTECODE_MODE_JIT) { |
2172 | 2175 |
cli_errmsg("bytecode: in JIT mode but JIT is about to be disabled: %d\n", mode); |
... | ... |
@@ -142,6 +142,7 @@ START_TEST (test_retmagic_jit) |
142 | 142 |
{ |
143 | 143 |
cl_init(CL_INIT_DEFAULT); |
144 | 144 |
runtest("input/retmagic.cbc", 0x1234f00d, CL_SUCCESS, 0, NULL, NULL, NULL, NULL, 0); |
145 |
+ runtest("input/retmagic.cbc", 0x1234f00d, CL_SUCCESS, 0, NULL, NULL, NULL, NULL, 1); |
|
145 | 146 |
} |
146 | 147 |
END_TEST |
147 | 148 |
|