Skip to content

Commit d03cf29

Browse files
author
Daniel Kroening
committed
add Java monitorenter/exit symbols
1 parent da34ceb commit d03cf29

File tree

1 file changed

+34
-0
lines changed

1 file changed

+34
-0
lines changed

jbmc/src/java_bytecode/java_bytecode_internal_additions.cpp

Lines changed: 34 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -15,8 +15,42 @@ 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+
type.return_type() = void_typet();
27+
type.parameters().resize(1);
28+
type.parameters()[0].type() = java_reference_type(void_typet());
29+
30+
symbolt symbol;
31+
symbol.base_name = "monitorenter";
32+
symbol.name = "java::monitorenter";
33+
symbol.type = type;
34+
symbol.mode = ID_java;
35+
dest.add(symbol);
36+
}
37+
38+
// add monitorexit
39+
40+
{
41+
code_typet type;
42+
type.return_type() = void_typet();
43+
type.parameters().resize(1);
44+
type.parameters()[0].type() = java_reference_type(void_typet());
45+
46+
symbolt symbol;
47+
symbol.base_name = "monitorexit";
48+
symbol.name = "java::monitorexit";
49+
symbol.type = type;
50+
symbol.mode = ID_java;
51+
dest.add(symbol);
52+
}
53+
2054
// add __CPROVER_rounding_mode
2155

2256
{

0 commit comments

Comments
 (0)