This targets a problem where a numbers with large numbers of non-decimal
significant digits took a long time to round after converting to scientific
notation because they are rounded one character a time.
To solve this, after converting to scientific notation lop off everything
after 40 characters greatly reducing the amount of further rounding
needed.
An example I used to test this was to calculate 10,000! which gives
a result with 35660 significant non-decimal digits (aka a lot). By loping
off numbers after 40 characters before rounding to fit the operation goes
from ~10 seconds to complete to under a second.
I chose 40 as a max as it is large enough to ensure that the result will
get rounded with some leeway provided for font width variations.
Worse-case scenario is the result is off by 1 in the last place.
Numbers with large numbers of significant decimal digits get rounded
by MAPM so aren't a problem.
Don't release the reference to the current block until we get the
notification that the next block has been retrieved. Otherwise, the
previous/next block buttons would cease to work if the requested block
failed to be retrieved.
- In the case where retrieval of a memory block failed, InspectorWindow
didn't handle the notification. Consequently, it never removed itself as
a listener from the failed block, nor did it release its reference for
it. Consequently, if one attempted to retrieve data from the same block
again, walking the listener list would crash due to the already-deleted
entry in the list.
- The success case had the same problem with regards to not removing its
listener, but was masked by virtue of the inspector currently being the
only user of the memory block manager, so in the latter case the blocks
would be properly released/destroyed and the aforementioned walk would
never occur.
- Adjust locking a bit to ensure that manipulating the listener list
always happens with the team lock held.
- Style fixes.
We can't use BPath to get the filename for the source file path embedded
in the debug information, since it may be relative, which BPath will try to
normalize.
* added a copyright header.
* fixed includes order.
* don't return early on B_BAD_SEM_ID as it means the writer has finished,
but there can be data to read.
* free resources in acpi_namespace_free() instead of acpi_namespace_close().
This reverts commit ea27e95f48.
* AnEvilYak pointed out that this was a false positive as
BObjectList can optionally delete on remove.
* I'll add a penny to the bitcoin bad commit jar :)
* The config space is larger than 255, we need to use an uint16 to access
offsets superior or equal to 256. The current API only proposes an uint8 for this.
This change switches the offset parameter to the uint16 type. Axel hinted that
the used values are the same with such a change (the doc says sign extended to 2 or
4 bytes).
I checked with GCC2 and it's indeed the case when inspecting the memory.
With GCC4, instructions are the same on function call.
* prints info about extended capabilities.
* struct pci_module_info and struct pci_device_module_info are extended with
pci_find_extended_capability().
- When possible, SourceView now adds a context menu option to switch
between source and disassembly. If the disassembled code is not yet
available, it is asynchronously requested. Adjusted SourceView::Listener
and implementing subclasses accordingly to make that request feasible.
- Adjust TeamWindow to correctly deal with the possibility of the
function source code being available but not loaded.
Now takes an optional boolean parameter to indicate that disassembly is
explicitly being requested. Adjust TeamDebugger and LoadSourceCodeJob's
implementations accordingly.
* pci-acpi.cpp is based on the bootloader bios_ia32/acpi.cpp. The ACPI module
has already a dependency on the PCI module. Using pci-acpi.cpp eases the simple
task of finding the PCIe base address to map the config space.
* pci_read_config and pci_write_config in pci_controller.h were using an uint8
for offsets in the config space. Switched to uint16 to enable access to the extended
config space (0x100 and upper). Added a check for these offsets in
pci_mech[1|2]_[read|write]_config() for x86 and other platforms as these mechanisms
don't support a priori the extended config space.
- When the user helps locate a missing source file, verify that the
source and located file names match. If they don't, prompt the user to
verify that they did in fact intend to choose the file in question.
Helps avoid accidentally clicking the wrong file when performing
location.
According to the NFS4 specification NFS4ERR_NOFILEHANDLE is returned only
when the clients sends malformed request. FreeBSD nfsd implementation chooses
to ignore that fact and returns this error code also for correctly formed
requests that it can not service due to the restrictions in the server
configuration.
- When highlighting lines that match IPs in the current stack trace,
draw those which aren't from the currently selected frame in a lighter
color, so as to make it more clear which is which when multiple calls
are visible at once.
* when the 64bit address type is used, it means a BAR takes the size of two.
For the moment we just set the next base_registers to the high address
and skip to the next valid BAR. The struct is now zeroed on creation.
* the pci device information is more correct now, though it would be easier
to have BAR address and size with a 64bit types in the struct pci_info.
* Route flags now single characters to save
space.
* Align addresses to columns based on maximum
size of family address. We can easily pre-loop
over routes at a future date and choose
the smallest address width if needed.
* Moved interface device to last column as width
can vary a lot.
When building the launch string for starting a new team via the GUI,
enclose the executable path in quotes to ensure paths with spaces are
handled properly.
... which were technically never distributed by Apple nor
are derived from code distributed by Apple. Only BrowserApp
and BrowserWindow were originally derived from code that used
to be part of WebKit and was distributed by Apple.
Marks a breakpoint as one that should not be exposed in the UI's normal
breakpoint management interface. Adjust settings management to
preserve/restore appropriately.