mirror of
https://github.com/Samsung/escargot.git
synced 2026-06-22 10:01:50 +00:00
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%
Divice get object inline cache into simple and complex cases the simple case should test just one object chain with plain data property the complex case should consider every case of inline cache Signed-off-by: Seonghyun Kim <sh8281.kim@samsung.com> |
||
|---|---|---|
| .github | ||
| build | ||
| docs | ||
| src | ||
| test | ||
| third_party | ||
| tools | ||
| .clang-format | ||
| .gitignore | ||
| .gitlab-ci.yml | ||
| .gitmodules | ||
| CMakeLists.txt | ||
| Jenkinsfile | ||
| LICENSE | ||
| LICENSE.Apache-2.0 | ||
| LICENSE.BSD-2-Clause | ||
| LICENSE.BSD-3-Clause | ||
| LICENSE.LGPL-2.1+ | ||
| LICENSE.MIT | ||
| LICENSE.MPL-2.0 | ||
| README.md | ||
| RELEASE_VERSION | ||
Escargot
Prerequisites
On Ubuntu Linux
General build prerequisites:
sudo apt-get install autoconf automake cmake libtool libicu-dev ninja-build
Prerequisites for x86-64-to-x86 compilation:
sudo apt-get install gcc-multilib g++-multilib
sudo apt-get install libicu-dev:i386
On macOS
brew install autoconf automake cmake icu4c libtool ninja pkg-config
Note: For later build steps (cmake, pkg-config) to find ICU libraries, you may
need to set the PKG_CONFIG_PATH environment variable, as instructed by brew.
E.g.:
export PKG_CONFIG_PATH="/usr/local/opt/icu4c/lib/pkgconfig"
Build Escargot
git clone https://github.com/Samsung/escargot.git
cd escargot
git submodule update --init third_party
cmake -DESCARGOT_HOST=linux -DESCARGOT_ARCH=x64 -DESCARGOT_MODE=release -DESCARGOT_OUTPUT=shell -GNinja
ninja
Build options
The following build options are supported when generating ninja rules using cmake.
- -DESCARGOT_HOST=[ linux | tizen_obs | darwin ]
Compile Escargot for Linux, Tizen, or macOS 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=[ shared_lib | static_lib | shell | shell_test | cctest ]
Define target output type - -DESCARGOT_LIBICU_SUPPORT=[ ON | OFF ]
Enable libicu library if set ON. (Optional, default = ON)
Testing
First, get benchmarks and tests:
git submodule update --init
Benchmarks
Test run for each benchmark (Sunspider, Octane, V8, Chakracore, test262, SpiderMonkey, etc.):
tools/run-tests.py --arch=x86_64 spidermonkey test262 v8