| Index: runtime/vm/stub_code_mips.cc
|
| ===================================================================
|
| --- runtime/vm/stub_code_mips.cc (revision 44977)
|
| +++ runtime/vm/stub_code_mips.cc (working copy)
|
| @@ -41,7 +41,7 @@
|
| const intptr_t exitframe_last_param_slot_from_fp = 2;
|
|
|
| __ SetPrologueOffset();
|
| - __ TraceSimMsg("CallToRuntimeStub");
|
| + __ Comment("CallToRuntimeStub");
|
| __ addiu(SP, SP, Immediate(-3 * kWordSize));
|
| __ sw(ZR, Address(SP, 2 * kWordSize)); // Push 0 for the PC marker
|
| __ sw(RA, Address(SP, 1 * kWordSize));
|
| @@ -101,7 +101,7 @@
|
| ASSERT(retval_offset == 3 * kWordSize);
|
| // Retval is next to 1st argument.
|
| __ delay_slot()->addiu(A3, A2, Immediate(kWordSize));
|
| - __ TraceSimMsg("CallToRuntimeStub return");
|
| + __ Comment("CallToRuntimeStub return");
|
|
|
| // Mark that the isolate is executing Dart code.
|
| __ LoadImmediate(A2, VMTag::kDartTagId);
|
| @@ -150,7 +150,7 @@
|
| const intptr_t retval_offset = NativeArguments::retval_offset();
|
|
|
| __ SetPrologueOffset();
|
| - __ TraceSimMsg("CallNativeCFunctionStub");
|
| + __ Comment("CallNativeCFunctionStub");
|
| __ addiu(SP, SP, Immediate(-3 * kWordSize));
|
| __ sw(ZR, Address(SP, 2 * kWordSize)); // Push 0 for the PC marker
|
| __ sw(RA, Address(SP, 1 * kWordSize));
|
| @@ -218,7 +218,7 @@
|
| #else
|
| __ BranchLink(&NativeEntry::NativeCallWrapperLabel());
|
| #endif
|
| - __ TraceSimMsg("CallNativeCFunctionStub return");
|
| + __ Comment("CallNativeCFunctionStub return");
|
|
|
| // Mark that the isolate is executing Dart code.
|
| __ LoadImmediate(A2, VMTag::kDartTagId);
|
| @@ -248,7 +248,7 @@
|
| const intptr_t retval_offset = NativeArguments::retval_offset();
|
|
|
| __ SetPrologueOffset();
|
| - __ TraceSimMsg("CallNativeCFunctionStub");
|
| + __ Comment("CallNativeCFunctionStub");
|
| __ addiu(SP, SP, Immediate(-3 * kWordSize));
|
| __ sw(ZR, Address(SP, 2 * kWordSize)); // Push 0 for the PC marker
|
| __ sw(RA, Address(SP, 1 * kWordSize));
|
| @@ -311,7 +311,7 @@
|
| // the MIPS ABI.
|
| __ mov(T9, T5);
|
| __ jalr(T9);
|
| - __ TraceSimMsg("CallNativeCFunctionStub return");
|
| + __ Comment("CallNativeCFunctionStub return");
|
|
|
| // Mark that the isolate is executing Dart code.
|
| __ LoadImmediate(A2, VMTag::kDartTagId);
|
| @@ -331,7 +331,7 @@
|
| // Input parameters:
|
| // S4: arguments descriptor array.
|
| void StubCode::GenerateCallStaticFunctionStub(Assembler* assembler) {
|
| - __ TraceSimMsg("CallStaticFunctionStub");
|
| + __ Comment("CallStaticFunctionStub");
|
| __ EnterStubFrame();
|
| // Setup space on stack for return value and preserve arguments descriptor.
|
|
|
| @@ -341,7 +341,7 @@
|
| __ sw(TMP, Address(SP, 0 * kWordSize));
|
|
|
| __ CallRuntime(kPatchStaticCallRuntimeEntry, 0);
|
| - __ TraceSimMsg("CallStaticFunctionStub return");
|
| + __ Comment("CallStaticFunctionStub return");
|
|
|
| // Get Code object result and restore arguments descriptor array.
|
| __ lw(T0, Address(SP, 0 * kWordSize));
|
| @@ -362,7 +362,7 @@
|
| void StubCode::GenerateFixCallersTargetStub(Assembler* assembler) {
|
| // Create a stub frame as we are pushing some objects on the stack before
|
| // calling into the runtime.
|
| - __ TraceSimMsg("FixCallersTarget");
|
| + __ Comment("FixCallersTarget");
|
| __ EnterStubFrame();
|
| // Setup space on stack for return value and preserve arguments descriptor.
|
| __ addiu(SP, SP, Immediate(-2 * kWordSize));
|
| @@ -387,7 +387,7 @@
|
| // Called from object allocate instruction when the allocation stub has been
|
| // disabled.
|
| void StubCode::GenerateFixAllocationStubTargetStub(Assembler* assembler) {
|
| - __ TraceSimMsg("FixAllocationStubTarget");
|
| + __ Comment("FixAllocationStubTarget");
|
| __ EnterStubFrame();
|
| // Setup space on stack for return value.
|
| __ addiu(SP, SP, Immediate(-1 * kWordSize));
|
| @@ -412,7 +412,7 @@
|
| // A0: element type (preserved).
|
| // A1: length (preserved).
|
| void StubCode::GenerateFixAllocateArrayStubTargetStub(Assembler* assembler) {
|
| - __ TraceSimMsg("FixAllocationStubTarget");
|
| + __ Comment("FixAllocationStubTarget");
|
| __ EnterStubFrame();
|
| // Setup space on stack for return value.
|
| __ addiu(SP, SP, Immediate(-3 * kWordSize));
|
| @@ -441,7 +441,7 @@
|
| // FP[kParamEndSlotFromFp + 1]: Last argument.
|
| static void PushArgumentsArray(Assembler* assembler) {
|
| StubCode* stub_code = Isolate::Current()->stub_code();
|
| - __ TraceSimMsg("PushArgumentsArray");
|
| + __ Comment("PushArgumentsArray");
|
| // Allocate array to store arguments of caller.
|
| __ LoadImmediate(A0, reinterpret_cast<intptr_t>(Object::null()));
|
| // A0: Null element type for raw Array.
|
| @@ -449,7 +449,7 @@
|
| const Code& array_stub = Code::Handle(stub_code->GetAllocateArrayStub());
|
| const ExternalLabel array_label(array_stub.EntryPoint());
|
| __ BranchLink(&array_label);
|
| - __ TraceSimMsg("PushArgumentsArray return");
|
| + __ Comment("PushArgumentsArray return");
|
| // V0: newly allocated array.
|
| // A1: Smi-tagged argument count, may be zero (was preserved by the stub).
|
| __ Push(V0); // Array is in V0 and on top of stack.
|
| @@ -513,7 +513,7 @@
|
| kNumberOfFRegisters * kWordSize;
|
|
|
| __ SetPrologueOffset();
|
| - __ TraceSimMsg("GenerateDeoptimizationSequence");
|
| + __ Comment("GenerateDeoptimizationSequence");
|
| // DeoptimizeCopyFrame expects a Dart frame, i.e. EnterDartFrame(0), but there
|
| // is no need to set the correct PC marker or load PP, since they get patched.
|
| __ addiu(SP, SP, Immediate(-kPushedRegistersSize * kWordSize));
|
| @@ -670,7 +670,7 @@
|
| // The newly allocated object is returned in V0.
|
| void StubCode::GeneratePatchableAllocateArrayStub(Assembler* assembler,
|
| uword* entry_patch_offset, uword* patch_code_pc_offset) {
|
| - __ TraceSimMsg("AllocateArrayStub");
|
| + __ Comment("AllocateArrayStub");
|
| *entry_patch_offset = assembler->CodeSize();
|
| Label slow_case;
|
|
|
| @@ -793,7 +793,7 @@
|
| __ sw(A1, Address(SP, 1 * kWordSize));
|
| __ sw(A0, Address(SP, 0 * kWordSize));
|
| __ CallRuntime(kAllocateArrayRuntimeEntry, 2);
|
| - __ TraceSimMsg("AllocateArrayStub return");
|
| + __ Comment("AllocateArrayStub return");
|
| // Pop arguments; result is popped in IP.
|
| __ lw(V0, Address(SP, 2 * kWordSize));
|
| __ lw(A1, Address(SP, 1 * kWordSize));
|
| @@ -815,7 +815,7 @@
|
| // A2 : arguments array.
|
| void StubCode::GenerateInvokeDartCodeStub(Assembler* assembler) {
|
| // Save frame pointer coming in.
|
| - __ TraceSimMsg("InvokeDartCodeStub");
|
| + __ Comment("InvokeDartCodeStub");
|
| __ EnterFrame();
|
|
|
| // Save new context and C++ ABI callee-saved registers.
|
| @@ -901,7 +901,7 @@
|
| // We are calling into Dart code, here, so there is no need to call through
|
| // T9 to match the ABI.
|
| __ jalr(A0); // S4 is the arguments descriptor array.
|
| - __ TraceSimMsg("InvokeDartCodeStub return");
|
| + __ Comment("InvokeDartCodeStub return");
|
|
|
| // Get rid of arguments pushed on the stack.
|
| __ AddImmediate(SP, FP, kExitLinkSlotFromEntryFp * kWordSize);
|
| @@ -948,7 +948,7 @@
|
| // Output:
|
| // V0: new allocated RawContext object.
|
| void StubCode::GenerateAllocateContextStub(Assembler* assembler) {
|
| - __ TraceSimMsg("AllocateContext");
|
| + __ Comment("AllocateContext");
|
| if (FLAG_inline_alloc) {
|
| Label slow_case;
|
| Heap* heap = Isolate::Current()->heap();
|
| @@ -1067,7 +1067,7 @@
|
| // T0: Address (i.e. object) being stored into.
|
| void StubCode::GenerateUpdateStoreBufferStub(Assembler* assembler) {
|
| // Save values being destroyed.
|
| - __ TraceSimMsg("UpdateStoreBufferStub");
|
| + __ Comment("UpdateStoreBufferStub");
|
| __ addiu(SP, SP, Immediate(-3 * kWordSize));
|
| __ sw(T3, Address(SP, 2 * kWordSize));
|
| __ sw(T2, Address(SP, 1 * kWordSize));
|
| @@ -1127,7 +1127,7 @@
|
| __ EnterCallRuntimeFrame(1 * kWordSize);
|
| __ LoadIsolate(A0);
|
| __ CallRuntime(kStoreBufferBlockProcessRuntimeEntry, 1);
|
| - __ TraceSimMsg("UpdateStoreBufferStub return");
|
| + __ Comment("UpdateStoreBufferStub return");
|
| // Restore callee-saved registers, tear down frame.
|
| __ LeaveCallRuntimeFrame();
|
| __ Ret();
|
| @@ -1143,7 +1143,7 @@
|
| void StubCode::GenerateAllocationStubForClass(
|
| Assembler* assembler, const Class& cls,
|
| uword* entry_patch_offset, uword* patch_code_pc_offset) {
|
| - __ TraceSimMsg("AllocationStubForClass");
|
| + __ Comment("AllocationStubForClass");
|
| *entry_patch_offset = assembler->CodeSize();
|
| // The generated code is different if the class is parameterized.
|
| const bool is_cls_parameterized = cls.NumTypeArguments() > 0;
|
| @@ -1259,7 +1259,7 @@
|
| __ sw(T7, Address(SP, 0 * kWordSize));
|
| }
|
| __ CallRuntime(kAllocateObjectRuntimeEntry, 2); // Allocate object.
|
| - __ TraceSimMsg("AllocationStubForClass return");
|
| + __ Comment("AllocationStubForClass return");
|
| // Pop result (newly allocated object).
|
| __ lw(V0, Address(SP, 2 * kWordSize));
|
| __ addiu(SP, SP, Immediate(3 * kWordSize)); // Pop arguments.
|
| @@ -1312,7 +1312,7 @@
|
| // Cannot use function object from ICData as it may be the inlined
|
| // function and not the top-scope function.
|
| void StubCode::GenerateOptimizedUsageCounterIncrement(Assembler* assembler) {
|
| - __ TraceSimMsg("OptimizedUsageCounterIncrement");
|
| + __ Comment("OptimizedUsageCounterIncrement");
|
| Register ic_reg = S5;
|
| Register func_reg = T0;
|
| if (FLAG_trace_optimized_ic_calls) {
|
| @@ -1337,7 +1337,7 @@
|
| // Loads function into 'temp_reg'.
|
| void StubCode::GenerateUsageCounterIncrement(Assembler* assembler,
|
| Register temp_reg) {
|
| - __ TraceSimMsg("UsageCounterIncrement");
|
| + __ Comment("UsageCounterIncrement");
|
| Register ic_reg = S5;
|
| Register func_reg = temp_reg;
|
| ASSERT(temp_reg == T0);
|
| @@ -1433,7 +1433,7 @@
|
| const RuntimeEntry& handle_ic_miss,
|
| Token::Kind kind,
|
| RangeCollectionMode range_collection_mode) {
|
| - __ TraceSimMsg("NArgsCheckInlineCacheStub");
|
| + __ Comment("NArgsCheckInlineCacheStub");
|
| ASSERT(num_args > 0);
|
| #if defined(DEBUG)
|
| { Label ok;
|
| @@ -1572,7 +1572,7 @@
|
| // Pass IC data object.
|
| __ sw(S5, Address(SP, (num_slots - num_args - 4) * kWordSize));
|
| __ CallRuntime(handle_ic_miss, num_args + 1);
|
| - __ TraceSimMsg("NArgsCheckInlineCacheStub return");
|
| + __ Comment("NArgsCheckInlineCacheStub return");
|
| // Pop returned function object into T3.
|
| // Restore arguments descriptor array and IC data array.
|
| __ lw(T3, Address(SP, (num_slots - 3) * kWordSize));
|
| @@ -1760,7 +1760,7 @@
|
| // S5: ICData
|
| void StubCode::GenerateZeroArgsUnoptimizedStaticCallStub(Assembler* assembler) {
|
| GenerateUsageCounterIncrement(assembler, T0);
|
| - __ TraceSimMsg("UnoptimizedStaticCallStub");
|
| + __ Comment("UnoptimizedStaticCallStub");
|
| #if defined(DEBUG)
|
| { Label ok;
|
| // Check that the IC data array has NumArgsTested() == 0.
|
| @@ -1952,7 +1952,7 @@
|
| // A2: cache array.
|
| // Result in V0: null -> not found, otherwise result (true or false).
|
| static void GenerateSubtypeNTestCacheStub(Assembler* assembler, int n) {
|
| - __ TraceSimMsg("SubtypeNTestCacheStub");
|
| + __ Comment("SubtypeNTestCacheStub");
|
| ASSERT((1 <= n) && (n <= 3));
|
| if (n > 1) {
|
| // Get instance type arguments.
|
| @@ -2095,7 +2095,7 @@
|
| // T0: function to be reoptimized.
|
| // S4: argument descriptor (preserved).
|
| void StubCode::GenerateOptimizeFunctionStub(Assembler* assembler) {
|
| - __ TraceSimMsg("OptimizeFunctionStub");
|
| + __ Comment("OptimizeFunctionStub");
|
| __ EnterStubFrame();
|
| __ addiu(SP, SP, Immediate(-3 * kWordSize));
|
| __ sw(S4, Address(SP, 2 * kWordSize));
|
| @@ -2104,7 +2104,7 @@
|
| __ sw(TMP, Address(SP, 1 * kWordSize));
|
| __ sw(T0, Address(SP, 0 * kWordSize));
|
| __ CallRuntime(kOptimizeInvokedFunctionRuntimeEntry, 1);
|
| - __ TraceSimMsg("OptimizeFunctionStub return");
|
| + __ Comment("OptimizeFunctionStub return");
|
| __ lw(T0, Address(SP, 1 * kWordSize)); // Get Code object
|
| __ lw(S4, Address(SP, 2 * kWordSize)); // Restore argument descriptor.
|
| __ addiu(SP, SP, Immediate(3 * kWordSize)); // Discard argument.
|
| @@ -2132,7 +2132,6 @@
|
| const Register right,
|
| const Register temp1,
|
| const Register temp2) {
|
| - __ TraceSimMsg("IdenticalWithNumberCheckStub");
|
| __ Comment("IdenticalWithNumberCheckStub");
|
| Label reference_compare, done, check_mint, check_bigint;
|
| // If any of the arguments is Smi do reference compare.
|
| @@ -2191,7 +2190,7 @@
|
| __ mov(A0, left);
|
| __ mov(A1, right);
|
| __ CallRuntime(kBigintCompareRuntimeEntry, 2);
|
| - __ TraceSimMsg("IdenticalWithNumberCheckStub return");
|
| + __ Comment("IdenticalWithNumberCheckStub return");
|
| // Result in V0, 0 means equal.
|
| __ LeaveStubFrame();
|
| __ b(&done);
|
|
|