John Alanbrook
08559234c4
fix closures
2026-02-05 02:07:18 -06:00
John Alanbrook
c3dc27eac6
machine code
2026-02-04 23:45:51 -06:00
John Alanbrook
7170a9c7eb
ast
2026-02-04 22:20:57 -06:00
John Alanbrook
a08ee50f84
serializable bytecode
2026-02-04 20:57:44 -06:00
John Alanbrook
ed7dd91c3f
rm global
2026-02-04 18:57:45 -06:00
John Alanbrook
3abe20fee0
merge
2026-02-04 18:38:46 -06:00
John Alanbrook
a92a96118e
remove eval parser; consolidate addintrinsic
2026-02-04 17:15:03 -06:00
John Alanbrook
4e407fe301
migrate nota, wota into quickjs.c
2026-02-04 17:03:48 -06:00
John Alanbrook
ab74cdc173
merge warningfix
2026-02-04 16:17:52 -06:00
John Alanbrook
2c9d039271
massive cleanup
2026-02-04 14:26:17 -06:00
John Alanbrook
80d314c58f
Merge templatefix branch
...
Use PPretext for parser string building to avoid GC issues during parsing.
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com >
2026-02-04 14:21:25 -06:00
John Alanbrook
611fba2b6f
fix regexp parsing
2026-02-04 14:19:39 -06:00
John Alanbrook
f5fad52d47
Rewrite template literals with OP_format_template
...
Replace complex template literal handling with a simple format-based
approach. Template literals like `hello ${x}` now compile to:
<push x>
OP_format_template expr_count=1, cpool_idx=N
where cpool[N] = "hello {0}"
The opcode handler parses the format string, substitutes {N} placeholders
with stringified stack values, and produces the result string.
Key implementation details:
- Uses PPretext (parser pretext) with pjs_malloc to avoid GC issues
- Re-reads b->cpool[cpool_idx] after any GC-triggering operation
- Opcode layout is u16 expr_count followed by u32 cpool_idx - the u16
must come first because compute_stack_size reads the pop count from
position 1 for npop_u16 format opcodes
Removed:
- OP_template_concat opcode and handler
- Tagged template literal support (users can use format() directly)
- FuncCallType enum (FUNC_CALL_TEMPLATE case no longer needed)
- Complex template object creation logic in js_parse_template
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com >
2026-02-04 14:18:02 -06:00
John Alanbrook
2fc7d333ad
new environment tact for engine
2026-02-04 14:12:57 -06:00
John Alanbrook
d4635f2a75
remove unused vars, fix warnings
2026-02-04 13:49:43 -06:00
John Alanbrook
19576533d9
no more global obj; eval w/ env
2026-02-03 23:07:30 -06:00
John Alanbrook
c08249b6f1
clean up var ref
2026-02-03 22:01:42 -06:00
John Alanbrook
dc348d023f
optimize lref
2026-02-03 21:37:17 -06:00
John Alanbrook
fd5e4d155e
varref cleanup
2026-02-03 20:09:35 -06:00
John Alanbrook
e734353722
Begin removal of varref
2026-02-03 19:13:17 -06:00
John Alanbrook
94f1645be1
new closure model
2026-02-03 19:04:38 -06:00
John Alanbrook
41e3a6d91a
closures work
2026-02-03 18:42:14 -06:00
John Alanbrook
04c569eab1
fix parser
2026-02-03 18:24:06 -06:00
John Alanbrook
dc3c474b3a
link
2026-02-03 18:01:31 -06:00
John Alanbrook
f1117bbd41
get_global
2026-02-03 17:35:24 -06:00
John Alanbrook
43faad95e0
new opcodes
2026-02-03 17:21:41 -06:00
John Alanbrook
acc9878b36
bytecode dump
2026-02-03 17:08:21 -06:00
John Alanbrook
03c45ee8b0
lexer
2026-02-03 16:59:20 -06:00
John Alanbrook
a171a0d2af
-e flag run script
2026-02-03 16:06:18 -06:00
John Alanbrook
bb8d3930b3
fix many internals wrt gc
2026-02-03 06:55:26 -06:00
John Alanbrook
522ae6128a
add FORCE_GC_AT_MALLOC logic
2026-02-03 03:00:46 -06:00
John Alanbrook
16c26e4bf2
fix object fwd growth
2026-02-03 02:53:06 -06:00
John Alanbrook
a9804785e0
fix gc
2026-02-03 02:44:52 -06:00
John Alanbrook
11ae703693
suite.c roots
2026-02-03 02:40:40 -06:00
John Alanbrook
f203278c3e
more gc correctness
2026-02-03 02:31:14 -06:00
John Alanbrook
a80557283a
fix poison heap
2026-02-03 02:06:29 -06:00
John Alanbrook
3e40885e07
extensive debugging; fixed forwarding error
2026-02-03 01:50:30 -06:00
John Alanbrook
e4b7de46f6
add function aware to gc
2026-02-03 01:20:24 -06:00
John Alanbrook
e680439a9b
gc asan poison
2026-02-03 01:03:23 -06:00
John Alanbrook
ae11504e00
copy gc
2026-02-03 00:34:07 -06:00
John Alanbrook
893deaec23
suite.c all works
2026-02-02 23:39:12 -06:00
John Alanbrook
69b032d3dc
rm gc
2026-02-02 23:02:50 -06:00
John Alanbrook
256a00c501
fix mem errors
2026-02-02 22:54:38 -06:00
John Alanbrook
8e166b8f98
gc aware
2026-02-02 22:46:07 -06:00
John Alanbrook
ddbdd00496
update text and object to be gc aware
2026-02-02 22:37:42 -06:00
John Alanbrook
bdf0461e1f
extensive C testing
2026-02-02 21:26:46 -06:00
John Alanbrook
0b86af1d4c
array gc
2026-02-02 20:33:11 -06:00
John Alanbrook
beac9608ea
chase
2026-02-02 18:54:15 -06:00
John Alanbrook
a04bebd0d7
fix str
2026-02-02 10:38:48 -06:00
John Alanbrook
ce74f726dd
compiles + runs
2026-02-02 10:24:02 -06:00