| Index: src/factory.h
|
| ===================================================================
|
| --- src/factory.h (revision 9531)
|
| +++ src/factory.h (working copy)
|
| @@ -145,9 +145,9 @@
|
| // not make sense to have a UTF-8 factory function for external strings,
|
| // because we cannot change the underlying buffer.
|
| Handle<String> NewExternalStringFromAscii(
|
| - ExternalAsciiString::Resource* resource);
|
| + const ExternalAsciiString::Resource* resource);
|
| Handle<String> NewExternalStringFromTwoByte(
|
| - ExternalTwoByteString::Resource* resource);
|
| + const ExternalTwoByteString::Resource* resource);
|
|
|
| // Create a global (but otherwise uninitialized) context.
|
| Handle<Context> NewGlobalContext();
|
| @@ -203,7 +203,9 @@
|
| Handle<JSGlobalPropertyCell> NewJSGlobalPropertyCell(
|
| Handle<Object> value);
|
|
|
| - Handle<Map> NewMap(InstanceType type, int instance_size);
|
| + Handle<Map> NewMap(InstanceType type,
|
| + int instance_size,
|
| + ElementsKind elements_kind = FAST_ELEMENTS);
|
|
|
| Handle<JSObject> NewFunctionPrototype(Handle<JSFunction> function);
|
|
|
| @@ -215,14 +217,9 @@
|
|
|
| Handle<Map> CopyMapDropTransitions(Handle<Map> map);
|
|
|
| - Handle<Map> GetFastElementsMap(Handle<Map> map);
|
| + Handle<Map> GetElementsTransitionMap(Handle<JSObject> object,
|
| + ElementsKind elements_kind);
|
|
|
| - Handle<Map> GetSlowElementsMap(Handle<Map> map);
|
| -
|
| - Handle<Map> GetElementsTransitionMap(Handle<Map> map,
|
| - ElementsKind elements_kind,
|
| - bool safe_to_add_transition);
|
| -
|
| Handle<FixedArray> CopyFixedArray(Handle<FixedArray> array);
|
|
|
| // Numbers (eg, literals) are pretenured by the parser.
|
| @@ -258,12 +255,18 @@
|
| Handle<FixedArray> elements,
|
| PretenureFlag pretenure = NOT_TENURED);
|
|
|
| + void SetContent(Handle<JSArray> array, Handle<FixedArray> elements);
|
| +
|
| + void EnsureCanContainNonSmiElements(Handle<JSArray> array);
|
| +
|
| Handle<JSProxy> NewJSProxy(Handle<Object> handler, Handle<Object> prototype);
|
|
|
| // Change the type of the argument into a JS object/function and reinitialize.
|
| void BecomeJSObject(Handle<JSReceiver> object);
|
| void BecomeJSFunction(Handle<JSReceiver> object);
|
|
|
| + void SetIdentityHash(Handle<JSObject> object, Object* hash);
|
| +
|
| Handle<JSFunction> NewFunction(Handle<String> name,
|
| Handle<Object> prototype);
|
|
|
| @@ -356,6 +359,7 @@
|
| PropertyAttributes attributes);
|
|
|
| Handle<String> NumberToString(Handle<Object> number);
|
| + Handle<String> Uint32ToString(uint32_t value);
|
|
|
| enum ApiInstanceType {
|
| JavaScriptObject,
|
| @@ -442,6 +446,11 @@
|
| JSRegExp::Flags flags,
|
| int capture_count);
|
|
|
| + // Returns the value for a known global constant (a property of the global
|
| + // object which is neither configurable nor writable) like 'undefined'.
|
| + // Returns a null handle when the given name is unknown.
|
| + Handle<Object> GlobalConstantFor(Handle<String> name);
|
| +
|
| private:
|
| Isolate* isolate() { return reinterpret_cast<Isolate*>(this); }
|
|
|
|
|