| Index: src/assembler.cc
|
| ===================================================================
|
| --- src/assembler.cc (revision 9327)
|
| +++ src/assembler.cc (working copy)
|
| @@ -38,6 +38,7 @@
|
| #include "deoptimizer.h"
|
| #include "execution.h"
|
| #include "ic-inl.h"
|
| +#include "incremental-marking.h"
|
| #include "factory.h"
|
| #include "runtime.h"
|
| #include "runtime-profiler.h"
|
| @@ -47,6 +48,7 @@
|
| #include "ast.h"
|
| #include "regexp-macro-assembler.h"
|
| #include "platform.h"
|
| +#include "store-buffer.h"
|
| // Include native regexp-macro-assembler.
|
| #ifndef V8_INTERPRETED_REGEXP
|
| #if V8_TARGET_ARCH_IA32
|
| @@ -516,6 +518,7 @@
|
|
|
|
|
| RelocIterator::RelocIterator(Code* code, int mode_mask) {
|
| + rinfo_.host_ = code;
|
| rinfo_.pc_ = code->instruction_start();
|
| rinfo_.data_ = 0;
|
| // Relocation info is read backwards.
|
| @@ -736,13 +739,38 @@
|
| : address_(table_ref.address()) {}
|
|
|
|
|
| +ExternalReference ExternalReference::
|
| + incremental_marking_record_write_function(Isolate* isolate) {
|
| + return ExternalReference(Redirect(
|
| + isolate,
|
| + FUNCTION_ADDR(IncrementalMarking::RecordWriteFromCode)));
|
| +}
|
| +
|
| +
|
| +ExternalReference ExternalReference::
|
| + incremental_evacuation_record_write_function(Isolate* isolate) {
|
| + return ExternalReference(Redirect(
|
| + isolate,
|
| + FUNCTION_ADDR(IncrementalMarking::RecordWriteForEvacuationFromCode)));
|
| +}
|
| +
|
| +
|
| +ExternalReference ExternalReference::
|
| + store_buffer_overflow_function(Isolate* isolate) {
|
| + return ExternalReference(Redirect(
|
| + isolate,
|
| + FUNCTION_ADDR(StoreBuffer::StoreBufferOverflow)));
|
| +}
|
| +
|
| +
|
| ExternalReference ExternalReference::flush_icache_function(Isolate* isolate) {
|
| return ExternalReference(Redirect(isolate, FUNCTION_ADDR(CPU::FlushICache)));
|
| }
|
|
|
| +
|
| ExternalReference ExternalReference::perform_gc_function(Isolate* isolate) {
|
| - return ExternalReference(Redirect(isolate,
|
| - FUNCTION_ADDR(Runtime::PerformGC)));
|
| + return
|
| + ExternalReference(Redirect(isolate, FUNCTION_ADDR(Runtime::PerformGC)));
|
| }
|
|
|
|
|
| @@ -844,9 +872,14 @@
|
| }
|
|
|
|
|
| +ExternalReference ExternalReference::store_buffer_top(Isolate* isolate) {
|
| + return ExternalReference(isolate->heap()->store_buffer()->TopAddress());
|
| +}
|
| +
|
| +
|
| ExternalReference ExternalReference::new_space_mask(Isolate* isolate) {
|
| - Address mask = reinterpret_cast<Address>(isolate->heap()->NewSpaceMask());
|
| - return ExternalReference(mask);
|
| + return ExternalReference(reinterpret_cast<Address>(
|
| + isolate->heap()->NewSpaceMask()));
|
| }
|
|
|
|
|
|
|