9#ifdef V8_ENABLE_SANDBOX
14 Isolate* isolate,
const DisallowJavascriptExecution& no_js)
17 DCHECK_NULL(isolate->trusted_pointer_publishing_scope());
18 isolate->set_trusted_pointer_publishing_scope(
this);
21TrustedPointerPublishingScope::~TrustedPointerPublishingScope() {
22 if (
state_ == State::kFailure) {
23 if (
storage_ == Storage::kSingleton) {
24 singleton_->OverwriteTag(kUnpublishedIndirectPointerTag);
25 }
else if (
storage_ == Storage::kVector) {
26 for (TrustedPointerTableEntry* entry : *
vector_) {
27 entry->OverwriteTag(kUnpublishedIndirectPointerTag);
36 isolate_->set_trusted_pointer_publishing_scope(
nullptr);
39void TrustedPointerPublishingScope::TrackPointer(
40 TrustedPointerTableEntry* entry) {
46 if (
storage_ == Storage::kSingleton) {
47 TrustedPointerTableEntry*
previous = singleton_;
48 vector_ =
new std::vector<TrustedPointerTableEntry*>();
56DisableTrustedPointerPublishingScope::DisableTrustedPointerPublishingScope(
59 saved_ = isolate->trusted_pointer_publishing_scope();
61 isolate->set_trusted_pointer_publishing_scope(
nullptr);
64DisableTrustedPointerPublishingScope::~DisableTrustedPointerPublishingScope() {
66 isolate_->set_trusted_pointer_publishing_scope(saved_);
TrustedPointerPublishingScope(Isolate *isolate, const DisallowJavascriptExecution &no_js)
enum v8::internal::@1270::DeoptimizableCodeIterator::@67 state_
#define DCHECK_EQ(v1, v2)