From 073009e3e80b9978d87df156ba3ac39fd1d7190d Mon Sep 17 00:00:00 2001 From: "dusan.milosavljevic" Date: Fri, 27 Mar 2015 14:56:34 -0700 Subject: [PATCH] MIPS64: Tweak constants used in serialization process to reflect real state. We do not need to step one instruction further since we do not use Jr to J optimization anymore for mips64. TEST= BUG= Review URL: https://codereview.chromium.org/1041833002 Cr-Commit-Position: refs/heads/master@{#27504} --- src/mips64/assembler-mips64.h | 13 +++++-------- 1 file changed, 5 insertions(+), 8 deletions(-) diff --git a/src/mips64/assembler-mips64.h b/src/mips64/assembler-mips64.h index 520627a34..1ca1a8714 100644 --- a/src/mips64/assembler-mips64.h +++ b/src/mips64/assembler-mips64.h @@ -559,14 +559,11 @@ class Assembler : public AssemblerBase { static const int kSpecialTargetSize = 0; // Number of consecutive instructions used to store 32bit/64bit constant. - // Before jump-optimizations, this constant was used in - // RelocInfo::target_address_address() function to tell serializer address of - // the instruction that follows LUI/ORI instruction pair. Now, with new jump - // optimization, where jump-through-register instruction that usually - // follows LUI/ORI pair is substituted with J/JAL, this constant equals - // to 3 instructions (LUI+ORI+J/JAL/JR/JALR). - static const int kInstructionsFor32BitConstant = 3; - static const int kInstructionsFor64BitConstant = 5; + // This constant was used in RelocInfo::target_address_address() function + // to tell serializer address of the instruction that follows + // LUI/ORI instruction pair. + static const int kInstructionsFor32BitConstant = 2; + static const int kInstructionsFor64BitConstant = 4; // Distance between the instruction referring to the address of the call // target and the return address. -- 2.34.1