OLD | NEW |
1 // Copyright 2012 the V8 project authors. All rights reserved. | 1 // Copyright 2012 the V8 project authors. All rights reserved. |
2 // Redistribution and use in source and binary forms, with or without | 2 // Redistribution and use in source and binary forms, with or without |
3 // modification, are permitted provided that the following conditions are | 3 // modification, are permitted provided that the following conditions are |
4 // met: | 4 // met: |
5 // | 5 // |
6 // * Redistributions of source code must retain the above copyright | 6 // * Redistributions of source code must retain the above copyright |
7 // notice, this list of conditions and the following disclaimer. | 7 // notice, this list of conditions and the following disclaimer. |
8 // * Redistributions in binary form must reproduce the above | 8 // * Redistributions in binary form must reproduce the above |
9 // copyright notice, this list of conditions and the following | 9 // copyright notice, this list of conditions and the following |
10 // disclaimer in the documentation and/or other materials provided | 10 // disclaimer in the documentation and/or other materials provided |
(...skipping 198 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
209 | 209 |
210 Handle<ExternalArray> NewExternalArray( | 210 Handle<ExternalArray> NewExternalArray( |
211 int length, | 211 int length, |
212 ExternalArrayType array_type, | 212 ExternalArrayType array_type, |
213 void* external_pointer, | 213 void* external_pointer, |
214 PretenureFlag pretenure = NOT_TENURED); | 214 PretenureFlag pretenure = NOT_TENURED); |
215 | 215 |
216 Handle<JSGlobalPropertyCell> NewJSGlobalPropertyCell( | 216 Handle<JSGlobalPropertyCell> NewJSGlobalPropertyCell( |
217 Handle<Object> value); | 217 Handle<Object> value); |
218 | 218 |
219 Handle<Map> NewMap( | 219 Handle<Map> NewMap(InstanceType type, |
220 InstanceType type, | 220 int instance_size, |
221 int instance_size, | 221 ElementsKind elements_kind = FAST_ELEMENTS); |
222 ElementsKind elements_kind = TERMINAL_FAST_ELEMENTS_KIND); | |
223 | 222 |
224 Handle<JSObject> NewFunctionPrototype(Handle<JSFunction> function); | 223 Handle<JSObject> NewFunctionPrototype(Handle<JSFunction> function); |
225 | 224 |
226 Handle<Map> CopyMapDropDescriptors(Handle<Map> map); | 225 Handle<Map> CopyMapDropDescriptors(Handle<Map> map); |
227 | 226 |
228 // Copy the map adding more inobject properties if possible without | 227 // Copy the map adding more inobject properties if possible without |
229 // overflowing the instance size. | 228 // overflowing the instance size. |
230 Handle<Map> CopyMap(Handle<Map> map, int extra_inobject_props); | 229 Handle<Map> CopyMap(Handle<Map> map, int extra_inobject_props); |
231 | 230 |
232 Handle<Map> CopyMapDropTransitions(Handle<Map> map); | 231 Handle<Map> CopyMapDropTransitions(Handle<Map> map); |
(...skipping 30 matching lines...) Expand all Loading... |
263 Handle<GlobalObject> NewGlobalObject(Handle<JSFunction> constructor); | 262 Handle<GlobalObject> NewGlobalObject(Handle<JSFunction> constructor); |
264 | 263 |
265 // JS objects are pretenured when allocated by the bootstrapper and | 264 // JS objects are pretenured when allocated by the bootstrapper and |
266 // runtime. | 265 // runtime. |
267 Handle<JSObject> NewJSObjectFromMap(Handle<Map> map); | 266 Handle<JSObject> NewJSObjectFromMap(Handle<Map> map); |
268 | 267 |
269 // JS modules are pretenured. | 268 // JS modules are pretenured. |
270 Handle<JSModule> NewJSModule(); | 269 Handle<JSModule> NewJSModule(); |
271 | 270 |
272 // JS arrays are pretenured when allocated by the parser. | 271 // JS arrays are pretenured when allocated by the parser. |
273 Handle<JSArray> NewJSArray( | 272 Handle<JSArray> NewJSArray(int capacity, |
274 int capacity, | 273 ElementsKind elements_kind = FAST_ELEMENTS, |
275 ElementsKind elements_kind = TERMINAL_FAST_ELEMENTS_KIND, | 274 PretenureFlag pretenure = NOT_TENURED); |
276 PretenureFlag pretenure = NOT_TENURED); | |
277 | 275 |
278 Handle<JSArray> NewJSArrayWithElements( | 276 Handle<JSArray> NewJSArrayWithElements( |
279 Handle<FixedArrayBase> elements, | 277 Handle<FixedArrayBase> elements, |
280 ElementsKind elements_kind = TERMINAL_FAST_ELEMENTS_KIND, | 278 ElementsKind elements_kind = FAST_ELEMENTS, |
281 PretenureFlag pretenure = NOT_TENURED); | 279 PretenureFlag pretenure = NOT_TENURED); |
282 | 280 |
283 void SetElementsCapacityAndLength(Handle<JSArray> array, | 281 void SetElementsCapacityAndLength(Handle<JSArray> array, |
284 int capacity, | 282 int capacity, |
285 int length); | 283 int length); |
286 | 284 |
287 void SetContent(Handle<JSArray> array, Handle<FixedArrayBase> elements); | 285 void SetContent(Handle<JSArray> array, Handle<FixedArrayBase> elements); |
288 | 286 |
289 void EnsureCanContainHeapObjectElements(Handle<JSArray> array); | 287 void EnsureCanContainHeapObjectElements(Handle<JSArray> array); |
290 void EnsureCanContainElements(Handle<JSArray> array, | 288 void EnsureCanContainElements(Handle<JSArray> array, |
291 Handle<FixedArrayBase> elements, | 289 Handle<FixedArrayBase> elements, |
292 uint32_t length, | |
293 EnsureElementsMode mode); | 290 EnsureElementsMode mode); |
294 | 291 |
295 Handle<JSProxy> NewJSProxy(Handle<Object> handler, Handle<Object> prototype); | 292 Handle<JSProxy> NewJSProxy(Handle<Object> handler, Handle<Object> prototype); |
296 | 293 |
297 // Change the type of the argument into a JS object/function and reinitialize. | 294 // Change the type of the argument into a JS object/function and reinitialize. |
298 void BecomeJSObject(Handle<JSReceiver> object); | 295 void BecomeJSObject(Handle<JSReceiver> object); |
299 void BecomeJSFunction(Handle<JSReceiver> object); | 296 void BecomeJSFunction(Handle<JSReceiver> object); |
300 | 297 |
301 void SetIdentityHash(Handle<JSObject> object, Object* hash); | 298 void SetIdentityHash(Handle<JSObject> object, Object* hash); |
302 | 299 |
(...skipping 209 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
512 // Update the map cache in the global context with (keys, map) | 509 // Update the map cache in the global context with (keys, map) |
513 Handle<MapCache> AddToMapCache(Handle<Context> context, | 510 Handle<MapCache> AddToMapCache(Handle<Context> context, |
514 Handle<FixedArray> keys, | 511 Handle<FixedArray> keys, |
515 Handle<Map> map); | 512 Handle<Map> map); |
516 }; | 513 }; |
517 | 514 |
518 | 515 |
519 } } // namespace v8::internal | 516 } } // namespace v8::internal |
520 | 517 |
521 #endif // V8_FACTORY_H_ | 518 #endif // V8_FACTORY_H_ |
OLD | NEW |