Skip to content

Conversation

@Brugarolas
Copy link
Owner

No description provided.

fsfod added 23 commits December 8, 2019 21:36
…_tv by using a special cast flag(CCF_INTRINS_ARG) for intrinsic vector arguments
…abled DCE of intrinsics

Intrinsics are now assumed to have no side effects unless flagged to with either memory side effects(S) or non memory side effects(s)
…trinsics that have no side effects and are not forced indirect ModRM which could be a load or store
…us ways.

Fix wrappers truncating GCobj pointers in GC64 mode when loading them from the stack to store output registers in to cdata.
Fix the stack for intrinsics not being adjusted correctly in there interpreter wrapper when it uses the RID_DISPATCH register on GC64 because RSET_GPR does not contain it
…g RID_DISPATCH

Make RID_DISPATCH an unallocatable register for intrinsics when building as GC64.

Fix trying to evict RID_DISPATCH for LJ_GC64 builds on x64 for intrinsics and
add some asserts that we never try to again.
Don't set register hints for intrinsic input\output registers that are RID_DISPATCH.
Restore RID_DISPATCH first when handling output registers and defer it
till last for input registers of intrinsics in the JIT.
…s to allow pointer based intrinsics to work in both 64 bit and 32 bit with the same definion.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants