Chromium Code Reviews| Index: src/icu_util.cc |
| diff --git a/src/hydrogen-dce.h b/src/icu_util.cc |
| similarity index 68% |
| copy from src/hydrogen-dce.h |
| copy to src/icu_util.cc |
| index 19749f279a2e1cb632ba5a300033e5a9f038638f..1505d3014afeecb59b2cb279fbfbe9b393dac131 100644 |
| --- a/src/hydrogen-dce.h |
| +++ b/src/icu_util.cc |
| @@ -25,32 +25,38 @@ |
| // (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE |
| // OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. |
| -#ifndef V8_HYDROGEN_DCE_H_ |
| -#define V8_HYDROGEN_DCE_H_ |
| +#include "icu_util.h" |
| -#include "hydrogen.h" |
| +#if defined(_WIN32) |
| +#include <windows.h> |
| -namespace v8 { |
| -namespace internal { |
| - |
| - |
| -class HDeadCodeEliminationPhase : public HPhase { |
| - public: |
| - explicit HDeadCodeEliminationPhase(HGraph* graph) |
| - : HPhase("H_Dead code elimination", graph) { } |
| +#include "unicode/putil.h" |
| +#include "unicode/udata.h" |
| - void Run() { |
| - MarkLiveInstructions(); |
| - RemoveDeadInstructions(); |
| - } |
| +#define ICU_UTIL_DATA_SYMBOL "icudt" U_ICU_VERSION_SHORT "_dat" |
| +#define ICU_UTIL_DATA_SHARED_MODULE_NAME "icudt.dll" |
| +#endif |
| - private: |
| - bool MarkLive(HValue* ref, HValue* instr); |
| - void MarkLiveInstructions(); |
| - void RemoveDeadInstructions(); |
| -}; |
| - |
| - |
| -} } // namespace v8::internal |
| +namespace v8 { |
| -#endif // V8_HYDROGEN_DCE_H_ |
| +bool InitializeICU() { |
| +#if defined(_WIN32) |
| + // We expect to find the ICU data module alongside the current module. |
| + HMODULE module = LoadLibraryA(ICU_UTIL_DATA_SHARED_MODULE_NAME); |
| + if (!module) |
|
Jakob Kummerow
2013/07/09 12:24:41
nit: V8 style prefers to either have the then-clau
|
| + return false; |
| + |
| + FARPROC addr = GetProcAddress(module, ICU_UTIL_DATA_SYMBOL); |
| + if (!addr) |
| + return false; |
| + |
| + UErrorCode err = U_ZERO_ERROR; |
| + udata_setCommonData(reinterpret_cast<void*>(addr), &err); |
| + return err == U_ZERO_ERROR; |
| +#else |
| + // Mac/Linux bundle the ICU data in. |
| + return true; |
| +#endif |
| +} |
| + |
| +} // namespace v8 |