| OLD | NEW |
| 1 // Copyright 2014 the V8 project authors. All rights reserved. | 1 // Copyright 2014 the V8 project authors. All rights reserved. |
| 2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
| 3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
| 4 | 4 |
| 5 #include "src/bootstrapper.h" | 5 #include "src/bootstrapper.h" |
| 6 | 6 |
| 7 #include "src/accessors.h" | 7 #include "src/accessors.h" |
| 8 #include "src/api-natives.h" | 8 #include "src/api-natives.h" |
| 9 #include "src/base/ieee754.h" | 9 #include "src/base/ieee754.h" |
| 10 #include "src/code-stubs.h" | 10 #include "src/code-stubs.h" |
| (...skipping 3510 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 3521 | 3521 |
| 3522 // Store the map for the %ObjectPrototype% after the natives has been compiled | 3522 // Store the map for the %ObjectPrototype% after the natives has been compiled |
| 3523 // and the Object function has been set up. | 3523 // and the Object function has been set up. |
| 3524 Handle<JSFunction> object_function(native_context()->object_function()); | 3524 Handle<JSFunction> object_function(native_context()->object_function()); |
| 3525 DCHECK(JSObject::cast(object_function->initial_map()->prototype()) | 3525 DCHECK(JSObject::cast(object_function->initial_map()->prototype()) |
| 3526 ->HasFastProperties()); | 3526 ->HasFastProperties()); |
| 3527 native_context()->set_object_function_prototype_map( | 3527 native_context()->set_object_function_prototype_map( |
| 3528 HeapObject::cast(object_function->initial_map()->prototype())->map()); | 3528 HeapObject::cast(object_function->initial_map()->prototype())->map()); |
| 3529 | 3529 |
| 3530 // Set up the map for Object.create(null) instances. | 3530 // Set up the map for Object.create(null) instances. |
| 3531 Handle<Map> object_with_null_prototype_map = | 3531 Handle<Map> slow_object_with_null_prototype_map = |
| 3532 Map::CopyInitialMap(handle(object_function->initial_map(), isolate())); | 3532 Map::CopyInitialMap(handle(object_function->initial_map(), isolate())); |
| 3533 Map::SetPrototype(object_with_null_prototype_map, | 3533 slow_object_with_null_prototype_map->set_dictionary_map(true); |
| 3534 Map::SetPrototype(slow_object_with_null_prototype_map, |
| 3534 isolate()->factory()->null_value()); | 3535 isolate()->factory()->null_value()); |
| 3535 native_context()->set_object_with_null_prototype_map( | 3536 native_context()->set_slow_object_with_null_prototype_map( |
| 3536 *object_with_null_prototype_map); | 3537 *slow_object_with_null_prototype_map); |
| 3537 | 3538 |
| 3538 // Store the map for the %StringPrototype% after the natives has been compiled | 3539 // Store the map for the %StringPrototype% after the natives has been compiled |
| 3539 // and the String function has been set up. | 3540 // and the String function has been set up. |
| 3540 Handle<JSFunction> string_function(native_context()->string_function()); | 3541 Handle<JSFunction> string_function(native_context()->string_function()); |
| 3541 DCHECK(JSObject::cast( | 3542 DCHECK(JSObject::cast( |
| 3542 string_function->initial_map()->prototype())->HasFastProperties()); | 3543 string_function->initial_map()->prototype())->HasFastProperties()); |
| 3543 native_context()->set_string_function_prototype_map( | 3544 native_context()->set_string_function_prototype_map( |
| 3544 HeapObject::cast(string_function->initial_map()->prototype())->map()); | 3545 HeapObject::cast(string_function->initial_map()->prototype())->map()); |
| 3545 | 3546 |
| 3546 Handle<JSGlobalObject> global_object = | 3547 Handle<JSGlobalObject> global_object = |
| (...skipping 1025 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 4572 } | 4573 } |
| 4573 | 4574 |
| 4574 | 4575 |
| 4575 // Called when the top-level V8 mutex is destroyed. | 4576 // Called when the top-level V8 mutex is destroyed. |
| 4576 void Bootstrapper::FreeThreadResources() { | 4577 void Bootstrapper::FreeThreadResources() { |
| 4577 DCHECK(!IsActive()); | 4578 DCHECK(!IsActive()); |
| 4578 } | 4579 } |
| 4579 | 4580 |
| 4580 } // namespace internal | 4581 } // namespace internal |
| 4581 } // namespace v8 | 4582 } // namespace v8 |
| OLD | NEW |