All Projects → Samsung → escargot

Samsung / escargot

Licence: other
Escargot is a memory optimized JavaScript engine for mid-range devices such as mobile phone, tablet and TV.

Programming Languages

C++
36643 projects - #6 most used programming language
python
139335 projects - #7 most used programming language
javascript
184084 projects - #8 most used programming language
CMake
9771 projects
shell
77523 projects
c
50402 projects - #5 most used programming language

Projects that are alternatives of or similar to escargot

Go Duktape
Duktape JavaScript engine bindings for Go
Stars: ✭ 747 (+662.24%)
Mutual labels:  javascript-engine
Quickjs
QuickJS是一个小型并且可嵌入的Javascript引擎,它支持ES2020规范,包括模块,异步生成器和代理器。
Stars: ✭ 2,199 (+2143.88%)
Mutual labels:  javascript-engine
yantra
JavaScript Engine for .NET Standard
Stars: ✭ 32 (-67.35%)
Mutual labels:  javascript-engine
Jsvu
JavaScript (engine) Version Updater
Stars: ✭ 1,192 (+1116.33%)
Mutual labels:  javascript-engine
Quickjs
The official repo is at bellard/quickjs.
Stars: ✭ 1,429 (+1358.16%)
Mutual labels:  javascript-engine
Quickjs Rs
Rust wrapper for the quickjs Javascript engine.
Stars: ✭ 229 (+133.67%)
Mutual labels:  javascript-engine
V8
The official mirror of the V8 Git repository
Stars: ✭ 18,808 (+19091.84%)
Mutual labels:  javascript-engine
libjs-test262
✅ Tools for running the test262 ECMAScript test suite with SerenityOS's JavaScript engine (LibJS)
Stars: ✭ 20 (-79.59%)
Mutual labels:  javascript-engine
Chakracore Delphi
Delphi and Free Pascal bindings and classes for Microsoft's ChakraCore library
Stars: ✭ 109 (+11.22%)
Mutual labels:  javascript-engine
pyduktape
Embed the Duktape JS interpreter in Python
Stars: ✭ 77 (-21.43%)
Mutual labels:  javascript-engine
Chakracore
ChakraCore is an open source Javascript engine with a C API.
Stars: ✭ 8,600 (+8675.51%)
Mutual labels:  javascript-engine
Quickjspp
QuickJS C++ wrapper
Stars: ✭ 105 (+7.14%)
Mutual labels:  javascript-engine
elk
A low footprint JavaScript engine for embedded systems
Stars: ✭ 1,458 (+1387.76%)
Mutual labels:  javascript-engine
Baristacore
BaristaCore is a framework for providing a serverless platform using ChakraCore and .Net Core
Stars: ✭ 24 (-75.51%)
Mutual labels:  javascript-engine
DuktapeJava
Tiny Powerfull JavaScript Engine On Android Platform integrating with java
Stars: ✭ 74 (-24.49%)
Mutual labels:  javascript-engine
Duktape
Duktape - embeddable Javascript engine with a focus on portability and compact footprint
Stars: ✭ 5,076 (+5079.59%)
Mutual labels:  javascript-engine
Boa
Boa is an embeddable and experimental Javascript engine written in Rust. Currently, it has support for some of the language.
Stars: ✭ 2,509 (+2460.2%)
Mutual labels:  javascript-engine
joke
🎃 Tiny Javascript engine, does not support Typescript (yet).
Stars: ✭ 43 (-56.12%)
Mutual labels:  javascript-engine
nashorn
A fork of Oracle's EcmaScript 5.1 engine Nashorn, compatible with Java 7
Stars: ✭ 29 (-70.41%)
Mutual labels:  javascript-engine
quickjs-build
Build for QuickJS JavaScript Engine
Stars: ✭ 25 (-74.49%)
Mutual labels:  javascript-engine

Escargot

License GitHub release (latestSemVer) Build status Actions Status Coverity Scan Build Status

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
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].