Pu the tabs back in the order it used to be. "Fonts" and "Colors"
are probably changed more often than "Look and feel".
Also re-arranged a few lines of code to reflect that order and sorted
the includes.
- 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.
- 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.
- 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.
* 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
* 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.
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.
* 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.
* 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
* 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.
* 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
* 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
- 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.
- 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.
- 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.