src/cpu/sparc/vm/cppInterpreter_sparc.cpp

changeset 3969
1d7922586cf6
parent 3826
2fe087c3e814
child 4037
da91efe96a93
equal deleted inserted replaced
3944:aba91a731143 3969:1d7922586cf6
513 513
514 Label xreturn_path; 514 Label xreturn_path;
515 // Need to differentiate between igetfield, agetfield, bgetfield etc. 515 // Need to differentiate between igetfield, agetfield, bgetfield etc.
516 // because they are different sizes. 516 // because they are different sizes.
517 // Get the type from the constant pool cache 517 // Get the type from the constant pool cache
518 __ srl(G1_scratch, ConstantPoolCacheEntry::tosBits, G1_scratch); 518 __ srl(G1_scratch, ConstantPoolCacheEntry::tos_state_shift, G1_scratch);
519 // Make sure we don't need to mask G1_scratch for tosBits after the above shift 519 // Make sure we don't need to mask G1_scratch after the above shift
520 ConstantPoolCacheEntry::verify_tosBits(); 520 ConstantPoolCacheEntry::verify_tos_state_shift();
521 __ cmp(G1_scratch, atos ); 521 __ cmp(G1_scratch, atos );
522 __ br(Assembler::equal, true, Assembler::pt, xreturn_path); 522 __ br(Assembler::equal, true, Assembler::pt, xreturn_path);
523 __ delayed()->ld_ptr(Otos_i, G3_scratch, Otos_i); 523 __ delayed()->ld_ptr(Otos_i, G3_scratch, Otos_i);
524 __ cmp(G1_scratch, itos); 524 __ cmp(G1_scratch, itos);
525 __ br(Assembler::equal, true, Assembler::pt, xreturn_path); 525 __ br(Assembler::equal, true, Assembler::pt, xreturn_path);

mercurial