Quellcodebibliothek Statistik Leitseite products/sources/formale Sprachen/C/Firefox/xpcom/reflect/xptcall/md/unix/   (Browser von der Mozilla Stiftung Version 136.0.1©)  Datei vom 10.2.2025 mit Größe 2 kB image not shown  

Quelle  xptcinvoke_asm_riscv64.S   Sprache: Sparc

 
/* This Source Code Form is subject to the terms of the Mozilla Public
 * License, v. 2.0. If a copy of the MPL was not distributed with this
 * file, You can obtain one at http://mozilla.org/MPL/2.0/. */


    .set NGPREGS, 8
    .set NFPREGS, 8

    .text
    .globl  _NS_InvokeByIndex
    .type   _NS_InvokeByIndex, @function
/*
 * _NS_InvokeByIndex(nsISupports* that, uint32_t methodIndex,
 *                   uint32_t paramCount, nsXPTCVariant* params)
 */

_NS_InvokeByIndex:
    .cfi_startproc
    addi    sp, sp, -32
    .cfi_adjust_cfa_offset 32
    sd      s0, 16(sp)
    .cfi_rel_offset s0, 16
    sd      s1, 8(sp)
    .cfi_rel_offset s1, 8
    sd      s2, 0(sp)
    .cfi_rel_offset s2, 0
    sd      ra, 24(sp)
    .cfi_rel_offset ra, 24

    mv      s2, a0
    mv      s1, a1
    mv      s0, sp
    .cfi_def_cfa_register s0

    /* 16-bytes alignment */
    addiw   a0, a2, 1
    andi    a0, a0, -2
    slli    a0, a0, 3
    sub     sp, sp, a0
    mv      a4, sp

    addi    sp, sp, -8*(NGPREGS+NFPREGS)
    mv      a0, sp
    addi    a1, sp, 8*NGPREGS

    call    invoke_copy_to_stack

    /* 1st argument is this */
    mv      a0, s2

    ld      a1, 8(sp)
    ld      a2, 16(sp)
    ld      a3, 24(sp)
    ld      a4, 32(sp)
    ld      a5, 40(sp)
    ld      a6, 48(sp)
    ld      a7, 56(sp)

    fld     fa0, 64(sp)
    fld     fa1, 72(sp)
    fld     fa2, 80(sp)
    fld     fa3, 88(sp)
    fld     fa4, 96(sp)
    fld     fa5, 104(sp)
    fld     fa6, 112(sp)
    fld     fa7, 120(sp)

    addi    sp, sp, 8*(NGPREGS+NFPREGS)

    ld      s2, 0(s2)
    slliw   s1, s1, 3
    add     s2, s2, s1
    ld      t0, 0(s2)
    jalr    t0

    mv      sp, s0
    .cfi_def_cfa_register sp
    ld      s0, 16(sp)
    .cfi_restore s0
    ld      s1, 8(sp)
    .cfi_restore s1
    ld      s2, 0(sp)
    .cfi_restore s2
    ld      ra, 24(sp)
    .cfi_restore ra
    addi    sp, sp, 32
    .cfi_adjust_cfa_offset -32
    ret
    .cfi_endproc
    .size   _NS_InvokeByIndex, . - _NS_InvokeByIndex
    .section .note.GNU-stack, "", @progbits

Messung V0.5
C=91 H=96 G=93

¤ Dauer der Verarbeitung: 0.10 Sekunden  (vorverarbeitet)  ¤

*© Formatika GbR, Deutschland






Wurzel

Suchen

Beweissystem der NASA

Beweissystem Isabelle

NIST Cobol Testsuite

Cephes Mathematical Library

Wiener Entwicklungsmethode

Haftungshinweis

Die Informationen auf dieser Webseite wurden nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit, noch Qualität der bereit gestellten Informationen zugesichert.

Bemerkung:

Die farbliche Syntaxdarstellung und die Messung sind noch experimentell.