Soar Kernel
9.3.2 08-06-12
|
#include <portability.h>
#include <stdlib.h>
#include "wmem.h"
#include "kernel.h"
#include "agent.h"
#include "gdatastructs.h"
#include "symtab.h"
#include "decide.h"
#include "io_soar.h"
#include "rete.h"
#include "print.h"
#include "tempmem.h"
#include "xml.h"
#include "soar_TraceNames.h"
#include "wma.h"
#include "episodic_memory.h"
Go to the source code of this file.
Functions | |
void | add_wme_to_wm (agent *thisAgent, wme *w) |
void | deallocate_wme (agent *thisAgent, wme *w) |
void | do_buffered_wm_changes (agent *thisAgent) |
Symbol * | find_name_of_object (agent *thisAgent, Symbol *object) |
wme * | make_wme (agent *thisAgent, Symbol *id, Symbol *attr, Symbol *value, Bool acceptable) |
void | remove_wme_from_wm (agent *thisAgent, wme *w) |
void | remove_wme_list_from_wm (agent *thisAgent, wme *w, bool updateWmeMap) |
void | reset_wme_timetags (agent *thisAgent) |
Definition at line 131 of file wmem.cpp.
References wme_struct::attr, identifier_struct::common_symbol_info, wme_struct::id, symbol_union::id, IDENTIFIER_SYMBOL_TYPE, identifier_struct::isa_operator, identifier_struct::level, agent_struct::operator_symbol, post_link_addition(), push(), SMEM_LTI_UNKNOWN_LEVEL, symbol_common_data_struct::symbol_type, wme_struct::value, and agent_struct::wmes_to_add.
Referenced by add_impasse_wme(), add_input_wme(), soar_module::add_module_wme(), decide_context_slot(), decide_non_context_slot(), and do_acceptable_preference_wme_changes_for_slot().
Definition at line 299 of file wmem.cpp.
References wme_struct::attr, wme_struct::id, agent_struct::num_existing_wmes, print_with_symbols(), print_wme(), symbol_remove_ref(), wme_struct::value, wma_enabled(), wma_remove_decay_element(), and agent_struct::wme_pool.
Referenced by create_instantiation(), and wme_remove_ref().
void do_buffered_wm_changes | ( | agent * | thisAgent | ) |
Definition at line 200 of file wmem.cpp.
References add_wme_to_rete(), agent_struct::current_phase, filtered_print_wme_add(), filtered_print_wme_remove(), cons_struct::first, free_cons(), inform_output_module_of_wm_changes(), NIL, print(), print_wme(), remove_wme_from_rete(), cons_struct::rest, soar_invoke_callbacks(), agent_struct::sysparams, TIMERS_ENABLED, TRACE_WM_CHANGES_SYSPARAM, WM_CHANGES_CALLBACK, wme_add_ref(), agent_struct::wme_addition_count, agent_struct::wme_removal_count, wme_remove_ref(), agent_struct::wmes_to_add, agent_struct::wmes_to_remove, xml_att_val(), xml_begin_tag(), and xml_end_tag().
Referenced by do_buffered_wm_and_ownership_changes().
Definition at line 317 of file wmem.cpp.
References find_slot(), IDENTIFIER_SYMBOL_TYPE, agent_struct::name_symbol, NIL, wme_struct::value, and slot_struct::wmes.
Referenced by object_to_trace_string(), and print_stack_trace_xml().
Definition at line 85 of file wmem.cpp.
References wme_struct::acceptable, wme_struct::attr, agent_struct::current_wme_timetag, wme_struct::epmem_id, EPMEM_NODEID_BAD, wme_struct::epmem_valid, wme_struct::gds, wme_struct::gds_next, wme_struct::gds_prev, wme_struct::grounds_tc, wme_struct::id, wme_struct::locals_tc, wme_struct::next, NIL, agent_struct::num_existing_wmes, wme_struct::output_link, wme_struct::potentials_tc, wme_struct::preference, wme_struct::prev, wme_struct::reference_count, wme_struct::rete_next, wme_struct::rete_prev, symbol_add_ref(), wme_struct::timetag, wme_struct::value, wme_struct::wma_decay_el, wme_struct::wma_tc_value, and agent_struct::wme_pool.
Referenced by add_impasse_wme(), add_input_wme(), soar_module::add_module_wme(), decide_context_slot(), decide_non_context_slot(), do_acceptable_preference_wme_changes_for_slot(), and recursive_wme_copy().
Definition at line 148 of file wmem.cpp.
References wme_struct::attr, fast_remove_from_dll, wme_struct::gds, identifier_struct::gds, agent_struct::gds_pool, gds_struct::goal, wme_struct::id, symbol_union::id, IDENTIFIER_SYMBOL_TYPE, identifier_struct::isa_operator, NIL, agent_struct::operator_symbol, post_link_removal(), push(), wme_struct::value, gds_struct::wmes_in_gds, and agent_struct::wmes_to_remove.
Referenced by decide_non_context_slot(), do_acceptable_preference_wme_changes_for_slot(), remove_input_wme(), soar_module::remove_module_wme(), remove_wme_list_from_wm(), remove_wmes_for_context_slot(), and update_impasse_items().
Definition at line 181 of file wmem.cpp.
References INPUT_WME_GARBAGE_COLLECTED_CALLBACK, wme_struct::next, remove_wme_from_wm(), and soar_invoke_callbacks().
Referenced by decide_non_context_slot(), garbage_collect_id(), remove_existing_attribute_impasse_for_slot(), and remove_existing_context_and_descendents().
void reset_wme_timetags | ( | agent * | thisAgent | ) |
Definition at line 74 of file wmem.cpp.
References agent_struct::current_wme_timetag, agent_struct::num_existing_wmes, print(), and xml_generate_warning().
Referenced by reinitialize_soar().