Mercurial > hg > truffle
comparison src/share/vm/opto/matcher.hpp @ 1914:ae065c367d93
6987135: Performance regression on Intel platform with 32-bits edition between 6u13 and 6u14.
Summary: Use hardware DIV instruction for long division by constant when it is faster than code with multiply.
Reviewed-by: never
author | kvn |
---|---|
date | Tue, 02 Nov 2010 09:00:37 -0700 |
parents | e9ff18c4ace7 |
children | f95d63e2154a |
comparison
equal
deleted
inserted
replaced
1913:3b2dea75431e | 1914:ae065c367d93 |
---|---|
1 /* | 1 /* |
2 * Copyright (c) 1997, 2009, Oracle and/or its affiliates. All rights reserved. | 2 * Copyright (c) 1997, 2010, 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. |
296 // Register for DIVL projection of divmodL | 296 // Register for DIVL projection of divmodL |
297 static RegMask divL_proj_mask(); | 297 static RegMask divL_proj_mask(); |
298 // Register for MODL projection of divmodL | 298 // Register for MODL projection of divmodL |
299 static RegMask modL_proj_mask(); | 299 static RegMask modL_proj_mask(); |
300 | 300 |
301 // Use hardware DIV instruction when it is faster than | |
302 // a code which use multiply for division by constant. | |
303 static bool use_asm_for_ldiv_by_con( jlong divisor ); | |
304 | |
301 static const RegMask method_handle_invoke_SP_save_mask(); | 305 static const RegMask method_handle_invoke_SP_save_mask(); |
302 | 306 |
303 // Java-Interpreter calling convention | 307 // Java-Interpreter calling convention |
304 // (what you use when calling between compiled-Java and Interpreted-Java | 308 // (what you use when calling between compiled-Java and Interpreted-Java |
305 | 309 |