341
342 if (Assert.ASSERTS_ENABLED) {
343 Assert.that(map != null, "map must be set");
344 }
345
346 // frame owned by optimizing compiler
347 if (Assert.ASSERTS_ENABLED) {
348 Assert.that(cb.getFrameSize() >= 0, "must have non-zero frame size");
349 }
350 Address senderSP = getSenderSP();
351
352 Address senderPC = getSenderPC();
353
354 if (map.getUpdateMap()) {
355 // Tell GC to use argument oopmaps for some runtime stubs that need it.
356 // For C1, the runtime stub might not have oop maps, so set this flag
357 // outside of update_register_map.
358 map.setIncludeArgumentOops(cb.callerMustGCArguments());
359
360 if (cb.getOopMaps() != null) {
361 OopMapSet.updateRegisterMap(this, cb, map, true);
362 }
363 }
364
365 return new PPC64Frame(senderSP, getLink(), senderPC);
366 }
367
368 protected boolean hasSenderPD() {
369 // FIXME
370 return true;
371 }
372
373 public long frameSize() {
374 return (getSenderSP().minus(getSP()) / VM.getVM().getAddressSize());
375 }
376
377 public Address getLink() {
378 return getSenderSP().getAddressAt(0);
379 }
380
381 public Address getUnextendedSP() { return raw_unextendedSP; }
|
341
342 if (Assert.ASSERTS_ENABLED) {
343 Assert.that(map != null, "map must be set");
344 }
345
346 // frame owned by optimizing compiler
347 if (Assert.ASSERTS_ENABLED) {
348 Assert.that(cb.getFrameSize() >= 0, "must have non-zero frame size");
349 }
350 Address senderSP = getSenderSP();
351
352 Address senderPC = getSenderPC();
353
354 if (map.getUpdateMap()) {
355 // Tell GC to use argument oopmaps for some runtime stubs that need it.
356 // For C1, the runtime stub might not have oop maps, so set this flag
357 // outside of update_register_map.
358 map.setIncludeArgumentOops(cb.callerMustGCArguments());
359
360 if (cb.getOopMaps() != null) {
361 ImmutableOopMapSet.updateRegisterMap(this, cb, map, true);
362 }
363 }
364
365 return new PPC64Frame(senderSP, getLink(), senderPC);
366 }
367
368 protected boolean hasSenderPD() {
369 // FIXME
370 return true;
371 }
372
373 public long frameSize() {
374 return (getSenderSP().minus(getSP()) / VM.getVM().getAddressSize());
375 }
376
377 public Address getLink() {
378 return getSenderSP().getAddressAt(0);
379 }
380
381 public Address getUnextendedSP() { return raw_unextendedSP; }
|