| Index: content/plugin/npobject_stub.cc
|
| ===================================================================
|
| --- content/plugin/npobject_stub.cc (revision 98490)
|
| +++ content/plugin/npobject_stub.cc (working copy)
|
| @@ -16,6 +16,26 @@
|
|
|
| using WebKit::WebBindings;
|
|
|
| +// TODO(eroman): Remove this when done investigating 94179.
|
| +//
|
| +// The following disables optimizations for all the functions in this file.
|
| +//
|
| +// At a minimum we want to disable frame pointer optimization ("y"), so that
|
| +// base::debug::StackTrace() works better. We also prevent inlining of these
|
| +// functions so that StackTrace() is more complete. (The StackTrace() will
|
| +// probably not be able to go deeper than these functions since the callers
|
| +// will probably have FPO).
|
| +//
|
| +// Note that disabling optimizations causes warning 4748 which I have had to
|
| +// disable throughout this file. That warning was:
|
| +//
|
| +// /GS can not protect parameters and local variables from local buffer
|
| +// overrun because optimizations are disabled in function
|
| +#if defined(COMPILER_MSVC)
|
| +#pragma optimize("", off)
|
| +MSVC_PUSH_DISABLE_WARNING(4748)
|
| +#endif
|
| +
|
| NPObjectStub::NPObjectStub(
|
| NPObject* npobject,
|
| PluginChannelBase* channel,
|
| @@ -385,3 +405,9 @@
|
| NPObjectMsg_Evaluate::WriteReplyParams(reply_msg, result_param, return_value);
|
| channel_->Send(reply_msg);
|
| }
|
| +
|
| +// Restore compiler optimizations and warnings.
|
| +#if defined(COMPILER_MSVC)
|
| +MSVC_POP_WARNING()
|
| +#pragma optimize("", on)
|
| +#endif
|
|
|