Index: src/x64/lithium-x64.cc |
diff --git a/src/x64/lithium-x64.cc b/src/x64/lithium-x64.cc |
index 945d002b908e23b4a33d756f29e93051f32084ec..2cec68b097573eab83f941c03940b01647f2e3e9 100644 |
--- a/src/x64/lithium-x64.cc |
+++ b/src/x64/lithium-x64.cc |
@@ -275,6 +275,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()); |
@@ -2028,6 +2046,13 @@ LInstruction* LChunkBuilder::DoStoreGlobalGeneric(HStoreGlobalGeneric* instr) { |
} |
+LInstruction* LChunkBuilder::DoLinkObjectInList(HLinkObjectInList* instr) { |
+ LOperand* object = UseRegister(instr->value()); |
+ LLinkObjectInList* result = new(zone()) LLinkObjectInList(object); |
+ return result; |
+} |
+ |
+ |
LInstruction* LChunkBuilder::DoLoadContextSlot(HLoadContextSlot* instr) { |
LOperand* context = UseRegisterAtStart(instr->value()); |
LInstruction* result = |