V8 Project
v8::PerIsolateData::RealmScope Class Reference
+ Collaboration diagram for v8::PerIsolateData::RealmScope:

Public Member Functions

 RealmScope (PerIsolateData *data)
 
 ~RealmScope ()
 

Private Attributes

PerIsolateDatadata_
 

Detailed Description

Definition at line 93 of file d8.cc.

Constructor & Destructor Documentation

◆ RealmScope()

v8::PerIsolateData::RealmScope::RealmScope ( PerIsolateData data)
explicit

Definition at line 287 of file d8.cc.

287  : data_(data) {
288  data_->realm_count_ = 1;
289  data_->realm_current_ = 0;
290  data_->realm_switch_ = 0;
291  data_->realms_ = new Persistent<Context>[1];
292  data_->realms_[0].Reset(data_->isolate_,
294 }
Local< Context > GetEnteredContext()
Returns the last entered context.
Definition: api.cc:6402
PerIsolateData * data_
Definition: d8.cc:98
Isolate * isolate_
Definition: d8.cc:104
int realm_current_
Definition: d8.cc:106
int realm_switch_
Definition: d8.cc:107
int realm_count_
Definition: d8.cc:105
Persistent< Context > * realms_
Definition: d8.cc:108

References data_, v8::Isolate::GetEnteredContext(), v8::PerIsolateData::isolate_, v8::PerIsolateData::realm_count_, v8::PerIsolateData::realm_current_, v8::PerIsolateData::realm_switch_, and v8::PerIsolateData::realms_.

+ Here is the call graph for this function:

◆ ~RealmScope()

v8::PerIsolateData::RealmScope::~RealmScope ( )

Definition at line 297 of file d8.cc.

297  {
298  // Drop realms to avoid keeping them alive.
299  for (int i = 0; i < data_->realm_count_; ++i)
300  data_->realms_[i].Reset();
301  delete[] data_->realms_;
302  if (!data_->realm_shared_.IsEmpty())
303  data_->realm_shared_.Reset();
304 }
Persistent< Value > realm_shared_
Definition: d8.cc:109

Member Data Documentation

◆ data_

PerIsolateData* v8::PerIsolateData::RealmScope::data_
private

Definition at line 98 of file d8.cc.

Referenced by RealmScope().


The documentation for this class was generated from the following file: