mirror of
https://github.com/RGBCube/serenity
synced 2025-05-31 10:28:10 +00:00
LibJS/Bytecode: Remove the PushDeclarativeEnvironment instruction
This commit is contained in:
parent
c810d4784e
commit
dd466ec83a
3 changed files with 0 additions and 39 deletions
|
@ -89,7 +89,6 @@
|
|||
O(NewString) \
|
||||
O(NewTypeError) \
|
||||
O(Not) \
|
||||
O(PushDeclarativeEnvironment) \
|
||||
O(PutById) \
|
||||
O(PutByIdWithThis) \
|
||||
O(PutByValue) \
|
||||
|
|
|
@ -1038,14 +1038,6 @@ ThrowCompletionOr<void> ContinuePendingUnwind::execute_impl(Bytecode::Interprete
|
|||
__builtin_unreachable();
|
||||
}
|
||||
|
||||
ThrowCompletionOr<void> PushDeclarativeEnvironment::execute_impl(Bytecode::Interpreter& interpreter) const
|
||||
{
|
||||
auto environment = interpreter.vm().heap().allocate_without_realm<DeclarativeEnvironment>(interpreter.vm().lexical_environment());
|
||||
interpreter.vm().running_execution_context().lexical_environment = environment;
|
||||
interpreter.vm().running_execution_context().variable_environment = environment;
|
||||
return {};
|
||||
}
|
||||
|
||||
ThrowCompletionOr<void> Yield::execute_impl(Bytecode::Interpreter& interpreter) const
|
||||
{
|
||||
auto yielded_value = interpreter.accumulator().value_or(js_undefined());
|
||||
|
@ -1592,21 +1584,6 @@ DeprecatedString ContinuePendingUnwind::to_deprecated_string_impl(Bytecode::Exec
|
|||
return DeprecatedString::formatted("ContinuePendingUnwind resume:{}", m_resume_target);
|
||||
}
|
||||
|
||||
DeprecatedString PushDeclarativeEnvironment::to_deprecated_string_impl(Bytecode::Executable const& executable) const
|
||||
{
|
||||
StringBuilder builder;
|
||||
builder.append("PushDeclarativeEnvironment"sv);
|
||||
if (!m_variables.is_empty()) {
|
||||
builder.append(" {"sv);
|
||||
Vector<DeprecatedString> names;
|
||||
for (auto& it : m_variables)
|
||||
names.append(executable.get_string(it.key));
|
||||
builder.append('}');
|
||||
builder.join(", "sv, names);
|
||||
}
|
||||
return builder.to_deprecated_string();
|
||||
}
|
||||
|
||||
DeprecatedString Yield::to_deprecated_string_impl(Bytecode::Executable const&) const
|
||||
{
|
||||
if (m_continuation_label.has_value())
|
||||
|
|
|
@ -1319,21 +1319,6 @@ private:
|
|||
Label m_continuation_label;
|
||||
};
|
||||
|
||||
class PushDeclarativeEnvironment final : public Instruction {
|
||||
public:
|
||||
explicit PushDeclarativeEnvironment(HashMap<u32, Variable> variables)
|
||||
: Instruction(Type::PushDeclarativeEnvironment, sizeof(*this))
|
||||
, m_variables(move(variables))
|
||||
{
|
||||
}
|
||||
|
||||
ThrowCompletionOr<void> execute_impl(Bytecode::Interpreter&) const;
|
||||
DeprecatedString to_deprecated_string_impl(Bytecode::Executable const&) const;
|
||||
|
||||
private:
|
||||
HashMap<u32, Variable> m_variables;
|
||||
};
|
||||
|
||||
class GetIterator final : public Instruction {
|
||||
public:
|
||||
GetIterator(IteratorHint hint = IteratorHint::Sync)
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue