Results 699 comments of Joyee Cheung

I found the cause: https://www.open-std.org/Jtc1/sc22/wg21/docs/papers/2018/p1008r1.pdf, we need to remove all the constructors of the aggregate type, even the `= default` and `= delete` ones (which are the only ones we...

I tested https://github.com/nodejs/node/pull/48510 on the repro in the OP, in https://github.com/nodejs/node/issues/43205#issuecomment-1272209939 and https://github.com/nodejs/node/issues/43205#issuecomment-1534663358 and they are all fixed locally. I'll write a test based on the repo in https://github.com/nodejs/node/issues/43205#issuecomment-1272209939 in...

Closing as https://github.com/nodejs/node/pull/48510 has landed and should fix this. We can re-open if that turns out to be incorrect (hopefully not).

I think it's worth giving a try. IIUC, we didn't use `EmbedderHeapTracer` because that only works with `BaseObject`s that called `MakeWeak()`, Oilpan is more powerful so it should work with...

I drafted a design doc on how to integrate Oilpan into Node.js: https://docs.google.com/document/d/1ny2Qz_EsUnXGKJRGxoA-FXIE2xpLgaMAN6jD7eAkqFQ/edit I also did a [POC by migrating CompiledFnEntry](https://github.com/joyeecheung/node/tree/cppgc-vm-compile) while I was testing https://github.com/nodejs/node/pull/45704, although CompiledFnEntry is probably...

With CompiledFnEntry already gone, I went on to experiment migration on a few internal classes. I have a [WIP branch](https://github.com/joyeecheung/node/tree/cppgc-migrate) to figure out a better strategy of migration and track...

Some interesting update: I noticed that moving from weak BaseObject to Oilpan-management (without cleanup queue book-keeping) is about 2.5x faster: ``` misc/object-wrap.js method="ExampleCppgcObject" n=1000000: 8,113,612.185256452 misc/object-wrap.js method="ExampleBaseObject" n=1000000: 3,218,022.6465318813 ```...

Some updates: - In https://github.com/nodejs/node/pull/51017 we see a 27% speedup in `crypto.createHash()` performance after migration, and ~10% speedup in the whole hashing performance in some cases. But it's currently blocked...

Maybe we can also identify a subset of the benchmark that can be finished in a reasonable amount of time (or with a config that make them finish in a...

> I would advocate for a, with b and c as possible intermediary steps. Note that there are multiple errors we can throw as the end-goal 1. TypeError: process.binding is...