| 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/utils/random-number-generator.h" | 9 #include "src/base/utils/random-number-generator.h" |
| 10 #include "src/code-stubs.h" | 10 #include "src/code-stubs.h" |
| (...skipping 1289 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1300 native_context()->set_js_map_fun(*js_map_fun); | 1300 native_context()->set_js_map_fun(*js_map_fun); |
| 1301 } | 1301 } |
| 1302 | 1302 |
| 1303 { // -- S e t | 1303 { // -- S e t |
| 1304 Handle<JSFunction> js_set_fun = InstallFunction( | 1304 Handle<JSFunction> js_set_fun = InstallFunction( |
| 1305 global, "Set", JS_SET_TYPE, JSSet::kSize, | 1305 global, "Set", JS_SET_TYPE, JSSet::kSize, |
| 1306 isolate->initial_object_prototype(), Builtins::kIllegal); | 1306 isolate->initial_object_prototype(), Builtins::kIllegal); |
| 1307 native_context()->set_js_set_fun(*js_set_fun); | 1307 native_context()->set_js_set_fun(*js_set_fun); |
| 1308 } | 1308 } |
| 1309 | 1309 |
| 1310 { // Set up the iterator result object | 1310 { // -- I t e r a t o r R e s u l t |
| 1311 STATIC_ASSERT(JSGeneratorObject::kResultPropertyCount == 2); | 1311 Handle<Map> map = |
| 1312 Handle<JSFunction> object_function(native_context()->object_function()); | 1312 factory->NewMap(JS_ITERATOR_RESULT_TYPE, JSIteratorResult::kSize); |
| 1313 Handle<Map> iterator_result_map = | 1313 Map::SetPrototype(map, isolate->initial_object_prototype()); |
| 1314 Map::Create(isolate, JSGeneratorObject::kResultPropertyCount); | 1314 Map::EnsureDescriptorSlack(map, 2); |
| 1315 DCHECK_EQ(JSGeneratorObject::kResultSize, | |
| 1316 iterator_result_map->instance_size()); | |
| 1317 DCHECK_EQ(JSGeneratorObject::kResultPropertyCount, | |
| 1318 iterator_result_map->GetInObjectProperties()); | |
| 1319 Map::EnsureDescriptorSlack(iterator_result_map, | |
| 1320 JSGeneratorObject::kResultPropertyCount); | |
| 1321 | 1315 |
| 1322 DataDescriptor value_descr(factory->value_string(), | 1316 { // value |
| 1323 JSGeneratorObject::kResultValuePropertyIndex, | 1317 DataDescriptor d(factory->value_string(), JSIteratorResult::kValueIndex, |
| 1324 NONE, Representation::Tagged()); | 1318 NONE, Representation::Tagged()); |
| 1325 iterator_result_map->AppendDescriptor(&value_descr); | 1319 map->AppendDescriptor(&d); |
| 1320 } |
| 1326 | 1321 |
| 1327 DataDescriptor done_descr(factory->done_string(), | 1322 { // done |
| 1328 JSGeneratorObject::kResultDonePropertyIndex, NONE, | 1323 DataDescriptor d(factory->done_string(), JSIteratorResult::kDoneIndex, |
| 1329 Representation::Tagged()); | 1324 NONE, Representation::Tagged()); |
| 1330 iterator_result_map->AppendDescriptor(&done_descr); | 1325 map->AppendDescriptor(&d); |
| 1326 } |
| 1331 | 1327 |
| 1332 iterator_result_map->set_unused_property_fields(0); | 1328 map->SetInObjectProperties(2); |
| 1333 DCHECK_EQ(JSGeneratorObject::kResultSize, | 1329 native_context()->set_iterator_result_map(*map); |
| 1334 iterator_result_map->instance_size()); | |
| 1335 native_context()->set_iterator_result_map(*iterator_result_map); | |
| 1336 } | 1330 } |
| 1337 | 1331 |
| 1338 // -- W e a k M a p | 1332 // -- W e a k M a p |
| 1339 InstallFunction(global, "WeakMap", JS_WEAK_MAP_TYPE, JSWeakMap::kSize, | 1333 InstallFunction(global, "WeakMap", JS_WEAK_MAP_TYPE, JSWeakMap::kSize, |
| 1340 isolate->initial_object_prototype(), Builtins::kIllegal); | 1334 isolate->initial_object_prototype(), Builtins::kIllegal); |
| 1341 // -- W e a k S e t | 1335 // -- W e a k S e t |
| 1342 InstallFunction(global, "WeakSet", JS_WEAK_SET_TYPE, JSWeakSet::kSize, | 1336 InstallFunction(global, "WeakSet", JS_WEAK_SET_TYPE, JSWeakSet::kSize, |
| 1343 isolate->initial_object_prototype(), Builtins::kIllegal); | 1337 isolate->initial_object_prototype(), Builtins::kIllegal); |
| 1344 | 1338 |
| 1345 { // --- sloppy arguments map | 1339 { // --- sloppy arguments map |
| (...skipping 1844 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 3190 } | 3184 } |
| 3191 | 3185 |
| 3192 | 3186 |
| 3193 // Called when the top-level V8 mutex is destroyed. | 3187 // Called when the top-level V8 mutex is destroyed. |
| 3194 void Bootstrapper::FreeThreadResources() { | 3188 void Bootstrapper::FreeThreadResources() { |
| 3195 DCHECK(!IsActive()); | 3189 DCHECK(!IsActive()); |
| 3196 } | 3190 } |
| 3197 | 3191 |
| 3198 } // namespace internal | 3192 } // namespace internal |
| 3199 } // namespace v8 | 3193 } // namespace v8 |
| OLD | NEW |