Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(471)

Side by Side Diff: src/factory.cc

Issue 352173006: Clean up the global object naming madness. (Closed) Base URL: https://v8.googlecode.com/svn/branches/bleeding_edge
Patch Set: Addressed comments Created 6 years, 5 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
« no previous file with comments | « src/factory.h ('k') | src/generator.js » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
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/factory.h" 5 #include "src/factory.h"
6 6
7 #include "src/conversions.h" 7 #include "src/conversions.h"
8 #include "src/isolate-inl.h" 8 #include "src/isolate-inl.h"
9 #include "src/macro-assembler.h" 9 #include "src/macro-assembler.h"
10 10
(...skipping 1226 matching lines...) Expand 10 before | Expand all | Expand 10 after
1237 AllocationSpace space = pretenure == TENURED ? OLD_POINTER_SPACE : NEW_SPACE; 1237 AllocationSpace space = pretenure == TENURED ? OLD_POINTER_SPACE : NEW_SPACE;
1238 Handle<JSFunction> result = New<JSFunction>(map, space); 1238 Handle<JSFunction> result = New<JSFunction>(map, space);
1239 InitializeFunction(result, info, context); 1239 InitializeFunction(result, info, context);
1240 return result; 1240 return result;
1241 } 1241 }
1242 1242
1243 1243
1244 Handle<JSFunction> Factory::NewFunction(Handle<Map> map, 1244 Handle<JSFunction> Factory::NewFunction(Handle<Map> map,
1245 Handle<String> name, 1245 Handle<String> name,
1246 MaybeHandle<Code> code) { 1246 MaybeHandle<Code> code) {
1247 Handle<Context> context(isolate()->context()->native_context()); 1247 Handle<Context> context(isolate()->native_context());
1248 Handle<SharedFunctionInfo> info = NewSharedFunctionInfo(name, code); 1248 Handle<SharedFunctionInfo> info = NewSharedFunctionInfo(name, code);
1249 ASSERT((info->strict_mode() == SLOPPY) && 1249 ASSERT((info->strict_mode() == SLOPPY) &&
1250 (map.is_identical_to(isolate()->sloppy_function_map()) || 1250 (map.is_identical_to(isolate()->sloppy_function_map()) ||
1251 map.is_identical_to( 1251 map.is_identical_to(
1252 isolate()->sloppy_function_without_prototype_map()) || 1252 isolate()->sloppy_function_without_prototype_map()) ||
1253 map.is_identical_to( 1253 map.is_identical_to(
1254 isolate()->sloppy_function_with_readonly_prototype_map()))); 1254 isolate()->sloppy_function_with_readonly_prototype_map())));
1255 return NewFunction(map, info, context); 1255 return NewFunction(map, info, context);
1256 } 1256 }
1257 1257
(...skipping 425 matching lines...) Expand 10 before | Expand all | Expand 10 after
1683 ASSERT(map->instance_type() == JS_GENERATOR_OBJECT_TYPE); 1683 ASSERT(map->instance_type() == JS_GENERATOR_OBJECT_TYPE);
1684 CALL_HEAP_FUNCTION( 1684 CALL_HEAP_FUNCTION(
1685 isolate(), 1685 isolate(),
1686 isolate()->heap()->AllocateJSObjectFromMap(*map), 1686 isolate()->heap()->AllocateJSObjectFromMap(*map),
1687 JSGeneratorObject); 1687 JSGeneratorObject);
1688 } 1688 }
1689 1689
1690 1690
1691 Handle<JSArrayBuffer> Factory::NewJSArrayBuffer() { 1691 Handle<JSArrayBuffer> Factory::NewJSArrayBuffer() {
1692 Handle<JSFunction> array_buffer_fun( 1692 Handle<JSFunction> array_buffer_fun(
1693 isolate()->context()->native_context()->array_buffer_fun()); 1693 isolate()->native_context()->array_buffer_fun());
1694 CALL_HEAP_FUNCTION( 1694 CALL_HEAP_FUNCTION(
1695 isolate(), 1695 isolate(),
1696 isolate()->heap()->AllocateJSObject(*array_buffer_fun), 1696 isolate()->heap()->AllocateJSObject(*array_buffer_fun),
1697 JSArrayBuffer); 1697 JSArrayBuffer);
1698 } 1698 }
1699 1699
1700 1700
1701 Handle<JSDataView> Factory::NewJSDataView() { 1701 Handle<JSDataView> Factory::NewJSDataView() {
1702 Handle<JSFunction> data_view_fun( 1702 Handle<JSFunction> data_view_fun(
1703 isolate()->context()->native_context()->data_view_fun()); 1703 isolate()->native_context()->data_view_fun());
1704 CALL_HEAP_FUNCTION( 1704 CALL_HEAP_FUNCTION(
1705 isolate(), 1705 isolate(),
1706 isolate()->heap()->AllocateJSObject(*data_view_fun), 1706 isolate()->heap()->AllocateJSObject(*data_view_fun),
1707 JSDataView); 1707 JSDataView);
1708 } 1708 }
1709 1709
1710 1710
1711 static JSFunction* GetTypedArrayFun(ExternalArrayType type, 1711 static JSFunction* GetTypedArrayFun(ExternalArrayType type,
1712 Isolate* isolate) { 1712 Isolate* isolate) {
1713 Context* native_context = isolate->context()->native_context(); 1713 Context* native_context = isolate->context()->native_context();
(...skipping 103 matching lines...) Expand 10 before | Expand all | Expand 10 after
1817 object->synchronized_set_map(*map); 1817 object->synchronized_set_map(*map);
1818 Handle<JSObject> jsobj = Handle<JSObject>::cast(object); 1818 Handle<JSObject> jsobj = Handle<JSObject>::cast(object);
1819 1819
1820 // Reinitialize the object from the constructor map. 1820 // Reinitialize the object from the constructor map.
1821 heap->InitializeJSObjectFromMap(*jsobj, *properties, *map); 1821 heap->InitializeJSObjectFromMap(*jsobj, *properties, *map);
1822 1822
1823 // Functions require some minimal initialization. 1823 // Functions require some minimal initialization.
1824 if (type == JS_FUNCTION_TYPE) { 1824 if (type == JS_FUNCTION_TYPE) {
1825 map->set_function_with_prototype(true); 1825 map->set_function_with_prototype(true);
1826 Handle<JSFunction> js_function = Handle<JSFunction>::cast(object); 1826 Handle<JSFunction> js_function = Handle<JSFunction>::cast(object);
1827 Handle<Context> context(isolate()->context()->native_context()); 1827 Handle<Context> context(isolate()->native_context());
1828 InitializeFunction(js_function, shared.ToHandleChecked(), context); 1828 InitializeFunction(js_function, shared.ToHandleChecked(), context);
1829 } 1829 }
1830 } 1830 }
1831 1831
1832 1832
1833 void Factory::ReinitializeJSGlobalProxy(Handle<JSGlobalProxy> object, 1833 void Factory::ReinitializeJSGlobalProxy(Handle<JSGlobalProxy> object,
1834 Handle<JSFunction> constructor) { 1834 Handle<JSFunction> constructor) {
1835 ASSERT(constructor->has_initial_map()); 1835 ASSERT(constructor->has_initial_map());
1836 Handle<Map> map(constructor->initial_map(), isolate()); 1836 Handle<Map> map(constructor->initial_map(), isolate());
1837 1837
(...skipping 275 matching lines...) Expand 10 before | Expand all | Expand 10 after
2113 ObjectTemplateInfo::cast(obj->instance_template())); 2113 ObjectTemplateInfo::cast(obj->instance_template()));
2114 internal_field_count = 2114 internal_field_count =
2115 Smi::cast(instance_template->internal_field_count())->value(); 2115 Smi::cast(instance_template->internal_field_count())->value();
2116 } 2116 }
2117 2117
2118 // TODO(svenpanne) Kill ApiInstanceType and refactor things by generalizing 2118 // TODO(svenpanne) Kill ApiInstanceType and refactor things by generalizing
2119 // JSObject::GetHeaderSize. 2119 // JSObject::GetHeaderSize.
2120 int instance_size = kPointerSize * internal_field_count; 2120 int instance_size = kPointerSize * internal_field_count;
2121 InstanceType type; 2121 InstanceType type;
2122 switch (instance_type) { 2122 switch (instance_type) {
2123 case JavaScriptObject: 2123 case JavaScriptObjectType:
2124 type = JS_OBJECT_TYPE; 2124 type = JS_OBJECT_TYPE;
2125 instance_size += JSObject::kHeaderSize; 2125 instance_size += JSObject::kHeaderSize;
2126 break; 2126 break;
2127 case InnerGlobalObject: 2127 case GlobalObjectType:
2128 type = JS_GLOBAL_OBJECT_TYPE; 2128 type = JS_GLOBAL_OBJECT_TYPE;
2129 instance_size += JSGlobalObject::kSize; 2129 instance_size += JSGlobalObject::kSize;
2130 break; 2130 break;
2131 case OuterGlobalObject: 2131 case GlobalProxyType:
2132 type = JS_GLOBAL_PROXY_TYPE; 2132 type = JS_GLOBAL_PROXY_TYPE;
2133 instance_size += JSGlobalProxy::kSize; 2133 instance_size += JSGlobalProxy::kSize;
2134 break; 2134 break;
2135 default: 2135 default:
2136 UNREACHABLE(); 2136 UNREACHABLE();
2137 type = JS_OBJECT_TYPE; // Keep the compiler happy. 2137 type = JS_OBJECT_TYPE; // Keep the compiler happy.
2138 break; 2138 break;
2139 } 2139 }
2140 2140
2141 result = NewFunction(empty_string(), code, prototype, type, 2141 result = NewFunction(empty_string(), code, prototype, type,
(...skipping 218 matching lines...) Expand 10 before | Expand all | Expand 10 after
2360 return Handle<Object>::null(); 2360 return Handle<Object>::null();
2361 } 2361 }
2362 2362
2363 2363
2364 Handle<Object> Factory::ToBoolean(bool value) { 2364 Handle<Object> Factory::ToBoolean(bool value) {
2365 return value ? true_value() : false_value(); 2365 return value ? true_value() : false_value();
2366 } 2366 }
2367 2367
2368 2368
2369 } } // namespace v8::internal 2369 } } // namespace v8::internal
OLDNEW
« no previous file with comments | « src/factory.h ('k') | src/generator.js » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698