Re-arranged intrinsic macros a bit.
Outside of runtime.h, only the distinction between intrinsics returning pairs and those returning pairs is really meaningful, not the internal traditional partitioning of them. BUG=v8:3947 LOG=n Review URL: https://codereview.chromium.org/997933003 Cr-Commit-Position: refs/heads/master@{#27137}
This commit is contained in:
parent
d88656af9f
commit
a69cfac182
@ -14,20 +14,13 @@ namespace internal {
|
|||||||
#define F(name, number_of_args, result_size) \
|
#define F(name, number_of_args, result_size) \
|
||||||
Object* Runtime_##name(int args_length, Object** args_object, \
|
Object* Runtime_##name(int args_length, Object** args_object, \
|
||||||
Isolate* isolate);
|
Isolate* isolate);
|
||||||
|
FOR_EACH_INTRINSIC_RETURN_OBJECT(F)
|
||||||
|
#undef F
|
||||||
|
|
||||||
#define P(name, number_of_args, result_size) \
|
#define P(name, number_of_args, result_size) \
|
||||||
ObjectPair Runtime_##name(int args_length, Object** args_object, \
|
ObjectPair Runtime_##name(int args_length, Object** args_object, \
|
||||||
Isolate* isolate);
|
Isolate* isolate);
|
||||||
|
FOR_EACH_INTRINSIC_RETURN_PAIR(P)
|
||||||
RUNTIME_FUNCTION_LIST_RETURN_OBJECT(F)
|
|
||||||
RUNTIME_FUNCTION_LIST_RETURN_PAIR(P)
|
|
||||||
INLINE_OPTIMIZED_FUNCTION_LIST(F)
|
|
||||||
// Reference implementation for inlined runtime functions. Only used when the
|
|
||||||
// compiler does not support a certain intrinsic. Don't optimize these, but
|
|
||||||
// implement the intrinsic in the respective compiler instead.
|
|
||||||
INLINE_FUNCTION_LIST(F)
|
|
||||||
|
|
||||||
#undef F
|
|
||||||
#undef P
|
#undef P
|
||||||
|
|
||||||
|
|
||||||
|
@ -510,7 +510,7 @@ namespace internal {
|
|||||||
F(MathPowRT, 2, 1)
|
F(MathPowRT, 2, 1)
|
||||||
|
|
||||||
|
|
||||||
#define RUNTIME_FUNCTION_LIST_RETURN_PAIR(F) \
|
#define FOR_EACH_INTRINSIC_RETURN_PAIR(F) \
|
||||||
F(LoadLookupSlot, 2, 2) \
|
F(LoadLookupSlot, 2, 2) \
|
||||||
F(LoadLookupSlotNoReferenceError, 2, 2) \
|
F(LoadLookupSlotNoReferenceError, 2, 2) \
|
||||||
F(ResolvePossiblyDirectEval, 6, 2) \
|
F(ResolvePossiblyDirectEval, 6, 2) \
|
||||||
@ -626,23 +626,6 @@ namespace internal {
|
|||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
|
||||||
#define RUNTIME_FUNCTION_LIST_RETURN_OBJECT(F) \
|
|
||||||
RUNTIME_FUNCTION_LIST_ALWAYS_1(F) \
|
|
||||||
RUNTIME_FUNCTION_LIST_ALWAYS_2(F) \
|
|
||||||
RUNTIME_FUNCTION_LIST_ALWAYS_3(F) \
|
|
||||||
RUNTIME_FUNCTION_LIST_DEBUGGER(F) \
|
|
||||||
RUNTIME_FUNCTION_LIST_I18N_SUPPORT(F)
|
|
||||||
|
|
||||||
|
|
||||||
// RUNTIME_FUNCTION_LIST_ defines the intrinsics typically implemented only
|
|
||||||
// as runtime functions. These come in 2 flavors, either returning an object or
|
|
||||||
// returning a pair.
|
|
||||||
// Entries have the form F(name, number of arguments, number of return values).
|
|
||||||
#define RUNTIME_FUNCTION_LIST(F) \
|
|
||||||
RUNTIME_FUNCTION_LIST_RETURN_OBJECT(F) \
|
|
||||||
RUNTIME_FUNCTION_LIST_RETURN_PAIR(F)
|
|
||||||
|
|
||||||
|
|
||||||
// ----------------------------------------------------------------------------
|
// ----------------------------------------------------------------------------
|
||||||
// INLINE_FUNCTION_LIST defines the intrinsics typically handled specially by
|
// INLINE_FUNCTION_LIST defines the intrinsics typically handled specially by
|
||||||
// the various compilers.
|
// the various compilers.
|
||||||
@ -732,11 +715,24 @@ namespace internal {
|
|||||||
F(GetPrototype, 1, 1)
|
F(GetPrototype, 1, 1)
|
||||||
|
|
||||||
|
|
||||||
#define FOR_EACH_INTRINSIC(F) \
|
#define FOR_EACH_INTRINSIC_RETURN_OBJECT(F) \
|
||||||
RUNTIME_FUNCTION_LIST(F) \
|
RUNTIME_FUNCTION_LIST_ALWAYS_1(F) \
|
||||||
INLINE_FUNCTION_LIST(F) \
|
RUNTIME_FUNCTION_LIST_ALWAYS_2(F) \
|
||||||
|
RUNTIME_FUNCTION_LIST_ALWAYS_3(F) \
|
||||||
|
RUNTIME_FUNCTION_LIST_DEBUGGER(F) \
|
||||||
|
RUNTIME_FUNCTION_LIST_I18N_SUPPORT(F) \
|
||||||
|
INLINE_FUNCTION_LIST(F) \
|
||||||
INLINE_OPTIMIZED_FUNCTION_LIST(F)
|
INLINE_OPTIMIZED_FUNCTION_LIST(F)
|
||||||
|
|
||||||
|
|
||||||
|
// FOR_EACH_INTRINSIC defines the list of all intrinsics, coming in 2 flavors,
|
||||||
|
// either returning an object or a pair.
|
||||||
|
// Entries have the form F(name, number of arguments, number of values).
|
||||||
|
#define FOR_EACH_INTRINSIC(F) \
|
||||||
|
FOR_EACH_INTRINSIC_RETURN_PAIR(F) \
|
||||||
|
FOR_EACH_INTRINSIC_RETURN_OBJECT(F)
|
||||||
|
|
||||||
|
|
||||||
//---------------------------------------------------------------------------
|
//---------------------------------------------------------------------------
|
||||||
// Runtime provides access to all C++ runtime functions.
|
// Runtime provides access to all C++ runtime functions.
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user