Lazarus
Home
Help
TinyPortal
Search
Login
Register
Lazarus
»
Forum
»
Programming
»
Networking and Web Programming
»
Pas2JS
»
Asm.js optimizations
Free Pascal
Website
Downloads
Wiki
Documentation
Bugtracker
Mailing List
Lazarus
Website
Downloads (Laz+FPC)
Packages (OPM)
FAQ
Wiki
Documentation (RTL/FCL/LCL)
Bugtracker
CCR Bugs
GIT
Mailing List
Other languages
Foundation
Website
Useful Wiki Links
Project Roadmap
Getting the Source
Screenshots
How to use the forum
Forum Rules
About donations (wiki)
Bookstore
Computer Math and Games in Pascal
(preview)
Lazarus Handbook
Search
Advanced search
Recent
FPC Unleashed (inline var...
by
Thaddy
[
Today
at 03:05:44 pm]
Ann: Deinline: a de-inlin...
by
Thaddy
[
Today
at 03:03:54 pm]
AI assisted translation o...
by
MathMan
[
Today
at 02:59:27 pm]
Ann: DeCoperators
by
Thaddy
[
Today
at 02:48:13 pm]
Little bit...
by
jamie
[
Today
at 01:04:11 pm]
BAScript - Simple scripti...
by
Ñuño_Martínez
[
Today
at 01:00:21 pm]
NiceGrid component for La...
by
Alexandr R
[
Today
at 11:02:54 am]
Idea to solve a circular ...
by
jamie
[
Today
at 10:55:07 am]
ZeosDB and sqlite3
by
Thaddy
[
Today
at 08:49:46 am]
Status of Fresnel Project...
by
Thaddy
[
Today
at 08:47:30 am]
Help with OLD code
by
Thaddy
[
Today
at 08:17:11 am]
Can /my/ AI help me with ...
by
MathMan
[
Today
at 07:33:14 am]
Lazarus Image Editor
by
Boleeman
[
Today
at 03:46:20 am]
Splitting Picture into Qu...
by
Boleeman
[
Today
at 02:43:50 am]
The ever re-appearing /= ...
by
n7800
[
Today
at 02:13:57 am]
fp-h2pas: New C header tr...
by
BildatBoffin
[April 11, 2026, 07:22:29 pm]
TurboBird IBX
by
maurog
[April 11, 2026, 04:10:32 pm]
Remote desktop software i...
by
gidesa
[April 11, 2026, 02:25:43 pm]
Omitting semicolon on las...
by
Xenno
[April 11, 2026, 02:04:31 pm]
I can write your README.m...
by
domasz
[April 11, 2026, 09:53:02 am]
android attack (inc)
by
speter
[April 11, 2026, 04:19:54 am]
[ANN] Unofficial FPC 3.3....
by
440bx
[April 11, 2026, 01:00:04 am]
Track windows cross-platf...
by
dsiders
[April 10, 2026, 07:43:43 pm]
[ANN] PasBuild v1.8.0 Rel...
by
Graeme
[April 10, 2026, 06:43:13 pm]
Подписи кнопок панели инс...
by
Raskaton
[April 10, 2026, 06:37:48 pm]
« previous
next »
Print
Pages: [
1
]
Author
Topic: Asm.js optimizations (Read 2987 times)
lainz
Hero Member
Posts: 4742
Web, Desktop & Android developer
Asm.js optimizations
«
on:
April 13, 2019, 09:19:46 pm »
Asm.js
https://en.wikipedia.org/wiki/Asm.js
Is the pas2js output javascript code optimized like is described in that wiki article, for example:
Code: C
[Select]
[+]
[-]
int
f
(
int
i
)
{
return
i
+
1
;
}
That in Pascal is something like:
Code: Pascal
[Select]
[+]
[-]
function
f
(
i
:
integer
)
:
integer
;
begin
Result
:
=
i
+
1
;
end
;
And translated to Asm.js
Code: Javascript
[Select]
[+]
[-]
function
f
(
i
)
{
i
=
i
|
0
;
return
(
i
+
1
)
|
0
;
}
The extra "|0" converts the variables to int32 acording to the article, so it doesn't use floating point math.
«
Last Edit: April 13, 2019, 09:24:29 pm by Lainz
»
Logged
https://lainz.github.io/
mattias
Administrator
Full Member
Posts: 210
Re: Asm.js optimizations
«
Reply #1 on:
April 13, 2019, 10:08:28 pm »
No, but it would be possible to add an option to do so.
I did not take a look what other conversions are needed, so I can't estimate how much work it is.
Logged
lainz
Hero Member
Posts: 4742
Web, Desktop & Android developer
Re: Asm.js optimizations
«
Reply #2 on:
April 13, 2019, 11:43:00 pm »
Hi thanks for the quick response.
Ok it will be great and another reason to choose pas2js instead of emscriptem.
Logged
https://lainz.github.io/
Print
Pages: [
1
]
« previous
next »
Lazarus
»
Forum
»
Programming
»
Networking and Web Programming
»
Pas2JS
»
Asm.js optimizations
TinyPortal
© 2005-2018