Index: src/x64/code-stubs-x64.cc |
diff --git a/src/x64/code-stubs-x64.cc b/src/x64/code-stubs-x64.cc |
index fffd37f519db9c9dcb19fb44d5640de8e39093e9..7513d13ebe4ce785e622f274aff7021a68d11ef8 100644 |
--- a/src/x64/code-stubs-x64.cc |
+++ b/src/x64/code-stubs-x64.cc |
@@ -158,9 +158,13 @@ void FastNewClosureStub::Generate(MacroAssembler* masm) { |
// Get the function info from the stack. |
__ movq(rdx, Operand(rsp, 1 * kPointerSize)); |
- int map_index = (language_mode_ == CLASSIC_MODE) |
- ? Context::FUNCTION_MAP_INDEX |
- : Context::STRICT_MODE_FUNCTION_MAP_INDEX; |
+ int map_index = is_generator_ |
+ ? ((language_mode_ == CLASSIC_MODE) |
+ ? Context::GENERATOR_FUNCTION_MAP_INDEX |
+ : Context::STRICT_MODE_GENERATOR_FUNCTION_MAP_INDEX) |
+ : ((language_mode_ == CLASSIC_MODE) |
+ ? Context::FUNCTION_MAP_INDEX |
+ : Context::STRICT_MODE_FUNCTION_MAP_INDEX); |
// Compute the function map in the current native context and set that |
// as the map of the allocated object. |