< prev index next >
src/share/vm/c1/c1_RangeCheckElimination.hpp
Print this page
rev 10549 : imported patch c1_Instruction_BBA
rev 10552 : imported patch c1_RCE
rev 10556 : imported patch update dates
*** 1,7 ****
/*
! * Copyright (c) 2012, 2015, Oracle and/or its affiliates. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
* This code is free software; you can redistribute it and/or modify it
* under the terms of the GNU General Public License version 2 only, as
* published by the Free Software Foundation.
--- 1,7 ----
/*
! * Copyright (c) 2012, 2016, Oracle and/or its affiliates. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
* This code is free software; you can redistribute it and/or modify it
* under the terms of the GNU General Public License version 2 only, as
* published by the Free Software Foundation.
*** 38,51 ****
private:
int _number_of_instructions;
bool _optimistic; // Insert predicates and deoptimize when they fail
IR *_ir;
! define_array(BlockBeginArray, BlockBegin*)
! define_stack(BlockBeginList, BlockBeginArray)
! define_stack(IntegerStack, intArray)
! define_array(IntegerMap, IntegerStack*)
class Verification : public BlockClosure {
// RangeCheckEliminator::Verification should never get instatiated on the heap.
private:
void* operator new(size_t size) throw();
--- 38,49 ----
private:
int _number_of_instructions;
bool _optimistic; // Insert predicates and deoptimize when they fail
IR *_ir;
! typedef GrowableArray<BlockBegin*> BlockBeginList;
! typedef GrowableArray<int> IntegerStack;
class Verification : public BlockClosure {
// RangeCheckEliminator::Verification should never get instatiated on the heap.
private:
void* operator new(size_t size) throw();
*** 178,203 ****
#ifdef ASSERT
void add_assertions(Bound *bound, Instruction *instruction, Instruction *position);
#endif
! define_array(BoundArray, Bound *)
! define_stack(BoundStack, BoundArray)
! define_array(BoundMap, BoundStack *)
! define_array(AccessIndexedArray, AccessIndexed *)
! define_stack(AccessIndexedList, AccessIndexedArray)
! define_array(InstructionArray, Instruction *)
! define_stack(InstructionList, InstructionArray)
class AccessIndexedInfo : public CompilationResourceObj {
public:
AccessIndexedList *_list;
int _min;
int _max;
};
! define_array(AccessIndexedInfoArray, AccessIndexedInfo *)
BoundMap _bounds; // Mapping from Instruction's id to current bound
AccessIndexedInfoArray _access_indexed_info; // Mapping from Instruction's id to AccessIndexedInfo for in block motion
Visitor _visitor;
public:
--- 176,198 ----
#ifdef ASSERT
void add_assertions(Bound *bound, Instruction *instruction, Instruction *position);
#endif
! typedef GrowableArray<Bound*> BoundStack;
! typedef GrowableArray<BoundStack*> BoundMap;
! typedef GrowableArray<AccessIndexed*> AccessIndexedList;
! typedef GrowableArray<Instruction*> InstructionList;
class AccessIndexedInfo : public CompilationResourceObj {
public:
AccessIndexedList *_list;
int _min;
int _max;
};
! typedef GrowableArray<AccessIndexedInfo*> AccessIndexedInfoArray;
BoundMap _bounds; // Mapping from Instruction's id to current bound
AccessIndexedInfoArray _access_indexed_info; // Mapping from Instruction's id to AccessIndexedInfo for in block motion
Visitor _visitor;
public:
< prev index next >