| Index: src/runtime/runtime-utils.h
|
| diff --git a/src/runtime/runtime-utils.h b/src/runtime/runtime-utils.h
|
| index edddfca2d36ab874f722fdd7adbe30faa2a35872..c44e40208fda9ed8bb9fad5852995349ca89d480 100644
|
| --- a/src/runtime/runtime-utils.h
|
| +++ b/src/runtime/runtime-utils.h
|
| @@ -87,6 +87,16 @@ namespace internal {
|
| RUNTIME_ASSERT(args[index]->ToInt32(&name));
|
|
|
|
|
| +// Cast the given argument to PropertyAttributes and store its value in a
|
| +// variable with the given name. If the argument is not a Smi call or the
|
| +// enum value is out of range, call IllegalOperation and return.
|
| +#define CONVERT_PROPERTY_ATTRIBUTES_CHECKED(name, index) \
|
| + RUNTIME_ASSERT(args[index]->IsSmi()); \
|
| + RUNTIME_ASSERT( \
|
| + (args.smi_at(index) & ~(READ_ONLY | DONT_ENUM | DONT_DELETE)) == 0); \
|
| + PropertyAttributes name = static_cast<PropertyAttributes>(args.smi_at(index));
|
| +
|
| +
|
| // A mechanism to return a pair of Object pointers in registers (if possible).
|
| // How this is achieved is calling convention-dependent.
|
| // All currently supported x86 compiles uses calling conventions that are cdecl
|
|
|