| 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 "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 654 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
|   665   // base interfaces and the implementation of the internal classes. |   665   // base interfaces and the implementation of the internal classes. | 
|   666   Error& error = Error::Handle(); |   666   Error& error = Error::Handle(); | 
|   667   error = Bootstrap::Compile(core_lib, script); |   667   error = Bootstrap::Compile(core_lib, script); | 
|   668   if (!error.IsNull()) { |   668   if (!error.IsNull()) { | 
|   669     return error.raw(); |   669     return error.raw(); | 
|   670   } |   670   } | 
|   671   error = Bootstrap::Compile(core_impl_lib, impl_script); |   671   error = Bootstrap::Compile(core_impl_lib, impl_script); | 
|   672   if (!error.IsNull()) { |   672   if (!error.IsNull()) { | 
|   673     return error.raw(); |   673     return error.raw(); | 
|   674   } |   674   } | 
|   675  |  | 
|   676   const Script& isolate_script = Script::Handle(Bootstrap::LoadIsolateScript()); |   675   const Script& isolate_script = Script::Handle(Bootstrap::LoadIsolateScript()); | 
|   677   Library::InitIsolateLibrary(isolate); |   676   Library::InitIsolateLibrary(isolate); | 
|   678   Library& isolate_lib = Library::Handle(Library::IsolateLibrary()); |   677   Library& isolate_lib = Library::Handle(Library::IsolateLibrary()); | 
|   679   ASSERT(!isolate_lib.IsNull()); |   678   ASSERT(!isolate_lib.IsNull()); | 
|   680   error = Bootstrap::Compile(isolate_lib, isolate_script); |   679   error = Bootstrap::Compile(isolate_lib, isolate_script); | 
|   681   if (!error.IsNull()) { |   680   if (!error.IsNull()) { | 
|   682     return error.raw(); |   681     return error.raw(); | 
|   683   } |   682   } | 
|   684  |   683   const Script& mirrors_script = Script::Handle(Bootstrap::LoadMirrorsScript()); | 
 |   684   Library::InitMirrorsLibrary(isolate); | 
 |   685   Library& mirrors_lib = Library::Handle(Library::MirrorsLibrary()); | 
 |   686   ASSERT(!mirrors_lib.IsNull()); | 
 |   687   error = Bootstrap::Compile(mirrors_lib, mirrors_script); | 
 |   688   if (!error.IsNull()) { | 
 |   689     return error.raw(); | 
 |   690   } | 
