This repository contains utility functions and collection implementations for IBM i.
- Edoardo Luppi
Thanks to Mihael Schmidt and to the StackOverflow community.
This project is licensed under the MIT License - see the LICENSE.md file for details.
IBM RPG projects
License: MIT License
This repository contains utility functions and collection implementations for IBM i.
Thanks to Mihael Schmidt and to the StackOverflow community.
This project is licensed under the MIT License - see the LICENSE.md file for details.
Hi,
Thanks for sharing your code. I ran into an issue when adding a 'large' amount of entries to my hashmap. After a while I would get a CEE0810 Error on a hashmapPut call.
After some testing I discovered that the problem lies in the addEntry procedure:
if (entryPtr = *null); allocSpace(entryPtr:ENTRY_SIZE); bucket.entryPtr = entryPtr; ... allocSpace(entry.keyPtr:keySize); allocSpace(entry.valuePtr:valueSize);
Space is allocated but not initialized. As a result entry.keyPtr and entry.valuePtr could contain garbage and this causes allocSpace to fail with the CEE0810 error.
My solution was to add a "clear entry" statement after allocSpace(entryPtr:ENTRY_SIZE);
The same problem applies to arraylist: (arrayAdd procedure)
entryPtr = getEntry(arrayPtr:index_); clear entry; // initialize entry allocSpace(entry.objectPtr:objectSize);
Kind regards
Hello,
I've so far only read the code, and never tried using it, so I'm just making an assumption.
I've noticed that in the remove function, the entry is set to *Null, but the the nextEntry of the previous element isn't updated with the nextEntry of the entry currently removed.
Doesn't this make all the entries after the entry currently deleted inaccessible? I would imagine this would lead to memory leaks because the dispose function loops until "entry@ = *null".
Regards
Check how entries are moved and check the memcpy function.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.