< prev index next >

src/hotspot/cpu/ppc/frame_ppc.inline.hpp

Print this page
*** 325,18 ***
--- 325,24 ---
    return result;
  }
  
  inline frame frame::sender_for_compiled_frame(RegisterMap *map) const {
    assert(map != nullptr, "map must be set");
+   assert(!_cb->is_nmethod() || !_cb->as_nmethod()->needs_stack_repair(), "unsupported");
  
    intptr_t* sender_sp = this->sender_sp();
    address   sender_pc = this->sender_pc();
  
    if (map->update_map()) {
      // Tell GC to use argument oopmaps for some runtime stubs that need it.
      // For C1, the runtime stub might not have oop maps, so set this flag
      // outside of update_register_map.
+ #ifdef COMPILER1
+     DEBUG_ONLY(nmethod* nm = _cb->as_nmethod_or_null());
+     assert(nm == nullptr || !nm->is_compiled_by_c1() || !nm->method()->has_scalarized_args() ||
+            pc() >= nm->verified_inline_entry_point(), "unsupported");
+ #endif
      if (!_cb->is_nmethod()) { // compiled frames do not use callee-saved registers
        map->set_include_argument_oops(_cb->caller_must_gc_arguments(map->thread()));
        if (oop_map() != nullptr) {
          _oop_map->update_register_map(this, map);
        }
< prev index next >