Author: hbelusca
Date: Sun Oct 12 14:08:14 2014
New Revision: 64698
URL: http://svn.reactos.org/svn/reactos?rev=64698&view=rev
Log:
[FAST486]: speed up things a bit when we're reading prefixes, by really going to the next instruction (no jump to the end of the do{}while() loop, then restart).
Modified:
trunk/reactos/lib/fast486/fast486.c
Modified: trunk/reactos/lib/fast486/fast486.c
URL: http://svn.reactos.org/svn/reactos/trunk/reactos/lib/fast486/fast486.c?rev=…
====================…
[View More]==========================================================
--- trunk/reactos/lib/fast486/fast486.c [iso-8859-1] (original)
+++ trunk/reactos/lib/fast486/fast486.c [iso-8859-1] Sun Oct 12 14:08:14 2014
@@ -54,6 +54,7 @@
/* Main execution loop */
do
{
+NextInst:
/* Check if this is a new instruction */
if (State->PrefixFlags == 0) State->SavedInstPtr = State->InstPtr;
@@ -72,7 +73,7 @@
CurrentHandler(State, Opcode);
/* If this is a prefix, go to the next instruction immediately */
- if (CurrentHandler == Fast486OpcodePrefix) continue;
+ if (CurrentHandler == Fast486OpcodePrefix) goto NextInst;
/* A non-prefix opcode has been executed, reset the prefix flags */
State->PrefixFlags = 0;
@@ -104,8 +105,7 @@
State->IntStatus = FAST486_INT_EXECUTE;
}
}
- while ((CurrentHandler == Fast486OpcodePrefix) ||
- (Command == FAST486_CONTINUE) ||
+ while ((Command == FAST486_CONTINUE) ||
(Command == FAST486_STEP_OVER && ProcedureCallCount > 0) ||
(Command == FAST486_STEP_OUT && ProcedureCallCount >= 0));
}
[View Less]
Author: tkreuzer
Date: Sun Oct 12 14:05:49 2014
New Revision: 64697
URL: http://svn.reactos.org/svn/reactos?rev=64697&view=rev
Log:
[NTOSKRNL]
Make sure APCs are disabled when acquiring MmSectionCommitMutex.
Modified:
trunk/reactos/ntoskrnl/mm/ARM3/section.c
Modified: trunk/reactos/ntoskrnl/mm/ARM3/section.c
URL: http://svn.reactos.org/svn/reactos/trunk/reactos/ntoskrnl/mm/ARM3/section.c…
==============================================================================
--- trunk/…
[View More]reactos/ntoskrnl/mm/ARM3/section.c [iso-8859-1] (original)
+++ trunk/reactos/ntoskrnl/mm/ARM3/section.c [iso-8859-1] Sun Oct 12 14:05:49 2014
@@ -1391,7 +1391,7 @@
TempPte = Segment->SegmentPteTemplate;
/* Acquire the commit lock and loop all prototype PTEs to be committed */
- KeAcquireGuardedMutexUnsafe(&MmSectionCommitMutex);
+ KeAcquireGuardedMutex(&MmSectionCommitMutex);
while (PointerPte < LastPte)
{
/* Make sure the PTE is already invalid */
@@ -1417,7 +1417,7 @@
ASSERT(Segment->NumberOfCommittedPages <= Segment->TotalNumberOfPtes);
/* Now that we're done, release the lock */
- KeReleaseGuardedMutexUnsafe(&MmSectionCommitMutex);
+ KeReleaseGuardedMutex(&MmSectionCommitMutex);
}
/* Is it SEC_BASED, or did the caller manually specify an address? */
[View Less]