From f38e65ecdf6d3f0bf6606135bcb7c0fba14cd794 Mon Sep 17 00:00:00 2001 From: Virgil Serbanuta Date: Fri, 2 Oct 2020 20:34:29 +0300 Subject: [PATCH 1/7] Update the k version to v5.0.0-f537759 --- .build/k | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.build/k b/.build/k index 70cb72bbf..b62811d42 160000 --- a/.build/k +++ b/.build/k @@ -1 +1 @@ -Subproject commit 70cb72bbfa9a9903a47a4be9a6effe4bdbe4f520 +Subproject commit b62811d42aee31b99aee70c4e896d9d31cb998fd From bebf7af8cbd4115429fbdb6d5906676946b98a13 Mon Sep 17 00:00:00 2001 From: Virgil Serbanuta Date: Fri, 30 Oct 2020 19:04:01 +0200 Subject: [PATCH 2/7] Update K to d382d52b56b7cfed084a629d684a667e862790ec --- .build/k | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.build/k b/.build/k index b62811d42..d382d52b5 160000 --- a/.build/k +++ b/.build/k @@ -1 +1 @@ -Subproject commit b62811d42aee31b99aee70c4e896d9d31cb998fd +Subproject commit d382d52b56b7cfed084a629d684a667e862790ec From 80ff2bc544cddfd857550caa8197f523cca8c80c Mon Sep 17 00:00:00 2001 From: Virgil Serbanuta Date: Fri, 30 Oct 2020 21:09:25 +0200 Subject: [PATCH 3/7] Wrap objs --- scripts/kcc | 10 ++++++++-- semantics/common/init.k | 1 + semantics/linking/configuration.k | 2 +- semantics/linking/init.k | 14 +++++++++----- 4 files changed, 19 insertions(+), 8 deletions(-) diff --git a/scripts/kcc b/scripts/kcc index cf0e0b17b..5d9b3039a 100755 --- a/scripts/kcc +++ b/scripts/kcc @@ -505,18 +505,24 @@ sub getLinkingCommand { } } my $objText = join('', @objTexts); + my $one = chr((scalar @objTexts >> 24) & 0xff); my $two = chr((scalar @objTexts >> 16) & 0xff); my $three = chr((scalar @objTexts >> 8) & 0xff); my $four = chr((scalar @objTexts >> 0) & 0xff); - $objText = MAGIC . "\x04\x00\x01$objText\x03$one$two$three$four\x07"; + + $objText = "$objText\x03$one$two$three$four"; + $objText = "$objText\x02\x00\x00\x00\x00\x00\x00\x00\x0b\x00o\x00b\x00j\x00s\x00W\x00r\x00a\x00p\x00p\x00e\x00r\x00\x00\x00\x00\x01"; + $objText = "$objText\x03\00\00\00\01"; + + $objText = MAGIC . "\x04\x00\x01$objText\x07"; open(my $file, '>', "$allObjsFile"); print $file $objText; close $file; @krun = addArg("OBJS", $allObjsFile, 'binaryfile', @krun); } else { - @krun = addArg("OBJS", ".K", 'text', @krun); + @krun = addArg("OBJS", "objsWrapper(.K)", 'text', @krun); } @krun = addArg("PGM", ".K", 'text', @krun); diff --git a/semantics/common/init.k b/semantics/common/init.k index 294473623..6f81d0db3 100644 --- a/semantics/common/init.k +++ b/semantics/common/init.k @@ -6,6 +6,7 @@ module COMMON-INIT-SYNTAX syntax KItem ::= loadObj(K) // this takes input from a file which is not split by thread, so we don't want to split this rule. syntax KItem ::= unwrapObj(GeneratedTopCell) [function, noThread, symbol] + syntax KItem ::= objsWrapper(K) [symbol] syntax CId ::= "mainArguments" diff --git a/semantics/linking/configuration.k b/semantics/linking/configuration.k index 339871e99..d57ba571a 100644 --- a/semantics/linking/configuration.k +++ b/semantics/linking/configuration.k @@ -17,7 +17,7 @@ module C-CONFIGURATION - load($OBJS:K) + load($OBJS:KItem) ~> linkProgram(getEntryPoint($OPTIONS:Set)) ~> cleanup diff --git a/semantics/linking/init.k b/semantics/linking/init.k index e55cf62be..c368138cb 100644 --- a/semantics/linking/init.k +++ b/semantics/linking/init.k @@ -2,7 +2,7 @@ module LINKING-INIT-SYNTAX imports BASIC-K imports STRING-SYNTAX - syntax KItem ::= load(K) [symbol] + syntax KItem ::= load(KItem) [symbol] syntax KItem ::= linkProgram(entrypoint: String) endmodule @@ -162,17 +162,21 @@ module LINKING-INIT ...) ... - rule load(Obj1:KItem ~> Obj2:KItem ~> Objs:K) - => load(Objs ~> mergeObj(Obj1, Obj2)) + syntax KItem ::= #load(K) + + rule load(objsWrapper(K)) => #load(K) + + rule #load(Obj1:KItem ~> Obj2:KItem ~> Objs:K) + => #load(Objs ~> mergeObj(Obj1, Obj2)) ~> checkMerge(Obj1, Obj2) - rule load(Merged:KItem) + rule #load(Merged:KItem) => loadObj(mergeObj(Merged, ThisObj)) ~> checkMerge(Merged, ThisObj) ... ThisObj:GlobalCell - rule load(.K) => .K + rule #load(.K) => .K syntax KItem ::= checkMerge(K, K) rule checkMerge(_, .K) => .K From 8e0583e59b247ee8c6f3d3fa325ef75462c10b45 Mon Sep 17 00:00:00 2001 From: Virgil Serbanuta Date: Sat, 31 Oct 2020 16:05:20 +0200 Subject: [PATCH 4/7] Update k to e160771bb4ff5cb05df39f8353f13731e65ac453 --- .build/k | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.build/k b/.build/k index d382d52b5..e160771bb 160000 --- a/.build/k +++ b/.build/k @@ -1 +1 @@ -Subproject commit d382d52b56b7cfed084a629d684a667e862790ec +Subproject commit e160771bb4ff5cb05df39f8353f13731e65ac453 From f229eef04d89d8fe8c724b245d47327cb44e7ce5 Mon Sep 17 00:00:00 2001 From: Virgil Serbanuta Date: Mon, 2 Nov 2020 16:48:04 +0200 Subject: [PATCH 5/7] Rename os-settings.k --- semantics/c/language/common/common.k | 2 +- .../c/language/common/{os-settings.k => os-settings-syntax.k} | 0 2 files changed, 1 insertion(+), 1 deletion(-) rename semantics/c/language/common/{os-settings.k => os-settings-syntax.k} (100%) diff --git a/semantics/c/language/common/common.k b/semantics/c/language/common/common.k index 180372d91..b4755d640 100644 --- a/semantics/c/language/common/common.k +++ b/semantics/c/language/common/common.k @@ -6,7 +6,7 @@ require "check-use.k" require "conversion.k" require "dynamic.k" require "error.k" -require "os-settings.k" +require "os-settings-syntax.k" require "promotion.k" require "settings.k" require "symloc.k" diff --git a/semantics/c/language/common/os-settings.k b/semantics/c/language/common/os-settings-syntax.k similarity index 100% rename from semantics/c/language/common/os-settings.k rename to semantics/c/language/common/os-settings-syntax.k From 38c8a47c857321e221eee48ef98725cc93faa7ce Mon Sep 17 00:00:00 2001 From: Virgil Serbanuta Date: Mon, 2 Nov 2020 17:56:25 +0200 Subject: [PATCH 6/7] Update k to master --- .build/k | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.build/k b/.build/k index e160771bb..665963964 160000 --- a/.build/k +++ b/.build/k @@ -1 +1 @@ -Subproject commit e160771bb4ff5cb05df39f8353f13731e65ac453 +Subproject commit 665963964e99083ed65a27785c0b5fc980f8d581 From b2cabcd7593d53a11db7ed54a04d050b080e7aa7 Mon Sep 17 00:00:00 2001 From: Virgil Serbanuta Date: Wed, 4 Nov 2020 20:34:48 +0200 Subject: [PATCH 7/7] Change optimization level --- Jenkinsfile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Jenkinsfile b/Jenkinsfile index 952564b08..1638f6c20 100644 --- a/Jenkinsfile +++ b/Jenkinsfile @@ -33,7 +33,7 @@ pipeline { sh ''' eval $(opam config env) eval $(perl -I "~/perl5/lib/perl5" -Mlocal::lib) - export KOMPILE_FLAGS=-O2 + export KOMPILE_FLAGS=-O1 make -j4 profile-rule-parsing --output-sync=line ''' } }