diff options
author | iveresov <none@none> | 2010-09-03 17:51:07 -0700 |
---|---|---|
committer | iveresov <none@none> | 2010-09-03 17:51:07 -0700 |
commit | 8ec4f3eb747cb48cd563b3cb7df1cc2bed96e010 (patch) | |
tree | 3fb74b1d4da7ce8abe7aa59d5b6f4e4b5acbc1e7 /src/share/vm/c1/c1_Canonicalizer.hpp | |
parent | 2e23b22b8a607c19e235f8345f2f4473337d9be1 (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.hpp | 10 |
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); }; |