Skip to content

vm: make ContextifyContext a BaseObject

src: refactor BaseObject methods

  • 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.

benchmark: add vm context global proxy benchmark

vm: make ContextifyContext a BaseObject

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.

Merge request reports

Loading