Index: src/assembler.h |
=================================================================== |
--- src/assembler.h (revision 9327) |
+++ src/assembler.h (working copy) |
@@ -143,6 +143,9 @@ |
}; |
+enum SaveFPRegsMode { kDontSaveFPRegs, kSaveFPRegs }; |
+ |
+ |
// ----------------------------------------------------------------------------- |
// Relocation information |
@@ -216,8 +219,9 @@ |
RelocInfo() {} |
- RelocInfo(byte* pc, Mode rmode, intptr_t data) |
- : pc_(pc), rmode_(rmode), data_(data) { |
+ |
+ RelocInfo(byte* pc, Mode rmode, intptr_t data, Code* host) |
+ : pc_(pc), rmode_(rmode), data_(data), host_(host) { |
} |
static inline bool IsConstructCall(Mode mode) { |
@@ -258,6 +262,7 @@ |
void set_pc(byte* pc) { pc_ = pc; } |
Mode rmode() const { return rmode_; } |
intptr_t data() const { return data_; } |
+ Code* host() const { return host_; } |
// Apply a relocation by delta bytes |
INLINE(void apply(intptr_t delta)); |
@@ -353,6 +358,7 @@ |
byte* pc_; |
Mode rmode_; |
intptr_t data_; |
+ Code* host_; |
#ifdef V8_TARGET_ARCH_MIPS |
// Code and Embedded Object pointers in mips are stored split |
// across two consecutive 32-bit instructions. Heap management |
@@ -561,6 +567,12 @@ |
// pattern. This means that they have to be added to the |
// ExternalReferenceTable in serialize.cc manually. |
+ static ExternalReference incremental_marking_record_write_function( |
+ Isolate* isolate); |
+ static ExternalReference incremental_evacuation_record_write_function( |
+ Isolate* isolate); |
+ static ExternalReference store_buffer_overflow_function( |
+ Isolate* isolate); |
static ExternalReference flush_icache_function(Isolate* isolate); |
static ExternalReference perform_gc_function(Isolate* isolate); |
static ExternalReference fill_heap_number_with_random_function( |
@@ -607,7 +619,11 @@ |
static ExternalReference new_space_start(Isolate* isolate); |
static ExternalReference new_space_mask(Isolate* isolate); |
static ExternalReference heap_always_allocate_scope_depth(Isolate* isolate); |
+ static ExternalReference new_space_mark_bits(Isolate* isolate); |
+ // Write barrier. |
+ static ExternalReference store_buffer_top(Isolate* isolate); |
+ |
// Used for fast allocation in generated code. |
static ExternalReference new_space_allocation_top_address(Isolate* isolate); |
static ExternalReference new_space_allocation_limit_address(Isolate* isolate); |