[vmkit-commits] [vmkit] r83418 - in /vmkit/trunk/lib/N3/Mono: Mono.cpp MonoString.cpp MonoString.h
Gael Thomas
gael.thomas at lip6.fr
Tue Oct 6 14:50:20 PDT 2009
Author: gthomas
Date: Tue Oct 6 16:50:20 2009
New Revision: 83418
URL: http://llvm.org/viewvc/llvm-project?rev=83418&view=rev
Log:
Adjust the mono version of n3 to use the new version of strings
Modified:
vmkit/trunk/lib/N3/Mono/Mono.cpp
vmkit/trunk/lib/N3/Mono/MonoString.cpp
vmkit/trunk/lib/N3/Mono/MonoString.h
Modified: vmkit/trunk/lib/N3/Mono/Mono.cpp
URL: http://llvm.org/viewvc/llvm-project/vmkit/trunk/lib/N3/Mono/Mono.cpp?rev=83418&r1=83417&r2=83418&view=diff
==============================================================================
--- vmkit/trunk/lib/N3/Mono/Mono.cpp (original)
+++ vmkit/trunk/lib/N3/Mono/Mono.cpp Tue Oct 6 16:50:20 2009
@@ -168,7 +168,7 @@
extern "C" void
System_String_InternalCopyTo(MonoString* str, sint32 sindex, VMArray* dest, sint32 destIndex, sint32 count) {
- const UTF8* contents = str->value;
+ const ArrayUInt16* contents = str->value;
memcpy(&dest->elements[destIndex], &contents->elements[sindex], count * sizeof(uint16));
}
@@ -280,11 +280,11 @@
extern "C" void
System_String__ctor(MonoString* str, ArrayUInt16* array, sint32 startIndex, sint32 count) {
- VirtualMachine* vm = VMThread::get()->vm;
- const UTF8* utf8 = vm->bufToUTF8(&(array->elements[startIndex]), count);
+ N3* vm = VMThread::get()->vm;
+ const ArrayUInt16* value = vm->bufToArray(&(array->elements[startIndex]), count);
str->length = count;
str->startChar = array->elements[startIndex];
- str->value = utf8;
+ str->value = value;
}
extern "C" MonoString *
Modified: vmkit/trunk/lib/N3/Mono/MonoString.cpp
URL: http://llvm.org/viewvc/llvm-project/vmkit/trunk/lib/N3/Mono/MonoString.cpp?rev=83418&r1=83417&r2=83418&view=diff
==============================================================================
--- vmkit/trunk/lib/N3/Mono/MonoString.cpp (original)
+++ vmkit/trunk/lib/N3/Mono/MonoString.cpp Tue Oct 6 16:50:20 2009
@@ -25,30 +25,26 @@
using namespace llvm;
-CLIString* CLIString::stringDup(const UTF8*& utf8, N3* vm) {
+CLIString* CLIString::stringDup(const ArrayUInt16*& array, N3* vm) {
MonoString* obj = (MonoString*)(*MSCorlib::pString)();
- obj->length = utf8->size;
- if (utf8->size == 0) {
+ obj->length = array->size;
+ if (array->size == 0) {
obj->startChar = 0;
} else {
- obj->startChar = utf8->at(0);
+ obj->startChar = array->at(0);
}
- obj->value = utf8;
+ obj->value = array;
return obj;
}
-char* CLIString::strToAsciiz() {
- return ((MonoString*)this)->value->UTF8ToAsciiz();
-}
-
-const UTF8* CLIString::strToUTF8(N3* vm) {
- return ((MonoString*)this)->value;
+const ArrayUInt16* CLIString::strToArray(N3* vm) const {
+ return ((MonoString *)this)->value;
}
GlobalVariable* CLIString::llvmVar() {
MonoString* str = (MonoString*)this;
if (!str->_llvmVar) {
- VirtualMachine* vm = VMThread::get()->vm;
+ N3* vm = VMThread::get()->vm;
if (!str->_llvmVar) {
const Type* pty = mvm::MvmModule::ptrType;
Module* Mod = vm->getLLVMModule();
Modified: vmkit/trunk/lib/N3/Mono/MonoString.h
URL: http://llvm.org/viewvc/llvm-project/vmkit/trunk/lib/N3/Mono/MonoString.h?rev=83418&r1=83417&r2=83418&view=diff
==============================================================================
--- vmkit/trunk/lib/N3/Mono/MonoString.h (original)
+++ vmkit/trunk/lib/N3/Mono/MonoString.h Tue Oct 6 16:50:20 2009
@@ -27,7 +27,7 @@
// !!! mono layout !!!
sint32 length;
uint8 startChar;
- const UTF8* value;
+ const ArrayUInt16* value;
llvm::GlobalVariable* _llvmVar;
};
More information about the vmkit-commits
mailing list