6987135: Performance regression on Intel platform with 32-bits edition between 6u13 and 6u14

Use hardware DIV instruction for long division by constant when it is faster than code with multiply.

Reviewed-by: never
This commit is contained in:
Vladimir Kozlov 2010-11-02 09:00:37 -07:00
parent ce0125e7f2
commit 249b1f6c4f
10 changed files with 180 additions and 23 deletions

View file

@ -1,5 +1,5 @@
/*
* Copyright (c) 1997, 2009, Oracle and/or its affiliates. All rights reserved.
* Copyright (c) 1997, 2010, 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
@ -298,6 +298,10 @@ public:
// Register for MODL projection of divmodL
static RegMask modL_proj_mask();
// Use hardware DIV instruction when it is faster than
// a code which use multiply for division by constant.
static bool use_asm_for_ldiv_by_con( jlong divisor );
static const RegMask method_handle_invoke_SP_save_mask();
// Java-Interpreter calling convention