diff --git a/deps/v8/src/globals.h b/deps/v8/src/globals.h index 25d4ffe89b..97b033f848 100644 --- a/deps/v8/src/globals.h +++ b/deps/v8/src/globals.h @@ -345,6 +345,9 @@ F FUNCTION_CAST(Address addr) { #define INLINE(header) inline __attribute__((always_inline)) header #define NO_INLINE(header) __attribute__((noinline)) header #endif +#elif defined(_MSC_VER) && !defined(DEBUG) +#define INLINE(header) __forceinline header +#define NO_INLINE(header) header #else #define INLINE(header) inline header #define NO_INLINE(header) header diff --git a/deps/v8/src/objects.h b/deps/v8/src/objects.h index ccd07ff1d7..8c0295e8dc 100644 --- a/deps/v8/src/objects.h +++ b/deps/v8/src/objects.h @@ -6844,7 +6844,7 @@ class String: public HeapObject { inline void Set(int index, uint16_t value); // Get individual two byte char in the string. Repeated calls // to this method are not efficient unless the string is flat. - inline uint16_t Get(int index); + INLINE(uint16_t Get(int index)); // Try to flatten the string. Checks first inline to see if it is // necessary. Does nothing if the string is not a cons string. diff --git a/deps/v8/src/v8utils.h b/deps/v8/src/v8utils.h index c73222a29b..bb587e1733 100644 --- a/deps/v8/src/v8utils.h +++ b/deps/v8/src/v8utils.h @@ -1,4 +1,4 @@ -// Copyright 2011 the V8 project authors. All rights reserved. +// Copyright 2012 the V8 project authors. All rights reserved. // Redistribution and use in source and binary forms, with or without // modification, are permitted provided that the following conditions are // met: @@ -199,10 +199,13 @@ Vector ReadFile(FILE* file, bool verbose = true); - // Copy from ASCII/16bit chars to ASCII/16bit chars. template -inline void CopyChars(sinkchar* dest, const sourcechar* src, int chars) { +INLINE(void CopyChars(sinkchar* dest, const sourcechar* src, int chars)); + + +template +void CopyChars(sinkchar* dest, const sourcechar* src, int chars) { sinkchar* limit = dest + chars; #ifdef V8_HOST_CAN_READ_UNALIGNED if (sizeof(*dest) == sizeof(*src)) {