Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(52)

Unified Diff: runtime/vm/isolate.h

Issue 3003583002: [VM, Precompiler] PoC Obfuscator (Closed)
Patch Set: Discard obfuscation map Created 3 years, 4 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: runtime/vm/isolate.h
diff --git a/runtime/vm/isolate.h b/runtime/vm/isolate.h
index 316c26a488a9ca4e285ef916ed10bbac92b8a276..aa884de0d1d62ca3b8efe84502ec736ffd969468 100644
--- a/runtime/vm/isolate.h
+++ b/runtime/vm/isolate.h
@@ -140,7 +140,8 @@ typedef FixedCache<intptr_t, CatchEntryState, 16> CatchEntryStateCache;
V(error_on_bad_override, ErrorOnBadOverride, enable_error_on_bad_override, \
FLAG_error_on_bad_override) \
V(use_field_guards, UseFieldGuards, use_field_guards, FLAG_use_field_guards) \
- V(use_osr, UseOsr, use_osr, FLAG_use_osr)
+ V(use_osr, UseOsr, use_osr, FLAG_use_osr) \
+ V(obfuscate, Obfuscate, obfuscate, false_by_default)
class Isolate : public BaseIsolate {
public:
@@ -295,9 +296,9 @@ class Isolate : public BaseIsolate {
MessageHandler* message_handler() const { return message_handler_; }
void set_message_handler(MessageHandler* value) { message_handler_ = value; }
- bool is_runnable() const { return RunnableBit::decode(isolate_flags_); }
+ bool is_runnable() const { return IsRunnableBit::decode(isolate_flags_); }
void set_is_runnable(bool value) {
- isolate_flags_ = RunnableBit::update(value, isolate_flags_);
+ isolate_flags_ = IsRunnableBit::update(value, isolate_flags_);
#if !defined(PRODUCT)
if (is_runnable()) {
set_last_resume_timestamp();
@@ -685,10 +686,14 @@ class Isolate : public BaseIsolate {
RawFunction* ClosureFunctionFromIndex(intptr_t idx) const;
bool is_service_isolate() const {
- return ServiceIsolateBit::decode(isolate_flags_);
+ return IsServiceIsolateBit::decode(isolate_flags_);
}
void set_is_service_isolate(bool value) {
- isolate_flags_ = ServiceIsolateBit::update(value, isolate_flags_);
+ isolate_flags_ = IsServiceIsolateBit::update(value, isolate_flags_);
+ }
+
+ Dart_QualifiedFunctionName* embedder_entry_points() const {
+ return embedder_entry_points_;
}
// Isolate-specific flag handling.
@@ -805,55 +810,37 @@ class Isolate : public BaseIsolate {
ClassTable class_table_;
bool single_step_;
+#define ISOLATE_FLAG_BITS(V) \
+ V(ErrorsFatal) \
+ V(IsRunnable) \
+ V(IsServiceIsolate) \
+ V(CompilationAllowed) \
+ V(AllClassesFinalized) \
+ V(RemappingCids) \
+ V(ResumeRequest) \
+ V(HasAttemptedReload) \
+ V(ShouldPausePostServiceRequest) \
+ V(UseDartFrontEnd) \
+ V(EnableTypeChecks) \
+ V(EnableAsserts) \
+ V(ErrorOnBadType) \
+ V(ErrorOnBadOverride) \
+ V(UseFieldGuards) \
+ V(UseOsr) \
+ V(Obfuscate)
+
// Isolate specific flags.
enum FlagBits {
- kErrorsFatalBit = 0,
- kIsRunnableBit = 1,
- kIsServiceIsolateBit = 2,
- kCompilationAllowedBit = 3,
- kAllClassesFinalizedBit = 4,
- kRemappingCidsBit = 5,
- kResumeRequestBit = 6,
- kHasAttemptedReloadBit = 7,
- kShouldPausePostServiceRequestBit = 8,
- kUseDartFrontEndBit = 9,
- kEnableTypeChecksBit = 10,
- kEnableAssertsBit = 11,
- kErrorOnBadTypeBit = 12,
- kErrorOnBadOverrideBit = 13,
- kUseFieldGuardsBit = 14,
- kUseOsrBit = 15,
+#define DECLARE_BIT(Name) k##Name##Bit,
+ ISOLATE_FLAG_BITS(DECLARE_BIT)
+#undef DECLARE_BIT
};
- class ErrorsFatalBit : public BitField<uint32_t, bool, kErrorsFatalBit, 1> {};
- class RunnableBit : public BitField<uint32_t, bool, kIsRunnableBit, 1> {};
- class ServiceIsolateBit
- : public BitField<uint32_t, bool, kIsServiceIsolateBit, 1> {};
- class CompilationAllowedBit
- : public BitField<uint32_t, bool, kCompilationAllowedBit, 1> {};
- class AllClassesFinalizedBit
- : public BitField<uint32_t, bool, kAllClassesFinalizedBit, 1> {};
- class RemappingCidsBit
- : public BitField<uint32_t, bool, kRemappingCidsBit, 1> {};
- class ResumeRequestBit
- : public BitField<uint32_t, bool, kResumeRequestBit, 1> {};
- class HasAttemptedReloadBit
- : public BitField<uint32_t, bool, kHasAttemptedReloadBit, 1> {};
- class ShouldPausePostServiceRequestBit
- : public BitField<uint32_t, bool, kShouldPausePostServiceRequestBit, 1> {
- };
- class UseDartFrontEndBit
- : public BitField<uint32_t, bool, kUseDartFrontEndBit, 1> {};
- class EnableTypeChecksBit
- : public BitField<uint32_t, bool, kEnableTypeChecksBit, 1> {};
- class EnableAssertsBit
- : public BitField<uint32_t, bool, kEnableAssertsBit, 1> {};
- class ErrorOnBadTypeBit
- : public BitField<uint32_t, bool, kErrorOnBadTypeBit, 1> {};
- class ErrorOnBadOverrideBit
- : public BitField<uint32_t, bool, kErrorOnBadOverrideBit, 1> {};
- class UseFieldGuardsBit
- : public BitField<uint32_t, bool, kUseFieldGuardsBit, 1> {};
- class UseOsrBit : public BitField<uint32_t, bool, kUseOsrBit, 1> {};
+
+#define DECLARE_BITFIELD(Name) \
+ class Name##Bit : public BitField<uint32_t, bool, k##Name##Bit, 1> {};
+ ISOLATE_FLAG_BITS(DECLARE_BITFIELD)
+#undef DECLARE_BITFIELD
+
uint32_t isolate_flags_;
// Background compilation.
@@ -968,6 +955,7 @@ class Isolate : public BaseIsolate {
HandlerInfoCache handler_info_cache_;
CatchEntryStateCache catch_entry_state_cache_;
+ Dart_QualifiedFunctionName* embedder_entry_points_;
static Dart_IsolateCreateCallback create_callback_;
static Dart_IsolateShutdownCallback shutdown_callback_;

Powered by Google App Engine
This is Rietveld 408576698