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 | |
364 Handle<JSObject> NewArgumentsObject(Handle<JSFunction> callee, int length); | 362 Handle<JSObject> NewArgumentsObject(Handle<JSFunction> callee, int length); |
365 | 363 |
366 // JS objects are pretenured when allocated by the bootstrapper and | 364 // JS objects are pretenured when allocated by the bootstrapper and |
367 // runtime. | 365 // runtime. |
368 Handle<JSObject> NewJSObject(Handle<JSFunction> constructor, | 366 Handle<JSObject> NewJSObject(Handle<JSFunction> constructor, |
369 PretenureFlag pretenure = NOT_TENURED); | 367 PretenureFlag pretenure = NOT_TENURED); |
370 // JSObject that should have a memento pointing to the allocation site. | 368 // JSObject that should have a memento pointing to the allocation site. |
371 Handle<JSObject> NewJSObjectWithMemento(Handle<JSFunction> constructor, | 369 Handle<JSObject> NewJSObjectWithMemento(Handle<JSFunction> constructor, |
372 Handle<AllocationSite> site); | 370 Handle<AllocationSite> site); |
373 | 371 |
(...skipping 352 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
726 // Reinitialize a JSProxy into an (empty) JS object of respective type and | 724 // Reinitialize a JSProxy into an (empty) JS object of respective type and |
727 // size, but keeping the original prototype. The receiver must have at least | 725 // size, but keeping the original prototype. The receiver must have at least |
728 // the size of the new object. The object is reinitialized and behaves as an | 726 // the size of the new object. The object is reinitialized and behaves as an |
729 // object that has been freshly allocated. | 727 // object that has been freshly allocated. |
730 void ReinitializeJSProxy(Handle<JSProxy> proxy, InstanceType type, int size); | 728 void ReinitializeJSProxy(Handle<JSProxy> proxy, InstanceType type, int size); |
731 }; | 729 }; |
732 | 730 |
733 } } // namespace v8::internal | 731 } } // namespace v8::internal |
734 | 732 |
735 #endif // V8_FACTORY_H_ | 733 #endif // V8_FACTORY_H_ |
OLD | NEW |