Index: src/interpreter/interpreter-intrinsics-generator.cc |
diff --git a/src/interpreter/interpreter-intrinsics-generator.cc b/src/interpreter/interpreter-intrinsics-generator.cc |
index d9ca1e21eea27d57251adbd735ba4f6be0a56de4..6c8bb1390a1562b7f56ec5682f7f032d4c3163d4 100644 |
--- a/src/interpreter/interpreter-intrinsics-generator.cc |
+++ b/src/interpreter/interpreter-intrinsics-generator.cc |
@@ -405,6 +405,35 @@ Node* IntrinsicsGenerator::CreateJSGeneratorObject(Node* input, Node* arg_count, |
Builtins::kCreateGeneratorObject); |
} |
+Node* IntrinsicsGenerator::GeneratorGetContext(Node* args_reg, Node* arg_count, |
+ Node* context) { |
+ Node* generator = __ LoadRegister(args_reg); |
+ Node* const value = |
+ __ LoadObjectField(generator, JSGeneratorObject::kContextOffset); |
rmcilroy
2017/05/17 14:48:28
Maybe there is a case for having a LoadObjectField
adamk
2017/05/17 17:35:31
I like this idea, I was curious why we didn't have
mvstanton
2017/05/18 10:00:59
I'm happy to take a run at it. There are probably
|
+ |
+ return value; |
+} |
+ |
+Node* IntrinsicsGenerator::GeneratorGetInputOrDebugPos(Node* args_reg, |
+ Node* arg_count, |
+ Node* context) { |
+ Node* generator = __ LoadRegister(args_reg); |
+ Node* const value = |
+ __ LoadObjectField(generator, JSGeneratorObject::kInputOrDebugPosOffset); |
+ |
+ return value; |
+} |
+ |
+Node* IntrinsicsGenerator::GeneratorGetResumeMode(Node* args_reg, |
+ Node* arg_count, |
+ Node* context) { |
+ Node* generator = __ LoadRegister(args_reg); |
+ Node* const value = |
+ __ LoadObjectField(generator, JSGeneratorObject::kResumeModeOffset); |
+ |
+ return value; |
+} |
+ |
Node* IntrinsicsGenerator::AsyncGeneratorReject(Node* input, Node* arg_count, |
Node* context) { |
return IntrinsicAsBuiltinCall(input, context, |