Path: blob/master/runtime/compiler/z/codegen/MemoryReference.hpp
6004 views
/*******************************************************************************1* Copyright (c) 2000, 2016 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 TR_MEMORYREFERENCE_INCL23#define TR_MEMORYREFERENCE_INCL2425#include "codegen/J9MemoryReference.hpp"2627namespace TR { class Snippet; }2829namespace TR30{3132class OMR_EXTENSIBLE MemoryReference : public J9::MemoryReferenceConnector33{34public:3536MemoryReference(TR::CodeGenerator *cg) :37J9::MemoryReferenceConnector(cg) {}3839MemoryReference(TR::Register *br,40int32_t disp,41TR::CodeGenerator *cg,42const char *name=NULL ) :43J9::MemoryReferenceConnector(br, disp, cg, name) {}4445MemoryReference(TR::Register *br,46int32_t disp,47TR::SymbolReference *symRef,48TR::CodeGenerator *cg) :49J9::MemoryReferenceConnector(br, disp, symRef, cg) {}5051MemoryReference(TR::Register *br,52TR::Register *ir,53int32_t disp,54TR::CodeGenerator *cg) :55J9::MemoryReferenceConnector(br, ir, disp, cg) {}5657MemoryReference(int32_t disp,58TR::CodeGenerator *cg,59bool isConstantDataSnippet=false) :60J9::MemoryReferenceConnector(disp, cg, isConstantDataSnippet) {}6162MemoryReference(TR::Node *rootLoadOrStore,63TR::CodeGenerator *cg,64bool canUseRX = false,65TR_StorageReference *storageReference=NULL) :66J9::MemoryReferenceConnector(rootLoadOrStore, cg, canUseRX, storageReference) {}6768MemoryReference(TR::Node *addressTree,69bool canUseIndex,70TR::CodeGenerator *cg) :71J9::MemoryReferenceConnector(addressTree, canUseIndex, cg) {}7273MemoryReference(TR::Node *node,74TR::SymbolReference *symRef,75TR::CodeGenerator *cg,76TR_StorageReference *storageReference=NULL) :77J9::MemoryReferenceConnector(node, symRef, cg, storageReference) {}7879MemoryReference(TR::Snippet *s,80TR::CodeGenerator *cg,81TR::Register* base,82TR::Node* node) :83J9::MemoryReferenceConnector(s, cg, base, node) {}8485MemoryReference(TR::Snippet *s,86TR::Register* indx,87int32_t disp,88TR::CodeGenerator *cg) :89J9::MemoryReferenceConnector(s, indx, disp, cg) {}9091MemoryReference(MemoryReference& mr, int32_t n, TR::CodeGenerator *cg) :92J9::MemoryReferenceConnector(mr, n, cg) {}93};94}9596#endif979899