GeezerVisonThe World Wide Web, restored to 800 pixels of glory. | |||||||
| Home|About|Gaming cabinet|Archives|How it works|Starter sites | |||||||
GeezerVison is showing github.com — vm: make ContextifyContext a BaseObject by joyeecheung · Pull Request #44796 · nodejs/node Conversation
Member
src: refactor BaseObject methods
benchmark: add vm context global proxy benchmarkvm: make ContextifyContext a BaseObjectInstead of adding a reference to the ContextifyContext by using
Sorry, something went wrong. Uh oh!
There was an error while loading. Please reload this page. All reactions
joyeecheung
commented
Member
Author
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. I tried using a private symbol from the receiver to the wrapper and then unwrap to get to the ContextifyContext*, which is a bit slower than the current approach, so we are still using the context embedder field here. In any case, as long as the context is alive, the sandbox must be alive (through the kSandboxObject internal field), then the wrapper must be alive (through the contextify_context_private_symbol), so the
Sorry, something went wrong. Uh oh!
There was an error while loading. Please reload this page. All reactions
legendecas
reviewed
Uh oh!
There was an error while loading. Please reload this page. - Wrap the initialization of the kSlot and kEmbedderType fields into a BaseObject::SetInternalFields() method. - Move the tagging of kEmbedderType field into BaseObject::TagNodeObject() - Add a variant of BaseObject::MakeLazilyInitializedJSTemplate() that only needs IsolateData. This makes it easier to create BaseObject subclasses. Instead of adding a reference to the ContextifyContext by using a v8::External, we make ContextifyContext a weak BaseObject that whose wrapper is referenced by the sandbox via a private symbol. This makes it easier to snapshot the contexts, in addition to reusing the BaseObject lifetime management for ContextifyContexts.
joyeecheung
force-pushed
the
contextify-baseobject
branch
from
71c4ed9 to
b5790b7
Compare
This reverts commit b9042c87b60184a37d9c8674ec8c8b29b2a8ab5e.
joyeecheung
force-pushed
the
contextify-baseobject
branch
from
b5790b7 to
cd6ffe3
Compare
Collaborator
All reactions
Sorry, something went wrong. Uh oh!
There was an error while loading. Please reload this page.
16 tasks
legendecas
approved these changes
Member
All reactions
Sorry, something went wrong. Uh oh!
There was an error while loading. Please reload this page.
Collaborator
All reactions
Sorry, something went wrong. Uh oh!
There was an error while loading. Please reload this page.
Collaborator
All reactions
Sorry, something went wrong. Uh oh!
There was an error while loading. Please reload this page.
This was referenced
jasnell
approved these changes
9 tasks
Collaborator
All reactions
Sorry, something went wrong. Uh oh!
There was an error while loading. Please reload this page.
joyeecheung
added a commit
that referenced
this pull request
- Wrap the initialization of the kSlot and kEmbedderType fields into a BaseObject::SetInternalFields() method. - Move the tagging of kEmbedderType field into BaseObject::TagNodeObject() - Add a variant of BaseObject::MakeLazilyInitializedJSTemplate() that only needs IsolateData. This makes it easier to create BaseObject subclasses. PR-URL: #44796 Reviewed-By: Chengzhong Wu <[email protected]> Reviewed-By: James M Snell <[email protected]>
joyeecheung
added a commit
that referenced
this pull request
PR-URL: #44796 Reviewed-By: Chengzhong Wu <[email protected]> Reviewed-By: James M Snell <[email protected]>
joyeecheung
added a commit
that referenced
this pull request
Instead of adding a reference to the ContextifyContext by using a v8::External, we make ContextifyContext a weak BaseObject that whose wrapper is referenced by the sandbox via a private symbol. This makes it easier to snapshot the contexts, in addition to reusing the BaseObject lifetime management for ContextifyContexts. PR-URL: #44796 Reviewed-By: Chengzhong Wu <[email protected]> Reviewed-By: James M Snell <[email protected]>
Member
Author
All reactions
Sorry, something went wrong. Uh oh!
There was an error while loading. Please reload this page.
Contributor
All reactions
Sorry, something went wrong. Uh oh!
There was an error while loading. Please reload this page.
danielleadams
pushed a commit
that referenced
this pull request
PR-URL: #44796 Reviewed-By: Chengzhong Wu <[email protected]> Reviewed-By: James M Snell <[email protected]>
Merged
joyeecheung
added a commit
to joyeecheung/node
that referenced
this pull request
- Wrap the initialization of the kSlot and kEmbedderType fields into a BaseObject::SetInternalFields() method. - Move the tagging of kEmbedderType field into BaseObject::TagNodeObject() - Add a variant of BaseObject::MakeLazilyInitializedJSTemplate() that only needs IsolateData. This makes it easier to create BaseObject subclasses. PR-URL: nodejs#44796 Reviewed-By: Chengzhong Wu <[email protected]> Reviewed-By: James M Snell <[email protected]>
joyeecheung
added a commit
to joyeecheung/node
that referenced
this pull request
PR-URL: nodejs#44796 Reviewed-By: Chengzhong Wu <[email protected]> Reviewed-By: James M Snell <[email protected]>
joyeecheung
added a commit
to joyeecheung/node
that referenced
this pull request
Instead of adding a reference to the ContextifyContext by using a v8::External, we make ContextifyContext a weak BaseObject that whose wrapper is referenced by the sandbox via a private symbol. This makes it easier to snapshot the contexts, in addition to reusing the BaseObject lifetime management for ContextifyContexts. PR-URL: nodejs#44796 Reviewed-By: Chengzhong Wu <[email protected]> Reviewed-By: James M Snell <[email protected]>
nodejs-github-bot
pushed a commit
that referenced
this pull request
`contextify_global_private_symbol` is no longer used. It was used to hold a new context's global object, but the approach has been changed to hold a ContextifyContext wrapper using `contextify_context_private_symbol`. Signed-off-by: Daeyeon Jeong <[email protected]> PR-URL: #45128 Refs: #44796 Reviewed-By: James M Snell <[email protected]> Reviewed-By: Luigi Pinca <[email protected]> Reviewed-By: Mohammed Keyvanzadeh <[email protected]> Reviewed-By: Joyee Cheung <[email protected]> Reviewed-By: Juan José Arboleda <[email protected]>
RafaelGSS
pushed a commit
that referenced
this pull request
`contextify_global_private_symbol` is no longer used. It was used to hold a new context's global object, but the approach has been changed to hold a ContextifyContext wrapper using `contextify_context_private_symbol`. Signed-off-by: Daeyeon Jeong <[email protected]> PR-URL: #45128 Refs: #44796 Reviewed-By: James M Snell <[email protected]> Reviewed-By: Luigi Pinca <[email protected]> Reviewed-By: Mohammed Keyvanzadeh <[email protected]> Reviewed-By: Joyee Cheung <[email protected]> Reviewed-By: Juan José Arboleda <[email protected]>
joyeecheung
added a commit
that referenced
this pull request
- Wrap the initialization of the kSlot and kEmbedderType fields into a BaseObject::SetInternalFields() method. - Move the tagging of kEmbedderType field into BaseObject::TagNodeObject() - Add a variant of BaseObject::MakeLazilyInitializedJSTemplate() that only needs IsolateData. This makes it easier to create BaseObject subclasses. PR-URL: #44796 Reviewed-By: Chengzhong Wu <[email protected]> Reviewed-By: James M Snell <[email protected]>
joyeecheung
added a commit
that referenced
this pull request
Instead of adding a reference to the ContextifyContext by using a v8::External, we make ContextifyContext a weak BaseObject that whose wrapper is referenced by the sandbox via a private symbol. This makes it easier to snapshot the contexts, in addition to reusing the BaseObject lifetime management for ContextifyContexts. PR-URL: #44796 Reviewed-By: Chengzhong Wu <[email protected]> Reviewed-By: James M Snell <[email protected]>
juanarbol
pushed a commit
that referenced
this pull request
- Wrap the initialization of the kSlot and kEmbedderType fields into a BaseObject::SetInternalFields() method. - Move the tagging of kEmbedderType field into BaseObject::TagNodeObject() - Add a variant of BaseObject::MakeLazilyInitializedJSTemplate() that only needs IsolateData. This makes it easier to create BaseObject subclasses. PR-URL: #44796 Reviewed-By: Chengzhong Wu <[email protected]> Reviewed-By: James M Snell <[email protected]>
juanarbol
pushed a commit
that referenced
this pull request
Instead of adding a reference to the ContextifyContext by using a v8::External, we make ContextifyContext a weak BaseObject that whose wrapper is referenced by the sandbox via a private symbol. This makes it easier to snapshot the contexts, in addition to reusing the BaseObject lifetime management for ContextifyContexts. PR-URL: #44796 Reviewed-By: Chengzhong Wu <[email protected]> Reviewed-By: James M Snell <[email protected]>
RafaelGSS
pushed a commit
that referenced
this pull request
`contextify_global_private_symbol` is no longer used. It was used to hold a new context's global object, but the approach has been changed to hold a ContextifyContext wrapper using `contextify_context_private_symbol`. Signed-off-by: Daeyeon Jeong <[email protected]> PR-URL: #45128 Refs: #44796 Reviewed-By: James M Snell <[email protected]> Reviewed-By: Luigi Pinca <[email protected]> Reviewed-By: Mohammed Keyvanzadeh <[email protected]> Reviewed-By: Joyee Cheung <[email protected]> Reviewed-By: Juan José Arboleda <[email protected]>
danielleadams
pushed a commit
that referenced
this pull request
`contextify_global_private_symbol` is no longer used. It was used to hold a new context's global object, but the approach has been changed to hold a ContextifyContext wrapper using `contextify_context_private_symbol`. Signed-off-by: Daeyeon Jeong <[email protected]> PR-URL: #45128 Refs: #44796 Reviewed-By: James M Snell <[email protected]> Reviewed-By: Luigi Pinca <[email protected]> Reviewed-By: Mohammed Keyvanzadeh <[email protected]> Reviewed-By: Joyee Cheung <[email protected]> Reviewed-By: Juan José Arboleda <[email protected]>
danielleadams
pushed a commit
that referenced
this pull request
- Wrap the initialization of the kSlot and kEmbedderType fields into a BaseObject::SetInternalFields() method. - Move the tagging of kEmbedderType field into BaseObject::TagNodeObject() - Add a variant of BaseObject::MakeLazilyInitializedJSTemplate() that only needs IsolateData. This makes it easier to create BaseObject subclasses. PR-URL: #44796 Reviewed-By: Chengzhong Wu <[email protected]> Reviewed-By: James M Snell <[email protected]>
danielleadams
pushed a commit
that referenced
this pull request
Instead of adding a reference to the ContextifyContext by using a v8::External, we make ContextifyContext a weak BaseObject that whose wrapper is referenced by the sandbox via a private symbol. This makes it easier to snapshot the contexts, in addition to reusing the BaseObject lifetime management for ContextifyContexts. PR-URL: #44796 Reviewed-By: Chengzhong Wu <[email protected]> Reviewed-By: James M Snell <[email protected]>
danielleadams
pushed a commit
that referenced
this pull request
`contextify_global_private_symbol` is no longer used. It was used to hold a new context's global object, but the approach has been changed to hold a ContextifyContext wrapper using `contextify_context_private_symbol`. Signed-off-by: Daeyeon Jeong <[email protected]> PR-URL: #45128 Refs: #44796 Reviewed-By: James M Snell <[email protected]> Reviewed-By: Luigi Pinca <[email protected]> Reviewed-By: Mohammed Keyvanzadeh <[email protected]> Reviewed-By: Joyee Cheung <[email protected]> Reviewed-By: Juan José Arboleda <[email protected]>
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
ReviewersUh oh!
There was an error while loading. Please reload this page. AssigneesNo one assignedLabelsProjectsMilestoneNo milestoneDevelopmentSuccessfully merging this pull request may close these issues. Uh oh!
There was an error while loading. Please reload this page. Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later. | |||||||
| You are visitor 01402503 — GeezerVison does not store the pages you look up. Best viewed with Netscape Navigator 4.7 or Internet Explorer 6 at 800×600. No cookies required. |