if (typeof importScripts === 'function') {
  var boot = function(e) {
    if (e.data.api === 'MS_LaunchWorker')  {
      self.removeEventListener('message', boot, false);
      self[e.data.asm_js_module_name]({ __ms_module_id__: e.data.mod_id,
                                        __ms_browser_language__: e.data.browser_language,
                                        TOTAL_MEMORY: e.data.asm_js_memory });
    }
    if (!self["performance"])
      self["performance"] = {};
    if (!self["performance"]["now"])
      self["performance"]["now"] = function() { return Date.now(); }
  };
  self.addEventListener('message', boot, false);
}

@@ -1,11 +1,10 @@
 if
- 
 (typeof 
@@ -16,21 +16,19 @@
 tScripts
- 
 ===
- 
 'functio
@@ -34,24 +34,15 @@
 on')
- %7B%0A  var boot = 
+%7Bvar b=
 func
@@ -52,18 +52,11 @@
 n(e)
- %7B%0A    
+%7B
 if
- 
 (e.d
@@ -66,13 +66,11 @@
 .api
- 
 ===
- 
 'MS_
@@ -87,18 +87,9 @@
 er')
-  %7B%0A      
+%7B
 self
@@ -123,29 +123,17 @@
 ge',
- boot, false);%0A      
+b,false);
 self
@@ -161,17 +161,16 @@
 _name%5D(%7B
- 
 __ms_mod
@@ -178,17 +178,16 @@
 le_id__:
- 
 e.data.m
@@ -196,49 +196,8 @@
 _id,
-%0A                                        
 __ms
@@ -216,17 +216,16 @@
 guage__:
- 
 e.data.b
@@ -244,49 +244,8 @@
 age,
-%0A                                        
 TOTA
@@ -253,17 +253,16 @@
 _MEMORY:
- 
 e.data.a
@@ -277,194 +277,14 @@
 mory
- 
 %7D);
-%0A    %7D%0A    if (!self%5B%22performance%22%5D)%0A      self%5B%22performance%22%5D = %7B%7D;%0A    if (!self%5B%22performance%22%5D%5B%22now%22%5D)%0A      self%5B%22performance%22%5D%5B%22now%22%5D = function() %7B return Date.now(); %7D%0A  %7D;%0A  
+%7D%7D;
 self
@@ -315,21 +315,15 @@
 ge',
- boot, 
+b,
 false);
-%0A
 %7D%0A

work in progress