From 639430b41c531286381d54ba10dcbfeb913a562c Mon Sep 17 00:00:00 2001 From: Brian Fiete Date: Fri, 22 May 2020 06:40:06 -0700 Subject: [PATCH] Test updates --- BeefRT/dbg/gc.cpp | 5 ++- BeefRT/dbg/gc.h | 2 ++ BeefTools/TestDLL/TestDLL.cpp | 13 ++++--- IDE/BeefProj.toml | 4 +-- IDE/mintest/minlib/src/System/TClass.bf | 22 ++++++------ IDE/mintest/src/main.bf | 9 +++-- IDE/mintest/src/main3.bf | 47 ++++++++++++++++++++++--- 7 files changed, 73 insertions(+), 29 deletions(-) diff --git a/BeefRT/dbg/gc.cpp b/BeefRT/dbg/gc.cpp index 7fb3d3ae..2edaacd3 100644 --- a/BeefRT/dbg/gc.cpp +++ b/BeefRT/dbg/gc.cpp @@ -1457,7 +1457,10 @@ bool BFGC::ScanThreads() mQueueMarkObjects = true; ConservativeScan(regVals, regValCount * sizeof(intptr)); - thread->CalcStackStart(); + intptr prevStackStart = thread->mStackStart; + thread->CalcStackStart(); + + thread->mLastStackPtr = stackPtr; int length = thread->mStackStart - stackPtr; AdjustStackPtr(stackPtr, length); diff --git a/BeefRT/dbg/gc.h b/BeefRT/dbg/gc.h index daa60674..3b30d037 100644 --- a/BeefRT/dbg/gc.h +++ b/BeefRT/dbg/gc.h @@ -174,12 +174,14 @@ public: BfpThreadId mThreadId; void* mTEB; intptr mStackStart; + intptr mLastStackPtr; bool mRunning; Beefy::Array mStackMarkableObjects; ThreadInfo() { mThreadId = 0; + mLastStackPtr = 0; mThreadHandle = NULL; mThreadInfo = NULL; mTEB = NULL; diff --git a/BeefTools/TestDLL/TestDLL.cpp b/BeefTools/TestDLL/TestDLL.cpp index 57ff62f5..d889c73b 100644 --- a/BeefTools/TestDLL/TestDLL.cpp +++ b/BeefTools/TestDLL/TestDLL.cpp @@ -167,6 +167,13 @@ void Test3(int a) extern "C" __declspec(dllexport) void Test2(int aa, int bb, int cc, int dd) { + int a = 1234; + + for (int i = 0; i < 100; i++) + { + a++; + } + Test3(10); char* strP = "Hey yo"; @@ -195,11 +202,7 @@ __declspec(dllexport) void Test2(int aa, int bb, int cc, int dd) str.push_back((char)0x85); std::wstring str2 = L"Hey Dude"; str2.push_back((wchar_t)0x85); - str2.push_back((wchar_t)0x263a); - - int a = 123; - int b = 234; - int c = 345; + str2.push_back((wchar_t)0x263a); } struct ALLEGRO_COLOR diff --git a/IDE/BeefProj.toml b/IDE/BeefProj.toml index 5594b8be..549a1821 100644 --- a/IDE/BeefProj.toml +++ b/IDE/BeefProj.toml @@ -24,7 +24,7 @@ OtherLinkFlags = "" TargetDirectory = "$(WorkspaceDir)/dist" TargetName = "BeefIDE_d" OtherLinkFlags = "$(LinkFlags) Comdlg32.lib kernel32.lib user32.lib advapi32.lib shell32.lib IDEHelper64_d.lib" -DebugCommandArguments = "-proddir=C:\\Beef\\IDE" +DebugCommandArguments = "-proddir=C:\\Beef\\IDEHelper\\Tests" DebugWorkingDirectory = "c:\\Beef" EnvironmentVars = ["_NO_DEBUG_HEAP=1"] @@ -36,7 +36,7 @@ OtherLinkFlags = "" TargetDirectory = "$(WorkspaceDir)/dist" TargetName = "BeefIDE" OtherLinkFlags = "Comdlg32.lib kernel32.lib user32.lib advapi32.lib shell32.lib Beef042RT64.lib IDEHelper64.lib BeefySysLib64.lib" -DebugCommandArguments = "-proddir=C:\\Beef\\IDE\\Tests\\Test1 -test=scripts\\Data01.txt -testNoExit" +DebugCommandArguments = "-proddir=C:\\Beef\\IDE\\mintest" DebugWorkingDirectory = "$(ProjectDir)\\dist" EnvironmentVars = ["_NO_DEBUG_HEAP=1"] diff --git a/IDE/mintest/minlib/src/System/TClass.bf b/IDE/mintest/minlib/src/System/TClass.bf index 5a824196..23686bdf 100644 --- a/IDE/mintest/minlib/src/System/TClass.bf +++ b/IDE/mintest/minlib/src/System/TClass.bf @@ -2,25 +2,25 @@ using System; -class Foogie where T : IHashable +interface IItem { - public void Do() - { - T val = default; - val.GetHashCode(); - } + public int Id { get; set; } } -struct Zorbble +class Mintesto { - public int mA; - public void MainMethod() + public static T Alloc() where T : new { - + return new T(); } - static void Zoff() + public static void Dispose(mut T val) where T : IDisposable { + val.Dispose(); + } + public static int Get(mut T val) where T : IItem + { + return val.Id; } } \ No newline at end of file diff --git a/IDE/mintest/src/main.bf b/IDE/mintest/src/main.bf index f5522a51..d820a050 100644 --- a/IDE/mintest/src/main.bf +++ b/IDE/mintest/src/main.bf @@ -194,6 +194,8 @@ namespace Hey.Dude.Bro PrintF("C...\n"); Thread.Sleep(1000); PrintF("D...\n"); + + int abc = 234; } static int GetVal() @@ -237,12 +239,9 @@ namespace Hey.Dude.Bro public static int Main(String[] args) { + //Test2(1, 2, 3, 4); + Blurg.Hey(); - while (true) - { - new String(); - GC.Collect(); - } return 1; } diff --git a/IDE/mintest/src/main3.bf b/IDE/mintest/src/main3.bf index ed34b8a8..e20d8d3d 100644 --- a/IDE/mintest/src/main3.bf +++ b/IDE/mintest/src/main3.bf @@ -5,18 +5,55 @@ using System.Diagnostics; using System.Threading; using System.Collections; +namespace SDL +{ + struct SDL_Cursor + { + int mA; + } +} + +struct ImGui +{ + public enum MouseCursor + { + A, + B, + C, + D, + COUNT + } +} struct Blurg { + //private static SDL.SDL_Cursor*[(.)ImGui.MouseCursor.COUNT] g_MouseCursors = .(null,); + + private static SDL.SDL_Cursor*[(.)ImGui.MouseCursor.COUNT] g_MouseCursors = .(null,); - public static void Hey() { - String str = new String(); - delete str; + let cur = new SDL.SDL_Cursor(); - //Internal.Malloc(123); - Internal.StdMalloc(123); + g_MouseCursors[0] = cur; + g_MouseCursors[1] = cur; + g_MouseCursors[2] = cur; } } + + +class TestClass +{ + public void GetIt(ref TestClass tc) + { + + } + + public this() + { + /*let a = &this; + + GetIt(ref this);*/ + } +} \ No newline at end of file