OLD | NEW |
1 // Copyright 2015 the V8 project authors. All rights reserved. | 1 // Copyright 2015 the V8 project authors. All rights reserved. |
2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 #ifndef V8_OBJECTS_H_ | 5 #ifndef V8_OBJECTS_H_ |
6 #define V8_OBJECTS_H_ | 6 #define V8_OBJECTS_H_ |
7 | 7 |
8 #include <iosfwd> | 8 #include <iosfwd> |
9 | 9 |
10 #include "src/assert-scope.h" | 10 #include "src/assert-scope.h" |
(...skipping 6630 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
6641 V(Math, clz32, MathClz32) \ | 6641 V(Math, clz32, MathClz32) \ |
6642 V(Math, fround, MathFround) \ | 6642 V(Math, fround, MathFround) \ |
6643 V(Math, trunc, MathTrunc) | 6643 V(Math, trunc, MathTrunc) |
6644 | 6644 |
6645 #define ATOMIC_FUNCTIONS_WITH_ID_LIST(V) \ | 6645 #define ATOMIC_FUNCTIONS_WITH_ID_LIST(V) \ |
6646 V(Atomics, load, AtomicsLoad) \ | 6646 V(Atomics, load, AtomicsLoad) \ |
6647 V(Atomics, store, AtomicsStore) | 6647 V(Atomics, store, AtomicsStore) |
6648 | 6648 |
6649 enum BuiltinFunctionId { | 6649 enum BuiltinFunctionId { |
6650 kArrayCode, | 6650 kArrayCode, |
6651 kGeneratorObjectNext, | |
6652 kGeneratorObjectReturn, | |
6653 kGeneratorObjectThrow, | |
6654 #define DECLARE_FUNCTION_ID(ignored1, ignore2, name) \ | 6651 #define DECLARE_FUNCTION_ID(ignored1, ignore2, name) \ |
6655 k##name, | 6652 k##name, |
6656 FUNCTIONS_WITH_ID_LIST(DECLARE_FUNCTION_ID) | 6653 FUNCTIONS_WITH_ID_LIST(DECLARE_FUNCTION_ID) |
6657 ATOMIC_FUNCTIONS_WITH_ID_LIST(DECLARE_FUNCTION_ID) | 6654 ATOMIC_FUNCTIONS_WITH_ID_LIST(DECLARE_FUNCTION_ID) |
6658 #undef DECLARE_FUNCTION_ID | 6655 #undef DECLARE_FUNCTION_ID |
6659 // Fake id for a special case of Math.pow. Note, it continues the | 6656 // Fake id for a special case of Math.pow. Note, it continues the |
6660 // list of math functions. | 6657 // list of math functions. |
6661 kMathPowHalf | 6658 kMathPowHalf |
6662 }; | 6659 }; |
6663 | 6660 |
(...skipping 730 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
7394 // Layout description. | 7391 // Layout description. |
7395 static const int kFunctionOffset = JSObject::kHeaderSize; | 7392 static const int kFunctionOffset = JSObject::kHeaderSize; |
7396 static const int kContextOffset = kFunctionOffset + kPointerSize; | 7393 static const int kContextOffset = kFunctionOffset + kPointerSize; |
7397 static const int kReceiverOffset = kContextOffset + kPointerSize; | 7394 static const int kReceiverOffset = kContextOffset + kPointerSize; |
7398 static const int kInputOffset = kReceiverOffset + kPointerSize; | 7395 static const int kInputOffset = kReceiverOffset + kPointerSize; |
7399 static const int kContinuationOffset = kInputOffset + kPointerSize; | 7396 static const int kContinuationOffset = kInputOffset + kPointerSize; |
7400 static const int kOperandStackOffset = kContinuationOffset + kPointerSize; | 7397 static const int kOperandStackOffset = kContinuationOffset + kPointerSize; |
7401 static const int kSize = kOperandStackOffset + kPointerSize; | 7398 static const int kSize = kOperandStackOffset + kPointerSize; |
7402 | 7399 |
7403 // Resume mode, for use by runtime functions. | 7400 // Resume mode, for use by runtime functions. |
7404 enum ResumeMode { NEXT, RETURN, THROW }; | 7401 enum ResumeMode { kNext, kReturn, kThrow }; |
7405 | 7402 |
7406 private: | 7403 private: |
7407 DISALLOW_IMPLICIT_CONSTRUCTORS(JSGeneratorObject); | 7404 DISALLOW_IMPLICIT_CONSTRUCTORS(JSGeneratorObject); |
7408 }; | 7405 }; |
7409 | 7406 |
7410 | 7407 |
7411 // Representation for module instance objects. | 7408 // Representation for module instance objects. |
7412 class JSModule: public JSObject { | 7409 class JSModule: public JSObject { |
7413 public: | 7410 public: |
7414 // [context]: the context holding the module's locals, or undefined if none. | 7411 // [context]: the context holding the module's locals, or undefined if none. |
(...skipping 3503 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
10918 } | 10915 } |
10919 return value; | 10916 return value; |
10920 } | 10917 } |
10921 }; | 10918 }; |
10922 | 10919 |
10923 | 10920 |
10924 } // NOLINT, false-positive due to second-order macros. | 10921 } // NOLINT, false-positive due to second-order macros. |
10925 } // NOLINT, false-positive due to second-order macros. | 10922 } // NOLINT, false-positive due to second-order macros. |
10926 | 10923 |
10927 #endif // V8_OBJECTS_H_ | 10924 #endif // V8_OBJECTS_H_ |
OLD | NEW |