Skip to main content

Mark Lam

Mark Lam was previously a virtual machine engineer in the JavaME CDC team at Sun Microsystems for 8 years. Before joining Sun, he was a real-time embedded systems developer for 6+ years, working on application frameworks, graphics systems, networking protocols, game development, and fault tolerant systems amongst other things, on devices ranging from 64KB 8bit uControllers to 32-bit RISC machines. Currently, Mark is pursuing other interests in embedded development.


mlam's blog

CVM Object Allocation

Posted by mlam on June 16, 2008 at 10:29 PM PDT

In a previous comment, Jamsheed asked, ...

"In CDC we have garbage collection invocation for fast lock contention case (From my understanding this is done for rolling the object allocation unsafe thread to gcsafe).

Not at Sun anymore

Posted by mlam on June 16, 2008 at 1:06 AM PDT

Tonight, I noticed that there were a few inquiries posted (back in May) as comments on some of my old entries. I apologize for not bring able to respond since I didn't know about them until now.

JVMTI in Multi-tasking VMs (MVM)

Posted by mlam on March 13, 2008 at 1:21 AM PDT

Hmmmm ... two blog questions in the same day. What's an over-worked and busy guy to do? Oh well, I guess the day job can wait just a little while I respond with a few words.

CVM JIT Constant Pool Dumps

Posted by mlam on March 12, 2008 at 11:52 PM PDT

Hello World! It's been a long time ... ummm ... like 6 months since I last wrote an entry. What can I say? That's the problem with having a day job, and so far, all the ideas for things that I want to write about involves some heavy duty writing that will take up a lot of time. So, I've been putting it off.

VM Inspector 0.1: Some new stuff

Posted by mlam on September 21, 2007 at 7:37 PM PDT

You may or may not have noticed on the phoneME Advanced Downloads page, that there is a phoneME Advanced MR2 binary for WinCE / Windows Mobile 5. That's one of the projects that my esteemed colleagues and I have been busy working on in the past few months. That is part of the reason I have not been able to post much.

What's the Diff?

Posted by mlam on August 31, 2007 at 7:22 PM PDT

In a comment for a previous blog entry, I was asked ...

Hi Mark,

Although my question does not directly have to do with VM Inspector, I have a question regarding phoneME advanced MR2.

CVM: Why use the C or Java heap?

Posted by mlam on August 9, 2007 at 6:49 PM PDT

A comment in a previous blog asks ...

I'd love to hear the explanations on why specific things are on the Java heap vs. the malloc heap.

CVM's VM Inspector

Posted by mlam on July 31, 2007 at 11:59 PM PDT

In a previous blog entry, I showed you a map of CVM. If you are a VM engineer (or someone who is doing a port of the VM), and need to do some debugging, navigating all that data structures can be pretty daunting. How do the CVM engineers do it?



Posted by mlam on July 30, 2007 at 10:45 PM PDT

In a comment in a previous blog entry, a friend asked a question about using the JVMTM Tools Interface (JVMTI) with JavaME CDC ..

Async Thread Dumps on CVM

Posted by mlam on June 22, 2007 at 1:45 AM PDT

There are times in the course of your development effort when your application just seems to hang forever. At those times, you wish you had some way of knowing where the hang is occurring. If you're running on JavaSE, chances are you'll have a lot of advanced tools that makes life easy for you. But if you're running on an embedded device, suddenly, your options are now severely limited.