Escargot is a lightweight JavaScript engine designed specifically for resource-constrained environments.
  • C++ 91.5%
  • Python 4.1%
  • JavaScript 2%
  • Java 1.7%
  • CMake 0.5%
  • Other 0.2%
Find a file
박혁우/Common Platform Lab(SR)/Staff Engineer/삼성전자 55e29beeae Fix code list in escargot.cmake (#184)
Signed-off-by: HyukWoo Park <hyukwoo.park@samsung.com>
2018-12-21 11:56:34 +09:00
build Fix code list in escargot.cmake (#184) 2018-12-21 11:56:34 +09:00
docs Initialize Pando project 2018-12-13 10:55:14 +09:00
packaging Change default license to LGPL license (#60) 2018-03-07 18:38:28 +09:00
src Fix format errors (#16) 2018-12-21 09:18:29 +09:00
test Implement 'get' and 'set' for 'Proxy' (#106) (#179) 2018-12-18 09:54:02 +09:00
third_party Initialize Pando project 2018-12-13 10:55:14 +09:00
tools Move test suite execution into a single dedicated runner script (#18) 2018-12-21 09:26:10 +09:00
.babelrc Add ecma_6 into spidermonkey vendortest 2017-01-25 13:08:19 +09:00
.clang-format Apply clang-formatting 2016-12-08 14:53:01 +09:00
.gitignore Update CMake for ninja based build (#177) 2018-12-14 17:52:10 +09:00
.gitlab-ci.yml Move tools/vendortest to js_vendor_tc (#74) 2018-05-15 09:09:57 +09:00
.gitmodules Add Travis CI configuration (#3) 2018-12-13 10:55:14 +09:00
.travis.yml Minimize APT dependencies on Travis CI (#19) 2018-12-21 09:29:17 +09:00
build_android.sh Initialize Pando project 2018-12-13 10:55:14 +09:00
build_third_party.sh Initialize Pando project 2018-12-13 10:55:14 +09:00
build_third_party_android.sh Optimize AST tree & Script parser Scanner functions (#69) 2018-05-03 07:29:55 +09:00
build_third_party_android_nothread.sh Optimize AST tree & Script parser Scanner functions (#69) 2018-05-03 07:29:55 +09:00
CMakeLists.txt Update CMake for ninja based build (#177) 2018-12-14 17:52:10 +09:00
LICENSE.Apache-2.0 Change default license to LGPL license (#60) 2018-03-07 18:38:28 +09:00
LICENSE.BSD-2-Clause Change default license to LGPL license (#60) 2018-03-07 18:38:28 +09:00
LICENSE.BSD-3-Clause Change default license to LGPL license (#60) 2018-03-07 18:38:28 +09:00
LICENSE.LGPL-2.1+ Change default license to LGPL license (#60) 2018-03-07 18:38:28 +09:00
LICENSE.MIT Change default license to LGPL license (#60) 2018-03-07 18:38:28 +09:00
LICENSE.MPL-2.0 Change default license to LGPL license (#60) 2018-03-07 18:38:28 +09:00
Makefile Update build script to support: aarch64 and emulators (#153) 2018-09-17 18:33:51 +09:00
MakefileClang Fix std::isnan bug with clang & add safe floating math cxxflags (#72) 2018-05-04 17:21:54 +09:00
package.json Add ecma_6 into spidermonkey vendortest 2017-01-25 13:08:19 +09:00
README.md Minimize APT dependencies on Travis CI (#19) 2018-12-21 09:29:17 +09:00
sonar-project.properties Enable SonarCloud on Travis 2018-12-20 14:59:12 +09:00

Escargot

Travis CI Build Status SonarCloud Status

Prerequisites

General build prerequisites:

sudo apt-get install autoconf automake libtool libicu-dev

Prerequisites for x86-64-to-x86 compilation:

sudo apt-get install gcc-multilib g++-multilib
sudo apt-get install libicu-dev:i386

Build Escargot

git clone git@github.com:pando-project/escargot.git
cd escargot
git submodule update --init third_party
cmake CMakeLists.txt -DESCARGOT_HOST=linux -DESCARGOT_ARCH=x64 -DESCARGOT_MODE=release -DESCARGOT_OUTPUT=bin -G Ninja
ninja

Build options

The following build options are supported when generating ninja rules using cmake.

  • -DESCARGOT_HOST=[ linux | tizen_obs ]
    Compile Escargot for either Linux or Tizen platform
  • -DESCARGOT_ARCH=[ x64 | x86 | arm | i686 | aarch64 ]
    Compile Escargot for each architecture
  • -DESCARGOT_MODE=[ debug | release ]
    Compile Escargot for either release or debug mode
  • -DESCARGOT_OUTPUT=[ bin | shared_lib | static_lib ]
    Define target output type

Testing

First, get benchmarks and tests

git submodule update --init

Benchmarks

Prerequisite for SpiderMonkey

sudo apt-get install npm
npm install

Test run for each benchmark

ninja run-sunspider-js # Sunspider
ninja run-octane # Octane
ninja run-v8-x64 # V8 for x64
ninja run-chakracore-x64 # Chakracore for x64
ninja run-test262 # test262
ninja run-spidermonkey-x64 # SpiderMonkey