⚠ Archived content — this site is no longer maintained.   Current WebKit documentation is at docs.webkit.org.

Changeset 264758 in webkit


Ignore:
Timestamp:
Jul 23, 2020, 5:51:51 AM (6 years ago)
Author:
Caio Lima
Message:

[32-bits] Fixing the return of doVMEntry into LowLevelInterpreter32_64.asm
​https://bugs.webkit.org/show_bug.cgi?id=214641

Reviewed by Mark Lam.

Adjusting the return of doVMEntry for 32-bits LLInt to proper set
EncodedJSValue return in little-endian architectures. It is expected
that tag is stored in r1 and payload is stored in r0.

  • llint/LowLevelInterpreter.asm:
  • llint/LowLevelInterpreter32_64.asm:
Location:
trunk/Source/JavaScriptCore
Files:
3 edited

Legend:

Unmodified
Added
Removed
  • trunk/Source/JavaScriptCore/ChangeLog

    r264750 r264758  
     12020-07-23  Caio Lima  <ticaiolima@gmail.com>
     2
     3        [32-bits] Fixing the return of doVMEntry into LowLevelInterpreter32_64.asm
     4        https://bugs.webkit.org/show_bug.cgi?id=214641
     5
     6        Reviewed by Mark Lam.
     7
     8        Adjusting the return of `doVMEntry` for 32-bits LLInt to proper set
     9        `EncodedJSValue` return in little-endian architectures. It is expected
     10        that tag is stored in `r1` and payload is stored in `r0`.
     11
     12        * llint/LowLevelInterpreter.asm:
     13        * llint/LowLevelInterpreter32_64.asm:
     14
    1152020-07-23  Alexey Shvayka  <shvaikalesh@gmail.com>
    216
  • trunk/Source/JavaScriptCore/llint/LowLevelInterpreter.asm

    r263035 r264758  
    21882188            # parameters as CallFrame* and EncodedJSValue,
    21892189            # we need to store call result on a2, a3 and call frame on a0,
    2190             # leaving a1 as dummy value.
     2190            # leaving a1 as dummy value (this calling convention is considered only
     2191            # for little-endian architectures).
    21912192            move r1, a3
    21922193            move r0, a2
  • trunk/Source/JavaScriptCore/llint/LowLevelInterpreter32_64.asm

    r264688 r264758  
    328328    move protoCallFrame, a1
    329329    cCall2(_llint_check_vm_entry_permission)
    330     move UndefinedTag, r0
    331     move 0, r1
     330
     331    # Tag is stored in r1 and payload is stored in r0 in little-endian architectures.
     332    move UndefinedTag, r1
     333    move 0, r0
    332334
    333335    subp cfr, CalleeRegisterSaveSize, sp
Note: See TracChangeset for help on using the changeset viewer.