Index: src/compiler.cc |
diff --git a/src/compiler.cc b/src/compiler.cc |
index 59c6a3693f796b484aa885837469a8a496ce256f..00c2667c1e38dfdabd73852f806d217b8f7bb150 100644 |
--- a/src/compiler.cc |
+++ b/src/compiler.cc |
@@ -31,6 +31,18 @@ namespace v8 { |
namespace internal { |
+ScriptData::ScriptData(const byte* data, int length) |
+ : owns_data_(false), data_(data), length_(length) { |
+ if (!IsAligned(reinterpret_cast<intptr_t>(data), kPointerAlignment)) { |
+ byte* copy = NewArray<byte>(length); |
+ ASSERT(IsAligned(reinterpret_cast<intptr_t>(data_), kPointerAlignment)); |
+ CopyBytes(copy, data, length); |
+ data_ = copy; |
+ AcquireDataOwnership(); |
+ } |
+} |
+ |
+ |
CompilationInfo::CompilationInfo(Handle<Script> script, |
Zone* zone) |
: flags_(StrictModeField::encode(SLOPPY)), |