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

Side by Side Diff: runtime/vm/object.cc

Issue 2981173002: Remove the debugger_ field from Isolate in a PRODUCT build (Closed)
Patch Set: Remove flag support_debugger Created 3 years, 5 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 unified diff | Download patch
« no previous file with comments | « runtime/vm/kernel_to_il.cc ('k') | runtime/vm/object_test.cc » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file 1 // Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file
2 // for details. All rights reserved. Use of this source code is governed by a 2 // for details. All rights reserved. Use of this source code is governed by a
3 // BSD-style license that can be found in the LICENSE file. 3 // BSD-style license that can be found in the LICENSE file.
4 4
5 #include "vm/object.h" 5 #include "vm/object.h"
6 6
7 #include "include/dart_api.h" 7 #include "include/dart_api.h"
8 #include "platform/assert.h" 8 #include "platform/assert.h"
9 #include "vm/assembler.h" 9 #include "vm/assembler.h"
10 #include "vm/become.h" 10 #include "vm/become.h"
(...skipping 5155 matching lines...) Expand 10 before | Expand all | Expand 10 after
5166 5166
5167 void PatchClass::set_script(const Script& value) const { 5167 void PatchClass::set_script(const Script& value) const {
5168 StorePointer(&raw_ptr()->script_, value.raw()); 5168 StorePointer(&raw_ptr()->script_, value.raw());
5169 } 5169 }
5170 5170
5171 intptr_t Function::Hash() const { 5171 intptr_t Function::Hash() const {
5172 return String::HashRawSymbol(name()); 5172 return String::HashRawSymbol(name());
5173 } 5173 }
5174 5174
5175 bool Function::HasBreakpoint() const { 5175 bool Function::HasBreakpoint() const {
5176 if (!FLAG_support_debugger) { 5176 #if defined(PRODUCT)
5177 return false; 5177 return false;
5178 } 5178 #else
5179 Thread* thread = Thread::Current(); 5179 Thread* thread = Thread::Current();
5180 return thread->isolate()->debugger()->HasBreakpoint(*this, thread->zone()); 5180 return thread->isolate()->debugger()->HasBreakpoint(*this, thread->zone());
5181 #endif
5181 } 5182 }
5182 5183
5183 void Function::InstallOptimizedCode(const Code& code) const { 5184 void Function::InstallOptimizedCode(const Code& code) const {
5184 DEBUG_ASSERT(IsMutatorOrAtSafepoint()); 5185 DEBUG_ASSERT(IsMutatorOrAtSafepoint());
5185 // We may not have previous code if FLAG_precompile is set. 5186 // We may not have previous code if FLAG_precompile is set.
5186 // Hot-reload may have already disabled the current code. 5187 // Hot-reload may have already disabled the current code.
5187 if (HasCode() && !Code::Handle(CurrentCode()).IsDisabled()) { 5188 if (HasCode() && !Code::Handle(CurrentCode()).IsDisabled()) {
5188 Code::Handle(CurrentCode()).DisableDartCode(); 5189 Code::Handle(CurrentCode()).DisableDartCode();
5189 } 5190 }
5190 AttachCode(code); 5191 AttachCode(code);
(...skipping 760 matching lines...) Expand 10 before | Expand all | Expand 10 after
5951 void Function::SetIsOptimizable(bool value) const { 5952 void Function::SetIsOptimizable(bool value) const {
5952 ASSERT(!is_native()); 5953 ASSERT(!is_native());
5953 set_is_optimizable(value); 5954 set_is_optimizable(value);
5954 if (!value) { 5955 if (!value) {
5955 set_is_inlinable(false); 5956 set_is_inlinable(false);
5956 set_usage_counter(INT_MIN); 5957 set_usage_counter(INT_MIN);
5957 } 5958 }
5958 } 5959 }
5959 5960
5960 bool Function::CanBeInlined() const { 5961 bool Function::CanBeInlined() const {
5962 #if defined(PRODUCT)
5963 return is_inlinable() && !is_external() && !is_generated_body();
5964 #else
5961 Thread* thread = Thread::Current(); 5965 Thread* thread = Thread::Current();
5962 return is_inlinable() && !is_external() && !is_generated_body() && 5966 return is_inlinable() && !is_external() && !is_generated_body() &&
5963 (!FLAG_support_debugger || 5967 !thread->isolate()->debugger()->HasBreakpoint(*this, thread->zone());
5964 !thread->isolate()->debugger()->HasBreakpoint(*this, thread->zone())); 5968 #endif
5965 } 5969 }
5966 5970
5967 intptr_t Function::NumParameters() const { 5971 intptr_t Function::NumParameters() const {
5968 return num_fixed_parameters() + NumOptionalParameters(); 5972 return num_fixed_parameters() + NumOptionalParameters();
5969 } 5973 }
5970 5974
5971 intptr_t Function::NumImplicitParameters() const { 5975 intptr_t Function::NumImplicitParameters() const {
5972 if (kind() == RawFunction::kConstructor) { 5976 if (kind() == RawFunction::kConstructor) {
5973 // Type arguments for factory; instance for generative constructor. 5977 // Type arguments for factory; instance for generative constructor.
5974 return 1; 5978 return 1;
(...skipping 7606 matching lines...) Expand 10 before | Expand all | Expand 10 after
13581 // emitting assembly. This guarantees that every succeeding pc-offset is 13585 // emitting assembly. This guarantees that every succeeding pc-offset is
13582 // larger than the previously added one. 13586 // larger than the previously added one.
13583 for (intptr_t i = kSCallTableEntryLength; i < value.Length(); 13587 for (intptr_t i = kSCallTableEntryLength; i < value.Length();
13584 i += kSCallTableEntryLength) { 13588 i += kSCallTableEntryLength) {
13585 ASSERT(value.At(i - kSCallTableEntryLength) < value.At(i)); 13589 ASSERT(value.At(i - kSCallTableEntryLength) < value.At(i));
13586 } 13590 }
13587 #endif // DEBUG 13591 #endif // DEBUG
13588 } 13592 }
13589 13593
13590 bool Code::HasBreakpoint() const { 13594 bool Code::HasBreakpoint() const {
13591 if (!FLAG_support_debugger) { 13595 #if defined(PRODUCT)
13592 return false; 13596 return false;
13593 } 13597 #else
13594 return Isolate::Current()->debugger()->HasBreakpoint(*this); 13598 return Isolate::Current()->debugger()->HasBreakpoint(*this);
13599 #endif
13595 } 13600 }
13596 13601
13597 RawTypedData* Code::GetDeoptInfoAtPc(uword pc, 13602 RawTypedData* Code::GetDeoptInfoAtPc(uword pc,
13598 ICData::DeoptReasonId* deopt_reason, 13603 ICData::DeoptReasonId* deopt_reason,
13599 uint32_t* deopt_flags) const { 13604 uint32_t* deopt_flags) const {
13600 #if defined(DART_PRECOMPILED_RUNTIME) 13605 #if defined(DART_PRECOMPILED_RUNTIME)
13601 ASSERT(Dart::vm_snapshot_kind() == Snapshot::kFullAOT); 13606 ASSERT(Dart::vm_snapshot_kind() == Snapshot::kFullAOT);
13602 return TypedData::null(); 13607 return TypedData::null();
13603 #else 13608 #else
13604 ASSERT(is_optimized()); 13609 ASSERT(is_optimized());
(...skipping 8627 matching lines...) Expand 10 before | Expand all | Expand 10 after
22232 } 22237 }
22233 return UserTag::null(); 22238 return UserTag::null();
22234 } 22239 }
22235 22240
22236 const char* UserTag::ToCString() const { 22241 const char* UserTag::ToCString() const {
22237 const String& tag_label = String::Handle(label()); 22242 const String& tag_label = String::Handle(label());
22238 return tag_label.ToCString(); 22243 return tag_label.ToCString();
22239 } 22244 }
22240 22245
22241 } // namespace dart 22246 } // namespace dart
OLDNEW
« no previous file with comments | « runtime/vm/kernel_to_il.cc ('k') | runtime/vm/object_test.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698