 Chromium Code Reviews
 Chromium Code Reviews Issue 6693066:
  Extend crankshaft support for global stores  (Closed) 
  Base URL: https://v8.googlecode.com/svn/branches/bleeding_edge
    
  
    Issue 6693066:
  Extend crankshaft support for global stores  (Closed) 
  Base URL: https://v8.googlecode.com/svn/branches/bleeding_edge| Index: src/ia32/lithium-ia32.cc | 
| diff --git a/src/ia32/lithium-ia32.cc b/src/ia32/lithium-ia32.cc | 
| index d9192d45abab0965500f46c6821ecaa8dcfa6c30..076c035881712cbf2a881d1696e62e88340f47ed 100644 | 
| --- a/src/ia32/lithium-ia32.cc | 
| +++ b/src/ia32/lithium-ia32.cc | 
| @@ -1761,12 +1761,23 @@ LInstruction* LChunkBuilder::DoLoadGlobalGeneric(HLoadGlobalGeneric* instr) { | 
| } | 
| -LInstruction* LChunkBuilder::DoStoreGlobal(HStoreGlobal* instr) { | 
| - LStoreGlobal* result = new LStoreGlobal(UseRegisterAtStart(instr->value())); | 
| +LInstruction* LChunkBuilder::DoStoreGlobalCell(HStoreGlobalCell* instr) { | 
| + LStoreGlobalCell* result = | 
| + new LStoreGlobalCell(UseRegisterAtStart(instr->value())); | 
| return instr->check_hole_value() ? AssignEnvironment(result) : result; | 
| } | 
| +LInstruction* LChunkBuilder::DoStoreGlobalGeneric(HStoreGlobalGeneric* instr) { | 
| + LOperand* context = UseFixed(instr->context(), esi); | 
| + LOperand* global_object = UseFixed(instr->global_object(), edx); | 
| + LOperand* value = UseFixed(instr->value(), eax); | 
| + LStoreGlobalGeneric* result = | 
| + new LStoreGlobalGeneric(context, global_object, value); | 
| + return MarkAsCall(DefineFixed(result, eax), instr); | 
| 
fschneider
2011/04/04 13:47:50
No need for DefineFixed here.
 
Søren Thygesen Gjesse
2011/04/04 14:16:34
Done.
 | 
| +} | 
| + | 
| + | 
| LInstruction* LChunkBuilder::DoLoadContextSlot(HLoadContextSlot* instr) { | 
| LOperand* context = UseRegisterAtStart(instr->value()); | 
| return DefineAsRegister(new LLoadContextSlot(context)); |