[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Gnash-commit] gnash ChangeLog server/Function.cpp server/as_e...
From: |
Sandro Santilli |
Subject: |
[Gnash-commit] gnash ChangeLog server/Function.cpp server/as_e... |
Date: |
Fri, 07 Jul 2006 12:36:10 +0000 |
CVSROOT: /sources/gnash
Module name: gnash
Changes by: Sandro Santilli <strk> 06/07/07 12:36:10
Modified files:
. : ChangeLog
server : Function.cpp as_environment.cpp
as_environment.h
Log message:
* server/Function.cpp: fixed local registers handling in
operator()
for function2 (see the 1-based register WARNING below).
* server/as_environment.cpp, server/as_environment.h:
outlined local register functions, adding assertion checking.
CVSWeb URLs:
http://cvs.savannah.gnu.org/viewcvs/gnash/ChangeLog?cvsroot=gnash&r1=1.475&r2=1.476
http://cvs.savannah.gnu.org/viewcvs/gnash/server/Function.cpp?cvsroot=gnash&r1=1.25&r2=1.26
http://cvs.savannah.gnu.org/viewcvs/gnash/server/as_environment.cpp?cvsroot=gnash&r1=1.11&r2=1.12
http://cvs.savannah.gnu.org/viewcvs/gnash/server/as_environment.h?cvsroot=gnash&r1=1.13&r2=1.14
Patches:
Index: ChangeLog
===================================================================
RCS file: /sources/gnash/gnash/ChangeLog,v
retrieving revision 1.475
retrieving revision 1.476
diff -u -b -r1.475 -r1.476
--- ChangeLog 7 Jul 2006 01:01:11 -0000 1.475
+++ ChangeLog 7 Jul 2006 12:36:10 -0000 1.476
@@ -1,5 +1,9 @@
2006-07-07 Sandro Santilli <address@hidden>
+ * server/Function.cpp: fixed local registers handling in operator()
+ for function2 (see the 1-based register WARNING below).
+ * server/as_environment.cpp, server/as_environment.h:
+ outlined local register functions, adding assertion checking.
* server/ActionExec.cpp, server/MovieClipLoader.cpp,
server/as_environment.cpp, server/as_environment.h,
server/character.cpp, server/character.h, server/sprite_instance.cpp,
Index: server/Function.cpp
===================================================================
RCS file: /sources/gnash/gnash/server/Function.cpp,v
retrieving revision 1.25
retrieving revision 1.26
diff -u -b -r1.25 -r1.26
--- server/Function.cpp 5 Jul 2006 23:56:08 -0000 1.25
+++ server/Function.cpp 7 Jul 2006 12:36:10 -0000 1.26
@@ -247,7 +247,9 @@
}
// Handle the implicit args.
- int current_reg = 0;
+ // @@ why start at 1 ? Note that starting at 0 makes
+ // intro.swf movie fail to play correctly.
+ uint8_t current_reg = 1;
if (m_function2_flags & 0x01)
{
// preload 'this' into a register.
Index: server/as_environment.cpp
===================================================================
RCS file: /sources/gnash/gnash/server/as_environment.cpp,v
retrieving revision 1.11
retrieving revision 1.12
diff -u -b -r1.11 -r1.12
--- server/as_environment.cpp 7 Jul 2006 01:01:11 -0000 1.11
+++ server/as_environment.cpp 7 Jul 2006 12:36:10 -0000 1.12
@@ -276,6 +276,27 @@
m_variables[varname] = val;
}
+as_value&
+as_environment::local_register(uint8_t n)
+{
+ assert( n < m_local_register.size() );
+ return m_local_register[n];
+}
+
+void
+as_environment::drop_local_registers(unsigned int register_count)
+{
+ assert(register_count <= m_local_register.size());
+ m_local_register.resize(m_local_register.size() - register_count);
+}
+
+void
+as_environment::add_local_registers(unsigned int register_count)
+{
+ m_local_register.resize(m_local_register.size() + register_count);
+}
+
+
#if 0
as_value*
as_environment::local_register_ptr(unsigned int reg)
Index: server/as_environment.h
===================================================================
RCS file: /sources/gnash/gnash/server/as_environment.h,v
retrieving revision 1.13
retrieving revision 1.14
diff -u -b -r1.13 -r1.14
--- server/as_environment.h 7 Jul 2006 01:01:11 -0000 1.13
+++ server/as_environment.h 7 Jul 2006 12:36:10 -0000 1.14
@@ -199,15 +199,11 @@
}
void add_frame_barrier() { m_local_frames.push_back(frame_slot()); }
- // Local registers.
- void add_local_registers(unsigned int register_count)
- {
- m_local_register.resize(m_local_register.size() +
register_count);
- }
- void drop_local_registers(unsigned int register_count)
- {
- m_local_register.resize(m_local_register.size() -
register_count);
- }
+ // Add 'count' local registers (add space to end)
+ void add_local_registers(unsigned int register_count);
+
+ // Drop 'count' local registers (drop space from end)
+ void drop_local_registers(unsigned int register_count);
/// \brief
/// Return a pointer to the specified local register.
@@ -219,12 +215,9 @@
/// not dangerous.
//as_value* local_register_ptr(unsigned int reg);
+ /// \brief
/// Return a reference to the Nth local register.
- as_value& local_register(uint8_t n)
- {
- assert( n < m_local_register.size() );
- return m_local_register[n];
- }
+ as_value& local_register(uint8_t n);
/// Return a reference to the Nth global register.
as_value& global_register(unsigned int n)
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [Gnash-commit] gnash ChangeLog server/Function.cpp server/as_e...,
Sandro Santilli <=