Sha256: a5abc00013f54a6414ed8be06b385081d994f6a6b5dbb3a600690374e34621c9

Contents?: true

Size: 1.77 KB

Versions: 3

Compression:

Stored size: 1.77 KB

Contents

/*
 * Stub functions containing DTrace tracepoints for probes and
 * is-enabled probes. These functions are copied for each probe
 * dynamically created.
 *
 */
        .text

        .align 4, 0x90
        .globl usdt_tracepoint_isenabled
        .globl _usdt_tracepoint_isenabled
        .globl usdt_tracepoint_probe
        .globl _usdt_tracepoint_probe
        .globl usdt_tracepoint_end
        .globl _usdt_tracepoint_end
        .globl usdt_probe_args
        .globl _usdt_probe_args

usdt_tracepoint_isenabled:
_usdt_tracepoint_isenabled:
        pushq   %rbp
        movq    %rsp, %rbp
        xorq    %rax, %rax
        nop
        nop
        leave
        ret
usdt_tracepoint_probe:
_usdt_tracepoint_probe:
        nop
        nop
        nop
        nop
        nop
        popq %r11
        popq %rbx
        popq %r12
        addq $0x18,%rsp
        leave
usdt_tracepoint_end:
_usdt_tracepoint_end:
        ret

/*
 * Probe argument marshalling, x86_64 style
 *
 */

usdt_probe_args:
_usdt_probe_args:
        pushq   %rbp
        movq    %rsp,%rbp
        subq    $0x18,%rsp
        pushq   %r12
        pushq   %rbx
        pushq   %r11
        movq    %rdi,%r12
        movq    %rsi,%rbx
        movq    %rdx,%r11
        test    %rbx,%rbx
        je      fire
        movq    (%r11),%rdi
        dec     %rbx
        test    %rbx,%rbx
        je      fire
        movq    8(%r11),%rsi
        dec     %rbx
        test    %rbx,%rbx
        je      fire
        movq    16(%r11),%rdx
        dec     %rbx
        test    %rbx,%rbx
        je      fire
        movq    24(%r11),%rcx
        dec     %rbx
        test    %rbx,%rbx
        je      fire
        movq    32(%r11),%r8
        dec     %rbx
        test    %rbx,%rbx
        je      fire
        movq    40(%r11),%r9
fire:   jmp     *%r12

Version data entries

3 entries across 3 versions & 1 rubygems

Version Path
ruby-usdt-0.0.3 ext/libusdt/usdt_tracepoints_x86_64.s
ruby-usdt-0.0.2 ext/libusdt/usdt_tracepoints_x86_64.s
ruby-usdt-0.0.1 ext/libusdt/usdt_tracepoints_x86_64.s