- 11 Apr, 2012 6 commits
-
-
mstarzinger@chromium.org authored
This change allows hydrogen instructions to keep track of instructions that dominate certain side-effects (GVN flags) in the hydrogen graph. We use the GVN pass to keep track of side-effects because accurate flags are already in place. It also adds a new side-effect (kChangesNewSpacePromotion) indicating whether an instruction can cause a GC and have objects be promoted to old-space. An object allocated in new-space is sure to stay on paths not having said side-effect. R=erik.corry@gmail.com TEST=mjsunit/compiler/inline-construct Review URL: https://chromiumcodereview.appspot.com/10031031 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11270 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
erik.corry@gmail.com authored
Review URL: https://chromiumcodereview.appspot.com/10034014 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11269 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
erik.corry@gmail.com authored
Review URL: https://chromiumcodereview.appspot.com/10053009 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11268 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
erik.corry@gmail.com authored
64 bit architectures. Review URL: https://chromiumcodereview.appspot.com/10020032 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11265 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
mstarzinger@chromium.org authored
This fixes processing of WeakMaps so that value entries on an evacuation candidate are correctly recorded in the slots buffer. We didn't pass the correct slot into the backing hashtable while visiting values. Also the live bytes counter for large object space pages was not reset correctly when incremental marking is aborted. R=vegorov@chromium.org BUG=v8:2060 TEST=cctest/test-weakmaps/Regress2060 Review URL: https://chromiumcodereview.appspot.com/10034010 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11264 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
loislo@chromium.org authored
This will give us the ability to keep entries_ list sorted by id. And based on that fact we will be able to use it for: 1) GetNodeById method and drop sorted version of entries list in HeapSnapshot; 2) building heap stats; 3) doing the fill stage instead of second iteration over heap. BUG=none TEST=none R=yurys Review URL: https://chromiumcodereview.appspot.com/10031032 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11259 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 10 Apr, 2012 6 commits
-
-
vegorov@chromium.org authored
Environment structure for such calls is different from normal global calls. R=fschneider@chromium.org BUG=chromium:122681 Review URL: https://chromiumcodereview.appspot.com/10024060 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11256 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
fschneider@chromium.org authored
We use fstp(0) already in other places. ffree does not pop the stack, but only marks a FP register as empty. BUG=v8:2065 Review URL: https://chromiumcodereview.appspot.com/9960066 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11255 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
yurys@chromium.org authored
Review URL: https://chromiumcodereview.appspot.com/10006032 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11252 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
kmillikin@chromium.org authored
The heap profile generator assumes that for named function expressions, the name is context allocated. This is not necessary true. BUG=v8:2051 TEST=WebKit layout test inspector/profiler/heap-snapshot-inspect-dom-wrapper.html Review URL: https://chromiumcodereview.appspot.com/9960065 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11251 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
fschneider@chromium.org authored
Review URL: https://chromiumcodereview.appspot.com/10024057 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11250 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
erikcorry authored
global regexp after a call to String.prototype.replace with a function argument sets the last match info correctly. Bug=2058 Review URL: http://codereview.chromium.org/10029009 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11249 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 08 Apr, 2012 2 commits
-
-
alexeif@chromium.org authored
This reverts commit 6e46549d13df2b211ea9b4fac9c09fe5013ec465. BUG= TEST= Review URL: https://chromiumcodereview.appspot.com/10025014 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11248 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
alexeif@chromium.org authored
Review URL: https://chromiumcodereview.appspot.com/10007009 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11247 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 06 Apr, 2012 2 commits
-
-
yurys@chromium.org authored
TBR=mnaganov Review URL: https://chromiumcodereview.appspot.com/10012040 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11246 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
yurys@chromium.org authored
We can avoid putting all nodes into a hash map from HeapEntry to ID and sorting that map as the nodes are already stored in right order in HeapSnapshot::entries_ list. Review URL: https://chromiumcodereview.appspot.com/10012013 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11245 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 05 Apr, 2012 13 commits
-
-
mstarzinger@chromium.org authored
R=ulan@chromium.org TEST=cctest/test-heap/OptimizedAllocationAlwaysInNewSpace Review URL: https://chromiumcodereview.appspot.com/10010010 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11244 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
mstarzinger@chromium.org authored
This is needed so that we can start removing write-barriers in optimized code if we can prove that the receiver object is always in new-space. TEST=cctest/test-heap/OptimizedAllocationAlwaysInNewSpace Review URL: https://chromiumcodereview.appspot.com/10008007 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11243 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
danno@chromium.org authored
This allows compilation of V8 using uClibc. BUG= TEST= Review URL: https://chromiumcodereview.appspot.com/9702067 Patch from Daniel Kalmar <kalmard@homejinni.com>. git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11242 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
danno@chromium.org authored
Port r11010 (1daa81bc). MIPS-specific changes: -register codes and registers are defined using a macro to avoid redundancy -renamed s8_fp to fp, removed the "fp" alias -removed kSavedValueRegister (found by check-static-initializers.sh) Original commit message: Landing for pliard@chromium.org: Remove static initializers in v8. This change includes two CLs by pliard@chromium.org: 1. http://codereview.chromium.org/9447052/ (Add CallOnce() and simple LazyInstance implementation): Note that this implementation of LazyInstance does not handle global destructors (i.e. the lazy instances a This CL was initially reviewed on codereview.appspot.com: http://codereview.appspot.com/5687064/ 2. http://codereview.chromium.org/9455088/ (Remove static initializers in v8): This CL depends on CL 9447052 (adding CallOnce and LazyInstance). It is based on a patch sent by Digit. With this patch applied, we have only one static initializer left (in atomicops_internals_x86_gcc.cc). This This CL also modifies the presubmit script to check the number of static initializers. BUG= TEST= Review URL: https://chromiumcodereview.appspot.com/9689069 Patch from Daniel Kalmar <kalmard@homejinni.com>. git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11241 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
danno@chromium.org authored
The template system converts the actual struct type to an array of chars. Make sure the alignment is kept by the compiler. This fixes a lot of serialization-related HW tests, for example cctest test-serialize/Serialize. BUG= TEST=cctest test-serialize Review URL: https://chromiumcodereview.appspot.com/9702114 Patch from Daniel Kalmar <kalmard@homejinni.com>. git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11240 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
danno@chromium.org authored
BUG=118686 Review URL: https://chromiumcodereview.appspot.com/9976003 Patch from Philippe Liard <pliard@chromium.org>. git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11239 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
danno@chromium.org authored
Also add additional stack check. R=mstarzinger@chromium.org Review URL: https://chromiumcodereview.appspot.com/10006010 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11238 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
ulan@chromium.org authored
R=danno@chromium.org BUG=V8:2056 TEST=mjsunit/regress/regress-2056.js Review URL: https://chromiumcodereview.appspot.com/10006008 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11237 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
danno@chromium.org authored
R=mstarzinger@chromium.org TEST=win 64 not red anymore Review URL: https://chromiumcodereview.appspot.com/10008005 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11236 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
danno@chromium.org authored
R=danno@chromium.org BUG=chromium:118686 TEST=Run chrome with --single-process. Review URL: https://chromiumcodereview.appspot.com/9949008 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11233 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
danno@chromium.org authored
TBR=ulan@chromium.org Review URL: https://chromiumcodereview.appspot.com/10006006 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11232 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
danno@chromium.org authored
R=ulan@chromium.org BUG=v8:2056 TEST=test/mjsunit/regress/regress-2056.js Review URL: https://chromiumcodereview.appspot.com/10006004 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11231 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
mstarzinger@chromium.org authored
The two tests (S8.5_A2.1, S8.5_A2.2) fail on ia32 Linux and simulators. They do pass on ARM and MIPS hardware under Linux, and on the other supported platforms and architectures. They are now marked PASS || FAIL_OK. BUG= TEST=test262/S8.5_A2.1, test262/S8.5_A2.2 Review URL: https://chromiumcodereview.appspot.com/9959146 Patch from Paul Lind <plind44@gmail.com>. git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11230 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 04 Apr, 2012 5 commits
-
-
mstarzinger@chromium.org authored
BUG=none TEST=cctest/test-strings/AsciiArrayJoin Review URL: https://chromiumcodereview.appspot.com/9963104 Patch from Martyn Capewell <m.m.capewell@googlemail.com>. git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11229 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
yurys@chromium.org authored
TBR=mnaganov Review URL: https://chromiumcodereview.appspot.com/9961008 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11226 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
danno@chromium.org authored
R=ulan@chromium.org,pliard@chromium.org BUG=ui_tests don't crash in Chrome Review URL: https://chromiumcodereview.appspot.com/9979003 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11225 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
mstarzinger@chromium.org authored
Now we can correctly optimize top level code that contains a throw (or return) as it's last statement. R=ulan@chromium.org BUG=v8:2054 TEST=mjsunit/regress/regress-2054 Review URL: https://chromiumcodereview.appspot.com/9969146 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11224 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
yurys@chromium.org authored
Review URL: https://chromiumcodereview.appspot.com/9950146 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11223 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 03 Apr, 2012 6 commits
-
-
ulan@chromium.org authored
R=mstarzinger@chromium.org BUG=117767,V8:1902 TEST=test/cctest/test-heap/ResetSharedFunctionInfoCountersDuringIncrementalMarking Review URL: https://chromiumcodereview.appspot.com/9903019 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11222 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
mstarzinger@chromium.org authored
Array literal boilerplate objects can be transitioned while existing un-transitioned clones are still being populated. This adds a check that prevents us from performing the same transition twice. R=danno@chromium.org BUG=v8:2055 TEST=mjsunit/regress/regress-2055 Review URL: https://chromiumcodereview.appspot.com/9950095 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11221 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
danno@chromium.org authored
R=mstarzinger@chromium.org BUG=chromium:119429 Review URL: https://chromiumcodereview.appspot.com/9963108 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11220 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
danno@chromium.org authored
R=ager@chromium.org, sgjesse@chromium.org BUG=chromium:119429 TEST= test/mjsunit/regress/regress-119429.js Review URL: https://chromiumcodereview.appspot.com/9965101 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11219 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
erik.corry@gmail.com authored
strings with a small alphabet. We already have code that handles these regexps well, we were just not always activating it. Review URL: https://chromiumcodereview.appspot.com/9959096 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11218 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
mstarzinger@chromium.org authored
The test case failed to stop the preemption thread before destroying the isolate which led to a race condition where the isolate was accessed after it had been destroyed. R=ulan@chromium.org BUG=v8:2049 TEST=cctest/test-thread-termination/TerminateMultipleV8ThreadsDefaultIsolate Review URL: https://chromiumcodereview.appspot.com/9969092 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11217 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-