Internalize if not yet internalized
authorverwaest@chromium.org <verwaest@chromium.org>
Fri, 19 Sep 2014 15:09:50 +0000 (15:09 +0000)
committerverwaest@chromium.org <verwaest@chromium.org>
Fri, 19 Sep 2014 15:09:50 +0000 (15:09 +0000)
BUG=
R=ulan@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24096 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

src/hydrogen.cc

index ae63db7d538cb23f2bb463accf63ca6cd52a09ac..e5a93a7bd5b1f4ec513e0427d54f033b0fdf5dce 100644 (file)
@@ -7138,6 +7138,10 @@ HValue* HOptimizedGraphBuilder::HandleKeyedElementAccess(
     uint32_t array_index;
     if (constant->IsString() &&
         !Handle<String>::cast(constant)->AsArrayIndex(&array_index)) {
+      if (!constant->IsUniqueName()) {
+        constant = isolate()->factory()->InternalizeString(
+            Handle<String>::cast(constant));
+      }
       HInstruction* instr =
           BuildNamedAccess(access_type, expr->id(), return_id, expr, obj,
                            Handle<String>::cast(constant), val, false);