Saved the timestamps on the default gettimeofday clock as close to
the beginning of the simulation, after initialization is finished and
at the end of shutdown. Printed out the elapsed time as well as
the number of overruns counted by RealtimeSync.
refs #183
Conflicts:
trick_source/sim_services/RealtimeSync/src/RealtimeSync.cpp
If a variable resolves to a class/structure type the variable server tries to free the
attributes associated with that variable name. But the attributes usually point to
a fixed place in memory that is not allocated. I removed the free statement. I don't
believe this will lead to a memory leak.
refs #165
Added a loop to set each 1024th byte in the recording array to 1 once the
memory has been allocated. Need to test if this is good enough to get Linux
to allocate the memory.
Added a current recording buffer pointer to use instead of using array offsets.
This should be more cpu cache efficient.
Changed the memcpy calls to direct casted integer assignments based on the size of the
parameter. If the parameter is not size 1,2,4,or 8 we fall back to a memcpy.
refs #155
When allocating a new event, if the same name is used, no allocation is
created and NULL is returned. We start trying to use the returned value
which seg-faulted. I added a check to only continue if the returned value
from the allocation is not NULL.
refs #149
When allocating a new event, if the same name is used, no allocation is
created and NULL is returned. We start trying to use the returned value
which seg-faulted. I added a check to only continue if the returned value
from the allocation is not NULL.
refs #149
Created a thread trigger container class to hold all of the various thread triggering
mechanisms. I wanted to avoid allocating/freeing trigger mechanisms. I added
an eventfd and futex trigger types. Updated SIM_threads_simple test sim to use
show how to set the thread trigger type.
refs #148
Conflicts:
trick_source/sim_services/Executive/include/Threads.hh
trick_source/sim_services/Executive/src/Executive_set_thread_rt_semaphore.cpp
trick_source/sim_services/Executive/src/Threads.cpp
We already parse the string character by character escaping newlines, tabs, and
other special characters. In the case of these quotation marks, we replace them
with the ASCII single and double quotes.
refs #134
Added a case statement for the bad ref type to the binary data handler. We handle a bad
ref as an integer, because that is what the sim sends us. This fixes MTV.
refs #117
Did two things to stop the crash. 1. When following an address path if we hit a NULL
address, stop processing and return the NULL. 2. When trying to resolve addresses in
copy_sim_data, if a NULL address is returned then reset the reference to unresolved and
return a dummy value.
Need to fix MTV to handle dummy value returns.
refs #117
Changed the way JITEvents are created and handled. Instead of taking a function pointer directly we save a name of a function to the JITEvent class. The class will dynamically look up a function that matches the name both during event creation and during checkpoint restart.
Fixes#53
Added a couple of batch files in the java GUI area so they can be used with
Windows. Made an addition in TrickApplication.java to add the .bat suffix
to script calls when using Windows.
Fixes#47
After further discussion, it was revealed that the event printouts would stop
coming out if a new event was created. Found that the constructor of the
event was clearing out the static info_msg flag all events used to test
for printing. Removed the assignment in the constructor and set the
initial value of the info_msg flag to false at the declaration point.
Fixes#38
I think I ran into this before. The offsetof calls that use
fully qualified fields in classes is not compilable using clang
on the Mac. So I've decided to only conditionally compile this
code for non Apple platforms. So this fix will work in Linux,
but not on Macs. We'll have to revisit this and see if we
can make it work for both.
refers to #31
When a field is processed in a class it is added to a list. This list
will contain the fields from base classes the current class inherits
from. We check the list of fields we inherited, if we find that the
current field overloads the name of an inherited field we adjust the
inherited field's name to be shown as the fully qualified name in io_src
code.
Fixes#31
Added a test in the variable server listen restart job to see if the the name of the
machine in the checkpoint file matches the machine that we are running on. We
test all of the network names avaiable on the machine. If the name is not found then
we assume that the checkpoint was taken on another machine and wipe out the machine
name. This will default the machine name back to localhost.
Fixes#24.
Found that my check for embedded classes was also catching some typedef structures.
This was causing some io_src code not to be generated. Changed the test so that
we can differentiate between embedded classes and the typedefs.
This change fixes#10 and fixes#23.
Missed a couple of files where message_publish is in an ifdef __APPLE__
section. But I decided to put message_type.h back in message_proto.h
because taking it out would affect a lot of user code.
Adds to #14.
Changed all header file once include variables to follow the same naming
convention and not start with any underscores. Also deleted old
incorrect copyright notices. Also removed $Id: tags from all files.
Fixes#14. Fixes#22.
The calling argument to setASTConsumer changed between clang 3.5
and 3.6. Changed the code to create a std::unique_ptr that the
call now requires and call setASTConsumer with the unique pointer.
Fixes#15
Modified the makefile to copy jaxb.index files into the JAR.
Removed now-unnecessary annotations from TVBean.
Modified and exposed the save/open .tv file framework to subclasses so they can add additional information to .tv files.
fixes#12