Commit Graph

4983 Commits

Author SHA1 Message Date
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
vitalyr@chromium.org
3216346258 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
2011-03-28 09:32:11 +00:00
vitalyr@chromium.org
1cefce33a2 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
2011-03-28 09:11:14 +00:00
vitalyr@chromium.org
1ae2ea08b9 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
2011-03-28 08:44:30 +00:00
ricow@chromium.org
fb6d7e17df 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
2011-03-28 06:11:08 +00:00
ricow@chromium.org
67f20c4d95 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
2011-03-28 05:57:27 +00:00
vitalyr@chromium.org
7a74560fcc 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
2011-03-27 18:40:48 +00:00
vitalyr@chromium.org
39faabf198 Add files missing from last commit.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7376 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-03-27 16:18:34 +00:00
vitalyr@chromium.org
963a75cc09 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
2011-03-27 16:14:20 +00:00
vitalyr@chromium.org
b675cfecc8 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
2011-03-25 14:09:14 +00:00
vitalyr@chromium.org
62c512e436 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
2011-03-25 13:32:06 +00:00
sgjesse@chromium.org
3925045f70 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
2011-03-25 13:26:55 +00:00
ager@chromium.org
94c1058ba9 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
2011-03-25 13:21:30 +00:00
vegorov@chromium.org
b97fc27c93 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
2011-03-25 12:51:32 +00:00
lrn@chromium.org
354ee24eca 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
2011-03-25 11:53:29 +00:00
danno@chromium.org
f4e06e8a0b 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
2011-03-25 11:16:29 +00:00
ager@chromium.org
cdf65ca087 Reimplement the padding of relocation information for lazy deoptimization on ia32.
The previous implementation attempted to keep track of the needed
relocation size for deoptimization while generating the optimized
code. That was error prone. This patch moves the relocation resizing
to the deoptimizer as the last step of creating an optimized code
object.

The down side to this approach is that two relocation information byte
arrays are created for all optimized functions that do not have enough
relocation space for lazy deoptimization.

R=sgjesse@chromium.org

Review URL: http://codereview.chromium.org/6730050

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7360 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-03-25 10:29:34 +00:00
fschneider@chromium.org
6fadb5257f Fix hydrogen statistics output when no code gets optimized.
In that case print 0 instead of NaN for normalized time and bytes allocated.

R=kmillikin@chromium.org
Review URL: http://codereview.chromium.org/6696070

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7359 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-03-25 10:02:42 +00:00
sgjesse@chromium.org
3a1c4d9b78 mprove code generation for DoAddI, DoSubI and DoBitI when the right hand
side is a constant.

TEST=none
BUG=none

Patch by Rodolph Perfetta from ARM Ltd.

Review URL: http://codereview.chromium.org/6730029/


git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7358 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-03-25 07:41:35 +00:00
danno@chromium.org
ea45f6719e Support external arrays in Crankshaft
Add specialized hydrogen and lithium instructions to support loading and storing to external arrays.

Review URL: http://codereview.chromium.org/6656001

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7354 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-03-24 22:14:15 +00:00
vitalyr@chromium.org
401b308778 Allow calling stats API functions before we have an isolate.
Review URL: http://codereview.chromium.org/6733030

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7353 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-03-24 19:05:49 +00:00