comparison src/hotspot/share/opto/split_if.cpp @ 52592:1ecc914fb707

8210829: Modularize allocations in C2 Reviewed-by: kvn, roland
author rkennke
date Wed, 19 Sep 2018 21:31:33 +0200
parents 235a18d659fc
children a37939761ff6
comparison
equal deleted inserted replaced
2:fa268fabf167 3:f97025de7d29
1 /* 1 /*
2 * Copyright (c) 1999, 2012, Oracle and/or its affiliates. All rights reserved. 2 * Copyright (c) 1999, 2018, Oracle and/or its affiliates. All rights reserved.
3 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 3 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
4 * 4 *
5 * This code is free software; you can redistribute it and/or modify it 5 * This code is free software; you can redistribute it and/or modify it
6 * under the terms of the GNU General Public License version 2 only, as 6 * under the terms of the GNU General Public License version 2 only, as
7 * published by the Free Software Foundation. 7 * published by the Free Software Foundation.
290 // the appropriate false-arm or true-arm values. If some path leads to the 290 // the appropriate false-arm or true-arm values. If some path leads to the
291 // original IF, then insert a Phi recursively. 291 // original IF, then insert a Phi recursively.
292 Node *PhaseIdealLoop::spinup( Node *iff_dom, Node *new_false, Node *new_true, Node *use_blk, Node *def, small_cache *cache ) { 292 Node *PhaseIdealLoop::spinup( Node *iff_dom, Node *new_false, Node *new_true, Node *use_blk, Node *def, small_cache *cache ) {
293 if (use_blk->is_top()) // Handle dead uses 293 if (use_blk->is_top()) // Handle dead uses
294 return use_blk; 294 return use_blk;
295 Node *prior_n = (Node*)0xdeadbeef; 295 Node *prior_n = (Node*)((intptr_t)0xdeadbeef);
296 Node *n = use_blk; // Get path input 296 Node *n = use_blk; // Get path input
297 assert( use_blk != iff_dom, "" ); 297 assert( use_blk != iff_dom, "" );
298 // Here's the "spinup" the dominator tree loop. Do a cache-check 298 // Here's the "spinup" the dominator tree loop. Do a cache-check
299 // along the way, in case we've come this way before. 299 // along the way, in case we've come this way before.
300 while( n != iff_dom ) { // Found post-dominating point? 300 while( n != iff_dom ) { // Found post-dominating point?
337 } 337 }
338 } 338 }
339 } 339 }
340 340
341 // Update cache everywhere 341 // Update cache everywhere
342 prior_n = (Node*)0xdeadbeef; // Reset IDOM walk 342 prior_n = (Node*)((intptr_t)0xdeadbeef); // Reset IDOM walk
343 n = use_blk; // Get path input 343 n = use_blk; // Get path input
344 // Spin-up the idom tree again, basically doing path-compression. 344 // Spin-up the idom tree again, basically doing path-compression.
345 // Insert cache entries along the way, so that if we ever hit this 345 // Insert cache entries along the way, so that if we ever hit this
346 // point in the IDOM tree again we'll stop immediately on a cache hit. 346 // point in the IDOM tree again we'll stop immediately on a cache hit.
347 while( n != iff_dom ) { // Found post-dominating point? 347 while( n != iff_dom ) { // Found post-dominating point?