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

Unified Diff: src/x64/macro-assembler-x64.cc

Issue 942513002: Put the type feedback vector in the unoptimized JavaScript frame. (Closed) Base URL: https://chromium.googlesource.com/v8/v8.git@master
Patch Set: ia32 lithium fix. Created 5 years, 10 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
« src/deoptimizer.cc ('K') | « src/x64/macro-assembler-x64.h ('k') | no next file » | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: src/x64/macro-assembler-x64.cc
diff --git a/src/x64/macro-assembler-x64.cc b/src/x64/macro-assembler-x64.cc
index a1172262b06cc82bd8034f5e909f7158c611abcd..7afd0f0c0b151b5613f9f1fb0827f2235aba604a 100644
--- a/src/x64/macro-assembler-x64.cc
+++ b/src/x64/macro-assembler-x64.cc
@@ -5183,6 +5183,24 @@ void MacroAssembler::JumpIfDictionaryInPrototypeChain(
}
+void MacroAssembler::OSRDropVectorFromStack(int unoptimized_slot_count,
+ Register scratch0,
+ Register scratch1) {
+ if (unoptimized_slot_count > 0) {
+ Label loop_start;
+ leap(scratch0,
+ Operand(rbp, JavaScriptFrameConstants::kFeedbackVectorOffset));
+ bind(&loop_start);
+ movp(scratch1, Operand(scratch0, -1 * kPointerSize));
+ movp(Operand(scratch0, 0), scratch1);
+ subp(scratch0, Immediate(kPointerSize));
+ cmpp(scratch0, rsp);
+ j(greater, &loop_start);
+ }
+ addp(rsp, Immediate(kPointerSize));
+}
+
+
void MacroAssembler::TruncatingDiv(Register dividend, int32_t divisor) {
DCHECK(!dividend.is(rax));
DCHECK(!dividend.is(rdx));
« src/deoptimizer.cc ('K') | « src/x64/macro-assembler-x64.h ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698