Commit Graph

44659 Commits

Author SHA1 Message Date
Rene Gollent 5745a40dd1 Rework how return values are handled.
- ArchitectureX86 now hands off the work for GetInstructionInfo() to
  DisassemblerX86, since the latter has all the information we need
  to properly classify and evaluate instructions. Correspondingly a
  CpuState is passed down to it in order to perform address calculations
  for the instruction if it's a jump or call instruction. The latter's
  targets are then stored on the thread for later retrieval when
  constructing a stack trace. Adjust X86_64 accordingly for the
  signature changes. This also fixes a bug where Step Over would
  sometimes result in a Step Into instead due to the previous
  implementation of GetInstructionInfo() occasionally failing to
  classify call instructions correctly.

- Architecture::CreateStackTrace() now takes an argument specifying
  the address of the last executed function if applicable. This is used
  to decide who/where to decode a return value from. Adjust callers.

- DwarfImageDebugInfo::_CreateReturnValue() uses the above information
  in order to know directly who the caller it needs to look up a return
  value for is, rather than trying to walk backwards to find them.
  Type resolution is now also a bit more sophisticated due to various
  cases where the subprogram entry didn't directly contain the return
  type but referred to another DIE that did. Retrieving return value
  now appears to work properly in all cases except when position
  independent code is involved. The latter however will require
  resolving the appropriate function address in the PLT, which will
  need some additional work.
2012-12-31 23:02:24 -05:00
Rene Gollent bdbbc10b44 Thread now also tracks the address of the last executed function. 2012-12-31 22:52:34 -05:00
Rene Gollent cf2e209b2d More improvements to return value handling.
- Thread now has a data member indicating if a subroutine was
  executed during the last set of steps.
- ThreadHandler now sets the aforementioned state appropriate during
  Step Over/Step Out.
- Architecture::CreateStackTrace() now takes a parameter indicating
  whether return value retrieval is desired (based on aforementioned
  thread value). Adjust callers accordingly.
- DwarfImageDebugInfo: If return value retrieval is requested, loop
  backwards from the current IP to find the call instruction.
2012-12-31 20:25:11 -05:00
Rene Gollent f733c6031a Initial implementation of _GetReturnValue().
- Look at the destination of the subroutine instruction and try to
  resolve it to a function. Currently only handles functions whose
  destination are within the same image.

- If found, look up debug info for the target function. If available,
  determine if it returns a value. If so, construct an appropriate
  placeholder variable and add it to the frame's variable list.
2012-12-31 20:25:11 -05:00
Rene Gollent c7ca91ffd3 Add helper functions for creating return value variables. 2012-12-31 20:25:10 -05:00
Rene Gollent dc693e9265 Extend Architecture to help retrieve return values.
- Architecture now has a new function to retrieve the location where
  a return value can be found. Added implementation for x86 and stub
  for x86-64.
2012-12-31 20:25:09 -05:00
Rene Gollent 84ea02a0f4 Extend InstructionInfo for subroutines.
- InstructionInfo now also stores the destination address of subroutine
  call instructions.
- Adjust callers.
2012-12-31 20:25:09 -05:00
Rene Gollent 9ede3c06e8 Add ReturnValueID base type. 2012-12-31 20:25:08 -05:00
Murai Takashi eed38dfa96 Fix initializing fClockSettingFile.
Signed-off-by: Rene Gollent <anevilyak@gmail.com>
2012-12-31 20:23:26 -05:00
Alexander von Gluck IV e71af5ae6c intel_extreme: Add RC6 downclocking support
* Generation 6 (SandyBridge) and later support
  automatic downclocking of the GPU offering
  substantial battery use reductions.
* As we're playing with fire here, only use on
  mobile devices SandyBridge or later.
* This is testing stable on my SandyBridge laptop,
  however I need further confirmation of the
  functionality of this.
* Move clock gating into a function in the power.cpp
  file
