src/hotspot/cpu/arm/assembler_arm.hpp
changeset 49364 601146c66cad
parent 47216 71c04702a3d5
child 52351 0ecb4e520110
equal deleted inserted replaced
49363:7be58576e71a 49364:601146c66cad
     1 /*
     1 /*
     2  * Copyright (c) 2008, 2013, Oracle and/or its affiliates. All rights reserved.
     2  * Copyright (c) 2008, 2018, Oracle and/or its affiliates. All rights reserved.
     3  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
     3  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
     4  *
     4  *
     5  * This code is free software; you can redistribute it and/or modify it
     5  * This code is free software; you can redistribute it and/or modify it
     6  * under the terms of the GNU General Public License version 2 only, as
     6  * under the terms of the GNU General Public License version 2 only, as
     7  * published by the Free Software Foundation.
     7  * published by the Free Software Foundation.
    74 };
    74 };
    75 #endif
    75 #endif
    76 
    76 
    77 
    77 
    78 // ARM Addressing Modes 2 and 3 - Load and store
    78 // ARM Addressing Modes 2 and 3 - Load and store
    79 class Address VALUE_OBJ_CLASS_SPEC {
    79 class Address {
    80  private:
    80  private:
    81   Register  _base;
    81   Register  _base;
    82   Register  _index;
    82   Register  _index;
    83   int       _disp;
    83   int       _disp;
    84   AsmOffset _mode;
    84   AsmOffset _mode;
   332   // constructor for Address.
   332   // constructor for Address.
   333   static Address make_raw(int base, int index, int scale, int disp, relocInfo::relocType disp_reloc);
   333   static Address make_raw(int base, int index, int scale, int disp, relocInfo::relocType disp_reloc);
   334 };
   334 };
   335 
   335 
   336 #ifdef COMPILER2
   336 #ifdef COMPILER2
   337 class VFP VALUE_OBJ_CLASS_SPEC {
   337 class VFP {
   338   // Helper classes to detect whether a floating point constant can be
   338   // Helper classes to detect whether a floating point constant can be
   339   // encoded in a fconstd or fconsts instruction
   339   // encoded in a fconstd or fconsts instruction
   340   // The conversion from the imm8, 8 bit constant, to the floating
   340   // The conversion from the imm8, 8 bit constant, to the floating
   341   // point value encoding is done with either:
   341   // point value encoding is done with either:
   342   // for single precision: imm8<7>:NOT(imm8<6>):Replicate(imm8<6>,5):imm8<5:0>:Zeros(19)
   342   // for single precision: imm8<7>:NOT(imm8<6>):Replicate(imm8<6>,5):imm8<5:0>:Zeros(19)