[OpenSmalltalk/opensmalltalk-vm] Primitive at put (#539)

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
2 messages Options
Reply | Threaded
Open this post in threaded view
|

[OpenSmalltalk/opensmalltalk-vm] Primitive at put (#539)

David T Lewis
 

Try to remove context checking in at:put:.
See if tests pass.


You can view, comment on, or merge this pull request online at:

  https://github.com/OpenSmalltalk/opensmalltalk-vm/pull/539

Commit Summary

  • Remove Cog-Boostrapping -> Cog
  • Fix c return register value following ABI
  • Fix bytecode PC validation: In Pharo some methods may not have trailer, so the last byte is the last bytecode
  • Remove halt
  • Adding a little test for validating the access to contexts.
  • Implement break instruction in ARMv8
  • Rename some temporaries
  • Added primitive at tests for small integer receiver and arrays
  • Added at 64 bits indexable and fixed objects
  • add libtool dependency in readme
  • Merge 9789caa44d3a509a3568e56fbabff18e1f0c28e9
  • Cleanups and refactorings
  • The win32 automatic manifest embedding by specifying the sources in cmake does not work under Cygwin. I changed the way this embedding works by using the resource script files.
  • Install missing dependencies with GitHub Actions for OS X with homebrew.
  • Fix the previous commit.
  • Do not catch all of the exceptions in Windows. This behavior breaks the OutputDebugString win32 APIs which should be a nop when the program is not attached to a debugger.
  • Adding tests for 16 and 8 bit indexables
  • Using LDRSH for MoveX32rRR
  • [Fix] CmpOpcode should be compared to the ARM opcode and not the RTL opcode
  • Add more tests for padding and getting slot size
  • Make tests green
  • Merge branch 'feature/addingPrimitiveNewPinned' of github.com:pharo-project/opensmalltalk-vm into feature/addingPrimitiveNewPinned
  • Merge branch 'feature/addingPrimitiveNewPinned' into headless
  • Merge branch 'aarch64' of github.com:pharo-project/opensmalltalk-vm into aarch64
  • Reorganize tests
  • Add immediate at: tests
  • Cleanup: shiftAwaySmallIntegerTags and convertSmallIntegerToInteger are duplicated. Use one and remove the other.
  • Implement aarch64 multiplication with overflow and tests
  • Merge 400508cdb1d903c2ab734b2fbd8d7c0b86fbf270
  • Using the max and min small integers depending on the platform
  • Fix API
  • Merge pull request #110 from ronsaldo/fix-win32-manifest-embedding
  • Adding tests for jitted bit and and bir or
  • Adding some primitives calling tests
  • Testing bitshift jitted primitive
  • Merging the changes
  • Merge 6771b2aed8717e33245dae721eed747cffc0893e
  • Fixing the worker
  • Merge remote-tracking branch 'origin/feature/addingPrimitiveNewPinned' into headless
  • First draft of a VM debugger
  • Implement JumpFull to correctly get the jump target from a literal
  • Fix management of literals in AndCqRR and AndCqR
  • Adding test for the calling of primitives
  • [WIP] Using a different register for stack pointer management in ARMv8
  • Load C stack pointer and not Smalltalk stack pointer
  • Enhancements to the machine code debugger
  • Adding configuration to mimic the behavior of the stock VM
  • Remove testing code
  • Fixing the crappy text interpolation of groovy
  • - Exposing machine SP to the frontend
  • Having it with different names
  • Extract #prepareCall and fix enilopmart tests
  • Adding upload of packages
  • Merge 680543770670a3c7d6beed718ac356ed850b0bac
  • Fix merge
  • - fix and clean tests mapping this context
  • Adding upload to the server
  • Merge pull request #111 from tesonep/adding-build-with-non-headless
  • Fixing the upload
  • Changing version to 8.6.1
  • Changing version
  • Adding tests for checking the alignment when calling C functions in the Smalltalk Stack.
  • Fixing the FFI tests
  • Floating point support
  • Fix register assignment for armv8
  • Proper literal usage of SubCqR, TstCqR, PushCqR, PushCwR, SubCqR
  • Implement FMOV
  • Fix proper compilation of MoveRAb with the literal case
  • Fixes for debugging and simulating
  • Merge 2c25d75597f921b70a89c6d50c4ed951ea21c1f8
  • Merge de5cd34dd3096c13936135573287c8ba524a7059
  • Fixing the testing to check the C Stack
  • Merge a658003a8940c9301a47bc31b6b4f7315c04aa26
  • Fixing test in IA32
  • ARMv8 debugger support for new register selection
  • Proper oading of CStack pointers with double SP regime + tests
  • Better comment for LDR and using CMP for Cq=0 instead of CMN
  • Merge 2feb27d944c482d7d0ce41342953688061bf849f
  • Simulation of CWD
  • ARMv8: Pass on floating point point division, multiplication and substraction
  • Fis network simulation
  • Correcting type declarations for #encodeLogicalImmediate:registerSize:ifPossible:ifNotPossible:
  • Fix logical & => translation is not faithful to C semantics.
  • Adding JIT primitive size tests
  • Delegate the capture of CStack pointers to the backend to make better usage of registers
  • Adding tests for primitives
  • Merge 6d4d0ae4cb85184c7617988d7c3b979a76ddeffb
  • Handle SP as source register in MoveRAW
  • Added a second intra procedural scratch register for special SP management
  • Add proper simulation of FP usage
  • isCFramePointerInUse is now a getter
  • Merge 4f7ad7d04283bb1e558ed7dc3551a73954e901ed
  • Adding tests to primitive retry.
  • Merge 2b29bf042f40795735dd9ed1ae785987c8137740
  • Adding test for primitiveFunctionPointer
  • Adding tests for primitiveFunctionPointer
  • Fixing the 64 bit indexable tests for 32bits machines
  • Proper (better?) simulation of sig jumps by restoring SP when jumping
  • Fix MoveCqR and MoveC32R to correctly compute instruction size and usage of literals
  • Merge abe017d9d1bc04fc781d13e0079b138e862dc042
  • Merge 256df8c8b24da1addb07e812f18f2618f86b896d
  • Fix simulation of external primitive table
  • Fix MoveC32R to sign extend constants
  • Remove debugging code
  • Initial support for simulating different initial addresses
  • Fix several cases of CmpCqR: adding tests for several border cases
  • Fix CmpCqR literal calculation
  • Fix to support proper translation of MoveRAw
  • Merge ed7ec0d7faa0e788c09071c7ef0be31fd66e116c
  • Fix type annotation for integers in concretizeCmpCqR
  • Merge d0b8fcb46089d80968a0ade811e52d5f7d518d2c
  • Fix Merge
  • Adding profiling test for primitive calls
  • Merge d0b8fcb46089d80968a0ade811e52d5f7d518d2c
  • Adding accessor
  • Merge ee05c87d2cd82be732a6c3df726f861e569bc873
  • Moving Slang to its own package
  • Merge bb2c768b94e46d46a63fb928dcbbff143945cbb4
  • Add type annotations...
  • Merge bb2c768b94e46d46a63fb928dcbbff143945cbb4
  • Fix blocks
  • Clean usages of block-using methods
  • Initialize external primitive array in simulator with 0s to work as in the real case (and be testable)
  • Merge 550184b2fe4fa1f46776f9fc2f8a2ef07253d3c1
  • More work on cog method relocation
  • Relocating class tags
  • Moving more classes to independent package.
  • Fixing the method used as an example.
  • More tests in code compaction
  • Merge a03538d7b97be5fc3534c84ae1be695bd93e17e1
  • More cleanups
  • Extracted constants into configuration
  • - Adding tests for the machine simulator
  • Merge e7ae7a45e6aaaf3c982673e81c691137d0a11b38
  • Adding more tests and fixing other that have addresses outside the 32bits space
  • More killing of dependencies
  • Move Scanner to Slang
  • Add VMMaker-Slang to baseline
  • Adding tests and fixing the execution with the simulator to execute more of one instruction at the time.
  • Reverting default vmClass
  • - Fixing a missing accessor in the simulator.
  • Merge pull request #114 from pharo-project/improve-machine-simulator
  • Remove unnecessary extensions in Pharo9
  • Changing the JIT to use the StackToRegisterMapping
  • Adding the step to record installed cygwin-packages
  • Fixing an error
  • Adding verbose mode to cmake, to improve the logs
  • Adding verbose mode to cmake, to improve the logs
  • Adding verbose mode to cmake, to improve the logs
  • Adding parameter to the config clone
  • Merge pull request #115 from tesonep/record-cygwin-versions
  • Adding an specific disassembler for ARM to handle the invalid instructions in the middle of the code (we are using them for literals)
  • Improving the machine code debugger
  • Extending the debugger.
  • Organizing the Export Macro
  • Fixing the build in unix
  • Fixing the build in OSX
  • Adding test for forwarders
  • Fixing the exporting of AccessorDepts
  • Split accessor depth calculation
  • Merge pull request #109 from VincentBlondeau/patch-1
  • GIT_CONFIG should be the first parameter, to be ignored by old versions of CMAKE, if it is in the middle, it is taken as part of other commands
  • Merge pull request #116 from tesonep/organizing-export-macro
  • Fixing the type of the instruction
  • Adding tests for the frame creation
  • Merge 96e53ece60b4aef05b4ada5a381ac27dd9e4b356
  • Adding missing instruction
  • Adding the do not generate
  • - Changing the halts to #notYetImplemented
  • Adding missing operations of SmallFloating points and adding tests.
  • Fixing the type of this temporary
  • Implementing
  • Fixing the concretize of MoveCqR to correctly handle big constants
  • Fixing encoding of OrCqR with large constants that cannot be shiffted
  • Fixing the MoveC32R for large negative constants.
  • More cutting
  • Hook Nil translation, return and argument default values
  • Pass on constant resolution and compile time options
  • default implicit return type should be default type
  • More fixes to default types
  • Fixing the instruction MoveRM16r and adding tests
  • [cleanup] use accessor for vmClass instead of direct ref
  • [improvement] removed dependency on vmClass from CCodeGenerator
  • [improvement] removed usage of vmMaker variable from cCodeGenerator
  • [improvement] fixing generation of stack interpreter
  • [fix] fix generation for CoInterpreter
  • Fixing the conversion of SMI to Floats.
  • The exception handle should be the last called,
  • Adding configuration to detect in which thread to show the exceptions
  • Adding filter for showing exceptions in windows. Many libraries handles the errors locally, and out handler is global
  • Merge pull request #122 from tesonep/improving-windows-error-reporting
  • Merge branch 'headless' into aarch64
  • - Moving memory access primitives
  • Adding needed macros
  • Fixing the macro name
  • Moving the ManualSurface to the SurfacePlugin
  • Implementing more FFI primitives in the VM
  • Adding type information to variable that is expected to be used in comparison
  • Fixing the type of the argument before using it.
  • Adding a cast in the call to SQABS functions
  • Fixing flag declaration
  • [improvement] add test on type inference
  • [fix] integer wasn't big enough for a test, fix longPrintOop: type conflict
  • [improvement] add a activable error for type conflicts
  • Improving the generation MoveRMwr
  • [improvement] better name for instance variable
  • Removing unused methods in the implementation
  • [improvement] add accessor to set stopOnError
  • [fix] simple type fixing for the stackVM
  • [fix] fixing last StackInterpreter types conflict. This one might be dangerous.
  • Fixing missing case for MoveMbrR
  • Fixing instruction length and calculus of literal usage.
  • Adding tests and a new instruction
  • Fix superclass
  • Fix typing of fetchLong32: fieldIndex ofFloatObject: oop correctly
  • Moving stuff around to clean dependencies
  • Removing reverse dependency
  • Fixing Baseline
  • Cleanups
  • Organizing Slang in tags
  • More dependency cleanups, starting separating type inference
  • Adding tests for the memory access JIT primitives and fixing the missing instructions
  • Returning a value to comply with the translation to C
  • The machine implementatio of primitiveAt should not SignExtend the numbers.
  • Fixing encoding of instruction CmpCqR and adding tests.
  • Merge 3152f2f6734f5b3d01e2cbd04bd8ef0ba2f21852
  • Merge CCode Generator
  • Fix obsolete reference
  • Making the build pass
  • Uncommenting Cogit generation
  • Restore sq.h
  • Recover inheritance rules of cogit and memory...
  • Do not check for bindingOf: in classes
  • Correct the control flow
  • Remove halt
  • Fix options
  • Restore preamble
  • Rely on Slang Type inference
  • Fix primitive compilation
  • Fix externalPrimitiveTable for simulation
  • Merge 8353b0f4b952c59c7a8d0ad4dfbd27fcb736d6f9
  • Fix conflicting instance variable
  • Fixing last merge details
  • Moving CArray + friends to Slang
  • Fix broken global reference
  • Fix assertion warnings
  • Merge pull request #126 from pharo-project/enh/split-slang2
  • Merge branch 'headless' into fix/assertion-warning
  • Merge pull request #128 from pharo-project/fix/assertion-warning
  • Remove context checking for at:put:

File Changes

Patch Links:


You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub, or unsubscribe.

<script type="application/ld+json">[ { "@context": "http://schema.org", "@type": "EmailMessage", "potentialAction": { "@type": "ViewAction", "target": "https://github.com/OpenSmalltalk/opensmalltalk-vm/pull/539", "url": "https://github.com/OpenSmalltalk/opensmalltalk-vm/pull/539", "name": "View Pull Request" }, "description": "View this Pull Request on GitHub", "publisher": { "@type": "Organization", "name": "GitHub", "url": "https://github.com" } } ]</script>
Reply | Threaded
Open this post in threaded view
|

Re: [OpenSmalltalk/opensmalltalk-vm] Primitive at put (#539)

David T Lewis
 

Closed #539.


You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub, or unsubscribe.

<script type="application/ld+json">[ { "@context": "http://schema.org", "@type": "EmailMessage", "potentialAction": { "@type": "ViewAction", "target": "https://github.com/OpenSmalltalk/opensmalltalk-vm/pull/539#event-4045418108", "url": "https://github.com/OpenSmalltalk/opensmalltalk-vm/pull/539#event-4045418108", "name": "View Pull Request" }, "description": "View this Pull Request on GitHub", "publisher": { "@type": "Organization", "name": "GitHub", "url": "https://github.com" } } ]</script>