2012-12-31 16:35:22 -06:00
François Revol 87466cc915 ftp: remove sa_family_t hack
We now declare sa_family_t as mandated by POSIX.
2012-12-31 15:38:31 +01:00
Stefano Ceccherini 1797be0dc6 Some style fixes. 2012-12-31 12:21:25 +01:00
Tri-Edge AI 8cd10c710f Gravity: Big code changes
* Reworked code style completely.
* Improved the behaviour of the particles.
* Made particles smaller (2,5x performance gain).
* Cleaned unnecessary includes.
* Tried improving performance with glCallList - performance dropped even more.
* Tried improving performance with glDrawArrays - no noticeable performance changes.
2012-12-31 07:42:51 +00:00
Humdinger 776c58b2b5 Unifying the quit/save alerts.
Wherever I found an alert prompting to save changes, I used the
button labeling 'Cancel', 'Don't save', 'Save' with the first button
left aligned, 2nd and 3rd right aligned.

I added the shortcuts 'd' for 'Don't save, and 's' for 'Save' where
not already set.

The topic was discussed at
http://permalink.gmane.org/gmane.os.haiku.devel/23244
The discussion died down, I hope I made changes everyone can live with.
2012-12-30 20:32:04 +01:00
Matt Madia cb6daa41db Replace isometric toolbar icons with 2D style.
The icons are from ZuMi : http://zumi.xoom.it/myhaiku/btoolbar/index.html
Closes #9292
2012-12-30 10:19:19 -05:00
Matt Madia 26d2ff5537 Added some HVIF icons from zuMi's collection.
http://zumi.xoom.it/myhaiku/btoolbar/index.html
2012-12-30 10:17:07 -05:00
Matt Madia a81c12644c VL-Gothic fonts is updated to version 20121230. 2012-12-30 10:07:25 -05:00
threedeyes a52b9419e7 Apply patch by dsjonny from ticket #9339: Localization for ICNS Translator 2012-12-30 04:32:44 +00:00
threedeyes 989668eab9 Add Gravity screensaver to the image. 2012-12-30 04:03:51 +00:00
threedeyes 27ca4ba2ad Gravity: Disable warnings for gcc2 build. 2012-12-30 03:59:25 +00:00
Alex Smith 622506c485 Added OpenSSH and Git optional packages for x86_64.
This commit is the first done from Haiku x86_64! Uncovered a few
networking bugs so hopefully this'll push OK... :)
2012-12-29 12:44:20 +00:00
Alexander von Gluck IV 48ec1c9d22 intel_extreme: Enable IvyBridge PCI ID's 2012-12-29 00:09:01 +00:00
Alexander von Gluck IV a2b448a0c1 intel_extreme: Mark IvyBridge as having a PCH
* Modesetting now works on IvyBridge
* Preferred mode needs work though as my chipset
  defaults to 1024x768 vs 1366x768
2012-12-29 00:09:00 +00:00
Niels Sascha Reedijk 9f50169e2d Update translations from Pootle 2012-12-29 06:52:41 +01:00
Rene Gollent bd26704e42 Use minimal frame info optimization in a few more places. 2012-12-28 22:23:06 -05:00
Alexander von Gluck IV 59b18b8836 intel_extreme: Disable IvyBridge
* Prevent driver from picking up IvyBridge
  for the moment. (VESA works for the moment)
* We get a white screen of doom. Looks as though
  supporting IvyBridge will require more than
  just basic fixups.
2012-12-28 19:01:06 +00:00
Alexander von Gluck IV 881a823e8a intel_extreme: Improve accelerant tracing and debug output
* Several messages to syslog weren't tagged with
  intel_extreme making troubleshooting difficult
* Fix a few typesize printf issues with B_PRI macro
2012-12-28 19:01:05 +00:00
Alexander von Gluck IV 783039344d intel_extreme: Fix tracing toggle names 2012-12-28 19:01:03 +00:00
Alexander von Gluck IV d1043dfa07 intel_extreme: Add IvyBridge fixups
* Add initial clock gating fix (may need tweaking)
2012-12-28 19:01:02 +00:00
Alexander von Gluck IV 50efc4c719 intel_gart: Add IvyBridge bridge info 2012-12-28 19:01:00 +00:00
Alexander von Gluck IV bb2de8c7dd intel_extreme: Add missing IB Server GT2. Thanks premislaus. 2012-12-28 19:00:59 +00:00
Alexander von Gluck IV 5176bea376 intel_extreme: Improve tracing
* This was needed to find a bug while
  working on IvyBridge support.
* Code looks a bit cleaner as well now.
* If something goes wrong, user is now
  better notified via syslog
