1
Fork 0
mirror of https://github.com/RGBCube/serenity synced 2026-01-13 00:50:59 +00:00
serenity/Userland/Utilities
davidot 9264f9d24e LibJS+Everywhere: Remove VM::exception() and most related functions
This commit removes all exception related code:
Remove VM::exception(), VM::throw_exception() etc. Any leftover
throw_exception calls are moved to throw_completion.
The one method left is clear_exception() which is now a no-op. Most of
these calls are just to clear whatever exception might have been thrown
when handling a Completion. So to have a cleaner commit this will be
removed in a next commit.

It also removes the actual Exception and TemporaryClearException classes
since these are no longer used.

In any spot where the exception was actually used an attempt was made to
preserve that behavior. However since it is no longer tracked by the VM
we cannot access exceptions which were thrown in previous calls.
There are two such cases which might have different behavior:
- In Web::DOM::Document::interpreter() the on_call_stack_emptied hook
  used to print any uncaught exception but this is now no longer
  possible as the VM does not store uncaught exceptions.
- In js the code used to be interruptable by throwing an exception on
  the VM. This is no longer possible but was already somewhat fragile
  before as you could happen to throw an exception just before a VERIFY.
2022-02-08 09:12:42 +00:00
..
abench.cpp Utilites: Add abench utility 2021-11-28 13:33:51 -08:00
adjtime.cpp adjtime: Port to LibMain 2022-01-21 01:52:22 +01:00
allocate.cpp allocate: Port to LibMain :^) 2021-11-27 11:14:16 +01:00
aplay.cpp aplay: Add unveil and pledge promises 2022-01-21 02:00:53 +01:00
arp.cpp Utilities/arp: Propagate errors in JSON decoding 2021-12-30 14:37:02 +01:00
asctl.cpp LibCore+LibIPC+Everywhere: Return Stream::LocalSocket from LocalServer 2022-01-15 13:29:48 +03:30
base64.cpp AK+Userland: Make AK::decode_base64 return ErrorOr 2022-01-24 22:36:09 +01:00
basename.cpp Everywhere: Use default execpromises argument for Core::System::pledge 2021-11-28 08:04:57 +01:00
beep.cpp beep: Port to LibMain :^) 2022-01-09 11:16:00 +03:30
blockdev.cpp Kernel: Use u64 instead of size_t in the STORAGE_DEVICE_GET_SIZE ioctl 2022-01-25 22:41:17 +02:00
bt.cpp Everywhere: Use default execpromises argument for Core::System::pledge 2021-11-28 08:04:57 +01:00
cal.cpp Userland: Add promises to programs that will read /etc/timezone 2022-01-23 12:48:26 +00:00
cat.cpp Everywhere: Use default execpromises argument for Core::System::pledge 2021-11-28 08:04:57 +01:00
checksum.cpp LibCrypto: Make Digests able to return bytes 2022-01-05 01:07:21 +03:30
chgrp.cpp chown+chgrp: Add --no-dereference option 2022-01-01 15:08:49 +01:00
chmod.cpp chmod: Use FilePermissionsMask to handle mode argument 2022-01-01 17:33:43 +00:00
chown.cpp chown+chgrp: Add --no-dereference option 2022-01-01 15:08:49 +01:00
chres.cpp chres: Port to LibMain :^) 2021-12-11 15:10:42 -08:00
cksum.cpp cksum: Port to LibMain :^) 2021-12-11 15:10:42 -08:00
clear.cpp clear: Port to LibMain :^) 2021-12-11 15:10:42 -08:00
CMakeLists.txt sleep: Port to LibMain 2022-02-01 04:58:24 +00:00
comm.cpp comm: Port to LibMain :^) 2021-12-11 15:10:42 -08:00
config.cpp config: Port to LibMain :^) 2021-12-11 15:10:42 -08:00
copy.cpp copy: Port to LibMain :^) 2021-11-25 21:41:02 +01:00
cp.cpp cp: Print proper error message with strerror 2021-12-20 10:40:02 -08:00
cpp-lexer.cpp cpp-lexer: Port to LibMain :^) 2021-12-11 15:10:42 -08:00
cpp-parser.cpp cpp-parser: Port to LibMain :^) 2021-12-11 15:10:42 -08:00
cpp-preprocessor.cpp cpp-processor: Port to LibMain :^) 2021-12-11 15:10:42 -08:00
cut.cpp cut: Port to LibMain :^) 2021-12-11 15:10:42 -08:00
date.cpp date: Use an explicit time format string for default option 2022-01-28 20:19:05 +00:00
dd.cpp dd: Port to LibMain :^) 2021-12-11 15:10:42 -08:00
ddate.cpp Revert "Userland: Invoke tzset in apps that care about time zones" 2022-01-28 15:13:35 +00:00
df.cpp df: Port to LibMain 2021-12-16 02:10:47 -08:00
diff.cpp diff: Port to LibMain 2021-12-16 02:10:47 -08:00
dirname.cpp dirname: Port to LibMain 2021-12-16 02:10:47 -08:00
disasm.cpp disasm: Don't fail when trying to disassemble empty files 2022-01-18 09:08:14 +01:00
disk_benchmark.cpp Everywhere: Convert ByteBuffer factory methods from Optional -> ErrorOr 2022-01-24 22:36:09 +01:00
dmesg.cpp Everywhere: Use default execpromises argument for Core::System::pledge 2021-11-28 08:04:57 +01:00
du.cpp du: Display true size of directory instead of 4 KiB 2022-01-06 18:19:31 +01:00
echo.cpp Everywhere: Use default execpromises argument for Core::System::pledge 2021-11-28 08:04:57 +01:00
env.cpp env: Convert to serenity_main(..) 2021-12-24 14:29:52 -08:00
errno.cpp errno: Port to LibMain 2022-01-01 14:40:41 +01:00
expr.cpp expr: Use StringView literals more (instead of raw C strings) 2021-12-16 02:10:47 -08:00
false.cpp false: Port to LibMain 2022-01-14 19:42:19 +02:00
fdtdump.cpp fdtdump: Port to LibMain 2021-12-16 02:10:47 -08:00
fgrep.cpp fgrep: Port fgrep to LibMain 2022-01-01 14:40:41 +01:00
file.cpp LibELF: Accept Span instead of Pointer+Size in validate_program_headers 2022-01-13 22:40:25 +01:00
find.cpp find: Fix crash on missing arguments 2022-01-23 16:29:06 +01:00
flock.cpp LibCore+flock: Make Core::System::waitpid more ergonomic 2022-01-11 16:04:29 +01:00
fortune.cpp Revert "Userland: Invoke tzset in apps that care about time zones" 2022-01-28 15:13:35 +00:00
functrace.cpp LibDebug+Everywhere: Avoid void* -> FlatPtr -> void* dance 2022-01-28 22:51:27 +00:00
gml-format.cpp LibGUI: Remove GML prefix in favor of proper namespace 2022-02-07 18:39:50 +01:00
grep.cpp grep: Port to LibMain 2022-01-14 19:42:19 +02:00
gron.cpp gron: Use StringView literals more (instead of raw C strings) 2021-12-04 14:24:04 +01:00
groupadd.cpp groupadd: Port to LibMain and use the new Core::Group abstraction :^) 2022-01-16 11:19:07 +01:00
groupdel.cpp Everywhere: Fix spelling mistakes 2022-01-07 15:44:42 +01:00
groups.cpp groups: Do not attempt to open /etc/groups 2022-01-21 22:10:23 +01:00
gunzip.cpp gunzip: Don't truncate output filename when input file suffix is omitted 2022-01-23 20:52:16 +00:00
gzip.cpp gzip: Don't fail when trying to compress empty files 2022-01-08 15:29:38 +01:00
head.cpp head: Port to LibMain 2022-01-14 19:42:19 +02:00
hexdump.cpp hexdump: Port to LibMain 2022-01-14 19:42:19 +02:00
host.cpp host: Port to LibMain 2022-01-14 19:42:19 +02:00
hostname.cpp hostname: Port to LibMain 2022-01-14 19:42:19 +02:00
id.cpp LibCore+id: Make more use of Core::System wrappers in Core::Account 2022-01-02 18:08:02 +01:00
ifconfig.cpp Utilities: Port ifconfig to LibMain 2022-01-14 21:38:38 +01:00
ini.cpp ini: Convert to serenity_main(..) 2021-12-24 14:29:52 -08:00
jp.cpp jp: Use File::standard_input() when reading from stdin 2022-01-08 06:19:09 -08:00
js.cpp LibJS+Everywhere: Remove VM::exception() and most related functions 2022-02-08 09:12:42 +00:00
kcov-example.cpp kcov-example: Print helpful error if kcov feature is missing 2021-11-21 13:52:25 +01:00
keymap.cpp Base+WindowsServer+keymap: Store multiple keymaps in a config 2022-02-03 00:47:22 +01:00
kill.cpp Userland: Replace most printf-style APIs with AK::Format APIs :^) 2021-06-01 21:30:16 +01:00
killall.cpp Everywhere: Improve CPU usage calculation 2021-07-18 22:08:26 +02:00
less.cpp less: Add hotkeys f and b to scroll screen up/down 2022-02-06 13:44:53 +01:00
ln.cpp Utilities/ln: Port to LibMain 2022-01-06 13:32:22 +01:00
logout.cpp Everywhere: Use default execpromises argument for Core::System::pledge 2021-11-28 08:04:57 +01:00
ls.cpp Revert "ls: Display times in the user's local time zone" 2022-01-28 15:13:35 +00:00
lsirq.cpp lsirq: Port to LibMain 2022-01-31 15:25:07 +01:00
lsof.cpp lsof: Use more StringView instead of const char* 2022-01-31 15:25:07 +01:00
lspci.cpp lspci: Port to LibMain :^) 2021-11-30 23:34:40 +01:00
lsusb.cpp Utilities/lsusb: Propagate errors in JSON decoding 2021-12-30 14:37:02 +01:00
man.cpp man: Fix error handling when section is specified 2022-01-07 21:31:46 +01:00
markdown-check.cpp markdown-check: Ignore absolute icon paths 2022-01-22 21:40:09 +02:00
matroska.cpp LibVideo: Migrate to east-const style & apply other minor fixes 2021-06-30 11:03:51 +02:00
md.cpp md: Port to LibMain 2022-01-25 00:11:14 +00:00
mkdir.cpp mkdir: Use FilePermissionsMask to handle mode option 2022-01-01 17:33:43 +00:00
mkfifo.cpp mkfifo: Port to LibMain 2022-01-24 14:01:58 +03:30
mknod.cpp mknod: Port to LibMain 2022-01-24 14:01:58 +03:30
mktemp.cpp mktemp: Port to LibMain 2022-01-24 14:01:58 +03:30
mount.cpp mount: Do not print usage if executed without any arguments 2022-02-02 21:43:27 +01:00
mv.cpp mv: Port to LibMain 2022-01-25 00:11:14 +00:00
nc.cpp nc: Port to LibMain 2022-01-15 22:01:07 +01:00
netstat.cpp Utilities/netstat: Propagate errors in JSON decoding 2021-12-30 14:37:02 +01:00
nl.cpp nl: Port to LibMain 2022-01-31 15:25:07 +01:00
notify.cpp notify: Port to LibMain 2022-01-31 15:25:07 +01:00
nproc.cpp Everywhere: Use default execpromises argument for Core::System::pledge 2021-11-28 08:04:57 +01:00
ntpquery.cpp ntpquery: Port to LibMain 2022-01-31 15:25:07 +01:00
open.cpp open: Use more StringView instead of const char* 2022-01-31 15:25:07 +01:00
pape.cpp pape: Port to LibMain 2022-01-31 15:25:07 +01:00
passwd.cpp LibCore+passwd+usermod: Make Core::Account::sync() return ErrorOr<void> 2021-12-16 22:48:17 +01:00
paste.cpp LibGUI+Everywhere: Make sync requests to Clipboard server more obvious 2021-11-21 11:49:06 +00:00
pathchk.cpp Everywhere: "file name" => "filename" 2021-04-29 22:16:18 +02:00
pgrep.cpp LibRegex: Don't push LibRegex's "Error" into the global namespace 2021-11-08 00:35:27 +01:00
pidof.cpp Everywhere: Improve CPU usage calculation 2021-07-18 22:08:26 +02:00
ping.cpp ping: Port to LibMain 2022-01-27 12:56:07 +01:00
pls.cpp pls: Stop on first non option when parsing arguments 2021-12-28 22:03:33 +02:00
pmap.cpp Everywhere: Use default execpromises argument for Core::System::pledge 2021-11-28 08:04:57 +01:00
pmemdump.cpp Userland: Introduce the pmemdump utility 2022-01-08 13:21:16 +02:00
printf.cpp LibC+AK: Implement all sorts of wprintf variants 2021-12-21 21:24:36 +03:30
pro.cpp LibCore+LibIPC+Everywhere: Return Stream::LocalSocket from LocalServer 2022-01-15 13:29:48 +03:30
profile.cpp profile: Specify the /proc/profile path in the help message 2022-01-04 07:56:54 +00:00
ps.cpp Everywhere: Use default execpromises argument for Core::System::pledge 2021-11-28 08:04:57 +01:00
purge.cpp Userland: Replace most printf-style APIs with AK::Format APIs :^) 2021-06-01 21:30:16 +01:00
pwd.cpp pwd: Add missing rpath pledge 2022-01-21 22:10:23 +01:00
readelf.cpp Utilities/readelf: Add support for printing the content of sections 2022-01-24 10:41:47 +00:00
readlink.cpp Userland: Replace most printf-style APIs with AK::Format APIs :^) 2021-06-01 21:30:16 +01:00
realpath.cpp Userland: Replace most printf-style APIs with AK::Format APIs :^) 2021-06-01 21:30:16 +01:00
reboot.cpp Kernel+Userland: Introduce a new way to reboot and poweroff the machine 2021-09-12 11:52:16 +02:00
rev.cpp rev: Port to LibMain 2022-01-24 05:38:30 +00:00
rm.cpp rm: Port to LibMain 2022-01-25 02:50:10 +00:00
rmdir.cpp rmdir: Port to LibMain 2022-01-25 02:50:10 +00:00
run-tests.cpp Utilities/run-tests: Add command-line switch to also run "skipped" tests 2022-02-05 18:12:19 +00:00
seq.cpp Userland: Replace most printf-style APIs with AK::Format APIs :^) 2021-06-01 21:30:16 +01:00
shot.cpp shot: Port to LibMain 2022-02-01 04:58:24 +00:00
shuf.cpp shuf: Port to LibMain 2022-01-24 05:38:30 +00:00
shutdown.cpp shutdown: Port to LibMain 2022-02-01 04:58:24 +00:00
sleep.cpp sleep: Port to LibMain 2022-02-01 04:58:24 +00:00
sort.cpp sort: Port to LibMain 2022-01-24 05:38:30 +00:00
sql.cpp sql: Port to LibMain 2022-02-01 04:58:24 +00:00
stat.cpp Everywhere: Add serenity_dev_{makedev,major,minor} 2022-01-09 00:58:44 +01:00
strace.cpp Everywhere: Convert ByteBuffer factory methods from Optional -> ErrorOr 2022-01-24 22:36:09 +01:00
stty.cpp stty: Port to LibMain 2022-02-01 04:58:24 +00:00
su.cpp su: Port to LibMain :^) 2021-12-16 22:48:17 +01:00
sync.cpp sync: Port to LibMain 2022-02-01 04:58:24 +00:00
syscall.cpp syscall: Port to LibMain 2022-02-01 04:58:24 +00:00
sysctl.cpp sysctl: Port to LibMain 2022-02-01 04:58:24 +00:00
tac.cpp Userland: Port tac to LibMain 2022-01-09 04:26:16 -08:00
tail.cpp tail: Port to LibMain 2022-01-25 00:11:14 +00:00
tar.cpp tar: Implement -C option 2022-01-04 06:22:34 +00:00
tee.cpp Everything: Move to SPDX license identifiers in all files. 2021-04-22 11:22:27 +02:00
telws.cpp AK+Userland: Make AK::decode_base64 return ErrorOr 2022-01-24 22:36:09 +01:00
test-bindtodevice.cpp Userland: Rename e1k0 to ep0s7 2021-05-22 15:42:54 +01:00
test-fuzz.cpp Meta: Add a fuzzer for the QOILoader 2021-12-21 13:27:27 +01:00
test-imap.cpp LibIMAP+Userland: Convert LibIMAP::Client to the Serenity Stream APIs 2022-01-13 15:16:12 +03:30
test-pthread.cpp test-pthread: Add a mutex test 2021-07-07 17:08:40 +02:00
test-unveil.cpp Utilities: Fix test-unveil INT_MAX include 2021-05-23 18:10:29 +02:00
test.cpp Everywhere: Pass AK::StringView by value 2021-11-11 01:27:46 +01:00
test_env.cpp Everywhere: Fix spelling mistakes 2022-01-07 15:44:42 +01:00
timezone.cpp Everywhere: Update copyrights with my new serenityos.org e-mail :^) 2022-01-31 18:23:22 +00:00
top.cpp top: Use Core::System::ioctl() 2021-11-30 23:34:40 +01:00
touch.cpp touch: Port to LibMain :^) 2021-12-20 22:16:05 +01:00
tr.cpp Utilities/tr: Rework squeezing to be supported during more operations 2021-11-13 23:34:49 +01:00
traceroute.cpp Utilities: Fix incorrect error handling in traceroute 2021-09-12 16:36:52 +02:00
tree.cpp tree: Port to LibMain 2022-01-25 04:26:56 +00:00
true.cpp Everything: Move to SPDX license identifiers in all files. 2021-04-22 11:22:27 +02:00
truncate.cpp Everywhere: Use default execpromises argument for Core::System::pledge 2021-11-28 08:04:57 +01:00
tt.cpp Utilities: Fix -Wunreachable-code warnings from clang 2021-10-08 23:33:46 +02:00
tty.cpp Userland: Replace most printf-style APIs with AK::Format APIs :^) 2021-06-01 21:30:16 +01:00
umount.cpp umount: Port to LibMain 2022-01-22 13:31:52 +02:00
uname.cpp uname: Port to LibMain 2022-01-04 07:33:23 +00:00
uniq.cpp uniq: Port to LibMain 2022-01-04 07:33:23 +00:00
unzip.cpp unzip: Don't fail from mmap when trying to decompress empty files 2022-01-15 22:24:19 +02:00
uptime.cpp uptime: Port to LibMain :^) 2022-01-02 09:42:56 +00:00
useradd.cpp Utilities: Do not allow creating users with existing usernames 2021-06-09 09:00:31 +02:00
userdel.cpp Everywhere: Use default execpromises argument for Core::System::pledge 2021-11-28 08:04:57 +01:00
usermod.cpp LibCore+passwd+usermod: Make Core::Account::sync() return ErrorOr<void> 2021-12-16 22:48:17 +01:00
utmpupdate.cpp Everywhere: Use default execpromises argument for Core::System::pledge 2021-11-28 08:04:57 +01:00
w.cpp Revert "Userland: Invoke tzset in apps that care about time zones" 2022-01-28 15:13:35 +00:00
wasm.cpp Userland: Port wasm to LibMain 2022-01-09 04:26:16 -08:00
watch.cpp watch: Port to LibMain 2021-12-19 18:26:57 -08:00
wc.cpp wc: Port to LibMain 2022-01-04 07:33:23 +00:00
which.cpp Userland: Fail Core::find_executable_in_path on empty inputs 2022-01-04 07:38:42 +00:00
whoami.cpp whoami: Port to LibMain :^) 2021-11-30 23:34:40 +01:00
wsctl.cpp wsctl: Port to LibMain 2022-01-04 07:33:23 +00:00
xargs.cpp xargs: Port to LibMain 2022-01-04 07:33:23 +00:00
yes.cpp yes: Port to LibMain 2022-01-04 07:33:23 +00:00
zip.cpp zip: Ignore symlinks when recursively zipping files 2022-01-28 19:05:52 +02:00