| 1 | |
|---|
| 2 | %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% |
|---|
| 3 | % |
|---|
| 4 | % Logtalk - Open source object-oriented logic programming language |
|---|
| 5 | % Release 2.31.0 |
|---|
| 6 | % |
|---|
| 7 | % Copyright (c) 1998-2007 Paulo Moura. All Rights Reserved. |
|---|
| 8 | % |
|---|
| 9 | %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% |
|---|
| 10 | |
|---|
| 11 | |
|---|
| 12 | :- import stat_set_flag/2 from machine. % workaround for compiling/loading source files |
|---|
| 13 | :- stat_set_flag(79, 1). % when more than one thread is active |
|---|
| 14 | |
|---|
| 15 | :- compiler_options([xpp_on]). |
|---|
| 16 | |
|---|
| 17 | #include ../compiler/logtalk.pl |
|---|
| 18 | |
|---|
| 19 | % tables of defined events and monitors |
|---|
| 20 | :- thread_shared('$lgt_before_'(_, _, _, _, _)). |
|---|
| 21 | :- thread_shared('$lgt_after_'(_, _, _, _, _)). |
|---|
| 22 | |
|---|
| 23 | % tables of loaded entities and respective relationships |
|---|
| 24 | :- thread_shared('$lgt_current_protocol_'(_, _, _)). |
|---|
| 25 | :- thread_shared('$lgt_current_category_'(_, _, _, _)). |
|---|
| 26 | :- thread_shared('$lgt_current_object_'(_, _, _, _, _, _, _, _)). |
|---|
| 27 | |
|---|
| 28 | :- thread_shared('$lgt_implements_protocol_'(_, _, _)). |
|---|
| 29 | :- thread_shared('$lgt_imports_category_'(_, _, _)). |
|---|
| 30 | :- thread_shared('$lgt_instantiates_class_'(_, _, _)). |
|---|
| 31 | :- thread_shared('$lgt_specializes_class_'(_, _, _)). |
|---|
| 32 | :- thread_shared('$lgt_extends_protocol_'(_, _, _)). |
|---|
| 33 | :- thread_shared('$lgt_extends_object_'(_, _, _)). |
|---|
| 34 | |
|---|
| 35 | % table of loaded files |
|---|
| 36 | :- thread_shared('$lgt_loaded_file_'(_, _)). |
|---|
| 37 | |
|---|
| 38 | % debugger status and tables |
|---|
| 39 | :- thread_shared('$lgt_debugging_'(_)). |
|---|
| 40 | |
|---|
| 41 | :- thread_shared('$lgt_dbg_debugging_'). |
|---|
| 42 | :- thread_shared('$lgt_dbg_tracing_'). |
|---|
| 43 | :- thread_shared('$lgt_dbg_skipping_'). |
|---|
| 44 | :- thread_shared('$lgt_dbg_spying_'(_, _)). |
|---|
| 45 | :- thread_shared('$lgt_dbg_spying_'(_, _, _, _)). |
|---|
| 46 | :- thread_shared('$lgt_dbg_leashing_'(_)). |
|---|
| 47 | |
|---|
| 48 | % runtime flags |
|---|
| 49 | :- thread_shared('$lgt_current_flag_'(_, _)). |
|---|
| 50 | |
|---|
| 51 | % static binding caches |
|---|
| 52 | :- thread_shared('$lgt_static_binding_entity_'(_)). |
|---|
| 53 | :- thread_shared('$lgt_obj_static_binding_cache_'(_, _, _, _)). |
|---|
| 54 | :- thread_shared('$lgt_ctg_static_binding_cache_'(_, _, _, _, _, _)). |
|---|
| 55 | |
|---|
| 56 | % lookup caches for messages to an object, messages to self, and super calls |
|---|
| 57 | :- thread_shared('$lgt_obj_lookup_cache_'(_, _, _, _)). |
|---|
| 58 | :- thread_shared('$lgt_self_lookup_cache_'(_, _, _, _)). |
|---|
| 59 | :- thread_shared('$lgt_super_lookup_cache_'(_, _, _, _, _)). |
|---|
| 60 | |
|---|
| 61 | % lookup cache for asserting and retracting dynamic facts |
|---|
| 62 | :- thread_shared('$lgt_db_lookup_cache_'(_, _, _, _, _)). |
|---|
| 63 | |
|---|
| 64 | % table of library paths |
|---|
| 65 | :- thread_shared(logtalk_library_path(_, _)). |
|---|
| 66 | |
|---|
| 67 | % compiler hook goal: |
|---|
| 68 | :- thread_shared('$lgt_hook_goal_'(_, _)). |
|---|
| 69 | |
|---|
| 70 | % multi-threading tags |
|---|
| 71 | :- thread_shared('$lgt_threaded_tag_counter'(_)). |
|---|