diff --git a/vm_debug.h b/vm_debug.h index f2c89a193b..ead1c7c10a 100644 --- a/vm_debug.h +++ b/vm_debug.h @@ -84,23 +84,23 @@ extern enum ruby_debug_log_mode { RBIMPL_ATTR_FORMAT(RBIMPL_PRINTF_FORMAT, 4, 5) void ruby_debug_log(const char *file, int line, const char *func_name, const char *fmt, ...); void ruby_debug_log_print(unsigned int n); -bool ruby_debug_log_filter(const char *func_name); +bool ruby_debug_log_filter(const char *func_name, const char *file_name); // convenient macro to log even if the USE_RUBY_DEBUG_LOG macro is not specified. // You can use this macro for temporary usage (you should not commit it). #define _RUBY_DEBUG_LOG(...) ruby_debug_log(__FILE__, __LINE__, RUBY_FUNCTION_NAME_STRING, "" __VA_ARGS__) #if USE_RUBY_DEBUG_LOG -# define RUBY_DEBUG_LOG_ENABLED(func_name) \ - (ruby_debug_log_mode && ruby_debug_log_filter(func_name)) +# define RUBY_DEBUG_LOG_ENABLED(func_name, file_name) \ + (ruby_debug_log_mode && ruby_debug_log_filter(func_name, file_name)) #define RUBY_DEBUG_LOG(...) do { \ - if (RUBY_DEBUG_LOG_ENABLED(RUBY_FUNCTION_NAME_STRING)) \ + if (RUBY_DEBUG_LOG_ENABLED(RUBY_FUNCTION_NAME_STRING, __FILE__)) \ ruby_debug_log(__FILE__, __LINE__, RUBY_FUNCTION_NAME_STRING, "" __VA_ARGS__); \ } while (0) #define RUBY_DEBUG_LOG2(file, line, ...) do { \ - if (RUBY_DEBUG_LOG_ENABLED(RUBY_FUNCTION_NAME_STRING)) \ + if (RUBY_DEBUG_LOG_ENABLED(RUBY_FUNCTION_NAME_STRING, __FILE__)) \ ruby_debug_log(file, line, RUBY_FUNCTION_NAME_STRING, "" __VA_ARGS__); \ } while (0)