Mike Pall
3ad2bbf586
ARM64: Make use of tbz/tbnz and cbz/cbnz.
...
Contributed by Djordje Kovacevic and Stefan Pejic from RT-RK.com.
2016-11-29 19:30:40 +01:00
niravthakkar
7a49be07be
Added the required character for encoding
...
I have added the number depending on the number of operands, pls check for the ones which access memory.
Also For base register and displacement, should I assume that it will be passed in the same order as it is expected, since I dont have any means to see the output, I am confused a bit for those add modes.
Since we decided to test RR first, thats in progress, but would like to add others as well.
2016-11-29 19:00:28 +05:30
niravthakkar
538a4afee2
Updated size of the instruction word
...
We can discuss if we need to keep it 6 bytes or 8 bytes long, Not clear enough to me as well
2016-11-28 15:29:58 +05:30
niravthakkar
203006579f
Removed the extra check in parse_reg
...
The extra check for register is currently ignored, and trying to see what value does the encode function return. Its still to be worked out, how this value is used later, after decoding.
2016-11-28 13:32:30 +05:30
Michael Munday
cac5d4f2fb
Add extended mnemonics for branches.
2016-11-25 16:38:32 -05:00
niravthakkar
9b01b4dc6f
Added s390x instructions with their encoding
2016-11-25 19:44:04 +05:30
Mike Pall
6538c8a187
Document 47 bit limit for lightuserdata.
2016-11-25 09:23:08 +01:00
Mike Pall
d7243e1de0
Eliminate use of lightuserdata derived from static data pointers.
...
Required for >47 bit VA, e.g. ARM64.
2016-11-24 19:14:17 +01:00
Mike Pall
81259898ea
ARM64: Emit more efficient trace exits.
...
Contributed by Djordje Kovacevic and Stefan Pejic from RT-RK.com.
2016-11-24 18:56:19 +01:00
ketank-new
3288e547bf
Update vm_s390x.dasc
...
added definations to macros to test operand type refeered x86 definations
no JUMP instruction found for s390x used BRANCH RELATIVE on CONDITION instead (brc)
Not sure how the condition will be checked , need to discuss this
2016-11-24 14:58:52 +05:30
ketank-new
4ea7607e02
Update vm_s390x.dasc
...
added instructions to macros, referring macro defination of x86
for macro ins_ANDdid not find equivalent s390x replacement instruction for 'Not' hence have currently marked the place as '????'
'????' has to be replaced with s390x complement instruction
2016-11-24 14:02:50 +05:30
ketank-new
372f721e60
Update vm_s390x.dasc
...
used MOVE LONG EXTENDED in place of mov and
MOVE LONG instead of movzx
2016-11-24 11:25:07 +05:30
Michael Munday
5887962b0e
Add assembly for decoding instructions.
...
Still guessing at this point. This code will need to be changed.
2016-11-23 18:02:00 -05:00
Michael Munday
dbf789536c
Fix stack frame layout.
...
f8-f15 are callee-saved (not f0,f2,f4 and f6). There isn't space
for them in the caller's stack frame so we need to increase the
size of the interpreter's stack frame.
2016-11-23 17:30:10 -05:00
Michael Munday
5a69b4638a
Fixup the save/restore register macros.
...
I believe these macros obey the C calling convention, so we need to
allocate our stack frame and save all callee-save registers. We
can tune it later if it turns out we don't need all the registers.
2016-11-22 13:58:10 -05:00
Michael Munday
d505a0e0ba
Cleanup.
2016-11-22 13:47:35 -05:00
Michael Munday
d50f8aa92b
Add preliminary frame offsets.
...
These are educated guesses at this point. We might need more stack space because
we don't have many free registers available.
2016-11-22 13:36:46 -05:00
ketank-new
31c0e6016a
Update vm_s390x.dasc
...
Added definitions to macros savereg and restreg
used Store and Load instructions
to store and load register contents to n from memory
2016-11-22 10:20:56 +05:30
Mike Pall
1131fa22a2
Merge branch 'master' into v2.1
2016-11-21 16:02:41 +01:00
Mike Pall
c3cae04153
Update contact info.
2016-11-21 16:02:10 +01:00
Mike Pall
a56654460d
Generalize deferred constant handling in backend to 64 bit.
2016-11-21 15:43:17 +01:00
Mike Pall
2b77da35bc
ARM64: Reject special case in emit_isk13().
2016-11-20 23:32:17 +01:00
Mike Pall
7a0c3a1127
ARM64: Allow full VA range for mcode allocation.
2016-11-20 23:17:45 +01:00
Mike Pall
04b60707d7
ARM64: Add JIT compiler backend.
...
Contributed by Djordje Kovacevic and Stefan Pejic from RT-RK.com.
Sponsored by Cisco Systems, Inc.
2016-11-20 22:18:14 +01:00
Mike Pall
13642b75ac
Whitespace.
2016-11-20 22:14:09 +01:00
Mike Pall
202713a638
Fix amalgamated build.
2016-11-19 20:53:31 +01:00
Mike Pall
e577db52c5
Increase range of GG_State loads via IR_FLOAD with REF_NIL.
...
Require 32 bit alignment and store offset/4 instead.
Otherwise this can overflow the 10 bit limit for the FOLD op2 key.
2016-11-19 19:53:46 +01:00
Michael Munday
e90d985d08
Look for s390x file rather than S390x file.
2016-11-18 13:06:31 -05:00
ketank-new
3ac644ecee
Update vm_s390x.dasc
...
Assigned general purpose register to existing macros
2016-11-18 17:09:20 +05:30
ketank-new
4aa1099d6a
Update vm_s390x.dasc
...
Referred arm dasc file have created slots wherein i have to replace them with s390x registers and instructions
2016-11-17 14:58:17 +05:30
ketank-new
c36895a872
Update lj_frame.h
...
Added CFrame definations for S390X
values un assigned as i am unsure of the values
2016-11-16 17:19:10 +05:30
Mike Pall
5400c1e424
MIPS: Fix TSETR barrier.
...
Thanks to tongwell.
2016-11-16 11:18:10 +01:00
ketank-new
547b158ba4
Update vm_s390x.dasc
...
made some changes like mentioning arch from x86 to S390x
removed some x86 specific code
2016-11-16 15:34:32 +05:30
ketank-new
777b0671d3
Update lj_target_s390x.h
...
Added s390x specific condition codes
2016-11-16 15:09:59 +05:30
niravthakkar
dcb977d1db
Changed the encoding for add,and,branch instructions
2016-11-16 14:44:12 +05:30
ketank-new
498f028e69
Update lj_target_s390x.h
...
changed instruction opcode to 64bit
2016-11-16 11:50:46 +05:30
ketank-new
31fb648a50
Update lj_arch.h
...
Removing the gcc check for now .. missed micheal's comment earlier
2016-11-16 10:32:53 +05:30
ketank-new
3e472eb261
Update lj_arch.h
...
Added missing elif condition for s390x for GCC dependency
2016-11-16 10:31:34 +05:30
Michael Munday
820fa8a049
Delete gcc version check for now.
...
Stick to the default until we know what we actually need.
2016-11-15 14:53:00 -05:00
Michael Munday
71d40ba670
Add some s390x C calling convention constants.
...
Guesses for now based on the ELF ABI supplement for zSeries.
2016-11-15 14:44:36 -05:00
Michael Munday
2315613b38
Fix some s390x declarations.
...
s/S390x/S390X/
2016-11-15 14:44:13 -05:00
ketank-new
96afe3e331
Create vm_s390x.dasc
...
created vm_s390x.dasc file
its a copy of vm_x86.dasc
working on to change this specific to s390x
2016-11-15 10:42:11 +05:30
Mike Pall
7a58a8fb3d
Report parent of stitched trace.
...
Thanks to Nick Zavaritsky.
2016-11-13 20:03:01 +01:00
ketank-new
9c3c87bc61
Update lj_target_s390x.h
...
removed un replaced arm instructions
changed S390 to S390x
2016-11-11 12:13:30 +05:30
ketank-new
6dfbec84b9
Rename lj_target_s390.h to lj_target_s390x.h
...
changed file name
2016-11-11 12:09:32 +05:30
ketank-new
d093cff04a
Update Makefile
...
changed S390 to S390x
2016-11-11 12:08:47 +05:30
ketank-new
633376f0ca
Update lj_arch.h
...
changed S390 to S390x
2016-11-11 12:04:51 +05:30
niravthakkar
9583ba36de
Created s390x header file
...
Currently copy of ppc.h, which is same as arm64.h, and added the architecture definition
2016-11-10 19:00:51 +05:30
niravthakkar
f1f03ec44b
Copy of dasm_arm64.lua file, with few changes
...
Have changed few sections of file, other part is common across architectures
2016-11-10 19:00:41 +05:30
ketank-new
be89c18b98
Update lj_arch.h
...
Added supporting lines for s390
Lines added using arm lines as reference
2016-11-10 10:42:51 +05:30