MIPS64: Use weak cell in LoadGlobal handler.
authorulan <ulan@chromium.org>
Fri, 19 Dec 2014 15:48:42 +0000 (07:48 -0800)
committerCommit bot <commit-bot@chromium.org>
Fri, 19 Dec 2014 15:48:57 +0000 (15:48 +0000)
Port bc0d2e237b1b624bed26ba849529b40329ea72a2

BUG=v8:3629
LOG=N
TBR=mvstanton@chromium.org

Review URL: https://codereview.chromium.org/814193004

Cr-Commit-Position: refs/heads/master@{#25906}

src/ic/mips64/handler-compiler-mips64.cc

index 1390a4563f6665e546546de3db5729c3412386d7..d3b861bc254b6193f195dedcf7b2a9084d77c9c3 100644 (file)
@@ -702,7 +702,8 @@ Handle<Code> NamedLoadHandlerCompiler::CompileLoadGlobal(
 
   // Get the value from the cell.
   Register result = StoreDescriptor::ValueRegister();
-  __ li(result, Operand(cell));
+  Handle<WeakCell> weak_cell = factory()->NewWeakCell(cell);
+  __ LoadWeakValue(result, weak_cell, &miss);
   __ ld(result, FieldMemOperand(result, Cell::kValueOffset));
 
   // Check for deleted property if property can actually be deleted.