mirror of
https://git.huckle.dev/Huckles-Minecraft-Archive/jpexs-decompiler.git
synced 2026-05-22 10:55:03 +00:00
perf: optimize recursion, avoid stackoverflow on larger scripts (#2672)
This commit is contained in:
49
libsrc/ffdec_lib/testdata/as2_long/as2_long.html
vendored
Normal file
49
libsrc/ffdec_lib/testdata/as2_long/as2_long.html
vendored
Normal file
@@ -0,0 +1,49 @@
|
||||
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
|
||||
<html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en">
|
||||
<head>
|
||||
<title>as2_long</title>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
|
||||
<style type="text/css" media="screen">
|
||||
html, body { height:100%; background-color: #ffffff;}
|
||||
body { margin:0; padding:0; overflow:hidden; }
|
||||
#flashContent { width:100%; height:100%; }
|
||||
</style>
|
||||
</head>
|
||||
<body>
|
||||
<div id="flashContent">
|
||||
<object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" width="550" height="400" id="as2_long" align="middle">
|
||||
<param name="movie" value="as2_long.swf" />
|
||||
<param name="quality" value="high" />
|
||||
<param name="bgcolor" value="#ffffff" />
|
||||
<param name="play" value="true" />
|
||||
<param name="loop" value="true" />
|
||||
<param name="wmode" value="window" />
|
||||
<param name="scale" value="showall" />
|
||||
<param name="menu" value="true" />
|
||||
<param name="devicefont" value="false" />
|
||||
<param name="salign" value="" />
|
||||
<param name="allowScriptAccess" value="sameDomain" />
|
||||
<!--[if !IE]>-->
|
||||
<object type="application/x-shockwave-flash" data="as2_long.swf" width="550" height="400">
|
||||
<param name="movie" value="as2_long.swf" />
|
||||
<param name="quality" value="high" />
|
||||
<param name="bgcolor" value="#ffffff" />
|
||||
<param name="play" value="true" />
|
||||
<param name="loop" value="true" />
|
||||
<param name="wmode" value="window" />
|
||||
<param name="scale" value="showall" />
|
||||
<param name="menu" value="true" />
|
||||
<param name="devicefont" value="false" />
|
||||
<param name="salign" value="" />
|
||||
<param name="allowScriptAccess" value="sameDomain" />
|
||||
<!--<![endif]-->
|
||||
<a href="http://www.adobe.com/go/getflash">
|
||||
<img src="http://www.adobe.com/images/shared/download_buttons/get_flash_player.gif" alt="Get Adobe Flash player" />
|
||||
</a>
|
||||
<!--[if !IE]>-->
|
||||
</object>
|
||||
<!--<![endif]-->
|
||||
</object>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
||||
BIN
libsrc/ffdec_lib/testdata/as2_long/as2_long.swf
vendored
Normal file
BIN
libsrc/ffdec_lib/testdata/as2_long/as2_long.swf
vendored
Normal file
Binary file not shown.
10023
libsrc/ffdec_lib/testdata/as2_long/as2_long/DOMDocument.xml
vendored
Normal file
10023
libsrc/ffdec_lib/testdata/as2_long/as2_long/DOMDocument.xml
vendored
Normal file
File diff suppressed because it is too large
Load Diff
55
libsrc/ffdec_lib/testdata/as2_long/as2_long/META-INF/metadata.xml
vendored
Normal file
55
libsrc/ffdec_lib/testdata/as2_long/as2_long/META-INF/metadata.xml
vendored
Normal file
@@ -0,0 +1,55 @@
|
||||
<?xpacket begin="" id="W5M0MpCehiHzreSzNTczkc9d"?>
|
||||
<x:xmpmeta xmlns:x="adobe:ns:meta/" x:xmptk="Adobe XMP Core 5.3-c011 66.145661, 2012/02/06-14:56:27 ">
|
||||
<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#">
|
||||
<rdf:Description rdf:about=""
|
||||
xmlns:xmp="http://ns.adobe.com/xap/1.0/">
|
||||
<xmp:CreatorTool>Adobe Flash Professional CS6 - build 481</xmp:CreatorTool>
|
||||
<xmp:CreateDate>2026-03-19T23:26:42-07:00</xmp:CreateDate>
|
||||
<xmp:MetadataDate>2026-03-19T23:27:45-07:00</xmp:MetadataDate>
|
||||
<xmp:ModifyDate>2026-03-19T23:27:45-07:00</xmp:ModifyDate>
|
||||
</rdf:Description>
|
||||
<rdf:Description rdf:about=""
|
||||
xmlns:dc="http://purl.org/dc/elements/1.1/">
|
||||
<dc:format>application/vnd.adobe.fla</dc:format>
|
||||
</rdf:Description>
|
||||
<rdf:Description rdf:about=""
|
||||
xmlns:xmpMM="http://ns.adobe.com/xap/1.0/mm/"
|
||||
xmlns:stEvt="http://ns.adobe.com/xap/1.0/sType/ResourceEvent#">
|
||||
<xmpMM:InstanceID>xmp.iid:E30104E82524F1119CEDF7FC46CFB7AB</xmpMM:InstanceID>
|
||||
<xmpMM:DocumentID>xmp.did:E30104E82524F1119CEDF7FC46CFB7AB</xmpMM:DocumentID>
|
||||
<xmpMM:OriginalDocumentID>xmp.did:E30104E82524F1119CEDF7FC46CFB7AB</xmpMM:OriginalDocumentID>
|
||||
<xmpMM:History>
|
||||
<rdf:Seq>
|
||||
<rdf:li rdf:parseType="Resource">
|
||||
<stEvt:action>created</stEvt:action>
|
||||
<stEvt:instanceID>xmp.iid:E30104E82524F1119CEDF7FC46CFB7AB</stEvt:instanceID>
|
||||
<stEvt:when>2026-03-19T23:26:42-07:00</stEvt:when>
|
||||
<stEvt:softwareAgent>Adobe Flash Professional CS6 - build 481</stEvt:softwareAgent>
|
||||
</rdf:li>
|
||||
</rdf:Seq>
|
||||
</xmpMM:History>
|
||||
</rdf:Description>
|
||||
</rdf:RDF>
|
||||
</x:xmpmeta>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<?xpacket end="w"?>
|
||||
0
libsrc/ffdec_lib/testdata/as2_long/as2_long/MobileSettings.xml
vendored
Normal file
0
libsrc/ffdec_lib/testdata/as2_long/as2_long/MobileSettings.xml
vendored
Normal file
206
libsrc/ffdec_lib/testdata/as2_long/as2_long/PublishSettings.xml
vendored
Normal file
206
libsrc/ffdec_lib/testdata/as2_long/as2_long/PublishSettings.xml
vendored
Normal file
@@ -0,0 +1,206 @@
|
||||
<flash_profiles>
|
||||
<flash_profile version="1.0" name="Default" current="true">
|
||||
<PublishFormatProperties enabled="true">
|
||||
<defaultNames>1</defaultNames>
|
||||
<flash>1</flash>
|
||||
<projectorWin>0</projectorWin>
|
||||
<projectorMac>0</projectorMac>
|
||||
<html>1</html>
|
||||
<gif>0</gif>
|
||||
<jpeg>0</jpeg>
|
||||
<png>0</png>
|
||||
<qt>0</qt>
|
||||
<rnwk>0</rnwk>
|
||||
<swc>0</swc>
|
||||
<flashDefaultName>1</flashDefaultName>
|
||||
<projectorWinDefaultName>1</projectorWinDefaultName>
|
||||
<projectorMacDefaultName>1</projectorMacDefaultName>
|
||||
<htmlDefaultName>1</htmlDefaultName>
|
||||
<gifDefaultName>1</gifDefaultName>
|
||||
<jpegDefaultName>1</jpegDefaultName>
|
||||
<pngDefaultName>1</pngDefaultName>
|
||||
<qtDefaultName>1</qtDefaultName>
|
||||
<rnwkDefaultName>1</rnwkDefaultName>
|
||||
<swcDefaultName>1</swcDefaultName>
|
||||
<flashFileName>Untitled-1.swf</flashFileName>
|
||||
<projectorWinFileName>Untitled-1.exe</projectorWinFileName>
|
||||
<projectorMacFileName>Untitled-1.app</projectorMacFileName>
|
||||
<htmlFileName>Untitled-1.html</htmlFileName>
|
||||
<gifFileName>Untitled-1.gif</gifFileName>
|
||||
<jpegFileName>Untitled-1.jpg</jpegFileName>
|
||||
<pngFileName>Untitled-1.png</pngFileName>
|
||||
<qtFileName>Untitled-1.mov</qtFileName>
|
||||
<rnwkFileName>Untitled-1.smil</rnwkFileName>
|
||||
<swcFileName>Untitled-1.swc</swcFileName>
|
||||
</PublishFormatProperties>
|
||||
<PublishHtmlProperties enabled="true">
|
||||
<VersionDetectionIfAvailable>0</VersionDetectionIfAvailable>
|
||||
<VersionInfo>12,0,0,0;11,2,0,0;11,1,0,0;10,3,0,0;10,2,153,0;10,1,52,0;9,0,124,0;8,0,24,0;7,0,14,0;6,0,79,0;5,0,58,0;4,0,32,0;3,0,8,0;2,0,1,12;1,0,0,1;</VersionInfo>
|
||||
<UsingDefaultContentFilename>1</UsingDefaultContentFilename>
|
||||
<UsingDefaultAlternateFilename>1</UsingDefaultAlternateFilename>
|
||||
<ContentFilename>Untitled-1_content.html</ContentFilename>
|
||||
<AlternateFilename>Untitled-1_alternate.html</AlternateFilename>
|
||||
<UsingOwnAlternateFile>0</UsingOwnAlternateFile>
|
||||
<OwnAlternateFilename></OwnAlternateFilename>
|
||||
<Width>550</Width>
|
||||
<Height>400</Height>
|
||||
<Align>0</Align>
|
||||
<Units>0</Units>
|
||||
<Loop>1</Loop>
|
||||
<StartPaused>0</StartPaused>
|
||||
<Scale>0</Scale>
|
||||
<HorizontalAlignment>1</HorizontalAlignment>
|
||||
<VerticalAlignment>1</VerticalAlignment>
|
||||
<Quality>4</Quality>
|
||||
<DeblockingFilter>0</DeblockingFilter>
|
||||
<WindowMode>0</WindowMode>
|
||||
<DisplayMenu>1</DisplayMenu>
|
||||
<DeviceFont>0</DeviceFont>
|
||||
<TemplateFileName>C:\Users\MyUser\AppData\Local\Adobe\Flash CS6\en_US\Configuration\HTML\Default.html</TemplateFileName>
|
||||
<showTagWarnMsg>1</showTagWarnMsg>
|
||||
</PublishHtmlProperties>
|
||||
<PublishFlashProperties enabled="true">
|
||||
<TopDown></TopDown>
|
||||
<FireFox></FireFox>
|
||||
<Report>0</Report>
|
||||
<Protect>0</Protect>
|
||||
<OmitTraceActions>0</OmitTraceActions>
|
||||
<Quality>80</Quality>
|
||||
<DeblockingFilter>0</DeblockingFilter>
|
||||
<StreamFormat>0</StreamFormat>
|
||||
<StreamCompress>7</StreamCompress>
|
||||
<EventFormat>0</EventFormat>
|
||||
<EventCompress>7</EventCompress>
|
||||
<OverrideSounds>0</OverrideSounds>
|
||||
<Version>15</Version>
|
||||
<ExternalPlayer>FlashPlayer11.2</ExternalPlayer>
|
||||
<ActionScriptVersion>2</ActionScriptVersion>
|
||||
<PackageExportFrame>1</PackageExportFrame>
|
||||
<PackagePaths></PackagePaths>
|
||||
<AS3PackagePaths>.</AS3PackagePaths>
|
||||
<AS3ConfigConst>CONFIG::FLASH_AUTHORING="true";</AS3ConfigConst>
|
||||
<DebuggingPermitted>0</DebuggingPermitted>
|
||||
<DebuggingPassword></DebuggingPassword>
|
||||
<CompressMovie>1</CompressMovie>
|
||||
<CompressionType>0</CompressionType>
|
||||
<InvisibleLayer>1</InvisibleLayer>
|
||||
<DeviceSound>0</DeviceSound>
|
||||
<StreamUse8kSampleRate>0</StreamUse8kSampleRate>
|
||||
<EventUse8kSampleRate>0</EventUse8kSampleRate>
|
||||
<UseNetwork>0</UseNetwork>
|
||||
<DocumentClass></DocumentClass>
|
||||
<AS3Strict>2</AS3Strict>
|
||||
<AS3Coach>4</AS3Coach>
|
||||
<AS3AutoDeclare>4096</AS3AutoDeclare>
|
||||
<AS3Dialect>AS3</AS3Dialect>
|
||||
<AS3ExportFrame>1</AS3ExportFrame>
|
||||
<AS3Optimize>1</AS3Optimize>
|
||||
<ExportSwc>0</ExportSwc>
|
||||
<ScriptStuckDelay>15</ScriptStuckDelay>
|
||||
<IncludeXMP>1</IncludeXMP>
|
||||
<HardwareAcceleration>0</HardwareAcceleration>
|
||||
<AS3Flags>4102</AS3Flags>
|
||||
<DefaultLibraryLinkage>rsl</DefaultLibraryLinkage>
|
||||
<RSLPreloaderMethod>wrap</RSLPreloaderMethod>
|
||||
<RSLPreloaderSWF>$(AppConfig)/ActionScript 3.0/rsls/loader_animation.swf</RSLPreloaderSWF>
|
||||
<LibraryPath>
|
||||
<library-path-entry>
|
||||
<swc-path>$(AppConfig)/ActionScript 3.0/libs</swc-path>
|
||||
<linkage>merge</linkage>
|
||||
</library-path-entry>
|
||||
<library-path-entry>
|
||||
<swc-path>$(AppConfig)/ActionScript 3.0/libs/11.0/textLayout.swc</swc-path>
|
||||
<linkage usesDefault="true">rsl</linkage>
|
||||
<rsl-url>http://fpdownload.adobe.com/pub/swz/tlf/2.0.0.232/textLayout_2.0.0.232.swz</rsl-url>
|
||||
<policy-file-url>http://fpdownload.adobe.com/pub/swz/crossdomain.xml</policy-file-url>
|
||||
<rsl-url>textLayout_2.0.0.232.swz</rsl-url>
|
||||
</library-path-entry>
|
||||
</LibraryPath>
|
||||
<LibraryVersions>
|
||||
<library-version>
|
||||
<swc-path>$(AppConfig)/ActionScript 3.0/libs/11.0/textLayout.swc</swc-path>
|
||||
<feature name="tlfText" majorVersion="2" minorVersion="0" build="232"/>
|
||||
<rsl-url>http://fpdownload.adobe.com/pub/swz/tlf/2.0.0.232/textLayout_2.0.0.232.swz</rsl-url>
|
||||
<policy-file-url>http://fpdownload.adobe.com/pub/swz/crossdomain.xml</policy-file-url>
|
||||
<rsl-url>textLayout_2.0.0.232.swz</rsl-url>
|
||||
</library-version>
|
||||
</LibraryVersions>
|
||||
</PublishFlashProperties>
|
||||
<PublishJpegProperties enabled="true">
|
||||
<Width>550</Width>
|
||||
<Height>400</Height>
|
||||
<Progressive>0</Progressive>
|
||||
<DPI>4718592</DPI>
|
||||
<Size>0</Size>
|
||||
<Quality>80</Quality>
|
||||
<MatchMovieDim>1</MatchMovieDim>
|
||||
</PublishJpegProperties>
|
||||
<PublishRNWKProperties enabled="true">
|
||||
<exportFlash>1</exportFlash>
|
||||
<flashBitRate>0</flashBitRate>
|
||||
<exportAudio>1</exportAudio>
|
||||
<audioFormat>0</audioFormat>
|
||||
<singleRateAudio>0</singleRateAudio>
|
||||
<realVideoRate>100000</realVideoRate>
|
||||
<speed28K>1</speed28K>
|
||||
<speed56K>1</speed56K>
|
||||
<speedSingleISDN>0</speedSingleISDN>
|
||||
<speedDualISDN>0</speedDualISDN>
|
||||
<speedCorporateLAN>0</speedCorporateLAN>
|
||||
<speed256K>0</speed256K>
|
||||
<speed384K>0</speed384K>
|
||||
<speed512K>0</speed512K>
|
||||
<exportSMIL>1</exportSMIL>
|
||||
</PublishRNWKProperties>
|
||||
<PublishGifProperties enabled="true">
|
||||
<Width>550</Width>
|
||||
<Height>400</Height>
|
||||
<Animated>0</Animated>
|
||||
<MatchMovieDim>1</MatchMovieDim>
|
||||
<Loop>1</Loop>
|
||||
<LoopCount></LoopCount>
|
||||
<OptimizeColors>1</OptimizeColors>
|
||||
<Interlace>0</Interlace>
|
||||
<Smooth>1</Smooth>
|
||||
<DitherSolids>0</DitherSolids>
|
||||
<RemoveGradients>0</RemoveGradients>
|
||||
<TransparentOption></TransparentOption>
|
||||
<TransparentAlpha>128</TransparentAlpha>
|
||||
<DitherOption></DitherOption>
|
||||
<PaletteOption></PaletteOption>
|
||||
<MaxColors>255</MaxColors>
|
||||
<PaletteName></PaletteName>
|
||||
</PublishGifProperties>
|
||||
<PublishPNGProperties enabled="true">
|
||||
<Width>550</Width>
|
||||
<Height>400</Height>
|
||||
<OptimizeColors>1</OptimizeColors>
|
||||
<Interlace>0</Interlace>
|
||||
<Transparent>0</Transparent>
|
||||
<Smooth>1</Smooth>
|
||||
<DitherSolids>0</DitherSolids>
|
||||
<RemoveGradients>0</RemoveGradients>
|
||||
<MatchMovieDim>1</MatchMovieDim>
|
||||
<DitherOption></DitherOption>
|
||||
<FilterOption></FilterOption>
|
||||
<PaletteOption></PaletteOption>
|
||||
<BitDepth>24-bit with Alpha</BitDepth>
|
||||
<MaxColors>255</MaxColors>
|
||||
<PaletteName></PaletteName>
|
||||
</PublishPNGProperties>
|
||||
<PublishQTProperties enabled="true">
|
||||
<Width>550</Width>
|
||||
<Height>400</Height>
|
||||
<MatchMovieDim>1</MatchMovieDim>
|
||||
<UseQTSoundCompression>0</UseQTSoundCompression>
|
||||
<AlphaOption></AlphaOption>
|
||||
<LayerOption></LayerOption>
|
||||
<QTSndSettings>00000000</QTSndSettings>
|
||||
<ControllerOption>0</ControllerOption>
|
||||
<Looping>0</Looping>
|
||||
<PausedAtStart>0</PausedAtStart>
|
||||
<PlayEveryFrame>0</PlayEveryFrame>
|
||||
<Flatten>1</Flatten>
|
||||
</PublishQTProperties>
|
||||
</flash_profile>
|
||||
</flash_profiles>
|
||||
1
libsrc/ffdec_lib/testdata/as2_long/as2_long/as2_long.xfl
vendored
Normal file
1
libsrc/ffdec_lib/testdata/as2_long/as2_long/as2_long.xfl
vendored
Normal file
@@ -0,0 +1 @@
|
||||
PROXY-CS5
|
||||
BIN
libsrc/ffdec_lib/testdata/as2_long/as2_long/bin/SymDepend.cache
vendored
Normal file
BIN
libsrc/ffdec_lib/testdata/as2_long/as2_long/bin/SymDepend.cache
vendored
Normal file
Binary file not shown.
BIN
libsrc/ffdec_lib/testdata/as3_long/bin/as3_long.air.swf
vendored
Normal file
BIN
libsrc/ffdec_lib/testdata/as3_long/bin/as3_long.air.swf
vendored
Normal file
Binary file not shown.
BIN
libsrc/ffdec_lib/testdata/as3_long/bin/as3_long.flex.swf
vendored
Normal file
BIN
libsrc/ffdec_lib/testdata/as3_long/bin/as3_long.flex.swf
vendored
Normal file
Binary file not shown.
7
libsrc/ffdec_lib/testdata/as3_long/build_air_debug.bat
vendored
Normal file
7
libsrc/ffdec_lib/testdata/as3_long/build_air_debug.bat
vendored
Normal file
@@ -0,0 +1,7 @@
|
||||
@echo off
|
||||
set COMPILERKIND=air
|
||||
set SWFNAME=as3_long
|
||||
call c:\air\bin\mxmlc.bat -debug=true -output bin/%SWFNAME%.%COMPILERKIND%.swf src/Main.as 1> buildlog.%COMPILERKIND%.txt 2>&1
|
||||
rem set COMPILERKIND=air.optimize
|
||||
rem call c:\air\bin\mxmlc.bat -compiler.optimize -output bin/%SWFNAME%.%COMPILERKIND%.swf src/Main.as 1> buildlog.%COMPILERKIND%.txt 2>&1
|
||||
rem -warnings=false
|
||||
3
libsrc/ffdec_lib/testdata/as3_long/build_both_debug.bat
vendored
Normal file
3
libsrc/ffdec_lib/testdata/as3_long/build_both_debug.bat
vendored
Normal file
@@ -0,0 +1,3 @@
|
||||
@echo off
|
||||
call build_flex_debug.bat
|
||||
call build_air_debug.bat
|
||||
7
libsrc/ffdec_lib/testdata/as3_long/build_flex_debug.bat
vendored
Normal file
7
libsrc/ffdec_lib/testdata/as3_long/build_flex_debug.bat
vendored
Normal file
@@ -0,0 +1,7 @@
|
||||
@echo off
|
||||
set COMPILERKIND=flex
|
||||
set SWFNAME=as3_long
|
||||
call c:\flex\bin\mxmlc.bat -debug=true -output bin/%SWFNAME%.%COMPILERKIND%.swf src/Main.as 1> buildlog.%COMPILERKIND%.txt 2>&1
|
||||
rem set COMPILERKIND=flex.optimize
|
||||
rem call c:\flex\bin\mxmlc.bat -compiler.optimize -output bin/%SWFNAME%.%COMPILERKIND%.swf src/Main.as 1> buildlog.%COMPILERKIND%.txt 2>&1
|
||||
rem -warnings=false
|
||||
28
libsrc/ffdec_lib/testdata/as3_long/src/Main.as
vendored
Normal file
28
libsrc/ffdec_lib/testdata/as3_long/src/Main.as
vendored
Normal file
@@ -0,0 +1,28 @@
|
||||
package
|
||||
{
|
||||
import flash.display.Sprite;
|
||||
import flash.events.Event;
|
||||
import tests.*;
|
||||
/**
|
||||
* ...
|
||||
* @author JPEXS
|
||||
*/
|
||||
public class Main extends Sprite
|
||||
{
|
||||
TestLongScript;
|
||||
|
||||
public function Main()
|
||||
{
|
||||
if (stage) init();
|
||||
else addEventListener(Event.ADDED_TO_STAGE, init);
|
||||
}
|
||||
|
||||
private function init(e:Event = null):void
|
||||
{
|
||||
removeEventListener(Event.ADDED_TO_STAGE, init);
|
||||
// entry point
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
10013
libsrc/ffdec_lib/testdata/as3_long/src/tests/TestLongScript.as
vendored
Normal file
10013
libsrc/ffdec_lib/testdata/as3_long/src/tests/TestLongScript.as
vendored
Normal file
File diff suppressed because it is too large
Load Diff
Reference in New Issue
Block a user