| OLD | NEW |
| 1 // Copyright 2012 the V8 project authors. All rights reserved. | 1 // Copyright 2012 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 6229 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 6240 | 6240 |
| 6241 // List of builtin functions we want to identify to improve code | 6241 // List of builtin functions we want to identify to improve code |
| 6242 // generation. | 6242 // generation. |
| 6243 // | 6243 // |
| 6244 // Each entry has a name of a global object property holding an object | 6244 // Each entry has a name of a global object property holding an object |
| 6245 // optionally followed by ".prototype", a name of a builtin function | 6245 // optionally followed by ".prototype", a name of a builtin function |
| 6246 // on the object (the one the id is set for), and a label. | 6246 // on the object (the one the id is set for), and a label. |
| 6247 // | 6247 // |
| 6248 // Installation of ids for the selected builtin functions is handled | 6248 // Installation of ids for the selected builtin functions is handled |
| 6249 // by the bootstrapper. | 6249 // by the bootstrapper. |
| 6250 // | |
| 6251 // NOTE: Order is important: math functions should be at the end of | |
| 6252 // the list and MathFloor should be the first math function. | |
| 6253 #define FUNCTIONS_WITH_ID_LIST(V) \ | 6250 #define FUNCTIONS_WITH_ID_LIST(V) \ |
| 6254 V(Array.prototype, push, ArrayPush) \ | 6251 V(Array.prototype, push, ArrayPush) \ |
| 6255 V(Array.prototype, pop, ArrayPop) \ | 6252 V(Array.prototype, pop, ArrayPop) \ |
| 6256 V(Function.prototype, apply, FunctionApply) \ | 6253 V(Function.prototype, apply, FunctionApply) \ |
| 6257 V(String.prototype, charCodeAt, StringCharCodeAt) \ | 6254 V(String.prototype, charCodeAt, StringCharCodeAt) \ |
| 6258 V(String.prototype, charAt, StringCharAt) \ | 6255 V(String.prototype, charAt, StringCharAt) \ |
| 6259 V(String, fromCharCode, StringFromCharCode) \ | 6256 V(String, fromCharCode, StringFromCharCode) \ |
| 6260 V(Math, floor, MathFloor) \ | 6257 V(Math, floor, MathFloor) \ |
| 6261 V(Math, round, MathRound) \ | 6258 V(Math, round, MathRound) \ |
| 6262 V(Math, ceil, MathCeil) \ | 6259 V(Math, ceil, MathCeil) \ |
| (...skipping 14 matching lines...) Expand all Loading... |
| 6277 V(Math, imul, MathImul) | 6274 V(Math, imul, MathImul) |
| 6278 | 6275 |
| 6279 enum BuiltinFunctionId { | 6276 enum BuiltinFunctionId { |
| 6280 kArrayCode, | 6277 kArrayCode, |
| 6281 #define DECLARE_FUNCTION_ID(ignored1, ignore2, name) \ | 6278 #define DECLARE_FUNCTION_ID(ignored1, ignore2, name) \ |
| 6282 k##name, | 6279 k##name, |
| 6283 FUNCTIONS_WITH_ID_LIST(DECLARE_FUNCTION_ID) | 6280 FUNCTIONS_WITH_ID_LIST(DECLARE_FUNCTION_ID) |
| 6284 #undef DECLARE_FUNCTION_ID | 6281 #undef DECLARE_FUNCTION_ID |
| 6285 // Fake id for a special case of Math.pow. Note, it continues the | 6282 // Fake id for a special case of Math.pow. Note, it continues the |
| 6286 // list of math functions. | 6283 // list of math functions. |
| 6287 kMathPowHalf, | 6284 kMathPowHalf |
| 6288 kFirstMathFunctionId = kMathFloor | |
| 6289 }; | 6285 }; |
| 6290 | 6286 |
| 6291 | 6287 |
| 6292 // SharedFunctionInfo describes the JSFunction information that can be | 6288 // SharedFunctionInfo describes the JSFunction information that can be |
| 6293 // shared by multiple instances of the function. | 6289 // shared by multiple instances of the function. |
| 6294 class SharedFunctionInfo: public HeapObject { | 6290 class SharedFunctionInfo: public HeapObject { |
| 6295 public: | 6291 public: |
| 6296 // [name]: Function name. | 6292 // [name]: Function name. |
| 6297 DECL_ACCESSORS(name, Object) | 6293 DECL_ACCESSORS(name, Object) |
| 6298 | 6294 |
| (...skipping 3978 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 10277 } else { | 10273 } else { |
| 10278 value &= ~(1 << bit_position); | 10274 value &= ~(1 << bit_position); |
| 10279 } | 10275 } |
| 10280 return value; | 10276 return value; |
| 10281 } | 10277 } |
| 10282 }; | 10278 }; |
| 10283 | 10279 |
| 10284 } } // namespace v8::internal | 10280 } } // namespace v8::internal |
| 10285 | 10281 |
| 10286 #endif // V8_OBJECTS_H_ | 10282 #endif // V8_OBJECTS_H_ |
| OLD | NEW |