Index: src/ia32/lithium-ia32.cc |
diff --git a/src/ia32/lithium-ia32.cc b/src/ia32/lithium-ia32.cc |
index 24ee7bff2b67049675bd1ce4b1fccf75988cf780..aebe26b78560b98a8894ca98fae0a25e4c295eae 100644 |
--- a/src/ia32/lithium-ia32.cc |
+++ b/src/ia32/lithium-ia32.cc |
@@ -302,6 +302,24 @@ void LCallConstantFunction::PrintDataTo(StringStream* stream) { |
} |
+ExternalReference LLinkObjectInList::GetReference(Isolate* isolate) { |
+ switch (hydrogen()->known_list()) { |
+ case HLinkObjectInList::ALLOCATION_SITE_LIST: |
+ return ExternalReference::allocation_sites_list_address(isolate); |
+ } |
+ |
+ UNREACHABLE(); |
+ // Return a dummy value |
+ return ExternalReference::isolate_address(isolate); |
+} |
+ |
+ |
+void LLinkObjectInList::PrintDataTo(StringStream* stream) { |
+ object()->PrintTo(stream); |
+ stream->Add(" offset %d", hydrogen()->store_field().offset()); |
+} |
+ |
+ |
void LLoadContextSlot::PrintDataTo(StringStream* stream) { |
context()->PrintTo(stream); |
stream->Add("[%d]", slot_index()); |
@@ -2162,6 +2180,14 @@ LInstruction* LChunkBuilder::DoStoreGlobalGeneric(HStoreGlobalGeneric* instr) { |
} |
+LInstruction* LChunkBuilder::DoLinkObjectInList(HLinkObjectInList* instr) { |
+ LOperand* object = UseRegister(instr->value()); |
+ LOperand* temp = TempRegister(); |
+ LLinkObjectInList* result = new(zone()) LLinkObjectInList(object, temp); |
+ return result; |
+} |
+ |
+ |
LInstruction* LChunkBuilder::DoLoadContextSlot(HLoadContextSlot* instr) { |
LOperand* context = UseRegisterAtStart(instr->value()); |
LInstruction* result = |