Many hyperlinks are disabled.
Use anonymous login
to enable hyperlinks.
Overview
| Comment: | s_expressions-generic_caches: use Parent links to unwind levels much faster when unlocking |
|---|---|
| Timelines: | family | ancestors | descendants | both | trunk |
| Files: | files | file ages | folders |
| SHA1: |
66590abe20483d5580e8b88a05dffd3c |
| User & Date: | nat 2014-07-21 18:33:23.800 |
Context
|
2014-07-22
| ||
| 18:40 | s_expressions-lockable-tests: deepen the test on unwinding, to double-check the new Generic_Caches unwinding check-in: 49fd23378a user: nat tags: trunk | |
|
2014-07-21
| ||
| 18:33 | s_expressions-generic_caches: use Parent links to unwind levels much faster when unlocking check-in: 66590abe20 user: nat tags: trunk | |
|
2014-07-20
| ||
| 19:03 | sxcat: new tool to concatenate and pretty-print S-expressions check-in: 7fadcee47a user: nat tags: trunk | |
Changes
Changes to src/natools-s_expressions-generic_caches.adb.
| ︙ | ︙ | |||
403 404 405 406 407 408 409 |
Previous_Level : constant Natural
:= Lockable.Current_Level (Object.Stack);
begin
Lockable.Pop_Level (Object.Stack, State);
State := Lockable.Null_State;
Object.Locked := False;
| | < | | < | | | < | < < < | | < | 403 404 405 406 407 408 409 410 411 412 413 414 415 416 417 418 419 420 421 422 423 424 425 |
Previous_Level : constant Natural
:= Lockable.Current_Level (Object.Stack);
begin
Lockable.Pop_Level (Object.Stack, State);
State := Lockable.Null_State;
Object.Locked := False;
if Finish and Object.Position /= null then
if Object.Position.Kind = List_Node and then Object.Opening then
Object.Opening := False;
end if;
pragma Assert (not Object.Opening);
for I in 1 .. Object.Absolute_Level - Previous_Level + 1 loop
Object.Position := Object.Position.Parent;
end loop;
end if;
Object.Locked
:= Object.Absolute_Level < Lockable.Current_Level (Object.Stack);
end Unlock;
end Natools.S_Expressions.Generic_Caches;
|