Commit graph

284 commits

Author SHA1 Message Date
elvez ec84480e2d - Another bit of auditing
git-svn-id: svn://svn.gna.org/svn/sgpemv2/trunk@1202 3ecf2c5c-341e-0410-92b4-d18e462d057c
2006-09-16 17:04:20 +00:00
tchernobog ee1810df10 - Add missing include for the debug printout
git-svn-id: svn://svn.gna.org/svn/sgpemv2/trunk@1201 3ecf2c5c-341e-0410-92b4-d18e462d057c
2006-09-16 17:01:26 +00:00
tchernobog 4ff9985ad5 - Fix the st8ad_cast bug. Please report it has been fixed
with this revision number into the anomaly records.


git-svn-id: svn://svn.gna.org/svn/sgpemv2/trunk@1200 3ecf2c5c-341e-0410-92b4-d18e462d057c
2006-09-16 16:59:59 +00:00
tchernobog 961bcf6dc6 - Put back the "--enable-visibility-support" flag into configure.
Now the visibility support is also disabled by default.


git-svn-id: svn://svn.gna.org/svn/sgpemv2/trunk@1198 3ecf2c5c-341e-0410-92b4-d18e462d057c
2006-09-16 16:21:22 +00:00
tchernobog 4472ae0183 - Use dynamic_cast anyway, since static_cast doesn't play well
with multiple inheritance


git-svn-id: svn://svn.gna.org/svn/sgpemv2/trunk@1197 3ecf2c5c-341e-0410-92b4-d18e462d057c
2006-09-16 14:40:03 +00:00
tchernobog 6d4e756546 - Use our down_cast<> instead of dynamic_cast<> where possible. Now bug-hunting the
infamous st8ad_cast bug.


git-svn-id: svn://svn.gna.org/svn/sgpemv2/trunk@1194 3ecf2c5c-341e-0410-92b4-d18e462d057c
2006-09-16 13:52:49 +00:00
tchernobog d128ee8608 - Fix portability issues with config.h header. Now it is
included by the compiler (via a flag) and the visibility
macros have been moved to a separate header. You'll
probably need to cleanup your source dir and re-run autogen.sh
before compiling sgpem again.


git-svn-id: svn://svn.gna.org/svn/sgpemv2/trunk@1191 3ecf2c5c-341e-0410-92b4-d18e462d057c
2006-09-16 13:34:43 +00:00
tchernobog 74a2d8ff91 - Take in account also that pain in the ass that is MSVC++ on win32
git-svn-id: svn://svn.gna.org/svn/sgpemv2/trunk@1190 3ecf2c5c-341e-0410-92b4-d18e462d057c
2006-09-16 12:57:03 +00:00
elvez f174524b1e - Fixed loading/saving of config on win32. I know it's mainly my fault (I forgot to do an up yesterday night), but ever heard the ancient maxim 'Premature optimization is the root of all evil'?
git-svn-id: svn://svn.gna.org/svn/sgpemv2/trunk@1189 3ecf2c5c-341e-0410-92b4-d18e462d057c
2006-09-16 11:46:19 +00:00
tchernobog deaf0702e5 - Add down_cast<> to safely checking dynamic_casts when in development. Be sure to read its documentation before use\!
git-svn-id: svn://svn.gna.org/svn/sgpemv2/trunk@1188 3ecf2c5c-341e-0410-92b4-d18e462d057c
2006-09-16 11:21:06 +00:00
elvez df862714a0 - Completed porting to win32. Added project files for visual studio.net 2005. Now I can go to sleep (almost) pacefully...
git-svn-id: svn://svn.gna.org/svn/sgpemv2/trunk@1185 3ecf2c5c-341e-0410-92b4-d18e462d057c
2006-09-16 03:23:04 +00:00
tchernobog 5cb771ba81 - Whoops. Too much &-ed values to the file_test bitmask. Sorry 'bout that.
git-svn-id: svn://svn.gna.org/svn/sgpemv2/trunk@1181 3ecf2c5c-341e-0410-92b4-d18e462d057c
2006-09-15 22:29:24 +00:00
tchernobog 93feee1ee5 - Cleanup GlobalPreferences badly cluttered interface, removing
deprecated methods and things that don't exist in the design
- Put the ``sgpemrc'' application configuration file into
the proper place (``$HOME/.sgpemv2''), creating the directory
if it doesn't exist, as per specs
- Disable test-global_preferences_serialization building since
it doesn't work with the new interface (todo: create a class inheriting 
from GlobalPreferences, and redefining get_config_filename() to return
a tmpname to a mkfifo() pipe connected to the stdout. If you don't understand 
a word of this, you're not a Real Unix Programmer(tm))
- Update other files to use the new interface


