295
296 // Stores
297 void store_check(Register obj); // store check for obj - register is destroyed afterwards
298 void store_check(Register obj, Address dst); // same as above, dst is exact store location (reg. is destroyed)
299
300 #if INCLUDE_ALL_GCS
301
302 void g1_write_barrier_pre(Register obj,
303 Register pre_val,
304 Register thread,
305 Register tmp,
306 bool tosca_live,
307 bool expand_call);
308
309 void g1_write_barrier_post(Register store_addr,
310 Register new_val,
311 Register thread,
312 Register tmp,
313 Register tmp2);
314
315 #endif // INCLUDE_ALL_GCS
316
317 // C 'boolean' to Java boolean: x == 0 ? 0 : 1
318 void c2bool(Register x);
319
320 // C++ bool manipulation
321
322 void movbool(Register dst, Address src);
323 void movbool(Address dst, bool boolconst);
324 void movbool(Address dst, Register src);
325 void testbool(Register dst);
326
327 void load_mirror(Register mirror, Register method);
328
329 // oop manipulations
330 void load_klass(Register dst, Register src);
331 void store_klass(Register dst, Register src);
332
333 void load_heap_oop(Register dst, Address src);
334 void load_heap_oop_not_null(Register dst, Address src);
|
295
296 // Stores
297 void store_check(Register obj); // store check for obj - register is destroyed afterwards
298 void store_check(Register obj, Address dst); // same as above, dst is exact store location (reg. is destroyed)
299
300 #if INCLUDE_ALL_GCS
301
302 void g1_write_barrier_pre(Register obj,
303 Register pre_val,
304 Register thread,
305 Register tmp,
306 bool tosca_live,
307 bool expand_call);
308
309 void g1_write_barrier_post(Register store_addr,
310 Register new_val,
311 Register thread,
312 Register tmp,
313 Register tmp2);
314
315 void shenandoah_write_barrier(Register dst);
316
317 #endif // INCLUDE_ALL_GCS
318
319 // C 'boolean' to Java boolean: x == 0 ? 0 : 1
320 void c2bool(Register x);
321
322 // C++ bool manipulation
323
324 void movbool(Register dst, Address src);
325 void movbool(Address dst, bool boolconst);
326 void movbool(Address dst, Register src);
327 void testbool(Register dst);
328
329 void load_mirror(Register mirror, Register method);
330
331 // oop manipulations
332 void load_klass(Register dst, Register src);
333 void store_klass(Register dst, Register src);
334
335 void load_heap_oop(Register dst, Address src);
336 void load_heap_oop_not_null(Register dst, Address src);
|