Index: src/heap/heap.h |
diff --git a/src/heap/heap.h b/src/heap/heap.h |
index 769f53ff58267d2a87e63381cd7604cde0cf055f..c73e26c1c1fd2b21fba0ad28a22e8f185af77762 100644 |
--- a/src/heap/heap.h |
+++ b/src/heap/heap.h |
@@ -198,7 +198,10 @@ namespace internal { |
V(Object, weak_stack_trace_list, WeakStackTraceList) \ |
V(Object, code_stub_context, CodeStubContext) \ |
V(JSObject, code_stub_exports_object, CodeStubExportsObject) \ |
- V(FixedArray, interpreter_table, InterpreterTable) |
+ V(FixedArray, interpreter_table, InterpreterTable) \ |
+ V(Map, bytecode_array_map, BytecodeArrayMap) \ |
+ V(BytecodeArray, empty_bytecode_array, EmptyBytecodeArray) |
+ |
// Entries in this list are limited to Smis and are not visited during GC. |
#define SMI_ROOT_LIST(V) \ |
@@ -336,6 +339,7 @@ namespace internal { |
// skip write barriers. This list is not complete and has omissions. |
#define IMMORTAL_IMMOVABLE_ROOT_LIST(V) \ |
V(ByteArrayMap) \ |
+ V(BytecodeArrayMap) \ |
V(FreeSpaceMap) \ |
V(OnePointerFillerMap) \ |
V(TwoPointerFillerMap) \ |
@@ -364,6 +368,7 @@ namespace internal { |
V(OrderedHashTableMap) \ |
V(EmptyFixedArray) \ |
V(EmptyByteArray) \ |
+ V(EmptyBytecodeArray) \ |
V(EmptyDescriptorArray) \ |
V(ArgumentsMarker) \ |
V(SymbolMap) \ |
@@ -1673,6 +1678,11 @@ class Heap { |
MUST_USE_RESULT AllocationResult |
AllocateByteArray(int length, PretenureFlag pretenure = NOT_TENURED); |
+ // Allocates a bytecode array with given contents. |
+ MUST_USE_RESULT AllocationResult |
+ AllocateBytecodeArray(int length, const byte* raw_bytecodes, |
+ PretenureFlag pretenure = NOT_TENURED); |
rmcilroy
2015/07/16 10:29:44
Since this should always be TENURED let's remove t
oth
2015/07/16 13:14:38
Done. Now allocated directly in the OLD_SPACE in h
|
+ |
// Copy the code and scope info part of the code object, but insert |
// the provided data as the relocation information. |
MUST_USE_RESULT AllocationResult |