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

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

Issue 1291803009: Enable concurrent optimization test after migrating scopes to Thread* (Closed) Base URL: git@github.com:dart-lang/sdk.git@master
Patch Set: Update ASSERT in LongJumpScope. Created 5 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 unified diff | Download patch
« no previous file with comments | « runtime/vm/longjump.cc ('k') | runtime/vm/parser.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/cpu.h" 10 #include "vm/cpu.h"
(...skipping 970 matching lines...) Expand 10 before | Expand all | Expand 10 after
981 ASSERT(public_class_name.Length() > 0); 981 ASSERT(public_class_name.Length() > 0);
982 ASSERT(public_class_name.CharAt(0) == '_'); 982 ASSERT(public_class_name.CharAt(0) == '_');
983 String& str = String::Handle(); 983 String& str = String::Handle();
984 str = lib.PrivateName(public_class_name); 984 str = lib.PrivateName(public_class_name);
985 cls.set_name(str); 985 cls.set_name(str);
986 lib.AddClass(cls); 986 lib.AddClass(cls);
987 } 987 }
988 988
989 989
990 RawError* Object::Init(Isolate* isolate) { 990 RawError* Object::Init(Isolate* isolate) {
991 TIMERSCOPE(isolate, time_bootstrap); 991 Thread* thread = Thread::Current();
992 ASSERT(isolate == thread->isolate());
993 TIMERSCOPE(thread, time_bootstrap);
992 TimelineDurationScope tds(isolate, 994 TimelineDurationScope tds(isolate,
993 isolate->GetIsolateStream(), 995 isolate->GetIsolateStream(),
994 "Object::Init"); 996 "Object::Init");
995 997
996 #if defined(DART_NO_SNAPSHOT) 998 #if defined(DART_NO_SNAPSHOT)
997 // Object::Init version when we are running in a version of dart that does 999 // Object::Init version when we are running in a version of dart that does
998 // not have a full snapshot linked in. 1000 // not have a full snapshot linked in.
999 ObjectStore* object_store = isolate->object_store(); 1001 ObjectStore* object_store = isolate->object_store();
1000 1002
1001 Class& cls = Class::Handle(isolate); 1003 Class& cls = Class::Handle(isolate);
(...skipping 7533 matching lines...) Expand 10 before | Expand all | Expand 10 after
8535 Thread* thread = Thread::Current(); 8537 Thread* thread = Thread::Current();
8536 Zone* zone = thread->zone(); 8538 Zone* zone = thread->zone();
8537 Isolate* isolate = thread->isolate(); 8539 Isolate* isolate = thread->isolate();
8538 const TokenStream& tkns = TokenStream::Handle(zone, tokens()); 8540 const TokenStream& tkns = TokenStream::Handle(zone, tokens());
8539 if (!tkns.IsNull()) { 8541 if (!tkns.IsNull()) {
8540 // Already tokenized. 8542 // Already tokenized.
8541 return; 8543 return;
8542 } 8544 }
8543 // Get the source, scan and allocate the token stream. 8545 // Get the source, scan and allocate the token stream.
8544 VMTagScope tagScope(thread, VMTag::kCompileScannerTagId); 8546 VMTagScope tagScope(thread, VMTag::kCompileScannerTagId);
8545 CSTAT_TIMER_SCOPE(isolate, scanner_timer); 8547 CSTAT_TIMER_SCOPE(thread, scanner_timer);
8546 const String& src = String::Handle(zone, Source()); 8548 const String& src = String::Handle(zone, Source());
8547 Scanner scanner(src, private_key); 8549 Scanner scanner(src, private_key);
8548 set_tokens(TokenStream::Handle(zone, 8550 set_tokens(TokenStream::Handle(zone,
8549 TokenStream::New(scanner.GetStream(), 8551 TokenStream::New(scanner.GetStream(),
8550 private_key))); 8552 private_key)));
8551 INC_STAT(isolate, src_length, src.Length()); 8553 INC_STAT(isolate, src_length, src.Length());
8552 } 8554 }
8553 8555
8554 8556
8555 void Script::SetLocationOffset(intptr_t line_offset, 8557 void Script::SetLocationOffset(intptr_t line_offset,
(...skipping 2469 matching lines...) Expand 10 before | Expand all | Expand 10 after
11025 NoSafepointScope no_safepoint; 11027 NoSafepointScope no_safepoint;
11026 uint8_t* data = UnsafeMutableNonPointer(&raw_ptr()->data()[0]); 11028 uint8_t* data = UnsafeMutableNonPointer(&raw_ptr()->data()[0]);
11027 for (intptr_t i = 0; i < delta_encoded_data->length(); ++i) { 11029 for (intptr_t i = 0; i < delta_encoded_data->length(); ++i) {
11028 data[i] = (*delta_encoded_data)[i]; 11030 data[i] = (*delta_encoded_data)[i];
11029 } 11031 }
11030 } 11032 }
11031 11033
11032 11034
11033 RawPcDescriptors* PcDescriptors::New(GrowableArray<uint8_t>* data) { 11035 RawPcDescriptors* PcDescriptors::New(GrowableArray<uint8_t>* data) {
11034 ASSERT(Object::pc_descriptors_class() != Class::null()); 11036 ASSERT(Object::pc_descriptors_class() != Class::null());
11035 Isolate* isolate = Isolate::Current(); 11037 Thread* thread = Thread::Current();
11036 PcDescriptors& result = PcDescriptors::Handle(isolate); 11038 Isolate* isolate = thread->isolate();
11039 PcDescriptors& result = PcDescriptors::Handle(thread->zone());
11037 { 11040 {
11038 uword size = PcDescriptors::InstanceSize(data->length()); 11041 uword size = PcDescriptors::InstanceSize(data->length());
11039 RawObject* raw = Object::Allocate(PcDescriptors::kClassId, 11042 RawObject* raw = Object::Allocate(PcDescriptors::kClassId,
11040 size, 11043 size,
11041 Heap::kOld); 11044 Heap::kOld);
11042 INC_STAT(isolate, total_code_size, size); 11045 INC_STAT(isolate, total_code_size, size);
11043 INC_STAT(isolate, pc_desc_size, size); 11046 INC_STAT(isolate, pc_desc_size, size);
11044 NoSafepointScope no_safepoint; 11047 NoSafepointScope no_safepoint;
11045 result ^= raw; 11048 result ^= raw;
11046 result.SetLength(data->length()); 11049 result.SetLength(data->length());
11047 result.CopyData(data); 11050 result.CopyData(data);
11048 } 11051 }
11049 return result.raw(); 11052 return result.raw();
11050 } 11053 }
11051 11054
11052 11055
11053 RawPcDescriptors* PcDescriptors::New(intptr_t length) { 11056 RawPcDescriptors* PcDescriptors::New(intptr_t length) {
11054 ASSERT(Object::pc_descriptors_class() != Class::null()); 11057 ASSERT(Object::pc_descriptors_class() != Class::null());
11055 Isolate* isolate = Isolate::Current(); 11058 Thread* thread = Thread::Current();
11056 PcDescriptors& result = PcDescriptors::Handle(isolate); 11059 Isolate* isolate = thread->isolate();
11060 PcDescriptors& result = PcDescriptors::Handle(thread->zone());
11057 { 11061 {
11058 uword size = PcDescriptors::InstanceSize(length); 11062 uword size = PcDescriptors::InstanceSize(length);
11059 RawObject* raw = Object::Allocate(PcDescriptors::kClassId, 11063 RawObject* raw = Object::Allocate(PcDescriptors::kClassId,
11060 size, 11064 size,
11061 Heap::kOld); 11065 Heap::kOld);
11062 INC_STAT(isolate, total_code_size, size); 11066 INC_STAT(isolate, total_code_size, size);
11063 INC_STAT(isolate, pc_desc_size, size); 11067 INC_STAT(isolate, pc_desc_size, size);
11064 NoSafepointScope no_safepoint; 11068 NoSafepointScope no_safepoint;
11065 result ^= raw; 11069 result ^= raw;
11066 result.SetLength(length); 11070 result.SetLength(length);
(...skipping 10323 matching lines...) Expand 10 before | Expand all | Expand 10 after
21390 return tag_label.ToCString(); 21394 return tag_label.ToCString();
21391 } 21395 }
21392 21396
21393 21397
21394 void UserTag::PrintJSONImpl(JSONStream* stream, bool ref) const { 21398 void UserTag::PrintJSONImpl(JSONStream* stream, bool ref) const {
21395 Instance::PrintJSONImpl(stream, ref); 21399 Instance::PrintJSONImpl(stream, ref);
21396 } 21400 }
21397 21401
21398 21402
21399 } // namespace dart 21403 } // namespace dart
OLDNEW
« no previous file with comments | « runtime/vm/longjump.cc ('k') | runtime/vm/parser.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698