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

Unified Diff: runtime/vm/assembler_mips.cc

Issue 1189573004: Use object pool for runtime calls. (Closed) Base URL: git@github.com:dart-lang/sdk.git@master
Patch Set: Created 5 years, 6 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/assembler_mips.h ('k') | runtime/vm/assembler_x64.h » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: runtime/vm/assembler_mips.cc
diff --git a/runtime/vm/assembler_mips.cc b/runtime/vm/assembler_mips.cc
index 832cc8b3be3a085d4406608a3d9b51b6a9bde47c..29644ab02a883e289d47516c67114518d9e7824c 100644
--- a/runtime/vm/assembler_mips.cc
+++ b/runtime/vm/assembler_mips.cc
@@ -478,6 +478,15 @@ void Assembler::LoadObject(Register rd, const Object& object) {
}
+void Assembler::LoadExternalLabel(Register rd,
+ const ExternalLabel* label,
+ Patchability patchable) {
+ const int32_t offset = ObjectPool::element_offset(
+ object_pool_wrapper_.FindExternalLabel(label, patchable));
+ LoadWordFromPoolOffset(rd, offset - kHeapObjectTag);
+}
+
+
void Assembler::PushObject(const Object& object) {
ASSERT(!in_delay_slot_);
LoadObject(TMP, object);
@@ -734,7 +743,7 @@ void Assembler::LeaveFrameAndReturn() {
}
-void Assembler::EnterStubFrame(bool load_pp) {
+void Assembler::EnterStubFrame() {
ASSERT(!in_delay_slot_);
SetPrologueOffset();
addiu(SP, SP, Immediate(-4 * kWordSize));
@@ -743,10 +752,8 @@ void Assembler::EnterStubFrame(bool load_pp) {
sw(FP, Address(SP, 1 * kWordSize));
sw(PP, Address(SP, 0 * kWordSize));
addiu(FP, SP, Immediate(1 * kWordSize));
- if (load_pp) {
- // Setup pool pointer for this stub.
- LoadPoolPointer();
- }
+ // Setup pool pointer for this stub.
+ LoadPoolPointer();
}
« no previous file with comments | « runtime/vm/assembler_mips.h ('k') | runtime/vm/assembler_x64.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698