src/share/vm/interpreter/templateTable.hpp

changeset 1920
ab102d5d923e
parent 1279
bd02caa94611
child 1934
e9ff18c4ace7
     1.1 --- a/src/share/vm/interpreter/templateTable.hpp	Fri May 21 02:59:24 2010 -0700
     1.2 +++ b/src/share/vm/interpreter/templateTable.hpp	Sun May 23 01:38:26 2010 -0700
     1.3 @@ -1,5 +1,5 @@
     1.4  /*
     1.5 - * Copyright 1997-2009 Sun Microsystems, Inc.  All Rights Reserved.
     1.6 + * Copyright 1997-2010 Sun Microsystems, Inc.  All Rights Reserved.
     1.7   * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
     1.8   *
     1.9   * This code is free software; you can redistribute it and/or modify it
    1.10 @@ -73,6 +73,7 @@
    1.11   public:
    1.12    enum Operation { add, sub, mul, div, rem, _and, _or, _xor, shl, shr, ushr };
    1.13    enum Condition { equal, not_equal, less, less_equal, greater, greater_equal };
    1.14 +  enum CacheByte { f1_byte = 1, f2_byte = 2, f1_oop = 0x11 };  // byte_no codes
    1.15  
    1.16   private:
    1.17    static bool            _is_initialized;        // true if TemplateTable has been initialized
    1.18 @@ -244,13 +245,18 @@
    1.19  
    1.20    static void _return(TosState state);
    1.21  
    1.22 -  static void resolve_cache_and_index(int byte_no, Register cache, Register index);
    1.23 +  static void resolve_cache_and_index(int byte_no,       // one of 1,2,11
    1.24 +                                      Register result ,  // either noreg or output for f1/f2
    1.25 +                                      Register cache,    // output for CP cache
    1.26 +                                      Register index,    // output for CP index
    1.27 +                                      size_t index_size); // one of 1,2,4
    1.28    static void load_invoke_cp_cache_entry(int byte_no,
    1.29                                           Register method,
    1.30                                           Register itable_index,
    1.31                                           Register flags,
    1.32 -                                         bool is_invokevirtual = false,
    1.33 -                                         bool is_virtual_final = false);
    1.34 +                                         bool is_invokevirtual,
    1.35 +                                         bool is_virtual_final,
    1.36 +                                         bool is_invokedynamic);
    1.37    static void load_field_cp_cache_entry(Register obj,
    1.38                                          Register cache,
    1.39                                          Register index,

mercurial