Index: src/ia32/lithium-codegen-ia32.h |
diff --git a/src/ia32/lithium-codegen-ia32.h b/src/ia32/lithium-codegen-ia32.h |
index 657453231e30412d88b5c4e61696da0877aa4ae5..0cdfb814b648649a8344246ce9600909bffdb839 100644 |
--- a/src/ia32/lithium-codegen-ia32.h |
+++ b/src/ia32/lithium-codegen-ia32.h |
@@ -212,7 +212,7 @@ class LCodeGen BASE_EMBEDDED { |
int GetStackSlotCount() const { return chunk()->spill_slot_count(); } |
- void Abort(const char* reason); |
+ void Abort(BailoutReason reason); |
void FPRINTF_CHECKING Comment(const char* format, ...); |
void AddDeferredCode(LDeferredCode* code) { deferred_.Add(code, zone()); } |
@@ -297,6 +297,7 @@ class LCodeGen BASE_EMBEDDED { |
X87Register ToX87Register(int index) const; |
int ToRepresentation(LConstantOperand* op, const Representation& r) const; |
int32_t ToInteger32(LConstantOperand* op) const; |
+ ExternalReference ToExternalReference(LConstantOperand* op) const; |
Operand BuildFastArrayOperand(LOperand* elements_pointer, |
LOperand* key, |
@@ -407,6 +408,14 @@ class LCodeGen BASE_EMBEDDED { |
int X87ArrayIndex(X87Register reg); |
int x87_st2idx(int pos); |
+#ifdef _MSC_VER |
+ // On windows, you may not access the stack more than one page below |
+ // the most recently mapped page. To make the allocated area randomly |
+ // accessible, we write an arbitrary value to each page in range |
+ // esp + offset - page_size .. esp in turn. |
+ void MakeSureStackPagesMapped(int offset); |
+#endif |
+ |
Zone* zone_; |
LPlatformChunk* const chunk_; |
MacroAssembler* const masm_; |