Chromium Code Reviews| 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, |