mirror of
https://github.com/microsoft/vscode.git
synced 2026-04-24 10:38:59 +01:00
debt - no guessing-caching, better use of gc-signals, command converter using gc-signals, main side heap service
This commit is contained in:
@@ -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);
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user