DGL https://delphigl.com/forum/ |
|
BESEN - Eine komplette ECMAScript 5th Edition Implementation https://delphigl.com/forum/viewtopic.php?f=13&t=9140 |
Seite 1 von 1 |
Autor: | bero [ Di Apr 06, 2010 20:01 ] |
Betreff des Beitrags: | BESEN - Eine komplette ECMAScript 5th Edition Implementation |
Hiermit stelle ich hier nach einer langen Zeit wieder mal ein Projekt von mir vor. Diesmal ist es eine ECMAScript Engine. Für die, die es nicht wissen, ECMAScript ist die von der ECMA unter ECMA-262 standardisierte Form von JavaScript, jedoch ist ECMAScript nicht vollständig komplett zu JavaScript identisch (mehr dazu zum Thema siehe Wikipedia zum Suchbegriff JavaScript oder ECMAScript). Meine ECMAScript Engine trägt den Namen BESEN, was wiederum für "Bero EcmaScript ENgine" steht, und besitzt zudem Just-In-Compilation (zurzeit nur für 32-bit x86), Property Inline Caching, Codeoptimization, und viele weitere Dinge. Es steht zudem unter einer RubyLike+AGPLv3 Duallizenz. Hier eine englische Liste der Features von BESEN für den groben Überblick:
Und hier gibt es endlich auch den Link zu BESEN: http://besen.sourceforge.net/ Ich würde mich auf Feedback freuen. EDIT: Zu Sourceforge umgezogen. |
Autor: | bero [ Mi Apr 07, 2010 14:04 ] |
Betreff des Beitrags: | Re: BESEN - Eine komplette ECMAScript 5th Edition Implementa |
Es ist eine neue Version online, die zwei wichtige Bugfixes enthält. Der erste Bug war, dass der Parser bei >>= den Right Node mit dem Left Node überschrieben hat, und nachher dann versucht hat, den Left Node 2x freizugeben, was dann zu einer Exception führte. Der zweite Bug war, dass der CodeGenerator bei <<= >>= und >>>= vergaß, für die Shifting Operation temporäre Register zu allokatieren, und dadurch der generierte ByteCode sowie native geJITte Code aufgrund Out-Of-RegisterIndex crashte. |
Autor: | bero [ Mi Apr 07, 2010 19:27 ] |
Betreff des Beitrags: | Re: BESEN - Eine komplette ECMAScript 5th Edition Implementa |
Ich habe den Code nun FPC 2.4.0 (inoffziell) kompatibel gemacht, bzw. FormatDateTime als BESENFormatDateTime reimplementiert, was ja bei 2.4.0 fehlerhaft war bzw. ist. Also viel Spass damit |
Autor: | bero [ Do Apr 08, 2010 04:27 ] |
Betreff des Beitrags: | Re: BESEN - Eine komplette ECMAScript 5th Edition Implementa |
Nun ist schon wieder eine neue Version online und somit hab ich auch wieder eine ganze Reihe an Bugs gefixt. Und zwar diesmal habe ich einges an den ECMAScript-eigenen Objekten selbst gefixt, und sowie einen sehr fiesen Bug im Garbage Collector gefixt, wo bei sehr seltenen Fällen Rootwurzelobjekte fälscherweise als nicht mehr gebraucht angesehen und somit freigegeben wurden, wodurch dann ungültige Zeigerreferenzen entstanden, und dadurch dann auch hübische Invalid Pointer Exceptions. Jetzt werden Rootwurzelobjekte aber immer direkt eingeschwärzt (nach dem Tricolor-MarkAndSweep-Verhalten, also direkt als "In-Gebraucht" markiert", mehr dazu siehe englische Wikipedia zum Thema Garbage Collector). |
Autor: | bero [ Di Jul 06, 2010 06:45 ] |
Betreff des Beitrags: | Re: BESEN - Eine komplette ECMAScript 5th Edition Implementa |
Im letztem Monat habe ich einiges an BESEN gemacht, so dass es nun die ES5conform Tests komplett alle besteht. Ergebnis: http://vserver.rosseaux.net/projects/BESEN/ES5conform/ Zudem hat es auch nun endlich eine Konsolenshell für Anbindung in vorhandene Entwickklungsumgebungen. |
Autor: | bero [ Di Aug 17, 2010 17:39 ] |
Betreff des Beitrags: | Re: BESEN - Eine komplette ECMAScript 5th Edition Implementa |
Im letztem Monat habe ich wieder einiges an BESEN gemacht, so dass BESEN mit aktiviertem Native-Code-Just-In-Time-Compiler nun in vielen Fällen um einiges schneller als die JavaScript Engine SquirrelFish Extreme auch mit aktiviertem Native-Code-Just-In-Time-Compiler aus Safari 5 bzw. aus WebKit ist. Also BESEN wird nun so langsam richtig performancetechnisch-gefährlich für die ECMAScript/JavaScript-Engine-Quasi-Konkurrenz |
Autor: | bero [ Di Okt 30, 2012 07:59 ] |
Betreff des Beitrags: | Re: BESEN - Eine komplette ECMAScript 5th Edition Implementa |
Ich habe das BESEN Projekt jetzt auch nun kompatibel für Delphi 2009-XE3 gemacht (wegen der ganzen Unicodestring Geschichte ab Delphi 2009), als LGPL (mit Static-Link-Exception) umlizenziert und von SourceForge nach Google Code http://code.google.com/p/besen/ verschoben, aufgrund paar Sachen, die ich bei SourceForge seit kurzem bemängle, die erst im Laufe der Zeit aufkamen bzw. besser gesagt, in den Fokus meiner Aufmerksamkeit gelangten. |
Seite 1 von 1 | Alle Zeiten sind UTC + 1 Stunde |
Powered by phpBB® Forum Software © phpBB Group https://www.phpbb.com/ |