debt - no guessing-caching, better use of gc-signals, command converter using gc-signals, main side heap service

This commit is contained in:
Johannes Rieken
2016-10-21 18:53:05 +02:00
parent c57c31abc9
commit fbacd65e2a
13 changed files with 292 additions and 256 deletions

View File

@@ -11,19 +11,14 @@ export class ExtHostHeapService extends ExtHostHeapServiceShape {
private static _idPool = 0;
private _data: { [n: number]: any } = Object.create(null);
private _callbacks: { [n: number]: Function } = Object.create(null);
keep(obj: any, callback?: () => any): number {
keep(obj: any): number {
const id = ExtHostHeapService._idPool++;
this._data[id] = obj;
if (typeof callback === 'function') {
this._callbacks[id] = callback;
}
return id;
}
delete(id: number): boolean {
delete this._callbacks[id];
return this._data[id];
}
@@ -33,7 +28,6 @@ export class ExtHostHeapService extends ExtHostHeapServiceShape {
$onGarbageCollection(ids: number[]): void {
for (const id of ids) {
setTimeout(this._callbacks[id]);
this.delete(id);
}
}