Skip to content

Commit 657d744

Browse files
author
Daniel Kroening
committed
add Java monitorenter/exit symbols
1 parent 7c053bf commit 657d744

File tree

1 file changed

+28
-0
lines changed

1 file changed

+28
-0
lines changed

jbmc/src/java_bytecode/java_bytecode_internal_additions.cpp

Lines changed: 28 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -15,8 +15,36 @@ Author: Daniel Kroening, [email protected]
1515
#include <util/cprover_prefix.h>
1616
#include <util/c_types.h>
1717

18+
#include "java_types.h"
19+
1820
void java_internal_additions(symbol_table_baset &dest)
1921
{
22+
// add monitorenter
23+
24+
{
25+
code_typet type(
26+
{code_typet::parametert(java_lang_object_type())}, void_typet());
27+
symbolt symbol;
28+
symbol.base_name = "monitorenter";
29+
symbol.name = "java::monitorenter";
30+
symbol.type = type;
31+
symbol.mode = ID_java;
32+
dest.add(symbol);
33+
}
34+
35+
// add monitorexit
36+
37+
{
38+
code_typet type(
39+
{code_typet::parametert(java_lang_object_type())}, void_typet());
40+
symbolt symbol;
41+
symbol.base_name = "monitorexit";
42+
symbol.name = "java::monitorexit";
43+
symbol.type = type;
44+
symbol.mode = ID_java;
45+
dest.add(symbol);
46+
}
47+
2048
// add __CPROVER_rounding_mode
2149

2250
{

0 commit comments

Comments
 (0)