Commit Graph

5103 Commits

Author SHA1 Message Date
mmaly@chromium.org
eb1443eb5b 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
2011-04-07 09:18:06 +00:00
fschneider@chromium.org
f983244124 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
2011-04-07 07:56:43 +00:00
mmaly@chromium.org
68482dbc10 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
2011-04-06 22:47:14 +00:00
mmaly@chromium.org
76b5dc7bfb 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
2011-04-06 20:20:31 +00:00
vitalyr@chromium.org
302037d44e 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
2011-04-06 19:17:54 +00:00
sgjesse@chromium.org
e600d564e3 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
2011-04-06 18:32:01 +00:00
yurys@chromium.org
c2e7beb952 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
2011-04-06 17:54:39 +00:00
peterhal@chromium.org
e3d788329a 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
2011-04-06 16:22:06 +00:00
vegorov@chromium.org
616dbf76cb 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
2011-04-06 14:23:27 +00:00
lrn@chromium.org
058d82a3df 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
2011-04-06 12:52:51 +00:00
vegorov@chromium.org
90df684330 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
2011-04-06 11:03:30 +00:00
sgjesse@chromium.org
6255476028 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
2011-04-06 09:06:23 +00:00
lrn@chromium.org
03fd56022b 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
2011-04-06 08:41:28 +00:00
vitalyr@chromium.org
38e328d469 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
2011-04-05 18:47:46 +00:00
vegorov@chromium.org
264615745a 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
2011-04-05 18:46:06 +00:00
vegorov@chromium.org
6d59c1b674 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
2011-04-05 17:18:44 +00:00
fschneider@chromium.org
7ef5cec9ae 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
2011-04-05 09:55:18 +00:00
ricow@chromium.org
3dd575ec0d 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
2011-04-05 09:21:02 +00:00
mikhail.naganov@gmail.com
c9904976f9 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
2011-04-05 09:01:47 +00:00
ager@chromium.org
101413a0b6 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
2011-04-05 07:57:35 +00:00
sgjesse@chromium.org
1244225ba8 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
2011-04-04 15:03:34 +00:00
fschneider@chromium.org
71b2572547 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
2011-04-04 08:57:21 +00:00
kmillikin@chromium.org
7dd6bb9144 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
2011-04-04 08:16:54 +00:00
vitalyr@chromium.org
6c5c823830 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
2011-04-04 06:29:02 +00:00
vitalyr@chromium.org
d37b5750d1 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
2011-04-04 05:46:51 +00:00
ager@chromium.org
20bdf9a07d 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
2011-04-04 02:56:34 +00:00
ager@chromium.org
ea8312ba33 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
2011-04-01 19:46:21 +00:00
vitalyr@chromium.org
24596cae32 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
2011-04-01 16:21:26 +00:00
vitalyr@chromium.org
6952f68ee3 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
2011-04-01 15:37:59 +00:00
mikhail.naganov@gmail.com
66446147f4 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
2011-04-01 15:23:18 +00:00
vitalyr@chromium.org
0b40589e73 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
2011-04-01 14:46:30 +00:00
sgjesse@chromium.org
8099bf3531 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
2011-04-01 14:38:30 +00:00
whesse@chromium.org
1e815ed485 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
2011-04-01 13:48:10 +00:00
whesse@chromium.org
ac5d0019bc 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
2011-04-01 13:27:28 +00:00
whesse@chromium.org
04a6031597 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
2011-04-01 13:15:27 +00:00
lrn@chromium.org
65fb2cf9cb 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
2011-04-01 13:07:37 +00:00
antonm@chromium.org
56b53dd5dc 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
2011-04-01 12:17:20 +00:00
karlklose@chromium.org
b8d5fd7d32 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
2011-04-01 11:59:00 +00:00
sgjesse@chromium.org
1e8079fcc9 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
2011-04-01 11:54:04 +00:00
vegorov@chromium.org
ae65366f0b 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
2011-04-01 11:41:36 +00:00
danno@chromium.org
8d4303e06c 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
2011-04-01 11:21:46 +00:00
vegorov@chromium.org
6153267de9 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
2011-04-01 11:21:36 +00:00
ager@chromium.org
1528bf7240 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
2011-04-01 10:52:18 +00:00
sgjesse@chromium.org
74c2bdc3fe 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
2011-04-01 10:30:09 +00:00
antonm@chromium.org
71431d79a0 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
2011-04-01 10:20:39 +00:00
danno@chromium.org
5f2b7a0f79 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
2011-04-01 08:03:34 +00:00
ager@chromium.org
9eb3bfadd6 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
2011-04-01 08:02:12 +00:00
ager@chromium.org
92996f027f 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
2011-04-01 08:01:33 +00:00
mark@chromium.org
c3b761cd42 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
2011-03-31 20:09:45 +00:00
vitalyr@chromium.org
179aef2b8f 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
2011-03-31 16:17:37 +00:00
whesse@chromium.org
fdd4773dfe 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
2011-03-31 12:04:00 +00:00
erik.corry@gmail.com
bb0bb5f006 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
2011-03-31 11:52:51 +00:00
erik.corry@gmail.com
3e59faef0c 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
2011-03-31 10:55:53 +00:00
fschneider@chromium.org
107d9dc518 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
2011-03-31 10:33:45 +00:00
vegorov@chromium.org
0d7b70ee22 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
2011-03-30 20:14:55 +00:00
vitalyr@chromium.org
d89c753152 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
2011-03-30 18:05:16 +00:00
vegorov@chromium.org
ed36cde5d0 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
2011-03-30 17:33:18 +00:00
vitalyr@chromium.org
c52de3acd1 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
2011-03-30 17:19:44 +00:00
vegorov@chromium.org
5378d727a1 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
2011-03-30 17:16:36 +00:00
whesse@chromium.org
1358772e3b 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
2011-03-30 16:04:37 +00:00
whesse@chromium.org
a910a50d1e 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
2011-03-30 15:56:29 +00:00
whesse@chromium.org
9a46c6f919 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
2011-03-30 15:31:16 +00:00
vegorov@chromium.org
4a3b75f7ba 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
2011-03-30 15:17:10 +00:00
whesse@chromium.org
df07145543 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
2011-03-30 14:31:32 +00:00
vitalyr@chromium.org
a051955678 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
2011-03-30 14:17:39 +00:00
mikhail.naganov@gmail.com
b64e85d241 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
2011-03-30 14:04:50 +00:00
whesse@chromium.org
28323284c0 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
2011-03-30 14:04:26 +00:00
mikhail.naganov@gmail.com
a8af96990b 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
2011-03-30 13:30:52 +00:00
vegorov@chromium.org
d919609b6a 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
2011-03-30 10:46:55 +00:00
whesse@chromium.org
1e85630094 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
2011-03-30 10:38:25 +00:00
ager@chromium.org
5fc90eb325 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
2011-03-30 09:37:26 +00:00
ager@chromium.org
5c3b422423 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
2011-03-30 08:43:02 +00:00
ager@chromium.org
d85ca084d5 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
2011-03-30 08:24:46 +00:00
lrn@chromium.org
a1d18a1eb7 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
2011-03-30 08:24:29 +00:00
ager@chromium.org
d495f4934c 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
2011-03-30 08:18:56 +00:00
ricow@chromium.org
ecc21b991a 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
2011-03-30 07:22:53 +00:00
lrn@chromium.org
15cfab8f49 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
2011-03-30 07:00:35 +00:00
mmaly@chromium.org
01748149d2 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
2011-03-29 17:54:44 +00:00
fschneider@chromium.org
eed6798474 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
2011-03-29 15:19:42 +00:00
ager@chromium.org
dad747e70e 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
2011-03-29 14:00:41 +00:00
ager@chromium.org
203667b5c0 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
2011-03-29 13:41:06 +00:00
lrn@chromium.org
385e4deff5 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
2011-03-29 13:06:48 +00:00
mikhail.naganov@gmail.com
2d95ed4b25 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
2011-03-29 12:52:07 +00:00
fschneider@chromium.org
770df67e16 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
2011-03-29 10:51:35 +00:00
whesse@chromium.org
ea7190657e 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
2011-03-29 10:48:28 +00:00
lrn@chromium.org
18c742f1e7 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
2011-03-29 09:21:25 +00:00
mikhail.naganov@gmail.com
b3cec2be9f 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
2011-03-29 09:18:08 +00:00
ager@chromium.org
ccce64c19c 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
2011-03-29 08:04:26 +00:00
lrn@chromium.org
a02868c53a 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
2011-03-29 07:53:33 +00:00
sgjesse@chromium.org
1eb224c2a2 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
2011-03-29 07:43:27 +00:00
vitalyr@chromium.org
75c47bff99 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
2011-03-29 07:34:23 +00:00
ager@chromium.org
3187ef6ce8 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
2011-03-29 06:18:16 +00:00
fschneider@chromium.org
fb457a8b87 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
2011-03-28 16:36:08 +00:00
sgjesse@chromium.org
91fcaa9a0c 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
2011-03-28 13:37:09 +00:00
ricow@chromium.org
7293b325f6 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
2011-03-28 13:34:10 +00:00
ager@chromium.org
d7337bd7c5 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
2011-03-28 13:33:48 +00:00
ager@chromium.org
68176825e2 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
2011-03-28 13:09:37 +00:00
sgjesse@chromium.org
2531480d10 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
2011-03-28 13:05:36 +00:00
sgjesse@chromium.org
5310b07c04 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
2011-03-28 12:27:56 +00:00
fschneider@chromium.org
886a3806a9 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
2011-03-28 09:33:40 +00:00