Index: compile.cpp =================================================================== --- compile.cpp (revision 491424) +++ compile.cpp (working copy) @@ -46,7 +46,7 @@ #include "dump.h" extern bool parallel_jit; - +Lock_Manager objects_list_locks; #define METHOD_NAME_BUF_SIZE 512 Global_Env* compile_handle_to_environment(Compile_Handle h) @@ -805,7 +805,8 @@ // Adding dynamic generated code info to global list void compile_add_dynamic_generated_code_chunk(const char* name, const void* address, jint length) -{ +{ + objects_list_locks._lock(); DynamicCode** pdcList = &VM_Global_State::loader_env->dcList; // FIXME linked list modification without synchronization DynamicCode *dc = (DynamicCode *)STD_MALLOC(sizeof(DynamicCode)); @@ -815,6 +816,7 @@ dc->length = length; dc->next = *pdcList; *pdcList = dc; + objects_list_locks._unlock(); } void compile_clear_dynamic_code_list(DynamicCode* list)