1. X
  2. Joyee Cheung
Log inSign up
Joyee Cheung
2,970 posts
user avatar
Joyee Cheung
@JoyeeCheung
She/Her. I contribute to Node.js and V8.
Mostly on 🦋
joyeecheung.github.io/blog/
Joined August 2012
794
Following
5,052
Followers
RepliesRepliesMediaMedia
  • Pinned
    user avatar
    Joyee Cheung
    @JoyeeCheung
    Nov 16, 2024
    🦋
  • user avatar
    Joyee Cheung
    @JoyeeCheung
    Aug 8
    Added some new commands to the GDB & LLDB plugin for V8.. `v8 source`: shows the JS source of the selected frame `v8 isolate`: find the isolate address in the current thread, works from the coredump too (implementing that in LLDB was quite a bit of challenge!)
    Screenshot showing v8 isolate and v8 source
  • user avatar
    Joyee Cheung
    @JoyeeCheung
    Jul 8
    Made the new debug helper plugins work for Node.js + bleeding edge V8 🌟 Verified it works in LLDB (Linux, macOS) & GDB (Linux), both in live and coredump debugging Going to backport the patches to Node.js when the object inspection is more polished and it stablizes bit more..
    Using the plugin, bt in gdb shows the JS source info of JIT-compiled frames, mostly from the CJS loader (without plugin gdb only shows ???)
    In the plugin's `v8 inspect` command, it shows the this argument of the first frame is a function named "Module" (the CJS loader class i.e. require('module').Module)
  • user avatar
    Joyee Cheung
    @JoyeeCheung
    Jul 7
    Landed some improvements to errors for require(esm) with top-level await (behind --experimental-print-required-tla for now): - No need to run the code to collect the TLA locations, so it can be enabled by default soon - Added require stack and location metadata to the error
    Before: extra noisy arrow pointing to internals, no require stack, needs to run the code to find the top-level await location
After: no more noisy arrows, added require stacks to the output, finds location without running the code
    New ERR_REQUIRE_ASYNC_MODULE includes error.requireStack and error.topLevelAwaitLocations metadata properties
  • user avatar
    Joyee Cheung
    @JoyeeCheung
    Jun 11
    Today I gave a talk @thejsnation about the life cycle of ESM in Node.js, how it differs in other environments and the new features that will affect these stages. Slides:
    Image
    talks/jsnation_2026/life-of-an-esm-in-nodejs.pdf at master · joyeecheung/talks
    From github.com

Log in or sign up for X

See what’s happening and join the conversation

Continue with phone
or
Log in with username or email
Terms·Privacy·Cookies·Accessibility·Ads Info·© 2026 X Corp.
Advertisement
Advertisement