From f4cdf1d2663980cdfa1e864f6b026aaf7ccb6fba Mon Sep 17 00:00:00 2001 From: "e.gavrin" Date: Tue, 29 Jul 2014 12:21:30 +0400 Subject: [PATCH] Stable demo --- benchmarks/jerry/loop_demo.js | 125 +++++++++++++++++++++++++++++++ src/generated.h | 134 ++++++++++++++++++++++++++++------ 2 files changed, 237 insertions(+), 22 deletions(-) create mode 100644 benchmarks/jerry/loop_demo.js diff --git a/benchmarks/jerry/loop_demo.js b/benchmarks/jerry/loop_demo.js new file mode 100644 index 000000000..51f2b96d3 --- /dev/null +++ b/benchmarks/jerry/loop_demo.js @@ -0,0 +1,125 @@ +// Copyright 2014 Samsung Electronics Co., Ltd. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +var tmp, a, b = 1, c = 2, d, e = 3, g = 4; + +var count = 1000; + +tmp = b * c; +a = tmp + g; +d = tmp * e + a; + +var waitTime = 600000; +var numOfIterations = 10; + +while (1) +{ + for (var j = 0; j < numOfIterations / 2; j += 1) + { + LEDOn(12); + LEDOn(13); + LEDOn(14); + LEDOn(15); + wait(waitTime * 2); + LEDOff(12); + LEDOff(13); + LEDOff(14); + LEDOff(15); + wait(waitTime * 2); + } + + for (var j = 0; j < numOfIterations; j += 1) + { + LEDOn(12); + wait(waitTime); + LEDOff(12); + wait(waitTime); + LEDOn(13); + wait(waitTime); + LEDOff(13); + wait(waitTime); + LEDOn(14); + wait(waitTime); + LEDOff(14); + wait(waitTime); + LEDOn(15); + wait(waitTime); + LEDOff(15); + wait(waitTime); + } + + for (var j = 0; j < numOfIterations; j += 1) + { + LEDOn(12); + wait(waitTime); + LEDOff(12); + LEDOn(13); + wait(waitTime); + LEDOff(13); + LEDOn(14); + wait(waitTime); + LEDOff(14); + LEDOn(15); + wait(waitTime); + LEDOff(15); + } + + for (var j = 0; j < numOfIterations; j += 1) + { + LEDOn(12); + wait(waitTime / 2); + LEDOff(12); + LEDOn(13); + wait(waitTime / 2); + LEDOff(13); + LEDOn(14); + wait(waitTime / 2); + LEDOff(14); + LEDOn(15); + wait(waitTime / 2); + LEDOff(15); + } + + for (var j = 0; j < numOfIterations; j += 1) + { + LEDOn(12); + wait(waitTime / 3); + LEDOff(12); + LEDOn(13); + wait(waitTime / 3); + LEDOff(13); + LEDOn(14); + wait(waitTime / 3); + LEDOff(14); + LEDOn(15); + wait(waitTime / 3); + LEDOff(15); + } + + for (var j = 0; j < numOfIterations; j += 1) + { + LEDOn(12); + wait(waitTime / 6); + LEDOff(12); + LEDOn(13); + wait(waitTime / 6); + LEDOff(13); + LEDOn(14); + wait(waitTime / 6); + LEDOff(14); + LEDOn(15); + wait(waitTime / 6); + LEDOff(15); + } +} diff --git a/src/generated.h b/src/generated.h index e7918c72d..f04412026 100644 --- a/src/generated.h +++ b/src/generated.h @@ -16,25 +16,115 @@ #include "globals.h" static const char* generated_source = "" - "var tmp, a, b = 1, c = 2, d, e = 3, g = 4;\n" - "var count = 10000*10000;\n" - "for (var i = 0; i < count; i += 1)\n" - "{\n" - " tmp = b * c;\n" - " a = tmp + g;\n" - " d = tmp * e;\n" - "\n" - " if (i % 1000 == 0) \n" - " { \n" - " LEDOn (12);\n" - " LEDOn (13);\n" - " LEDOn (14);\n" - " LEDOn (15);\n" - " wait (300000);\n" - " LEDOff (12);\n" - " LEDOff (13);\n" - " LEDOff (14);\n" - " LEDOff (15);\n" - " }\n" - "}\n" - ; +"var tmp, a, b = 1, c = 2, d, e = 3, g = 4;\n" +"\n" +"var count = 1000;\n" +"\n" +"tmp = b * c;\n" +"a = tmp + g;\n" +"d = tmp * e + a;\n" +"\n" +"var waitTime = 600000;\n" +"var numOfIterations = 10;\n" +"\n" +"while (1)\n" +"{\n" +"for (var j = 0; j < numOfIterations / 2; j += 1)\n" +"{\n" +"LEDOn(12);\n" +"LEDOn(13);\n" +"LEDOn(14);\n" +"LEDOn(15);\n" +"wait(waitTime * 2);\n" +"LEDOff(12);\n" +"LEDOff(13);\n" +"LEDOff(14);\n" +"LEDOff(15);\n" +"wait(waitTime * 2);\n" +"}\n" +"\n" +"for (var j = 0; j < numOfIterations; j += 1)\n" +"{\n" +"LEDOn(12);\n" +"wait(waitTime);\n" +"LEDOff(12);\n" +"wait(waitTime);\n" +"LEDOn(13);\n" +"wait(waitTime);\n" +"LEDOff(13);\n" +"wait(waitTime);\n" +"LEDOn(14);\n" +"wait(waitTime);\n" +"LEDOff(14);\n" +"wait(waitTime);\n" +"LEDOn(15);\n" +"wait(waitTime);\n" +"LEDOff(15);\n" +"wait(waitTime);\n" +"}\n" +"\n" +"for (var j = 0; j < numOfIterations; j += 1)\n" +"{\n" +"LEDOn(12);\n" +"wait(waitTime);\n" +"LEDOff(12);\n" +"LEDOn(13);\n" +"wait(waitTime);\n" +"LEDOff(13);\n" +"LEDOn(14);\n" +"wait(waitTime);\n" +"LEDOff(14);\n" +"LEDOn(15);\n" +"wait(waitTime);\n" +"LEDOff(15);\n" +"}\n" +"\n" +"for (var j = 0; j < numOfIterations; j += 1)\n" +"{\n" +"LEDOn(12);\n" +"wait(waitTime / 2);\n" +"LEDOff(12);\n" +"LEDOn(13);\n" +"wait(waitTime / 2);\n" +"LEDOff(13);\n" +"LEDOn(14);\n" +"wait(waitTime / 2);\n" +"LEDOff(14);\n" +"LEDOn(15);\n" +"wait(waitTime / 2);\n" +"LEDOff(15);\n" +"}\n" +"\n" +"for (var j = 0; j < numOfIterations; j += 1)\n" +"{\n" +"LEDOn(12);\n" +"wait(waitTime / 3);\n" +"LEDOff(12);\n" +"LEDOn(13);\n" +"wait(waitTime / 3);\n" +"LEDOff(13);\n" +"LEDOn(14);\n" +"wait(waitTime / 3);\n" +"LEDOff(14);\n" +"LEDOn(15);\n" +"wait(waitTime / 3);\n" +"LEDOff(15);\n" +"}\n" +"\n" +"for (var j = 0; j < numOfIterations; j += 1)\n" +"{\n" +"LEDOn(12);\n" +"wait(waitTime / 6);\n" +"LEDOff(12);\n" +"LEDOn(13);\n" +"wait(waitTime / 6);\n" +"LEDOff(13);\n" +"LEDOn(14);\n" +"wait(waitTime / 6);\n" +"LEDOff(14);\n" +"LEDOn(15);\n" +"wait(waitTime / 6);\n" +"LEDOff(15);\n" +"}\n" +"}\n" +;