- 15 Jun, 2009 5 commits
-
-
mikhail.naganov@gmail.com authored
Code addresses are now written as an offset from the previous address for ticks, code move and delete events. Employed backreference and RLE compression for code move and delete events. This gives additional 30% log size reduction for benchmarks run w/o snapshot. Overall compression results (compared with the revision of V8 having no compression): - V8: 70% size reduction for benchmarks run w/o snapshot (for reference, gzip gives 87%) - Chromium: 65% size reduction for public html version of benchmarks (v4) (for reference, gzip gives 90%) The one obvious opportunity for improving compression results in Chromium is to compress URLs of scripts. Review URL: http://codereview.chromium.org/125114 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@2162 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
kasperl@chromium.org authored
Review URL: http://codereview.chromium.org/126115 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@2161 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
kasperl@chromium.org authored
Review URL: http://codereview.chromium.org/126114 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@2160 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
kasperl@chromium.org authored
Marsaglia's multiply-with-carry instead of mixing the bits obtained from calling the system random() twice. This seems to be a bit faster and gives a better distribution than the system random() in particular on Windows. Review URL: http://codereview.chromium.org/126113 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@2159 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
ager@chromium.org authored
expanded the macro assembler owns the buffer and needs to dispose it in the destructor. Review URL: http://codereview.chromium.org/126111 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@2158 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 12 Jun, 2009 9 commits
-
-
kmillikin@chromium.org authored
class. Manually manage off-frame results at the two sites where they were used. Review URL: http://codereview.chromium.org/125048 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@2157 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
lrn@chromium.org authored
Review URL: http://codereview.chromium.org/125049 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@2156 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
lrn@chromium.org authored
Review URL: http://codereview.chromium.org/126045 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@2155 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
whesse@chromium.org authored
Review URL: http://codereview.chromium.org/126043 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@2154 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
kmillikin@chromium.org authored
branches, and bind with more than two arguments). Remove unneeded variable (the "watermark" on virtual frames). Review URL: http://codereview.chromium.org/125045 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@2153 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
ager@chromium.org authored
Make sure that the IC is always hit when debugging and make sure to restore the fast case when leaving the debugger. Review URL: http://codereview.chromium.org/125044 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@2152 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
bak@chromium.org authored
This replaces the fixed expansion policy based on number of scavenges. Increased the max new space size to 8MB (only reserved space). Increased the defalt new space size to 512KB. Review URL: http://codereview.chromium.org/125046 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@2151 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
sgjesse@chromium.org authored
TBR=ager@chromium.org Review URL: http://codereview.chromium.org/125043 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@2150 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
sgjesse@chromium.org authored
For each frame it is now possible to request information on the scope chain. Each scope in the chain can have one of the types local, global, with and closure. For scopes of type global and with the mirror for the actual global or with object is available. For scopes of type local and closure a plain JavaScript object with the materialized content of the scope is created and its mirror is returned. Depending on the level of possible optimization the content of the materialized local and closure scopes might only contain the names which are actually used. To iterate the scope chain an iterator ScopeIterator have been added which can provide the type of each scope for each part of the chain. This iterator creates an artificial local scope whenever that is present as the context chain does not include the local scope. To avoid caching the mirror objects for the materialized the local and closure scopes transient mirrors have been added. They have negative handles and cannot be retrieved by subsequent lookup calls. Their content is part of a single response. For debugging purposes an additional runtime function DebugPrintScopes is been added. Added commands 'scopes' and 'scope' to the developer shell and fixed the dir command. BUG=none TEST=test/mjsunit/debug-scopes.js Review URL: http://codereview.chromium.org/123021 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@2149 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 11 Jun, 2009 8 commits
-
-
antonm@chromium.org authored
speedup for some DOM operations. Review URL: http://codereview.chromium.org/122038 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@2148 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
mikhail.naganov@gmail.com authored
Two techniques are involved: - compress repeated line ends (common stack beginnings) by using back references; - do RLE compression of repeated tick events. This gives only 5% size reduction on benchmarks run, but this is because tick events are only comprise 10% of file size. Under Chromium winnings are bigger because long repeated samples of idleness are now compressed into a single line. Tickprocessor will be updated in the next patch. Review URL: http://codereview.chromium.org/123012 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@2147 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
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
-
lrn@chromium.org authored
Review URL: http://codereview.chromium.org/123017 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@2145 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
ager@chromium.org authored
be a smi. The inlined version works for stores to JSArrays where the key is a smi that is within bounds of the array and the value is either constant or a smi so we can skip the write-barrier. Review URL: http://codereview.chromium.org/122035 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@2144 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
lrn@chromium.org authored
Review URL: http://codereview.chromium.org/122033 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@2143 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
lrn@chromium.org authored
Review URL: http://codereview.chromium.org/122030 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@2142 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
whesse@chromium.org authored
Review URL: http://codereview.chromium.org/123014 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@2141 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 10 Jun, 2009 12 commits
-
-
erik.corry@gmail.com authored
Review URL: http://codereview.chromium.org/119420 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@2140 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
whesse@chromium.org authored
Remove unimplemented instructions from x64 assembler. Add operand-size suffixes to add, sub, inc, dec, and cmp. Review URL: http://codereview.chromium.org/118380 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@2139 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
whesse@chromium.org authored
Review URL: http://codereview.chromium.org/118499 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@2138 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
kmillikin@chromium.org authored
the implementation but still lives on in comments and identifier names. Where it was used, it has been changed to "caller's stack pointer". Review URL: http://codereview.chromium.org/118500 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@2137 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
kasperl@chromium.org authored
TBR=antonm@chromium.org Review URL: http://codereview.chromium.org/118501 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@2136 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
kmillikin@chromium.org authored
writable (non-aliased) so it can be used for the result in the slow case. Review URL: http://codereview.chromium.org/118496 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@2134 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
whesse@chromium.org authored
Make Array.sort safely generic on JSObject types. Fix bug 346 http://code.google.com/p/v8/issues/detail?id=346 Review URL: http://codereview.chromium.org/119357 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@2133 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
erik.corry@gmail.com authored
Review URL: http://codereview.chromium.org/119353 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@2132 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
erik.corry@gmail.com authored
* Identify heap numbers that contain non-Smi int32s and do bit ops on them without calling the fp hardware or emulation. * Identify results that are non-Smi int32s and write them into heap numbers without calling the fp hardware or emulation. * Do unary minus on heap numbers without going into the runtime system. * On add, sub and mul if we have both Smi and heapnumber inputs to the same operation then convert the Smi to a double and do the op without going into runtime system. This also applies if we have two Smi inputs but the result is not Smi. Review URL: http://codereview.chromium.org/119241 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@2131 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
lrn@chromium.org authored
Still some supporting functions missing. Review URL: http://codereview.chromium.org/114085 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@2130 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
kmillikin@chromium.org authored
parameter pointer slots. Change it so that the handler address no longer points into the middle of the handler. Review URL: http://codereview.chromium.org/119414 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@2129 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
kmillikin@chromium.org authored
not point into the middle of the handler. Also remove top-of-stack caching from MacroAssembler::PushTryHandler. Review URL: http://codereview.chromium.org/119358 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@2128 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 09 Jun, 2009 4 commits
-
-
erik.corry@gmail.com authored
instructions. The intention is that the snapshots generated by the simulator should be usable on the hardware. Instead of swi instructions we generate a branch to a swi instruction that is not part of the snapshot. The call/jump is patched up in the same way as other external references when the snapshot is deserialized. This only works for EABI targets: on old ABI targets we still emit some instructions not supported by the simulator (fp coprocessor instructions). Review URL: http://codereview.chromium.org/119036 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@2127 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
kmillikin@chromium.org authored
allocate and spill registers, so that the register reference counts and virtual frame are unchanged in the main body. This eliminates a few sites of magic branching or binding of JumpTarget with arguments. Review URL: http://codereview.chromium.org/119302 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@2126 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
sgjesse@chromium.org authored
Change locationFromPosition() and locationFromLine() to use a binary search to locate line numbers from position numbers. Modify test debug-sourceinfo.js to include more tests, including error conditions. Patch by Matt Hanselman, see http://codereview.chromium.org/118371. BUG=213 TEST=test/mjsunit/debug-sourceinfo.js Review URL: http://codereview.chromium.org/118425 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@2125 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
sgjesse@chromium.org authored
This will support breaking in debugger statements in JavaScript files read from the command line. Review URL: http://codereview.chromium.org/113998 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@2124 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 08 Jun, 2009 2 commits
-
-
kmillikin@chromium.org authored
pointer and parameter pointer slots. Review URL: http://codereview.chromium.org/118383 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@2123 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
mikhail.naganov@gmail.com authored
This is a trivial per-row compression: - short aliases are introduced for events and code creation tags; - in tick events, offsets are used instead of absolute addresses; - removed 'code-allocation' event, as it seems not used. The first two options are depend on the new flag: 'compress-log', which is off by default. On benchmarks run w/o snapshot, this gives 45% log size reduction. Review URL: http://codereview.chromium.org/119304 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@2122 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-