summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAlexis211 <alexis211@gmail.com>2009-08-29 15:20:49 +0200
committerAlexis211 <alexis211@gmail.com>2009-08-29 15:20:49 +0200
commit0139012d683036fb661fed62babb71f59ec9ab45 (patch)
treea3be3c9fef99ee5a39357491df6e4a530b1636f6
parentc92beeedda51487696ce476ee30604f22e7b2270 (diff)
downloadMelon-0139012d683036fb661fed62babb71f59ec9ab45.tar.gz
Melon-0139012d683036fb661fed62babb71f59ec9ab45.zip
.
-rw-r--r--Makefile2
-rw-r--r--Source/Kernel/Library/.String.class.cpp.swpbin0 -> 20480 bytes
-rw-r--r--Source/Kernel/Library/String.class.cpp16
-rw-r--r--Source/Kernel/Map.txt500
-rwxr-xr-xSource/Kernel/Melon.kebin56747 -> 56747 bytes
5 files changed, 267 insertions, 251 deletions
diff --git a/Makefile b/Makefile
index 1ad9408..bae0c3a 100644
--- a/Makefile
+++ b/Makefile
@@ -43,6 +43,6 @@ qemu:
stats:
echo; echo " ** Statistics for project O3S ** "; \
echo -n "Lines of code : "; \
- cat src/{*,*/*,*/*/*}.{c,asm,cpp,h} 2> /dev/null | wc -l; \
+ cat src/*/{*,*/*}.{c,asm,cpp,h} 2> /dev/null | wc -l; \
echo "TODOs : "; \
cat src/{*,*/*,*/*/*}.{c,asm,cpp,h} 2> /dev/null | grep TODO;
diff --git a/Source/Kernel/Library/.String.class.cpp.swp b/Source/Kernel/Library/.String.class.cpp.swp
new file mode 100644
index 0000000..6fd369f
--- /dev/null
+++ b/Source/Kernel/Library/.String.class.cpp.swp
Binary files differ
diff --git a/Source/Kernel/Library/String.class.cpp b/Source/Kernel/Library/String.class.cpp
index dc763bd..c118800 100644
--- a/Source/Kernel/Library/String.class.cpp
+++ b/Source/Kernel/Library/String.class.cpp
@@ -56,6 +56,10 @@ String::String() {
String::String(char* string) {
m_length = strlen(string);
+ if (m_length == 0) {
+ m_string = 0;
+ return;
+ }
m_string = (char*)Mem::kalloc(m_length + 1);
for (u32int i = 0; i < m_length; i++) {
m_string[i] = string[i];
@@ -65,6 +69,10 @@ String::String(char* string) {
String::String(const String &other) {
m_length = other.m_length;
+ if (m_length == 0) {
+ m_string = 0;
+ return;
+ }
m_string = (char*)Mem::kalloc(m_length + 1);
for (u32int i = 0; i < m_length; i++) {
m_string[i] = other.m_string[i];
@@ -79,6 +87,10 @@ String::~String() {
void String::operator= (const String &other) {
m_length = other.m_length;
if (m_string != 0) Mem::kfree(m_string);
+ if (m_length == 0) {
+ m_string = 0;
+ return;
+ }
m_string = (char*)Mem::kalloc(m_length + 1);
for (u32int i = 0; i < m_length; i++) {
m_string[i] = other.m_string[i];
@@ -89,6 +101,10 @@ void String::operator= (const String &other) {
void String::operator= (char* string) {
m_length = strlen(string);
if (m_string != 0) Mem::kfree(m_string);
+ if (m_length == 0) {
+ m_string = 0;
+ return;
+ }
m_string = (char*)Mem::kalloc(m_length + 1);
for (u32int i = 0; i < m_length; i++) {
m_string[i] = string[i];
diff --git a/Source/Kernel/Map.txt b/Source/Kernel/Map.txt
index ce3d4a9..41a53cd 100644
--- a/Source/Kernel/Map.txt
+++ b/Source/Kernel/Map.txt
@@ -148,7 +148,7 @@ Linker script and memory map
.setup 0x00100000 0x1e Core/loader.wtf.o
0xc010001e . = (. + 0xc0000000)
-.text 0xc0100020 0x6429 load address 0x00100020
+.text 0xc0100020 0x64a9 load address 0x00100020
*(.text)
.text 0xc0100020 0x597 Core/kmain.wtf.o
0xc0100020 kmain
@@ -335,396 +335,396 @@ Linker script and memory map
0xc01042e8 Bitset::Bitset(unsigned int, unsigned int*)
0xc01044c4 Bitset::firstFreeBit()
*fill* 0xc0104565 0x3 00
- .text 0xc0104568 0xd2c Library/String.class.o
+ .text 0xc0104568 0xda4 Library/String.class.o
0xc0104568 String::hex(unsigned int)
- 0xc0104b8c String::operator==(char*)
- 0xc0104f5e String::toInt()
- 0xc0104954 String::String(String const&)
+ 0xc0104c04 String::operator==(char*)
+ 0xc0104fd6 String::toInt()
+ 0xc0104990 String::String(String const&)
0xc01047b0 String::String()
0xc01047c8 String::String()
- 0xc01050da String::size()
+ 0xc0105152 String::size()
0xc010461c String::number(int)
- 0xc0104b2a String::operator==(String&)
- 0xc0104ebc String::operator+(char*)
- 0xc01049ea String::~String()
- 0xc01048dc String::String(String const&)
- 0xc0104f44 String::operator char*()
- 0xc01049cc String::~String()
- 0xc0104a08 String::operator=(String const&)
+ 0xc0104ba2 String::operator==(String&)
+ 0xc0104f34 String::operator+(char*)
+ 0xc0104a3a String::~String()
+ 0xc0104904 String::String(String const&)
+ 0xc0104fbc String::operator char*()
+ 0xc0104a1c String::~String()
+ 0xc0104a58 String::operator=(String const&)
0xc01047e0 String::String(char*)
- 0xc0104bfe String::operator+=(String&)
- 0xc01050ca String::operator[](int)
- 0xc01050e6 String::clear()
- 0xc010510e String::empty()
- 0xc0104dcc String::operator+=(char)
- 0xc010511e String::split(char)
- 0xc0105012 String::toInt16()
- 0xc01051f8 String::substr(int, int)
- 0xc0104efc String::operator+(char)
- 0xc010485e String::String(char*)
- 0xc0104cda String::operator+=(char*)
- 0xc0104a96 String::operator=(char*)
- 0xc0104e7c String::operator+(String&)
- .text 0xc0105294 0xc0b SyscallManager/IDT.ns.o
- 0xc0105cbf IDT::handleException(registers_t, int)
- 0xc010549d IDT::init()
- 0xc0105436 IDT::setGate(unsigned char, unsigned int, unsigned short, unsigned char)
- 0xc0105294 interrupt_handler
- *fill* 0xc0105e9f 0x1 00
- .text 0xc0105ea0 0x20e SyscallManager/IDT.wtf.o
- 0xc0105ed0 isr4
- 0xc0105faa isr27
- 0xc0105f22 isr13
- 0xc0106054 irq12
- 0xc0105f78 isr22
- 0xc0105f32 isr15
- 0xc0106040 irq10
- 0xc0106068 irq14
- 0xc0105f00 isr9
- 0xc010602c irq8
- 0xc0105f82 isr23
- 0xc0105fbe isr29
- 0xc0105fd2 isr31
- 0xc0105f6e isr21
- 0xc010604a irq11
- 0xc0105fb4 isr28
- 0xc0105ef8 isr8
- 0xc010600e irq5
- 0xc0105f64 isr20
- 0xc0105f2a isr14
- 0xc0105eda isr5
- 0xc0106018 irq6
- 0xc0105fe6 irq1
- 0xc0105eb2 isr1
- 0xc0106036 irq9
- 0xc0105fa0 isr26
- 0xc0105f12 isr11
- 0xc010605e irq13
- 0xc0105f1a isr12
- 0xc0105ea8 isr0
- 0xc0105ff0 irq2
- 0xc0105f8c isr24
- 0xc0105f3c isr16
- 0xc0105ec6 isr3
- 0xc0105ee4 isr6
- 0xc0106022 irq7
- 0xc0105f50 isr18
- 0xc0105fdc irq0
- 0xc0105f0a isr10
- 0xc0105f46 isr17
- 0xc0105ebc isr2
- 0xc010607c int64
- 0xc0105f5a isr19
- 0xc0105ea0 idt_flush
- 0xc0105fc8 isr30
- 0xc0106072 irq15
- 0xc0105eee isr7
- 0xc0105f96 isr25
- 0xc0106004 irq4
- 0xc0105ffa irq3
- *fill* 0xc01060ae 0x2 00
- .text 0xc01060b0 0x17f Devices/Display/VGATextOutput.class.o
- 0xc01060d8 VGATextOutput::getName()
- 0xc0106100 VGATextOutput::textCols()
- 0xc01061f8 VGATextOutput::clear()
- 0xc01060b0 VGATextOutput::getClass()
- 0xc0106172 VGATextOutput::moveCursor(unsigned short, unsigned short)
- 0xc0106114 VGATextOutput::putChar(unsigned short, unsigned short, char, unsigned char)
- 0xc010610a VGATextOutput::textRows()
- *fill* 0xc010622f 0x1 00
- .text 0xc0106230 0x219 Devices/Timer.class.o
- 0xc0106348 Timer::setFrequency(unsigned char)
- 0xc0106230 Timer::Timer(unsigned char)
- 0xc01062f8 Timer::getClass()
- 0xc0106320 Timer::getName()
- 0xc01063cc Timer::time()
- 0xc0106406 Timer::handleIRQ(registers_t, int)
- 0xc01063c0 Timer::uptime()
- 0xc0106294 Timer::Timer(unsigned char)
-
-.text._Znwj 0xc0106449 0x1b load address 0x00106449
- .text._Znwj 0xc0106449 0x1b Core/kmain.wtf.o
- 0xc0106449 operator new(unsigned int)
+ 0xc0104c76 String::operator+=(String&)
+ 0xc0105142 String::operator[](int)
+ 0xc010515e String::clear()
+ 0xc0105186 String::empty()
+ 0xc0104e44 String::operator+=(char)
+ 0xc0105196 String::split(char)
+ 0xc010508a String::toInt16()
+ 0xc0105270 String::substr(int, int)
+ 0xc0104f74 String::operator+(char)
+ 0xc0104872 String::String(char*)
+ 0xc0104d52 String::operator+=(char*)
+ 0xc0104afa String::operator=(char*)
+ 0xc0104ef4 String::operator+(String&)
+ .text 0xc010530c 0xc0b SyscallManager/IDT.ns.o
+ 0xc0105d37 IDT::handleException(registers_t, int)
+ 0xc0105515 IDT::init()
+ 0xc01054ae IDT::setGate(unsigned char, unsigned int, unsigned short, unsigned char)
+ 0xc010530c interrupt_handler
+ *fill* 0xc0105f17 0x9 00
+ .text 0xc0105f20 0x20e SyscallManager/IDT.wtf.o
+ 0xc0105f50 isr4
+ 0xc010602a isr27
+ 0xc0105fa2 isr13
+ 0xc01060d4 irq12
+ 0xc0105ff8 isr22
+ 0xc0105fb2 isr15
+ 0xc01060c0 irq10
+ 0xc01060e8 irq14
+ 0xc0105f80 isr9
+ 0xc01060ac irq8
+ 0xc0106002 isr23
+ 0xc010603e isr29
+ 0xc0106052 isr31
+ 0xc0105fee isr21
+ 0xc01060ca irq11
+ 0xc0106034 isr28
+ 0xc0105f78 isr8
+ 0xc010608e irq5
+ 0xc0105fe4 isr20
+ 0xc0105faa isr14
+ 0xc0105f5a isr5
+ 0xc0106098 irq6
+ 0xc0106066 irq1
+ 0xc0105f32 isr1
+ 0xc01060b6 irq9
+ 0xc0106020 isr26
+ 0xc0105f92 isr11
+ 0xc01060de irq13
+ 0xc0105f9a isr12
+ 0xc0105f28 isr0
+ 0xc0106070 irq2
+ 0xc010600c isr24
+ 0xc0105fbc isr16
+ 0xc0105f46 isr3
+ 0xc0105f64 isr6
+ 0xc01060a2 irq7
+ 0xc0105fd0 isr18
+ 0xc010605c irq0
+ 0xc0105f8a isr10
+ 0xc0105fc6 isr17
+ 0xc0105f3c isr2
+ 0xc01060fc int64
+ 0xc0105fda isr19
+ 0xc0105f20 idt_flush
+ 0xc0106048 isr30
+ 0xc01060f2 irq15
+ 0xc0105f6e isr7
+ 0xc0106016 isr25
+ 0xc0106084 irq4
+ 0xc010607a irq3
+ *fill* 0xc010612e 0x2 00
+ .text 0xc0106130 0x17f Devices/Display/VGATextOutput.class.o
+ 0xc0106158 VGATextOutput::getName()
+ 0xc0106180 VGATextOutput::textCols()
+ 0xc0106278 VGATextOutput::clear()
+ 0xc0106130 VGATextOutput::getClass()
+ 0xc01061f2 VGATextOutput::moveCursor(unsigned short, unsigned short)
+ 0xc0106194 VGATextOutput::putChar(unsigned short, unsigned short, char, unsigned char)
+ 0xc010618a VGATextOutput::textRows()
+ *fill* 0xc01062af 0x1 00
+ .text 0xc01062b0 0x219 Devices/Timer.class.o
+ 0xc01063c8 Timer::setFrequency(unsigned char)
+ 0xc01062b0 Timer::Timer(unsigned char)
+ 0xc0106378 Timer::getClass()
+ 0xc01063a0 Timer::getName()
+ 0xc010644c Timer::time()
+ 0xc0106486 Timer::handleIRQ(registers_t, int)
+ 0xc0106440 Timer::uptime()
+ 0xc0106314 Timer::Timer(unsigned char)
+
+.text._Znwj 0xc01064c9 0x1b load address 0x001064c9
+ .text._Znwj 0xc01064c9 0x1b Core/kmain.wtf.o
+ 0xc01064c9 operator new(unsigned int)
.text._ZN6Device9handleIRQE11registers_ti
- 0xc0106464 0x5 load address 0x00106464
+ 0xc01064e4 0x5 load address 0x001064e4
.text._ZN6Device9handleIRQE11registers_ti
- 0xc0106464 0x5 Core/kmain.wtf.o
- 0xc0106464 Device::handleIRQ(registers_t, int)
+ 0xc01064e4 0x5 Core/kmain.wtf.o
+ 0xc01064e4 Device::handleIRQ(registers_t, int)
.text._ZN15VirtualTerminallsEPc
- 0xc010646a 0x25 load address 0x0010646a
+ 0xc01064ea 0x25 load address 0x001064ea
.text._ZN15VirtualTerminallsEPc
- 0xc010646a 0x25 Core/kmain.wtf.o
- 0xc010646a VirtualTerminal::operator<<(char*)
+ 0xc01064ea 0x25 Core/kmain.wtf.o
+ 0xc01064ea VirtualTerminal::operator<<(char*)
.text._ZN15VirtualTerminallsEi
- 0xc0106490 0x25 load address 0x00106490
+ 0xc0106510 0x25 load address 0x00106510
.text._ZN15VirtualTerminallsEi
- 0xc0106490 0x25 Core/kmain.wtf.o
- 0xc0106490 VirtualTerminal::operator<<(int)
+ 0xc0106510 0x25 Core/kmain.wtf.o
+ 0xc0106510 VirtualTerminal::operator<<(int)
.text._ZN15VirtualTerminallsEj
- 0xc01064b6 0x25 load address 0x001064b6
+ 0xc0106536 0x25 load address 0x00106536
.text._ZN15VirtualTerminallsEj
- 0xc01064b6 0x25 Core/kmain.wtf.o
- 0xc01064b6 VirtualTerminal::operator<<(unsigned int)
+ 0xc0106536 0x25 Core/kmain.wtf.o
+ 0xc0106536 VirtualTerminal::operator<<(unsigned int)
.text._ZN6DeviceC2Ev
- 0xc01064dc 0xe load address 0x001064dc
+ 0xc010655c 0xe load address 0x0010655c
.text._ZN6DeviceC2Ev
- 0xc01064dc 0xe Core/kmain.wtf.o
- 0xc01064dc Device::Device()
+ 0xc010655c 0xe Core/kmain.wtf.o
+ 0xc010655c Device::Device()
.text._ZN7DisplayC2Ev
- 0xc01064ea 0x1c load address 0x001064ea
+ 0xc010656a 0x1c load address 0x0010656a
.text._ZN7DisplayC2Ev
- 0xc01064ea 0x1c Core/kmain.wtf.o
- 0xc01064ea Display::Display()
+ 0xc010656a 0x1c Core/kmain.wtf.o
+ 0xc010656a Display::Display()
.text._ZN13VGATextOutputC1Ev
- 0xc0106506 0x1c load address 0x00106506
+ 0xc0106586 0x1c load address 0x00106586
.text._ZN13VGATextOutputC1Ev
- 0xc0106506 0x1c Core/kmain.wtf.o
- 0xc0106506 VGATextOutput::VGATextOutput()
+ 0xc0106586 0x1c Core/kmain.wtf.o
+ 0xc0106586 VGATextOutput::VGATextOutput()
-.text._ZnwjPv 0xc0106522 0x8 load address 0x00106522
- .text._ZnwjPv 0xc0106522 0x8 MemoryManager/PhysMem.ns.o
- 0xc0106522 operator new(unsigned int, void*)
+.text._ZnwjPv 0xc01065a2 0x8 load address 0x001065a2
+ .text._ZnwjPv 0xc01065a2 0x8 MemoryManager/PhysMem.ns.o
+ 0xc01065a2 operator new(unsigned int, void*)
-.text._ZdaPv 0xc010652a 0x13 load address 0x0010652a
- .text._ZdaPv 0xc010652a 0x13 DeviceManager/Dev.ns.o
- 0xc010652a operator delete[](void*)
+.text._ZdaPv 0xc01065aa 0x13 load address 0x001065aa
+ .text._ZdaPv 0xc01065aa 0x13 DeviceManager/Dev.ns.o
+ 0xc01065aa operator delete[](void*)
.text._ZN6VectorIP6DeviceEC1Ev
- 0xc010653e 0x18 load address 0x0010653e
+ 0xc01065be 0x18 load address 0x001065be
.text._ZN6VectorIP6DeviceEC1Ev
- 0xc010653e 0x18 DeviceManager/Dev.ns.o
- 0xc010653e Vector<Device*>::Vector()
+ 0xc01065be 0x18 DeviceManager/Dev.ns.o
+ 0xc01065be Vector<Device*>::Vector()
.text._ZN6VectorIP6DeviceE4pushES1_
- 0xc0106556 0x91 load address 0x00106556
+ 0xc01065d6 0x91 load address 0x001065d6
.text._ZN6VectorIP6DeviceE4pushES1_
- 0xc0106556 0x91 DeviceManager/Dev.ns.o
- 0xc0106556 Vector<Device*>::push(Device*)
+ 0xc01065d6 0x91 DeviceManager/Dev.ns.o
+ 0xc01065d6 Vector<Device*>::push(Device*)
.text._ZN6VectorIP6DeviceE4sizeEv
- 0xc01065e8 0xb load address 0x001065e8
+ 0xc0106668 0xb load address 0x00106668
.text._ZN6VectorIP6DeviceE4sizeEv
- 0xc01065e8 0xb DeviceManager/Dev.ns.o
- 0xc01065e8 Vector<Device*>::size()
+ 0xc0106668 0xb DeviceManager/Dev.ns.o
+ 0xc0106668 Vector<Device*>::size()
.text._ZN6VectorIP6DeviceEixEj
- 0xc01065f4 0x12 load address 0x001065f4
+ 0xc0106674 0x12 load address 0x00106674
.text._ZN6VectorIP6DeviceEixEj
- 0xc01065f4 0x12 DeviceManager/Dev.ns.o
- 0xc01065f4 Vector<Device*>::operator[](unsigned int)
+ 0xc0106674 0x12 DeviceManager/Dev.ns.o
+ 0xc0106674 Vector<Device*>::operator[](unsigned int)
.text._ZN6VectorIP6DeviceE4backEv
- 0xc0106606 0x19 load address 0x00106606
+ 0xc0106686 0x19 load address 0x00106686
.text._ZN6VectorIP6DeviceE4backEv
- 0xc0106606 0x19 DeviceManager/Dev.ns.o
- 0xc0106606 Vector<Device*>::back()
+ 0xc0106686 0x19 DeviceManager/Dev.ns.o
+ 0xc0106686 Vector<Device*>::back()
.text._ZN6VectorIP6DeviceE3popEv
- 0xc0106620 0x6d load address 0x00106620
+ 0xc01066a0 0x6d load address 0x001066a0
.text._ZN6VectorIP6DeviceE3popEv
- 0xc0106620 0x6d DeviceManager/Dev.ns.o
- 0xc0106620 Vector<Device*>::pop()
+ 0xc01066a0 0x6d DeviceManager/Dev.ns.o
+ 0xc01066a0 Vector<Device*>::pop()
.text._ZN6VectorIP6DeviceEC1ERKS2_
- 0xc010668e 0x7f load address 0x0010668e
+ 0xc010670e 0x7f load address 0x0010670e
.text._ZN6VectorIP6DeviceEC1ERKS2_
- 0xc010668e 0x7f DeviceManager/Dev.ns.o
- 0xc010668e Vector<Device*>::Vector(Vector<Device*> const&)
+ 0xc010670e 0x7f DeviceManager/Dev.ns.o
+ 0xc010670e Vector<Device*>::Vector(Vector<Device*> const&)
.text._ZN6VectorIP6DeviceED1Ev
- 0xc010670e 0x27 load address 0x0010670e
+ 0xc010678e 0x27 load address 0x0010678e
.text._ZN6VectorIP6DeviceED1Ev
- 0xc010670e 0x27 DeviceManager/Dev.ns.o
- 0xc010670e Vector<Device*>::~Vector()
+ 0xc010678e 0x27 DeviceManager/Dev.ns.o
+ 0xc010678e Vector<Device*>::~Vector()
-.text._ZdlPv 0xc0106735 0x13 load address 0x00106735
- .text._ZdlPv 0xc0106735 0x13 TaskManager/Process.class.o
- 0xc0106735 operator delete(void*)
+.text._ZdlPv 0xc01067b5 0x13 load address 0x001067b5
+ .text._ZdlPv 0xc01067b5 0x13 TaskManager/Process.class.o
+ 0xc01067b5 operator delete(void*)
.text._ZN6VectorIP6ThreadEC1Ev
- 0xc0106748 0x18 load address 0x00106748
+ 0xc01067c8 0x18 load address 0x001067c8
.text._ZN6VectorIP6ThreadEC1Ev
- 0xc0106748 0x18 TaskManager/Process.class.o
- 0xc0106748 Vector<Thread*>::Vector()
+ 0xc01067c8 0x18 TaskManager/Process.class.o
+ 0xc01067c8 Vector<Thread*>::Vector()
.text._ZN6VectorIP6ThreadED1Ev
- 0xc0106760 0x27 load address 0x00106760
+ 0xc01067e0 0x27 load address 0x001067e0
.text._ZN6VectorIP6ThreadED1Ev
- 0xc0106760 0x27 TaskManager/Process.class.o
- 0xc0106760 Vector<Thread*>::~Vector()
+ 0xc01067e0 0x27 TaskManager/Process.class.o
+ 0xc01067e0 Vector<Thread*>::~Vector()
.text._ZN6VectorIP6ThreadE5emptyEv
- 0xc0106788 0x10 load address 0x00106788
+ 0xc0106808 0x10 load address 0x00106808
.text._ZN6VectorIP6ThreadE5emptyEv
- 0xc0106788 0x10 TaskManager/Process.class.o
- 0xc0106788 Vector<Thread*>::empty()
+ 0xc0106808 0x10 TaskManager/Process.class.o
+ 0xc0106808 Vector<Thread*>::empty()
.text._ZN6VectorIP6ThreadE4backEv
- 0xc0106798 0x19 load address 0x00106798
+ 0xc0106818 0x19 load address 0x00106818
.text._ZN6VectorIP6ThreadE4backEv
- 0xc0106798 0x19 TaskManager/Process.class.o
- 0xc0106798 Vector<Thread*>::back()
+ 0xc0106818 0x19 TaskManager/Process.class.o
+ 0xc0106818 Vector<Thread*>::back()
.text._ZN6VectorIP6ThreadE3popEv
- 0xc01067b2 0x6d load address 0x001067b2
+ 0xc0106832 0x6d load address 0x00106832
.text._ZN6VectorIP6ThreadE3popEv
- 0xc01067b2 0x6d TaskManager/Process.class.o
- 0xc01067b2 Vector<Thread*>::pop()
+ 0xc0106832 0x6d TaskManager/Process.class.o
+ 0xc0106832 Vector<Thread*>::pop()
.text._ZN6VectorIP6ThreadE4pushES1_
- 0xc0106820 0x91 load address 0x00106820
+ 0xc01068a0 0x91 load address 0x001068a0
.text._ZN6VectorIP6ThreadE4pushES1_
- 0xc0106820 0x91 TaskManager/Process.class.o
- 0xc0106820 Vector<Thread*>::push(Thread*)
+ 0xc01068a0 0x91 TaskManager/Process.class.o
+ 0xc01068a0 Vector<Thread*>::push(Thread*)
.text._ZN6VectorIP6ThreadEixEj
- 0xc01068b2 0x12 load address 0x001068b2
+ 0xc0106932 0x12 load address 0x00106932
.text._ZN6VectorIP6ThreadEixEj
- 0xc01068b2 0x12 TaskManager/Process.class.o
- 0xc01068b2 Vector<Thread*>::operator[](unsigned int)
+ 0xc0106932 0x12 TaskManager/Process.class.o
+ 0xc0106932 Vector<Thread*>::operator[](unsigned int)
.text._ZN6VectorIP6ThreadE4sizeEv
- 0xc01068c4 0xb load address 0x001068c4
+ 0xc0106944 0xb load address 0x00106944
.text._ZN6VectorIP6ThreadE4sizeEv
- 0xc01068c4 0xb TaskManager/Process.class.o
- 0xc01068c4 Vector<Thread*>::size()
+ 0xc0106944 0xb TaskManager/Process.class.o
+ 0xc0106944 Vector<Thread*>::size()
.text._ZN6Thread10irqHappensEh
- 0xc01068d0 0x38 load address 0x001068d0
+ 0xc0106950 0x38 load address 0x00106950
.text._ZN6Thread10irqHappensEh
- 0xc01068d0 0x38 TaskManager/Task.ns.o
- 0xc01068d0 Thread::irqHappens(unsigned char)
+ 0xc0106950 0x38 TaskManager/Task.ns.o
+ 0xc0106950 Thread::irqHappens(unsigned char)
.text._ZN6VectorIP7ProcessEC1Ev
- 0xc0106908 0x18 load address 0x00106908
+ 0xc0106988 0x18 load address 0x00106988
.text._ZN6VectorIP7ProcessEC1Ev
- 0xc0106908 0x18 TaskManager/Task.ns.o
- 0xc0106908 Vector<Process*>::Vector()
+ 0xc0106988 0x18 TaskManager/Task.ns.o
+ 0xc0106988 Vector<Process*>::Vector()
.text._ZN6VectorIP6ThreadE5clearEv
- 0xc0106920 0x3a load address 0x00106920
+ 0xc01069a0 0x3a load address 0x001069a0
.text._ZN6VectorIP6ThreadE5clearEv
- 0xc0106920 0x3a TaskManager/Task.ns.o
- 0xc0106920 Vector<Thread*>::clear()
+ 0xc01069a0 0x3a TaskManager/Task.ns.o
+ 0xc01069a0 Vector<Thread*>::clear()
.text._ZN6VectorIP7ProcessE5clearEv
- 0xc010695a 0x3a load address 0x0010695a
+ 0xc01069da 0x3a load address 0x001069da
.text._ZN6VectorIP7ProcessE5clearEv
- 0xc010695a 0x3a TaskManager/Task.ns.o
- 0xc010695a Vector<Process*>::clear()
+ 0xc01069da 0x3a TaskManager/Task.ns.o
+ 0xc01069da Vector<Process*>::clear()
.text._ZN6VectorIP7ProcessE4sizeEv
- 0xc0106994 0xb load address 0x00106994
+ 0xc0106a14 0xb load address 0x00106a14
.text._ZN6VectorIP7ProcessE4sizeEv
- 0xc0106994 0xb TaskManager/Task.ns.o
- 0xc0106994 Vector<Process*>::size()
+ 0xc0106a14 0xb TaskManager/Task.ns.o
+ 0xc0106a14 Vector<Process*>::size()
.text._ZN6VectorIP7ProcessEixEj
- 0xc01069a0 0x12 load address 0x001069a0
+ 0xc0106a20 0x12 load address 0x00106a20
.text._ZN6VectorIP7ProcessEixEj
- 0xc01069a0 0x12 TaskManager/Task.ns.o
- 0xc01069a0 Vector<Process*>::operator[](unsigned int)
+ 0xc0106a20 0x12 TaskManager/Task.ns.o
+ 0xc0106a20 Vector<Process*>::operator[](unsigned int)
.text._ZN6VectorIP7ProcessE4pushES1_
- 0xc01069b2 0x91 load address 0x001069b2
+ 0xc0106a32 0x91 load address 0x00106a32
.text._ZN6VectorIP7ProcessE4pushES1_
- 0xc01069b2 0x91 TaskManager/Task.ns.o
- 0xc01069b2 Vector<Process*>::push(Process*)
+ 0xc0106a32 0x91 TaskManager/Task.ns.o
+ 0xc0106a32 Vector<Process*>::push(Process*)
.text._ZN6VectorIP7ProcessE4backEv
- 0xc0106a44 0x19 load address 0x00106a44
+ 0xc0106ac4 0x19 load address 0x00106ac4
.text._ZN6VectorIP7ProcessE4backEv
- 0xc0106a44 0x19 TaskManager/Task.ns.o
- 0xc0106a44 Vector<Process*>::back()
+ 0xc0106ac4 0x19 TaskManager/Task.ns.o
+ 0xc0106ac4 Vector<Process*>::back()
.text._ZN6VectorIP7ProcessE3popEv
- 0xc0106a5e 0x6d load address 0x00106a5e
+ 0xc0106ade 0x6d load address 0x00106ade
.text._ZN6VectorIP7ProcessE3popEv
- 0xc0106a5e 0x6d TaskManager/Task.ns.o
- 0xc0106a5e Vector<Process*>::pop()
+ 0xc0106ade 0x6d TaskManager/Task.ns.o
+ 0xc0106ade Vector<Process*>::pop()
.text._ZN6VectorIP7ProcessE5emptyEv
- 0xc0106acc 0x10 load address 0x00106acc
+ 0xc0106b4c 0x10 load address 0x00106b4c
.text._ZN6VectorIP7ProcessE5emptyEv
- 0xc0106acc 0x10 TaskManager/Task.ns.o
- 0xc0106acc Vector<Process*>::empty()
+ 0xc0106b4c 0x10 TaskManager/Task.ns.o
+ 0xc0106b4c Vector<Process*>::empty()
.text._ZN6VectorIP7ProcessED1Ev
- 0xc0106adc 0x27 load address 0x00106adc
+ 0xc0106b5c 0x27 load address 0x00106b5c
.text._ZN6VectorIP7ProcessED1Ev
- 0xc0106adc 0x27 TaskManager/Task.ns.o
- 0xc0106adc Vector<Process*>::~Vector()
+ 0xc0106b5c 0x27 TaskManager/Task.ns.o
+ 0xc0106b5c Vector<Process*>::~Vector()
-.text._Znaj 0xc0106b03 0x1b load address 0x00106b03
- .text._Znaj 0xc0106b03 0x1b VTManager/VirtualTerminal.class.o
- 0xc0106b03 operator new[](unsigned int)
+.text._Znaj 0xc0106b83 0x1b load address 0x00106b83
+ .text._Znaj 0xc0106b83 0x1b VTManager/VirtualTerminal.class.o
+ 0xc0106b83 operator new[](unsigned int)
.text._ZN6VectorIP15VirtualTerminalEC1Ev
- 0xc0106b1e 0x18 load address 0x00106b1e
+ 0xc0106b9e 0x18 load address 0x00106b9e
.text._ZN6VectorIP15VirtualTerminalEC1Ev
- 0xc0106b1e 0x18 VTManager/VT.ns.o
- 0xc0106b1e Vector<VirtualTerminal*>::Vector()
+ 0xc0106b9e 0x18 VTManager/VT.ns.o
+ 0xc0106b9e Vector<VirtualTerminal*>::Vector()
.text._ZN6VectorIP15VirtualTerminalE4pushES1_
- 0xc0106b36 0x91 load address 0x00106b36
+ 0xc0106bb6 0x91 load address 0x00106bb6
.text._ZN6VectorIP15VirtualTerminalE4pushES1_
- 0xc0106b36 0x91 VTManager/VT.ns.o
- 0xc0106b36 Vector<VirtualTerminal*>::push(VirtualTerminal*)
+ 0xc0106bb6 0x91 VTManager/VT.ns.o
+ 0xc0106bb6 Vector<VirtualTerminal*>::push(VirtualTerminal*)
.text._ZN6VectorIP15VirtualTerminalE4sizeEv
- 0xc0106bc8 0xb load address 0x00106bc8
+ 0xc0106c48 0xb load address 0x00106c48
.text._ZN6VectorIP15VirtualTerminalE4sizeEv
- 0xc0106bc8 0xb VTManager/VT.ns.o
- 0xc0106bc8 Vector<VirtualTerminal*>::size()
+ 0xc0106c48 0xb VTManager/VT.ns.o
+ 0xc0106c48 Vector<VirtualTerminal*>::size()
.text._ZN6VectorIP15VirtualTerminalEixEj
- 0xc0106bd4 0x12 load address 0x00106bd4
+ 0xc0106c54 0x12 load address 0x00106c54
.text._ZN6VectorIP15VirtualTerminalEixEj
- 0xc0106bd4 0x12 VTManager/VT.ns.o
- 0xc0106bd4 Vector<VirtualTerminal*>::operator[](unsigned int)
+ 0xc0106c54 0x12 VTManager/VT.ns.o
+ 0xc0106c54 Vector<VirtualTerminal*>::operator[](unsigned int)
.text._ZN6VectorIP15VirtualTerminalE4backEv
- 0xc0106be6 0x19 load address 0x00106be6
+ 0xc0106c66 0x19 load address 0x00106c66
.text._ZN6VectorIP15VirtualTerminalE4backEv
- 0xc0106be6 0x19 VTManager/VT.ns.o
- 0xc0106be6 Vector<VirtualTerminal*>::back()
+ 0xc0106c66 0x19 VTManager/VT.ns.o
+ 0xc0106c66 Vector<VirtualTerminal*>::back()
.text._ZN6VectorIP15VirtualTerminalE3popEv
- 0xc0106c00 0x6d load address 0x00106c00
+ 0xc0106c80 0x6d load address 0x00106c80
.text._ZN6VectorIP15VirtualTerminalE3popEv
- 0xc0106c00 0x6d VTManager/VT.ns.o
- 0xc0106c00 Vector<VirtualTerminal*>::pop()
+ 0xc0106c80 0x6d VTManager/VT.ns.o
+ 0xc0106c80 Vector<VirtualTerminal*>::pop()
.text._ZN6VectorIP15VirtualTerminalED1Ev
- 0xc0106c6e 0x27 load address 0x00106c6e
+ 0xc0106cee 0x27 load address 0x00106cee
.text._ZN6VectorIP15VirtualTerminalED1Ev
- 0xc0106c6e 0x27 VTManager/VT.ns.o
- 0xc0106c6e Vector<VirtualTerminal*>::~Vector()
+ 0xc0106cee 0x27 VTManager/VT.ns.o
+ 0xc0106cee Vector<VirtualTerminal*>::~Vector()
.text._ZN6VectorI6StringEC1Ev
- 0xc0106c96 0x18 load address 0x00106c96
+ 0xc0106d16 0x18 load address 0x00106d16
.text._ZN6VectorI6StringEC1Ev
- 0xc0106c96 0x18 Library/String.class.o
- 0xc0106c96 Vector<String>::Vector()
+ 0xc0106d16 0x18 Library/String.class.o
+ 0xc0106d16 Vector<String>::Vector()
.text._ZN6VectorI6StringE4pushES0_
- 0xc0106cae 0x9b load address 0x00106cae
+ 0xc0106d2e 0x9b load address 0x00106d2e
.text._ZN6VectorI6StringE4pushES0_
- 0xc0106cae 0x9b Library/String.class.o
- 0xc0106cae Vector<String>::push(String)
+ 0xc0106d2e 0x9b Library/String.class.o
+ 0xc0106d2e Vector<String>::push(String)
.text._ZN6VectorI6StringE4backEv
- 0xc0106d4a 0x19 load address 0x00106d4a
+ 0xc0106dca 0x19 load address 0x00106dca
.text._ZN6VectorI6StringE4backEv
- 0xc0106d4a 0x19 Library/String.class.o
- 0xc0106d4a Vector<String>::back()
+ 0xc0106dca 0x19 Library/String.class.o
+ 0xc0106dca Vector<String>::back()
.rodata 0xc0107000 0x733 load address 0x00107000
*(.rodata)
diff --git a/Source/Kernel/Melon.ke b/Source/Kernel/Melon.ke
index 9bf6517..76bb865 100755
--- a/Source/Kernel/Melon.ke
+++ b/Source/Kernel/Melon.ke
Binary files differ