diff options
Diffstat (limited to 'deps/v8/src/execution/arguments-inl.h')
-rw-r--r-- | deps/v8/src/execution/arguments-inl.h | 30 |
1 files changed, 30 insertions, 0 deletions
diff --git a/deps/v8/src/execution/arguments-inl.h b/deps/v8/src/execution/arguments-inl.h new file mode 100644 index 0000000000..ecdc4ef359 --- /dev/null +++ b/deps/v8/src/execution/arguments-inl.h @@ -0,0 +1,30 @@ +// Copyright 2018 the V8 project authors. All rights reserved. +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. + +#ifndef V8_EXECUTION_ARGUMENTS_INL_H_ +#define V8_EXECUTION_ARGUMENTS_INL_H_ + +#include "src/execution/arguments.h" + +#include "src/handles/handles-inl.h" +#include "src/objects/objects-inl.h" // TODO(jkummerow): Just smi-inl.h. + +namespace v8 { +namespace internal { + +template <class S> +Handle<S> Arguments::at(int index) { + return Handle<S>::cast(at<Object>(index)); +} + +int Arguments::smi_at(int index) { + return Smi::ToInt(Object(*address_of_arg_at(index))); +} + +double Arguments::number_at(int index) { return (*this)[index].Number(); } + +} // namespace internal +} // namespace v8 + +#endif // V8_EXECUTION_ARGUMENTS_INL_H_ |