git-svn-id: svn://svn.gna.org/svn/sgpemv2/trunk@1178 3ecf2c5c-341e-0410-92b4-d18e462d057c
2006-09-15 21:31:31 +00:00
tchernobog 4080de9f5b - Make set_notify_enabled() methods of Simulation and History private to enforce encapsulation further (so that derived classes don't fall in temptation...)
git-svn-id: svn://svn.gna.org/svn/sgpemv2/trunk@1171 3ecf2c5c-341e-0410-92b4-d18e462d057c
2006-09-15 09:48:58 +00:00
tchernobog 83b655496f - Use a NotifyLock instead of (History|Simulation)::set_notify_enabled() method, which is more elegant and also exception-safe
- Delete set_notify_enabled() method from ConcreteHistory; it was both wrong and useless, and caused impredictable behaviour!
- Don't make some methods of History and Simulation virtual if we don't want the user to override them
- Loading from file and jumping to an instant of the simulation should be much quickier now

git-svn-id: svn://svn.gna.org/svn/sgpemv2/trunk@1170 3ecf2c5c-341e-0410-92b4-d18e462d057c
2006-09-15 09:34:12 +00:00
elvez 7bcd220f89 - Audited some other stuff
git-svn-id: svn://svn.gna.org/svn/sgpemv2/trunk@1165 3ecf2c5c-341e-0410-92b4-d18e462d057c
2006-09-14 23:07:16 +00:00
tchernobog 93359507ea - Use modff() instead of modf() when using float parameters. C99 standard.
git-svn-id: svn://svn.gna.org/svn/sgpemv2/trunk@1158 3ecf2c5c-341e-0410-92b4-d18e462d057c
2006-09-14 19:41:21 +00:00
elvez 6d54f886f1 - Fixed portability issues. I'm curious to know where that programmer learnt about 'roundf' and 'uint', anyway...
git-svn-id: svn://svn.gna.org/svn/sgpemv2/trunk@1153 3ecf2c5c-341e-0410-92b4-d18e462d057c
2006-09-14 17:42:15 +00:00
elvez aeaec77cd1 - Another bit of auditing...
git-svn-id: svn://svn.gna.org/svn/sgpemv2/trunk@1149 3ecf2c5c-341e-0410-92b4-d18e462d057c
2006-09-14 15:31:42 +00:00
elvez 90c562006a - Audited some files
git-svn-id: svn://svn.gna.org/svn/sgpemv2/trunk@1148 3ecf2c5c-341e-0410-92b4-d18e462d057c
2006-09-14 15:10:48 +00:00
elvez c78794e27d - Small changes to compile under vc++
git-svn-id: svn://svn.gna.org/svn/sgpemv2/trunk@1147 3ecf2c5c-341e-0410-92b4-d18e462d057c
2006-09-14 12:52:32 +00:00
fpaparel b4dd5d592c - Finished backend SimulationStatistics, temporary stdout printout,
added pensieri.xgp to show fcfs problem



git-svn-id: svn://svn.gna.org/svn/sgpemv2/trunk@1125 3ecf2c5c-341e-0410-92b4-d18e462d057c
2006-09-13 11:26:03 +00:00
matrevis 2c9c5ec498 - I forgot to include the policy.
git-svn-id: svn://svn.gna.org/svn/sgpemv2/trunk@1124 3ecf2c5c-341e-0410-92b4-d18e462d057c
2006-09-13 01:28:22 +00:00
matrevis 43bd4369ed - Added priority inversion issue and solution.
git-svn-id: svn://svn.gna.org/svn/sgpemv2/trunk@1123 3ecf2c5c-341e-0410-92b4-d18e462d057c
2006-09-13 01:27:03 +00:00
tchernobog 1d7c053012 - Fixes ConcreteHistory::clear() not resetting history front. Prevent throwing of std::out_of_range when opening a file after having run the simulation.
git-svn-id: svn://svn.gna.org/svn/sgpemv2/trunk@1105 3ecf2c5c-341e-0410-92b4-d18e462d057c
2006-09-12 09:27:35 +00:00
matrevis c96a96d683 - Efficiently dropped efficency for the sake of efficiency.
git-svn-id: svn://svn.gna.org/svn/sgpemv2/trunk@1097 3ecf2c5c-341e-0410-92b4-d18e462d057c
2006-09-11 21:56:54 +00:00
matrevis c4aac86d0a - Fixed yellow colours.
- Fixed a bug in scheduler, forgetting to block a thread.
- Added a grid feature to simulation_widget
- Added file->new.



git-svn-id: svn://svn.gna.org/svn/sgpemv2/trunk@1095 3ecf2c5c-341e-0410-92b4-d18e462d057c
2006-09-11 21:14:08 +00:00
elvez 849a8ff473 - Description and name of plugins is now correctly displayed in preferences dialog
git-svn-id: svn://svn.gna.org/svn/sgpemv2/trunk@1094 3ecf2c5c-341e-0410-92b4-d18e462d057c
2006-09-11 21:06:23 +00:00
fpaparel 96dbda64cd - Adeed simple tabular statistics, modified statistics interfaces,
updated architecture (don't know if something is missing...)
 


git-svn-id: svn://svn.gna.org/svn/sgpemv2/trunk@1092 3ecf2c5c-341e-0410-92b4-d18e462d057c
2006-09-11 01:32:05 +00:00
elvez afd292142e - (Hopefully) improved readability of colored entities inside the schedulables tree and resource list
git-svn-id: svn://svn.gna.org/svn/sgpemv2/trunk@1091 3ecf2c5c-341e-0410-92b4-d18e462d057c
2006-09-11 00:40:34 +00:00
fpaparel 2d87f354e1 - Finished backend statistics, added two source files, added simple and TEMPORARY printouts into
simulation_widget



git-svn-id: svn://svn.gna.org/svn/sgpemv2/trunk@1080 3ecf2c5c-341e-0410-92b4-d18e462d057c
2006-09-09 16:04:35 +00:00
tchernobog 34825da69b - Expose the Schedulable::set_priority_push() method to python and
outside the backend in general (else, having a 
get_current_priority() method was quite pointless)


git-svn-id: svn://svn.gna.org/svn/sgpemv2/trunk@1070 3ecf2c5c-341e-0410-92b4-d18e462d057c
2006-09-08 20:34:05 +00:00
elvez 0c02a29f8b - "Beautify" debug printout from Python policy manager
- Added support for resource policies in textual frontend

git-svn-id: svn://svn.gna.org/svn/sgpemv2/trunk@1064 3ecf2c5c-341e-0410-92b4-d18e462d057c
2006-09-08 14:15:24 +00:00
tchernobog e4d359304c - Add exception checking to ConcreteSimulation::jump_to()
git-svn-id: svn://svn.gna.org/svn/sgpemv2/trunk@1054 3ecf2c5c-341e-0410-92b4-d18e462d057c
2006-09-07 21:26:41 +00:00
matrevis a9c0ff01d2 - Added resource policies: FIFO and Priority.
git-svn-id: svn://svn.gna.org/svn/sgpemv2/trunk@1052 3ecf2c5c-341e-0410-92b4-d18e462d057c
2006-09-07 19:22:38 +00:00
tchernobog f7eb44bf64 - Fix ``make distcheck''
git-svn-id: svn://svn.gna.org/svn/sgpemv2/trunk@1051 3ecf2c5c-341e-0410-92b4-d18e462d057c
2006-09-07 19:12:19 +00:00
fpaparel 8271a880b2 - added source files
git-svn-id: svn://svn.gna.org/svn/sgpemv2/trunk@1050 3ecf2c5c-341e-0410-92b4-d18e462d057c
2006-09-07 18:05:40 +00:00
tchernobog 1203372f3e - Small fix for the sake of code correctness
git-svn-id: svn://svn.gna.org/svn/sgpemv2/trunk@1037 3ecf2c5c-341e-0410-92b4-d18e462d057c
2006-09-07 09:56:56 +00:00
tchernobog 3fe76dad2d - Fix JumpTo dialog the better I can. Now it should work.
- TODO: manage exceptions both in Simulation::jump_to()
and in JumpToDialog
- TODO: check the semantic of _target_instant, maybe its value
is 1 more than expected?


git-svn-id: svn://svn.gna.org/svn/sgpemv2/trunk@1036 3ecf2c5c-341e-0410-92b4-d18e462d057c
2006-09-07 09:32:24 +00:00
tchernobog 0f718f2899 - Fix all includes, separating header files to be installed
from other headers. Take it while it's hot.
- To all those that lock source files: you'll burn in hell. Really.
It'll be painful, dreadful and above all *long*. *Eternally* long.
And there'll be Freddy Mercury and The Queen playing, *all the time*, 
day after boring, useless, sorrowful day. The song
will be *``Radio Ga-Ga''*, in secula secularum amen.


git-svn-id: svn://svn.gna.org/svn/sgpemv2/trunk@1033 3ecf2c5c-341e-0410-92b4-d18e462d057c
2006-09-07 00:43:00 +00:00
matrevis 6458511399 - Preferences completed.
git-svn-id: svn://svn.gna.org/svn/sgpemv2/trunk@1032 3ecf2c5c-341e-0410-92b4-d18e462d057c
2006-09-07 00:23:50 +00:00
tchernobog 8e20f5499f - Simplify a little sequences' interface
git-svn-id: svn://svn.gna.org/svn/sgpemv2/trunk@1028 3ecf2c5c-341e-0410-92b4-d18e462d057c
2006-09-06 17:39:46 +00:00
tchernobog 22dded7243 - Fix the bug about reconfiguring a policy don't resetting the
History the Hard Way(tm)


git-svn-id: svn://svn.gna.org/svn/sgpemv2/trunk@1026 3ecf2c5c-341e-0410-92b4-d18e462d057c
2006-09-06 16:33:39 +00:00
tchernobog dbfc7393ed - Fix all policies to ensure that the sort *IS* stable
- Erase the newly selected running thread from the ready queue
as per Marco feedback (or so I believe to have understood...)


git-svn-id: svn://svn.gna.org/svn/sgpemv2/trunk@1024 3ecf2c5c-341e-0410-92b4-d18e462d057c
2006-09-06 13:04:31 +00:00
tchernobog df4b1b4205 - Merge branch 0.3-r1003--scheduler-manage-preemption into trunk
git-svn-id: svn://svn.gna.org/svn/sgpemv2/trunk@1023 3ecf2c5c-341e-0410-92b4-d18e462d057c
2006-09-06 12:29:22 +00:00
tchernobog d9d88e7032 - Put Simulation in stopped state before changing policy (doesn't
prevent a sigsegv if you try to change it while the simulation
is running)
- Use a red color to indicate a blocked thread / unallocable request
in widgets
- TODO: try the deadlock test w/ the rr (NOT the rr_priority) cpu
policy. There's something wrong with the policy...


git-svn-id: svn://svn.gna.org/svn/sgpemv2/trunk@1019 3ecf2c5c-341e-0410-92b4-d18e462d057c
2006-09-06 08:46:06 +00:00
matrevis 68d5f30f64 - Defaults to thread view.
- Enforcing resource policy the old way.


git-svn-id: svn://svn.gna.org/svn/sgpemv2/trunk@1016 3ecf2c5c-341e-0410-92b4-d18e462d057c
2006-09-06 00:29:11 +00:00
matrevis b4f8c61695 - Ported wizards, altough still missing the way
to copy them into the install destination directory
- Yaling in preferences treeviews
- Changing policy now resets history
- Corrected some detail in speed control widget


git-svn-id: svn://svn.gna.org/svn/sgpemv2/trunk@995 3ecf2c5c-341e-0410-92b4-d18e462d057c
2006-09-02 11:47:06 +00:00
matrevis 30c09a58ba - Added an optimization to save cache when reached the end of the simulation
This optimization causes some trouble when using jumpto, but nothing terrible.


git-svn-id: svn://svn.gna.org/svn/sgpemv2/trunk@991 3ecf2c5c-341e-0410-92b4-d18e462d057c
2006-09-02 02:07:19 +00:00
matrevis 47d4fe65b4 - Corrected get_front() issues.
- Widget tests are now working properly.



git-svn-id: svn://svn.gna.org/svn/sgpemv2/trunk@990 3ecf2c5c-341e-0410-92b4-d18e462d057c
2006-09-02 01:56:00 +00:00