Linus Groh
a02b9983f9
LibJS: Throw RuntimeError when reaching the end of the stack
...
This prevents stack overflows when calling infinite/deep recursive
functions, e.g.:
const f = () => f(); f();
JSON.stringify({}, () => ({ foo: "bar" }));
new Proxy({}, { get: (_, __, p) => p.foo }).foo;
The VM caches a StackInfo object to not slow down function calls
considerably. VM::push_call_frame() will throw an exception if
necessary (plain Error with "RuntimeError" as its .name).
2020-11-08 16:51:54 +01:00
..
2020-11-07 10:08:05 +01:00
2020-10-20 20:27:58 +02:00
2020-11-02 22:40:59 +01:00
2020-10-02 16:03:17 +02:00
2020-10-28 21:11:32 +01:00
2020-11-05 19:15:00 +01:00
2020-07-06 23:40:35 +02:00
2020-07-06 23:40:35 +02:00
2020-10-08 23:27:16 +02:00
2020-10-29 22:28:15 +01:00
2020-11-04 15:31:39 +01:00
2020-10-30 23:43:38 +01:00
2020-07-06 23:40:35 +02:00
2020-07-14 20:15:19 +02:00
2020-07-11 23:13:29 +02:00
2020-07-06 23:40:35 +02:00
2020-07-06 23:40:35 +02:00
2020-09-12 11:29:39 +02:00
2020-07-06 23:40:35 +02:00
2020-10-02 16:03:17 +02:00
2020-10-31 15:25:12 +01:00
2020-07-06 23:40:35 +02:00
2020-10-05 09:25:04 +02:00
2020-10-08 23:27:16 +02:00
2020-07-06 23:40:35 +02:00
2020-07-06 23:40:35 +02:00
2020-10-28 21:11:32 +01:00
2020-10-20 20:27:58 +02:00
2020-10-08 10:02:47 +02:00
2020-07-06 23:40:35 +02:00
2020-07-09 23:33:00 +02:00
2020-11-07 10:08:28 +01:00
2020-11-04 19:33:49 +01:00
2020-10-23 19:13:06 +02:00
2020-10-29 22:27:55 +01:00
2020-07-06 23:40:35 +02:00
2020-07-06 23:40:35 +02:00
2020-10-08 23:23:55 +02:00
2020-11-08 16:51:54 +01:00
2020-10-04 10:46:12 +02:00
2020-07-06 23:40:35 +02:00
2020-10-29 11:52:31 +01:00
2020-07-06 23:40:35 +02:00
2020-10-19 11:30:14 +02:00
2020-07-06 23:40:35 +02:00
2020-07-06 23:40:35 +02:00
2020-10-25 15:16:47 +01:00
2020-10-28 21:11:32 +01:00
2020-10-28 21:11:32 +01:00
2020-07-06 23:40:35 +02:00
2020-07-06 23:40:35 +02:00
2020-07-06 23:40:35 +02:00
2020-09-12 09:31:16 +02:00
2020-10-24 16:34:01 +02:00
2020-07-06 23:40:35 +02:00
2020-07-06 23:40:35 +02:00
2020-11-02 13:13:54 +01:00
2020-07-06 23:40:35 +02:00
2020-07-06 23:40:35 +02:00
2020-07-06 23:40:35 +02:00