Home | History | Annotate | Download | only in src

Lines Matching full:handle

46 Handle<String> Bootstrapper::NativesSourceLookup(int index) {
57 Handle<String> source_code = isolate_->factory()
62 Handle<Object> cached_source(heap->natives_source_cache()->get(index),
64 return Handle<String>::cast(cached_source);
157 v8::Handle<v8::ObjectTemplate> global_proxy_template,
165 Handle<Context> result() { return result_; }
168 Handle<Context> native_context() { return native_context_; }
173 Handle<JSFunction> CreateEmptyFunction(Isolate* isolate);
175 Handle<JSFunction> GetStrictPoisonFunction();
177 Handle<JSFunction> GetGeneratorPoisonFunction();
179 void CreateStrictModeFunctionMaps(Handle<JSFunction> empty);
182 void PoisonArgumentsAndCaller(Handle<Map> map);
190 Handle<JSGlobalProxy> CreateNewGlobals(
191 v8::Handle<v8::ObjectTemplate> global_proxy_template,
193 Handle<GlobalObject>* global_object_out);
197 void HookUpGlobalProxy(Handle<GlobalObject> global_object,
198 Handle<JSGlobalProxy> global_proxy);
202 void HookUpGlobalObject(Handle<GlobalObject> global_object);
204 void InitializeGlobal(Handle<GlobalObject> global_object,
205 Handle<JSFunction> empty_function);
211 Handle<JSFunction> InstallInternalArray(Handle<JSBuiltinsObject> builtins,
219 Handle<JSFunction>* fun,
220 Handle<Map>* external_map);
243 static bool InstallExtensions(Handle<Context> native_context,
256 static bool InstallSpecialObjects(Handle<Context> native_context);
257 bool InstallJSBuiltins(Handle<JSBuiltinsObject> builtins);
258 bool ConfigureApiObject(Handle<JSObject> object,
259 Handle<ObjectTemplateInfo> object_template);
261 v8::Handle<v8::ObjectTemplate> global_proxy_template);
266 void TransferObject(Handle<JSObject> from, Handle<JSObject> to);
267 void TransferNamedProperties(Handle<JSObject> from, Handle<JSObject> to);
268 void TransferIndexedProperties(Handle<JSObject> from, Handle<JSObject> to);
284 Handle<Map> CreateFunctionMap(FunctionMode function_mode);
286 void SetFunctionInstanceDescriptor(Handle<Map> map,
290 Handle<Map> CreateStrictFunctionMap(
292 Handle<JSFunction> empty_function);
294 void SetStrictFunctionInstanceDescriptor(Handle<Map> map,
301 Handle<String> source);
304 Handle<String> source,
307 Handle<Context> top_context,
311 Handle<Context> result_;
312 Handle<Context> native_context_;
318 Handle<Map> sloppy_function_map_writable_prototype_;
319 Handle<Map> strict_function_map_writable_prototype_;
320 Handle<JSFunction> strict_poison_function;
321 Handle<JSFunction> generator_poison_function;
334 Handle<Context> Bootstrapper::CreateEnvironment(
336 v8::Handle<v8::ObjectTemplate> global_proxy_template,
341 Handle<Context> env = genesis.result();
343 return Handle<Context>();
349 static void SetObjectPrototype(Handle<JSObject> object, Handle<Object> proto) {
351 Handle<Map> old_map = Handle<Map>(object->map());
352 Handle<Map> new_map = Map::Copy(old_map);
358 void Bootstrapper::DetachGlobal(Handle<Context> env) {
360 Handle<JSGlobalProxy> global_proxy(JSGlobalProxy::cast(env->global_proxy()));
367 static Handle<JSFunction> InstallFunction(Handle<JSObject> target,
375 Handle<String> internalized_name = factory->InternalizeUtf8String(name);
376 Handle<Code> call_code = Handle<Code>(isolate->builtins()->builtin(call));
377 Handle<JSObject> prototype;
378 Handle<JSFunction> function = maybe_prototype.ToHandle(&prototype)
399 Handle<Map> map, FunctionMode function_mode) {
406 Handle<AccessorInfo> length =
409 CallbacksDescriptor d(Handle<Name>(Name::cast(length->name())),
413 Handle<AccessorInfo> name =
416 CallbacksDescriptor d(Handle<Name>(Name::cast(name->name())),
420 Handle<AccessorInfo> args =
423 CallbacksDescriptor d(Handle<Name>(Name::cast(args->name())),
427 Handle<AccessorInfo> caller =
430 CallbacksDescriptor d(Handle<Name>(Name::cast(caller->name())),
438 Handle<AccessorInfo> prototype =
440 CallbacksDescriptor d(Handle<Name>(Name::cast(prototype->name())),
447 Handle<Map> Genesis::CreateFunctionMap(FunctionMode function_mode) {
448 Handle<Map> map = factory()->NewMap(JS_FUNCTION_TYPE, JSFunction::kSize);
455 Handle<JSFunction> Genesis::CreateEmptyFunction(Isolate* isolate) {
461 Handle<Map> function_without_prototype_map =
469 Handle<Map> function_map =
482 Handle<String> object_name = factory->Object_string();
485 Handle<JSFunction> object_fun = factory->NewFunction(object_name);
488 Handle<Map> object_function_map =
498 Handle<JSObject> prototype = factory->NewJSObject(
501 Handle<Map> map = Map::Copy(handle(prototype->map()));
515 Handle<String> empty_string =
517 Handle<Code> code(isolate->builtins()->builtin(Builtins::kEmptyFunction));
518 Handle<JSFunction> empty_function = factory->NewFunctionWithoutPrototype(
522 Handle<Map> empty_function_map =
531 Handle<String> source = factory->NewStringFromStaticChars("() {}");
532 Handle<Script> script = factory->NewScript(source);
549 Handle<Map> map, FunctionMode function_mode) {
553 Handle<AccessorPair> arguments(factory()->NewAccessorPair());
554 Handle<AccessorPair> caller(factory()->NewAccessorPair());
562 Handle<String> length_string = isolate()->factory()->length_string();
569 Handle<AccessorInfo> length =
571 CallbacksDescriptor d(Handle<Name>(Name::cast(length->name())),
575 Handle<AccessorInfo> name =
578 CallbacksDescriptor d(Handle<Name>(Name::cast(name->name())),
596 Handle<AccessorInfo> prototype =
598 CallbacksDescriptor d(Handle<Name>(Name::cast(prototype->name())),
606 Handle<JSFunction> Genesis::GetStrictPoisonFunction() {
608 Handle<String> name = factory()->InternalizeOneByteString(
610 Handle<Code> code(isolate()->builtins()->builtin(
622 Handle<JSFunction> Genesis::GetGeneratorPoisonFunction() {
624 Handle<String> name = factory()->InternalizeOneByteString(
626 Handle<Code> code(isolate()->builtins()->builtin(
639 Handle<Map> Genesis::CreateStrictFunctionMap(
641 Handle<JSFunction> empty_function) {
642 Handle<Map> map = factory()->NewMap(JS_FUNCTION_TYPE, JSFunction::kSize);
650 void Genesis::CreateStrictModeFunctionMaps(Handle<JSFunction> empty) {
652 Handle<Map> strict_function_without_prototype_map =
660 Handle<Map> strict_function_map =
669 Handle<Map> bound_function_map =
681 static void SetAccessors(Handle<Map> map,
682 Handle<String> name,
683 Handle<JSFunction> func) {
692 static void ReplaceAccessors(Handle<Map> map,
693 Handle<String> name,
695 Handle<AccessorPair> accessor_pair) {
703 void Genesis::PoisonArgumentsAndCaller(Handle<Map> map) {
745 Handle<JSGlobalProxy> Genesis::CreateNewGlobals(
746 v8::Handle<v8::ObjectTemplate> global_proxy_template,
748 Handle<GlobalObject>* global_object_out) {
763 Handle<JSFunction> js_global_object_function;
764 Handle<ObjectTemplateInfo> js_global_object_template;
767 Handle<ObjectTemplateInfo> data =
769 Handle<FunctionTemplateInfo> global_constructor =
770 Handle<FunctionTemplateInfo>(
772 Handle<Object> proto_template(global_constructor->prototype_template(),
776 Handle<ObjectTemplateInfo>::cast(proto_template);
781 Handle<String> name = Handle<String>(heap()->empty_string());
782 Handle<Code> code = Handle<Code>(isolate()->builtins()->builtin(
784 Handle<JSObject> prototype =
791 Handle<Object> value = JSReceiver::GetProperty(&it).ToHandleChecked();
796 Handle<FunctionTemplateInfo> js_global_object_constructor(
806 Handle<GlobalObject> global_object =
813 Handle
815 Handle<String> name = Handle<String>(heap()->empty_string());
816 Handle<Code> code = Handle<Code>(isolate()->builtins()->builtin(
821 Handle<ObjectTemplateInfo> data =
823 Handle<FunctionTemplateInfo> global_constructor(
831 Handle<String> global_name = factory()->global_string();
838 Handle<JSGlobalProxy> global_proxy;
842 global_proxy = Handle<JSGlobalProxy>::cast(
850 void Genesis::HookUpGlobalProxy(Handle<GlobalObject> global_object,
851 Handle<JSGlobalProxy> global_proxy) {
861 void Genesis::HookUpGlobalObject(Handle<GlobalObject> global_object) {
862 Handle<GlobalObject> global_object_from_snapshot(
864 Handle<JSBuiltinsObject> builtins_global(native_context()->builtins());
881 void Genesis::InitializeGlobal(Handle<GlobalObject> global_object,
882 Handle<JSFunction> empty_function) {
899 Handle<String> object_name = factory->Object_string();
903 Handle<JSObject> global(native_context()->global_object());
910 Handle<JSFunction> array_function =
921 Handle<Map> initial_map(array_function->initial_map());
931 Handle<AccessorInfo> array_length =
935 Handle<Name>(Name::cast(array_length->name())),
949 Handle<Code> code = array_constructor_stub.GetCode();
954 Handle<JSFunction> number_fun =
962 Handle<JSFunction> boolean_fun =
970 Handle<JSFunction> string_fun =
978 Handle<Map> string_map =
979 Handle<Map>(native_context()->string_function()->initial_map());
984 Handle<AccessorInfo> string_length(
995 Handle<JSFunction> symbol_fun = InstallFunction(
1003 Handle<JSFunction> date_fun =
1014 Handle<JSFunction> regexp_fun =
1021 Handle<Map> initial_map(regexp_fun->initial_map());
1080 Handle<Map> proto_map = Map::Copy(initial_map);
1082 Handle<JSObject> proto = factory->NewJSObjectFromMap(proto_map);
1096 factory->SetRegExpIrregexpData(Handle<JSRegExp>::cast(proto),
1102 Handle<String> name = factory->InternalizeUtf8String("JSON");
1103 Handle<JSFunction> cons = factory->NewFunction(name);
1105 Handle<Object>(native_context()->initial_object_prototype(), isolate));
1107 Handle<JSObject> json_object = factory->NewJSObject(cons, TENURED);
1114 Handle<JSFunction> array_buffer_fun =
1126 Handle<JSFunction> fun; \
1127 Handle<Map> external_map; \
1138 Handle<JSFunction> data_view_fun =
1157 Handle<JSFunction> object_function(native_context()->object_function());
1158 Handle<Map> iterator_result_map =
1196 Handle<String> arguments_string = factory->Arguments_string();
1197 Handle<Code> code(isolate->builtins()->builtin(Builtins::kIllegal));
1198 Handle<JSFunction> function = factory->NewFunctionWithoutPrototype(
1202 Handle<Map> map =
1235 Handle<Map> map = Map::Copy(isolate->sloppy_arguments_map());
1246 Handle<AccessorPair> callee = factory->NewAccessorPair();
1247 Handle<AccessorPair> caller = factory->NewAccessorPair();
1249 Handle<JSFunction> poison = GetStrictPoisonFunction();
1258 Handle<Map> map = factory->NewMap(JS_OBJECT_TYPE,
1296 Handle<Code> code = Handle<Code>(
1298 Handle<JSFunction> context_extension_fun = factory->NewFunction(
1302 Handle<String> name = factory->InternalizeOneByteString(
1311 Handle<Code> code =
1312 Handle<Code>(isolate->builtins()->builtin(
1314 Handle<JSFunction> delegate = factory->NewFunction(
1322 Handle<Code> code =
1323 Handle<Code>(isolate->builtins()->builtin(
1325 Handle<JSFunction> delegate = factory->NewFunction(
1332 Handle<FixedArray> embedder_data = factory->NewFixedArray(3);
1340 Handle<JSFunction>* fun,
1341 Handle<Map>* external_map) {
1342 Handle<JSObject> global = Handle<JSObject>(native_context()->global_object());
1343 Handle<JSFunction> result = InstallFunction(
1347 Handle<Map> initial_map = isolate()->factory()->NewMap(
1352 handle(initial_map->prototype(), isolate()));
1363 Handle<JSObject> builtins(native_context()->builtins());
1365 Handle<HeapObject> flag(
1376 Handle<String> source_code =
1385 Handle<String> source_code;
1396 Handle<String> source) {
1410 Handle<Context>(isolate->context()),
1420 Handle<String> source,
1423 Handle<Context> top_context,
1427 Handle<SharedFunctionInfo> function_info;
1433 Handle<String> script_name =
1447 Handle<Context> context =
1448 Handle<Context>(use_runtime_context
1449 ? Handle<Context>(top_context->runtime_context())
1451 Handle<JSFunction> fun =
1456 Handle<Object> receiver =
1457 Handle<Object>(use_runtime_context
1466 static Handle<JSObject> ResolveBuiltinIdHolder(Handle<Context> native_context,
1470 Handle<GlobalObject> global(native_context->global_object());
1473 return Handle<JSObject>::cast(
1482 Handle<String> property_string = factory->InternalizeUtf8String(property);
1484 Handle<JSObject> object = Handle<JSObject>::cast(
1487 Handle<JSFunction> function = Handle<JSFunction>::cast(object);
1488 return Handle<JSObject>(JSObject::cast(function->prototype()));
1490 Handle<String> inner_string = factory->InternalizeUtf8String(inner);
1492 Handle<Object> value =
1494 return Handle<JSObject>::cast(value);
1499 Handle<String> var##_name = \
1501 Handle<Object> var##_native = \
1502 Object::GetProperty(handle(native_context()->builtins()), var##_name) \
1508 Handle<Object> fun = \
1593 Handle<JSFunction> Genesis::InstallInternalArray(
1594 Handle<JSBuiltinsObject> builtins,
1603 Handle<JSObject> prototype =
1605 Handle<JSFunction> array_function = InstallFunction(
1610 Handle<Code> code = internal_array_constructor_stub.GetCode();
1614 Handle<Map> original_map(array_function->initial_map());
1615 Handle<Map> initial_map = Map::Copy(original_map);
1625 Handle<AccessorInfo> array_length =
1629 Handle<Name>(Name::cast(array_length->name())), array_length, attribs);
1643 Handle<Code> code = Handle<Code>(
1645 Handle<JSFunction> builtins_fun = factory()->NewFunction(
1649 Handle<String> name =
1656 Handle<JSBuiltinsObject> builtins =
1657 Handle<JSBuiltinsObject>::cast(factory()->NewGlobalObject(builtins_fun));
1670 Handle<String> global_string =
1672 Handle<Object> global_obj(native_context()->global_object(), isolate());
1674 Handle<String> builtins_string =
1683 Handle<JSFunction> bridge = factory()->NewFunction(factory()->empty_string());
1687 Handle<Context> context =
1695 Handle<JSFunction> script_fun = InstallFunction(
1698 Handle<JSObject> prototype =
1703 Handle<Map> script_map = Handle<Map>(script_fun->initial_map());
1709 Handle<AccessorInfo> script_column =
1712 CallbacksDescriptor d(Handle<Name>(Name::cast(script_column->name())),
1717 Handle<AccessorInfo> script_id =
1720 CallbacksDescriptor d(Handle<Name>(Name::cast(script_id->name())),
1726 Handle<AccessorInfo> script_name =
1729 CallbacksDescriptor d(Handle<Name>(Name::cast(script_name->name())),
1734 Handle<AccessorInfo> script_line =
1737 CallbacksDescriptor d(Handle<Name>(Name::cast(script_line->name())),
1742 Handle<AccessorInfo> script_source =
1745 CallbacksDescriptor d(Handle<Name>(Name::cast(script_source->name())),
1750 Handle<AccessorInfo> script_type =
1753 CallbacksDescriptor d(Handle<Name>(Name::cast(script_type->name())),
1758 Handle<AccessorInfo> script_compilation_type =
1762 Handle<Name>(Name::cast(script_compilation_type->name())),
1767 Handle<AccessorInfo> script_line_ends =
1770 CallbacksDescriptor d(Handle<Name>(Name::cast(script_line_ends->name())),
1775 Handle<AccessorInfo> script_context_data =
1779 Handle<Name>(Name::cast(script_context_data->name())),
1784 Handle<AccessorInfo> script_eval_from_script =
1788 Handle<Name>(Name::cast(script_eval_from_script->name())),
1793 Handle<AccessorInfo> script_eval_from_script_position =
1797 Handle<Name>(Name::cast(script_eval_from_script_position->name())),
1802 Handle<AccessorInfo> script_eval_from_function_name =
1806 Handle<Name>(Name::cast(script_eval_from_function_name->name())),
1811 Handle<AccessorInfo> script_source_url =
1814 CallbacksDescriptor d(Handle<Name>(Name::cast(script_source_url->name())),
1819 Handle<AccessorInfo> script_source_mapping_url =
1823 Handle<Name>(Name::cast(script_source_mapping_url->name())),
1829 Handle<Script> script = factory()->NewScript(factory()->empty_string());
1837 Handle<JSFunction> opaque_reference_fun = InstallFunction(
1840 Handle<JSObject> prototype =
1852 Handle<JSFunction> array_function =
1862 Handle<JSFunction> set_iterator_function = InstallFunction(
1870 Handle<JSFunction> map_iterator_function = InstallFunction(
1879 Handle<JSObject> builtins(native_context()->builtins());
1880 Handle<JSObject> generator_object_prototype =
1882 Handle<JSFunction> generator_function_prototype =
1892 Handle<Map> generator_function_map =
1912 Handle<AccessorPair> poison_pair(factory()->NewAccessorPair());
1915 Handle<JSFunction> poison_function = GetGeneratorPoisonFunction();
1923 Handle<Map> strict_function_map(native_context()->strict_function_map());
1924 Handle<Map> strict_generator_function_map = Map::Copy(strict_function_map);
1930 Handle<JSFunction> object_function(native_context()->object_function());
1931 Handle<Map> generator_object_prototype_map = Map::Create(isolate(), 0);
1957 Handle<JSFunction> string_function(native_context()->string_function());
1965 Handle<String> key = factory()->Function_string();
1966 Handle<JSFunction> function =
1967 Handle<JSFunction>::cast(Object::GetProperty(
1968 handle(native_context()->global_object()), key).ToHandleChecked());
1969 Handle<JSObject> proto =
1970 Handle<JSObject>(JSObject::cast(function->instance_prototype()));
1973 Handle<JSFunction> call =
1976 Handle<JSFunction> apply =
1982 Handle<TypeFeedbackVector> feedback_vector =
2009 Handle<JSFunction> array_constructor(native_context()->array_function());
2010 Handle<JSObject> array_prototype(
2014 Handle<Map> initial_map =
2027 Handle<DescriptorArray> array_descriptors(
2029 Handle<String> length = factory()->length_string();
2034 handle(array_descriptors->GetValue(old),
2065 Handle<AccessorInfo> arguments_iterator =
2068 CallbacksDescriptor d(Handle<Name>(native_context()->iterator_symbol()),
2070 Handle<Map> map(native_context()->sloppy_arguments_map());
2075 CallbacksDescriptor d(Handle<Name>(native_context()->iterator_symbol()),
2077 Handle<Map> map(native_context()->aliased_arguments_map());
2082 CallbacksDescriptor d(Handle<Name>(native_context()->iterator_symbol()),
2084 Handle<Map> map(native_context()->strict_arguments_map());
2121 static void InstallBuiltinFunctionId(Handle<JSObject> holder,
2125 Handle<Object> function_object =
2127 Handle<JSFunction> function = Handle<JSFunction>::cast(function_object);
2136 Handle<JSObject> holder = ResolveBuiltinIdHolder( \
2152 static FixedArray* CreateCache(int size, Handle<JSFunction> factory_function) {
2172 Handle<FixedArray> caches =
2178 FixedArray* cache = CreateCache((size), Handle<JSFunction>(func)); \
2191 Handle<NormalizedMapCache> cache = NormalizedMapCache::New(isolate());
2196 bool Bootstrapper::InstallExtensions(Handle<Context> native_context,
2206 bool Genesis::InstallSpecialObjects(Handle<Context> native_context) {
2213 Handle<JSGlobalObject> global(JSGlobalObject::cast(
2216 Handle<JSObject> Error = Handle<JSObject>::cast(
2218 Handle<String> name =
2220 Handle<Smi> stack_trace_limit(Smi::FromInt(FLAG_stack_trace_limit), isolate);
2225 Handle<String> natives =
2229 JSObject::AddProperty(global, natives, handle(global->builtins()),
2236 handle(native_context->builtins(), isolate),
2248 Handle<Context> debug_context = debug->debug_context();
2253 Handle<String> debug_string =
2257 Handle<Object> global_proxy(debug_context->global_proxy(), isolate);
2288 bool Genesis::InstallExtensions(Handle<Context> native_context,
2374 Handle<String> source_code =
2383 Handle<Context>(isolate->context()),
2401 bool Genesis::InstallJSBuiltins(Handle<JSBuiltinsObject> builtins) {
2405 Handle<Object> function_object = Object::GetProperty(
2407 Handle<JSFunction> function = Handle<JSFunction>::cast(function_object);
2423 v8::Handle<v8::ObjectTemplate> global_proxy_template) {
2424 Handle<JSObject> global_proxy(
2426 Handle<JSObject> global_object(
2431 Handle<ObjectTemplateInfo> global_proxy_data =
2436 Handle<FunctionTemplateInfo> proxy_constructor(
2439 Handle<ObjectTemplateInfo> global_object_data(
2454 bool Genesis::ConfigureApiObject(Handle<JSObject> object,
2455 Handle<ObjectTemplateInfo> object_template) {
2462 Handle<JSObject> obj;
2473 void Genesis::TransferNamedProperties(Handle<JSObject> from,
2474 Handle<JSObject> to) {
2476 Handle<DescriptorArray> descs =
2477 Handle<DescriptorArray>(from->map()->instance_descriptors());
2483 Handle<Name> key = Handle<Name>(descs->GetKey(i));
2486 Handle<Object> value = Handle<Object>(from->RawFastPropertyAt(index),
2493 Handle<Name> key = Handle<Name>(descs->GetKey(i));
2494 Handle<Object> constant(descs->GetConstant(i), isolate());
2499 Handle<Name> key(descs->GetKey(i));
2507 Handle<Object> callbacks(descs->GetCallbacksObject(i), isolate());
2520 Handle<NameDictionary> properties =
2521 Handle<NameDictionary>(from->property_dictionary());
2528 Handle<Name> key(Name::cast(raw_key));
2533 Handle<Object> value = Handle<Object>(properties->ValueAt(i),
2537 value = Handle<Object>(PropertyCell::cast(*value)->value(),
2548 void Genesis::TransferIndexedProperties(Handle<JSObject> from,
2549 Handle<JSObject> to) {
2551 Handle<FixedArray> from_elements =
2552 Handle<FixedArray>(FixedArray::cast(from->elements()));
2553 Handle<FixedArray> to_elements = factory()->CopyFixedArray(from_elements);
2558 void Genesis::TransferObject(Handle<JSObject> from, Handle<JSObject> to) {
2568 Handle<Object> proto(from->map()->prototype(), isolate());
2610 v8::Handle<v8::ObjectTemplate> global_proxy_template,
2615 result_ = Handle<Context>::null();
2631 native_context_ = Handle<Context>();
2638 Handle<GlobalObject> global_object;
2639 Handle<JSGlobalProxy> global_proxy = CreateNewGlobals(
2651 Handle<JSFunction> empty_function = CreateEmptyFunction(isolate);
2653 Handle<GlobalObject> global_object;
2654 Handle<JSGlobalProxy> global_proxy = CreateNewGlobals(
2690 Handle<JSBuiltinsObject> builtins(native_context()->builtins());