< prev index next >

src/cpu/aarch64/vm/c1_MacroAssembler_aarch64.cpp

Print this page




 341   // Make sure there is enough stack space for this method's activation.
 342   // Note that we do this before doing an enter().
 343   generate_stack_overflow_check(bang_size_in_bytes);
 344   MacroAssembler::build_frame(framesize + 2 * wordSize);
 345   if (NotifySimulator) {
 346     notify(Assembler::method_entry);
 347   }
 348 }
 349 
 350 void C1_MacroAssembler::remove_frame(int framesize) {
 351   MacroAssembler::remove_frame(framesize + 2 * wordSize);
 352   if (NotifySimulator) {
 353     notify(Assembler::method_reentry);
 354   }
 355 }
 356 
 357 
 358 void C1_MacroAssembler::verified_entry() {
 359 }
 360 










 361 #ifndef PRODUCT
 362 
 363 void C1_MacroAssembler::verify_stack_oop(int stack_offset) {
 364   if (!VerifyOops) return;
 365   verify_oop_addr(Address(sp, stack_offset), "oop");
 366 }
 367 
 368 void C1_MacroAssembler::verify_not_null_oop(Register r) {
 369   if (!VerifyOops) return;
 370   Label not_null;
 371   cbnz(r, not_null);
 372   stop("non-null oop required");
 373   bind(not_null);
 374   verify_oop(r);
 375 }
 376 
 377 void C1_MacroAssembler::invalidate_registers(bool inv_r0, bool inv_r19, bool inv_r2, bool inv_r3, bool inv_r4, bool inv_r5) {
 378 #ifdef ASSERT
 379   static int nn;
 380   if (inv_r0) mov(r0, 0xDEAD);


 341   // Make sure there is enough stack space for this method's activation.
 342   // Note that we do this before doing an enter().
 343   generate_stack_overflow_check(bang_size_in_bytes);
 344   MacroAssembler::build_frame(framesize + 2 * wordSize);
 345   if (NotifySimulator) {
 346     notify(Assembler::method_entry);
 347   }
 348 }
 349 
 350 void C1_MacroAssembler::remove_frame(int framesize) {
 351   MacroAssembler::remove_frame(framesize + 2 * wordSize);
 352   if (NotifySimulator) {
 353     notify(Assembler::method_reentry);
 354   }
 355 }
 356 
 357 
 358 void C1_MacroAssembler::verified_entry() {
 359 }
 360 
 361 void C1_MacroAssembler::load_parameter(int offset_in_words, Register reg) {
 362   // rbp, + 0: link
 363   //     + 1: return address
 364   //     + 2: argument with offset 0
 365   //     + 3: argument with offset 1
 366   //     + 4: ...
 367 
 368   ldr(reg, Address(rfp, (offset_in_words + 2) * BytesPerWord));
 369 }
 370 
 371 #ifndef PRODUCT
 372 
 373 void C1_MacroAssembler::verify_stack_oop(int stack_offset) {
 374   if (!VerifyOops) return;
 375   verify_oop_addr(Address(sp, stack_offset), "oop");
 376 }
 377 
 378 void C1_MacroAssembler::verify_not_null_oop(Register r) {
 379   if (!VerifyOops) return;
 380   Label not_null;
 381   cbnz(r, not_null);
 382   stop("non-null oop required");
 383   bind(not_null);
 384   verify_oop(r);
 385 }
 386 
 387 void C1_MacroAssembler::invalidate_registers(bool inv_r0, bool inv_r19, bool inv_r2, bool inv_r3, bool inv_r4, bool inv_r5) {
 388 #ifdef ASSERT
 389   static int nn;
 390   if (inv_r0) mov(r0, 0xDEAD);
< prev index next >