| Index: runtime/vm/heap.h
|
| diff --git a/runtime/vm/heap.h b/runtime/vm/heap.h
|
| index 8feb555470ab0364177434828d2c6fdbf1ce5740..496a9c8ef049af3ffc2956ddc883a4a1a9536a60 100644
|
| --- a/runtime/vm/heap.h
|
| +++ b/runtime/vm/heap.h
|
| @@ -133,7 +133,8 @@ class Heap {
|
| void SetGrowthControlState(bool state);
|
| bool GrowthControlState();
|
|
|
| - // Protect access to the heap.
|
| + // Protect access to the heap. Note: Code pages are made
|
| + // executable/non-executable when 'read_only' is true/false, respectively.
|
| void WriteProtect(bool read_only);
|
| void WriteProtectCode(bool read_only) {
|
| old_space_.WriteProtectCode(read_only);
|
| @@ -358,6 +359,14 @@ class NoHeapGrowthControlScope : public StackResource {
|
| DISALLOW_COPY_AND_ASSIGN(NoHeapGrowthControlScope);
|
| };
|
|
|
| +
|
| +// Note: During this scope, the code pages are non-executable.
|
| +class WritableVMIsolateScope : StackResource {
|
| + public:
|
| + explicit WritableVMIsolateScope(Thread* thread);
|
| + ~WritableVMIsolateScope();
|
| +};
|
| +
|
| } // namespace dart
|
|
|
| #endif // VM_HEAP_H_
|
|
|