Copy the corresponding opt_count_and_bailout_reason info when invoking Runtime_SetCode.

This error is exposed by this CL:  https://codereview.chromium.org/817293005.

   This CL set all Buildin JS function to optimization_disabled.
   And set the bailout reason to "kBuiltinFunctionCannotBeOptimized". But in Runtime_SetCode() function.
   It copied the the compiler_hints which include the "bool optimization_disabled" value,
   But the corresponding Bailout reason is not copied.
   This leads to the check error in "CompilationInfo::AbortOptimization(...)" function.

  This issue is exposed on turbofan unsupported X87 platform. Crankshaft is invoked to compile
 the typed array function Uint8Array.

BUG=

Review URL: https://codereview.chromium.org/917643002

Cr-Commit-Position: refs/heads/master@{#26595}
This commit is contained in:
chunyang.dai 2015-02-11 09:31:59 -08:00 committed by Commit bot
parent 9b158fa79a
commit 464f76b734

View File

@ -279,6 +279,8 @@ RUNTIME_FUNCTION(Runtime_SetCode) {
target_shared->set_end_position(source_shared->end_position());
bool was_native = target_shared->native();
target_shared->set_compiler_hints(source_shared->compiler_hints());
target_shared->set_opt_count_and_bailout_reason(
source_shared->opt_count_and_bailout_reason());
target_shared->set_native(was_native);
target_shared->set_profiler_ticks(source_shared->profiler_ticks());