X87: Introduce LiteralsArray to hide it's implementation.
authorchunyang.dai <chunyang.dai@intel.com>
Wed, 30 Sep 2015 05:37:28 +0000 (22:37 -0700)
committerJongsoo Yoon <join.yoon@samsung.com>
Fri, 20 Nov 2015 13:32:14 +0000 (22:32 +0900)
port d8cdd6956a04cfcf03159ef7802c44838eee3146 (r31000).

original commit message:

    The LiteralsArray will soon hold a type feedback vector. Code treats it as an
    ordinary fixed array, and needs to stop that.

BUG=

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

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

src/full-codegen/x87/full-codegen-x87.cc
src/x87/lithium-codegen-x87.cc

index fe0053d..a85152d 100644 (file)
@@ -1415,8 +1415,7 @@ void FullCodeGenerator::VisitRegExpLiteral(RegExpLiteral* expr) {
   // eax = regexp literal clone.
   __ mov(edi, Operand(ebp, JavaScriptFrameConstants::kFunctionOffset));
   __ mov(ecx, FieldOperand(edi, JSFunction::kLiteralsOffset));
-  int literal_offset =
-      FixedArray::kHeaderSize + expr->literal_index() * kPointerSize;
+  int literal_offset = LiteralsArray::OffsetOfLiteralAt(expr->literal_index());
   __ mov(ebx, FieldOperand(ecx, literal_offset));
   __ cmp(ebx, isolate()->factory()->undefined_value());
   __ j(not_equal, &materialized, Label::kNear);
index 3338ea5..921259e 100644 (file)
@@ -5893,7 +5893,7 @@ void LCodeGen::DoRegExpLiteral(LRegExpLiteral* instr) {
   // eax = regexp literal clone.
   // esi = context.
   int literal_offset =
-      FixedArray::OffsetOfElementAt(instr->hydrogen()->literal_index());
+      LiteralsArray::OffsetOfLiteralAt(instr->hydrogen()->literal_index());
   __ LoadHeapObject(ecx, instr->hydrogen()->literals());
   __ mov(ebx, FieldOperand(ecx, literal_offset));
   __ cmp(ebx, factory()->undefined_value());