From f6360b343efe11f292f8c79f976712e4d4281ff8 Mon Sep 17 00:00:00 2001 From: Lord-McSweeney Date: Tue, 20 Jun 2023 18:19:56 -0700 Subject: [PATCH] avm2: flash.sampler stubs --- core/src/avm2/globals/flash/sampler.as | 26 +++++++++++++++++++ .../flash/sampler/DeleteObjectSample.as | 8 ++++++ .../globals/flash/sampler/NewObjectSample.as | 20 ++++++++++++++ core/src/avm2/globals/flash/sampler/Sample.as | 8 ++++++ .../avm2/globals/flash/sampler/StackFrame.as | 20 ++++++++++++++ core/src/avm2/globals/globals.as | 10 +++++-- 6 files changed, 90 insertions(+), 2 deletions(-) create mode 100644 core/src/avm2/globals/flash/sampler.as create mode 100644 core/src/avm2/globals/flash/sampler/DeleteObjectSample.as create mode 100644 core/src/avm2/globals/flash/sampler/NewObjectSample.as create mode 100644 core/src/avm2/globals/flash/sampler/Sample.as create mode 100644 core/src/avm2/globals/flash/sampler/StackFrame.as diff --git a/core/src/avm2/globals/flash/sampler.as b/core/src/avm2/globals/flash/sampler.as new file mode 100644 index 000000000..a67ba1b26 --- /dev/null +++ b/core/src/avm2/globals/flash/sampler.as @@ -0,0 +1,26 @@ +package flash.sampler { + import __ruffle__.stub_method; + + public function getSize(param1:*):Number { + stub_method("flash.sampler", "getSize"); + return 0; + } + + public function clearSamples():void { + stub_method("flash.sampler", "clearSamples"); + } + + public function startSampling():void { + stub_method("flash.sampler", "startSampling"); + } + + public function stopSampling():void { + stub_method("flash.sampler", "stopSampling"); + } + + public function getSamples():Object { + stub_method("flash.sampler", "getSamples"); + return {}; + } +} + diff --git a/core/src/avm2/globals/flash/sampler/DeleteObjectSample.as b/core/src/avm2/globals/flash/sampler/DeleteObjectSample.as new file mode 100644 index 000000000..56407a5cc --- /dev/null +++ b/core/src/avm2/globals/flash/sampler/DeleteObjectSample.as @@ -0,0 +1,8 @@ +package flash.sampler { + public final class DeleteObjectSample extends Sample { + public const id:Number; + + public const size:Number; + } +} + diff --git a/core/src/avm2/globals/flash/sampler/NewObjectSample.as b/core/src/avm2/globals/flash/sampler/NewObjectSample.as new file mode 100644 index 000000000..315a56ce6 --- /dev/null +++ b/core/src/avm2/globals/flash/sampler/NewObjectSample.as @@ -0,0 +1,20 @@ +package flash.sampler { + import __ruffle__.stub_getter; + + public final class NewObjectSample extends Sample { + public const id:Number; + + public const type:Class; + + public function get object():* { + stub_getter("flash.sampler.NewObjectSample", "object"); + return {}; + } + + public function get size():Number { + stub_getter("flash.sampler.NewObjectSample", "size"); + return 0; + } + } +} + diff --git a/core/src/avm2/globals/flash/sampler/Sample.as b/core/src/avm2/globals/flash/sampler/Sample.as new file mode 100644 index 000000000..6ec2cc0c5 --- /dev/null +++ b/core/src/avm2/globals/flash/sampler/Sample.as @@ -0,0 +1,8 @@ +package flash.sampler { + public class Sample { + public const time:Number; + + public const stack:Array; + } +} + diff --git a/core/src/avm2/globals/flash/sampler/StackFrame.as b/core/src/avm2/globals/flash/sampler/StackFrame.as new file mode 100644 index 000000000..4a365d9d9 --- /dev/null +++ b/core/src/avm2/globals/flash/sampler/StackFrame.as @@ -0,0 +1,20 @@ +package flash.sampler { + public final class StackFrame { + public const name:String; + + public const file:String; + + public const line:uint; + + public const scriptID:Number; + + public function toString():String { + if (this.file) { + return this.name + "()[" + this.file + ":" + this.line + "]"; + } else { + return this.name + "()"; + } + } + } +} + diff --git a/core/src/avm2/globals/globals.as b/core/src/avm2/globals/globals.as index a2bdb0d8b..0c298493d 100644 --- a/core/src/avm2/globals/globals.as +++ b/core/src/avm2/globals/globals.as @@ -275,12 +275,18 @@ include "flash/net/URLStream.as" include "flash/net/URLVariables.as" include "flash/net/XMLSocket.as" -include "flash/profiler/Telemetry.as" include "flash/printing/PrintJob.as" -include "flash/printing/PrintJobOrientation.as" include "flash/printing/PrintJobOptions.as" +include "flash/printing/PrintJobOrientation.as" include "flash/profiler.as" +include "flash/profiler/Telemetry.as" + +include "flash/sampler.as" +include "flash/sampler/Sample.as" +include "flash/sampler/DeleteObjectSample.as" // DeleteObjectSample and NewObjectSample extend Sample +include "flash/sampler/NewObjectSample.as" +include "flash/sampler/StackFrame.as" include "flash/security/CertificateStatus.as" include "flash/security/X509Certificate.as"