< prev index next >

src/hotspot/share/c1/c1_ValueStack.cpp

Print this page
*** 1,7 ***
  /*
!  * Copyright (c) 1999, 2016, Oracle and/or its affiliates. All rights reserved.
   * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
   *
   * This code is free software; you can redistribute it and/or modify it
   * under the terms of the GNU General Public License version 2 only, as
   * published by the Free Software Foundation.
--- 1,7 ---
  /*
!  * Copyright (c) 1999, 2019, Oracle and/or its affiliates. All rights reserved.
   * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
   *
   * This code is free software; you can redistribute it and/or modify it
   * under the terms of the GNU General Public License version 2 only, as
   * published by the Free Software Foundation.

*** 33,22 ***
  ValueStack::ValueStack(IRScope* scope, ValueStack* caller_state)
  : _scope(scope)
  , _caller_state(caller_state)
  , _bci(-99)
  , _kind(Parsing)
  , _locals(scope->method()->max_locals(), scope->method()->max_locals(), NULL)
  , _stack(scope->method()->max_stack())
  , _locks(NULL)
  {
    verify();
  }
  
! ValueStack::ValueStack(ValueStack* copy_from, Kind kind, int bci)
    : _scope(copy_from->scope())
    , _caller_state(copy_from->caller_state())
    , _bci(bci)
    , _kind(kind)
    , _locals(copy_from->locals_size_for_copy(kind))
    , _stack(copy_from->stack_size_for_copy(kind))
    , _locks(copy_from->locks_size() == 0 ? NULL : new Values(copy_from->locks_size()))
  {
    assert(kind != EmptyExceptionState || !Compilation::current()->env()->should_retain_local_variables(), "need locals");
--- 33,24 ---
  ValueStack::ValueStack(IRScope* scope, ValueStack* caller_state)
  : _scope(scope)
  , _caller_state(caller_state)
  , _bci(-99)
  , _kind(Parsing)
+ , _should_reexecute(false)
  , _locals(scope->method()->max_locals(), scope->method()->max_locals(), NULL)
  , _stack(scope->method()->max_stack())
  , _locks(NULL)
  {
    verify();
  }
  
! ValueStack::ValueStack(ValueStack* copy_from, Kind kind, int bci, bool reexecute)
    : _scope(copy_from->scope())
    , _caller_state(copy_from->caller_state())
    , _bci(bci)
    , _kind(kind)
+   , _should_reexecute(reexecute)
    , _locals(copy_from->locals_size_for_copy(kind))
    , _stack(copy_from->stack_size_for_copy(kind))
    , _locks(copy_from->locks_size() == 0 ? NULL : new Values(copy_from->locks_size()))
  {
    assert(kind != EmptyExceptionState || !Compilation::current()->env()->should_retain_local_variables(), "need locals");

*** 190,11 ***
    assert(locks_size() > 0, "sanity");
    _locks->pop();
    return total_locks_size();
  }
  
- 
  void ValueStack::setup_phi_for_stack(BlockBegin* b, int index) {
    assert(stack_at(index)->as_Phi() == NULL || stack_at(index)->as_Phi()->block() != b, "phi function already created");
  
    ValueType* t = stack_at(index)->type();
    Value phi = new Phi(t, b, -index - 1);
--- 192,10 ---
< prev index next >