| Index: src/factory.h
|
| ===================================================================
|
| --- src/factory.h (revision 369)
|
| +++ src/factory.h (working copy)
|
| @@ -167,6 +167,10 @@
|
| static Handle<JSObject> NewJSObject(Handle<JSFunction> constructor,
|
| PretenureFlag pretenure = NOT_TENURED);
|
|
|
| + // JS objects are pretenured when allocated by the bootstrapper and
|
| + // runtime.
|
| + static Handle<JSObject> NewJSObjectFromMap(Handle<Map> map);
|
| +
|
| // Allocate a JS object representing an object literal. The object is
|
| // pretenured (allocated directly in the old generation).
|
| static Handle<JSObject> NewObjectLiteral(int expected_number_of_properties);
|
| @@ -291,6 +295,12 @@
|
|
|
| static Handle<DebugInfo> NewDebugInfo(Handle<SharedFunctionInfo> shared);
|
|
|
| +
|
| + // Return a map using the map cache in the global context.
|
| + // The key the an ordered set of property names.
|
| + static Handle<Map> ObjectLiteralMapFromCache(Handle<Context> context,
|
| + Handle<FixedArray> keys);
|
| +
|
| private:
|
| static Handle<JSFunction> NewFunctionHelper(Handle<String> name,
|
| Handle<Object> prototype);
|
| @@ -302,6 +312,14 @@
|
| static Handle<JSFunction> BaseNewFunctionFromBoilerplate(
|
| Handle<JSFunction> boilerplate,
|
| Handle<Map> function_map);
|
| +
|
| + // Create a new map cache.
|
| + static Handle<MapCache> NewMapCache(int at_least_space_for);
|
| +
|
| + // Update the map cache in the global context with (keys, map)
|
| + static Handle<MapCache> AddToMapCache(Handle<Context> context,
|
| + Handle<FixedArray> keys,
|
| + Handle<Map> map);
|
| };
|
|
|
|
|
|
|