- 03 Apr, 2012 1 commit
-
-
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
-
- 02 Apr, 2012 1 commit
-
-
erikcorry authored
regexp can match by using a Boyer-Moore-like table. This is done by identifying non-greedy non-capturing loops in the nodes that eat any character one at a time. For example in the middle of the regexp /foo[\s\S]*?bar/ we find such a loop. There is also such a loop implicitly inserted at the start of any non-anchored regexp. When we have found such a loop we look ahead in the nodes to find the set of characters that can come at given distances. For example for the regexp /.?foo/ we know that there are at least 3 characters ahead of us, and the sets of characters that can occur are [any, [f, o], [o]]. We find a range in the lookahead info where the set of characters is reasonably constrained. In our example this is from index 1 to 2 (0 is not constrained). We can now look 3 characters ahead and if we don't find one of [f, o] (the union of [f, o] and [o]) then we can skip forwards by the range size (in this case 2). For Unicode input strings we do the same, but modulo 128. We also look at the first string fed to the regexp and use that to get a hint of the character frequencies in the inputs. This affects the assessment of whether the set of characters is 'reasonably constrained'. We still have the old lookahead mechanism, which uses a wide load of multiple characters followed by a mask and compare to determine whether a match is possible at this point. Review URL: http://codereview.chromium.org/9965010 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11204 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 30 Mar, 2012 1 commit
-
-
erik.corry@gmail.com authored
code generation. This is performance neutral for all our tests, but a factor 6 faster for the Unicode based regexp in the new test (and much more compact code). Review URL: https://chromiumcodereview.appspot.com/9854020 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11189 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 27 Mar, 2012 1 commit
-
-
erik.corry@gmail.com authored
http://code.google.com/p/v8/issues/detail?id=2032 Review URL: https://chromiumcodereview.appspot.com/9860029 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11147 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 12 Mar, 2012 1 commit
-
-
erik.corry@gmail.com authored
Review URL: https://chromiumcodereview.appspot.com/9600009 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11007 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 28 Feb, 2012 1 commit
-
-
svenpanne@chromium.org authored
This removes approx. 12k calls of Isolate::Current() in string-tagcloud. Review URL: https://chromiumcodereview.appspot.com/9490004 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10856 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 20 Feb, 2012 1 commit
-
-
mstarzinger@chromium.org authored
R=rossberg@chromium.org TEST=test262/S15.10.2.12_A?_T1,mjsunit/regexp Review URL: https://chromiumcodereview.appspot.com/9426032 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10770 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 16 Jan, 2012 2 commits
-
-
erik.corry@gmail.com authored
Review URL: http://codereview.chromium.org/9231009 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10407 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
erik.corry@gmail.com authored
Review URL: http://codereview.chromium.org/9123031 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10403 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 26 Oct, 2011 1 commit
-
-
lrn@chromium.org authored
BUG=v8:904 Review URL: http://codereview.chromium.org/8387027 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9780 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 07 Oct, 2011 1 commit
-
-
erik.corry@gmail.com authored
BUG=1753 Review URL: http://codereview.chromium.org/8198005 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9551 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 06 Oct, 2011 1 commit
-
-
kmillikin@chromium.org authored
Instead of expecting Object** arrays at the outermost level, expect Handle<Object> arrays and reinterpret_cast them only just before invoking the generated code. R=rossberg@chromium.org,fschneider@chromium.org BUG= TEST= Review URL: http://codereview.chromium.org/8133020 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9537 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 06 Sep, 2011 1 commit
-
-
jkummerow@chromium.org authored
Review URL: http://codereview.chromium.org/7779033 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9141 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 29 Aug, 2011 1 commit
-
-
yangguo@chromium.org authored
Review URL: http://codereview.chromium.org/7781013 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9060 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 26 Aug, 2011 1 commit
-
-
yangguo@chromium.org authored
TEST=test/mjsunit/string-slices.js Review URL: http://codereview.chromium.org/7477045 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9027 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 23 Aug, 2011 2 commits
-
-
lrn@chromium.org authored
Also remove the requirement to have an AssertNoAllocation object when getting the flat content. We actually do allow allocation, it's just GC's we don't allow. Review URL: http://codereview.chromium.org/7710018 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9001 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
lrn@chromium.org authored
The tag tells whether the content is ASCII or UC16, or even if the string wasn't flat. BUG: v8:1633 Review URL: http://codereview.chromium.org/7709024 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8999 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 05 Aug, 2011 1 commit
-
-
vitalyr@chromium.org authored
Spotted while reviewing Yang's patch. R=yangguo@chromium.org Review URL: http://codereview.chromium.org/7585005 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8846 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 20 Jul, 2011 2 commits
-
-
whesse@chromium.org authored
Use new gcc flag -Wno-unused-but-set-variable only on linux. TBR=fschneider@chromium.org BUG= TEST= Review URL: http://codereview.chromium.org/7457018 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8689 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
whesse@chromium.org authored
* src/third_party/valgrind/valgrind.h: Update from upstream valgrind r11899, so as to get around some unused value warnings. Also adds support for darwin. This version of valgrind.h differs from the original in that all instances of "unsigned long long int" have been replaced with "uint64_t", as the former is not allowed in ISO C++ 89. See https://bugs.kde.org/show_bug.cgi?id=211926 for the upstream bug report. * src/x64/cpu-x64.cc: * src/builtins.cc: * src/conversions-inl.h: * src/debug.cc: * src/frames.cc: * src/full-codegen.cc: * src/jsregexp.cc: * src/objects.cc: * src/parser.cc: * src/platform-linux.cc: * src/x64/code-stubs-x64.cc: * src/x64/deoptimizer-x64.cc: * src/x64/full-codegen-x64.cc: * src/x64/lithium-codegen-x64.cc: * src/x64/regexp-macro-assembler-x64.cc: * src/x64/stub-cache-x64.cc: Remove a number of assigned but unreferenced variables. * SConstruct (CCTEST_EXTRA_FLAGS): Punt on -Wunused-but-set-variable for the test suite. BUG=1291 TEST=A build and tools/test.py passes. Review URL: http://codereview.chromium.org/7400023 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8688 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 07 Jul, 2011 1 commit
-
-
ricow@chromium.org authored
Ensure that regexps always have code object, even if GC happened while running multiple times in runtime. Review URL: http://codereview.chromium.org/7316018 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8560 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 05 Jul, 2011 1 commit
-
-
ricow@chromium.org authored
Due to issues relating mostly to chrome extensions we have lately been running into OOMs that are caused by our executable space running out. This change introduces flushing of code from regexps if we have not used the code for 5 mark sweeps. The approach is different from the normal function code flusing. Here we make a copy of the code inside the data array, and exchange the original code with a smi determined by the sweep_generation (a new heap variable increased everytime we do mark sweep/compact). If we encounter a smi in EnsureCompiled we simply reinstate the code object. If, in the marking phase of mark sweep, we find a regexp that already have a smi in the code field, and this is more than 5 generations old we flush the code from the saved index. Review URL: http://codereview.chromium.org/7282026 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8532 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 17 Jun, 2011 1 commit
-
-
erik.corry@gmail.com authored
report, but was not general enough to catch all cases. This is a new approach. Includes regression test! Review URL: http://codereview.chromium.org/7193007 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8318 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 15 Jun, 2011 1 commit
-
-
erik.corry@gmail.com authored
http://code.google.com/p/v8/issues/detail?id=1472 Review URL: http://codereview.chromium.org/7170014 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8302 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 07 Jun, 2011 1 commit
-
-
mikhail.naganov@gmail.com authored
Mainly, there were errors concerning blank lines before and after class access control sections [whitespace/blank_line]. BEFORE an access control section (e.g. public:, private:) there should be a blank line (except for the section right after the class declaration). AFTER an access control section there should be no blank line. TBR=ager@chromium.org git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8193 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 06 Jun, 2011 1 commit
-
-
vitalyr@chromium.org authored
R=ager@chromium.org Review URL: http://codereview.chromium.org/7111034 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8187 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 23 May, 2011 1 commit
-
-
vitalyr@chromium.org authored
R=ager@chromium.org Review URL: http://codereview.chromium.org/7066004 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8009 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 11 May, 2011 1 commit
-
-
erik.corry@gmail.com authored
Review URL: http://codereview.chromium.org/6997015 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7845 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 28 Mar, 2011 1 commit
-
-
sgjesse@chromium.org authored
This commit adds current working versions of assembler, macro-assembler, disassembler, and simulator. All other mips arch files are replaced with stubbed-out versions that will build. Arch independent files are updated as needed to support building and running mips. The only test is cctest/test-assembler-mips, and this passes on the simulator and on mips hardware. TEST=none BUG=none Patch by Paul Lind from MIPS. Review URL: http://codereview.chromium.org/6730029/ git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7388 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 23 Mar, 2011 1 commit
-
-
ager@chromium.org authored
BUG=1266 TEST= Review URL: http://codereview.chromium.org/6727018 Patch from Peter Varga <pvarga@inf.u-szeged.hu>. git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7317 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 18 Mar, 2011 3 commits
-
-
vitalyr@chromium.org authored
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7271 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
vitalyr@chromium.org authored
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7269 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
vitalyr@chromium.org authored
Review URL: http://codereview.chromium.org/6685088 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7268 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 08 Mar, 2011 2 commits
-
-
sgjesse@chromium.org authored
Disassemble is not available in release build Review URL: http://codereview.chromium.org/6635043 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7093 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
lrn@chromium.org authored
Used incorrect register for referencing RegExp data, so it always failed to match the fast case. When modifiying the object layout, it was possible to make it crash instead. BUG=v8:1236 TEST=test/mjsunit/regress/regress-1236.js Review URL: http://codereview.chromium.org/6635041 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7091 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 03 Mar, 2011 1 commit
-
-
lrn@chromium.org authored
SetElement can cause an exception to be thrown. If its return value isn't checked, this exception might not be handled at the correct time. In some cases, it's a matter of returning Exception::Failure() from a runtime function. In other cases, code using SetElement on a JSArray has been changed to setting directly on a FixedArray and only creating the JSArray at the end. Review URL: http://codereview.chromium.org/6588130 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7039 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 12 Jan, 2011 1 commit
-
-
erik.corry@gmail.com authored
to add -fno-strict-aliasing. Review URL: http://codereview.chromium.org/6123007 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@6281 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 03 Dec, 2010 1 commit
-
-
erik.corry@gmail.com authored
start of the input and some alternations in the disjunction are anchored. Review URL: http://codereview.chromium.org/5524006 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@5915 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 30 Nov, 2010 1 commit
-
-
sandholm@chromium.org authored
a flat non-cons string. Review URL: http://codereview.chromium.org/5270006 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@5907 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 27 Oct, 2010 1 commit
-
-
lrn@chromium.org authored
Review URL: http://codereview.chromium.org/4146006 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@5719 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-