hotspot/src/cpu/sparc/vm/vtableStubs_sparc.cpp
changeset 19319 0ad35be0733a
parent 14631 526804361522
child 19979 ebe1dbb6e1aa
equal deleted inserted replaced
19318:7425be18f6f4 19319:0ad35be0733a
     1 /*
     1 /*
     2  * Copyright (c) 1997, 2012, Oracle and/or its affiliates. All rights reserved.
     2  * Copyright (c) 1997, 2013, 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.
   217     if (is_vtable_stub) {
   217     if (is_vtable_stub) {
   218       // ld;ld;ld,jmp,nop
   218       // ld;ld;ld,jmp,nop
   219       const int basic = 5*BytesPerInstWord +
   219       const int basic = 5*BytesPerInstWord +
   220                         // shift;add for load_klass (only shift with zero heap based)
   220                         // shift;add for load_klass (only shift with zero heap based)
   221                         (UseCompressedKlassPointers ?
   221                         (UseCompressedKlassPointers ?
   222                          ((Universe::narrow_klass_base() == NULL) ? BytesPerInstWord : 2*BytesPerInstWord) : 0);
   222                           MacroAssembler::instr_size_for_decode_klass_not_null() : 0);
   223       return basic + slop;
   223       return basic + slop;
   224     } else {
   224     } else {
   225       const int basic = (28 LP64_ONLY(+ 6)) * BytesPerInstWord +
   225       const int basic = (28 LP64_ONLY(+ 6)) * BytesPerInstWord +
   226                         // shift;add for load_klass (only shift with zero heap based)
   226                         // shift;add for load_klass (only shift with zero heap based)
   227                         (UseCompressedKlassPointers ?
   227                         (UseCompressedKlassPointers ?
   228                          ((Universe::narrow_klass_base() == NULL) ? BytesPerInstWord : 2*BytesPerInstWord) : 0);
   228                           MacroAssembler::instr_size_for_decode_klass_not_null() : 0);
   229       return (basic + slop);
   229       return (basic + slop);
   230     }
   230     }
   231   }
   231   }
   232 
   232 
   233   // In order to tune these parameters, run the JVM with VM options
   233   // In order to tune these parameters, run the JVM with VM options