ager@chromium.org [Thu, 7 Apr 2011 15:02:38 +0000 (15:02 +0000)]
Fix v8.gyp.
R=kmillikin@chromium.org
BUG=
TEST=
TBR=
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7546
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
whesse@chromium.org [Thu, 7 Apr 2011 15:01:50 +0000 (15:01 +0000)]
oops
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7545
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
danno@chromium.org [Thu, 7 Apr 2011 15:01:20 +0000 (15:01 +0000)]
Fix cow fixed array map check in optimized arm code.
R=ager@chromium.org
BUG=
TEST=
Review URL: http://codereview.chromium.org/6814016
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7544
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
whesse@chromium.org [Thu, 7 Apr 2011 14:45:34 +0000 (14:45 +0000)]
Restart AST node numbering when we enter a function.
BUG=
TEST=
Review URL: http://codereview.chromium.org/6691058
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7543
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
ager@chromium.org [Thu, 7 Apr 2011 14:42:37 +0000 (14:42 +0000)]
Remove some dead code.
- virtual-frame*
- register-allocator*
- jump-target*
- most of codegen*
- AstOptimizer and fields on AST
There is a lot of additional cleanup that we should do but this gets
rid of a lot.
R=kmillikin@chromium.org
BUG=
TEST=
Review URL: http://codereview.chromium.org/6811012
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7542
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
vegorov@chromium.org [Thu, 7 Apr 2011 13:32:45 +0000 (13:32 +0000)]
In LCodeGen::DoDeferredLInstanceOfKnownGlobal emit safepoint with registers for the call to stub.
Review URL: http://codereview.chromium.org/6793017
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7541
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
vegorov@chromium.org [Thu, 7 Apr 2011 12:38:16 +0000 (12:38 +0000)]
Add GCMole to the repository.
GCMole is a simple static analysis tool that searches for GC-usafe evaluation order dependent callsites.
Review URL: http://codereview.chromium.org/6812002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7540
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
peterhal@chromium.org [Thu, 7 Apr 2011 11:29:40 +0000 (11:29 +0000)]
Fix --print-code-stubs during VM initialization
BUG=
TEST=
Review URL: http://codereview.chromium.org/6815007
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7539
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
lrn@chromium.org [Thu, 7 Apr 2011 10:44:39 +0000 (10:44 +0000)]
Fix bad deoptimization tests for double-to-int conversion.
Deopted on zero result, not just bad cvttsi2sd conversion.
Add inline floating point result for SHR in Smi TypeRecordingBinaryOpStub.
Small optimizations.
Adding rightshift to case handled by floating point result in type-recording binary op stub.
Review URL: http://codereview.chromium.org/6801040
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7537
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
danno@chromium.org [Thu, 7 Apr 2011 09:51:25 +0000 (09:51 +0000)]
Fix opmitized external array access for compound assignments and count operations, also implement missing ARM typed array Hydrogen loads and stores.
BUG=none
TEST=none
Review URL: http://codereview.chromium.org/6805005
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7536
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
mmaly@chromium.org [Thu, 7 Apr 2011 09:18:06 +0000 (09:18 +0000)]
Fix build break on Mac.
BUG=
TEST=
Review URL: http://codereview.chromium.org/6816012
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7535
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
lrn@chromium.org [Thu, 7 Apr 2011 08:41:37 +0000 (08:41 +0000)]
Make preparser api be exported in shared libraries.
Adds missing V8EXPORT declarations to types in v8-preparser.h.
BUG=
TEST=
Review URL: http://codereview.chromium.org/6812012
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7531
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
jkummerow@chromium.org [Thu, 7 Apr 2011 08:24:56 +0000 (08:24 +0000)]
Make "length" and "BYTES_PER_ELEMENT" properties of typed arrays accessible.
Review URL: http://codereview.chromium.org/6805010
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7527
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
fschneider@chromium.org [Thu, 7 Apr 2011 07:56:43 +0000 (07:56 +0000)]
Remove unnecessary AST node for ++ and -- operations.
Instead of adding an extra AST node we can just use an auxiliary
bailout id for named and keyed property count operations.
Review URL: http://codereview.chromium.org/6810015
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7524
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
mmaly@chromium.org [Wed, 6 Apr 2011 22:47:14 +0000 (22:47 +0000)]
Fix arm and x64 build break.
BUG=
TEST=
Review URL: http://codereview.chromium.org/6808001
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7523
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
mmaly@chromium.org [Wed, 6 Apr 2011 20:20:31 +0000 (20:20 +0000)]
Strict mode renamings.
BUG=
TEST=
Review URL: http://codereview.chromium.org/6804024
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7522
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
vitalyr@chromium.org [Wed, 6 Apr 2011 19:17:54 +0000 (19:17 +0000)]
Make object groups and implicit references a bit more lightweight.
We can only call malloc/free once per group and we can avoid scanning
through a list of NULLs if we keep unprocessed groups in the beginning.
I also changed the internal representation of implicit references to
hold a handle to the parent (instead of a direct pointer). The
prologue callback must not trigger a GC, but it's better to be safe.
Review URL: http://codereview.chromium.org/6800003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7521
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
mmaly@chromium.org [Wed, 6 Apr 2011 19:06:19 +0000 (19:06 +0000)]
Fix Xcode project.
BUG=
TEST=
Review URL: http://codereview.chromium.org/6799016
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7520
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
sgjesse@chromium.org [Wed, 6 Apr 2011 18:32:01 +0000 (18:32 +0000)]
Add a missing handle for serialized scope info
R=vegorov@chromium.org
BUG=v8:1252
TEST=none
Review URL: http://codereview.chromium.org//6805013
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7519
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
yurys@chromium.org [Wed, 6 Apr 2011 17:54:39 +0000 (17:54 +0000)]
Debugger: show local scope before with for functions created inside with block
Review URL: http://codereview.chromium.org/6804015
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7518
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
peterhal@chromium.org [Wed, 6 Apr 2011 16:22:06 +0000 (16:22 +0000)]
1309 fix
BUG=
TEST=
Review URL: http://codereview.chromium.org/6800018
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7517
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
vegorov@chromium.org [Wed, 6 Apr 2011 14:23:27 +0000 (14:23 +0000)]
Always iterate outgoing arguments as a part of caller frame.
Change caller_sp() to always point to the place after outgoing arguments.
Change deoptimizer to use absolute stack slot addresses for deferred HeapNumber's materialization.
(This is reapplication of r7504 with fix for mozilla testsuite failures).
Review URL: http://codereview.chromium.org/6677164
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7516
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
lrn@chromium.org [Wed, 6 Apr 2011 12:52:51 +0000 (12:52 +0000)]
X64: Allow the type recording binary op stub to create heapnumber results.
Review URL: http://codereview.chromium.org/6803010
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7515
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
vegorov@chromium.org [Wed, 6 Apr 2011 11:03:30 +0000 (11:03 +0000)]
Prepare push to trunk. Now working on version 3.2.9.
Review URL: http://codereview.chromium.org/6804008
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7511
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
jkummerow@chromium.org [Wed, 6 Apr 2011 11:01:07 +0000 (11:01 +0000)]
Add regression test for overlapping key and value registers.
Review URL: http://codereview.chromium.org/6804007
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7510
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
sgjesse@chromium.org [Wed, 6 Apr 2011 09:06:23 +0000 (09:06 +0000)]
ARM: Add support load/store multiple VFP registers
Enter/exit frames with save doubles use these instructions instead of generating 16 load/store instructions.
R=karlklose@chromium.org, rodolph.perfetta@gmail.com
BUG=
TEST=
Review URL: http://codereview.chromium.org//6691057
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7509
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
lrn@chromium.org [Wed, 6 Apr 2011 08:41:28 +0000 (08:41 +0000)]
Remove unused last_pc_ in AssemblerX64.
Remove unneeded checks for SSE2 in X64 code.
Remove an unneeded check for SSE3 where the X64 code doesn't use SSE3 features.
Review URL: http://codereview.chromium.org/6793040
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7508
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
ager@chromium.org [Wed, 6 Apr 2011 08:31:54 +0000 (08:31 +0000)]
Expose WebGL typed array constructors in the shell sample
Review URL: http://codereview.chromium.org/6691061
Patch from Jakob Kummerow <jkummerow@chromium.org>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7507
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
vitalyr@chromium.org [Tue, 5 Apr 2011 18:47:46 +0000 (18:47 +0000)]
Use placement new for zone objects in hydrogen.
Review URL: http://codereview.chromium.org/6794041
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7506
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
vegorov@chromium.org [Tue, 5 Apr 2011 18:46:06 +0000 (18:46 +0000)]
Revert r7504.
Deoptimization infrastructure implicitly uses caller_sp related addressing (where caller_sp is expected to point below outgoing arguments).
TBR=kmillikin@chromium.org
Review URL: http://codereview.chromium.org/6677160
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7505
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
vegorov@chromium.org [Tue, 5 Apr 2011 17:18:44 +0000 (17:18 +0000)]
Always iterate outgoing arguments as a part of caller frame.
Change caller_sp() to always point to the place after outgoing arguments.
Review URL: http://codereview.chromium.org/6720049
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7504
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
fschneider@chromium.org [Tue, 5 Apr 2011 09:55:18 +0000 (09:55 +0000)]
Remove environment length from HSimulate instructions.
It was only used in an ASSERT when reconstructing environments
at lithium translation time.
Review URL: http://codereview.chromium.org/6693062
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7501
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
ricow@chromium.org [Tue, 5 Apr 2011 09:21:02 +0000 (09:21 +0000)]
Add inline non-transcendental cache version of log to lithium.
In addition, this change allows one additional level of inlining.
Review URL: http://codereview.chromium.org/6720017
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7500
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
mikhail.naganov@gmail.com [Tue, 5 Apr 2011 09:01:47 +0000 (09:01 +0000)]
Simplify isolates access during stack iteration (WAS: Move SafeStackFrameIterator::active_count_...)
While trying to fix Mac and Windows versions for this change:
http://codereview.chromium.org/6771047/, I figured out, that we
already store an isolate in StackFrameIterator, so we can use it in
frame objects, instead of requiring it from caller.
I've changed iterators usage to the following scheme: whenever a
caller maintains an isolate pointer, it just passes it to stack
iterator, and no more worries about passing it to frame content
accessors. If a caller uses current isolate, it can omit passing it
to iterator, in this case, an iterator will use the current isolate,
too.
There was a special case with LiveEdit, which creates
detached copies of frame objects.
R=vitalyr@chromium.org
BUG=none
TEST=none
Review URL: http://codereview.chromium.org/6794019
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7499
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
ager@chromium.org [Tue, 5 Apr 2011 07:57:35 +0000 (07:57 +0000)]
Fix overlapping registers in external array stores on x64.
R=danno@chromium.org
BUG=
TEST=
Review URL: http://codereview.chromium.org/6794047
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7498
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
vitalyr@chromium.org [Mon, 4 Apr 2011 18:26:06 +0000 (18:26 +0000)]
Cleanup of FACTORY macro and fix Irregexp Interpreter build in test-regexp.cc
Patch by Peter Varga.
Review URL: http://codereview.chromium.org/6793019/
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7496
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
sgjesse@chromium.org [Mon, 4 Apr 2011 15:03:34 +0000 (15:03 +0000)]
Extend crankshaft support for global stores
All global stores are now supported in crankshaft by using the normal store IC when other optimizations are not possible due to the state of the global object.
R=fschneider@chromium.org
BUG=
TEST=
Review URL: http://codereview.chromium.org//6693066
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7495
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
fschneider@chromium.org [Mon, 4 Apr 2011 08:57:21 +0000 (08:57 +0000)]
Remove redundant data member from HChange instructions.
The target representation is already stored as part of HValue::representation().
Review URL: http://codereview.chromium.org/6794014
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7493
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
kmillikin@chromium.org [Mon, 4 Apr 2011 08:16:54 +0000 (08:16 +0000)]
Prepare push to trunk. Now working on version 3.2.8.
R=danno@chromium.org
Review URL: http://codereview.chromium.org/6693060
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7490
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
vitalyr@chromium.org [Mon, 4 Apr 2011 06:29:02 +0000 (06:29 +0000)]
Support placement new syntax for zone objects and start using it in the parser.
Review URL: http://codereview.chromium.org/6771058
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7489
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
vitalyr@chromium.org [Mon, 4 Apr 2011 05:46:51 +0000 (05:46 +0000)]
Fix fast TLS support on Mac.
Review URL: http://codereview.chromium.org/6706018
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7488
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
ager@chromium.org [Mon, 4 Apr 2011 02:56:34 +0000 (02:56 +0000)]
Explicitly use icu namespace.
Chromium builds with U_USING_ICU_NAMESPACE=0, so we need this.
Landing for thakis@chromium.org.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7487
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
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