Chromium Code Reviews| OLD | NEW |
|---|---|
| 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/bigint_operations.h" | 10 #include "vm/bigint_operations.h" |
| (...skipping 613 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 624 const String& public_class_name, | 624 const String& public_class_name, |
| 625 const Library& lib) { | 625 const Library& lib) { |
| 626 ASSERT(public_class_name.Length() > 0); | 626 ASSERT(public_class_name.Length() > 0); |
| 627 ASSERT(public_class_name.CharAt(0) == '_'); | 627 ASSERT(public_class_name.CharAt(0) == '_'); |
| 628 String& str = String::Handle(); | 628 String& str = String::Handle(); |
| 629 str = lib.PrivateName(public_class_name); | 629 str = lib.PrivateName(public_class_name); |
| 630 cls.set_name(str); | 630 cls.set_name(str); |
| 631 lib.AddClass(cls); | 631 lib.AddClass(cls); |
| 632 } | 632 } |
| 633 | 633 |
| 634 #define INIT_LIBRARY(name, raw_script, raw_lib) \ | |
| 635 script ^= raw_script; \ | |
| 636 Library::Init##name##Library(isolate); \ | |
| 637 lib ^= raw_lib; \ | |
| 638 ASSERT(!lib.IsNull()); \ | |
| 639 error = Bootstrap::Compile(lib, script); \ | |
| 640 if (!error.IsNull()) { \ | |
| 641 return error.raw(); \ | |
| 642 } \ | |
| 643 | |
| 634 | 644 |
| 635 RawError* Object::Init(Isolate* isolate) { | 645 RawError* Object::Init(Isolate* isolate) { |
| 636 TIMERSCOPE(time_bootstrap); | 646 TIMERSCOPE(time_bootstrap); |
| 637 ObjectStore* object_store = isolate->object_store(); | 647 ObjectStore* object_store = isolate->object_store(); |
| 638 | 648 |
| 639 Class& cls = Class::Handle(); | 649 Class& cls = Class::Handle(); |
| 640 Type& type = Type::Handle(); | 650 Type& type = Type::Handle(); |
| 641 Array& array = Array::Handle(); | 651 Array& array = Array::Handle(); |
| 642 | 652 |
| 643 // All RawArray fields will be initialized to an empty array, therefore | 653 // All RawArray fields will be initialized to an empty array, therefore |
| (...skipping 110 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 754 RegisterClass(cls, Symbols::Stacktrace(), core_lib); | 764 RegisterClass(cls, Symbols::Stacktrace(), core_lib); |
| 755 pending_classes.Add(cls, Heap::kOld); | 765 pending_classes.Add(cls, Heap::kOld); |
| 756 // Super type set below, after Object is allocated. | 766 // Super type set below, after Object is allocated. |
| 757 | 767 |
| 758 cls = Class::New<JSRegExp>(); | 768 cls = Class::New<JSRegExp>(); |
| 759 object_store->set_jsregexp_class(cls); | 769 object_store->set_jsregexp_class(cls); |
| 760 RegisterPrivateClass(cls, Symbols::JSSyntaxRegExp(), core_lib); | 770 RegisterPrivateClass(cls, Symbols::JSSyntaxRegExp(), core_lib); |
| 761 pending_classes.Add(cls, Heap::kOld); | 771 pending_classes.Add(cls, Heap::kOld); |
| 762 | 772 |
| 763 // Initialize the base interfaces used by the core VM classes. | 773 // Initialize the base interfaces used by the core VM classes. |
| 764 const Script& script = Script::Handle(Bootstrap::LoadCoreScript(false)); | 774 Script& script = Script::Handle(Bootstrap::LoadCoreScript(false)); |
| 765 | 775 |
| 766 // Allocate and initialize the pre-allocated classes in the core library. | 776 // Allocate and initialize the pre-allocated classes in the core library. |
| 767 cls = Class::New<Instance>(kInstanceCid); | 777 cls = Class::New<Instance>(kInstanceCid); |
| 768 object_store->set_object_class(cls); | 778 object_store->set_object_class(cls); |
| 769 cls.set_name(Symbols::Object()); | 779 cls.set_name(Symbols::Object()); |
| 770 cls.set_script(script); | 780 cls.set_script(script); |
| 771 cls.set_is_prefinalized(); | 781 cls.set_is_prefinalized(); |
| 772 core_lib.AddClass(cls); | 782 core_lib.AddClass(cls); |
| 773 pending_classes.Add(cls, Heap::kOld); | 783 pending_classes.Add(cls, Heap::kOld); |
| 774 type = Type::NewNonParameterizedType(cls); | 784 type = Type::NewNonParameterizedType(cls); |
| (...skipping 302 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 1077 ASSERT(!scalarlist_lib.IsNull()); | 1087 ASSERT(!scalarlist_lib.IsNull()); |
| 1078 error = Bootstrap::Compile(scalarlist_lib, scalarlist_script); | 1088 error = Bootstrap::Compile(scalarlist_lib, scalarlist_script); |
| 1079 if (!error.IsNull()) { | 1089 if (!error.IsNull()) { |
| 1080 return error.raw(); | 1090 return error.raw(); |
| 1081 } | 1091 } |
| 1082 patch_script = Bootstrap::LoadScalarlistScript(true); | 1092 patch_script = Bootstrap::LoadScalarlistScript(true); |
| 1083 error = scalarlist_lib.Patch(patch_script); | 1093 error = scalarlist_lib.Patch(patch_script); |
| 1084 if (!error.IsNull()) { | 1094 if (!error.IsNull()) { |
| 1085 return error.raw(); | 1095 return error.raw(); |
| 1086 } | 1096 } |
| 1097 Library& lib = Library::Handle(); | |
| 1098 INIT_LIBRARY(Crypto, | |
|
Ivan Posva
2013/02/22 00:39:38
Why are you not using INIT_LIBRARY to initialize t
siva
2013/02/22 01:01:19
Will make that change in a new CL as I did not wan
| |
| 1099 Bootstrap::LoadCryptoScript(false), | |
| 1100 Library::CryptoLibrary()); | |
| 1101 INIT_LIBRARY(Json, | |
| 1102 Bootstrap::LoadJsonScript(false), | |
| 1103 Library::JsonLibrary()); | |
| 1104 INIT_LIBRARY(Utf, | |
| 1105 Bootstrap::LoadUtfScript(false), | |
| 1106 Library::UtfLibrary()); | |
| 1107 INIT_LIBRARY(Uri, | |
| 1108 Bootstrap::LoadUriScript(false), | |
| 1109 Library::UriLibrary()); | |
| 1087 Bootstrap::SetupNativeResolver(); | 1110 Bootstrap::SetupNativeResolver(); |
| 1088 | 1111 |
| 1089 // Remove the Object superclass cycle by setting the super type to null (not | 1112 // Remove the Object superclass cycle by setting the super type to null (not |
| 1090 // to the type of null). | 1113 // to the type of null). |
| 1091 cls = object_store->object_class(); | 1114 cls = object_store->object_class(); |
| 1092 cls.set_super_type(Type::Handle()); | 1115 cls.set_super_type(Type::Handle()); |
| 1093 | 1116 |
| 1094 ClassFinalizer::VerifyBootstrapClasses(); | 1117 ClassFinalizer::VerifyBootstrapClasses(); |
| 1095 MarkInvisibleFunctions(); | 1118 MarkInvisibleFunctions(); |
| 1096 | 1119 |
| (...skipping 5269 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 6366 | 6389 |
| 6367 | 6390 |
| 6368 void Library::InitCollectionDevLibrary(Isolate* isolate) { | 6391 void Library::InitCollectionDevLibrary(Isolate* isolate) { |
| 6369 const String& url = Symbols::DartCollectionDev(); | 6392 const String& url = Symbols::DartCollectionDev(); |
| 6370 const Library& lib = Library::Handle(Library::NewLibraryHelper(url, true)); | 6393 const Library& lib = Library::Handle(Library::NewLibraryHelper(url, true)); |
| 6371 lib.Register(); | 6394 lib.Register(); |
| 6372 isolate->object_store()->set_collection_dev_library(lib); | 6395 isolate->object_store()->set_collection_dev_library(lib); |
| 6373 } | 6396 } |
| 6374 | 6397 |
| 6375 | 6398 |
| 6376 void Library::InitMathLibrary(Isolate* isolate) { | 6399 void Library::InitCryptoLibrary(Isolate* isolate) { |
| 6377 const String& url = Symbols::DartMath(); | 6400 const String& url = Symbols::DartCrypto(); |
| 6378 const Library& lib = Library::Handle(Library::NewLibraryHelper(url, true)); | 6401 const Library& lib = Library::Handle(Library::NewLibraryHelper(url, true)); |
| 6379 lib.Register(); | 6402 lib.Register(); |
| 6380 isolate->object_store()->set_math_library(lib); | 6403 const Library& math_lib = Library::Handle(Library::MathLibrary()); |
| 6404 const Namespace& math_ns = Namespace::Handle( | |
| 6405 Namespace::New(math_lib, Array::Handle(), Array::Handle())); | |
| 6406 lib.AddImport(math_ns); | |
| 6407 isolate->object_store()->set_crypto_library(lib); | |
| 6381 } | 6408 } |
| 6382 | 6409 |
| 6383 | 6410 |
| 6384 void Library::InitIsolateLibrary(Isolate* isolate) { | 6411 void Library::InitIsolateLibrary(Isolate* isolate) { |
| 6385 const String& url = Symbols::DartIsolate(); | 6412 const String& url = Symbols::DartIsolate(); |
| 6386 const Library& lib = Library::Handle(Library::NewLibraryHelper(url, true)); | 6413 const Library& lib = Library::Handle(Library::NewLibraryHelper(url, true)); |
| 6387 lib.Register(); | 6414 lib.Register(); |
| 6388 const Library& async_lib = Library::Handle(Library::ASyncLibrary()); | 6415 const Library& async_lib = Library::Handle(Library::ASyncLibrary()); |
| 6389 const Namespace& async_ns = Namespace::Handle( | 6416 const Namespace& async_ns = Namespace::Handle( |
| 6390 Namespace::New(async_lib, Array::Handle(), Array::Handle())); | 6417 Namespace::New(async_lib, Array::Handle(), Array::Handle())); |
| 6391 lib.AddImport(async_ns); | 6418 lib.AddImport(async_ns); |
| 6392 isolate->object_store()->set_isolate_library(lib); | 6419 isolate->object_store()->set_isolate_library(lib); |
| 6393 } | 6420 } |
| 6394 | 6421 |
| 6395 | 6422 |
| 6423 void Library::InitJsonLibrary(Isolate* isolate) { | |
| 6424 const String& url = Symbols::DartJson(); | |
| 6425 const Library& lib = Library::Handle(Library::NewLibraryHelper(url, true)); | |
| 6426 lib.Register(); | |
| 6427 isolate->object_store()->set_json_library(lib); | |
| 6428 } | |
| 6429 | |
| 6430 | |
| 6431 void Library::InitMathLibrary(Isolate* isolate) { | |
| 6432 const String& url = Symbols::DartMath(); | |
| 6433 const Library& lib = Library::Handle(Library::NewLibraryHelper(url, true)); | |
| 6434 lib.Register(); | |
| 6435 isolate->object_store()->set_math_library(lib); | |
| 6436 } | |
| 6437 | |
| 6438 | |
| 6396 void Library::InitMirrorsLibrary(Isolate* isolate) { | 6439 void Library::InitMirrorsLibrary(Isolate* isolate) { |
| 6397 const String& url = Symbols::DartMirrors(); | 6440 const String& url = Symbols::DartMirrors(); |
| 6398 const Library& lib = Library::Handle(Library::NewLibraryHelper(url, true)); | 6441 const Library& lib = Library::Handle(Library::NewLibraryHelper(url, true)); |
| 6399 lib.Register(); | 6442 lib.Register(); |
| 6400 const Library& isolate_lib = Library::Handle(Library::IsolateLibrary()); | 6443 const Library& isolate_lib = Library::Handle(Library::IsolateLibrary()); |
| 6401 const Namespace& isolate_ns = Namespace::Handle( | 6444 const Namespace& isolate_ns = Namespace::Handle( |
| 6402 Namespace::New(isolate_lib, Array::Handle(), Array::Handle())); | 6445 Namespace::New(isolate_lib, Array::Handle(), Array::Handle())); |
| 6403 lib.AddImport(isolate_ns); | 6446 lib.AddImport(isolate_ns); |
| 6404 const Library& async_lib = Library::Handle(Library::ASyncLibrary()); | 6447 const Library& async_lib = Library::Handle(Library::ASyncLibrary()); |
| 6405 const Namespace& async_ns = Namespace::Handle( | 6448 const Namespace& async_ns = Namespace::Handle( |
| 6406 Namespace::New(async_lib, Array::Handle(), Array::Handle())); | 6449 Namespace::New(async_lib, Array::Handle(), Array::Handle())); |
| 6407 lib.AddImport(async_ns); | 6450 lib.AddImport(async_ns); |
| 6408 const Library& wrappers_lib = | 6451 const Library& wrappers_lib = |
| 6409 Library::Handle(Library::NativeWrappersLibrary()); | 6452 Library::Handle(Library::NativeWrappersLibrary()); |
| 6410 const Namespace& wrappers_ns = Namespace::Handle( | 6453 const Namespace& wrappers_ns = Namespace::Handle( |
| 6411 Namespace::New(wrappers_lib, Array::Handle(), Array::Handle())); | 6454 Namespace::New(wrappers_lib, Array::Handle(), Array::Handle())); |
| 6412 lib.AddImport(wrappers_ns); | 6455 lib.AddImport(wrappers_ns); |
| 6413 isolate->object_store()->set_mirrors_library(lib); | 6456 isolate->object_store()->set_mirrors_library(lib); |
| 6414 } | 6457 } |
| 6415 | 6458 |
| 6416 | 6459 |
| 6417 void Library::InitScalarlistLibrary(Isolate* isolate) { | |
| 6418 const String& url = Symbols::DartScalarlist(); | |
| 6419 const Library& lib = Library::Handle(Library::NewLibraryHelper(url, true)); | |
| 6420 lib.Register(); | |
| 6421 const Library& collection_lib = | |
| 6422 Library::Handle(Library::CollectionLibrary()); | |
| 6423 const Namespace& collection_ns = Namespace::Handle( | |
| 6424 Namespace::New(collection_lib, Array::Handle(), Array::Handle())); | |
| 6425 lib.AddImport(collection_ns); | |
| 6426 isolate->object_store()->set_scalarlist_library(lib); | |
| 6427 } | |
| 6428 | |
| 6429 | |
| 6430 void Library::InitNativeWrappersLibrary(Isolate* isolate) { | 6460 void Library::InitNativeWrappersLibrary(Isolate* isolate) { |
| 6431 static const int kNumNativeWrappersClasses = 4; | 6461 static const int kNumNativeWrappersClasses = 4; |
| 6432 ASSERT(kNumNativeWrappersClasses > 0 && kNumNativeWrappersClasses < 10); | 6462 ASSERT(kNumNativeWrappersClasses > 0 && kNumNativeWrappersClasses < 10); |
| 6433 const String& native_flds_lib_url = Symbols::DartNativeWrappers(); | 6463 const String& native_flds_lib_url = Symbols::DartNativeWrappers(); |
| 6434 const Library& native_flds_lib = Library::Handle( | 6464 const Library& native_flds_lib = Library::Handle( |
| 6435 Library::NewLibraryHelper(native_flds_lib_url, false)); | 6465 Library::NewLibraryHelper(native_flds_lib_url, false)); |
| 6436 native_flds_lib.Register(); | 6466 native_flds_lib.Register(); |
| 6437 isolate->object_store()->set_native_wrappers_library(native_flds_lib); | 6467 isolate->object_store()->set_native_wrappers_library(native_flds_lib); |
| 6438 static const char* const kNativeWrappersClass = "NativeFieldWrapperClass"; | 6468 static const char* const kNativeWrappersClass = "NativeFieldWrapperClass"; |
| 6439 static const int kNameLength = 25; | 6469 static const int kNameLength = 25; |
| 6440 ASSERT(kNameLength == (strlen(kNativeWrappersClass) + 1 + 1)); | 6470 ASSERT(kNameLength == (strlen(kNativeWrappersClass) + 1 + 1)); |
| 6441 char name_buffer[kNameLength]; | 6471 char name_buffer[kNameLength]; |
| 6442 String& cls_name = String::Handle(); | 6472 String& cls_name = String::Handle(); |
| 6443 for (int fld_cnt = 1; fld_cnt <= kNumNativeWrappersClasses; fld_cnt++) { | 6473 for (int fld_cnt = 1; fld_cnt <= kNumNativeWrappersClasses; fld_cnt++) { |
| 6444 OS::SNPrint(name_buffer, | 6474 OS::SNPrint(name_buffer, |
| 6445 kNameLength, | 6475 kNameLength, |
| 6446 "%s%d", | 6476 "%s%d", |
| 6447 kNativeWrappersClass, | 6477 kNativeWrappersClass, |
| 6448 fld_cnt); | 6478 fld_cnt); |
| 6449 cls_name = Symbols::New(name_buffer); | 6479 cls_name = Symbols::New(name_buffer); |
| 6450 Class::NewNativeWrapper(native_flds_lib, cls_name, fld_cnt); | 6480 Class::NewNativeWrapper(native_flds_lib, cls_name, fld_cnt); |
| 6451 } | 6481 } |
| 6452 } | 6482 } |
| 6453 | 6483 |
| 6454 | 6484 |
| 6485 void Library::InitScalarlistLibrary(Isolate* isolate) { | |
| 6486 const String& url = Symbols::DartScalarlist(); | |
| 6487 const Library& lib = Library::Handle(Library::NewLibraryHelper(url, true)); | |
| 6488 lib.Register(); | |
| 6489 const Library& collection_lib = | |
| 6490 Library::Handle(Library::CollectionLibrary()); | |
| 6491 const Namespace& collection_ns = Namespace::Handle( | |
| 6492 Namespace::New(collection_lib, Array::Handle(), Array::Handle())); | |
| 6493 lib.AddImport(collection_ns); | |
| 6494 isolate->object_store()->set_scalarlist_library(lib); | |
| 6495 } | |
| 6496 | |
| 6497 | |
| 6498 void Library::InitUriLibrary(Isolate* isolate) { | |
| 6499 const String& url = Symbols::DartUri(); | |
| 6500 const Library& lib = Library::Handle(Library::NewLibraryHelper(url, true)); | |
| 6501 lib.Register(); | |
| 6502 const Library& math_lib = Library::Handle(Library::MathLibrary()); | |
| 6503 const Namespace& math_ns = Namespace::Handle( | |
| 6504 Namespace::New(math_lib, Array::Handle(), Array::Handle())); | |
| 6505 const Library& utf_lib = Library::Handle(Library::UtfLibrary()); | |
| 6506 const Namespace& utf_ns = Namespace::Handle( | |
| 6507 Namespace::New(utf_lib, Array::Handle(), Array::Handle())); | |
| 6508 lib.AddImport(math_ns); | |
| 6509 lib.AddImport(utf_ns); | |
| 6510 isolate->object_store()->set_uri_library(lib); | |
| 6511 } | |
| 6512 | |
| 6513 | |
| 6514 void Library::InitUtfLibrary(Isolate* isolate) { | |
| 6515 const String& url = Symbols::DartUtf(); | |
| 6516 const Library& lib = Library::Handle(Library::NewLibraryHelper(url, true)); | |
| 6517 lib.Register(); | |
| 6518 const Library& async_lib = Library::Handle(Library::ASyncLibrary()); | |
| 6519 const Namespace& async_ns = Namespace::Handle( | |
| 6520 Namespace::New(async_lib, Array::Handle(), Array::Handle())); | |
| 6521 lib.AddImport(async_ns); | |
| 6522 isolate->object_store()->set_utf_library(lib); | |
| 6523 } | |
| 6524 | |
| 6525 | |
| 6455 RawLibrary* Library::LookupLibrary(const String &url) { | 6526 RawLibrary* Library::LookupLibrary(const String &url) { |
| 6456 Isolate* isolate = Isolate::Current(); | 6527 Isolate* isolate = Isolate::Current(); |
| 6457 Library& lib = Library::Handle(isolate, Library::null()); | 6528 Library& lib = Library::Handle(isolate, Library::null()); |
| 6458 String& lib_url = String::Handle(isolate, String::null()); | 6529 String& lib_url = String::Handle(isolate, String::null()); |
| 6459 GrowableObjectArray& libs = GrowableObjectArray::Handle( | 6530 GrowableObjectArray& libs = GrowableObjectArray::Handle( |
| 6460 isolate, isolate->object_store()->libraries()); | 6531 isolate, isolate->object_store()->libraries()); |
| 6461 for (int i = 0; i < libs.Length(); i++) { | 6532 for (int i = 0; i < libs.Length(); i++) { |
| 6462 lib ^= libs.At(i); | 6533 lib ^= libs.At(i); |
| 6463 lib_url ^= lib.url(); | 6534 lib_url ^= lib.url(); |
| 6464 if (lib_url.Equals(url)) { | 6535 if (lib_url.Equals(url)) { |
| (...skipping 93 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 6558 RawLibrary* Library::CollectionLibrary() { | 6629 RawLibrary* Library::CollectionLibrary() { |
| 6559 return Isolate::Current()->object_store()->collection_library(); | 6630 return Isolate::Current()->object_store()->collection_library(); |
| 6560 } | 6631 } |
| 6561 | 6632 |
| 6562 | 6633 |
| 6563 RawLibrary* Library::CollectionDevLibrary() { | 6634 RawLibrary* Library::CollectionDevLibrary() { |
| 6564 return Isolate::Current()->object_store()->collection_dev_library(); | 6635 return Isolate::Current()->object_store()->collection_dev_library(); |
| 6565 } | 6636 } |
| 6566 | 6637 |
| 6567 | 6638 |
| 6568 RawLibrary* Library::MathLibrary() { | 6639 RawLibrary* Library::CryptoLibrary() { |
| 6569 return Isolate::Current()->object_store()->math_library(); | 6640 return Isolate::Current()->object_store()->crypto_library(); |
| 6570 } | 6641 } |
| 6571 | 6642 |
| 6572 | 6643 |
| 6573 RawLibrary* Library::IsolateLibrary() { | 6644 RawLibrary* Library::IsolateLibrary() { |
| 6574 return Isolate::Current()->object_store()->isolate_library(); | 6645 return Isolate::Current()->object_store()->isolate_library(); |
| 6575 } | 6646 } |
| 6576 | 6647 |
| 6577 | 6648 |
| 6649 RawLibrary* Library::JsonLibrary() { | |
| 6650 return Isolate::Current()->object_store()->json_library(); | |
| 6651 } | |
| 6652 | |
| 6653 | |
| 6654 RawLibrary* Library::MathLibrary() { | |
| 6655 return Isolate::Current()->object_store()->math_library(); | |
| 6656 } | |
| 6657 | |
| 6658 | |
| 6578 RawLibrary* Library::MirrorsLibrary() { | 6659 RawLibrary* Library::MirrorsLibrary() { |
| 6579 return Isolate::Current()->object_store()->mirrors_library(); | 6660 return Isolate::Current()->object_store()->mirrors_library(); |
| 6580 } | 6661 } |
| 6581 | 6662 |
| 6582 | 6663 |
| 6664 RawLibrary* Library::NativeWrappersLibrary() { | |
| 6665 return Isolate::Current()->object_store()->native_wrappers_library(); | |
| 6666 } | |
| 6667 | |
| 6668 | |
| 6583 RawLibrary* Library::ScalarlistLibrary() { | 6669 RawLibrary* Library::ScalarlistLibrary() { |
| 6584 return Isolate::Current()->object_store()->scalarlist_library(); | 6670 return Isolate::Current()->object_store()->scalarlist_library(); |
| 6585 } | 6671 } |
| 6586 | 6672 |
| 6587 | 6673 |
| 6588 RawLibrary* Library::NativeWrappersLibrary() { | 6674 RawLibrary* Library::UriLibrary() { |
| 6589 return Isolate::Current()->object_store()->native_wrappers_library(); | 6675 return Isolate::Current()->object_store()->uri_library(); |
| 6676 } | |
| 6677 | |
| 6678 | |
| 6679 RawLibrary* Library::UtfLibrary() { | |
| 6680 return Isolate::Current()->object_store()->utf_library(); | |
| 6590 } | 6681 } |
| 6591 | 6682 |
| 6592 | 6683 |
| 6593 const char* Library::ToCString() const { | 6684 const char* Library::ToCString() const { |
| 6594 const char* kFormat = "Library:'%s'"; | 6685 const char* kFormat = "Library:'%s'"; |
| 6595 const String& name = String::Handle(url()); | 6686 const String& name = String::Handle(url()); |
| 6596 intptr_t len = OS::SNPrint(NULL, 0, kFormat, name.ToCString()) + 1; | 6687 intptr_t len = OS::SNPrint(NULL, 0, kFormat, name.ToCString()) + 1; |
| 6597 char* chars = Isolate::Current()->current_zone()->Alloc<char>(len); | 6688 char* chars = Isolate::Current()->current_zone()->Alloc<char>(len); |
| 6598 OS::SNPrint(chars, len, kFormat, name.ToCString()); | 6689 OS::SNPrint(chars, len, kFormat, name.ToCString()); |
| 6599 return chars; | 6690 return chars; |
| (...skipping 6291 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 12891 } | 12982 } |
| 12892 return result.raw(); | 12983 return result.raw(); |
| 12893 } | 12984 } |
| 12894 | 12985 |
| 12895 | 12986 |
| 12896 const char* WeakProperty::ToCString() const { | 12987 const char* WeakProperty::ToCString() const { |
| 12897 return "_WeakProperty"; | 12988 return "_WeakProperty"; |
| 12898 } | 12989 } |
| 12899 | 12990 |
| 12900 } // namespace dart | 12991 } // namespace dart |
| OLD | NEW |