2012-12-28 19:00:57 +00:00
Jérôme Duval ef769e5e87 add declaration of sa_family_t in sys/socket.h
* added missing declaration of sa_family_t in sys/socket.h, this fixes #8731
  thanks to Anarchos for the patch.
* fixed the build of the command ftp
2012-12-28 22:28:13 +01:00
Gleb Posobin 9d2f78ca74 Added Grep utility to the OptionalPackages
Signed-off-by: Jérôme Duval <jerome.duval@gmail.com>
2012-12-28 19:58:34 +01:00
Hamish Morrison d1f280c805 Add support for pthread_attr_get/setguardsize()
* Added the aforementioned functions.
* create_area_etc() now takes a guard size parameter.
* The thread_info::stack_base/end range now refers to the usable range
  only.
2012-12-28 18:02:58 +00:00
Jérôme Duval 00e7904406 include string.h for FD_ZERO in sys/select.h
* sys/select.h was not self contained before, this fixes #9327
* index is defined as a function in string.h, fixed resulting name
  collision in glut_shapes.c
2012-12-28 18:30:03 +01:00
Alexander von Gluck IV d917edcecd gravity: Fix path in Jamfile. Fix build 2012-12-27 17:35:48 -06:00
Alexander von Gluck IV 93f124253a screensaver: Add gravity based on GCI 2012 work
* A modified version of TriEdgeAI's original work.
* Cleaned up style problems
* Some virtual functions didn't mesh properly with
  ones defined in the OpenGL kit (Draw for example)
* Wrote Jamfile
* Add missing include cstdlib for rand
* Not in image yet as it still needs gcc2 testing
2012-12-27 16:40:47 -06:00
Alexander von Gluck IV f736d30c9c intel_extreme: Drop odd semicolon causing gcc warnings 2012-12-26 11:01:47 -06:00
Alexander von Gluck IV 660ca29ee0 intel_extreme: Add IvyBridge PCIID's
* This needs testing and likely some IvyBridge
  fixups
2012-12-26 11:01:43 -06:00
Humdinger e55f69faf9 Use "Revert" instead of "OK" as button label. 2012-12-26 11:07:39 +01:00
Humdinger c6cd8df773 Correct case in GUI string. 2012-12-26 11:02:51 +01:00
Rene Gollent bc1ec2ec41 Initial work towards retrieving function return values.
- When creating a stack frame, we now look at the current function's
  state to determine if the last executed statement was a function call.
  Still need to determine the call destination in order to look up
  the latter function, retrieve its return type, and then request
  retrieval of the actual return value if applicable.
2012-12-26 00:21:06 -05:00
Rene Gollent 1167ae5274 Some optimizations for ThreadHandler.
- CreateStackTrace() now takes a parameter indicating whether or not
  to try and retrieve full frame information. This in turn is passed
  on to SpecificImageDebugInfo, where e.g. DwarfImageDebugInfo can
  use it to avoid constructing variables and parameters. This is
  used by ThreadHandler since, when it requests the top frame for
  its stepping  calculations, this additional data/work is completely
  unnecessary.
2012-12-26 00:20:33 -05:00
Rene Gollent 50bd564d06 Fix crash issue with some cases of template types.
- If a template type parameter resolves to a void type, gcc doesn't
  actually generate a type attribute for the instantiation, leading
  to a crash in CreateType(). Was observable with MemoryDeleter and
  others.
2012-12-25 16:57:15 -05:00
Philippe Saint-Pierre a74c82b977 Tracker: Drawing issues in dragBitmap (#8005)
Remove rounding issues in height calculation leading to drawing issues when using some font sizes.
2012-12-25 16:28:18 -05:00
Philippe Saint-Pierre 9abf41a7fe Mail: remove un-intended debugging code committed 2012-12-25 14:43:02 -05:00
Philippe Saint-Pierre 5eea8a566d Mail: coding styles fixes. should have no functional changes 2012-12-25 14:13:02 -05:00
Rene Gollent 855f2c88d3 Add some more information to CIE parsing failure messages. 2012-12-25 09:35:43 -05:00
Rene Gollent 9becda82ef Implement ArchitectureX8664::UpdateStackFrameCpuState(). 2012-12-25 09:34:28 -05:00