|
31 | 31 | #include "node_context_data.h" |
32 | 32 | #include "node_internals.h" |
33 | 33 | #include "node_perf_common.h" |
| 34 | +#include "node_realm-inl.h" |
34 | 35 | #include "util-inl.h" |
35 | 36 | #include "uv.h" |
36 | 37 | #include "v8.h" |
@@ -614,15 +615,7 @@ inline void Environment::set_can_call_into_js(bool can_call_into_js) { |
614 | 615 | } |
615 | 616 |
|
616 | 617 | inline bool Environment::has_run_bootstrapping_code() const { |
617 | | - return has_run_bootstrapping_code_; |
618 | | -} |
619 | | - |
620 | | -inline void Environment::DoneBootstrapping() { |
621 | | - has_run_bootstrapping_code_ = true; |
622 | | - // This adjusts the return value of base_object_created_after_bootstrap() so |
623 | | - // that tests that check the count do not have to account for internally |
624 | | - // created BaseObjects. |
625 | | - base_object_created_by_bootstrap_ = base_object_count_; |
| 618 | + return principal_realm_->has_run_bootstrapping_code(); |
626 | 619 | } |
627 | 620 |
|
628 | 621 | inline bool Environment::has_serialized_options() const { |
@@ -805,14 +798,18 @@ void Environment::modify_base_object_count(int64_t delta) { |
805 | 798 | base_object_count_ += delta; |
806 | 799 | } |
807 | 800 |
|
808 | | -int64_t Environment::base_object_created_after_bootstrap() const { |
809 | | - return base_object_count_ - base_object_created_by_bootstrap_; |
810 | | -} |
811 | | - |
812 | 801 | int64_t Environment::base_object_count() const { |
813 | 802 | return base_object_count_; |
814 | 803 | } |
815 | 804 |
|
| 805 | +inline void Environment::set_base_object_created_by_bootstrap(int64_t count) { |
| 806 | + base_object_created_by_bootstrap_ = base_object_count_; |
| 807 | +} |
| 808 | + |
| 809 | +int64_t Environment::base_object_created_after_bootstrap() const { |
| 810 | + return base_object_count_ - base_object_created_by_bootstrap_; |
| 811 | +} |
| 812 | + |
816 | 813 | void Environment::set_main_utf16(std::unique_ptr<v8::String::Value> str) { |
817 | 814 | CHECK(!main_utf16_); |
818 | 815 | main_utf16_ = std::move(str); |
@@ -877,16 +874,22 @@ void Environment::set_process_exit_handler( |
877 | 874 |
|
878 | 875 | #define V(PropertyName, TypeName) \ |
879 | 876 | inline v8::Local<TypeName> Environment::PropertyName() const { \ |
880 | | - return PersistentToLocal::Strong(PropertyName##_); \ |
| 877 | + DCHECK_NOT_NULL(principal_realm_); \ |
| 878 | + return principal_realm_->PropertyName(); \ |
881 | 879 | } \ |
882 | 880 | inline void Environment::set_##PropertyName(v8::Local<TypeName> value) { \ |
883 | | - PropertyName##_.Reset(isolate(), value); \ |
| 881 | + DCHECK_NOT_NULL(principal_realm_); \ |
| 882 | + principal_realm_->set_##PropertyName(value); \ |
884 | 883 | } |
885 | | - ENVIRONMENT_STRONG_PERSISTENT_VALUES(V) |
| 884 | + PER_REALM_STRONG_PERSISTENT_VALUES(V) |
886 | 885 | #undef V |
887 | 886 |
|
888 | 887 | v8::Local<v8::Context> Environment::context() const { |
889 | | - return PersistentToLocal::Strong(context_); |
| 888 | + return principal_realm()->context(); |
| 889 | +} |
| 890 | + |
| 891 | +Realm* Environment::principal_realm() const { |
| 892 | + return principal_realm_.get(); |
890 | 893 | } |
891 | 894 |
|
892 | 895 | inline void Environment::set_heap_snapshot_near_heap_limit(uint32_t limit) { |
|
0 commit comments