Index: src/full-codegen.cc |
=================================================================== |
--- src/full-codegen.cc (revision 9808) |
+++ src/full-codegen.cc (working copy) |
@@ -289,11 +289,12 @@ |
#ifdef ENABLE_DEBUGGER_SUPPORT |
code->set_has_debug_break_slots( |
info->isolate()->debugger()->IsDebuggerActive()); |
+ code->set_compiled_optimizable(info->IsOptimizable()); |
#endif // ENABLE_DEBUGGER_SUPPORT |
code->set_allow_osr_at_loop_nesting_level(0); |
code->set_stack_check_table_offset(table_offset); |
CodeGenerator::PrintCode(code, info); |
- info->SetCode(code); // may be an empty handle. |
+ info->SetCode(code); // May be an empty handle. |
#ifdef ENABLE_GDB_JIT_INTERFACE |
if (FLAG_gdbjit && !code.is_null()) { |
GDBJITLineInfo* lineinfo = |
@@ -520,8 +521,8 @@ |
if (var->IsUnallocated()) { |
array->set(j++, *(var->name())); |
if (decl->fun() == NULL) { |
- if (var->mode() == CONST) { |
- // In case this is const property use the hole. |
+ if (var->binding_needs_init()) { |
+ // In case this binding needs initialization use the hole. |
array->set_the_hole(j++); |
} else { |
array->set_undefined(j++); |
@@ -546,11 +547,10 @@ |
int FullCodeGenerator::DeclareGlobalsFlags() { |
- int flags = 0; |
- if (is_eval()) flags |= kDeclareGlobalsEvalFlag; |
- if (is_strict_mode()) flags |= kDeclareGlobalsStrictModeFlag; |
- if (is_native()) flags |= kDeclareGlobalsNativeFlag; |
- return flags; |
+ ASSERT(DeclareGlobalsStrictModeFlag::is_valid(strict_mode_flag())); |
+ return DeclareGlobalsEvalFlag::encode(is_eval()) | |
+ DeclareGlobalsStrictModeFlag::encode(strict_mode_flag()) | |
+ DeclareGlobalsNativeFlag::encode(is_native()); |
} |