Skip to content

Commit

Permalink
Fix for Mantis bug 2067
Browse files Browse the repository at this point in the history
  • Loading branch information
ganelson committed Apr 7, 2022
1 parent e29d0ad commit 07660ac
Show file tree
Hide file tree
Showing 3 changed files with 32 additions and 25 deletions.
6 changes: 3 additions & 3 deletions inform7/Figures/memory-diagnostics.txt
@@ -1,4 +1,4 @@
Total memory consumption was 126309K = 123 MB
Total memory consumption was 126312K = 123 MB

---- was used for 2008048 objects, in 360823 frames in 0 x 800K = 0K = 0 MB:

Expand Down Expand Up @@ -237,15 +237,15 @@ Total memory consumption was 126309K = 123 MB

100.0% was used for memory not allocated for objects:

59.2% text stream storage 76627532 bytes in 452152 claims
59.2% text stream storage 76630492 bytes in 452157 claims
3.5% dictionary storage 4544512 bytes in 6619 claims
---- sorting 744 bytes in 3 claims
5.5% source text 7200000 bytes in 3 claims
8.3% source text details 10800000 bytes in 2 claims
0.2% documentation fragments 262144 bytes in 1 claim
---- linguistic stock array 81920 bytes in 2 claims
---- small word set array 105600 bytes in 22 claims
3.4% inter symbols storage 4522288 bytes in 27921 claims
3.4% inter symbols storage 4522784 bytes in 27922 claims
12.9% inter bytecode storage 16767480 bytes in 14 claims
4.8% inter links storage 6222976 bytes in 11 claims
0.1% inter tree location list storage 191232 bytes in 32 claims
Expand Down
46 changes: 25 additions & 21 deletions inform7/Figures/timings-diagnostics.txt
@@ -1,33 +1,37 @@
100.0% in inform7 run
68.7% in compilation to Inter
68.2% in compilation to Inter
47.7% in //Sequence::undertake_queued_tasks//
4.6% in //MajorNodes::pre_pass//
3.4% in //MajorNodes::pass_1//
4.5% in //MajorNodes::pre_pass//
3.2% in //MajorNodes::pass_1//
2.4% in //RTPhrasebook::compile_entries//
1.7% in //ImperativeDefinitions::assess_all//
1.8% in //ImperativeDefinitions::assess_all//
1.5% in //RTKindConstructors::compile//
1.1% in //Sequence::lint_inter//
1.0% in //Sequence::lint_inter//
0.5% in //MajorNodes::pass_2//
0.5% in //Sequence::undertake_queued_tasks//
0.5% in //Sequence::undertake_queued_tasks//
0.5% in //World::stage_V//
0.3% in //ImperativeDefinitions::compile_first_block//
0.1% in //CompletionModule::compile//
0.4% in //ImperativeDefinitions::compile_first_block//
0.4% in //Sequence::undertake_queued_tasks//
0.4% in //Sequence::undertake_queued_tasks//
0.2% in //CompletionModule::compile//
0.2% in //RTKindConstructors::compile_permissions//
0.1% in //InferenceSubjects::emit_all//
0.1% in //RTKindConstructors::compile_permissions//
0.1% in //Task::make_built_in_kind_constructors//
0.1% in //Understand::traverse//
0.1% in //World::stages_II_and_III//
2.3% not specifically accounted for
28.5% in running Inter pipeline
10.3% in step 14/14: generate inform6 -> auto.inf
7.4% in step 5/14: load-binary-kits
6.3% in step 6/14: make-synoptic-module
1.5% in step 9/14: make-identifiers-unique
0.3% in step 12/14: eliminate-redundant-operations
0.3% in step 4/14: compile-splats
0.3% in step 7/14: shorten-wiring
2.2% not specifically accounted for
29.0% in running Inter pipeline
10.2% in step 14/14: generate inform6 -> auto.inf
7.5% in step 5/14: load-binary-kits
6.6% in step 6/14: make-synoptic-module
1.6% in step 9/14: make-identifiers-unique
0.5% in step 4/14: compile-splats
0.4% in step 12/14: eliminate-redundant-operations
0.4% in step 7/14: shorten-wiring
0.3% in step 11/14: eliminate-redundant-labels
0.3% in step 8/14: detect-indirect-calls
0.1% in step 11/14: eliminate-redundant-labels
1.1% not specifically accounted for
0.1% in step 10/14: reconcile-verbs
0.1% in step 2/14: parse-insertions
0.1% in step 3/14: resolve-conditional-compilation
0.3% not specifically accounted for
2.3% in supervisor
0.4% not specifically accounted for
5 changes: 4 additions & 1 deletion inform7/Internal/Inter/CommandParserKit/Sections/Parser.i6t
Expand Up @@ -3277,13 +3277,16 @@ The two ways of starting up the scope machinery other than via the parser
code above.

=
[ TestScope obj act a al sr x y;
[ TestScope obj act a al sr ss st x y;
x = parser_one; y = parser_two;
parser_one = obj; parser_two = 0; a = actor; al = actors_location;
ss = scope_stage; st = scope_token;
scope_stage = 0; scope_token = 0;
sr = scope_reason; scope_reason = TESTSCOPE_REASON;
if (act == 0) actor = player; else actor = act;
actors_location = ScopeCeiling(actor);
SearchScope(actors_location, actor, 0); scope_reason = sr; actor = a;
scope_stage = ss; scope_token = st;
actors_location = al; parser_one = x; x = parser_two; parser_two = y;
return x;
];
Expand Down

0 comments on commit 07660ac

Please sign in to comment.