|   685   Bootstrap::SetupNativeResolver(); |   691   Bootstrap::SetupNativeResolver(); | 
|   686  |   692  | 
|   687   // Remove the Object superclass cycle by setting the super type to null (not |   693   // Remove the Object superclass cycle by setting the super type to null (not | 
|   688   // to the type of null). |   694   // to the type of null). | 
|   689   cls = object_store->object_class(); |   695   cls = object_store->object_class(); | 
|   690   cls.set_super_type(Type::Handle()); |   696   cls.set_super_type(Type::Handle()); | 
|   691  |   697  | 
|   692   ClassFinalizer::VerifyBootstrapClasses(); |   698   ClassFinalizer::VerifyBootstrapClasses(); | 
|   693   return Error::null(); |   699   return Error::null(); | 
|   694 } |   700 } | 
| (...skipping 4179 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
|  4874  |  4880  | 
|  4875  |  4881  | 
|  4876 void Library::InitIsolateLibrary(Isolate* isolate) { |  4882 void Library::InitIsolateLibrary(Isolate* isolate) { | 
|  4877   const String& url = String::Handle(String::NewSymbol("dart:isolate")); |  4883   const String& url = String::Handle(String::NewSymbol("dart:isolate")); | 
|  4878   const Library& lib = Library::Handle(Library::New(url)); |  4884   const Library& lib = Library::Handle(Library::New(url)); | 
|  4879   lib.Register(); |  4885   lib.Register(); | 
|  4880   isolate->object_store()->set_isolate_library(lib); |  4886   isolate->object_store()->set_isolate_library(lib); | 
|  4881 } |  4887 } | 
|  4882  |  4888  | 
|  4883  |  4889  | 
 |  4890 void Library::InitMirrorsLibrary(Isolate* isolate) { | 
 |  4891   const String& url = String::Handle(String::NewSymbol("dart:mirrors")); | 
 |  4892   const Library& lib = Library::Handle(Library::New(url)); | 
 |  4893   lib.Register(); | 
 |  4894   const Library& isolate_lib = Library::Handle(Library::IsolateLibrary()); | 
 |  4895   lib.AddImport(isolate_lib); | 
 |  4896   isolate->object_store()->set_mirrors_library(lib); | 
 |  4897 } | 
 |  4898  | 
 |  4899  | 
|  4884 void Library::InitNativeWrappersLibrary(Isolate* isolate) { |  4900 void Library::InitNativeWrappersLibrary(Isolate* isolate) { | 
|  4885   static const int kNumNativeWrappersClasses = 4; |  4901   static const int kNumNativeWrappersClasses = 4; | 
|  4886   ASSERT(kNumNativeWrappersClasses > 0 && kNumNativeWrappersClasses < 10); |  4902   ASSERT(kNumNativeWrappersClasses > 0 && kNumNativeWrappersClasses < 10); | 
|  4887   const String& native_flds_lib_url = String::Handle( |  4903   const String& native_flds_lib_url = String::Handle( | 
|  4888       String::NewSymbol("dart:nativewrappers")); |  4904       String::NewSymbol("dart:nativewrappers")); | 
|  4889   Library& native_flds_lib = Library::Handle( |  4905   Library& native_flds_lib = Library::Handle( | 
|  4890       Library::NewLibraryHelper(native_flds_lib_url, false)); |  4906       Library::NewLibraryHelper(native_flds_lib_url, false)); | 
|  4891   native_flds_lib.Register(); |  4907   native_flds_lib.Register(); | 
|  4892   isolate->object_store()->set_native_wrappers_library(native_flds_lib); |  4908   isolate->object_store()->set_native_wrappers_library(native_flds_lib); | 
|  4893   static const char* const kNativeWrappersClass = "NativeFieldWrapperClass"; |  4909   static const char* const kNativeWrappersClass = "NativeFieldWrapperClass"; | 
| (...skipping 92 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
|  4986 RawLibrary* Library::CoreImplLibrary() { |  5002 RawLibrary* Library::CoreImplLibrary() { | 
|  4987   return Isolate::Current()->object_store()->core_impl_library(); |  5003   return Isolate::Current()->object_store()->core_impl_library(); | 
|  4988 } |  5004 } | 
|  4989  |  5005  | 
|  4990  |  5006  | 
|  4991 RawLibrary* Library::IsolateLibrary() { |  5007 RawLibrary* Library::IsolateLibrary() { | 
|  4992   return Isolate::Current()->object_store()->isolate_library(); |  5008   return Isolate::Current()->object_store()->isolate_library(); | 
|  4993 } |  5009 } | 
|  4994  |  5010  | 
|  4995  |  5011  | 
 |  5012 RawLibrary* Library::MirrorsLibrary() { | 
 |  5013   return Isolate::Current()->object_store()->mirrors_library(); | 
 |  5014 } | 
 |  5015  | 
 |  5016  | 
|  4996 RawLibrary* Library::NativeWrappersLibrary() { |  5017 RawLibrary* Library::NativeWrappersLibrary() { | 
|  4997   return Isolate::Current()->object_store()->native_wrappers_library(); |  5018   return Isolate::Current()->object_store()->native_wrappers_library(); | 
|  4998 } |  5019 } | 
|  4999  |  5020  | 
|  5000  |  5021  | 
|  5001 const char* Library::ToCString() const { |  5022 const char* Library::ToCString() const { | 
|  5002   const char* kFormat = "Library:'%s'"; |  5023   const char* kFormat = "Library:'%s'"; | 
|  5003   const String& name = String::Handle(url()); |  5024   const String& name = String::Handle(url()); | 
|  5004   intptr_t len = OS::SNPrint(NULL, 0, kFormat, name.ToCString()) + 1; |  5025   intptr_t len = OS::SNPrint(NULL, 0, kFormat, name.ToCString()) + 1; | 
|  5005   char* chars = reinterpret_cast<char*>( |  5026   char* chars = reinterpret_cast<char*>( | 
| (...skipping 3598 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
|  8604   result.set_num_args_tested(num_args_tested); |  8625   result.set_num_args_tested(num_args_tested); | 
|  8605   // Number of array elements in one test entry (num_args_tested + 1) |  8626   // Number of array elements in one test entry (num_args_tested + 1) | 
|  8606   intptr_t len = result.TestEntryLength(); |  8627   intptr_t len = result.TestEntryLength(); | 
|  8607   // IC data array must be null terminated (sentinel entry). |  8628   // IC data array must be null terminated (sentinel entry). | 
|  8608   Array& ic_data = Array::Handle(Array::New(len, Heap::kOld)); |  8629   Array& ic_data = Array::Handle(Array::New(len, Heap::kOld)); | 
|  8609   result.set_ic_data(ic_data); |  8630   result.set_ic_data(ic_data); | 
|  8610   return result.raw(); |  8631   return result.raw(); | 
|  8611 } |  8632 } | 
|  8612  |  8633  | 
|  8613 }  // namespace dart |  8634 }  // namespace dart | 
| OLD | NEW |