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;