SOURCE: https://jobs.qualcomm.com/public/jobDetails.xhtml?requisitionId=1887529&page=jobSearch

Division Qualcomm CDMA Technology
Job Area Engineering – Software
Location California – San Diego
Job Function The JIT compiler and Virtual Machines team in the Web Technologies group at Qualcomm Innovation Center focuses on development and optimization of software virtual machines (both interpreter and JIT compiler based), for languages like Java, JavaScript, Action Script, etc, commonly used in Web Browsers, for Qualcomms various MSM platforms. This role requires the following essential duties and responsibilities:

  • Research, design, develop, enhance, and implement the different components of the software in a virtual machine by efficiently utilizing/interfacing the HW in Qualcomms SOCs, leading to optimized performance, power, memory usage, and user experience.
  • Collaborate with chipset architecture and hardware engineers, and come up with software solutions best suited for Qualcomms SOCs.
  • Develop and execute benchmark and test scenarios for the virtual machines based on the different use-cases in a web browser.
  • Work with Product and Systems teams to understand and improve the design and working of the software involved in the virtual machines.
  • Analyze and identify system level integration issues, interface with the browser integration and test teams.
  • Follow Qualcomms open source design practices
  • Keep up with the web technology landscape (HTML5, CSS, JavaScript, etc) and help drive design aspects of Qualcomm CDMA Technology’s (QCT) chipsets necessary for supporting these technologies
  • Plan and integrate new features into the software for virtual machines based on open web standards such as W3C and the language standards (e.g. ECMA for JavaScript).
Skills/Experience
  • Experience in compiler development – compiler intermediate representations, machine independent and machine dependent optimizations, instruction selection, scheduling, register-allocation, back-end optimizations.
  • Working knowledge of Operating System concepts, process/thread, memory management, garbage collection algorithms, threads scheduling.
  • Working knowledge of assemblers, linkers, loaders, object file formats, instruction set simulators and experience using them.
  • Knowledge of the structure & function of the virtual machine internals byte-code formats, heap, constant pool resolution, garbage collection, execution mechanisms, etc.
  • Understanding of the compilation challenges and potential solutions for languages like Java (e.g., dynamic dispatch, polymorphism, inline caching) and JavaScript (e.g., dynamic types, dynamic addition/deletion of properties/values to objects, prototype based inheritance).
  • Knowledge of computer architectures – pipeline structure & hazards, cache & memory organization, etc.
  • Knowledge of the software architecture and internals of a web browser, JavaScript to Webkit bindings, JavaScript engines interaction with DOM and Plugins.
  • Strong background in embedded software development, experience in assembly language programming and optimization.
  • 5 to 10 years of programming experience in C/C++.
  • Should have exposure to large scale software build, integration and test environments
  • Strong communication and interpersonal skills required
Responsibilities
  • Knowledge and experience in Android or Chrome OS mobile platforms.
  • ARM architecture knowledge and assembly code optimization experience.
  • Experience with scripting languages used in build systems and hands-on experience on debugging embedded systems.
  • Experience with JTAG and ICE debuggers
Education Requirements Masters degree in Computer Science, Computer Engineering or related field, with experience in the technical domain. PhD degree and research work in the related technical area also encouraged. Candidates close to graduating with Masters or PhD in Computer Science/Engineering with project experience in the technical area can also apply.
 

缘起:写这篇文章因为报名参加了龙芯开源软件大赛,项目是《Webkit-龙》,把webkit移植到龙芯N32系统上,起初是想做chromium的移植。但在起步的过程中,发现一是Google的V8引擎,对mips的支持基本处于不可用状态,而且chromium为了追求性能,使用的方式太过灵巧,如Native client(Google的野心–Native Client+LLVM),凭自己的一己之力,靠业余时间,很难完成,只好先做webkit了。

Squirrelfish 是Webkit的Javascript引擎。针对龙芯平台(MIPS)已经有了JIT支持,但仅仅对O32系统才有,本博曾经介绍过相关内容(WebKit和Firefox的JavaScript性能对比)。 Continue reading »

 

