Itamar
28ff7d49ad
HackStudio: Only send the content of open files to language server
...
When respawning the language server, we only need to send the content
of opened files to the server.
The on-disk content of files that are not currently open is up to
date, so the server can read them on its own.
2021-12-03 15:38:21 +01:00
Itamar
3e9a96f1d8
HackStudio: Add HackStudio::for_each_open_file
2021-12-03 15:38:21 +01:00
Andreas Kling
85eb0eaad0
CrashReporter+HackStudio: Let's call it "Debug in Hack Studio"
...
"Inspect in Hack Studio" was a bit vague.
2021-11-30 23:34:40 +01:00
Andreas Kling
d3bd9f1f0c
HackStudio: Scope the "delete file from project" action to tree view
...
Otherwise it triggers when trying to delete characters in the editor.
2021-11-30 23:34:40 +01:00
Andreas Kling
cb9cac4e40
LibIPC+IPCCompiler+AK: Make IPC value decoders return ErrorOr<void>
...
This allows us to use TRY() in decoding helpers, leading to a nice
reduction in line count.
2021-11-28 23:14:19 +01:00
Brian Gianforcaro
cf4fa936be
Everywhere: Use default execpromises argument for Core::System::pledge
2021-11-28 08:04:57 +01:00
Brian Gianforcaro
f807796380
UserspaceEmulator: Fix after add_positional_argument API change :^)
...
Get UE compiling again after the Vector<String> API was changed to
Vector<StringView>.
2021-11-26 16:47:39 -08:00
Federico Guerinoni
4a90729a3e
HackStudio: Port to LibMain :^)
2021-11-26 11:13:59 -08:00
Ben Wiederhake
33079c8ab9
Kernel+UE+LibC: Remove unused dbgputch syscall
...
Everything uses the dbgputstr syscall anyway, so there is no need to
keep supporting it.
2021-11-24 22:56:39 +01:00
Andreas Kling
b6f49924be
LibDesktop: Make allowlist APIs return ErrorOr<void>
...
This makes it very smooth to use TRY() when setting up these lists,
as you can see in the rest of this commit. :^)
2021-11-24 00:25:23 +01:00
Andreas Kling
4a64bb80ea
Inspector: Port to LibMain :^)
2021-11-24 00:25:23 +01:00
Andreas Kling
4283702fb8
Playground: Port to LibMain :^)
2021-11-24 00:25:23 +01:00
Andreas Kling
dfca0def63
Profiler: Port to LibMain :^)
2021-11-24 00:25:23 +01:00
Andreas Kling
58fb3ebf66
LibCore+AK: Move MappedFile from AK to LibCore
...
MappedFile is strictly a userspace thing, so it doesn't belong in AK
(which is supposed to be user/kernel agnostic.)
2021-11-23 11:33:36 +01:00
Andreas Kling
c1a3968c66
LibCore: Make LocalSocket takeover mechanism return ErrorOr<T>
2021-11-23 11:33:36 +01:00
Andreas Kling
21a5fb0fa2
LibCore+LibSystem: Move syscall wrappers from LibSystem to LibCore
...
With this change, System::foo() becomes Core::System::foo().
Since LibCore builds on other systems than SerenityOS, we now have to
make sure that wrappers work with just a standard C library underneath.
2021-11-23 11:33:36 +01:00
Andreas Kling
c2b90bab9f
LanguageServers/Shell: Port to LibMain :^)
2021-11-23 11:33:36 +01:00
Andreas Kling
54155f8c64
LanguageServers/Cpp: Port to LibMain :^)
2021-11-23 11:33:36 +01:00
Karol Kosek
5f3e9886f7
HackStudio: Disable the Rename action on insufficient permissions
...
This patch will disable the Rename action in the project Tree View
if a user does not have write access to the selected file directory.
2021-11-22 09:03:19 +01:00
Karol Kosek
0264d3de45
HackStudio: Remove noop when deciding whether to disable delete action
...
The iterator in has_permissions will just be equal to sections.end()
when there are no selected files.
2021-11-22 09:03:19 +01:00
Itamar
8316eb7306
HackStudio: Add option to inspect Coredump
...
This adds a --coredump <file> option to Hack Studio.
When used, Hack Studio will open the coredump and allow the user to
inspect it in the Debug tab.
2021-11-20 21:22:24 +00:00
Itamar
ce726fe027
HackStudio: Improve backtrace accuracy
...
We now decrement the return address of the previous frame by one to get
the address of the call instruction and use this address in the
backtrace.
This results in more accurate source position information than what we
previously had when using the return address.
2021-11-20 21:22:24 +00:00
Itamar
94d68583fb
HackStudio: Use ProcessInspector instead of DebugSession where possible
2021-11-20 21:22:24 +00:00
Andreas Kling
216e21a1fa
AK: Convert AK::Format formatting helpers to returning ErrorOr<void>
...
This isn't a complete conversion to ErrorOr<void>, but a good chunk.
The end goal here is to propagate buffer allocation failures to the
caller, and allow the use of TRY() with formatting functions.
2021-11-17 00:21:13 +01:00
Andreas Kling
587f9af960
AK: Make JSON parser return ErrorOr<JsonValue> (instead of Optional)
...
Also add slightly richer parse errors now that we can include a string
literal with returned errors.
This will allow us to use TRY() when working with JSON data.
2021-11-17 00:21:10 +01:00
Hendiadyoin1
1533123263
Profiler: Stop disassembly on invalid instructions
2021-11-16 00:49:48 +00:00
Hendiadyoin1
134f43ba12
Profiler: Don't try to disassemble empty buffers
2021-11-16 00:49:48 +00:00
Andreas Kling
8b1108e485
Everywhere: Pass AK::StringView by value
2021-11-11 01:27:46 +01:00
Tim Schumacher
80cb44afae
Everywhere: Move shared library checks into a common function
...
While we're at it, unify the various different conditions that are
scattered accross the codebase.
2021-11-10 14:42:49 +01:00
Tim Schumacher
d350d2dfce
Emulator: Restrict library name check when querying symbols
...
Libraries in /usr/lib currently only end in .so, so no contains() is
needed for now.
2021-11-10 14:42:49 +01:00
Tim Schumacher
6c6381408f
Emulator: Use existing queried library name in load check
...
We already asked the region about what its library name is, and we also
use that value when maybe constructing a path, so let's make the check
use that as well.
2021-11-10 14:42:49 +01:00
Tim Schumacher
fc6f265155
Profiler: Use existing path split when mmapping libraries
...
We already extracted the `path` part of the segment name, so use that
for checking if the filename looks like a shared library.
2021-11-10 14:42:49 +01:00
Brendan Coles
1e48cd35a1
UserspaceEmulator: Add support for SC_uname and SC_sysconf syscalls
2021-11-08 16:30:32 -08:00
Andreas Kling
fbe8f185b5
Profiler: Replace Result<T, E> use with ErrorOr<T>
2021-11-08 00:35:27 +01:00
Andreas Kling
4a2b718ba2
LibCore: Use ErrorOr<T> for Core::File::copy_file()
2021-11-08 00:35:27 +01:00
Andreas Kling
c7e62d448c
LibCore: Use ErrorOr<T> for Core::File::remove()
...
This function returns a subclass of Error, which is now possible.
2021-11-08 00:35:27 +01:00
Andreas Kling
0de33b3d6c
LibGfx: Use ErrorOr<T> for Bitmap::try_create()
...
Another one that was used in a fajillion places.
2021-11-08 00:35:27 +01:00
Andreas Kling
235f39e449
LibGfx: Use ErrorOr<T> for Bitmap::try_load_from_file()
...
This was used in a lot of places, so this patch makes liberal use of
ErrorOr<T>::release_value_but_fixme_should_propagate_errors().
2021-11-08 00:35:27 +01:00
Hendiadyoin1
2867d93115
UserspaceEmulator: Improve the MMX formatting on environment dump
2021-11-07 22:42:23 +00:00
Hendiadyoin1
83f50a1507
UserspaceEmulator: Raise an error on FPU stack underflow
...
Accessing an unset part of the FPU stack should not be a simple warning,
but should trigger the FPU exception mechanism.
2021-11-07 22:42:23 +00:00
Hendiadyoin1
0d6d780183
UserspaceEmulator: Remove some unnecessary casting
2021-11-07 22:42:23 +00:00
Hendiadyoin1
d759175767
UserspaceEmulator: Stop overriding flags in FCOMI
...
We no longer override the flags we just set. We now also unset of, af,
and sf after the comparison.
This fixes the asin function for LibM!
2021-11-07 22:42:23 +00:00
Hendiadyoin1
f2eff767a0
UserspaceEmulator: Fix typos in SoftFPU.[cpp|h]
2021-11-07 22:42:23 +00:00
Hendiadyoin1
74aba07b70
UserspaceEmulator: Align FPU-exception names with the manual
2021-11-07 22:42:23 +00:00
Hendiadyoin1
5d2a4bd18d
UserspaceEmulator: Check the right flags in FCMOV
...
Also make FCMOVNB do an actual CMOV and not a copy of FILD_m32
2021-11-07 22:42:23 +00:00
Hendiadyoin1
8108aaca39
UserspaceEmulator: Correct FSCALES rounding
...
We were rounding the wrong way, FSCALE is supposed to trunc internally,
while we were flooring.
Now LibM exponentials and related tests work :^)
2021-11-07 22:42:23 +00:00
Hendiadyoin1
fa02b46295
UserspaceEmulator: Always set C1 when rounding
2021-11-07 22:42:23 +00:00
Hendiadyoin1
7214b08f81
UserspaceEmulator: Simplify the definition of the FPU register stack
...
Long doubles are always at least 80 bits wide in memory and it suffices
if we can address these 80 bits, to mark the long double as NAN at the
end of an MMX instruction, so the additional magic using conditional
types is unnecessary.
2021-11-07 22:42:23 +00:00
Hendiadyoin1
d06675e3e4
UserspaceEmulator: Use unsigned types for logical MMX shifting
2021-11-07 22:42:23 +00:00
Ben Wiederhake
3796d417e0
Demos+DevTools+Games: Fix visibility of Object-derivative constructors
...
Derivatives of Core::Object should be constructed through
ClassName::construct(), to avoid handling ref-counted objects with
refcount zero. Fixing the visibility means that misuses like this are
more difficult.
2021-11-02 22:56:53 +01:00