Path: blob/master/runtime/compiler/il/ILProps.hpp
6000 views
/*******************************************************************************1* Copyright (c) 2000, 2021 IBM Corp. and others2*3* This program and the accompanying materials are made available under4* the terms of the Eclipse Public License 2.0 which accompanies this5* distribution and is available at https://www.eclipse.org/legal/epl-2.0/6* or the Apache License, Version 2.0 which accompanies this distribution and7* is available at https://www.apache.org/licenses/LICENSE-2.0.8*9* This Source Code may also be made available under the following10* Secondary Licenses when the conditions for such availability set11* forth in the Eclipse Public License, v. 2.0 are satisfied: GNU12* General Public License, version 2 with the GNU Classpath13* Exception [1] and GNU General Public License, version 2 with the14* OpenJDK Assembly Exception [2].15*16* [1] https://www.gnu.org/software/classpath/license.html17* [2] http://openjdk.java.net/legal/assembly-exception.html18*19* SPDX-License-Identifier: EPL-2.0 OR Apache-2.0 OR GPL-2.0 WITH Classpath-exception-2.0 OR LicenseRef-GPL-2.0 WITH Assembly-exception20*******************************************************************************/2122#ifndef J9_ILPROPS_INCL23#define J9_ILPROPS_INCL2425#include "il/OMRILProps.hpp"2627namespace ILTypeProp28{29/**30* Expands on the Type properties from the OMR layer.31*/32enum33{34// Available = LastOMRILTypeProp << 1,35PackedDecimal = LastOMRILTypeProp << 2,36UnicodeDecimal = LastOMRILTypeProp << 3,37UnicodeDecimalSignLeading = LastOMRILTypeProp << 4,38UnicodeDecimalSignTrailing = LastOMRILTypeProp << 5,39ZonedDecimal = LastOMRILTypeProp << 6,40ZonedDecimalSignLeadingEmbedded = LastOMRILTypeProp << 7,41ZonedDecimalSignLeadingSeparate = LastOMRILTypeProp << 8,42ZonedDecimalSignTrailingSeparate = LastOMRILTypeProp << 9,43};4445}4647// Property flags for property word 448namespace ILProp449{50enum51{52// Available = 0x00000001,53SetSign = 0x00000002,54SetSignOnNode = 0x00000004, ///< the setSign value is tracked in a field on the node vs as a child (SetSign has the setSign value in a child)55ModifyPrecision = 0x00000008,56BinaryCodedDecimalOp = 0x00000010,57ConversionHasFraction = 0x00000020,58// Available = 0x00000040,59PackedArithmeticOverflowMessage = 0x00000080,60// Available = 0x00000100,61CanHaveStorageReferenceHint = 0x00000200,62CanHavePaddingAddress = 0x00000400,63CanUseStoreAsAnAccumulator = 0x00000800,64TrackLineNo = 0x00001000, ///< Indicates if the node's line number should be retained when the node is commoned65// Available = 0x00002000,66// Available = 0x00004000,67// Available = 0x00008000,68// Available = 0x00010000,69// Available = 0x00020000,70// Available = 0x00040000,71// Available = 0x00080000,72// Available = 0x00100000,73// Available = 0x00200000,74// Available = 0x00400000,75// Available = 0x00800000,76// Available = 0x01000000,77// Available = 0x02000000,78// Available = 0x04000000,79// Available = 0x08000000,80// Available = 0x10000000,81// Available = 0x20000000,82// Available = 0x40000000,83// Available = 0x80000000,84};85}8687#endif88899091