- 25 Sep, 2008 2 commits
-
-
bak@chromium.org authored
canonicalize maps for object literals. JSON objects with the same set of properties names will then share the same map. This reduces the amount of generated code associated with object literals. - Added a flag canonicalize_object_literal_maps. (default true) - Changed the format of a function's literal array. Only the global context is now stored in the literal prefix. Review URL: http://codereview.chromium.org/4078 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@371 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
ager@chromium.org authored
on a line of its own. This allows the body to be terminated by a single-line comment. Also, make sure to set the name of the function to anonymous after the fact so that recursion through the name anonymous is not allowed and so that global variables called anonymous are not shadowed. This is a fix for http://code.google.com/p/v8/issues/detail?id=85 Review URL: http://codereview.chromium.org/4248 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@370 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 24 Sep, 2008 3 commits
-
-
deanm@chromium.org authored
Don't defer the stack check failure code. It is a CallStub, which will be a single 5 byte call instruction. This should cause equivalent code size now, but opens up the opportunity to make one of the most common jcc's to use short encoding in the future. git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@369 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
http://b/issue?id=1381845feng@chromium.org authored
Check domain security on prototypes in for-in loop. Review URL: http://codereview.chromium.org/4236 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@368 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
sgjesse@chromium.org authored
it just makes the linker generate a MAP file for the shell sample on Windows. Review URL: http://codereview.chromium.org/4064 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@367 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 23 Sep, 2008 9 commits
-
-
sgjesse@chromium.org authored
by pop eax. Review URL: http://codereview.chromium.org/4212 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@366 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
deanm@chromium.org authored
Enable string pooling in the VS release build. This saves 46k for a v8_shell_sample.exe, I didn't measure performance or the overall change to a Chromium build. I think this option should always make sense anyway, unless we're using some string constants incorrectly. git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@365 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
christian.plesner.hansen@gmail.com authored
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@364 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
kasperl@chromium.org authored
functions in the macro assembler. Review URL: http://codereview.chromium.org/4402 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@363 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
christian.plesner.hansen@gmail.com authored
- Renamed some ::kSizes to ::kHeaderSizes to avoid confusion. git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@362 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
kasperl@chromium.org authored
of activation frames (needed on Mac OS X). Review URL: http://codereview.chromium.org/4211 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@361 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
erik.corry@gmail.com authored
It seems noone has had time to file a bug on this. Review URL: http://codereview.chromium.org/4210 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@360 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
kasperl@chromium.org authored
from JavaScript to C++). Includes a few slight optimizations like keeping argv in a callee-saved register. Review URL: http://codereview.chromium.org/4035 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@359 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
kasperl@chromium.org authored
consistent with the other log events for generated code. Review URL: http://codereview.chromium.org/4033 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@358 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 22 Sep, 2008 5 commits
-
-
iposva@chromium.org authored
Thanks to Erik Corry for spotting this. Review URL: http://codereview.chromium.org/4015 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@357 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
kasperl@chromium.org authored
variables into lists before appending to them. Review URL: http://codereview.chromium.org/3185 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@356 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
sgjesse@chromium.org authored
upper case. Moved it into the RelocInfo class together with the associated is_xxx functions. Renamed is_xxx to IsXxx in the process. Removed the exit_js_frame mode as it was no longer used. Patch Set 2 renames RELOC_MODE_COUNT to NUMBER_OF_MODES and fixes a couple of lint errors. Review URL: http://codereview.chromium.org/3186 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@354 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
deanm@chromium.org authored
In release, disable UNREACHABLE and make UNIMPLEMENTED and FATAL simpler, removing the file name and line numbers, so we carry around less data and can share more code. git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@353 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
kasperl@chromium.org authored
mode. Remove /Ob2 /Oi /Oy from VS build because they are already enabled by /Ox. Review URL: http://codereview.chromium.org/4012 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@352 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 19 Sep, 2008 5 commits
-
-
sgjesse@chromium.org authored
The reason for the "ugly" definition of SScanF is that the Windows CRT does not have a vsscanf function making it difficult to add OS::SSprintF to platform.h. Review URL: http://codereview.chromium.org/2988 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@350 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
deanm@chromium.org authored
Avoid the KMP overhead for simple indexOf() operations. Will look into evaluating the best cutoff between a simple search and KMP in the future. This improves some simple operations ~1.5x. git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@349 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
deanm@chromium.org authored
Don't try an indexOf() when the search string is bigger than the string. The current code will spend a bunch of time trying to match, even though we should know a match is impossible. git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@348 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
deanm@chromium.org authored
TryFlatten is inlined, while Flatten is not. Make an optimization to avoid the call to Flatten when we're already flat. This gives me 5% on some simple indexOf experiments. git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@347 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
sgjesse@chromium.org authored
Review URL: http://codereview.chromium.org/2985 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@346 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 18 Sep, 2008 10 commits
-
-
kasperl@chromium.org authored
Review URL: http://codereview.chromium.org/3144 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@344 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
lrn@chromium.org authored
Added fast-case for switch statement where all lables are constant Smi's in a limited range (IA32 only so far). Implemented using a jump-table, for constant time lookup. git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@343 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
ager@chromium.org authored
Update the lookup and update code for code caches to deal with deleted elements. Do not clear the code cache for the builtins object. If there was a matching element in the code cache, we would have hit the monomorphic prototype failure case and removed it. Review URL: http://codereview.chromium.org/3140 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@340 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
kasperl@chromium.org authored
to the assembler. Review URL: http://codereview.chromium.org/2961 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@339 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
ager@chromium.org authored
information does not work. In certains situations, it will keep alternating between unrelated monomorphic states instead of going megamorphic. Review URL: http://codereview.chromium.org/2959 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@338 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
sgjesse@chromium.org authored
Review URL: http://codereview.chromium.org/2958 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@337 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
sgjesse@chromium.org authored
until a possible debug break location is reached. Currently this is call sites with calls to code objects and JS return. Source position information in the code therefore no longer refers to the "first" instruction generated for a given source position (which was not the case defered code anyway) but to the first break location after that source position was passed (again defered code always start with source position information). This doesn't make a difference for the debugger as it will always be stopped only at debug break locations. However, this makes the life of the peep-hole optimizer much easier as many oportunities for posh/pop eliminations where previosly blocked by relocation information already written to the code object. Two types of source positions are still collected. Statement positions indicate the position of the start of the statement leading to this code and (plain) positions indicate other places typically call sites to help indicate current position in backtraces. The two different types of positions are also used to distinguish between step next and step in. Runs all the tests (including debugger tests) as before. Moved the checking for the FLAG_debug_info to one place. I will do the same changes to the ARM codegenerator in a seperate changelist. Review URL: http://codereview.chromium.org/2957 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@335 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
kasperl@chromium.org authored
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@334 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
whessev8 authored
since %DebugPrint is not often used. Needed for some performance testing statistics outputting. Fix the declaration of descriptor enumerated constants to be more readable. Review URL: http://codereview.chromium.org/3100 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@332 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
ager@chromium.org authored
occured. After a monomorphic prototype failure has been detected, other monomorphic inline caches for the same type will have a code object in the map's code cache which is not the current target. We recognize this case and use the code object that is in the cache instead of going megamorphic. Review URL: http://codereview.chromium.org/2928 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@331 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 17 Sep, 2008 6 commits
-
-
kasperl@chromium.org authored
version 0.3.3. Review URL: http://codereview.chromium.org/3101 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@328 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
sgjesse@chromium.org authored
Changed the formatting of the comment in the disassembler output to contain more information on code targets. Review URL: http://codereview.chromium.org/3099 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@327 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
erik.corry@gmail.com authored
The old arrangement meant that the alignment requirements of young space were likely to nullify ASLR. Review URL: http://codereview.chromium.org/2925 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@326 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
erik.corry@gmail.com authored
A change in the way heap was allocated meant that the initial heap size was sometimes not higher than the limit, which mean that the limit started having and effect and prevented V8 from booting up. Fixes http://code.google.com/p/v8/issues/detail?id=25 Review URL: http://codereview.chromium.org/2924 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@325 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
erik.corry@gmail.com authored
Review URL: http://codereview.chromium.org/2923 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@324 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
sgjesse@chromium.org authored
Review URL: http://codereview.chromium.org/3096 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@323 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-