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

Side by Side Diff: src/objects.h

Issue 2079613003: [generators] Implement %GeneratorGetSourcePosition. (Closed) Base URL: https://chromium.googlesource.com/v8/v8.git@master
Patch Set: rename again, and move subtraction to runtime Created 4 years, 6 months 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/mips64/builtins-mips64.cc ('k') | src/objects.cc » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
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 7345 matching lines...) Expand 10 before | Expand all | Expand 10 after
7356 public: 7356 public:
7357 // [function]: The function corresponding to this generator object. 7357 // [function]: The function corresponding to this generator object.
7358 DECL_ACCESSORS(function, JSFunction) 7358 DECL_ACCESSORS(function, JSFunction)
7359 7359
7360 // [context]: The context of the suspended computation. 7360 // [context]: The context of the suspended computation.
7361 DECL_ACCESSORS(context, Context) 7361 DECL_ACCESSORS(context, Context)
7362 7362
7363 // [receiver]: The receiver of the suspended computation. 7363 // [receiver]: The receiver of the suspended computation.
7364 DECL_ACCESSORS(receiver, Object) 7364 DECL_ACCESSORS(receiver, Object)
7365 7365
7366 // [input]: The most recent input value. 7366 // [input_or_debug_pos]
7367 DECL_ACCESSORS(input, Object) 7367 // For executing generators: the most recent input value.
7368 // For suspended new-style generators: debug information (bytecode offset).
7369 // For suspended old-style generators: unused.
7370 // There is currently no need to remember the most recent input value for a
7371 // suspended generator.
7372 DECL_ACCESSORS(input_or_debug_pos, Object)
7368 7373
7369 // [resume_mode]: The most recent resume mode. 7374 // [resume_mode]: The most recent resume mode.
7370 enum ResumeMode { kNext, kReturn, kThrow }; 7375 enum ResumeMode { kNext, kReturn, kThrow };
7371 DECL_INT_ACCESSORS(resume_mode) 7376 DECL_INT_ACCESSORS(resume_mode)
7372 7377
7373 // [continuation]: Offset into code of continuation. 7378 // [continuation]
7374 // 7379 //
7375 // A positive offset indicates a suspended generator. The special 7380 // A positive value indicates a suspended generator. The special
7376 // kGeneratorExecuting and kGeneratorClosed values indicate that a generator 7381 // kGeneratorExecuting and kGeneratorClosed values indicate that a generator
7377 // cannot be resumed. 7382 // cannot be resumed.
7378 inline int continuation() const; 7383 inline int continuation() const;
7379 inline void set_continuation(int continuation); 7384 inline void set_continuation(int continuation);
7380 inline bool is_closed(); 7385 inline bool is_closed() const;
7381 inline bool is_executing(); 7386 inline bool is_executing() const;
7382 inline bool is_suspended(); 7387 inline bool is_suspended() const;
7388
7389 // For suspended generators: the source position at which the generator
7390 // is suspended.
7391 int source_position() const;
7383 7392
7384 // [operand_stack]: Saved operand stack. 7393 // [operand_stack]: Saved operand stack.
7385 DECL_ACCESSORS(operand_stack, FixedArray) 7394 DECL_ACCESSORS(operand_stack, FixedArray)
7386 7395
7387 DECLARE_CAST(JSGeneratorObject) 7396 DECLARE_CAST(JSGeneratorObject)
7388 7397
7389 // Dispatched behavior. 7398 // Dispatched behavior.
7390 DECLARE_VERIFIER(JSGeneratorObject) 7399 DECLARE_VERIFIER(JSGeneratorObject)
7391 7400
7392 // Magic sentinel values for the continuation. 7401 // Magic sentinel values for the continuation.
7393 static const int kGeneratorExecuting = -2; 7402 static const int kGeneratorExecuting = -2;
7394 static const int kGeneratorClosed = -1; 7403 static const int kGeneratorClosed = -1;
7395 7404
7396 // Layout description. 7405 // Layout description.
7397 static const int kFunctionOffset = JSObject::kHeaderSize; 7406 static const int kFunctionOffset = JSObject::kHeaderSize;
7398 static const int kContextOffset = kFunctionOffset + kPointerSize; 7407 static const int kContextOffset = kFunctionOffset + kPointerSize;
7399 static const int kReceiverOffset = kContextOffset + kPointerSize; 7408 static const int kReceiverOffset = kContextOffset + kPointerSize;
7400 static const int kInputOffset = kReceiverOffset + kPointerSize; 7409 static const int kInputOrDebugPosOffset = kReceiverOffset + kPointerSize;
7401 static const int kResumeModeOffset = kInputOffset + kPointerSize; 7410 static const int kResumeModeOffset = kInputOrDebugPosOffset + kPointerSize;
7402 static const int kContinuationOffset = kResumeModeOffset + kPointerSize; 7411 static const int kContinuationOffset = kResumeModeOffset + kPointerSize;
7403 static const int kOperandStackOffset = kContinuationOffset + kPointerSize; 7412 static const int kOperandStackOffset = kContinuationOffset + kPointerSize;
7404 static const int kSize = kOperandStackOffset + kPointerSize; 7413 static const int kSize = kOperandStackOffset + kPointerSize;
7405 7414
7406 private: 7415 private:
7407 DISALLOW_IMPLICIT_CONSTRUCTORS(JSGeneratorObject); 7416 DISALLOW_IMPLICIT_CONSTRUCTORS(JSGeneratorObject);
7408 }; 7417 };
7409 7418
7410 7419
7411 // Representation for module instance objects. 7420 // Representation for module instance objects.
(...skipping 3394 matching lines...) Expand 10 before | Expand all | Expand 10 after
10806 } 10815 }
10807 return value; 10816 return value;
10808 } 10817 }
10809 }; 10818 };
10810 10819
10811 10820
10812 } // NOLINT, false-positive due to second-order macros. 10821 } // NOLINT, false-positive due to second-order macros.
10813 } // NOLINT, false-positive due to second-order macros. 10822 } // NOLINT, false-positive due to second-order macros.
10814 10823
10815 #endif // V8_OBJECTS_H_ 10824 #endif // V8_OBJECTS_H_
OLDNEW
« no previous file with comments | « src/mips64/builtins-mips64.cc ('k') | src/objects.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698