+public:
+ /* Constructor for dtrace_probe. */
+ dtrace_probe (std::string &&name_, std::string &&provider_, CORE_ADDR address_,
+ struct gdbarch *arch_,
+ std::vector<struct dtrace_probe_arg> &&args_,
+ std::vector<struct dtrace_probe_enabler> &&enablers_)
+ : probe (std::move (name_), std::move (provider_), address_, arch_),
+ m_args (std::move (args_)),
+ m_enablers (std::move (enablers_)),
+ m_args_expr_built (false)
+ {}
+
+ /* See probe.h. */
+ CORE_ADDR get_relocated_address (struct objfile *objfile) override;
+
+ /* See probe.h. */
+ unsigned get_argument_count (struct frame_info *frame) override;
+
+ /* See probe.h. */
+ bool can_evaluate_arguments () const override;
+
+ /* See probe.h. */
+ struct value *evaluate_argument (unsigned n,
+ struct frame_info *frame) override;
+
+ /* See probe.h. */
+ void compile_to_ax (struct agent_expr *aexpr,
+ struct axs_value *axs_value,
+ unsigned n) override;
+
+ /* See probe.h. */
+ const static_probe_ops *get_static_ops () const override;
+
+ /* See probe.h. */
+ std::vector<const char *> gen_info_probes_table_values () const override;
+
+ /* See probe.h. */
+ void enable () override;
+
+ /* See probe.h. */
+ void disable () override;
+
+ /* Return the Nth argument of the probe. */
+ struct dtrace_probe_arg *get_arg_by_number (unsigned n,
+ struct gdbarch *gdbarch);
+
+ /* Build the GDB internal expressiosn that, once evaluated, will
+ calculate the values of the arguments of the probe. */
+ void build_arg_exprs (struct gdbarch *gdbarch);
+
+ /* Determine whether the probe is "enabled" or "disabled". A
+ disabled probe is a probe in which one or more enablers are
+ disabled. */
+ bool is_enabled () const;
+
+private: