Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(490)

Side by Side Diff: src/objects-inl.h

Issue 5767002: Merge math function ids and custom call generator ids. (Closed)
Patch Set: arm and x64 fixes. Created 10 years ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
« no previous file with comments | « src/objects.h ('k') | src/runtime.h » ('j') | src/stub-cache.h » ('J')
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright 2010 the V8 project authors. All rights reserved. 1 // Copyright 2010 the V8 project authors. All rights reserved.
2 // Redistribution and use in source and binary forms, with or without 2 // Redistribution and use in source and binary forms, with or without
3 // modification, are permitted provided that the following conditions are 3 // modification, are permitted provided that the following conditions are
4 // met: 4 // met:
5 // 5 //
6 // * Redistributions of source code must retain the above copyright 6 // * Redistributions of source code must retain the above copyright
7 // notice, this list of conditions and the following disclaimer. 7 // notice, this list of conditions and the following disclaimer.
8 // * Redistributions in binary form must reproduce the above 8 // * Redistributions in binary form must reproduce the above
9 // copyright notice, this list of conditions and the following 9 // copyright notice, this list of conditions and the following
10 // disclaimer in the documentation and/or other materials provided 10 // disclaimer in the documentation and/or other materials provided
(...skipping 3018 matching lines...) Expand 10 before | Expand all | Expand 10 after
3029 return function_data()->IsFunctionTemplateInfo(); 3029 return function_data()->IsFunctionTemplateInfo();
3030 } 3030 }
3031 3031
3032 3032
3033 FunctionTemplateInfo* SharedFunctionInfo::get_api_func_data() { 3033 FunctionTemplateInfo* SharedFunctionInfo::get_api_func_data() {
3034 ASSERT(IsApiFunction()); 3034 ASSERT(IsApiFunction());
3035 return FunctionTemplateInfo::cast(function_data()); 3035 return FunctionTemplateInfo::cast(function_data());
3036 } 3036 }
3037 3037
3038 3038
3039 bool SharedFunctionInfo::HasCustomCallGenerator() { 3039 bool SharedFunctionInfo::HasBuiltinFunctionId() {
3040 return function_data()->IsSmi(); 3040 return function_data()->IsSmi();
3041 } 3041 }
3042 3042
3043 3043
3044 MathFunctionId SharedFunctionInfo::math_function_id() { 3044 bool SharedFunctionInfo::IsBuiltinMathFunction() {
3045 return static_cast<MathFunctionId>( 3045 return HasBuiltinFunctionId() && builtin_function_id() >= kMathFloor;
Erik Corry 2010/12/13 14:08:17 Let's have a real name for this, like kFirstMathFu
Vitaly Repeshko 2010/12/14 18:55:33 Done.
3046 (compiler_hints() >> kMathFunctionShift) & kMathFunctionMask);
3047 } 3046 }
3048 3047
3049 3048
3050 void SharedFunctionInfo::set_math_function_id(int math_fn) { 3049 BuiltinFunctionId SharedFunctionInfo::builtin_function_id() {
3051 ASSERT(math_fn <= max_math_id_number()); 3050 ASSERT(HasBuiltinFunctionId());
3052 set_compiler_hints(compiler_hints() | 3051 return static_cast<BuiltinFunctionId>(Smi::cast(function_data())->value());
3053 ((math_fn & kMathFunctionMask) << kMathFunctionShift));
3054 } 3052 }
3055 3053
3056 3054
3057 int SharedFunctionInfo::custom_call_generator_id() {
3058 ASSERT(HasCustomCallGenerator());
3059 return Smi::cast(function_data())->value();
3060 }
3061
3062
3063 int SharedFunctionInfo::code_age() { 3055 int SharedFunctionInfo::code_age() {
3064 return (compiler_hints() >> kCodeAgeShift) & kCodeAgeMask; 3056 return (compiler_hints() >> kCodeAgeShift) & kCodeAgeMask;
3065 } 3057 }
3066 3058
3067 3059
3068 void SharedFunctionInfo::set_code_age(int code_age) { 3060 void SharedFunctionInfo::set_code_age(int code_age) {
3069 set_compiler_hints(compiler_hints() | 3061 set_compiler_hints(compiler_hints() |
3070 ((code_age & kCodeAgeMask) << kCodeAgeShift)); 3062 ((code_age & kCodeAgeMask) << kCodeAgeShift));
3071 } 3063 }
3072 3064
(...skipping 779 matching lines...) Expand 10 before | Expand all | Expand 10 after
3852 #undef WRITE_INT_FIELD 3844 #undef WRITE_INT_FIELD
3853 #undef READ_SHORT_FIELD 3845 #undef READ_SHORT_FIELD
3854 #undef WRITE_SHORT_FIELD 3846 #undef WRITE_SHORT_FIELD
3855 #undef READ_BYTE_FIELD 3847 #undef READ_BYTE_FIELD
3856 #undef WRITE_BYTE_FIELD 3848 #undef WRITE_BYTE_FIELD
3857 3849
3858 3850
3859 } } // namespace v8::internal 3851 } } // namespace v8::internal
3860 3852
3861 #endif // V8_OBJECTS_INL_H_ 3853 #endif // V8_OBJECTS_INL_H_
OLDNEW
« no previous file with comments | « src/objects.h ('k') | src/runtime.h » ('j') | src/stub-cache.h » ('J')

Powered by Google App Engine
This is Rietveld 408576698