Commit 64b4f6e1 authored by Jakob Gruber's avatar Jakob Gruber Committed by Commit Bot

[ia32,root] Port four more trivial builtins

FrameDropperTrampoline
HandleDebuggerStatement
InstantiateAsmJs
NotifyDeoptimized

Bug: v8:6666
Change-Id: I4189e5dcf82eddd1dbce43b10b04c8e6a980123c
Reviewed-on: https://chromium-review.googlesource.com/1235922Reviewed-by: 's avatarSigurd Schneider <sigurds@chromium.org>
Commit-Queue: Jakob Gruber <jgruber@chromium.org>
Cr-Commit-Position: refs/heads/master@{#56081}
parent 194e6c4f
......@@ -1266,6 +1266,8 @@ void Builtins::Generate_InterpreterEnterBytecodeDispatch(MacroAssembler* masm) {
}
void Builtins::Generate_InstantiateAsmJs(MacroAssembler* masm) {
Assembler::SupportsRootRegisterScope supports_root_register(masm);
// ----------- S t a t e -------------
// -- eax : argument count (preserved for callee)
// -- edx : new target (preserved for callee)
......@@ -1317,10 +1319,10 @@ void Builtins::Generate_InstantiateAsmJs(MacroAssembler* masm) {
__ SmiUntag(ecx);
scope.GenerateLeaveFrame();
__ PopReturnAddressTo(ebx);
__ PopReturnAddressTo(edx);
__ inc(ecx);
__ lea(esp, Operand(esp, ecx, times_pointer_size, 0));
__ PushReturnAddressFrom(ebx);
__ PushReturnAddressFrom(edx);
__ ret(0);
__ bind(&failed);
......@@ -1390,6 +1392,8 @@ void Builtins::Generate_ContinueToJavaScriptBuiltinWithResult(
}
void Builtins::Generate_NotifyDeoptimized(MacroAssembler* masm) {
Assembler::SupportsRootRegisterScope supports_root_register(masm);
{
FrameScope scope(masm, StackFrame::INTERNAL);
__ CallRuntime(Runtime::kNotifyDeoptimized);
......
......@@ -16,6 +16,8 @@ namespace internal {
#define __ ACCESS_MASM(masm)
void DebugCodegen::GenerateHandleDebuggerStatement(MacroAssembler* masm) {
Assembler::SupportsRootRegisterScope supports_root_register(masm);
{
FrameScope scope(masm, StackFrame::INTERNAL);
__ CallRuntime(Runtime::kHandleDebuggerStatement, 0);
......@@ -27,6 +29,8 @@ void DebugCodegen::GenerateHandleDebuggerStatement(MacroAssembler* masm) {
}
void DebugCodegen::GenerateFrameDropperTrampoline(MacroAssembler* masm) {
Assembler::SupportsRootRegisterScope supports_root_register(masm);
// Frame is being dropped:
// - Drop to the target frame specified by eax.
// - Look up current function on the frame.
......
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