equal
deleted
inserted
replaced
1 /* |
1 /* |
2 * Copyright (c) 2000, 2013, Oracle and/or its affiliates. All rights reserved. |
2 * Copyright (c) 2000, 2014, 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. |
24 |
24 |
25 #ifndef CPU_SPARC_VM_REGISTER_SPARC_HPP |
25 #ifndef CPU_SPARC_VM_REGISTER_SPARC_HPP |
26 #define CPU_SPARC_VM_REGISTER_SPARC_HPP |
26 #define CPU_SPARC_VM_REGISTER_SPARC_HPP |
27 |
27 |
28 #include "asm/register.hpp" |
28 #include "asm/register.hpp" |
29 #include "vm_version_sparc.hpp" |
|
30 |
29 |
31 // forward declaration |
30 // forward declaration |
32 class Address; |
31 class Address; |
33 class VMRegImpl; |
32 class VMRegImpl; |
34 typedef VMRegImpl* VMReg; |
33 typedef VMRegImpl* VMReg; |
63 friend Register as_iRegister(int number); |
62 friend Register as_iRegister(int number); |
64 friend Register as_lRegister(int number); |
63 friend Register as_lRegister(int number); |
65 friend Register as_oRegister(int number); |
64 friend Register as_oRegister(int number); |
66 friend Register as_gRegister(int number); |
65 friend Register as_gRegister(int number); |
67 |
66 |
68 VMReg as_VMReg(); |
67 inline VMReg as_VMReg(); |
69 |
68 |
70 // accessors |
69 // accessors |
71 int encoding() const { assert(is_valid(), "invalid register"); return value(); } |
70 int encoding() const { assert(is_valid(), "invalid register"); return value(); } |
72 const char* name() const; |
71 const char* name() const; |
73 |
72 |
232 enum Width { |
231 enum Width { |
233 S = 1, D = 2, Q = 3 |
232 S = 1, D = 2, Q = 3 |
234 }; |
233 }; |
235 |
234 |
236 // construction |
235 // construction |
237 VMReg as_VMReg( ); |
236 inline VMReg as_VMReg( ); |
238 |
237 |
239 // accessors |
238 // accessors |
240 int encoding() const { assert(is_valid(), "invalid register"); return value(); } |
239 int encoding() const { assert(is_valid(), "invalid register"); return value(); } |
241 |
240 |
242 public: |
241 public: |