MIPS: Reland "Add out-of-line constant pool support to Arm."
authorplind44@gmail.com <plind44@gmail.com@ce2b1a6d-e550-0410-aec6-3dcde31c8c00>
Wed, 19 Mar 2014 15:34:17 +0000 (15:34 +0000)
committerplind44@gmail.com <plind44@gmail.com@ce2b1a6d-e550-0410-aec6-3dcde31c8c00>
Wed, 19 Mar 2014 15:34:17 +0000 (15:34 +0000)
Port r20053 (df27abf)

Original commit message:
This CL adds out-of-line constant pool support to Arm. A ConstantPoolBuilder
object is introduced to manage building of the ConstantPoolArray for a given
code object.

This CL depends on the following CLs landing first:
https://codereview.chromium.org/138503002/
https://codereview.chromium.org/179813005/
https://codereview.chromium.org/183553003/
https://codereview.chromium.org/183803022/
https://codereview.chromium.org/183883011/
https://codereview.chromium.org/186733006/
https://codereview.chromium.org/188063002/
https://codereview.chromium.org/190793002/
https://codereview.chromium.org/190823002/
https://codereview.chromium.org/190833002/
https://codereview.chromium.org/190883002/

BUG=
R=plind44@gmail.com

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

Patch from Balazs Kilvady <kilvadyb@homejinni.com>.

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

src/mips/assembler-mips.cc
src/mips/assembler-mips.h

index 696acd8..b659559 100644 (file)
@@ -2327,6 +2327,20 @@ void Assembler::JumpLabelToJumpRegister(Address pc) {
   }
 }
 
+
+MaybeObject* Assembler::AllocateConstantPool(Heap* heap) {
+  // No out-of-line constant pool support.
+  UNREACHABLE();
+  return NULL;
+}
+
+
+void Assembler::PopulateConstantPool(ConstantPoolArray* constant_pool) {
+  // No out-of-line constant pool support.
+  UNREACHABLE();
+}
+
+
 } }  // namespace v8::internal
 
 #endif  // V8_TARGET_ARCH_MIPS
index 977c940..ea956e1 100644 (file)
@@ -37,6 +37,7 @@
 #define V8_MIPS_ASSEMBLER_MIPS_H_
 
 #include <stdio.h>
+
 #include "assembler.h"
 #include "constants-mips.h"
 #include "serialize.h"
@@ -1005,6 +1006,12 @@ class Assembler : public AssemblerBase {
 
   void CheckTrampolinePool();
 
+  // Allocate a constant pool of the correct size for the generated code.
+  MaybeObject* AllocateConstantPool(Heap* heap);
+
+  // Generate the constant pool for the generated code.
+  void PopulateConstantPool(ConstantPoolArray* constant_pool);
+
  protected:
   // Relocation for a type-recording IC has the AST id added to it.  This
   // member variable is a way to pass the information from the call site to