OLD | NEW |
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 #ifndef V8_FACTORY_H_ | 5 #ifndef V8_FACTORY_H_ |
6 #define V8_FACTORY_H_ | 6 #define V8_FACTORY_H_ |
7 | 7 |
8 #include "src/isolate.h" | 8 #include "src/isolate.h" |
9 | 9 |
10 namespace v8 { | 10 namespace v8 { |
(...skipping 341 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
352 Handle<HeapNumber> NewHeapNumber(double value, | 352 Handle<HeapNumber> NewHeapNumber(double value, |
353 MutableMode mode = IMMUTABLE, | 353 MutableMode mode = IMMUTABLE, |
354 PretenureFlag pretenure = NOT_TENURED); | 354 PretenureFlag pretenure = NOT_TENURED); |
355 | 355 |
356 // These objects are used by the api to create env-independent data | 356 // These objects are used by the api to create env-independent data |
357 // structures in the heap. | 357 // structures in the heap. |
358 inline Handle<JSObject> NewNeanderObject() { | 358 inline Handle<JSObject> NewNeanderObject() { |
359 return NewJSObjectFromMap(neander_map()); | 359 return NewJSObjectFromMap(neander_map()); |
360 } | 360 } |
361 | 361 |
| 362 Handle<JSWeakMap> NewJSWeakMap(); |
| 363 |
362 Handle<JSObject> NewArgumentsObject(Handle<JSFunction> callee, int length); | 364 Handle<JSObject> NewArgumentsObject(Handle<JSFunction> callee, int length); |
363 | 365 |
364 // JS objects are pretenured when allocated by the bootstrapper and | 366 // JS objects are pretenured when allocated by the bootstrapper and |
365 // runtime. | 367 // runtime. |
366 Handle<JSObject> NewJSObject(Handle<JSFunction> constructor, | 368 Handle<JSObject> NewJSObject(Handle<JSFunction> constructor, |
367 PretenureFlag pretenure = NOT_TENURED); | 369 PretenureFlag pretenure = NOT_TENURED); |
368 // JSObject that should have a memento pointing to the allocation site. | 370 // JSObject that should have a memento pointing to the allocation site. |
369 Handle<JSObject> NewJSObjectWithMemento(Handle<JSFunction> constructor, | 371 Handle<JSObject> NewJSObjectWithMemento(Handle<JSFunction> constructor, |
370 Handle<AllocationSite> site); | 372 Handle<AllocationSite> site); |
371 | 373 |
(...skipping 352 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
724 // Reinitialize a JSProxy into an (empty) JS object of respective type and | 726 // Reinitialize a JSProxy into an (empty) JS object of respective type and |
725 // size, but keeping the original prototype. The receiver must have at least | 727 // size, but keeping the original prototype. The receiver must have at least |
726 // the size of the new object. The object is reinitialized and behaves as an | 728 // the size of the new object. The object is reinitialized and behaves as an |
727 // object that has been freshly allocated. | 729 // object that has been freshly allocated. |
728 void ReinitializeJSProxy(Handle<JSProxy> proxy, InstanceType type, int size); | 730 void ReinitializeJSProxy(Handle<JSProxy> proxy, InstanceType type, int size); |
729 }; | 731 }; |
730 | 732 |
731 } } // namespace v8::internal | 733 } } // namespace v8::internal |
732 | 734 |
733 #endif // V8_FACTORY_H_ | 735 #endif // V8_FACTORY_H_ |
OLD | NEW |