Commit 3145505a authored by Georg Neis's avatar Georg Neis Committed by Commit Bot

[turbofan] Support new.target in the serializer.

Bug: v8:7790
Change-Id: Ie98cff6f8b1f184c8152952cc3d39e373c93565d
Reviewed-on: https://chromium-review.googlesource.com/c/1435943
Commit-Queue: Georg Neis <neis@chromium.org>
Reviewed-by: 's avatarMaya Lekova <mslekova@chromium.org>
Cr-Commit-Position: refs/heads/master@{#59118}
parent 147d0501
......@@ -5,6 +5,7 @@
#ifndef V8_COMPILER_SERIALIZER_FOR_BACKGROUND_COMPILATION_H_
#define V8_COMPILER_SERIALIZER_FOR_BACKGROUND_COMPILATION_H_
#include "src/base/optional.h"
#include "src/handles.h"
#include "src/maybe-handles.h"
#include "src/zone/zone-containers.h"
......@@ -143,6 +144,7 @@ class Hints {
void Add(const Hints& other);
void Clear();
bool IsEmpty() const;
private:
ZoneVector<Handle<Object>> constants_;
......@@ -164,6 +166,7 @@ class SerializerForBackgroundCompilation {
private:
SerializerForBackgroundCompilation(JSHeapBroker* broker, Zone* zone,
CompilationSubject function,
base::Optional<Hints> new_target,
const HintsVector& arguments);
void TraverseBytecode();
......@@ -175,13 +178,16 @@ class SerializerForBackgroundCompilation {
class Environment;
void ProcessCallOrConstruct(const Hints& callee, const HintsVector& arguments,
void ProcessCallOrConstruct(const Hints& callee,
base::Optional<Hints> new_target,
const HintsVector& arguments,
bool with_spread = false);
void ProcessCallVarArgs(interpreter::BytecodeArrayIterator* iterator,
ConvertReceiverMode receiver_mode,
bool with_spread = false);
Hints RunChildSerializer(CompilationSubject function,
base::Optional<Hints> new_target,
const HintsVector& arguments, bool with_spread);
JSHeapBroker* broker() const { return broker_; }
......
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