fschneider@chromium.org
e63fdc619d
Fix x64 build.
...
TBR=whesse@chromium.org
Review URL: http://codereview.chromium.org/7604034
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8879 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-08-10 13:11:14 +00:00
fschneider@chromium.org
f17bd8ca51
Fix three bugs with handling negative zero in the optimizing compiler.
...
* Bug fix for range analysis (contributed by Andy Wingo). Ranges of
double values have to include negative zero. Original code review:
http://codereview.chromium.org/7514040/
* Fix a bug in optimized Math.round on ARM. When emitting minus-zero checks
we previously return a wrong result because of incorrect register assignment.
* Fix performance problem in IA32 and x64. Refine the checks
for minus zero and avoid unnecessary deoptimizations on Math.floor.
* Improve mjsunit test for Math.round to make sure we also
get the optimized version of the code for each test case.
Review URL: http://codereview.chromium.org/7604028
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8877 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-08-10 12:32:43 +00:00
rossberg@chromium.org
bd18514972
Implement Harmony semantics for typeof null (behind a flag).
...
Harmony is intended to make typeof null === "null". This may
break existing programs. Implementing it will allow us to run
some tests on the actual web.
R=kmillikin@chromium.org
BUG=
TEST=
Review URL: http://codereview.chromium.org/7598030
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8876 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-08-10 12:12:06 +00:00
kmillikin@chromium.org
f14dfd7aa8
Prepare push to trunk. Now working on version 3.5.5.
...
R=danno@chromium.org
BUG=
TEST=
Review URL: http://codereview.chromium.org/7606026
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8873 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-08-10 11:22:23 +00:00
ricow@chromium.org
c962a46e45
Allow snapshots to be generated without using vfp3 code on arm.
...
There is currently no way of specifying that the snapshot build by scons should be created without using the vfp3 instructions.
Review URL: http://codereview.chromium.org/7604031
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8872 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-08-10 11:14:32 +00:00
jkummerow@chromium.org
2e981982ac
Support OUTDIR variable for tests triggered by Makefile
...
TEST="make -j16 check OUTDIR=whatever" works as expected
Review URL: http://codereview.chromium.org/7606025
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8871 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-08-10 11:07:31 +00:00
danno@chromium.org
ff13ab4575
Refactor UnionOfKeys into ElementsAccessor
...
BUG=none
TEST=none
Review URL: http://codereview.chromium.org/7529046
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8870 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-08-10 10:51:01 +00:00
mstarzinger@chromium.org
c68d205c08
ARM: Fix deoptimizer for two-word call sites.
...
R=svenpanne@chromium.org ,kmillikin@chromium.org
BUG=v8:1584
Review URL: http://codereview.chromium.org/7585006
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8868 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-08-10 08:03:22 +00:00
vitalyr@chromium.org
c02bc26a5a
Make presubmit check happier with GYP.
...
R=jkummerow@chromium.org
Review URL: http://codereview.chromium.org/7598034
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8867 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-08-09 13:45:54 +00:00
vitalyr@chromium.org
df91f6b396
Simpler (and a bit faster) keyword matcher.
...
Replaced the keyword matching state machine with a switch on the first char followed up by inlined char comparisons.
R=lrn@chromium.org
TEST=cctest/test-parsing/ScanKeywords
Review URL: http://codereview.chromium.org/7558017
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8866 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-08-09 13:32:53 +00:00
kmillikin@chromium.org
7adb10a48e
Fix a bug in named getter/setter compilation.
...
Because these are function literals that have an associated name, we were
compiling them as if they were named function expressions. This is
incorrect, the property name should not be in scope.
R=vegorov@chromium.org
BUG=
TEST=
Review URL: http://codereview.chromium.org/7599024
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8863 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-08-09 12:43:08 +00:00
lrn@chromium.org
2f826c2b89
Added fast detection of one character tokens.
...
Reduced size of first-character table for keyword scanner.
Review URL: http://codereview.chromium.org/7585030
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8862 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-08-09 11:28:09 +00:00
svenpanne@chromium.org
399728afc5
Fixed extremely important, mission-critical presubmit warnings...
...
Review URL: http://codereview.chromium.org/7600019
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8860 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-08-09 08:16:32 +00:00
svenpanne@chromium.org
79276ec132
Implement type recording for ToBoolean on ARM.
...
Review URL: http://codereview.chromium.org/7491054
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8859 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-08-09 07:59:00 +00:00
kmillikin@chromium.org
d941053dbe
Revert "Revert "Fix a bug in scope analysis.""
...
Reapply r8838 with a fix for the issue of function names.
Because function names can be added/changed/removed through the API,
remember whether the function is anonymous when initially parsed and use
that information when compiling.
R=vegorov@chromium.org
BUG=1583
TEST=regress-1583
Review URL: http://codereview.chromium.org/7491097
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8858 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-08-08 16:14:46 +00:00
jkummerow@chromium.org
8e62a1c72c
Remove orphaned file src/shell.h
...
This has nothing to do with the sample shell.
Review URL: http://codereview.chromium.org/7541078
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8857 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-08-08 14:31:47 +00:00
yangguo@chromium.org
b301cab837
Added two whitespaces to match correct indentation.
...
Review URL: http://codereview.chromium.org/7585033
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8855 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-08-08 09:53:28 +00:00
yangguo@chromium.org
76aad1a07b
Fixed a known issue in D8 (read file), enabled D8 shared library build on Windows.
...
Review URL: http://codereview.chromium.org/7586001
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8853 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-08-08 09:34:18 +00:00
whesse@chromium.org
528a3301b8
Fix compilation error on X64 and ARM. Error was introduced in r8851.
...
Clean up TranslationIterator and DeoptimizationInputDataPrint, so they will work with alignment padding in the Translation info.
BUG=
TEST=v8 compiles on X64 and ARM platforms.
Review URL: http://codereview.chromium.org/7491087
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8852 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-08-08 07:34:54 +00:00
whesse@chromium.org
92e7656c4d
Clean up TranslationIterator and DeoptimizationInputDataPrint.
...
Without this refactoring, they break when we add alignment padding in the Translation info.
BUG=
TEST=
Review URL: http://codereview.chromium.org/7569009
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8851 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-08-08 07:17:01 +00:00
vitalyr@chromium.org
caf493afb3
Make d8-os test less flaky.
...
Because of stress testing there may be parallel instances of the test
running, which makes it fail when using a hardcoded test dir
name. Adding a random suffix helps. It'd be nicer to add something
like pid, but there doesn't seem to be an easy way of getting it.
R=yangguo@chromium.org
Review URL: http://codereview.chromium.org/7491057
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8848 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-08-05 13:34:46 +00:00
lrn@chromium.org
e9bc76c499
Avoid infinite recursion for unterminated non-ASCII JSON string literals.
...
BUG=91787
TEST=mjsunit/regress/regress-91787
Review URL: http://codereview.chromium.org/7569008
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8847 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-08-05 12:55:29 +00:00
vitalyr@chromium.org
3ae6f64b0d
Remove TLS load in regexp code.
...
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
2011-08-05 12:31:37 +00:00
jkummerow@chromium.org
d64950982f
Add lost -O3 flag when building inside Chromium
...
TEST=WebKit layout tests no longer timeout
Review URL: http://codereview.chromium.org/7582003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8845 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-08-05 12:05:23 +00:00
keuchel@chromium.org
c14b08658e
Fix DebugEvaluate crash within a catch in a function without local context.
...
BUG=v8:1586
TEST=mjsunit/regress/regress-1586.js
Review URL: http://codereview.chromium.org/7491053
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8844 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-08-05 12:00:57 +00:00
vitalyr@chromium.org
5b63bc1fe8
Static state cleanup: add more consts.
...
R=vegorov@chromium.org
Review URL: http://codereview.chromium.org/7491052
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8843 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-08-05 11:32:46 +00:00
lrn@chromium.org
61ae1be609
Fix bug in scanner.
...
Checking for end-of-comment truncated to byte before comparing to '*'.
BUG=v8:1546
TEST=mjsunit/regress/regress-1546
Review URL: http://codereview.chromium.org/7585004
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8842 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-08-05 11:21:04 +00:00
yangguo@chromium.org
57bd101494
Specify stack size for win64 when linking d8.
...
Review URL: http://codereview.chromium.org/7574008
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8841 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-08-05 10:00:35 +00:00
jkummerow@chromium.org
1a849d2754
Make GYP build usable for day-to-day work (second attempt)
...
- Introduce a global Makefile that triggers GYP-based building
- Some fixes to .gyp[i] files to make everything work
- tools/test-wrapper-gypbuild.py as a temporary solution for easy testing
Original review URL: http://codereview.chromium.org/7383006/
Review URL: http://codereview.chromium.org/7550030
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8840 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-08-05 09:44:30 +00:00
kmillikin@chromium.org
3e28347d55
Revert "Fix a bug in scope analysis."
...
This reverts commit revision 8838.
TBR=ricow@chromium.org
BUG=
TEST=
Review URL: http://codereview.chromium.org/7584005
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8839 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-08-05 09:20:08 +00:00
kmillikin@chromium.org
b625ce2b6b
Fix a bug in scope analysis.
...
When recompiling code (e.g., when optimizing) we could incorrectly hoist
some function expressions. This leads to incorrect results or a crash. The
root cause was that functions were not correctly categorized as expression
or declaration at parse time.
This requires some extra hoops to prevent the print name "anonymous" for
functions created by 'new Function' from establishing a binding.
R=vegorov@chromium.org ,kasperl@chromium.org
BUG=1583
TEST=regress-1583
Review URL: http://codereview.chromium.org/7572019
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8838 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-08-05 08:28:11 +00:00
mstarzinger@chromium.org
4848a87cac
Fix report printing in test.py script.
...
R=ricow@chromium.org
Review URL: http://codereview.chromium.org/7491050
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8837 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-08-05 08:04:47 +00:00
kmillikin@chromium.org
abb04d9ec1
Revert "tighten invariants of HValue::InferRange"
...
This change reportedly causes a slowdown or inifinite loop on ARM. Revert
pending investigation.
R=vegorov@chromium.org
BUG=
TEST=
Review URL: http://codereview.chromium.org/7566040
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8834 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-08-04 16:43:20 +00:00
vitalyr@chromium.org
1dcb6e33cd
Minimize malloc heap allocation on process startup.
...
R=vegorov@chromium.org
BUG=http://b/issue?id=5095592
Review URL: http://codereview.chromium.org/7572018
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8833 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-08-04 15:18:18 +00:00
vitalyr@chromium.org
d63014d62e
grokdump: Tiny bugfix and type list update.
...
R=vegorov@chromium.org
Review URL: http://codereview.chromium.org/7566033
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8827 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-08-04 12:07:43 +00:00
danno@chromium.org
4a7a47ac8f
Move element deletion into element handlers
...
BUG=none
TEST=none
Review URL: http://codereview.chromium.org/7566004
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8826 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-08-04 11:42:14 +00:00
mstarzinger@chromium.org
9b826964f2
Additional functions to Harmony weak maps API.
...
R=rossberg@chromium.org
BUG=v8:1565
TEST=mjsunit/harmony/weakmaps
Review URL: http://codereview.chromium.org/7572013
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8825 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-08-04 11:13:15 +00:00
danno@chromium.org
861c895a34
Add regression test for 91517
...
R=vegorov@chromium.org
BUG=91517
TEST=regress-91517.js
Review URL: http://codereview.chromium.org/7575007
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8824 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-08-04 11:00:32 +00:00
danno@chromium.org
9aa75ed998
Fix out-of-bounds access in fetching propery names
...
R=vegorov@chromium.org
BUG=chromium:91517
TEST=none
Review URL: http://codereview.chromium.org/7565009
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8823 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-08-04 09:23:25 +00:00
mstarzinger@chromium.org
767debf7fe
Fix GCMole warning.
...
R=danno@chromium.org
Review URL: http://codereview.chromium.org/7508020
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8821 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-08-03 15:42:25 +00:00
danno@chromium.org
5f6f4d969d
Add missing bounds check in FixedArray::set for smis
...
R=svenpanne@chromium.org
BUG=none
TEST=none
Review URL: http://codereview.chromium.org/7564010
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8820 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-08-03 13:56:55 +00:00
mstarzinger@chromium.org
b05ff5e0b9
Prototype of mark-and-compact support for Harmony weak maps.
...
R=vegorov@chromium.org
BUG=v8:1565
TEST=cctest/test-weakmaps
Review URL: http://codereview.chromium.org/7553012
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8817 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-08-03 12:48:30 +00:00
ricow@chromium.org
9721eddc1f
Ensure that the length property of bound functions are actual unique
...
for the individually bound functions.
Our existing code will generate a new function on every call to bind,
but it will use the same shared function. When setting the lenght this
will be set on the shared function, i.e., the length of all bound
functions will be that of the last bound function.
Review URL: http://codereview.chromium.org/7475002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8816 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-08-03 12:44:17 +00:00
danno@chromium.org
a2eaf852a9
Fix performance regression due to elements refactor
...
Consolidate the runtime logic for fetching elements from Objects and JSObjects so that element access in the GetElement cases that are not handled in generated code.
R=svenpanne@chromium.org
BUG=none
TEST=closure.js test faster
Review URL: http://codereview.chromium.org/7569001
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8815 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-08-03 12:42:04 +00:00
mstarzinger@chromium.org
1d414cd99c
Fix presubmit error.
...
TBR=svenpanne@chromium.org
Review URL: http://codereview.chromium.org/7508016
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8814 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-08-03 12:23:55 +00:00
mstarzinger@chromium.org
2bb7c74f80
Preliminary Harmony weak maps API implementation.
...
R=rossberg@chromium.org ,danno@chromium.org
BUG=v8:1565
TEST=mjsunit/harmony/weakmaps
Review URL: http://codereview.chromium.org/7529007
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8811 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-08-03 11:55:13 +00:00
danno@chromium.org
bdf6895bb3
Encapsulate element handling into a class keyed on ElementsKind
...
Advantage is that it's much easier to add new element types (like FAST_SMI_ELEMENTS), and that handling logic for each element kind is (more) consolidated.
Currently, only GetElementsWithReceiver uses the new encapsulation, but the goal is to move much more element functionality into the class incrementally.
BUG=none
TEST=none
Review URL: http://codereview.chromium.org/7527001
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8810 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-08-03 11:12:46 +00:00
lrn@chromium.org
8a8329ed75
Prepare push to trunk. Now working on 3.5.4.
...
R=ricow@chromium.org
Review URL: http://codereview.chromium.org/7465079
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8805 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-08-03 10:56:06 +00:00
kmillikin@chromium.org
ffa08197e4
tighten invariants of HValue::InferRange
...
* src/hydrogen-instructions.cc (HValue::InferRange): Only mark values
with int32 representation as never being -0. Always return a non-NULL
value; callers should check for representation().IsNone() if that's
their concern.
In practice these invariants were not violated by callers, but they
were sometimes two calls away, which seems brittle.
BUG=
TEST=tests pass, modulo http://code.google.com/p/v8/issues/detail?id=1572
Review URL: http://codereview.chromium.org/7514040
Patch from Andy Wingo <wingo@igalia.com>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8804 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-08-03 10:44:20 +00:00
vegorov@chromium.org
bd8c469cf9
Check phi uses of the arguments object after redundant phies elimination.
...
This allows to handle code like:
var a = arguments;
while (smth) a[i];
without bailout.
R=kmillikin@chromium.org
Review URL: http://codereview.chromium.org/7465078
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8803 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-08-03 10:40:03 +00:00