aboutsummaryrefslogtreecommitdiff
path: root/src/share/vm/c1/c1_Canonicalizer.hpp
diff options
context:
space:
mode:
authoriveresov <none@none>2010-09-03 17:51:07 -0700
committeriveresov <none@none>2010-09-03 17:51:07 -0700
commit8ec4f3eb747cb48cd563b3cb7df1cc2bed96e010 (patch)
tree3fb74b1d4da7ce8abe7aa59d5b6f4e4b5acbc1e7 /src/share/vm/c1/c1_Canonicalizer.hpp
parent2e23b22b8a607c19e235f8345f2f4473337d9be1 (diff)
6953144: Tiered compilation
Summary: Infrastructure for tiered compilation support (interpreter + c1 + c2) for 32 and 64 bit. Simple tiered policy implementation. Reviewed-by: kvn, never, phh, twisti
Diffstat (limited to 'src/share/vm/c1/c1_Canonicalizer.hpp')
-rw-r--r--src/share/vm/c1/c1_Canonicalizer.hpp10
1 files changed, 7 insertions, 3 deletions
diff --git a/src/share/vm/c1/c1_Canonicalizer.hpp b/src/share/vm/c1/c1_Canonicalizer.hpp
index ae2530c10..a25a4bd23 100644
--- a/src/share/vm/c1/c1_Canonicalizer.hpp
+++ b/src/share/vm/c1/c1_Canonicalizer.hpp
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1999, 2006, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1999, 2010, 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
@@ -24,9 +24,11 @@
class Canonicalizer: InstructionVisitor {
private:
+ Compilation *_compilation;
Instruction* _canonical;
int _bci;
+ Compilation *compilation() { return _compilation; }
void set_canonical(Value x);
void set_bci(int bci) { _bci = bci; }
void set_constant(jint x) { set_canonical(new Constant(new IntConstant(x))); }
@@ -43,7 +45,9 @@ class Canonicalizer: InstructionVisitor {
int* scale);
public:
- Canonicalizer(Value x, int bci) { _canonical = x; _bci = bci; if (CanonicalizeNodes) x->visit(this); }
+ Canonicalizer(Compilation* c, Value x, int bci) : _compilation(c), _canonical(x), _bci(bci) {
+ if (CanonicalizeNodes) x->visit(this);
+ }
Value canonical() const { return _canonical; }
int bci() const { return _bci; }
@@ -92,5 +96,5 @@ class Canonicalizer: InstructionVisitor {
virtual void do_UnsafePrefetchRead (UnsafePrefetchRead* x);
virtual void do_UnsafePrefetchWrite(UnsafePrefetchWrite* x);
virtual void do_ProfileCall (ProfileCall* x);
- virtual void do_ProfileCounter (ProfileCounter* x);
+ virtual void do_ProfileInvoke (ProfileInvoke* x);
};