1.1 --- a/src/share/vm/c1/c1_GraphBuilder.hpp Wed Aug 31 16:46:11 2011 -0700 1.2 +++ b/src/share/vm/c1/c1_GraphBuilder.hpp Thu Sep 01 01:31:25 2011 -0700 1.3 @@ -1,5 +1,5 @@ 1.4 /* 1.5 - * Copyright (c) 1999, 2010, Oracle and/or its affiliates. All rights reserved. 1.6 + * Copyright (c) 1999, 2011, Oracle and/or its affiliates. All rights reserved. 1.7 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 1.8 * 1.9 * This code is free software; you can redistribute it and/or modify it 1.10 @@ -315,9 +315,17 @@ 1.11 ValueStack* return_state) { scope_data()->set_inline_cleanup_info(block, 1.12 return_prev, 1.13 return_state); } 1.14 + void set_inline_cleanup_info() { 1.15 + set_inline_cleanup_info(_block, _last, _state); 1.16 + } 1.17 BlockBegin* inline_cleanup_block() const { return scope_data()->inline_cleanup_block(); } 1.18 Instruction* inline_cleanup_return_prev() const { return scope_data()->inline_cleanup_return_prev(); } 1.19 ValueStack* inline_cleanup_state() const { return scope_data()->inline_cleanup_state(); } 1.20 + void restore_inline_cleanup_info() { 1.21 + _block = inline_cleanup_block(); 1.22 + _last = inline_cleanup_return_prev(); 1.23 + _state = inline_cleanup_state(); 1.24 + } 1.25 void incr_num_returns() { scope_data()->incr_num_returns(); } 1.26 int num_returns() const { return scope_data()->num_returns(); } 1.27 intx max_inline_size() const { return scope_data()->max_inline_size(); } 1.28 @@ -329,11 +337,15 @@ 1.29 void fill_sync_handler(Value lock, BlockBegin* sync_handler, bool default_handler = false); 1.30 1.31 // inliners 1.32 - bool try_inline(ciMethod* callee, bool holder_known); 1.33 + bool try_inline( ciMethod* callee, bool holder_known); 1.34 bool try_inline_intrinsics(ciMethod* callee); 1.35 - bool try_inline_full (ciMethod* callee, bool holder_known); 1.36 + bool try_inline_full( ciMethod* callee, bool holder_known, BlockBegin* cont_block = NULL); 1.37 bool try_inline_jsr(int jsr_dest_bci); 1.38 1.39 + // JSR 292 support 1.40 + bool for_method_handle_inline(ciMethod* callee); 1.41 + bool for_invokedynamic_inline(ciMethod* callee); 1.42 + 1.43 // helpers 1.44 void inline_bailout(const char* msg); 1.45 BlockBegin* header_block(BlockBegin* entry, BlockBegin::Flag f, ValueStack* state);