Chromium Code Reviews| Index: src/ia32/lithium-ia32.cc |
| diff --git a/src/ia32/lithium-ia32.cc b/src/ia32/lithium-ia32.cc |
| index 24ee7bff2b67049675bd1ce4b1fccf75988cf780..d85643f488eb175137a4b4ca4e0581bd73ab9cd6 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); |
| + default: |
|
Michael Starzinger
2013/07/16 18:14:46
No default case for enums, better just fall throug
mvstanton
2013/07/16 19:34:57
Right on, thanks. Done.
|
| + 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 = UseRegisterAtStart(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 = |