Skip to content

Commit eb9e3bb

Browse files
Merge pull request diffblue#2561 from Degiorgio/get-current-thread-id-fix
JBMC: CProver.getCurrentThreadID:()I conversion fix
2 parents d98a39b + 4a8dc96 commit eb9e3bb

File tree

2 files changed

+20
-11
lines changed

2 files changed

+20
-11
lines changed
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
CORE
22
A.class
3-
--function 'A.me:()V' --java-threading --cp `../../../../scripts/format_classpath.sh . ../../../src/java_bytecode/library/core-models.jar`
3+
--function 'A.me:()V' --java-threading --cp `../../../../scripts/format_classpath.sh . ../../../src/java_bytecode/library/core-models.jar` --lazy-methods
44
^EXIT=0$
55
^SIGNAL=0$
66
^VERIFICATION SUCCESSFUL

jbmc/src/java_bytecode/java_bytecode_concurrency_instrumentation.cpp

+19-10
Original file line numberDiff line numberDiff line change
@@ -351,10 +351,10 @@ static void instrument_start_thread(
351351
/// \param f_code: function call to CProver.endThread:(I)V
352352
/// \param [out] code: resulting transformation
353353
/// \param symbol_table: a symbol table
354-
static void instrument_endThread(
354+
static void instrument_end_thread(
355355
const code_function_callt &f_code,
356356
codet &code,
357-
symbol_tablet symbol_table)
357+
const symbol_tablet &symbol_table)
358358
{
359359
PRECONDITION(f_code.arguments().size() == 1);
360360

@@ -388,10 +388,10 @@ static void instrument_endThread(
388388
/// \param f_code: function call to CProver.getCurrentThreadID:()I
389389
/// \param [out] code: resulting transformation
390390
/// \param symbol_table: a symbol table
391-
static void instrument_getCurrentThreadID(
391+
static void instrument_get_current_thread_id(
392392
const code_function_callt &f_code,
393393
codet &code,
394-
symbol_tablet symbol_table)
394+
symbol_tablet &symbol_table)
395395
{
396396
PRECONDITION(f_code.arguments().size() == 0);
397397

@@ -502,14 +502,23 @@ void convert_threadblock(symbol_tablet &symbol_table)
502502
const code_function_callt &f_code = to_code_function_call(code);
503503
const std::string &f_name = expr2java(f_code.function(), ns);
504504
if(f_name == "org.cprover.CProver.startThread:(I)V")
505-
cb = std::bind(instrument_start_thread, std::placeholders::_1,
506-
std::placeholders::_2, std::placeholders::_3);
505+
cb = std::bind(
506+
instrument_start_thread,
507+
std::placeholders::_1,
508+
std::placeholders::_2,
509+
std::placeholders::_3);
507510
else if(f_name == "org.cprover.CProver.endThread:(I)V")
508-
cb = std::bind(&instrument_endThread, std::placeholders::_1,
509-
std::placeholders::_2, std::placeholders::_3);
511+
cb = std::bind(
512+
&instrument_end_thread,
513+
std::placeholders::_1,
514+
std::placeholders::_2,
515+
std::placeholders::_3);
510516
else if(f_name == "org.cprover.CProver.getCurrentThreadID:()I")
511-
cb = std::bind(&instrument_getCurrentThreadID, std::placeholders::_1,
512-
std::placeholders::_2, std::placeholders::_3);
517+
cb = std::bind(
518+
&instrument_get_current_thread_id,
519+
std::placeholders::_1,
520+
std::placeholders::_2,
521+
std::placeholders::_3);
513522

514523
if(cb)
515524
expr_replacement_map.insert({expr, cb});

0 commit comments

Comments
 (0)