Я задаю вопрос, которому, как мне кажется, уделялось слишком мало внимания:
Почему этот простой код (просто вызов Math.log()
):
Double thisdouble = Math.log(10);
С точкой останова в строке 275 Math.class jdk1.7.0_11:
274 public static double log(double a) {
275 return StrictMath.log(a); // default impl. delegates to StrictMath
276 }
Не останавливать выполнение в режиме отладки? Может ли кто-нибудь попробовать это на своей машине (я использую Eclipse)?
Вызов Math.exp()
и отладка функции Math.exp
(строка 254) действительно работают...
РЕДАКТИРОВАТЬ: ответ на приведенный выше вопрос заключается в том, что Math.log
заменяется внутренним вызовом Hotspot VM, поэтому код в классе Math никогда не достигается. Вопрос, который остается сейчас, заключается в том, почему Math.exp
не заменяется встроенным ... FWIW У меня Core i5 M520 (Arrandale), но я серьезно сомневаюсь, что этот процессор поддерживает журнал, а не exp ...
Math.log
? И тогда почему этого не происходит дляMath.exp
? - person reverse_engineer   schedule 27.02.2013exp
или отладчик отключает встроенную функцию дляexp
, но не дляlog
. В любом случае это выглядит как ошибка. - person Joni   schedule 27.02.2013