Commit ea2007d8 authored by Yang Guo's avatar Yang Guo Committed by Commit Bot

Fix register allocation in tail-call to TFJ builtin.

R=jgruber@chromium.org

Bug: v8:178
Change-Id: Id00ae14cb5a50e560f93249eed4e4b20aa0a6ce7
Reviewed-on: https://chromium-review.googlesource.com/970467
Commit-Queue: Yang Guo <yangguo@chromium.org>
Reviewed-by: 's avatarJakob Gruber <jgruber@chromium.org>
Reviewed-by: 's avatarMichael Starzinger <mstarzinger@chromium.org>
Cr-Commit-Position: refs/heads/master@{#52058}
parent 78f88ef0
......@@ -207,6 +207,7 @@ TF_BUILTIN(DebugBreakTrampoline, CodeStubAssembler) {
CAST(LoadObjectField(shared, SharedFunctionInfo::kCodeOffset));
// Use the ConstructTrampolineDescriptor because it passes new.target too in
// case this is called during construct.
CSA_ASSERT(this, IsCode(code));
ConstructTrampolineDescriptor descriptor(isolate());
TailCallStub(descriptor, code, context, function, new_target, arg_count);
}
......
......@@ -891,12 +891,8 @@ void InstructionSelector::InitializeCallBuffer(Node* call, CallBuffer* buffer,
? g.UseImmediate(callee)
: call_use_fixed_target_reg
? g.UseFixed(callee, kJavaScriptCallCodeStartRegister)
#ifdef V8_EMBEDDED_BUILTINS
: is_tail_call ? g.UseUniqueRegister(callee)
: g.UseRegister(callee));
#else
: g.UseRegister(callee));
#endif
break;
case CallDescriptor::kCallAddress:
buffer->instruction_args.push_back(
......
......@@ -133,9 +133,6 @@
'test-serialize/StartupSerializerTwice': [SKIP],
'test-serialize/StartupSerializerOnceRunScript': [SKIP],
'test-serialize/StartupSerializerTwiceRunScript': [SKIP],
# https://crbug.com/v8/7543
'test-debug/BreakPointJSBuiltin': [SKIP],
}], # ALWAYS
##############################################################################
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment