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 "isolate.h" | 8 #include "isolate.h" |
9 | 9 |
10 namespace v8 { | 10 namespace v8 { |
(...skipping 426 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
437 | 437 |
438 Handle<JSFunction> NewFunctionWithoutPrototype(Handle<String> name, | 438 Handle<JSFunction> NewFunctionWithoutPrototype(Handle<String> name, |
439 Handle<Code> code); | 439 Handle<Code> code); |
440 | 440 |
441 // Create a serialized scope info. | 441 // Create a serialized scope info. |
442 Handle<ScopeInfo> NewScopeInfo(int length); | 442 Handle<ScopeInfo> NewScopeInfo(int length); |
443 | 443 |
444 // Create an External object for V8's external API. | 444 // Create an External object for V8's external API. |
445 Handle<JSObject> NewExternal(void* value); | 445 Handle<JSObject> NewExternal(void* value); |
446 | 446 |
| 447 // The reference to the Code object is stored in self_reference. |
| 448 // This allows generated code to reference its own Code object |
| 449 // by containing this handle. |
447 Handle<Code> NewCode(const CodeDesc& desc, | 450 Handle<Code> NewCode(const CodeDesc& desc, |
448 Code::Flags flags, | 451 Code::Flags flags, |
449 Handle<Object> self_reference, | 452 Handle<Object> self_reference, |
450 bool immovable = false, | 453 bool immovable = false, |
451 bool crankshafted = false, | 454 bool crankshafted = false, |
452 int prologue_offset = Code::kPrologueOffsetNotSet); | 455 int prologue_offset = Code::kPrologueOffsetNotSet); |
453 | 456 |
454 Handle<Code> CopyCode(Handle<Code> code); | 457 Handle<Code> CopyCode(Handle<Code> code); |
455 | 458 |
456 Handle<Code> CopyCode(Handle<Code> code, Vector<byte> reloc_info); | 459 Handle<Code> CopyCode(Handle<Code> code, Vector<byte> reloc_info); |
(...skipping 178 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
635 | 638 |
636 // Update the map cache in the native context with (keys, map) | 639 // Update the map cache in the native context with (keys, map) |
637 Handle<MapCache> AddToMapCache(Handle<Context> context, | 640 Handle<MapCache> AddToMapCache(Handle<Context> context, |
638 Handle<FixedArray> keys, | 641 Handle<FixedArray> keys, |
639 Handle<Map> map); | 642 Handle<Map> map); |
640 }; | 643 }; |
641 | 644 |
642 } } // namespace v8::internal | 645 } } // namespace v8::internal |
643 | 646 |
644 #endif // V8_FACTORY_H_ | 647 #endif // V8_FACTORY_H_ |
OLD | NEW |