Age | Commit message (Collapse) | Author |
|
|
|
|
|
|
|
|
|
This allows them to look selected instead.
|
|
Value(-js_infinity().as_double()) is kind of awkward.
|
|
|
|
Instead of "call 0x0811d6ac", we now say "call 0x0811d6ac <malloc>" :^)
|
|
This patch adds a pure virtual X86::SymbolProvider that can be passed
to Instruction::to_string(). If the instruction contains what appears
to be a program address, stringification will try to symbolicate that
address via the SymbolProvider.
This makes it possible (and very flexible) to add symbolication to
clients of the disassembler. :^)
|
|
|
|
This is really just a workaround to keep SystemMonitor's process table
working right wrt selection retention during resorts (while also doing
full index invalidation on things like ProfileViewer inversion.)
It's starting to feel like the model abstraction is not super great
and we'll need a better approach if we want to actually build some more
dynamic functionality into our views.
|
|
Maybe this should be configurable, who knows. For now, 50 works a bit
better for highly nested scenarios like LibJS.
|
|
I'm not sure what the correct behavior is supposed to be, but at least
this makes printing numbers show some more interesting detail for now.
|
|
|
|
`ResourceLoader::load` now rejects URLs which specify a `port`
associated with network services known to be vulnerable to
inter-protocol exploitation.
Fixes #1735
|
|
|
|
|
|
We now store the previous thread state in m_stop_state for all
transitions to the Stopped state via Thread::set_state.
Fixes #1752 whereupon resuming a thread that was stopped with SIGTSTP,
the previous state of the thread is not remembered correctly, resulting
in m_stop_state == State::Invalid and the associated assertion fails.
|
|
If you have access to /boot/kernel, you can see the disassembly of
kernel code in ProfileViewer. This is really useful! :^)
|
|
I was looking at Kernel::get_good_random_bytes() and wondering where
the RDRAND instruction was. :^)
|
|
|
|
For SIB bytes with base but no index, we were emitting two '+' chars
which looked very off.
|
|
This could be a lot nicer, but at least we can open file:// URLs now.
|
|
This allows you to build URLs by calling setters on an empty URL and
actually get a valid URL at the end.
|
|
ELF::DynamicLoader now validates the ELF header and the program headers
in its constructor. The requested program interpreter from the
PT_INTERP program header is now avaiable via a getter. The dynamic
loader program will want to check that this matches its name, for extra
shenanigans checking.
|
|
These validate_elf_* methods really had no business being static
methods of ELF::Image. Now that the ELF namespace exists, it makes
sense to just move them to be free functions in the namespace.
|
|
This is for consistency with other namespace changes that were made
a while back to the other libraries :)
|
|
Fixes #1616
|
|
Fixes #1751.
|
|
We now "heat color" the instruction-level samples so you can get a nice
visual picture of where time is spent in functions. :^)
|
|
We were skipping the innermost frame as a workaround for the kernel
putting garbage data there. Now that the kernel puts the instruction
poiner there, we can load the frame normally! :^)
|
|
We were missing the innermost instruction pointer when sampling.
This makes the instruction-level profile info a lot cooler! :^)
|
|
|
|
|
|
This was easier than I expected. :^)
|
|
|
|
|
|
This implementation is very gappy, but the basic feature allows us to
highlight cells with a custom background color.
|
|
When you select a function in the profile tree, we will now display
a per-instruction breakdown of aggregated samples in that function.
This allows us to look much closer at what our code is doing! :^)
|
|
Also add ELFImage::Symbol::raw_data() to get a StringView containing
the entire symbol contents.
|
|
|
|
With extra color (tm)
This commit also patches the users of LibLine to properly use the new
API
|
|
Prior to this, writing to stdin while a display refresh was happening
corrupted the input and displayed garbage.
|
|
|
|
This patch adds primitive support for autocompletion in the JS repl,
it only supports completing global names and properties on variables :^)
|
|
|
|
We have all the information necessary to find our new origin when a
window size change occurs.
|
|
Prior to this, we would display them and never clean then up.
|
|
Add menu items for CTCP: USERINFO, FINGER, TIME, VERSION, CLIENTINFO
|
|
|