- 29 Jan, 2010 1 commit
-
-
fschneider@chromium.org authored
This change adds a post-order numbering to AST nodes that are relevant for the fast code generator. It is only invoked together with the fast compiler. Also changed the ast printer to print the numbering for testing purposes if it is present. Review URL: http://codereview.chromium.org/553134 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@3738 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 27 Jan, 2010 1 commit
-
-
kmillikin@chromium.org authored
simpler backend for non-toplevel code. Review URL: http://codereview.chromium.org/549158 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@3721 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 25 Jan, 2010 1 commit
-
-
ager@chromium.org authored
Patch by Erich Ocean and Ryan Dahl. Review URL: http://codereview.chromium.org/545125 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@3688 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 20 Jan, 2010 1 commit
-
-
kmillikin@chromium.org authored
Review URL: http://codereview.chromium.org/549109 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@3662 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 18 Jan, 2010 1 commit
-
-
mikhail.naganov@gmail.com authored
As this is only needed for internal profiling (not for DevTools), the following approach had been chosen: - during snapshot creation, positions of serialized objects inside a snapshot are logged; - then during V8 initialization, positions of deserealized objects are logged; - those positions are used for retrieving code objects names from snapshot creation log, which needs to be supplied to tick processor script. Positions logging is controlled with the new flag: --log_snapshot_positions. This flag is turned off by default, and this adds no startup penalty. To plug this fix to Golem, the following actions are needed: - logs created using 'mksnapshot' need to be stored along with VM images; - tick processor script needs to be run with '--snapshot-log=...' cmdline argument. BUG=571 Review URL: http://codereview.chromium.org/551062 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@3635 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 09 Dec, 2009 1 commit
-
-
erik.corry@gmail.com authored
Create the framework for adding a thumb2 backend for ARM. See http://codereview.chromium.org/464070 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@3436 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 02 Dec, 2009 1 commit
-
-
sgjesse@chromium.org authored
Patch by Peter Valchev <pvalchev@gmail.com>. TBR=ager@chromium.org Review URL: http://codereview.chromium.org/465002 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@3398 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 06 Nov, 2009 1 commit
-
-
erik.corry@gmail.com authored
it in regular flat strings that are part of the snapshot. After this change we don't need libraries-empty.cc any more. In this change libraries-empty.cc is just a the same as libraries.cc and the scons build builds it but does not use it. We can move in stages to a situation where it is not generated at all for all the build systems that we have. Review URL: http://codereview.chromium.org/360050 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@3238 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 15 Oct, 2009 3 commits
-
-
kmillikin@chromium.org authored
true at the top level we generate: 0 stmdb sp!, {r1, r8, fp, lr} 4 add fp, sp, #8 8 ldr ip, [r10, #+4] 12 ldr r2, [r10, #+0] 16 str ip, [sp, #-4]! 20 add lr, pc, #4 24 cmp sp, r2 28 ldrcc pc, [pc, #+68] ;; code: STUB, StackCheck, minor: 0 32 ldr ip, [pc, #+68] ;; object: 0xf5bc4161 <true> 36 str ip, [sp, #-4]! 40 ldr ip, [sp, #+0] 44 str ip, [fp, #-12] 48 add sp, sp, #4 52 ldr ip, [fp, #-12] 56 str ip, [sp, #-4]! 60 ldr r0, [sp], #+4 64 mov sp, fp ;; js return 68 ldmia sp!, {fp, lr} 72 add sp, sp, #4 76 bx lr 80 ldr r0, [r10, #+4] 84 mov sp, fp ;; js return 88 ldmia sp!, {fp, lr} 92 add sp, sp, #4 96 bx lr 100 constant pool begin 104 constant 108 constant Review URL: http://codereview.chromium.org/264067 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@3073 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
kmillikin@chromium.org authored
top-level code we generate: 0 push rbp 1 movq rbp,rsp 4 push rsi 5 push rdi 6 push [r13+0x8] 10 cmpq rsp,[r13+0x0] 14 jnc 25 (0x7ff2c378ff19) 20 call 0x7ff2c377d260 ;; code: STUB, StackCheck, minor: 0 25 movq r10,0x7ff2e8608199 ;; object: 0x7ff2e8608199 <true> 35 push r10 37 movq rax,[rsp] 41 movq [rbp-0x18],rax 45 pop rax 46 push [rbp-0x18] 50 pop rax 51 movq rsp,rbp ;; js return 54 pop rbp 55 ret 0x8 58 int3 59 int3 60 int3 61 int3 62 int3 63 int3 64 movq rax,[r13+0x8] 68 movq rsp,rbp ;; js return 71 pop rbp 72 ret 0x8 75 int3 76 int3 77 int3 78 int3 79 int3 80 int3 Review URL: http://codereview.chromium.org/264066 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@3071 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
kmillikin@chromium.org authored
line. This is to make it easier to add and remove sources without having to reformat line breaks. It also enables sorting with M-x sort-lines (in emacs) or the like. Review URL: http://codereview.chromium.org/276042 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@3070 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 14 Oct, 2009 1 commit
-
-
kmillikin@chromium.org authored
fast code generator is optimized for compilation time and code size. Currently it is only implemented on IA32. It is potentially triggered for any code in the global scope (including code eval'd in the global scope). It performs a syntactic check and chooses to compile in fast mode if the AST contains only supported constructs and matches some other constraints. Initially supported constructs are * ExpressionStatement, * ReturnStatement, * VariableProxy (variable references) to parameters and stack-allocated locals, * Assignment with lhs a parameter or stack-allocated local, and * Literal This allows compilation of literals at the top level and not much else. All intermediate values are allocated to temporaries and the stack is used for all temporaries. The extra memory traffic is a known issue. The code generated for 'true' is: 0 push ebp 1 mov ebp,esp 3 push esi 4 push edi 5 push 0xf5cca135 ;; object: 0xf5cca135 <undefined> 10 cmp esp,[0x8277efc] 16 jnc 27 (0xf5cbbb1b) 22 call 0xf5cac960 ;; code: STUB, StackCheck, minor: 0 27 push 0xf5cca161 ;; object: 0xf5cca161 <true> 32 mov eax,[esp] 35 mov [ebp+0xf4],eax 38 pop eax 39 mov eax,[ebp+0xf4] 42 mov esp,ebp ;; js return 44 pop ebp 45 ret 0x4 48 mov eax,0xf5cca135 ;; object: 0xf5cca135 <undefined> 53 mov esp,ebp ;; js return 55 pop ebp 56 ret 0x4 Review URL: http://codereview.chromium.org/273050 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@3067 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 30 Sep, 2009 1 commit
-
-
kmillikin@chromium.org authored
Review URL: http://codereview.chromium.org/255022 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@2996 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 16 Sep, 2009 1 commit
-
-
mikhail.naganov@gmail.com authored
The profile is taken together with constructors profile. In theory, it should represent a complete heap graph. However, this takes a lot of memory, so it is reduced to a more compact, but still useful form. Namely: - objects are aggregated by their constructors, except for Array and Object instances, that are too hetereogeneous; - for Arrays and Objects, initially every instance is concerned, but then they are grouped together based on their retainer graph paths similarity (e.g. if two objects has the same retainer, they are considered equal); Review URL: http://codereview.chromium.org/200132 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@2903 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 09 Sep, 2009 1 commit
-
-
sgjesse@chromium.org authored
Review URL: http://codereview.chromium.org/195024 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@2847 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 31 Aug, 2009 1 commit
-
-
lrn@chromium.org authored
Review URL: http://codereview.chromium.org/173567 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@2785 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 14 Aug, 2009 1 commit
-
-
lrn@chromium.org authored
Review URL: http://codereview.chromium.org/165443 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@2688 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 31 Jul, 2009 1 commit
-
-
kmillikin@chromium.org authored
generated in one-pass from the source AST, code is generated from the CFG. Enabled by the flag --multipass and disabled by default. Rudimentary and currently only supports literal expressions and return statements. There are some other known limitations (e.g., missing support for tracing). Review URL: http://codereview.chromium.org/159695 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@2596 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 17 Jul, 2009 1 commit
-
-
kasperl@chromium.org authored
Original review: http://codereview.chromium.org/149768 TBR=kmillikin@chromium.org Review URL: http://codereview.chromium.org/155679 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@2492 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 16 Jun, 2009 1 commit
-
-
whesse@chromium.org authored
Review URL: http://codereview.chromium.org/125131 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@2177 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 11 Jun, 2009 1 commit
-
-
whesse@chromium.org authored
Review URL: http://codereview.chromium.org/123018 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@2146 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 28 May, 2009 1 commit
-
-
mikhail.naganov@gmail.com authored
The goal of this change is to allow longer profiling sessions and preserve memory when profiler isn't started. The buffer starts with 64K and grows until it reaches the upper limit, which is currently set to 50MB --- according to my evaluations, this is enough for at least 20 minutes of GMail profiling. As we're planning to introduce compression for the profiler log, this time boundary will be significantly increased soon. To make possible unit testing of the new component, I've factored out Logger's utility classes into a separate source file: log-utils.h/cc. Log and LogMessageBuilder are moved there from log.cc without any semantical changes. Review URL: http://codereview.chromium.org/115814 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@2067 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 30 Apr, 2009 1 commit
-
-
sgjesse@chromium.org authored
The current version is now held in src/version.cc in a number of defines which needs to be modified when changing version. The following defines make up the version information: MAJOR_VERSION MINOR_VERSION BUILD_NUMBER PATCH_LEVEL CANDIDATE_VERSION The first four are numbers and the fifth is a boolean. Besides these five the define SONAME can be used to set a specific soname when building the a shared library (see below). This will most likely be used on stable branches where binary compatibility is ensured between different versions. This define is a string. This version information is now read by the SCons build to support setting the soname for a Linux shared library. This requires passing the option soname=on to the SCons build. When soname=on is specified the soname for the shared library can be set in two different ways. Either it will be the full versioned library name (e.g. libv8-1.2.2.so) or a specific soname defined in src/version.cc. Whenever a shared library is build with an soname the filename of the library will hold the full version name (e.g. libv8-1.2.2.so). I did not update the xcode project with the new files. BUG=151 Review URL: http://codereview.chromium.org/100104 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@1826 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 29 Apr, 2009 1 commit
-
-
lrn@chromium.org authored
Possible to attempt to build for X64. Build will be unsuccessful, since all x64 source files are missing and pointers are reinterpreted as integers everywhere. Review URL: http://codereview.chromium.org/99186 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@1817 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 24 Apr, 2009 1 commit
-
-
christian.plesner.hansen@gmail.com authored
- Added lazily loaded JSON object. git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@1784 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 23 Apr, 2009 1 commit
-
-
lrn@chromium.org authored
Move ia32 and arm specific files to subdirectories to make it easier to add more backends. Review URL: http://codereview.chromium.org/92068 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@1782 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 14 Apr, 2009 1 commit
-
-
mikhail.naganov@gmail.com authored
Currently function name inference is wired with AST optimization pass to avoid introducing another pass over AST. A better solution would be to rewrite AST visitors so they can be naturally combined together in a single pass, as their current implementation doesn't allow it. For examples of cases where function names can be inferred, see the tests file. Review URL: http://codereview.chromium.org/62146 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@1696 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 31 Mar, 2009 1 commit
-
-
sgjesse@chromium.org authored
Fixed the OS check in the SCons build. Moved SetEnvironment to platform file as Windows does not have setenv. Added the d8-windows.cc to the Visual Studio project. Review URL: http://codereview.chromium.org/57050 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@1649 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 27 Mar, 2009 1 commit
-
-
erik.corry@gmail.com authored
Review URL: http://codereview.chromium.org/42641 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@1633 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 24 Mar, 2009 1 commit
-
-
sgjesse@chromium.org authored
Add a new "pseudo" platform for POSIX. It it will contain code shared by the platforms supporting POSIX. Currently Linux, Mac OS and FreeBSD are considered POSIX platforms using the POSIX implementation. Initially the platform socket implementation has been moved from the Linux, Mac OS and FreeBSD platforms to the POSIX platform. If implementation which ends up in the POSIX platform at some point cannot be the same across POSIX platforms the implementation can easily be moved back into the individual POSIX "complient" platforms. Review URL: http://codereview.chromium.org/51001 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@1583 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 23 Mar, 2009 1 commit
-
-
erik.corry@gmail.com authored
Review URL: http://codereview.chromium.org/52010 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@1574 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 20 Mar, 2009 2 commits
-
-
erik.corry@gmail.com authored
TBR=ager git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@1567 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
erik.corry@gmail.com authored
Review URL: http://codereview.chromium.org/47004 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@1566 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 05 Mar, 2009 2 commits
-
-
mikhail.naganov@gmail.com authored
Review URL: http://codereview.chromium.org/40159 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@1427 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
mikhail.naganov@gmail.com authored
Please be warned that current gHardy versions have OProfile 0.9.3 which doesn't have JIT API. You need to install OProfile 0.9.4 with a 32-bit version of opagent library. Instructions are on the internal Wiki page: http://wiki/Main/V8UsingOProfile Review URL: http://codereview.chromium.org/39179 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@1426 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 03 Mar, 2009 1 commit
-
-
sgjesse@chromium.org authored
The debugger agent listens on a TCP/IP port for a remote debugger connection. When such a connection is established the debuger JSON protocol is communicated between the agent the the remote debugger. The messages containing the JSON protocol has a RFC-822 like header with a Content-Length field and with the body containing the JSON in UTF-8 encoding. The D8 shell has option --debugger-agent to start the debugger agent. Review URL: http://codereview.chromium.org/27355 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@1405 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 27 Feb, 2009 1 commit
-
-
kmillikin@chromium.org authored
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@1389 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 25 Feb, 2009 1 commit
-
-
erik.corry@gmail.com authored
Review URL: http://codereview.chromium.org/21504 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@1355 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 09 Feb, 2009 1 commit
-
-
sgjesse@chromium.org authored
Changelist http://codereview.chromium.org/20177 caused linking of mksnapshot to fail as link libraries where not specified. Updated build to link mksnapshot with pthread on Linux and Mac OS and with winmm on Windows. Review URL: http://codereview.chromium.org/21171 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@1241 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 30 Jan, 2009 1 commit
-
-
olehougaard authored
Enabling splitting building with snapshots in to building the mksnapshot executable and building with a snapshot to facilitate building for ARM with a crosstool compiler. Review URL: http://codereview.chromium.org/19014 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@1188 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-