ager@chromium.org [Fri, 1 Apr 2011 19:46:21 +0000 (19:46 +0000)]
Reapply: Never use classic code generator.
Crankshaft is now the default on all platforms. This is the first
patch on the way to removing the classic code generator from the
system.
This time with no removal of the crankshaft flag. --nocrankshaft is
not at all the same as --always-full-compiler which I had used instead
for testing. That was what caused timeouts on the buildbots because of
repeated attempts to optimize hot functions. It makes sense to keep
the crankshaft flag in case you want to run only with the full
compiler and with no adaptive compilation.
R=vitalyr@chromium.org
Review URL: http://codereview.chromium.org/6759070
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7486
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
vitalyr@chromium.org [Fri, 1 Apr 2011 16:21:26 +0000 (16:21 +0000)]
Revert r7483 "Move SafeStackFrameIterator::active_count_ into an isolate."
It broke the Mac build.
Sampler::SampleStack() can't use Isolate::Current() when called from
the sampler thread (from SampleContext). We have to pass the isolate
pointer.
TBR=mikhail.naganov@gmail.com
Review URL: http://codereview.chromium.org/6791014
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7485
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
vitalyr@chromium.org [Fri, 1 Apr 2011 15:37:59 +0000 (15:37 +0000)]
Fix non-ia32 build.
Review URL: http://codereview.chromium.org/6771052
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7484
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
mikhail.naganov@gmail.com [Fri, 1 Apr 2011 15:23:18 +0000 (15:23 +0000)]
Move SafeStackFrameIterator::active_count_ into an isolate.
R=ager@chromium.org,vitalyr@chromium.org
BUG=none
TEST=none
Review URL: http://codereview.chromium.org/6771047
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7483
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
vitalyr@chromium.org [Fri, 1 Apr 2011 14:46:30 +0000 (14:46 +0000)]
Fix multi-isolate build:
o Make ia32 macro assembler work without an isolate and use it in the
custom memcpy creation code.
o Remove isolate-dependent code from the custom memcpy and modulo
functions creation code.
Review URL: http://codereview.chromium.org/6788007
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7482
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
sgjesse@chromium.org [Fri, 1 Apr 2011 14:38:30 +0000 (14:38 +0000)]
Revert "Never use classic code generator."
This reverts r7469 which might have caused the timeouts on the buildbot.
TBR=ager@chromium.org
BUG=
TEST=
Review URL: http://codereview.chromium.org//6788009
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7481
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
whesse@chromium.org [Fri, 1 Apr 2011 13:48:10 +0000 (13:48 +0000)]
Fix presubmit error.
BUG=
TEST=
Review URL: http://codereview.chromium.org/6791011
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7480
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
whesse@chromium.org [Fri, 1 Apr 2011 13:27:28 +0000 (13:27 +0000)]
Revert "Made test.py not mention the defunct --crankshaft flag."
This reverts svn r7477.
BUG=
TEST=
Review URL: http://codereview.chromium.org/6760027
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7479
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
whesse@chromium.org [Fri, 1 Apr 2011 13:15:27 +0000 (13:15 +0000)]
Allow construction of x64 Assembler with a NULL Isolate.
BUG=
TEST=
Review URL: http://codereview.chromium.org/6771049
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7478
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
lrn@chromium.org [Fri, 1 Apr 2011 13:07:37 +0000 (13:07 +0000)]
Made test.py not mention the defunct --crankshaft flag.
Cleanup of X64 assembler.
Review URL: http://codereview.chromium.org/6764015
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7477
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
antonm@chromium.org [Fri, 1 Apr 2011 12:17:20 +0000 (12:17 +0000)]
Introduce v8::Object::CreationContext method.
That allows to find out a global context in which the object
was created.
Review URL: http://codereview.chromium.org/6759054
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7476
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
karlklose@chromium.org [Fri, 1 Apr 2011 11:59:00 +0000 (11:59 +0000)]
Cleanup usage of HEAP in mark-compact.
Review URL: http://codereview.chromium.org/6760025
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7475
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
sgjesse@chromium.org [Fri, 1 Apr 2011 11:54:04 +0000 (11:54 +0000)]
Increase coverage of global loads in optimized code
In the cases where a global property cell cannot be used in the optimized code
use standard load ic to get the property instead of bailing out.
This is re-committing r7212 and r7215 which where reverted in r7239 with the addition of recoring the source position in the hydrogen code for the LoadGlobalCell instruction. To record that position an optional position field has been added to the variable proxy AST node.
Review URL: http://codereview.chromium.org/6758007
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7474
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
karlklose@chromium.org [Fri, 1 Apr 2011 11:47:42 +0000 (11:47 +0000)]
Do not try to execute empty programs.
After failing to read a non-existing file, the shell tried to execute the resulting empty program, which resulted in a null pointer dereference. This patch avoids execution of empty programs.
Review URL: http://codereview.chromium.org/6777005
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7473
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
vegorov@chromium.org [Fri, 1 Apr 2011 11:41:36 +0000 (11:41 +0000)]
Fix SlotRef::SlotAddress for parameters indices.
Fix %NewObjectFromBound to correctly handle optimized frames (including those with inlined functions).
Fix %_IsConstructCall handling in hydrogen: when called from inlined function return false constant directly instead of emiting HIsConstructCall.
Fix success case in TraceInline.
BUG=v8:1229
TEST=test/mjsunit/regress/regress-1229.js
Review URL: http://codereview.chromium.org/6740023
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7472
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
danno@chromium.org [Fri, 1 Apr 2011 11:21:46 +0000 (11:21 +0000)]
Fix Win64 build isolate problem
R=ager@chromium.org
BUG=none
TEST=none
Review URL: http://codereview.chromium.org/6764014
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7471
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
vegorov@chromium.org [Fri, 1 Apr 2011 11:21:36 +0000 (11:21 +0000)]
Minor cleanup in StaticMarkingVisitor.
Review URL: http://codereview.chromium.org/6780032
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7470
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
ager@chromium.org [Fri, 1 Apr 2011 10:52:18 +0000 (10:52 +0000)]
Never use classic code generator.
Crankshaft is now the default on all platforms. This is the first
patch on the way to removing the classic code generator from the
system.
R=kmillikin@chromium.org
BUG=
TEST=
Review URL: http://codereview.chromium.org/6771045
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7469
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
sgjesse@chromium.org [Fri, 1 Apr 2011 10:30:09 +0000 (10:30 +0000)]
Fix pc offset calculation for stack traces
Use the correct address of the code object to calculate the offset from the code object start to a pc for an optimized frame.
BUG=
TEST=
Review URL: http://codereview.chromium.org//6759052
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7468
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
antonm@chromium.org [Fri, 1 Apr 2011 10:20:39 +0000 (10:20 +0000)]
Do not create a SharedFunctionInfo for closures on each recompilation.
Unoptimized code should already keep a reference to the SharedFunctionInfo,
let's use it instead of allocating a new object and prohibiting SharedFunctionInfo
specific optimizations.
Review URL: http://codereview.chromium.org/6706016
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7467
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
danno@chromium.org [Fri, 1 Apr 2011 08:03:34 +0000 (08:03 +0000)]
Fix minor issues in typed array load/store implementation
BUG=none
TEST=none
Review URL: http://codereview.chromium.org/6675043
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7466
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
ager@chromium.org [Fri, 1 Apr 2011 08:02:12 +0000 (08:02 +0000)]
Implement %_IsStringWrapperSafeForDefaultValue in full code generators.
R=sgjesse@chromium.org
Review URL: http://codereview.chromium.org/6689006
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7465
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
ager@chromium.org [Fri, 1 Apr 2011 08:01:33 +0000 (08:01 +0000)]
Cleanup of Isolate::Current() and FACTORY macro usage in execution.cc.
BUG=none
TEST=none
Patch from Peter Varga <pvarga@inf.u-szeged.hu>.
Review URL: http://codereview.chromium.org/6759029
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7464
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
mark@chromium.org [Thu, 31 Mar 2011 20:09:45 +0000 (20:09 +0000)]
Add missing #ifdef to lithium-gap-resolver-ia32.cc. This fixes the GYP-based
64-bit Mac build.
Review URL: http://codereview.chromium.org/6728035
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7463
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
vitalyr@chromium.org [Thu, 31 Mar 2011 16:17:37 +0000 (16:17 +0000)]
VM initialization refactoring.
This patch introduces global once per-process initialization and moves
the OS and CPU setup there. This makes CPU features isolate-independent.
Review URL: http://codereview.chromium.org/6670119
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7462
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
whesse@chromium.org [Thu, 31 Mar 2011 12:04:00 +0000 (12:04 +0000)]
Remove counters from generated isolate-independent MemCopy on ia32 platform.
BUG=
TEST=
Review URL: http://codereview.chromium.org/6740019
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7457
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
erik.corry@gmail.com [Thu, 31 Mar 2011 11:52:51 +0000 (11:52 +0000)]
Untank build after last commit.
Review URL: http://codereview.chromium.org/6728021
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7456
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
erik.corry@gmail.com [Thu, 31 Mar 2011 10:55:53 +0000 (10:55 +0000)]
Microoptimizations to the way we get the current heap.
Review URL: http://codereview.chromium.org/6759030
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7455
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
fschneider@chromium.org [Thu, 31 Mar 2011 10:33:45 +0000 (10:33 +0000)]
Improve property access with keys that can always be converted into a symbol string.
Review URL: http://codereview.chromium.org/6670115
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7454
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
lrn@chromium.org [Thu, 31 Mar 2011 08:12:17 +0000 (08:12 +0000)]
Reapply changelist r7436.
Remove test for existence of VM. Not all tests need the VM.
Review URL: http://codereview.chromium.org/6783011
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7452
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
vegorov@chromium.org [Wed, 30 Mar 2011 20:14:55 +0000 (20:14 +0000)]
Remove unused variable to please GCC 4.6.
Review URL: http://codereview.chromium.org/6777024
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7451
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
vitalyr@chromium.org [Wed, 30 Mar 2011 18:05:16 +0000 (18:05 +0000)]
Only pass isolate parameter to C helper functions that need it.
Review URL: http://codereview.chromium.org/6778018
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7450
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
vegorov@chromium.org [Wed, 30 Mar 2011 17:33:18 +0000 (17:33 +0000)]
Autodetect no-strict-aliasing, propagate toolchain option to SCons
Patch by Bert Belder.
BUG=v8:884
Review URL: http://codereview.chromium.org/6539006
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7449
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
vitalyr@chromium.org [Wed, 30 Mar 2011 17:19:44 +0000 (17:19 +0000)]
Try fix build.
TBR=slava
Review URL: http://codereview.chromium.org/6778019
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7448
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
vegorov@chromium.org [Wed, 30 Mar 2011 17:16:36 +0000 (17:16 +0000)]
Fix the Cygwin build after isolates merge.
Patch by Bert Belder.
Review URL: http://codereview.chromium.org/6776011
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7447
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
whesse@chromium.org [Wed, 30 Mar 2011 16:04:37 +0000 (16:04 +0000)]
Fix the bug in the bug fix.
BUG=
TEST=
Review URL: http://codereview.chromium.org/6731089
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7446
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
whesse@chromium.org [Wed, 30 Mar 2011 15:56:29 +0000 (15:56 +0000)]
Fix unused variable bug in r7444.
BUG=
TEST=
Review URL: http://codereview.chromium.org/6759033
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7445
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
whesse@chromium.org [Wed, 30 Mar 2011 15:31:16 +0000 (15:31 +0000)]
Reduce handle usage in type-info.cc PopulateMap.
BUG=none
TEST=none
Review URL: http://codereview.chromium.org/6771008
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7444
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
vegorov@chromium.org [Wed, 30 Mar 2011 15:17:10 +0000 (15:17 +0000)]
Specialize ScavengingVisitor for the case when all logging and profiling is disabled.
By default use specialized static visitor and fallback to more generic one when one of the isolates with enabled logging/profiling hits GC.
Review URL: http://codereview.chromium.org/6777011
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7443
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
whesse@chromium.org [Wed, 30 Mar 2011 14:42:47 +0000 (14:42 +0000)]
Revert changelist r7436.
BUG=
TEST=
Review URL: http://codereview.chromium.org/6756036
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7442
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
whesse@chromium.org [Wed, 30 Mar 2011 14:31:32 +0000 (14:31 +0000)]
Fix strict-aliasing violation in compilation of r7437.
BUG=
TEST=
Review URL: http://codereview.chromium.org/6765027
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7440
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
vitalyr@chromium.org [Wed, 30 Mar 2011 14:17:39 +0000 (14:17 +0000)]
Clean up runtime functions.
Make all functions called from generated code declared using
RUNTIME_FUNCTION macro. This makes them all look consistent and allows
experimenting with various calling conventions.
Review URL: http://codereview.chromium.org/6756029
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7439
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
mikhail.naganov@gmail.com [Wed, 30 Mar 2011 14:04:50 +0000 (14:04 +0000)]
Heap profiler: emit more descriptive names for system objects and properties.
BUG=none
TEST=none
Review URL: http://codereview.chromium.org/6776009
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7438
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
whesse@chromium.org [Wed, 30 Mar 2011 14:04:26 +0000 (14:04 +0000)]
Add thread-safety to creation of MemCopy and modulo functions.
BUG=
TEST=release test-api MultipleIsolatesOnIndividualThreads on Windows X64 build.
Review URL: http://codereview.chromium.org/6777007
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7437
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
lrn@chromium.org [Wed, 30 Mar 2011 14:00:36 +0000 (14:00 +0000)]
Add test suite for the preparser.
The test suite builds the preparser test program and runs it on each .js file in
the test/preparser directory.
Currently it only checks that preparsing runs without crashing or erroring.
This also implicitly tests that the preparser library can be built.
TEST=test/preparser/*.js
Review URL: http://codereview.chromium.org/6777010
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7436
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
mikhail.naganov@gmail.com [Wed, 30 Mar 2011 13:30:52 +0000 (13:30 +0000)]
Add initialization for has_external_callback field.
It looks like we initialize TickSample values twice in some
situations, but I will fix this in a separate change list.
R=sgjesse@chromium.org
BUG=1292
TEST=none
Review URL: http://codereview.chromium.org/6756031
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7434
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
vegorov@chromium.org [Wed, 30 Mar 2011 10:46:55 +0000 (10:46 +0000)]
Fix a number of GC-unsafe evaluation order dependent places.
Also change places which are triggering false positive alert in our static analysis tool.
Review URL: http://codereview.chromium.org/6731054
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7432
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
whesse@chromium.org [Wed, 30 Mar 2011 10:38:25 +0000 (10:38 +0000)]
Fix another x64 compilation error due to some dead code.
BUG=v8:1286
TEST=compile V8 with gcc-4.5.x
Patch from Peter Varga <pvarga@inf.u-szeged.hu>.
Review URL: http://codereview.chromium.org/6771013
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7431
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
lrn@chromium.org [Wed, 30 Mar 2011 10:13:11 +0000 (10:13 +0000)]
PreParser build fix
Patch from Peter Varga <pvarga@inf.u-szeged.hu>.
BUG=none
TEST=none
Review URL: http://codereview.chromium.org/6773009
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7430
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
ager@chromium.org [Wed, 30 Mar 2011 09:37:26 +0000 (09:37 +0000)]
Pass in isolate when reporting deletion of objects.
R=erik.corry@gmail.com
Review URL: http://codereview.chromium.org/6756021
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7429
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
ager@chromium.org [Wed, 30 Mar 2011 08:43:02 +0000 (08:43 +0000)]
Fix a couple of TLS isolate accesses in mark-compact.
R=erik.corry@gmail.com
Review URL: http://codereview.chromium.org/6765023
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7426
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
ager@chromium.org [Wed, 30 Mar 2011 08:24:46 +0000 (08:24 +0000)]
Fix presubmit.
TBR=karlklose@chromium.org
Review URL: http://codereview.chromium.org/6759024
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7425
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
lrn@chromium.org [Wed, 30 Mar 2011 08:24:29 +0000 (08:24 +0000)]
Prepare push to trunk. Now working on version 3.2.7.
Review URL: http://codereview.chromium.org/6675039
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7424
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
ager@chromium.org [Wed, 30 Mar 2011 08:18:56 +0000 (08:18 +0000)]
Cleanup usage of HEAP and FACTORY in the cache stub compiler.
Review URL: http://codereview.chromium.org/6770011
Patch from Karl Klose <karlklose@chromium.org>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7423
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
ricow@chromium.org [Wed, 30 Mar 2011 07:22:53 +0000 (07:22 +0000)]
Fix conditional on sse2 support in CompileMathFloor
We should test that there is NO sse2 support and return undefined in
that case.
Review URL: http://codereview.chromium.org/6759021
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7422
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
lrn@chromium.org [Wed, 30 Mar 2011 07:00:35 +0000 (07:00 +0000)]
Fixing build on Mac
BUG=
TEST=
Review URL: http://codereview.chromium.org/6771015
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7420
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
mmaly@chromium.org [Wed, 30 Mar 2011 04:36:41 +0000 (04:36 +0000)]
Fix xcode build warning in shell.cc
(out of order initialization).
BUG=
TEST=
Review URL: http://codereview.chromium.org/6772021
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7419
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
mmaly@chromium.org [Tue, 29 Mar 2011 17:54:44 +0000 (17:54 +0000)]
Fix gyp files for d8 console. Include build/gyp in .gitignore.
BUG=
TEST=
Review URL: http://codereview.chromium.org/6765006
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7418
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
fschneider@chromium.org [Tue, 29 Mar 2011 15:19:42 +0000 (15:19 +0000)]
Use a fixed input register where we require a byte register.
Currently we can't specify a set of registers as a register constraint.
This change forces a fixed register (eax) in places that need
a byte register.
BUG=77752
Review URL: http://codereview.chromium.org/6708109
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7417
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
ager@chromium.org [Tue, 29 Mar 2011 14:00:41 +0000 (14:00 +0000)]
Remove redundant usages of some macros and functions in debug.cc
Cleanup of HEAP and FACTORY macros and use isolate_ member of classes where it is possible.
Cleanup of debugger(), debug() and global_handles() functions.
Pass the isolate pointer to the HandleScope constructor.
BUG=none
TEST=none
Review URL: http://codereview.chromium.org/6708108
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7416
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
ager@chromium.org [Tue, 29 Mar 2011 13:41:06 +0000 (13:41 +0000)]
Cleanup of HEAP and LOGGER macro usage in cpu-profiler.cc.
BUG=none
TEST=none
Review URL: http://codereview.chromium.org/6708101
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7415
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
ricow@chromium.org [Tue, 29 Mar 2011 13:20:05 +0000 (13:20 +0000)]
Decrease number of runs in mjsunit/compiler/pic.js (Test still gets optimized, even without --stress-opt)
Review URL: http://codereview.chromium.org/6731049
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7414
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
lrn@chromium.org [Tue, 29 Mar 2011 13:06:48 +0000 (13:06 +0000)]
Make the preparser standalone library and process build in debug mode.
It should now be possible to build the preparser using 'scons preparser' in both release and debug modes.
Remove v8.h include from scanner-base.h and other files.
Remove NativeAllocationChecker and all of its kind.
Moved Isolate::PreallocatedStorage* to isolate.cc
Review URL: http://codereview.chromium.org/6749029
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7413
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
mikhail.naganov@gmail.com [Tue, 29 Mar 2011 12:52:07 +0000 (12:52 +0000)]
Remove snapshots-related code that is implemented in DevTools heap profiler.
Diffs and retaining paths are implemented on JS side. There is no need
to maintain native implementation.
R=vitalyr@chromium.org
BUG=none
TEST=none
Review URL: http://codereview.chromium.org/6770009
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7412
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
fschneider@chromium.org [Tue, 29 Mar 2011 10:51:35 +0000 (10:51 +0000)]
Fix null-pointer dereference in the compiler when running without sse3 support.
BUG=77654
Review URL: http://codereview.chromium.org/6731046
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7408
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
whesse@chromium.org [Tue, 29 Mar 2011 10:48:28 +0000 (10:48 +0000)]
Fix x64 compilation error due to some dead code, by deleting the dead code.
BUG=1286
TEST=compile V8 with gcc-4.4.x.
Review URL: http://codereview.chromium.org/6771007
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7407
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
lrn@chromium.org [Tue, 29 Mar 2011 09:21:25 +0000 (09:21 +0000)]
Introduce scons target to build preparser libraray and proof-of-concept command line process.
The target doesn't compile yet, due to v8 dependencies introduced by isolates.
Review URL: http://codereview.chromium.org/6772002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7404
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
mikhail.naganov@gmail.com [Tue, 29 Mar 2011 09:18:08 +0000 (09:18 +0000)]
Remove an extra comma from "tick" log records.
This fixes VM state fetching from "tick" log records.
TBR=vitalyr@chromium.org
BUG=1287
TEST=none
Review URL: http://codereview.chromium.org/6718041
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7403
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
ager@chromium.org [Tue, 29 Mar 2011 08:04:26 +0000 (08:04 +0000)]
Rename local variable in api.cc to avoid using C++0x keyword thread_local.
Also, the name thread_local did not make much sense.
R=karlklose@chromium.org
BUG=1280
Review URL: http://codereview.chromium.org/6771003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7402
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
lrn@chromium.org [Tue, 29 Mar 2011 07:53:33 +0000 (07:53 +0000)]
Fix reference to masm_ after delete in RegExpMacroAssemblerX64.
BUG=77633
Review URL: http://codereview.chromium.org/6771002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7400
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
sgjesse@chromium.org [Tue, 29 Mar 2011 07:43:27 +0000 (07:43 +0000)]
ARM: Check for minus zero when converting binary operation result to smi
The result of an Int32 binary operation will be converted to a smi if it fits. However a minus zero check was missing.
BUG=v8:1278
TEST=test/mjsunit/regress/regress-1278.js
R=ager@chromium.org
Review URL: http://codereview.chromium.org/6755009
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7399
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
vitalyr@chromium.org [Tue, 29 Mar 2011 07:34:23 +0000 (07:34 +0000)]
Cleanup of HEAP and FACTORY macro usage in accessors.cc.
Patch by Peter Varga.
Review URL: http://codereview.chromium.org/6756003/
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7398
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
ager@chromium.org [Tue, 29 Mar 2011 06:18:16 +0000 (06:18 +0000)]
Build and pass all tests on FreeBSD.
Review URL: http://codereview.chromium.org/6726050
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7397
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
fschneider@chromium.org [Mon, 28 Mar 2011 16:36:08 +0000 (16:36 +0000)]
Add binary-op stub variant to handle oddball objects more efficiently.
Review URL: http://codereview.chromium.org/6744006
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7396
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
sgjesse@chromium.org [Mon, 28 Mar 2011 13:37:09 +0000 (13:37 +0000)]
Fix presubmit errors in r7388
TBR=ager@chromium.org
Review URL: http://codereview.chromium.org/6724034
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7392
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
ricow@chromium.org [Mon, 28 Mar 2011 13:34:10 +0000 (13:34 +0000)]
Remove unused method, this is not used anymore after 7360.
Review URL: http://codereview.chromium.org/6735012
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7391
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
ager@chromium.org [Mon, 28 Mar 2011 13:33:48 +0000 (13:33 +0000)]
Cleanup of FACTORY and HEAP macro usage in code-stubs.cc.
BUG=
TEST=
Review URL: http://codereview.chromium.org/6760001
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7390
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
ager@chromium.org [Mon, 28 Mar 2011 13:09:37 +0000 (13:09 +0000)]
Cleanup of Isolate::Current(), FACTORY and HEAP usage in bootstrapper.cc.
BUG=
TEST=
Review URL: http://codereview.chromium.org/6758005
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7389
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
sgjesse@chromium.org [Mon, 28 Mar 2011 13:05:36 +0000 (13:05 +0000)]
Re-establish mips basic infrastructure.
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
sgjesse@chromium.org [Mon, 28 Mar 2011 12:27:56 +0000 (12:27 +0000)]
Add more details the --trace-deopt output
R=ager@chromium.org
Review URL: http://codereview.chromium.org/6735007
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7387
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
fschneider@chromium.org [Mon, 28 Mar 2011 09:33:40 +0000 (09:33 +0000)]
Prepare push to trunk. Now working on version 3.2.6.
Review URL: http://codereview.chromium.org/6755006
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7384
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
vitalyr@chromium.org [Mon, 28 Mar 2011 09:32:11 +0000 (09:32 +0000)]
Fix arm compilation on OS X 10.5 gcc.
Review URL: http://codereview.chromium.org/6758003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7383
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
vitalyr@chromium.org [Mon, 28 Mar 2011 09:11:14 +0000 (09:11 +0000)]
Cleanup of HEAP and LOGGER macros usage in api.cc.
Patch by Peter Varga.
Review URL: http://codereview.chromium.org/6735003/
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7382
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
ricow@chromium.org [Mon, 28 Mar 2011 08:51:08 +0000 (08:51 +0000)]
Run array-length less times to make the builder green.
We still get this method optimized even without --always-opt flag.
Review URL: http://codereview.chromium.org/6719029
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7381
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
vitalyr@chromium.org [Mon, 28 Mar 2011 08:44:30 +0000 (08:44 +0000)]
Remove more TLS hurting Dromaeo DOM.
Patch by Dmitry Lomov.
Review URL: http://codereview.chromium.org/6745029
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7380
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
ricow@chromium.org [Mon, 28 Mar 2011 06:11:08 +0000 (06:11 +0000)]
Follow jsc on not throwing when trying to add a property to a non-extensible object.
This change makes us compatible with Safari on not throwing when trying to add a property to a non-extensible object.
Review URL: http://codereview.chromium.org/6712059
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7379
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
ricow@chromium.org [Mon, 28 Mar 2011 05:57:27 +0000 (05:57 +0000)]
Set optimizable to false on code object if shared function info says so.
Because we might throw away code when doing code flushing we need to
set the optimizable flag to false in CompileLaze if this has been set
on the shared function info. This is the only place where this can
happen, since we always exchange the code with the laze compile stub
when doing code flushing.
The comment in AbortAndDisable actually states that this is already
the case (and that comment should now be ok).
Review URL: http://codereview.chromium.org/6685044
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7378
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
vitalyr@chromium.org [Sun, 27 Mar 2011 18:40:48 +0000 (18:40 +0000)]
Fast TLS support on mac.
Review URL: http://codereview.chromium.org/6724028
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7377
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
vitalyr@chromium.org [Sun, 27 Mar 2011 16:18:34 +0000 (16:18 +0000)]
Add files missing from last commit.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7376
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
vitalyr@chromium.org [Sun, 27 Mar 2011 16:14:20 +0000 (16:14 +0000)]
Fast TLS support.
This patch adds common infrastructure for fast TLS support and
implementation on win32. More implementations will be added soon.
Fast TLS is controlled by V8_FAST_TLS define which is enabled by
default in our gyp and scons builds. The scons build has
fasttls={on,off} option so that we can see the effects of slow TLS
when needed.
Review URL: http://codereview.chromium.org/6696112
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7375
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
vitalyr@chromium.org [Fri, 25 Mar 2011 14:09:14 +0000 (14:09 +0000)]
Remove unneeded TLS reads from v8::Null() and friends.
Patch by Dmitry Lomov.
Code review: http://codereview.chromium.org/6737003/
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7374
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
lrn@chromium.org [Fri, 25 Mar 2011 14:03:42 +0000 (14:03 +0000)]
Fix test that can fail for small denormals.
Review URL: http://codereview.chromium.org/6736027
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7373
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
lrn@chromium.org [Fri, 25 Mar 2011 13:48:17 +0000 (13:48 +0000)]
Fix typo in math-sqrt.js
Review URL: http://codereview.chromium.org/6696109
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7372
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
vitalyr@chromium.org [Fri, 25 Mar 2011 13:32:06 +0000 (13:32 +0000)]
Remove TLS read from ON_BAILOUT.
Patch by Dmitry Lomov.
Original review: http://codereview.chromium.org/6731030/
TBR=ager@chromium.org
Review URL: http://codereview.chromium.org/6713128
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7370
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
sgjesse@chromium.org [Fri, 25 Mar 2011 13:26:55 +0000 (13:26 +0000)]
Don't rely on C++ object padding across platforms
The use of sizeof on FrameDescription to get to the additional allocated memory for the frame content relies on the padding of the FrameDescription. On IA32 Linux the FrameDescription is not padded but on ARM Linux it is padded to become 8 byte aligned. With a snapshot generated with the ARM simulator on IA32 Linux that contains one or more of the deoptimization tables the deoptimization did not work as the access to the frame content was one off between the C++ code and the generated code.
R=ager@chromium.org
Review URL: http://codereview.chromium.org/6744004
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7369
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
lrn@chromium.org [Fri, 25 Mar 2011 13:24:20 +0000 (13:24 +0000)]
Add more tests to mul-exhaustive for constant left/right operands.
Make MJSUnit able to distinguish 0 and -0.
Review URL: http://codereview.chromium.org/6688062
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7368
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
ager@chromium.org [Fri, 25 Mar 2011 13:21:30 +0000 (13:21 +0000)]
Cleanup more isolate usage in ia32 files.
Review URL: http://codereview.chromium.org/6696107
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7367
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
vegorov@chromium.org [Fri, 25 Mar 2011 12:51:32 +0000 (12:51 +0000)]
Check for SSE2 support in FullCodeGenerator::EmitMathPow.
Do not emit call to the MathPowStub when SSE2 is not available because it requires SSE2.
Review URL: http://codereview.chromium.org/6736006
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7366
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
lrn@chromium.org [Fri, 25 Mar 2011 11:53:29 +0000 (11:53 +0000)]
Fix prettyprinter for --print-ast option.
Was broken since isolates merge.
Review URL: http://codereview.chromium.org/6676144
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7365
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
danno@chromium.org [Fri, 25 Mar 2011 11:16:29 +0000 (11:16 +0000)]
Fix ARM external array crankshaft bailout
BUG=none
TEST=none
Review URL: http://codereview.chromium.org/6730054
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7362
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00