Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(84)

Unified Diff: runtime/vm/stub_code_ia32.cc

Issue 2974233002: VM: Re-format to use at most one newline between functions (Closed)
Patch Set: Rebase and merge Created 3 years, 5 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « runtime/vm/stub_code_dbc.cc ('k') | runtime/vm/stub_code_ia32_test.cc » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: runtime/vm/stub_code_ia32.cc
diff --git a/runtime/vm/stub_code_ia32.cc b/runtime/vm/stub_code_ia32.cc
index 240d1fd19025736ee9315d29a9c07ba5141e1557..1d6ee7c81e4a2eb0c6b96655e0517ed3ca2e1110 100644
--- a/runtime/vm/stub_code_ia32.cc
+++ b/runtime/vm/stub_code_ia32.cc
@@ -9,8 +9,8 @@
#include "vm/compiler.h"
#include "vm/dart_entry.h"
#include "vm/flow_graph_compiler.h"
-#include "vm/instructions.h"
#include "vm/heap.h"
+#include "vm/instructions.h"
#include "vm/object_store.h"
#include "vm/resolver.h"
#include "vm/scavenger.h"
@@ -18,7 +18,6 @@
#include "vm/stub_code.h"
#include "vm/tags.h"
-
#define __ assembler->
namespace dart {
@@ -93,14 +92,12 @@ void StubCode::GenerateCallToRuntimeStub(Assembler* assembler) {
__ ret();
}
-
// Print the stop message.
DEFINE_LEAF_RUNTIME_ENTRY(void, PrintStopMessage, 1, const char* message) {
OS::Print("Stop message: %s\n", message);
}
END_LEAF_RUNTIME_ENTRY
-
// Input parameters:
// ESP : points to return address.
// EAX : stop message (const char*).
@@ -113,7 +110,6 @@ void StubCode::GeneratePrintStopMessageStub(Assembler* assembler) {
__ ret();
}
-
// Input parameters:
// ESP : points to return address.
// ESP + 4 : address of return value.
@@ -135,7 +131,6 @@ static void GenerateCallNativeWithWrapperStub(Assembler* assembler,
__ EnterFrame(0);
-
// Save exit frame information to enable stack walking as we are about
// to transition to dart VM code.
__ movl(Address(THR, Thread::top_exit_frame_info_offset()), EBP);
@@ -184,19 +179,16 @@ static void GenerateCallNativeWithWrapperStub(Assembler* assembler,
__ ret();
}
-
void StubCode::GenerateCallNoScopeNativeStub(Assembler* assembler) {
ExternalLabel wrapper(NativeEntry::NoScopeNativeCallWrapperEntry());
GenerateCallNativeWithWrapperStub(assembler, &wrapper);
}
-
void StubCode::GenerateCallAutoScopeNativeStub(Assembler* assembler) {
ExternalLabel wrapper(NativeEntry::AutoScopeNativeCallWrapperEntry());
GenerateCallNativeWithWrapperStub(assembler, &wrapper);
}
-
// Input parameters:
// ESP : points to return address.
// ESP + 4 : address of return value.
@@ -261,7 +253,6 @@ void StubCode::GenerateCallBootstrapNativeStub(Assembler* assembler) {
__ ret();
}
-
// Input parameters:
// EDX: arguments descriptor array.
void StubCode::GenerateCallStaticFunctionStub(Assembler* assembler) {
@@ -278,7 +269,6 @@ void StubCode::GenerateCallStaticFunctionStub(Assembler* assembler) {
__ jmp(ECX);
}
-
// Called from a static call only when an invalid code has been entered
// (invalid because its function was optimized or deoptimized).
// EDX: arguments descriptor array.
@@ -297,7 +287,6 @@ void StubCode::GenerateFixCallersTargetStub(Assembler* assembler) {
__ int3();
}
-
// Called from object allocate instruction when the allocation stub has been
// disabled.
void StubCode::GenerateFixAllocationStubTargetStub(Assembler* assembler) {
@@ -311,7 +300,6 @@ void StubCode::GenerateFixAllocationStubTargetStub(Assembler* assembler) {
__ int3();
}
-
// Input parameters:
// EDX: smi-tagged argument count, may be zero.
// EBP[kParamEndSlotFromFp + 1]: last argument.
@@ -343,7 +331,6 @@ static void PushArgumentsArray(Assembler* assembler) {
__ j(POSITIVE, &loop, Assembler::kNearJump);
}
-
// Used by eager and lazy deoptimization. Preserve result in EAX if necessary.
// This stub translates optimized frame into unoptimized frame. The optimized
// frame can contain values in registers and on stack, the unoptimized
@@ -475,7 +462,6 @@ static void GenerateDeoptimizationSequence(Assembler* assembler,
// The caller is responsible for emitting the return instruction.
}
-
// EAX: result, must be preserved
void StubCode::GenerateDeoptimizeLazyFromReturnStub(Assembler* assembler) {
// Return address for "call" to deopt stub.
@@ -484,7 +470,6 @@ void StubCode::GenerateDeoptimizeLazyFromReturnStub(Assembler* assembler) {
__ ret();
}
-
// EAX: exception, must be preserved
// EDX: stacktrace, must be preserved
void StubCode::GenerateDeoptimizeLazyFromThrowStub(Assembler* assembler) {
@@ -494,13 +479,11 @@ void StubCode::GenerateDeoptimizeLazyFromThrowStub(Assembler* assembler) {
__ ret();
}
-
void StubCode::GenerateDeoptimizeStub(Assembler* assembler) {
GenerateDeoptimizationSequence(assembler, kEagerDeopt);
__ ret();
}
-
static void GenerateDispatcherCode(Assembler* assembler,
Label* call_target_function) {
__ Comment("NoSuchMethodDispatch");
@@ -539,7 +522,6 @@ static void GenerateDispatcherCode(Assembler* assembler,
__ ret();
}
-
void StubCode::GenerateMegamorphicMissStub(Assembler* assembler) {
__ EnterStubFrame();
// Load the receiver into EAX. The argument count in the arguments
@@ -576,7 +558,6 @@ void StubCode::GenerateMegamorphicMissStub(Assembler* assembler) {
__ jmp(EBX);
}
-
// Called for inline allocation of arrays.
// Input parameters:
// EDX : Array length as Smi (must be preserved).
@@ -714,7 +695,6 @@ void StubCode::GenerateAllocateArrayStub(Assembler* assembler) {
__ ret();
}
-
// Called when invoking dart code from C++ (VM code).
// Input parameters:
// ESP : points to return address.
@@ -824,7 +804,6 @@ void StubCode::GenerateInvokeDartCodeStub(Assembler* assembler) {
__ ret();
}
-
// Called for inline allocation of contexts.
// Input:
// EDX: number of context variables.
@@ -955,7 +934,6 @@ void StubCode::GenerateAllocateContextStub(Assembler* assembler) {
__ ret();
}
-
// Helper stub to implement Assembler::StoreIntoObject.
// Input parameters:
// EDX: Address being stored
@@ -1023,7 +1001,6 @@ void StubCode::GenerateUpdateStoreBufferStub(Assembler* assembler) {
__ ret();
}
-
// Called for inline allocation of objects.
// Input parameters:
// ESP + 4 : type arguments object (only if class is parameterized).
@@ -1151,7 +1128,6 @@ void StubCode::GenerateAllocationStubForClass(Assembler* assembler,
__ ret();
}
-
// Called for invoking "dynamic noSuchMethod(Invocation invocation)" function
// from the entry code of a dart function after an error in passed argument
// name or number is detected.
@@ -1189,7 +1165,6 @@ void StubCode::GenerateCallClosureNoSuchMethodStub(Assembler* assembler) {
__ int3();
}
-
// Cannot use function object from ICData as it may be the inlined
// function and not the top-scope function.
void StubCode::GenerateOptimizedUsageCounterIncrement(Assembler* assembler) {
@@ -1211,7 +1186,6 @@ void StubCode::GenerateOptimizedUsageCounterIncrement(Assembler* assembler) {
__ incl(FieldAddress(func_reg, Function::usage_counter_offset()));
}
-
// Loads function into 'temp_reg'.
void StubCode::GenerateUsageCounterIncrement(Assembler* assembler,
Register temp_reg) {
@@ -1225,7 +1199,6 @@ void StubCode::GenerateUsageCounterIncrement(Assembler* assembler,
}
}
-
// Note: ECX must be preserved.
// Attempt a quick Smi operation for known operations ('kind'). The ICData
// must have been primed with a Smi/Smi check that will be used for counting
@@ -1299,7 +1272,6 @@ static void EmitFastSmiOp(Assembler* assembler,
__ ret();
}
-
// Generate inline cache check for 'num_args'.
// ECX: Inline cache data object.
// TOS(0): return address
@@ -1400,7 +1372,7 @@ void StubCode::GenerateNArgsCheckInlineCacheStub(
__ movl(EDI, Address(ESP, EAX, TIMES_2, -kWordSize));
__ LoadTaggedClassIdMayBeSmi(EDI, EDI);
__ cmpl(EDI, Address(EBX, kWordSize)); // Class id match?
- __ j(EQUAL, &found); // Break.
+ __ j(EQUAL, &found); // Break.
__ Bind(&update);
__ addl(EBX, Immediate(entry_size)); // Next entry.
@@ -1476,7 +1448,6 @@ void StubCode::GenerateNArgsCheckInlineCacheStub(
}
}
-
// Use inline cache data array to invoke the target or continue in inline
// cache miss handler. Stub for 1-argument check (receiver class).
// ECX: Inline cache data object.
@@ -1493,7 +1464,6 @@ void StubCode::GenerateOneArgCheckInlineCacheStub(Assembler* assembler) {
assembler, 1, kInlineCacheMissHandlerOneArgRuntimeEntry, Token::kILLEGAL);
}
-
void StubCode::GenerateTwoArgsCheckInlineCacheStub(Assembler* assembler) {
GenerateUsageCounterIncrement(assembler, EBX);
GenerateNArgsCheckInlineCacheStub(assembler, 2,
@@ -1501,28 +1471,24 @@ void StubCode::GenerateTwoArgsCheckInlineCacheStub(Assembler* assembler) {
Token::kILLEGAL);
}
-
void StubCode::GenerateSmiAddInlineCacheStub(Assembler* assembler) {
GenerateUsageCounterIncrement(assembler, EBX);
GenerateNArgsCheckInlineCacheStub(
assembler, 2, kInlineCacheMissHandlerTwoArgsRuntimeEntry, Token::kADD);
}
-
void StubCode::GenerateSmiSubInlineCacheStub(Assembler* assembler) {
GenerateUsageCounterIncrement(assembler, EBX);
GenerateNArgsCheckInlineCacheStub(
assembler, 2, kInlineCacheMissHandlerTwoArgsRuntimeEntry, Token::kSUB);
}
-
void StubCode::GenerateSmiEqualInlineCacheStub(Assembler* assembler) {
GenerateUsageCounterIncrement(assembler, EBX);
GenerateNArgsCheckInlineCacheStub(
assembler, 2, kInlineCacheMissHandlerTwoArgsRuntimeEntry, Token::kEQ);
}
-
// Use inline cache data array to invoke the target or continue in inline
// cache miss handler. Stub for 1-argument check (receiver class).
// EDI: function which counter needs to be incremented.
@@ -1542,7 +1508,6 @@ void StubCode::GenerateOneArgOptimizedCheckInlineCacheStub(
Token::kILLEGAL, true /* optimized */);
}
-
void StubCode::GenerateTwoArgsOptimizedCheckInlineCacheStub(
Assembler* assembler) {
GenerateOptimizedUsageCounterIncrement(assembler);
@@ -1551,7 +1516,6 @@ void StubCode::GenerateTwoArgsOptimizedCheckInlineCacheStub(
Token::kILLEGAL, true /* optimized */);
}
-
// Intermediary stub between a static call and its target. ICData contains
// the target function and the call count.
// ECX: ICData
@@ -1613,21 +1577,18 @@ void StubCode::GenerateZeroArgsUnoptimizedStaticCallStub(Assembler* assembler) {
}
}
-
void StubCode::GenerateOneArgUnoptimizedStaticCallStub(Assembler* assembler) {
GenerateUsageCounterIncrement(assembler, EBX);
GenerateNArgsCheckInlineCacheStub(
assembler, 1, kStaticCallMissHandlerOneArgRuntimeEntry, Token::kILLEGAL);
}
-
void StubCode::GenerateTwoArgsUnoptimizedStaticCallStub(Assembler* assembler) {
GenerateUsageCounterIncrement(assembler, EBX);
GenerateNArgsCheckInlineCacheStub(
assembler, 2, kStaticCallMissHandlerTwoArgsRuntimeEntry, Token::kILLEGAL);
}
-
// Stub for compiling a function and jumping to the compiled code.
// ECX: IC-Data (for methods).
// EDX: Arguments descriptor.
@@ -1647,7 +1608,6 @@ void StubCode::GenerateLazyCompileStub(Assembler* assembler) {
__ jmp(EAX);
}
-
// ECX: Contains an ICData.
void StubCode::GenerateICCallBreakpointStub(Assembler* assembler) {
__ EnterStubFrame();
@@ -1665,7 +1625,6 @@ void StubCode::GenerateICCallBreakpointStub(Assembler* assembler) {
__ jmp(EAX);
}
-
void StubCode::GenerateRuntimeCallBreakpointStub(Assembler* assembler) {
__ EnterStubFrame();
// Room for result. Debugger stub returns address of the
@@ -1679,7 +1638,6 @@ void StubCode::GenerateRuntimeCallBreakpointStub(Assembler* assembler) {
__ jmp(EAX);
}
-
// Called only from unoptimized code.
void StubCode::GenerateDebugStepCheckStub(Assembler* assembler) {
// Check single stepping.
@@ -1698,7 +1656,6 @@ void StubCode::GenerateDebugStepCheckStub(Assembler* assembler) {
__ jmp(&done_stepping, Assembler::kNearJump);
}
-
// Used to check class and type arguments. Arguments passed on stack:
// TOS + 0: return address.
// TOS + 1: function type arguments (only if n == 4, can be raw_null).
@@ -1791,7 +1748,6 @@ static void GenerateSubtypeNTestCacheStub(Assembler* assembler, int n) {
__ ret();
}
-
// Used to check class and type arguments. Arguments passed on stack:
// TOS + 0: return address.
// TOS + 1: raw_null.
@@ -1803,7 +1759,6 @@ void StubCode::GenerateSubtype1TestCacheStub(Assembler* assembler) {
GenerateSubtypeNTestCacheStub(assembler, 1);
}
-
// Used to check class and type arguments. Arguments passed on stack:
// TOS + 0: return address.
// TOS + 1: raw_null.
@@ -1815,7 +1770,6 @@ void StubCode::GenerateSubtype2TestCacheStub(Assembler* assembler) {
GenerateSubtypeNTestCacheStub(assembler, 2);
}
-
// Used to check class and type arguments. Arguments passed on stack:
// TOS + 0: return address.
// TOS + 1: function type arguments (can be raw_null).
@@ -1827,7 +1781,6 @@ void StubCode::GenerateSubtype4TestCacheStub(Assembler* assembler) {
GenerateSubtypeNTestCacheStub(assembler, 4);
}
-
// Return the current stack pointer address, used to do stack alignment checks.
// TOS + 0: return address
// Result in EAX.
@@ -1836,7 +1789,6 @@ void StubCode::GenerateGetCStackPointerStub(Assembler* assembler) {
__ ret();
}
-
// Jump to a frame on the call stack.
// TOS + 0: return address
// TOS + 1: program_counter
@@ -1856,7 +1808,6 @@ void StubCode::GenerateJumpToFrameStub(Assembler* assembler) {
__ jmp(EBX); // Jump to the exception handler code.
}
-
// Run an exception handler. Execution comes from JumpToFrame stub.
//
// The arguments are stored in the Thread object.
@@ -1879,7 +1830,6 @@ void StubCode::GenerateRunExceptionHandlerStub(Assembler* assembler) {
__ jmp(EBX); // Jump to continuation point.
}
-
// Deoptimize a frame on the call stack before rewinding.
// The arguments are stored in the Thread object.
// No result.
@@ -1895,7 +1845,6 @@ void StubCode::GenerateDeoptForRewindStub(Assembler* assembler) {
__ int3();
}
-
// Calls to the runtime to optimize the given function.
// EBX: function to be reoptimized.
// EDX: argument descriptor (preserved).
@@ -1915,7 +1864,6 @@ void StubCode::GenerateOptimizeFunctionStub(Assembler* assembler) {
__ int3();
}
-
// Does identical check (object references are equal or not equal) with special
// checks for boxed numbers.
// Return ZF set.
@@ -1978,7 +1926,6 @@ static void GenerateIdenticalWithNumberCheckStub(Assembler* assembler,
__ Bind(&done);
}
-
// Called only from unoptimized code. All relevant registers have been saved.
// TOS + 0: return address
// TOS + 1: right argument.
@@ -2013,7 +1960,6 @@ void StubCode::GenerateUnoptimizedIdenticalWithNumberCheckStub(
}
}
-
// Called from optimized code only.
// TOS + 0: return address
// TOS + 1: right argument.
@@ -2030,7 +1976,6 @@ void StubCode::GenerateOptimizedIdenticalWithNumberCheckStub(
__ ret();
}
-
// Called from megamorphic calls.
// EBX: receiver
// ECX: MegamorphicCache (preserved)
@@ -2110,32 +2055,26 @@ void StubCode::GenerateICCallThroughFunctionStub(Assembler* assembler) {
__ int3();
}
-
void StubCode::GenerateICCallThroughCodeStub(Assembler* assembler) {
__ int3();
}
-
void StubCode::GenerateUnlinkedCallStub(Assembler* assembler) {
__ int3();
}
-
void StubCode::GenerateSingleTargetCallStub(Assembler* assembler) {
__ int3();
}
-
void StubCode::GenerateMonomorphicMissStub(Assembler* assembler) {
__ int3();
}
-
void StubCode::GenerateFrameAwaitingMaterializationStub(Assembler* assembler) {
__ int3();
}
-
void StubCode::GenerateAsynchronousGapMarkerStub(Assembler* assembler) {
__ int3();
}
« no previous file with comments | « runtime/vm/stub_code_dbc.cc ('k') | runtime/vm/stub_code_ia32_test.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698