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

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

Issue 9422019: isolates refactor: this change introduces 'dart:isolate' as a library. This is a (Closed) Base URL: https://dart.googlecode.com/svn/branches/bleeding_edge/dart
Patch Set: '' Created 8 years, 10 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 | Annotate | Revision Log
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 "platform/assert.h" 7 #include "platform/assert.h"
8 #include "vm/assembler.h" 8 #include "vm/assembler.h"
9 #include "vm/bigint_operations.h" 9 #include "vm/bigint_operations.h"
10 #include "vm/bootstrap.h" 10 #include "vm/bootstrap.h"
(...skipping 639 matching lines...) Expand 10 before | Expand all | Expand 10 after
650 Error& error = Error::Handle(); 650 Error& error = Error::Handle();
651 error = Bootstrap::Compile(core_lib, script); 651 error = Bootstrap::Compile(core_lib, script);
652 if (!error.IsNull()) { 652 if (!error.IsNull()) {
653 return error.raw(); 653 return error.raw();
654 } 654 }
655 error = Bootstrap::Compile(core_impl_lib, impl_script); 655 error = Bootstrap::Compile(core_impl_lib, impl_script);
656 if (!error.IsNull()) { 656 if (!error.IsNull()) {
657 return error.raw(); 657 return error.raw();
658 } 658 }
659 659
660 // Load other libraries, such as dart:isolate.
661 error = Bootstrap::InitAdditionalLibraries();
662 if (!error.IsNull()) {
663 return error.raw();
664 }
665
666 Library& isolate_lib = Library::Handle(Library::IsolateLibrary());
667 ASSERT(!isolate_lib.IsNull());
siva 2012/02/22 00:58:20 I noticed that these changes are similar to the on
Siggi Cherem (dart-lang) 2012/02/22 19:18:50 I'm happy to do so, but since Todd is on vacation,
siva 2012/02/22 23:18:14 I think we should probably have Todd reconcile whe
668
660 Bootstrap::SetupNativeResolver(); 669 Bootstrap::SetupNativeResolver();
661 670
662 // Remove the Object superclass cycle by setting the super type to null (not 671 // Remove the Object superclass cycle by setting the super type to null (not
663 // to the type of null). 672 // to the type of null).
664 cls = object_store->object_class(); 673 cls = object_store->object_class();
665 cls.set_super_type(Type::Handle()); 674 cls.set_super_type(Type::Handle());
666 675
667 ClassFinalizer::VerifyBootstrapClasses(); 676 ClassFinalizer::VerifyBootstrapClasses();
668 return Error::null(); 677 return Error::null();
669 } 678 }
(...skipping 4051 matching lines...) Expand 10 before | Expand all | Expand 10 after
4721 RawLibrary* Library::CoreLibrary() { 4730 RawLibrary* Library::CoreLibrary() {
4722 return Isolate::Current()->object_store()->core_library(); 4731 return Isolate::Current()->object_store()->core_library();
4723 } 4732 }
4724 4733
4725 4734
4726 RawLibrary* Library::CoreImplLibrary() { 4735 RawLibrary* Library::CoreImplLibrary() {
4727 return Isolate::Current()->object_store()->core_impl_library(); 4736 return Isolate::Current()->object_store()->core_impl_library();
4728 } 4737 }
4729 4738
4730 4739
4740 RawLibrary* Library::IsolateLibrary() {
4741 return Isolate::Current()->object_store()->isolate_library();
4742 }
4743
4744
4731 RawLibrary* Library::NativeWrappersLibrary() { 4745 RawLibrary* Library::NativeWrappersLibrary() {
4732 return Isolate::Current()->object_store()->native_wrappers_library(); 4746 return Isolate::Current()->object_store()->native_wrappers_library();
4733 } 4747 }
4734 4748
4735 4749
4736 const char* Library::ToCString() const { 4750 const char* Library::ToCString() const {
4737 const char* kFormat = "Library:'%s'"; 4751 const char* kFormat = "Library:'%s'";
4738 const String& name = String::Handle(url()); 4752 const String& name = String::Handle(url());
4739 intptr_t len = OS::SNPrint(NULL, 0, kFormat, name.ToCString()) + 1; 4753 intptr_t len = OS::SNPrint(NULL, 0, kFormat, name.ToCString()) + 1;
4740 char* chars = reinterpret_cast<char*>( 4754 char* chars = reinterpret_cast<char*>(
(...skipping 3453 matching lines...) Expand 10 before | Expand all | Expand 10 after
8194 const String& str = String::Handle(pattern()); 8208 const String& str = String::Handle(pattern());
8195 const char* format = "JSRegExp: pattern=%s flags=%s"; 8209 const char* format = "JSRegExp: pattern=%s flags=%s";
8196 intptr_t len = OS::SNPrint(NULL, 0, format, str.ToCString(), Flags()); 8210 intptr_t len = OS::SNPrint(NULL, 0, format, str.ToCString(), Flags());
8197 char* chars = reinterpret_cast<char*>( 8211 char* chars = reinterpret_cast<char*>(
8198 Isolate::Current()->current_zone()->Allocate(len + 1)); 8212 Isolate::Current()->current_zone()->Allocate(len + 1));
8199 OS::SNPrint(chars, (len + 1), format, str.ToCString(), Flags()); 8213 OS::SNPrint(chars, (len + 1), format, str.ToCString(), Flags());
8200 return chars; 8214 return chars;
8201 } 8215 }
8202 8216
8203 } // namespace dart 8217 } // namespace dart
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698