Commit Graph

83 Commits

Author SHA1 Message Date
Andrew Morris
702506d315 Simplify builtins 2023-05-29 14:46:24 +10:00
Andrew Morris
64caac9254 Implement next, unpack_iter_res, fix iteration.vsm 2023-05-29 13:59:11 +10:00
Andrew Morris
161ed1c6de Add next and unpack_iter_res instructions (unimplemented) 2023-05-29 13:19:04 +10:00
Andrew Morris
e7d008e3c9 Implement ArrayIterator.next 2023-05-29 12:45:38 +10:00
Andrew Morris
4cfcb00e10 custom -> dynamic 2023-05-29 11:09:59 +10:00
Andrew Morris
e40ea540e2 Implement Array.values 2023-05-29 10:36:36 +10:00
Andrew Morris
995c29cea5 ArrayIterator 2023-05-29 09:34:12 +10:00
Andrew Morris
cbc6e1f1da IterationResult, remove as_object_data 2023-05-29 09:12:29 +10:00
Andrew Morris
3b2be89880 Remove next stubs 2023-05-26 18:03:03 +10:00
Andrew Morris
ac868be23c Replace VsPointer with cached decoding 2023-05-26 17:50:35 +10:00
Andrew Morris
4fb30d68be Replace range_error macro 2023-05-26 16:18:51 +10:00
Andrew Morris
1613734325 Simplify native_fn 2023-05-26 16:13:23 +10:00
Andrew Morris
d214e27dc8 BuiltinObject refactor 2023-05-26 15:23:58 +10:00
Andrew Morris
67ba0d9a03 Reduce explicit Val::Static() 2023-05-26 14:25:20 +10:00
Andrew Morris
e0b66ca93f Simplify to_primitive 2023-05-26 14:03:05 +10:00
Andrew Morris
90e8410257 Remove unused code 2023-05-26 13:57:10 +10:00
Andrew Morris
4814329eca Implement to_val_string on Val and avoid conversion when already string 2023-05-26 13:53:27 +10:00
Andrew Morris
bc89575eae Replace val_to_string with to_string (via fmt::Display) 2023-05-26 13:17:31 +10:00
Andrew Morris
3cfe1a6527 Use .pretty() instead of defining Display as pretty version 2023-05-26 12:21:02 +10:00
Andrew Morris
ea42e94d5d to_val refactor, remove error macros 2023-05-26 11:54:43 +10:00
Andrew Morris
35c9699f2b Add stubs for ValTrait.next 2023-05-25 15:19:33 +10:00
Andrew Morris
205f5efa02 Add Symbol builtin 2023-05-25 13:45:38 +10:00
Andrew Morris
706fb78442 Add symbols 2023-05-25 13:15:15 +10:00
Andrew Morris
f0ce1743e7 Integrate step limit into run() instead of separate method 2023-05-24 15:53:47 +10:00
Andrew Morris
0785fe0c5e Add args param 2023-04-15 16:45:40 +09:00
Andrew Morris
316a979a11 Add run_with_limit 2023-04-14 23:56:02 +09:00
Andrew Morris
0ee1f473ce this_subcall 2023-04-05 10:31:05 +10:00
Andrew Morris
dc685f5892 require_mutable_this 2023-04-05 10:15:19 +10:00
Andrew Morris
f728509db9 const_subcall, more tests 2023-04-04 13:49:46 +10:00
Andrew Morris
9084677dd4 Track const in stack frames 2023-04-04 09:51:49 +10:00
Andrew Morris
e54abc981f Make native functions const aware 2023-04-04 00:13:04 +10:00
Andrew Morris
8d7fe133f3 Replace run with runLinked, allow modules that don't export functions 2023-03-28 16:56:01 +11:00
Andrew Morris
45294cec47 Avoid throwing when register is void 2023-03-23 10:30:57 +11:00
Andrew Morris
ad478c0c4b Catch exceptions using .catch_setting 2023-03-23 10:11:10 +11:00
Andrew Morris
0daaf0f650 Implement stack unwinding 2023-03-23 09:57:40 +11:00
Andrew Morris
337c5c5296 Add set_catch, unset_catch instructions 2023-03-23 09:35:33 +11:00
Andrew Morris
a046a8e4fc Fix bigint + type error 2023-03-21 16:47:54 +11:00
Andrew Morris
feeb0594de Emit type and range errors 2023-03-21 16:44:41 +11:00
Andrew Morris
e657604cbe Error builtin 2023-03-21 16:06:53 +11:00
Andrew Morris
8b535f4f03 Throw instruction 2023-03-21 14:16:23 +11:00
Andrew Morris
cfb72fdbcd Dedupe InstructionByte 2023-03-21 14:00:33 +11:00
Andrew Morris
f75b0c7152 Convert most vm panics into exceptions 2023-03-21 13:45:22 +11:00
Andrew Morris
a59b577cd3 Make NativeFunction use exceptions (panics not converted though) 2023-03-21 12:07:04 +11:00
Andrew Morris
215139e98b Exceptions for binary ops 2023-03-21 11:14:44 +11:00
Andrew Morris
11b547db15 Set up frame steps for exceptions 2023-03-21 09:51:25 +11:00
Andrew Morris
eaf6280c71 Add Number.EPSILON 2023-03-20 18:51:10 +11:00
Andrew Morris
5b7a64049c Fix codify bigint suffix, adjust readme 2023-03-20 18:29:01 +11:00
Andrew Morris
d2c437a9b6 BigInt 2023-03-20 17:59:07 +11:00
Andrew Morris
44de4a88f4 Allow using isFinite, isNaN, parseFloat, parseInt globally 2023-03-20 14:39:49 +11:00
Andrew Morris
b71bf3a9d1 Array builtin 2023-03-20 14:31:41 +11:00