comparison src/cpu/sparc/vm/dump_sparc.cpp @ 2376:c7f3d0b4570f

7017732: move static fields into Class to prepare for perm gen removal Reviewed-by: kvn, coleenp, twisti, stefank
author never
date Fri, 18 Mar 2011 16:00:34 -0700
parents f95d63e2154a
children 1d1603768966
comparison
equal deleted inserted replaced
2375:d673ef06fe96 2376:c7f3d0b4570f
78 Label common_code; 78 Label common_code;
79 for (int i = 0; i < vtbl_list_size; ++i) { 79 for (int i = 0; i < vtbl_list_size; ++i) {
80 for (int j = 0; j < num_virtuals; ++j) { 80 for (int j = 0; j < num_virtuals; ++j) {
81 dummy_vtable[num_virtuals * i + j] = (void*)masm->pc(); 81 dummy_vtable[num_virtuals * i + j] = (void*)masm->pc();
82 __ save(SP, -256, SP); 82 __ save(SP, -256, SP);
83 int offset = (i << 8) + j;
84 Register src = G0;
85 if (!Assembler::is_simm13(offset)) {
86 __ sethi(offset, L0);
87 src = L0;
88 offset = offset & ((1 << 10) - 1);
89 }
83 __ brx(Assembler::always, false, Assembler::pt, common_code); 90 __ brx(Assembler::always, false, Assembler::pt, common_code);
84 91
85 // Load L0 with a value indicating vtable/offset pair. 92 // Load L0 with a value indicating vtable/offset pair.
86 // -- bits[ 7..0] (8 bits) which virtual method in table? 93 // -- bits[ 7..0] (8 bits) which virtual method in table?
87 // -- bits[12..8] (5 bits) which virtual method table? 94 // -- bits[13..8] (6 bits) which virtual method table?
88 // -- must fit in 13-bit instruction immediate field. 95 __ delayed()->or3(src, offset, L0);
89 __ delayed()->set((i << 8) + j, L0);
90 } 96 }
91 } 97 }
92 98
93 __ bind(common_code); 99 __ bind(common_code);
94 100