Skip to content

Fail to run simple SES embedding in QuickJS #2617

Answered by mhofman
p-bakker asked this question in Q&A
Discussion options

You must be logged in to vote

Thanks for tracking this down and filing an issue. Yes the compartment evaluator optimizes into a const any non-configurable and non-writable property of the compartment's global to avoid having the lookup for these go through the with machinery.

Similarly the 4 layers of nested with is in part to avoid having to go through a proxy object when simply looking up a name on the compartment's global. The proxy is only there to prevent the lookup from escaping to the actual global scope.

I see in the issue the bug can be reduced to declaring a const undefined which makes sense as the proxy and with aren't really involved here. Interesting that there may not be a test262 to catch this. FYI @gib…

Replies: 3 comments 3 replies

Comment options

You must be logged in to vote
0 replies
Comment options

You must be logged in to vote
3 replies
@p-bakker
Comment options

@mhofman
Comment options

Answer selected by p-bakker
@gibson042
Comment options

Comment options

You must be logged in to vote
0 replies
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Category
Q&A
Labels
ecosystem-compatibility Tracks a compatibility issue in a third-party package or packages.
4 participants