严格的说WebKit仅仅是个浏览器核心,采用该核心的浏览器很多,如国内的搜狗浏览器,遨游浏览器。其他的如google的chrome(Windows平台,linux平台下为chromium),epiphany(linux平台下,gnome2.28版本之后),苹果的Safari 都采用了webkit的内核。Firefox则是采用Gecko的内核,这是NetScape公司开发的内核,后来开源,mozilla继续开发。另外,现在还有另外两种常见的浏览器内核,Trident主要用在IE系列上,Presto主要用在Opera上。

这篇文章仅仅针对浏览器处理JavaScript的性能作比较,主要在X86平台和龙芯平台。先来解释一下JavaScript,JavaScript是互联网内较为常用的脚本语言,面向对象,主要在浏览器内解释执行,用于生成动态网页,因为很多语言特性受Java影响,所以叫JavaScript。通过JavaScript,浏览器可以运行服务器想要在访问者终端上运行的一些计算程序,以达到更好的浏览体验。 Continue reading »

 

GNOME 2.22 是 GNOME 桌面环境目前最新的稳定版,该版本计划在今天正式发布。根据 GNOME 项目团队的开发周期,每隔 6 个月,GNOME 都会发布一个新的版本。可以预见的是,在 Ubuntu 8.04、Fedora 9、openSUSE 11 等 Linux 发行版中都将装载 GNOME 2.22。在 GNOME 2.22 中都有哪些新特性,让我们一起来关注。

Cheese:摄像头程序

Cheese 是一个有趣的小程序,它允许用户从摄像头拍摄照片或录制视频。之所以说它有趣,是因为该程序自带了许多神奇的效果,你只需轻点鼠标就可以将其应用到所拍摄的照片或录制的视频上。试试 Cheese,相信你会喜欢它的。

Metacity:加入了窗口混合特性

GNOME 桌面环境的默认窗口管理器 Metacity 已经具有了混合特性,这使得你的桌面即使不用 Compiz,也可以获得诸如下拉阴影、窗口透明、以及 Alt+Tab 切换效果。

Totem:支持 DVD 及 DVB 播放

在 GNOME 中的电影播放器 Totem 已改进了对 DVD 及 DVB (数字电视) 播放的支持。

GVFS

GNOME 2.22 引入了 GVFS。GVFS 为文件传输/复制/移动对话框提供更多信息,并支持使用诸如 cdda://、gphoto2:// 等之类的新协议来访问。

Clock applet:支持显示多个时区

时钟面板程序引入了从世界各地显示多个时区的新功能。

Evolution:更多改善

Evolution 不仅支持 Google Calendar,而且能够为邮件打 tag。此外,在垃圾邮件过滤方面也有新的进展。

Vinagre:远程桌面

GNOME 2.22 加入了新的远程桌面程序 Vinagre,它支持浏览服务器网络,并允许收藏经常使用的连接。

键盘设置:更加简单

GNOME 2.22 对 Keyboard Preferences 窗口进行了重新设计,使键盘的设置更加简单。

其他特性

在 GNOME 2.22 中增加的其他特性也值得注意,包括:改善了屏幕阅读和放大功能,新的 Mousetweaks 鼠标工具,集成了 PolicyKit,更佳的系统工具,在 Deskbar 中可以直接打开 Evolution 联系人,改进了文本编辑器 gedit 的打印功能,Chess 支持网络多玩家对战,Epiphany 支持 Webkit 后端和下载通知功能,存档管理器支持 LZMA (7-zip),当烧录 CD 时能禁止自动挂机和休眠,文档查看器 Evince 具有更快的执行速度、更低的内存占用及支持页面过渡效果 (PDF slideshows),Tomboy 支持分类整理笔记,Sound Juicer 支持更多的元数据,计算器程序的精度和可用性都得到了改进,Keyring Manager 被 Seahorse 完全取代,等等。

2009-2011© 编译点滴 Suffusion theme by Sayontan Sinha

无觅相关文章插件,快速提升流量