| OLD | NEW |
| 1 // Copyright (c) 2011, the Dart project authors. Please see the AUTHORS file | 1 // Copyright (c) 2011, 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 "vm/assembler.h" | 7 #include "vm/assembler.h" |
| 8 #include "vm/assert.h" | 8 #include "vm/assert.h" |
| 9 #include "vm/bigint_operations.h" | 9 #include "vm/bigint_operations.h" |
| 10 #include "vm/bootstrap.h" | 10 #include "vm/bootstrap.h" |
| (...skipping 10 matching lines...) Expand all Loading... |
| 21 #include "vm/ic_data.h" | 21 #include "vm/ic_data.h" |
| 22 #include "vm/object_store.h" | 22 #include "vm/object_store.h" |
| 23 #include "vm/parser.h" | 23 #include "vm/parser.h" |
| 24 #include "vm/runtime_entry.h" | 24 #include "vm/runtime_entry.h" |
| 25 #include "vm/scopes.h" | 25 #include "vm/scopes.h" |
| 26 #include "vm/timer.h" | 26 #include "vm/timer.h" |
| 27 #include "vm/unicode.h" | 27 #include "vm/unicode.h" |
| 28 | 28 |
| 29 namespace dart { | 29 namespace dart { |
| 30 | 30 |
| 31 DEFINE_FLAG(bool, expose_core_impl, false, | |
| 32 "Enables access to core implementation library (only for testing)."); | |
| 33 DEFINE_FLAG(bool, generate_gdb_symbols, false, | 31 DEFINE_FLAG(bool, generate_gdb_symbols, false, |
| 34 "Generate symbols of generated dart functions for debugging with GDB"); | 32 "Generate symbols of generated dart functions for debugging with GDB"); |
| 35 | 33 |
| 36 cpp_vtable Object::handle_vtable_ = 0; | 34 cpp_vtable Object::handle_vtable_ = 0; |
| 37 cpp_vtable Smi::handle_vtable_ = 0; | 35 cpp_vtable Smi::handle_vtable_ = 0; |
| 38 | 36 |
| 39 // These are initialized to a value that will force a illegal memory access if | 37 // These are initialized to a value that will force a illegal memory access if |
| 40 // they are being used. | 38 // they are being used. |
| 41 #if defined(RAW_NULL) | 39 #if defined(RAW_NULL) |
| 42 #error RAW_NULL should not be defined. | 40 #error RAW_NULL should not be defined. |
| (...skipping 4120 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 4163 result.set_native_entry_resolver(NULL); | 4161 result.set_native_entry_resolver(NULL); |
| 4164 result.raw_ptr()->corelib_imported_ = true; | 4162 result.raw_ptr()->corelib_imported_ = true; |
| 4165 result.raw_ptr()->load_state_ = RawLibrary::kAllocated; | 4163 result.raw_ptr()->load_state_ = RawLibrary::kAllocated; |
| 4166 result.InitClassDictionary(); | 4164 result.InitClassDictionary(); |
| 4167 result.InitImportList(); | 4165 result.InitImportList(); |
| 4168 result.InitImportedIntoList(); | 4166 result.InitImportedIntoList(); |
| 4169 if (import_core_lib) { | 4167 if (import_core_lib) { |
| 4170 Library& core_lib = Library::Handle(Library::CoreLibrary()); | 4168 Library& core_lib = Library::Handle(Library::CoreLibrary()); |
| 4171 ASSERT(!core_lib.IsNull()); | 4169 ASSERT(!core_lib.IsNull()); |
| 4172 result.AddImport(core_lib); | 4170 result.AddImport(core_lib); |
| 4173 if (FLAG_expose_core_impl) { | |
| 4174 // Make implementation corelib visible to Dart code. | |
| 4175 result.AddImport(Library::Handle(Library::CoreImplLibrary())); | |
| 4176 } | |
| 4177 } | 4171 } |
| 4178 return result.raw(); | 4172 return result.raw(); |
| 4179 } | 4173 } |
| 4180 | 4174 |
| 4181 | 4175 |
| 4182 RawLibrary* Library::New(const String& url) { | 4176 RawLibrary* Library::New(const String& url) { |
| 4183 return NewLibraryHelper(url, true); | 4177 return NewLibraryHelper(url, true); |
| 4184 } | 4178 } |
| 4185 | 4179 |
| 4186 | 4180 |
| (...skipping 3085 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 7272 const String& str = String::Handle(pattern()); | 7266 const String& str = String::Handle(pattern()); |
| 7273 const char* format = "JSRegExp: pattern=%s flags=%s"; | 7267 const char* format = "JSRegExp: pattern=%s flags=%s"; |
| 7274 intptr_t len = OS::SNPrint(NULL, 0, format, str.ToCString(), Flags()); | 7268 intptr_t len = OS::SNPrint(NULL, 0, format, str.ToCString(), Flags()); |
| 7275 char* chars = reinterpret_cast<char*>( | 7269 char* chars = reinterpret_cast<char*>( |
| 7276 Isolate::Current()->current_zone()->Allocate(len + 1)); | 7270 Isolate::Current()->current_zone()->Allocate(len + 1)); |
| 7277 OS::SNPrint(chars, (len + 1), format, str.ToCString(), Flags()); | 7271 OS::SNPrint(chars, (len + 1), format, str.ToCString(), Flags()); |
| 7278 return chars; | 7272 return chars; |
| 7279 } | 7273 } |
| 7280 | 7274 |
| 7281 } // namespace dart | 7275 } // namespace dart |
| OLD | NEW |