Home | History | Annotate | Download | only in src

Lines Matching refs:Handle

73 Handle<String> Bootstrapper::NativesSourceLookup(int index) {
85 Handle<String> source_code =
89 Handle<Object> cached_source(heap->natives_source_cache()->get(index));
90 return Handle<String>::cast(cached_source);
143 Handle<Object> global_object,
144 v8::Handle<v8::ObjectTemplate> global_template,
148 Handle<Context> result() { return result_; }
157 Handle<Context> global_context_;
161 // triggered during environment creation there may be weak handle
165 Handle<Context> global_context() { return global_context_; }
170 Handle<JSFunction> CreateEmptyFunction(Isolate* isolate);
172 Handle<JSFunction> GetThrowTypeErrorFunction();
174 void CreateStrictModeFunctionMaps(Handle<JSFunction> empty);
177 void PoisonArgumentsAndCaller(Handle<Map> map);
185 Handle<JSGlobalProxy> CreateNewGlobals(
186 v8::Handle<v8::ObjectTemplate> global_template,
187 Handle<Object> global_object,
188 Handle<GlobalObject>* global_proxy_out);
192 void HookUpGlobalProxy(Handle<GlobalObject> inner_global,
193 Handle<JSGlobalProxy> global_proxy);
197 void HookUpInnerGlobal(Handle<GlobalObject> inner_global);
199 bool InitializeGlobal(Handle<GlobalObject> inner_global,
200 Handle<JSFunction> empty_function);
229 static bool InstallExtensions(Handle<Context> global_context,
235 static void InstallSpecialObjects(Handle<Context> global_context);
236 bool InstallJSBuiltins(Handle<JSBuiltinsObject> builtins);
237 bool ConfigureApiObject(Handle<JSObject> object,
238 Handle<ObjectTemplateInfo> object_template);
239 bool ConfigureGlobalObjects(v8::Handle<v8::ObjectTemplate> global_template);
244 void TransferObject(Handle<JSObject> from, Handle<JSObject> to);
245 void TransferNamedProperties(Handle<JSObject> from, Handle<JSObject> to);
246 void TransferIndexedProperties(Handle<JSObject> from, Handle<JSObject> to);
254 Handle<Map> CreateFunctionMap(PrototypePropertyMode prototype_mode);
256 Handle<DescriptorArray> ComputeFunctionInstanceDescriptor(
260 Handle<Map> CreateStrictModeFunctionMap(
262 Handle<JSFunction> empty_function);
264 Handle<DescriptorArray> ComputeStrictFunctionInstanceDescriptor(
269 static bool CompileNative(Vector<const char> name, Handle<String> source);
271 Handle<String> source,
274 Handle<Context> top_context,
277 Handle<Context> result_;
283 Handle<Map> function_instance_map_writable_prototype_;
284 Handle<Map> strict_mode_function_instance_map_writable_prototype_;
285 Handle<JSFunction> throw_type_error_function;
298 Handle<Context> Bootstrapper::CreateEnvironment(
300 Handle<Object> global_object,
301 v8::Handle<v8::ObjectTemplate> global_template,
304 Handle<Context> env;
312 return Handle<Context>();
316 static void SetObjectPrototype(Handle<JSObject> object, Handle<Object> proto) {
319 Handle<Map> old_to_map = Handle<Map>(object->map());
320 Handle<Map> new_to_map = factory->CopyMapDropTransitions(old_to_map);
326 void Bootstrapper::DetachGlobal(Handle<Context> env) {
329 SetObjectPrototype(Handle<JSObject>(env->global_proxy()),
336 void Bootstrapper::ReattachGlobal(Handle<Context> env,
337 Handle<Object> global_object) {
339 Handle<JSGlobalProxy> global = Handle<JSGlobalProxy>::cast(global_object);
342 SetObjectPrototype(global, Handle<JSObject>(env->global()));
347 static Handle<JSFunction> InstallFunction(Handle<JSObject> target,
351 Handle<JSObject> prototype,
356 Handle<String> symbol = factory->LookupAsciiSymbol(name);
357 Handle<Code> call_code = Handle<Code>(isolate->builtins()->builtin(call));
358 Handle<JSFunction> function = prototype.is_null() ?
384 Handle<DescriptorArray> Genesis::ComputeFunctionInstanceDescriptor(
387 Handle<DescriptorArray> descriptors(factory()->NewDescriptorArray(size));
394 Handle<Foreign> f(factory()->NewForeign(&Accessors::FunctionLength));
399 Handle<Foreign> f(factory()->NewForeign(&Accessors::FunctionName));
404 Handle<Foreign> f(factory()->NewForeign(&Accessors::FunctionArguments));
409 Handle<Foreign> f(factory()->NewForeign(&Accessors::FunctionCaller));
418 Handle<Foreign> f(factory()->NewForeign(&Accessors::FunctionPrototype));
427 Handle<Map> Genesis::CreateFunctionMap(PrototypePropertyMode prototype_mode) {
428 Handle<Map> map = factory()->NewMap(JS_FUNCTION_TYPE, JSFunction::kSize);
429 Handle<DescriptorArray> descriptors =
437 Handle<JSFunction> Genesis::CreateEmptyFunction(Isolate* isolate) {
443 Handle<Map> function_instance_map =
449 Handle<Map> function_without_prototype_map =
457 Handle<Map> function_map = CreateFunctionMap(ADD_READONLY_PROTOTYPE);
468 Handle<String> object_name = Handle<String>(heap->Object_symbol());
471 Handle<JSFunction> object_fun =
473 Handle<Map> object_function_map =
481 Handle<JSObject> prototype = factory->NewJSObject(
493 Handle<String> symbol = factory->LookupAsciiSymbol("Empty");
494 Handle<JSFunction> empty_function =
498 Handle<Code> code =
499 Handle<Code>(isolate->builtins()->builtin(
503 Handle<String> source = factory->NewStringFromAscii(CStrVector("() {}"));
504 Handle<Script> script = factory->NewScript(source);
519 Handle<Map> empty_fm = factory->CopyMapDropDescriptors(
529 Handle<DescriptorArray> Genesis::ComputeStrictFunctionInstanceDescriptor(
532 Handle<DescriptorArray> descriptors(factory()->NewDescriptorArray(size));
539 Handle<Foreign> f(factory()->NewForeign(&Accessors::FunctionLength));
544 Handle<Foreign> f(factory()->NewForeign(&Accessors::FunctionName));
549 Handle<AccessorPair> arguments(factory()->NewAccessorPair());
554 Handle<AccessorPair> caller(factory()->NewAccessorPair());
564 Handle<Foreign> f(factory()->NewForeign(&Accessors::FunctionPrototype));
575 Handle<JSFunction> Genesis::GetThrowTypeErrorFunction() {
577 Handle<String> name = factory()->LookupAsciiSymbol("ThrowTypeError");
580 Handle<Code> code(isolate()->builtins()->builtin(
594 Handle<Map> Genesis::CreateStrictModeFunctionMap(
596 Handle<JSFunction> empty_function) {
597 Handle<Map> map = factory()->NewMap(JS_FUNCTION_TYPE, JSFunction::kSize);
598 Handle<DescriptorArray> descriptors =
607 void Genesis::CreateStrictModeFunctionMaps(Handle<JSFunction> empty) {
609 Handle<Map> strict_mode_function_instance_map =
615 Handle<Map> strict_mode_function_without_prototype_map =
623 Handle<Map> strict_mode_function_map =
642 static void SetAccessors(Handle<Map> map,
643 Handle<String> name,
644 Handle<JSFunction> func) {
653 void Genesis::PoisonArgumentsAndCaller(Handle<Map> map) {
683 global_context_ = Handle<Context>::cast(isolate()->global_handles()->Create(
696 Handle<JSGlobalProxy> Genesis::CreateNewGlobals(
697 v8::Handle<v8::ObjectTemplate> global_template,
698 Handle<Object> global_object,
699 Handle<GlobalObject>* inner_global_out) {
713 Handle<JSFunction> js_global_function;
714 Handle<ObjectTemplateInfo> js_global_template;
717 Handle<ObjectTemplateInfo> data =
719 Handle<FunctionTemplateInfo> global_constructor =
720 Handle<FunctionTemplateInfo>(
722 Handle<Object> proto_template(global_constructor->prototype_template());
725 Handle<ObjectTemplateInfo>::cast(proto_template);
730 Handle<String> name = Handle<String>(heap()->empty_symbol());
731 Handle<Code> code = Handle<Code>(isolate()->builtins()->builtin(
738 Handle<JSObject> prototype =
739 Handle<JSObject>(
746 Handle<FunctionTemplateInfo> js_global_constructor(
754 Handle<GlobalObject> inner_global =
761 Handle<JSFunction> global_proxy_function;
763 Handle<String> name = Handle<String>(heap()->empty_symbol());
764 Handle<Code> code = Handle<Code>(isolate()->builtins()->builtin(
770 Handle<ObjectTemplateInfo> data =
772 Handle<FunctionTemplateInfo> global_constructor(
779 Handle<String> global_name = factory()->LookupAsciiSymbol("global");
790 Handle<JSGlobalProxy>::cast(global_object));
792 return Handle<JSGlobalProxy>::cast(
798 void Genesis::HookUpGlobalProxy(Handle<GlobalObject> inner_global,
799 Handle<JSGlobalProxy> global_proxy) {
808 void Genesis::HookUpInnerGlobal(Handle<GlobalObject> inner_global) {
809 Handle<GlobalObject> inner_global_from_snapshot(
811 Handle<JSBuiltinsObject> builtins_global(global_context_->builtins());
830 bool Genesis::InitializeGlobal(Handle<GlobalObject> inner_global,
831 Handle<JSFunction> empty_function) {
849 Handle<String> object_name = Handle<String>(heap->Object_symbol());
855 Handle<JSObject> global = Handle<JSObject>(global_context()->global());
862 Handle<JSFunction> array_function =
873 Handle<DescriptorArray> array_descriptors =
889 Handle<JSFunction> number_fun =
897 Handle<JSFunction> boolean_fun =
905 Handle<JSFunction> string_fun =
913 Handle<DescriptorArray> string_descriptors =
922 Handle<Map> string_map =
923 Handle<Map>(global_context()->string_function()->initial_map());
929 Handle<JSFunction> date_fun =
940 Handle<JSFunction> regexp_fun =
947 Handle<Map> initial_map(regexp_fun->initial_map());
951 Handle<DescriptorArray> descriptors = factory->NewDescriptorArray(5);
1010 Handle<Map> proto_map = factory->CopyMapDropTransitions(initial_map);
1012 Handle<JSObject> proto = factory->NewJSObjectFromMap(proto_map);
1025 factory->SetRegExpIrregexpData(Handle<JSRegExp>::cast(proto),
1031 Handle<String> name = factory->NewStringFromAscii(CStrVector("JSON"));
1032 Handle<JSFunction> cons = factory->NewFunction(name,
1039 Handle<JSObject> json_object = factory->NewJSObject(cons, TENURED);
1051 Handle<String> symbol = factory->LookupAsciiSymbol("Arguments");
1052 Handle<Code> code = Handle<Code>(
1054 Handle<JSObject> prototype =
1055 Handle<JSObject>(
1058 Handle<JSFunction> function =
1068 Handle<JSObject> result = factory->NewJSObject(function);
1103 Handle<FixedArray> elements = factory->NewFixedArray(2);
1105 Handle<FixedArray> array;
1111 Handle<Map> old_map(global_context()->arguments_boilerplate()->map());
1112 Handle<Map> new_map = factory->CopyMapDropTransitions(old_map);
1114 Handle<JSObject> result = factory->NewJSObjectFromMap(new_map);
1128 Handle<AccessorPair> callee = factory->NewAccessorPair();
1129 Handle<AccessorPair> caller = factory->NewAccessorPair();
1131 Handle<JSFunction> throw_function =
1141 Handle<DescriptorArray> descriptors = factory->NewDescriptorArray(3);
1158 Handle<Map> map = factory->NewMap(JS_OBJECT_TYPE,
1171 Handle<JSObject> result = factory->NewJSObjectFromMap(map);
1196 Handle<Code> code = Handle<Code>(
1198 Handle<JSFunction> context_extension_fun =
1205 Handle<String> name = factory->LookupAsciiSymbol("context_extension");
1213 Handle<Code> code =
1214 Handle<Code>(isolate->builtins()->builtin(
1216 Handle<JSFunction> delegate =
1225 Handle<Code> code =
1226 Handle<Code>(isolate->builtins()->builtin(
1228 Handle<JSFunction> delegate =
1243 Handle<ByteArray> zeroed_byte_array(
1253 Handle<JSObject> global = Handle<JSObject>(global_context()->global());
1259 Handle<JSObject> prototype =
1265 Handle<JSObject> prototype =
1271 Handle<JSObject> prototype =
1282 Handle<String> source_code =
1291 Handle<String> source_code =
1298 bool Genesis::CompileNative(Vector<const char> name, Handle<String> source) {
1314 Handle<Context>(isolate->context()),
1326 Handle<String> source,
1329 Handle<Context> top_context,
1333 Handle<SharedFunctionInfo> function_info;
1339 Handle<String> script_name = factory->NewStringFromUtf8(name);
1347 Handle<String>::null(),
1357 Handle<Context> context =
1358 Handle<Context>(use_runtime_context
1359 ? Handle<Context>(top_context->runtime_context())
1361 Handle<JSFunction> fun =
1366 Handle<Object> receiver =
1367 Handle<Object>(use_runtime_context
1378 Handle<String> var##_name = factory()->LookupAsciiSymbol(name); \
1423 Handle<Code> code = Handle<Code>(
1425 Handle<JSFunction> builtins_fun =
1430 Handle<String> name = factory()->LookupAsciiSymbol("builtins");
1434 Handle<JSBuiltinsObject> builtins =
1435 Handle<JSBuiltinsObject>::cast(factory()->NewGlobalObject(builtins_fun));
1446 Handle<String> global_symbol = factory()->LookupAsciiSymbol("global");
1447 Handle<Object> global_obj(global_context()->global());
1456 Handle<JSFunction> bridge =
1462 Handle<Context> context =
1470 Handle<JSFunction> script_fun =
1474 Handle<JSObject> prototype =
1482 Handle<Foreign> foreign_source =
1484 Handle<DescriptorArray> script_descriptors =
1490 Handle<Foreign> foreign_name =
1498 Handle<Foreign> foreign_id = factory()->NewForeign(&Accessors::ScriptId);
1505 Handle<Foreign> foreign_line_offset =
1513 Handle<Foreign> foreign_column_offset =
1521 Handle<Foreign> foreign_data =
1529 Handle<Foreign> foreign_type =
1537 Handle<Foreign> foreign_compilation_type =
1545 Handle<Foreign> foreign_line_ends =
1553 Handle<Foreign> foreign_context_data =
1561 Handle<Foreign> foreign_eval_from_script =
1569 Handle<Foreign> foreign_eval_from_script_position =
1577 Handle<Foreign> foreign_eval_from_function_name =
1586 Handle<Map> script_map = Handle<Map>(script_fun->initial_map());
1590 Handle<Script> script = factory()->NewScript(factory()->empty_string());
1598 Handle<JSFunction> opaque_reference_fun =
1603 Handle<JSObject> prototype =
1615 Handle<JSFunction> array_function =
1623 Handle<JSObject> prototype =
1644 Handle<DescriptorArray> array_descriptors =
1677 Handle<JSFunction> string_function(global_context()->string_function());
1684 { Handle<String> key = factory()->function_class_symbol();
1685 Handle<JSFunction> function =
1686 Handle<JSFunction>::cast(GetProperty(isolate()->global(), key));
1687 Handle<JSObject> proto =
1688 Handle<JSObject>(JSObject::cast(function->instance_prototype()));
1691 Handle<JSFunction> call =
1693 Handle<JSObject>::null(),
1696 Handle<JSFunction> apply =
1698 Handle<JSObject>::null(),
1724 Handle<JSFunction> array_constructor(global_context()->array_function());
1725 Handle<JSObject> array_prototype(
1729 Handle<Map> initial_map =
1738 Handle<DescriptorArray> reresult_descriptors =
1743 Handle<DescriptorArray> array_descriptors(
1806 static Handle<JSObject> ResolveBuiltinIdHolder(
1807 Handle<Context> global_context,
1810 Handle<GlobalObject> global(global_context->global());
1813 return Handle<JSObject>::cast(
1819 Handle<JSFunction> function = Handle<JSFunction>::cast(
1821 return Handle<JSObject>(JSObject::cast(function->prototype()));
1825 static void InstallBuiltinFunctionId(Handle<JSObject> holder,
1829 Handle<String> name = factory->LookupAsciiSymbol(function_name);
1831 Handle<JSFunction> function(JSFunction::cast(function_object));
1840 Handle<JSObject> holder = ResolveBuiltinIdHolder( \
1856 static FixedArray* CreateCache(int size, Handle<JSFunction> factory_function) {
1876 Handle<FixedArray> caches = FACTORY->NewFixedArray(kNumberOfCaches, TENURED);
1881 FixedArray* cache = CreateCache((size), Handle<JSFunction>(func)); \
1894 Handle<FixedArray> array(
1900 bool Bootstrapper::InstallExtensions(Handle<Context> global_context,
1912 void Genesis::InstallSpecialObjects(Handle<Context> global_context) {
1916 Handle<JSGlobalObject> global(JSGlobalObject::cast(global_context->global()));
1919 Handle<String> natives = factory->LookupAsciiSymbol(FLAG_expose_natives_as);
1923 Handle<JSObject>(global->builtins()),
1927 Handle<Object> Error = GetProperty(global, "Error");
1929 Handle<String> name = factory->LookupAsciiSymbol("stackTraceLimit");
1930 Handle<Smi> stack_trace_limit(Smi::FromInt(FLAG_stack_trace_limit));
1933 Handle<JSObject>::cast(Error), name,
1950 Handle<String> debug_string =
1952 Handle<Object> global_proxy(debug->debug_context()->global_proxy());
1987 bool Genesis::InstallExtensions(Handle<Context> global_context,
2062 Handle<String> source_code =
2069 Handle<Context>(isolate->context()),
2087 bool Genesis::InstallJSBuiltins(Handle<JSBuiltinsObject> builtins) {
2092 Handle<String> name = factory->LookupAsciiSymbol(Builtins::GetName(id));
2094 Handle<JSFunction> function
2095 = Handle<JSFunction>(JSFunction::cast(function_object));
2097 Handle<SharedFunctionInfo> shared
2098 = Handle<SharedFunctionInfo>(function->shared());
2111 v8::Handle<v8::ObjectTemplate> global_proxy_template) {
2112 Handle<JSObject> global_proxy(
2114 Handle<JSObject> inner_global(JSObject::cast(global_context()->global()));
2118 Handle<ObjectTemplateInfo> proxy_data =
2123 Handle<FunctionTemplateInfo> proxy_constructor(
2126 Handle<ObjectTemplateInfo> inner_data(
2137 bool Genesis::ConfigureApiObject(Handle<JSObject> object,
2138 Handle<ObjectTemplateInfo> object_template) {
2144 Handle<JSObject> obj =
2156 void Genesis::TransferNamedProperties(Handle<JSObject> from,
2157 Handle<JSObject> to) {
2159 Handle<DescriptorArray> descs =
2160 Handle<DescriptorArray>(from->map()->instance_descriptors());
2166 Handle<String> key = Handle<String>(descs->GetKey(i));
2168 Handle<Object> value = Handle<Object>(from->FastPropertyAt(index));
2176 Handle<String> key = Handle<String>(descs->GetKey(i));
2177 Handle<JSFunction> fun =
2178 Handle<JSFunction>(descs->GetConstantFunction(i));
2192 Handle<String> key = Handle<String>(descs->GetKey(i));
2193 Handle<Object> callbacks(descs->GetCallbacksObject(i));
2215 Handle<StringDictionary> properties =
2216 Handle<StringDictionary>(from->property_dictionary());
2227 Handle<String> key = Handle<String>(String::cast(raw_key));
2228 Handle<Object> value = Handle<Object>(properties->ValueAt(i));
2230 value = Handle<Object>(JSGlobalPropertyCell::cast(*value)->value());
2242 void Genesis::TransferIndexedProperties(Handle<JSObject> from,
2243 Handle<JSObject> to) {
2245 Handle<FixedArray> from_elements =
2246 Handle<FixedArray>(FixedArray::cast(from->elements()));
2247 Handle<FixedArray> to_elements = FACTORY->CopyFixedArray(from_elements);
2252 void Genesis::TransferObject(Handle<JSObject> from, Handle<JSObject> to) {
2263 Handle<Map> old_to_map = Handle<Map>(to->map());
2264 Handle<Map> new_to_map = factory->CopyMapDropTransitions(old_to_map);
2286 Handle<Object> global_object,
2287 v8::Handle<v8::ObjectTemplate> global_template,
2289 result_ = Handle<Context>::null();
2304 Handle<Context> new_context = Snapshot::NewContextFromSnapshot();
2307 Handle<Context>::cast(isolate->global_handles()->Create(*new_context));
2311 Handle<GlobalObject> inner_global;
2312 Handle<JSGlobalProxy> global_proxy =
2324 Handle<JSFunction> empty_function = CreateEmptyFunction(isolate);
2326 Handle<GlobalObject> inner_global;
2327 Handle<JSGlobalProxy> global_proxy =