- Feb 07, 2017
-
-
Raymond Toy authored
Add one for LOAD-CONSTANT and one for MOVE-WORD-ARGUMENT.
-
Raymond Toy authored
Dump some debugging info to the trace file, if any.
-
Raymond Toy authored
Remove erroneous emit-not-implemented (inserted before the function word header!) and comment out the other in xep-allocate-frame.
-
- Feb 04, 2017
-
-
Raymond Toy authored
Use a simple explicit loop to copy the error bytes into the vector. copy-from-system-area is currently broken, and we only need this for disassembly so we cares if it's slower? This fix allows dumping a trace file from cross-compilation. Tested by dumping a trace file for lispinit.lisp.
-
Raymond Toy authored
Don't want the instruction scheduler running while we're still trying to bootstrap. And disable some disassem notes because they don't currently work. (Probably something simple, but we don't need them at this stage.)
-
Raymond Toy authored
When snarfing the not-implemented trap, we need to skip over the instruction in the branch delay slot too, to get to the desired string.
-
- Jan 21, 2017
-
-
Raymond Toy authored
-
Raymond Toy authored
component-header-length returns a value that is off by half, even after explicitly telling to shift by 3 instead of 2. So, do the extra shift here for now. This needs to be fixed!
-
- Jan 19, 2017
-
-
Raymond Toy authored
The location of the string was off by one word and the length was incorrectly calculated because we have a 19-bit word displacement for the ba,pt instruction.
-
Raymond Toy authored
This was overlapping the trap- enum.
-
Raymond Toy authored
We want everything here to be emitted in exactly this way.
-
- Jan 18, 2017
-
-
Raymond Toy authored
-
Raymond Toy authored
Fixes a couple of compiler warnings.
-
Raymond Toy authored
Add support for not-implemented trap where a VOP can mark itself as not implemented. This causes a illtrap instruction to be inserted followed by a branch always followed by a string (not necessarily nul terminated) that represents the name of the VOP. The signal handler currently catches the signal and sends prints out the string and then continues. Not yet debugged and definitely does not yet work. We're just saving this in safe place for now.
-
- Jan 15, 2017
-
-
Raymond Toy authored
Data blocks are padded to double-word boundaries which is 16 bytes for sparc64. This also means telling new-genesis round up by 16 bytes in allocate-descriptor. Adjust string-to-core for 64-bit objects too. At this point, the static symbols appear to print out correctly (as determined by call print (in the lisp monitor). Some objects, such as *fp-constant-0d0* however appear to be incorrect. The value pointer appears to be a double-float but the object is messed up. But maybe this is caused by a buggy print function.
-
- Jan 13, 2017
-
-
Raymond Toy authored
Was storing code-tn at the wrong stack slot and also storing the return address offset in the wrong stack slot.
-
Raymond Toy authored
-
- Jan 12, 2017
-
-
Raymond Toy authored
-
- Jan 08, 2017
-
-
Raymond Toy authored
Forgot to add -lrt to linker.sh so that we can create executables on solaris. This is needed to get nanosleep.
-
- Jan 06, 2017
-
-
Raymond Toy authored
-
Raymond Toy authored
- Jan 04, 2017
-
-
Raymond Toy authored
It's 0, not o
-
Raymond Toy authored
When PRINTNOISE is defined, print out address and size of the control stack and binding stack.
-
Raymond Toy authored
When PRINTNOISE is defined, print out the args to ensure_space.
-
- Jan 02, 2017
-
-
Raymond Toy authored
-
Raymond Toy authored
-
Raymond Toy authored
-
Raymond Toy authored
Need to add extra words in xep-allocate-frame to make sure we have sapce to hold the 64-bit fields of the function header. Same for lra-header too.
-
- Jan 01, 2017
-
-
Raymond Toy authored
My version of Sun Studio only supports -g, so just use -g.
-
Raymond Toy authored
The values for the initially defined functions in lisp.map were incorrect for sparc and ppc where the raw-addr slot of function is not the address of the code. It is has function-pointer-type so the code actually starts at the function-code-offset. So for sparc and ppc, continue to print out the raw-addr slot, but print out the actual code start too (instead of some number preceding the function object). Add comment in the code for this too.
-
Raymond Toy authored
-
- Dec 30, 2016
-
-
Raymond Toy authored
The previous version had a hardwired #x17 (23 dec) to get the object address from the function code offset address. Compute this value from function-code-offset instead so that it will work for 64-bit lisps too. Also increase the size of the field to 12 hex digits. That should be enough bits (48 bits) of address space for any thing we're likely to run on.
-
Raymond Toy authored
o The trap instructions should use xcc, not icc for the condition reg. o sll should be slln (or sllx) o Don'te use store when storing to foreign_function_call_active because that stores a 64-bit value and foreign_function_call_active is an int (32-bit).
-
- Dec 29, 2016
-
-
Raymond Toy authored
Use the stack bias with %fp. Use ldn/stn ot do 64-bit loads and stores. Set the frame size appropriately for 64-bit.
-
Raymond Toy authored
-
Raymond Toy authored
Make write-long actually write long values. This is 32-bit for 32-bit archs, and 64-bit for 64-bit archs. This will eventually be needed to write 64-bit heap addresses and descriptors eventually. Adjust load_core_file in coreparse.c to read longs as expected. This basically reverts all changes in coreparge.c back to the master version.
-
- Dec 28, 2016
-
-
Raymond Toy authored
Add __sparc64v9 where __x86_64 is to get core parsing. Basically, we want to read 32-bit values to get the core header information. (I think.)
-
Raymond Toy authored
For sparc64, solaris_register_address returns pointers to longs, not ints.
-
Raymond Toy authored
Define MEM_MODEL to hold the desired memory model option and use it where it's needed.
-