diff --git a/03.API-EXAMPLE.md b/03.API-EXAMPLE.md index 87248986b..6cf324bf0 100644 --- a/03.API-EXAMPLE.md +++ b/03.API-EXAMPLE.md @@ -521,4 +521,4 @@ Value of x is 17 ## Further steps -For further API description, please visit [API Reference page](https://samsung.github.io/jerryscript/api-reference/) on [JerryScript home page](https://samsung.github.io/jerryscript/). +For further API description, please visit [API Reference page]({{ site.github.url }}/api-reference/) on [JerryScript home page]({{ site.github.url }}/). diff --git a/04.INTERNALS.md b/04.INTERNALS.md index cab915d7f..50aaf2680 100644 --- a/04.INTERNALS.md +++ b/04.INTERNALS.md @@ -8,7 +8,7 @@ permalink: /internals/ {:toc} # High-Level Design -{: class="thumbnail center-block img-responsive" } +{: class="thumbnail center-block img-responsive" } The diagram above shows the interactions between the major components of JerryScript: Parser and Virtual Machine (VM). Parser performs translation of input ECMAScript application into the byte-code with the specified format (refer to [Bytecode](#byte-code) and [Parser](#parser) page for details). Prepared bytecode is executed by the Virtual Machine that performs interpretation (refer to [Virtual Machine](#virtual-machine) and [ECMA](#ecma) pages for details). @@ -36,7 +36,7 @@ Function `parser_parse_source` carries out the parsing and compiling of the inpu The interactions between the major components shown on the following figure. -{: class="thumbnail center-block img-responsive" } +{: class="thumbnail center-block img-responsive" } # Byte-code @@ -48,7 +48,7 @@ CBC is a CISC like instruction set which assigns shorter instructions for freque The memory layout of the compiled byte code is the following. -{: class="thumbnail center-block img-responsive" } +{: class="thumbnail center-block img-responsive" } The header is a `cbc_compiled_code` structure with several fields. These fields contain the key properties of the compiled code. @@ -60,7 +60,7 @@ CBC instruction list is a sequence of byte code instructions which represents th The memory layout of a byte-code is the following: -{: class="thumbnail center-block img-responsive" } +{: class="thumbnail center-block img-responsive" } Each byte-code starts with an opcode. The opcode is one byte long for frequent and two byte long for rare instructions. The first byte of the rare instructions is always zero (`CBC_EXT_OPCODE`), and the second byte represents the extended opcode. The name of common and rare instructions start with `CBC_` and `CBC_EXT_` prefix respectively. @@ -231,7 +231,7 @@ The major structure for data representation is `ECMA_value`. The lower two bits * string * object -{: class="thumbnail center-block img-responsive" } +{: class="thumbnail center-block img-responsive" } In case of number, string and object the value contains an encoded pointer, and simple value is a pre-defined constant which can be: @@ -260,7 +260,7 @@ There are two possible representation of numbers according to standard IEEE 754: The default is 8-byte (double), but the engine supports the 4-byte (single precision) representation by setting CONFIG_ECMA_NUMBER_TYPE as well. -{: class="thumbnail center-block img-responsive" } +{: class="thumbnail center-block img-responsive" } Several references to single allocated number are not supported. Each reference holds its own copy of a number. @@ -274,7 +274,7 @@ An object can be a conventional data object or a lexical environment object. Unl [Lexical environments](http://www.ecma-international.org/ecma-262/5.1/#sec-10.2) are implemented as objects in JerryScript, since lexical environments contains key-value pairs (called bindings) like objects. This simplifies the implementation and reduces code size. -{: class="thumbnail center-block img-responsive" } +{: class="thumbnail center-block img-responsive" } The objects are represented as following structure: @@ -285,7 +285,7 @@ The objects are represented as following structure: ### Properties of Objects -{: class="thumbnail center-block img-responsive" } +{: class="thumbnail center-block img-responsive" } Objects have a linked list that contains their properties. This list actually contains property pairs, in order to save memory described in the followings: A property is 7 bit long and its type field is 2 bit long which consumes 9 bit which does not fit into 1 byte but consumes 2 bytes. Hence, placing together two properties (14 bit) with the 2 bit long type field fits into 2 bytes. @@ -316,7 +316,7 @@ Internal properties are special properties that carry meta-information that cann LCache is a hashmap for finding a property specified by an object and by a property name. The object-name-property layout of the LCache presents multiple times in a row as it is shown in the figure below. -{: class="thumbnail center-block img-responsive" } +{: class="thumbnail center-block img-responsive" } When a property access occurs, a hash value is extracted from the demanded property name and than this hash is used to index the LCache. After that, in the indexed row the specified object and property name will be searched. diff --git a/_config.yml b/_config.yml index 37941d729..02c01d680 100644 --- a/_config.yml +++ b/_config.yml @@ -3,8 +3,8 @@ title: JerryScript Engine #email: your-email@domain.com description: > # this means to ignore newlines until "baseurl:" JerryScript is a very lightweight JavaScript engine with capability to run on microcontrollers with less then 8KB of RAM. -baseurl: "/jerryscript" # the subpath of your site, e.g. /blog/ -url: "http://samsung.github.io" # the base hostname & protocol for your site +# baseurl: "/jerryscript" # the subpath of your site, e.g. /blog/ +# url: "http://samsung.github.io" # the base hostname & protocol for your site #twitter_username: jekyllrb #github_username: samsung diff --git a/_includes/head.html b/_includes/head.html index dbf650bef..81f454190 100644 --- a/_includes/head.html +++ b/_includes/head.html @@ -9,12 +9,12 @@