Changeset 400 for trunk/Include/system/gc.sbp
- Timestamp:
- Jan 22, 2008, 9:19:59 PM (17 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/Include/system/gc.sbp
r399 r400 156 156 157 157 ' スレッド管理用オブジェクトを生成 158 _System_pobj_AllThreads = New _System_CThreadCollection()158 _System_pobj_AllThreads = New Detail._System_CThreadCollection() 159 159 160 160 ' 自身のThreadオブジェクトを生成 161 Dim thread As Thread(hTargetThread,GetCurrentThreadId(),0)161 Dim thread = New Thread(hTargetThread, GetCurrentThreadId(), 0) 162 162 thread.Name = "main" 163 163 164 _System_pobj_AllThreads->BeginThread( ObjPtr( thread ),_System_gc_StackRoot_StartPtr As *LONG_PTR)164 _System_pobj_AllThreads->BeginThread(thread, _System_gc_StackRoot_StartPtr As *LONG_PTR) 165 165 166 166 End Sub … … 356 356 ExitProcess(-1) 357 357 End If 358 Throw New System.OutOfMemoryException(ActiveBasic.Strings.SPrintf("malloc: Failed to allocate %zu byte(s) memory.", New System.UInt64(size))) 358 Dim s2 = Nothing As Object '#145 359 s2 = New System.UInt64(size) 360 Throw New System.OutOfMemoryException(ActiveBasic.Strings.SPrintf("malloc: Failed to allocate %zu (%&zx) byte(s) memory.", s2, s2)) 359 361 End If 360 362 End Sub … … 550 552 Dim i As Long 551 553 For i=0 To ELM(_System_pobj_AllThreads->ThreadNum) 552 Dim thread = _System_pobj_AllThreads-> ppobj_Thread[i]553 If threadThen554 Dim thread = _System_pobj_AllThreads->collection[i].thread 555 If Not ActiveBasic.IsNothing(thread) Then 554 556 FillMemory(VarPtr(Context),SizeOf(CONTEXT),0) 555 557 Context.ContextFlags=CONTEXT_CONTROL 556 If thread ->__GetContext(Context)=0 Then558 If thread.__GetContext(Context)=0 Then 557 559 _System_DebugOnly_OutputDebugString(Ex"レジスタ情報の取得に失敗しました。\r\n") 558 560 End If … … 564 566 #endif 565 567 566 Dim size=(_System_pobj_AllThreads-> pStackBase[i]As LONG_PTR)-(NowSp As LONG_PTR)568 Dim size=(_System_pobj_AllThreads->collection[i].stackBase As LONG_PTR)-(NowSp As LONG_PTR) 567 569 Dim maxNum = (size\SizeOf(LONG_PTR)) As Long 568 570 … … 666 668 */ 667 669 Function SweepOnOtherThread() As Long 670 Imports System.Threading.Detail 668 671 EnterCriticalSection(CriticalSection) 669 670 672 671 673 Dim startTime = GetTickCount()
Note:
See TracChangeset
for help on using the changeset viewer.