Mercurial > hg > truffle
comparison src/share/vm/opto/callnode.hpp @ 3939:f6f3bb0ee072
7088955: add C2 IR support to the SA
Reviewed-by: kvn
author | never |
---|---|
date | Sun, 11 Sep 2011 14:48:24 -0700 |
parents | c7b60b601eb4 |
children | 1bd45abaa507 |
comparison
equal
deleted
inserted
replaced
3938:e6b1331a51d2 | 3939:f6f3bb0ee072 |
---|---|
1 /* | 1 /* |
2 * Copyright (c) 1997, 2010, Oracle and/or its affiliates. All rights reserved. | 2 * Copyright (c) 1997, 2011, Oracle and/or its affiliates. All rights reserved. |
3 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. | 3 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. |
4 * | 4 * |
5 * This code is free software; you can redistribute it and/or modify it | 5 * This code is free software; you can redistribute it and/or modify it |
6 * under the terms of the GNU General Public License version 2 only, as | 6 * under the terms of the GNU General Public License version 2 only, as |
7 * published by the Free Software Foundation. | 7 * published by the Free Software Foundation. |
185 // plus GC roots, for all active calls at some call site in this compilation | 185 // plus GC roots, for all active calls at some call site in this compilation |
186 // unit. (If there is no inlining, then the list has exactly one link.) | 186 // unit. (If there is no inlining, then the list has exactly one link.) |
187 // This provides a way to map the optimized program back into the interpreter, | 187 // This provides a way to map the optimized program back into the interpreter, |
188 // or to let the GC mark the stack. | 188 // or to let the GC mark the stack. |
189 class JVMState : public ResourceObj { | 189 class JVMState : public ResourceObj { |
190 friend class VMStructs; | |
190 public: | 191 public: |
191 typedef enum { | 192 typedef enum { |
192 Reexecute_Undefined = -1, // not defined -- will be translated into false later | 193 Reexecute_Undefined = -1, // not defined -- will be translated into false later |
193 Reexecute_False = 0, // false -- do not reexecute | 194 Reexecute_False = 0, // false -- do not reexecute |
194 Reexecute_True = 1 // true -- reexecute the bytecode | 195 Reexecute_True = 1 // true -- reexecute the bytecode |
498 | 499 |
499 //------------------------------CallNode--------------------------------------- | 500 //------------------------------CallNode--------------------------------------- |
500 // Call nodes now subsume the function of debug nodes at callsites, so they | 501 // Call nodes now subsume the function of debug nodes at callsites, so they |
501 // contain the functionality of a full scope chain of debug nodes. | 502 // contain the functionality of a full scope chain of debug nodes. |
502 class CallNode : public SafePointNode { | 503 class CallNode : public SafePointNode { |
504 friend class VMStructs; | |
503 public: | 505 public: |
504 const TypeFunc *_tf; // Function type | 506 const TypeFunc *_tf; // Function type |
505 address _entry_point; // Address of method being called | 507 address _entry_point; // Address of method being called |
506 float _cnt; // Estimate of number of times called | 508 float _cnt; // Estimate of number of times called |
507 | 509 |
563 //------------------------------CallJavaNode----------------------------------- | 565 //------------------------------CallJavaNode----------------------------------- |
564 // Make a static or dynamic subroutine call node using Java calling | 566 // Make a static or dynamic subroutine call node using Java calling |
565 // convention. (The "Java" calling convention is the compiler's calling | 567 // convention. (The "Java" calling convention is the compiler's calling |
566 // convention, as opposed to the interpreter's or that of native C.) | 568 // convention, as opposed to the interpreter's or that of native C.) |
567 class CallJavaNode : public CallNode { | 569 class CallJavaNode : public CallNode { |
570 friend class VMStructs; | |
568 protected: | 571 protected: |
569 virtual uint cmp( const Node &n ) const; | 572 virtual uint cmp( const Node &n ) const; |
570 virtual uint size_of() const; // Size is bigger | 573 virtual uint size_of() const; // Size is bigger |
571 | 574 |
572 bool _optimized_virtual; | 575 bool _optimized_virtual; |