From 5b8de72ef210a173536c20e01f2e6aaaa6b56bbb Mon Sep 17 00:00:00 2001 From: Graham Nelson Date: Fri, 15 Apr 2022 10:35:28 +0100 Subject: [PATCH] Fix for Mantis bug 1969 --- inform7/Figures/memory-diagnostics.txt | 12 +-- inform7/Figures/timings-diagnostics.txt | 22 ++--- .../Test Cases/_Results_Ideal/Chapter17.txt | 86 +++++++++++++------ .../standard_rules/Sections/Activities.w | 4 +- 4 files changed, 80 insertions(+), 44 deletions(-) diff --git a/inform7/Figures/memory-diagnostics.txt b/inform7/Figures/memory-diagnostics.txt index 6173d39c10..546c1f8654 100644 --- a/inform7/Figures/memory-diagnostics.txt +++ b/inform7/Figures/memory-diagnostics.txt @@ -1,13 +1,13 @@ -Total memory consumption was 120142K = 117 MB +Total memory consumption was 120141K = 117 MB - ---- was used for 2008638 objects, in 361112 frames in 0 x 800K = 0K = 0 MB: + ---- was used for 2008634 objects, in 361108 frames in 0 x 800K = 0K = 0 MB: 33.9% inter_tree_node_array 58 x 8192 = 475136 objects, 41813824 bytes 19.8% text_stream_array 4340 x 100 = 434000 objects, 24442880 bytes 19.7% linked_list 43320 objects, 24259200 bytes 11.4% inter_symbol_array 132 x 1024 = 135168 objects, 14061696 bytes 10.7% inter_error_stash_array 101 x 1024 = 103424 objects, 13241504 bytes - 8.4% parse_node 129588 objects, 10367040 bytes + 8.4% parse_node 129584 objects, 10366720 bytes 6.0% verb_conjugation 160 objects, 7425280 bytes 4.5% parse_node_annotation_array 346 x 500 = 173000 objects, 5547072 bytes 2.7% pcalc_prop_array 25 x 1000 = 25000 objects, 3400800 bytes @@ -237,7 +237,7 @@ Total memory consumption was 120142K = 117 MB 100.0% was used for memory not allocated for objects: - 57.1% text stream storage 70318284 bytes in 451474 claims + 57.1% text stream storage 70318184 bytes in 451472 claims 3.6% dictionary storage 4541952 bytes in 6626 claims ---- sorting 744 bytes in 3 claims 5.8% source text 7200000 bytes in 3 claims @@ -246,7 +246,7 @@ Total memory consumption was 120142K = 117 MB ---- linguistic stock array 81920 bytes in 2 claims ---- small word set array 105600 bytes in 22 claims 3.6% inter symbols storage 4518512 bytes in 27941 claims - 13.6% inter bytecode storage 16767656 bytes in 14 claims + 13.6% inter bytecode storage 16767544 bytes in 14 claims 5.0% inter links storage 6222976 bytes in 11 claims 0.1% inter tree location list storage 191232 bytes in 32 claims 1.3% instance-of-kind counting 1695204 bytes in 1 claim @@ -255,5 +255,5 @@ Total memory consumption was 120142K = 117 MB ---- code generation workspace for objects 1336 bytes in 4 claims 0.2% emitter array storage 280032 bytes in 1997 claims --147.-8% was overhead - -181902728 bytes = -177639K = -173 MB +-147.-8% was overhead - -181902408 bytes = -177639K = -173 MB diff --git a/inform7/Figures/timings-diagnostics.txt b/inform7/Figures/timings-diagnostics.txt index b9abc2a7dd..d20a3c0a02 100644 --- a/inform7/Figures/timings-diagnostics.txt +++ b/inform7/Figures/timings-diagnostics.txt @@ -1,17 +1,17 @@ 100.0% in inform7 run - 68.8% in compilation to Inter - 48.8% in //Sequence::undertake_queued_tasks// - 4.7% in //MajorNodes::pre_pass// + 68.9% in compilation to Inter + 48.9% in //Sequence::undertake_queued_tasks// + 4.6% in //MajorNodes::pre_pass// 3.3% in //MajorNodes::pass_1// 1.9% in //ImperativeDefinitions::assess_all// - 1.6% in //RTPhrasebook::compile_entries// + 1.7% in //RTPhrasebook::compile_entries// 1.5% in //RTKindConstructors::compile// 1.0% in //Sequence::lint_inter// - 0.6% in //MajorNodes::pass_2// - 0.6% in //World::stage_V// + 0.5% in //MajorNodes::pass_2// + 0.5% in //Sequence::undertake_queued_tasks// + 0.5% in //World::stage_V// 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// @@ -21,17 +21,17 @@ 2.0% not specifically accounted for 28.4% in running Inter pipeline 10.3% in step 14/15: generate inform6 -> auto.inf - 7.8% in step 5/15: load-binary-kits - 5.6% in step 6/15: make-synoptic-module + 7.6% in step 5/15: load-binary-kits + 5.8% in step 6/15: make-synoptic-module 1.5% in step 9/15: make-identifiers-unique 0.4% in step 12/15: eliminate-redundant-operations 0.4% in step 4/15: compile-splats - 0.3% in step 7/15: shorten-wiring + 0.4% in step 7/15: shorten-wiring 0.3% in step 8/15: detect-indirect-calls 0.2% in step 11/15: eliminate-redundant-labels 0.1% in step 10/15: reconcile-verbs 0.1% in step 2/15: parse-insertions 0.1% in step 3/15: resolve-conditional-compilation - 0.7% not specifically accounted for + 0.6% not specifically accounted for 2.2% in supervisor 0.4% not specifically accounted for diff --git a/inform7/Tests/Test Cases/_Results_Ideal/Chapter17.txt b/inform7/Tests/Test Cases/_Results_Ideal/Chapter17.txt index 105d82ad84..e5e8c0aea7 100644 --- a/inform7/Tests/Test Cases/_Results_Ideal/Chapter17.txt +++ b/inform7/Tests/Test Cases/_Results_Ideal/Chapter17.txt @@ -1,7 +1,7 @@ Exits: N W Exhibition Room Chapter 17: Vanity An Interactive Fiction by Emily Short - Release 1 / Serial number 150831 / Inform 7 build 6M54 (I6/v6.33 lib 6/12N) SD + Release 1 / Serial number 160428 / Inform 7 v10.1.0 / D Exhibition Room You can see Venus, Cupid, Folly and Time, The Ambassadors, the tiles X, Y, and Z from a Scrabble set, and a bench here. @@ -73,15 +73,31 @@ > > Exits: N W Exhibition Room ** take all from platter - There are none at all available! + Coke: Taken. + Coke: Taken. + Coke: Taken. + Coke: Taken. + Coke: Taken. + Coke: Taken. + Coke: Taken. + Sprite: Taken. + Sprite: Taken. + root beer: Taken. + root beer: Taken. + root beer: Taken. + ginger ale: Taken. + ginger ale: Taken. + ginger ale: Taken. + ginger ale: Taken. + ginger ale: Taken. > > Exits: N W Exhibition Room ** x platter - On the platter supporting seventeen drinks (the seven Cokes, the two Sprites, the three root beers, and the five ginger ales) are seventeen drinks (seven Cokes, two Sprites, three root beers, and five ginger ales). + You see nothing special about the empty platter. > > Exits: N W Exhibition Room ** take root beer - Taken. + You already have that. > > Exits: N W Exhibition Room ** look @@ -91,16 +107,36 @@ > > Exits: N W Exhibition Room ** i You are carrying: - a root beer + seventeen drinks: + five ginger ales + three root beers + two Sprites + seven Cokes the tiles Z, Y, and X from a Scrabble set - a platter supporting sixteen drinks (the seven Cokes, the two Sprites, the two root beers, and the five ginger ales) + an empty platter a souvenir hat a corkscrew a skeleton key > > Exits: N W Exhibition Room ** put all on platter + ginger ale: Done. + ginger ale: Done. + ginger ale: Done. + ginger ale: Done. + ginger ale: Done. + root beer: Done. root beer: Done. + root beer: Done. + Sprite: Done. + Sprite: Done. + Coke: Done. + Coke: Done. + Coke: Done. + Coke: Done. + Coke: Done. + Coke: Done. + Coke: Done. tile Z from a Scrabble set: Done. tile Y from a Scrabble set: Done. tile X from a Scrabble set: Done. @@ -111,7 +147,7 @@ > > Exits: N W Exhibition Room ** i You are carrying: - a platter supporting the skeleton key, the corkscrew, the souvenir hat, the tiles X, Y, and Z from a Scrabble set, and seventeen drinks (the three root beers, the seven Cokes, the two Sprites, and the five ginger ales) + a platter supporting the skeleton key, the corkscrew, the souvenir hat, the tiles X, Y, and Z from a Scrabble set, and seventeen drinks (the seven Cokes, the two Sprites, the three root beers, and the five ginger ales) > > Exits: N W Exhibition Room ** drop platter @@ -124,7 +160,7 @@ > > Exits: N W Exhibition Room ** look Exhibition Room - You can see a platter supporting the skeleton key, the dangerous corkscrew, the souvenir hat, the tiles X, Y, and Z from a Scrabble set, and seventeen drinks (the three root beers, the seven Cokes, the two Sprites, and the five ginger ales), Venus, Cupid, Folly and Time, The Ambassadors, and a bench here. + You can see a platter supporting the skeleton key, the dangerous corkscrew, the souvenir hat, the tiles X, Y, and Z from a Scrabble set, and seventeen drinks (the seven Cokes, the two Sprites, the three root beers, and the five ginger ales), Venus, Cupid, Folly and Time, The Ambassadors, and a bench here. > > Exits: N W Exhibition Room ** take key and corkscrew and tiles @@ -157,7 +193,7 @@ > > Exits: N W Exhibition Room ** i You are carrying: - a platter supporting the souvenir hat and seventeen drinks (the three root beers, the seven Cokes, the two Sprites, and the five ginger ales) + a platter supporting the souvenir hat and seventeen drinks (the seven Cokes, the two Sprites, the three root beers, and the five ginger ales) the tiles Z, Y, and X from a Scrabble set a corkscrew a skeleton key @@ -170,7 +206,7 @@ ** i You are carrying: a souvenir hat - a platter supporting seventeen drinks (the three root beers, the seven Cokes, the two Sprites, and the five ginger ales) + a platter supporting seventeen drinks (the seven Cokes, the two Sprites, the three root beers, and the five ginger ales) the tiles Z, Y, and X from a Scrabble set a corkscrew a skeleton key @@ -183,7 +219,7 @@ ** i You are carrying: a souvenir hat (being worn) - a platter supporting seventeen drinks (the three root beers, the seven Cokes, the two Sprites, and the five ginger ales) + a platter supporting seventeen drinks (the seven Cokes, the two Sprites, the three root beers, and the five ginger ales) the tiles Z, Y, and X from a Scrabble set a corkscrew a skeleton key @@ -203,7 +239,7 @@ ** i You are carrying: a souvenir hat (being worn) - a platter supporting seventeen drinks (the three root beers, the seven Cokes, the two Sprites, and the five ginger ales) + a platter supporting seventeen drinks (the seven Cokes, the two Sprites, the three root beers, and the five ginger ales) the tiles Z and X from a Scrabble set a corkscrew a skeleton key @@ -278,14 +314,14 @@ ** i You are carrying: a souvenir hat (being worn) - a platter supporting seventeen drinks (the three root beers, the seven Cokes, the two Sprites, and the five ginger ales) (in paint) + a platter supporting seventeen drinks (the seven Cokes, the two Sprites, the three root beers, and the five ginger ales) (in paint) the tiles Z (in paint) and X (in paint) from a Scrabble set a corkscrew (in paint) a skeleton key (in paint) > > Bronzino Interior Room: 1/2 ** drop all - platter supporting seventeen drinks (the three root beers, the seven Cokes, the two Sprites, and the five ginger ales) (in paint): Dropped. + platter supporting seventeen drinks (the seven Cokes, the two Sprites, the three root beers, and the five ginger ales) (in paint): Dropped. tile Z (in paint) from a Scrabble set: Dropped. tile X (in paint) from a Scrabble set: Dropped. corkscrew (in paint): Dropped. @@ -300,7 +336,7 @@ You redirect your attention to more pleasant things. The shining ball in the hand of Venus. The mask on the floor. Cupid's ruddy cheek, smoother than mortal flesh could be. - Sketched on the floorare a skeleton key, a dangerous corkscrew, the tiles X and Z from a Scrabble set, a platter supporting seventeen drinks (the three root beers, the seven Cokes, the two Sprites, and the five ginger ales), and a mask. + Sketched on the floorare a skeleton key, a dangerous corkscrew, the tiles X and Z from a Scrabble set, a platter supporting seventeen drinks (the seven Cokes, the two Sprites, the three root beers, and the five ginger ales), and a mask. > > Bronzino Interior Room: 1/2 ** take all @@ -308,9 +344,8 @@ corkscrew: Taken. tile X from a Scrabble set: Taken. tile Z from a Scrabble set: Taken. - platter supporting seventeen drinks (the three root beers, the seven Cokes, the two Sprites, and the five ginger ales): Taken. + platter supporting seventeen drinks (the seven Cokes, the two Sprites, the three root beers, and the five ginger ales): Taken. mask: Taken. - root beer: Taken. Coke: Taken. Coke: Taken. Coke: Taken. @@ -322,6 +357,7 @@ Sprite: Taken. root beer: Taken. root beer: Taken. + root beer: Taken. ginger ale: Taken. ginger ale: Taken. ginger ale: Taken. @@ -452,6 +488,7 @@ ginger ale (in paint): Done. ginger ale (in paint): Done. root beer (in paint): Done. + root beer (in paint): Done. Sprite (in paint): Done. Sprite (in paint): Done. Coke (in paint): Done. @@ -460,7 +497,6 @@ Coke (in paint): Done. Coke (in paint): Done. Coke (in paint): Done. - root beer (in paint): Done. mask (in paint): Done. tile Z (in paint) from a Scrabble set: Done. tile X (in paint) from a Scrabble set: Done. @@ -469,7 +505,7 @@ > > Bronzino Interior Room: 1/2 ** i You are carrying: - a platter supporting the skeleton key, the tiles X and Z from a Scrabble set, the mask, the corkscrew, and seventeen drinks (the three root beers, the seven Cokes, the two Sprites, and the five ginger ales) (in paint) + a platter supporting the skeleton key, the tiles X and Z from a Scrabble set, the mask, the corkscrew, and seventeen drinks (the seven Cokes, the two Sprites, the three root beers, and the five ginger ales) (in paint) a souvenir hat (being worn) > > Bronzino Interior Room: 1/2 @@ -492,7 +528,7 @@ > > Bronzino Interior Room: 1/2 ** i You are carrying: - a platter supporting the skeleton key, the tiles X and Z from a Scrabble set, the mask, the corkscrew, and seventeen drinks (the three root beers, the seven Cokes, the two Sprites, and the five ginger ales) (in paint) + a platter supporting the skeleton key, the tiles X and Z from a Scrabble set, the mask, the corkscrew, and seventeen drinks (the seven Cokes, the two Sprites, the three root beers, and the five ginger ales) (in paint) a souvenir hat (being worn) > > Exits: N W Exhibition Room @@ -543,7 +579,7 @@ ** i You are carrying: a skull (in paint) - a platter supporting the skeleton key, the tiles X and Z from a Scrabble set, the mask, the corkscrew, and seventeen drinks (the three root beers, the seven Cokes, the two Sprites, and the five ginger ales) (in paint) + a platter supporting the skeleton key, the tiles X and Z from a Scrabble set, the mask, the corkscrew, and seventeen drinks (the seven Cokes, the two Sprites, the three root beers, and the five ginger ales) (in paint) a souvenir hat (being worn) > > Holbein Interior Room: 2/2 @@ -562,7 +598,7 @@ ** i You are carrying: a skull (in paint) - a platter supporting the skeleton key, the tiles X and Z from a Scrabble set, the mask, the corkscrew, and seventeen drinks (the three root beers, the seven Cokes, the two Sprites, and the five ginger ales) (in paint) + a platter supporting the skeleton key, the tiles X and Z from a Scrabble set, the mask, the corkscrew, and seventeen drinks (the seven Cokes, the two Sprites, the three root beers, and the five ginger ales) (in paint) a souvenir hat (being worn) > > Holbein Interior Room: 2/2 @@ -579,7 +615,7 @@ > > Holbein Interior Room: 2/2 ** drop platter - The platter supporting the skeleton key, the tiles X and Z from a Scrabble set, the mask, the corkscrew, and seventeen drinks (the seven Cokes, the three root beers, the two Sprites, and the five ginger ales) are already here. + The platter supporting the skeleton key, the tiles X and Z from a Scrabble set, the mask, the corkscrew, and seventeen drinks (the seven Cokes, the two Sprites, the three root beers, and the five ginger ales) are already here. > > Holbein Interior Room: 2/2 ** put coke on platter @@ -593,7 +629,7 @@ > > Holbein Interior Room: 2/2 ** i You are carrying: - a platter supporting the skeleton key, the tiles X and Z from a Scrabble set, the mask, the corkscrew, and seventeen drinks (the seven Cokes, the three root beers, the two Sprites, and the five ginger ales) (in paint) + a platter supporting the skeleton key, the tiles X and Z from a Scrabble set, the mask, the corkscrew, and seventeen drinks (the seven Cokes, the two Sprites, the three root beers, and the five ginger ales) (in paint) a skull (in paint) a souvenir hat (being worn) @@ -708,7 +744,7 @@ a broom Jolt a skeleton key - a platter supporting the tiles X and Z from a Scrabble set, the mask, the corkscrew, and seventeen drinks (the seven Cokes, the three root beers, the two Sprites, and the five ginger ales) + a platter supporting the tiles X and Z from a Scrabble set, the mask, the corkscrew, and seventeen drinks (the seven Cokes, the two Sprites, the three root beers, and the five ginger ales) a skull a souvenir hat (being worn) diff --git a/inform7/extensions/standard_rules/Sections/Activities.w b/inform7/extensions/standard_rules/Sections/Activities.w index 2ef32f4005..d8b78c4987 100644 --- a/inform7/extensions/standard_rules/Sections/Activities.w +++ b/inform7/extensions/standard_rules/Sections/Activities.w @@ -154,8 +154,8 @@ Rule for deciding whether all includes fixed in place things while taking or taking off or removing (this is the exclude fixed in place things from take all rule): it does not. Rule for deciding whether all includes things enclosed by the person reaching - while taking or taking off or removing (this is the exclude indirect - possessions from take all rule): it does not. + while taking or taking off (this is the exclude indirect possessions from + take all rule): it does not. Rule for deciding whether all includes a person while dropping or throwing or inserting or putting (this is the exclude people from drop all rule): it does not.