sqrt 源代码

时间:2023-12-29 10:18:38
stap -v -e 'probe process("/usr/local/mysql56/bin/mysqld").function("*@/usr/src/mysql-5.6.28/sql*").call
{ if( tid()==15267) printf("%s:%s %d \n",execname(),probefunc(),tid())}' |c++filt
...
mysqld:Item::send(Protocol*, String*) 13514
mysqld:Item::field_type() const 13514
mysqld:Item_real_func::result_type() const 13514
mysqld:Item_func_sqrt::val_real() 13514
mysqld:Item_int::val_real() 13514
mysqld:Protocol_text::store(double, unsigned int, String*) 13514
mysqld:THD::charset() 13514
...

source insight查

double Item_func_sqrt::val_real()
{
DBUG_ASSERT(fixed == 1);
double value= args[]->val_real();
if ((null_value=(args[]->null_value || value < 0)))
return 0.0; /* purecov: inspected */
return sqrt(value); //系统库中的函数
}